From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eu-smtp-delivery-143.mimecast.com (eu-smtp-delivery-143.mimecast.com [146.101.78.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6C6AE1A1E3C for ; Tue, 18 Oct 2016 02:27:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=8AWdYWNA3vsaeMySiQHRh8BDVlJnBcGP41vRTe+cDD8=; b=VdSgnoinU5vVAJ6/LZmESlJbDQmNAl8amHtBkoPyb2J1mA7Y6o7uW+17NvKrunHJB8Lw5ghC4f/eCDEXK4zMm1b1E5L6UV196s4BP6LpDrqxm5KEzL73yqj2wpCmex06oWSkI3jn5iqxGlU57bw1zU60vwN8oOuWOlobDgCiNcE= Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-ve1eur03lp0145.outbound.protection.outlook.com [213.199.154.145]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-3-5rPE76SEOriEYKu0uoxMRQ-1; Tue, 18 Oct 2016 10:27:07 +0100 Received: from DB5PR08CA0033.eurprd08.prod.outlook.com (10.163.102.171) by AM4PR08MB1108.eurprd08.prod.outlook.com (10.167.91.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Tue, 18 Oct 2016 09:27:06 +0000 Received: from AM1FFO11OLC007.protection.gbl (2a01:111:f400:7e00::180) by DB5PR08CA0033.outlook.office365.com (2a01:111:e400:52c3::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.12 via Frontend Transport; Tue, 18 Oct 2016 09:27:06 +0000 Received: from nebula.arm.com (217.140.96.140) by AM1FFO11OLC007.mail.protection.outlook.com (10.174.64.133) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.669.7 via Frontend Transport; Tue, 18 Oct 2016 09:27:05 +0000 Received: from arm.com (10.1.2.79) by mail.arm.com (10.1.106.66) with Microsoft SMTP Server id 14.3.294.0; Tue, 18 Oct 2016 10:26:56 +0100 Date: Tue, 18 Oct 2016 17:26:53 +0800 From: Dennis Chen To: Ard Biesheuvel CC: edk2-devel-01 , , Leif Lindholm Message-ID: <20161018092651.GA20322@arm.com> References: <1476694460-29877-1-git-send-email-dennis.chen@arm.com> <20161018025013.GA19504@arm.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140; IPV:CAL; SCL:-1; CTRY:GB; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(189002)(199003)(24454002)(87936001)(46406003)(47776003)(86362001)(5660300001)(104016004)(92566002)(2906002)(26826002)(83506001)(33656002)(97756001)(7846002)(356003)(305945005)(7696004)(19580395003)(93886004)(110136003)(8936002)(23726003)(19580405001)(8676002)(626004)(36756003)(586003)(106466001)(1076002)(6666003)(2950100002)(6916009)(54356999)(50986999)(77096005)(4326007)(76176999)(4001350100001)(11100500001)(246002)(189998001)(50466002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR08MB1108; H:nebula.arm.com; FPR:; SPF:Pass; PTR:fw-tnat.cambridge.arm.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; AM1FFO11OLC007; 1:YP7R8rJc0uJp3LBMM0uifeq4UQwpVZo2sajlgkxu2QSo1MQ2+6g8XqoP9YJN6R1EbdJVLgOJOuLpLQPQ3KiLyRawozrDFQqimg1G6MnZZ86jgMUEdDLl5XuZXrQh6lxPm+aaXBQfw32/HR8fG+WZ7xf3M9zws/J7xkT4QVupXx9DDTXFfEZyqOZaoUb/1MrynlLwG5WMkPsPFJIuLp5smmOJDNF1/a1S8QH3lfD1g17XjXkQBHdngDDtdoeUPiUGR8Ua11klfOsupBcbJiPBeJSqou3rcHCPjGPFIZiH8+B15W7ss38T+rTERIPody8ta/U4mx8mSHoAEN5n089UJU8Sv22rmmdGjeCRqgEbIMZwXo9X4AkuyP4ZXABzvoQG0fSn/f+zF+LgnCHV/MmVmGRyiyGpQiNwYc/dhIncwWAxNiNkLkHgbecwYzfWLTJu7/jfnTSe8YrMQnuYnDLSw1ERztMDO7uNzKBRntnQst/kHe+hHsRbsyNx4L34IP00p57OxS6OId+/f5+hhh082wsAa9WnzZfZGYcu8RMfCJHLrXz56mOvwJcdFM/leHzFelkxKgAfgFhN9MjVRBY9cQ== X-MS-Office365-Filtering-Correlation-Id: 1ac72922-10e1-4e18-98fe-08d3f738ed53 X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 2:Vsgeh+ZWPcLQK2jL/WQZW00KNFGfzMioNtO1tye13cBIIMYfCEHx8oxIYmJ92menVBXlf7dCIvTKOynulzkaFoACxzuzIlczYRhq+2hlwXz455xSqBw9sXXpVsihg6D5OAlyIKDo1Lf1+QkjjcntdedluzPY2zoE/XbDZmTByf6iduBtRqBD7zibLVHhJ3XGQ8jfbeMqYZsmuElGe7Upng==; 3:PPiQvgSuBTuOXM7TI8p7sL4N3YPSRd9WiWxVm0lAEp2t3ed2D8EVaScvSYRSm0hyBvFGsiLFhqV7FN9rgXb1KzoXExrkyd4lfyLEpeDjc2FYGXqTZKMLuDlTW/qfhrgGSiGtokdOG/P3Nys5ylx8RbJHikm1UhyA0qB+fx7IaImWCPNtQyudFKM10W0jY6ogfAbjB7E1O7+RLkw1s3TfPVag5r1uzch0wUInQpyjYIRaUrg2wU5HXTtbFZ0H9th5kyvFRecTh0FiPHdvr7lzwqcrwExZ5RzSdsIkJ3tEfOI= X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:AM4PR08MB1108; X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 25:hgIXtuvcHGlRkjR2XM6eLQKCA+qFVgIdlT4GaQKL64TzzHKSRXNpJrt+nS4vEkKVQk1YcJN6ODL3lUgxfbPm9MbDt+FsP39WMNybKRfxS2+BQKNdrbqY8qegN0oRJ539TvIJjk349CNRSoNvLWpCsGiWg93QCMPX+YJhfyBaDC7vuOkiC2o+8lx4jyns4BV2NxIL8KQbEYn+TBL/6t6h5oQ8W788OsQEud+XkMBcxt2vbjf0lY8F1K6mhDd4Isi0weI1R4cRaOy++1GI3zGEIDGqz0gNEPRFVwRFmHcHn03chVIaf/izidDxk3uWnC9q88/ee8qn9A+LvCBoAoZvFJ9Sx5RvEyve6ziW/fsx1vEC5uqfFU/3VdefEp1F+FDVNdA/FGs5w2RLLPSFnUoJsYJk1Txp/VQYSvKV1UuMNIavBc4xIo3NHwoqpVlnSei/Lf39OJsnXSDNsy8DR2GjebMBb0Z7qYtZ80KyHrOfhnDOgKxNOVGGvzz74IalvMa/DxjQ4DYBv5JJJdD2Dz/YVTLvLsNjYzgAAmWVMZbVhrCIEDemNBXkzyVSxGhkpm2kP7+GZqhGvkd7pC3SGf0Fj/tnvyEdRA4mTLFvEEf5ud/8S0Wyezq923FNfygvezwNcQQomOJCvhdNHZmVkibyoPecRBqSIwrOfV74bfy9fsYN0JfemmXS2pqCFLR1rwqPdEOuGFKwxwGV3GSlYHcquUeXeutY+/d6dK8+AhQUZxzv5112k/RlGH4OBYC5Nd4xo38bQkw1Dob4kmWVpOQEJUWIYRd+NZTldCe7UcXjxYY= X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 31:40qT+vH49HfU0G7tQ58IgkqMT0pMEowQF6T971lCcRnalwFzrEgD1/2yTCgmdoYKUip0u2lYzsbZ6YiVWLygUJj1oPkM33UH00WYgtwKXRQAQcvJeRoh8YNoM6cgNdvKne0FDaUH+idRx0bHEjuSXJbdUl6zkdsW8wkdjOdGBb441VyptWGbSXM8hkDAZ3mMZrYiGPfsDVZRrumQS0c0i+3ySn7gRvCa7eNC6Anu13cFzfaNpwIJtdBvXlye9EWQ; 20:ISlBGL0kC/nWZmcRld/KPKA90DSUqimeUPtBA4NO54IwUHl5JiRKdQlGYZYJ2k6a7XJpVOPqhJnYmZi5wO5lsQCBXhgzlQUnjd4YBHmEjH9zqqWT+kFJezKmCfKLfZqX+CY9iLEA+r7wuW+5mKLAyhHpgxCOVfbi7IirPN2eSemPznu1eQfuQkuhKlMQXdK6ZlAFKcHFxXYBzzTuPd60djghEv5V9AmUpDhksPuoE0Uj1S4h3oUx1mNjShQW/oQl NoDisclaimer: True X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13024025)(13023025)(5005006)(8121501046)(13013025)(13020025)(10201501046)(3002001)(6055026); SRVR:AM4PR08MB1108; BCL:0; PCL:0; RULEID:; SRVR:AM4PR08MB1108; X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 4:tvBDnvXQ4/CTzZWaP7pwTIvOsb4V5JA26eaZeWS244Gx0+sSdKF64Npw/dekgNDb8EZE7mJ0zGR9Jlg7l9PApWLBoIVXxkpQaMZGDNrcquLc3KbQvPRwLGBI4TirD6DJudXZuCcfuyqRVaZPJFvqB6kySppWVKIutpM9C77st5dwVvivaTfR6qhTvj+BIp8dS+t4rk1uTt4Nq3Ld0MzuQyn/OL/nnJfnZMR3lyx01+g5SCK2UcOYeNZZUZV1i36ucToGEo8wGneTazDnPNkmBJmD0myYupEfID12E5UjeTneP7UhQOnMhAw1Bmer2hoIXQMI94GBVB4zrOGwdl+ICvjmx68QjCRTtmCMe0xECIK9NWNXuvojCHnxVpSdJSTj9XLP8hbNy07XT9VbBg2wU5HNAqSF7S4PtpbTrl0H3+jKHA1cxqYcN7SpguqKM1vF1PTP8H072sBW9hkKHmWiVDvDxprK3uNK/7C5TfxWxD0oUNjd0XxpZwK57YokwDyDqaLrN1fvkZ7wvh8fuO6nQKV5glVJUbGBtTAAtOtnlk4= X-Forefront-PRVS: 00997889E7 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR08MB1108; 23:0LT5quBsW5+C842GOtzqZ1uspaR/F8Tcq0Sn54t9S?= =?us-ascii?Q?4h5yBZARD+vrHm4tZRPPHVIwUFhCYpeWLtpO/DzljBUtsIBUCDuRP4jOjdSO?= =?us-ascii?Q?VDYR+wsDMvZpGj8EHziDZPuGsMm0MNu5I/T++/UuJr2bXns8kVIkphmyXG6F?= =?us-ascii?Q?EBwUv12cejgwljvs6UmFwb+Gruu8sY71QmgunVspwpMLs1f+YZ0f6h+dVn9j?= =?us-ascii?Q?5600ElJmhkb07rvJP3Nl2QPGzrFQQbJc8N073ohF/tlfwMVtatskarJab4nm?= =?us-ascii?Q?8Tet4/gRhSYmkq1rjy3DCXAh+OJSruh3QwUtEHXlYZCVUBrxonP8/eDnQyqf?= =?us-ascii?Q?mnjeA2BJP9JPlpRRepUDarosktc/+UZ3pR+n2hKEFi/wAL+jiBwAMwBz9sDv?= =?us-ascii?Q?Sm7KfOp7MwtQ26+CKzFLwXF2mlbHjzQBr4eEeqQ6kdpdty5O9mZ1Wn14zXq2?= =?us-ascii?Q?j98Nj1jkDeGxmRzjqF5EZr08xLcTu5sU/mMNmyFBwDcgxlq/xBt76eqGpKwv?= =?us-ascii?Q?jU6a4xwWRHbd14XPYdXjJCYAJbir2l7ehgstr6T02ZdnKKqnialUj7AewgUH?= =?us-ascii?Q?60NDNWSUX7ECwoYKoCMfrwrPlTj7hj4YxbTD2aeB55QIbXZEpuEKppqZfXMF?= =?us-ascii?Q?i20TZeeKO75AkDnn2xr8rSqoWfjvEHJW6l7TEaw+ynaryEgjiAqZ6rcPjETH?= =?us-ascii?Q?G47h4NpTSQkuvTa79bwuyqKCHuekx9r5ueFI0lfXaMyxivtfPmfFpji1AosL?= =?us-ascii?Q?bvc9dYB7j3/e/76AXrvqogrCR3/JhV0hvHK2LqQofg4mcK4G/LS/WPczVSv8?= =?us-ascii?Q?lXweNDB5269nhGGRJp2uN8hQ33+JliqHiwR7D71oBtmJn+SizOhLcOclON7X?= =?us-ascii?Q?jJktTaRS9qf3B/RoXpuMuMFdMuKDCiaP232/spxOZwHQWJgi5DkYWRmKzJad?= =?us-ascii?Q?pP96iBH5db/L0VrVx8Ga3XYsTOcMM3J3ze6b8jfiiie8USI7gZGV1XYHXJpg?= =?us-ascii?Q?vH6qyxJAA23nua80XtLwBejtkEx12kCq+TZG53sqAB26HZ0LN4G8jojlDpFW?= =?us-ascii?Q?MzAHZbk0HnWS9CQmdADgtogg3nkF4eFKnfPKBDex3zkK7I1ISXpGZwRV5+0y?= =?us-ascii?Q?SLOtVYRfww8rlWZzBgnNUiDz+u+rNHY3jynpA9EMW+H3CcCiAQ2mvr1Ymy7a?= =?us-ascii?Q?cFU7bYcuyuQjMT9QiddPLf0DqpXyhQqVpM3?= X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 6:YbrtkSvX/VvN3ZFPAzb7WwsdQhWlMH0t0bJnCQWm0I4RMJHyYUqG4ETBm15uZ64U7EjNlxpWv50Krj3esZA4KH1HI3QUC1qSjpu2F0vQJZdTZuacEZj6/ndvccWQIx43DZ6pRzK7yWHf1XVQzWQtq2PzY+QEkXtgz3RLraO/wtynHUw+BsPzFURZWPf1whKzYWcLP+j4zijDGrFp4/Ary6ovocPO4H0wbTup4KhTh4iLFusiCWTlqbyWWxAyHa3pitkCSLJVe2u2hyisl+PnTTvqZUFwBWHUv1BHE47b5U9LStrc+kcn0vfT6uMDThwz0UTsxPPwMzKwhfMHW0zUuiZ/H+p6ZOt6FKkocUhJ87M=; 5:OqpZG6AfiMOK7VwK/tWpahSXFRyRREVuClcmaVhglN9dpVn7QyFeOVCOweJWtyKr8cKVDf84r4xVGKfGs+FGvqPvUbWc32ylZWRiS1ptbNUztFpoprXKWL/Cq1Wvnjc7KKAbIZ7RQm2LA7+AsOR0dQ==; 24:rXvfxVIWwsCa9Z8fjUAgKSaQHaQEbEAHRcwGNuwAWK8v6AOgun6lG5t833RoYJxqZwnikXD/JiNkQgPBEZbZOIYBVEqgvkhbDNYOZZU/unE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR08MB1108; 7:RAFgz/GfuL2QcuzDcocYsZXo/2ri1nbTSJwq5vYjt+x2mV5tnD3IuzsTkkyB1DgkfM1v8NlK9llbuuR8kzfSF13w4cBNC8C3QBIs366mB8cMcSyeOvOk0pcaB0sm/+DMfnKfVZE4cwXkoHtgdtM2nSfyD7sNTREDpzP8YnxYKiIuI57ANTKfdOLCJ2Tds610s/K54C1opY/ChwoktfuRgGyWGt2Kx3eAAfC2Y6g0NsZ9WjvqJvK3vlxWsnSP3bw0laEUIgr+DoCKHczRmstV+cZCLLUY96SCPfyFBg7vMVxVRpn66+6Rek95oQXV5TIL4vYJVfX3WxmHWGyWVst9OSVi2AQujmlfiJpWCuzvDH4= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2016 09:27:05.8783 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[217.140.96.140]; Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB1108 X-MC-Unique: 5rPE76SEOriEYKu0uoxMRQ-1 Subject: Re: [PATCH] ArmPkg: Fix the GIC base address variables as 64-bit X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Oct 2016 09:27:11 -0000 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello Ard, On Tue, Oct 18, 2016 at 09:40:42AM +0100, Ard Biesheuvel wrote: > On 18 October 2016 at 03:50, Dennis Chen wrote: > > Hello Ard, > > > > On Mon, Oct 17, 2016 at 06:09:00PM +0100, Ard Biesheuvel wrote: > >> On 17 October 2016 at 09:54, Dennis Chen wrote: > >> > Since ACPI spec defines the GIC base addresses (CPU interface, > >> > Distributor and Redistributor*GICv3 only*) as 64-bit, so we should > >> > define these corresponding base address variables as 64-bit instead = of > >> > 32-bit. This patch redefines them according to the ACPI spec. > >> > > >> > Contributed-under: TianoCore Contribution Agreement 1.0 > >> > Cc: Ard Biesheuvel > >> > Cc: Leif Lindholm > >> > Signed-off-by: Dennis Chen > >> > >> After a closer look, I noticed the following: > >> > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN GicDistributorB= ase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicInterruptInterfaceBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicInterruptInterfaceBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN > >> GicInterruptInterfaceBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicDistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicRedistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicDistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicRedistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicDistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicRedistributorBase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicDistributorB= ase, > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN INTN GicInterruptInt= erfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicInterruptInterfaceBase > >> ArmPkg/Include/Library/ArmGicLib.h: IN UINTN > >> GicInterruptInterfaceBase, > >> > >> so I think we need to clean up the use of these values more widely > >> than we have done up till now > >> > > I am not very sure if we still need to support UEFI on 32-bit ARM platf= orm, as Leif mentioned > > if we use INTN or UINTN that will be more generic to embrace both 32 &6= 4-bit platform, at least > > in form of. Currently we are only focused on 64-bit platform, let's wai= t for Leif's comment then > > I can re-work my patch to adapt it after we have reached a wider agreem= ent. > > >=20 > Hi Dennis, >=20 > My primary concern is the sloppiness regarding INTN/UINTN, so it seem > a major cleanup is due. I'd prefer using UINT64 everywhere: we can > still assert that an UINT64 *value* does not exceed MAX_UINTN if we > want to > Indeed, INTN/UINTN usage is very inconsistent in that header file. I suppos= e you have considered the 32-bit case when you say you prefer using UNIT64 everywhere,= thus I have no objection for that since I always work on 64-bit area. I will hold on th= is patch for a=20 while and resend the revised patch if no more comments inputted. Thanks, Dennis >=20 > --=20 > Ard. >=20