Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751519AbdFHRbF (ORCPT ); Thu, 8 Jun 2017 13:31:05 -0400 Received: from g9t1613g.houston.hpe.com ([15.241.32.99]:55687 "EHLO g9t1613g.houston.hpe.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750914AbdFHRbC (ORCPT ); Thu, 8 Jun 2017 13:31:02 -0400 Authentication-Results: hpe.com; dkim=none (message not signed) header.d=none;hpe.com; dmarc=none action=none header.from=hpe.com; Subject: Re: [PATCH] Add support of NVDIMM memory error notification in ACPI 6.2 To: "Kani, Toshimitsu" , "dan.j.williams@intel.com" References: <20170607184947.18733-1-toshi.kani@hpe.com> <1496869051.9288.1.camel@hpe.com> <1496871186.9288.3.camel@hpe.com> CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" , "rjw@rjwysocki.net" , "vishal.l.verma@intel.com" From: Linda Knippers Message-ID: Date: Thu, 8 Jun 2017 13:30:51 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1496871186.9288.3.camel@hpe.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [73.60.235.182] X-ClientProxiedBy: CY4PR1201CA0022.namprd12.prod.outlook.com (10.172.75.32) To CS1PR84MB0072.NAMPRD84.PROD.OUTLOOK.COM (10.162.189.153) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CS1PR84MB0072: X-MS-Office365-Filtering-Correlation-Id: abe90184-59de-4acd-565b-08d4ae942053 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:CS1PR84MB0072; X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0072;3:HF7dih64ryPF0t3sbdhf0pPB3Y0Ig4x0yze4iHTqSQ1R7T4zpmv4fhtQx+lUB19KohRtmuzgJ42IYg7aqwdEP7bud05rBl5gvTuqhlHkhAw3Zr8xT342w1sO1JPIxl4cReDvhUoEhpdKETmRs1NcutwLVP40CwW5W+dIczzqeFrlvfWZBBmFk5KFPiQmFJoZT+Fd4V6wnWG8rgFhRUMUUMxnBQjlBvRaGLQ65rmlIqx1oJQY6IMAL3MZ4k42bYrCmd2AsQCdLXvnRctbS0L341yNmHEqbJUb8ss1XBOGkCpsbngJ0sHDd8cm3I7NfF67Q2iNtbP3TcJtYCwX51+UdLDfFTm02BfTYAgnvyQvGPw=;25:nI7rzQG3Jqkpb5ssDtQW2LTdT3JqSGNP4osAonOeRxV7QnABMQ16m1x7PiMl0y3VT9pJWmM1ZrgUC/DZt1Mba7OiOS2QCTpWuoyhrobODjjZ7EB/Wyxr2Kl2/Hk8NTe/79jAyMj1o49TpgEIHiDcdeacHwu3KPn/7xDwUpGHv5oM93C/4pd/vcodlflWPOIjPCxZ+z2oLjCXtt//UC0PQ36koU3IouyYb7T2ElOJpp6aJY5c8v7KO/sxO92KsxXDFPSsKUgixTGMANyY4pQlt0iLnt0HaZvoLkG5UPCFrH0AGuWivsG269Bc3dVe8yGiXsvSEwAOYvcBA5pKNioFbX1OtNEYbY+7suGjoYCx/APNQ74YXZ9gstQnwoOL+/OWsLOyrziBsZDIlUjJ9RRyiFHyQALzni3ekCVPiDGIWckaJqiAMCGRd/fazcmXWmrJJLkZVJ8A8/5Pey+9ng1Rw4bySR54cWdEHTXRw3bXNU8= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0072;31:Q3m1Glic6Wk1WXGWJinm3GgAEf38n33dmnyCGlQ2XEQJEm/rgnrRXOq09OtnRkm0N9LRlqpfNGFqWaVLoFSLbQ6wNDAEbm850pn+NmJd7DXTTZac1zTDa7mbZ7OBe7Ldq/5haLfn+qJqQj7gRZedH0mHCHxl9sY1xTJ3JqfxlpIH/4H6CVwevaZ91BX4FuCsURikljzDzfcWsZLs/NKwc8XQAwPeORb8vqalqm7Mo1A=;20:guA65Ak5EY5YvgIgcAFPhepcOAbLR5O5mNoZYdxbh/orCj8xQMR5zfxEJU5wjHynEk7LQWF5d6BwpypXS4fxszlW3ZWL8ajdUIxPSFL/dLs3dm0afDcdbKw7eSi3AS3FyG6246iWcKXVyWvBHsfpqkdl7bgeAC8Hs8A64D+2RPThUAwuSQtuy73DJtyPyOO+xfr/KLI3G/LO1Ahnj/81DlmiknAHrALRbZtr1Tu5JZbFdEKdrHEUfp65jr3W9xEoyOJLrgWMbkgR06OfxaOXiCE8hkkI4oVmx1ZnDsEdAJqTvsSPQGXmkOGJYZ8aj0sxL7fkviWLeihH2AK2LPyZSWwW6SyExWgH4z9rZOvQtnvafq057NAp5jMYfoy0Gv9fNVkVamxmU3+rDBIZsei2BRJMIYEMRdwfATxNQklpAjv0ILm7ukguzPOPi/ipCHJ5t4awiokZcoX6dOzfDvmfbK0SEUa3f3EDg0ga2jO+ZmtkWEjqxffMooZzGWiw9Gjk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(227479698468861); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CS1PR84MB0072;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CS1PR84MB0072; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDUzFQUjg0TUIwMDcyOzQ6Qk16MlZiaitQY0trdjBETVJHTVIrSlZGbHps?= =?utf-8?B?Z0tCQjN1RkxqZGh3dEZUb1BaVC9SZGNiZmhpTjR0eGxuUEdveXd0L2R2NExU?= =?utf-8?B?ZEJhTVA5WVZ1bllBeDNKaTNBWUNaczhHV3ZPeElDWGYxcGVPYjNTNlJiZDJJ?= =?utf-8?B?UHBubld5RGVzME45R2ZEMjU4Tjd2dnlDUThPTldGbCtETVh3RzRlM3ZTTlR6?= =?utf-8?B?SkUrOVBYcTJNRElKR25UUVNVTEJoUmFUS0JUUXBVaWZUT2x2dS9KZk5KTlA2?= =?utf-8?B?Z01zMEhtckR0dHRWa1dUQUhRRXVaVXphUnhGNWxodVBNUVRxS0k3Tzg5UG5t?= =?utf-8?B?cWlEYWluSDdHcWh0aXFDYjRMME1uVkFGS2s4TEJseFBPb2tueldxS3VFV2Jh?= =?utf-8?B?dkgvQzR0akdOSjM1anJXMlFZdHI1cFJpKzJBV0Q5REtERy9vTTZlejBhWVN6?= =?utf-8?B?K0NDdVVyUm5QRHNMdXhjSUF3UzFHV2JRVm14OGVUQlhVVWx5WndNVThyb0xD?= =?utf-8?B?V0wxTTFwNEUzbXJ1T21VSGJtWDJFSm1TVUQ5a3Qvd2NMcW5RS1c5Z0ZIS2NU?= =?utf-8?B?TkhhQ2NPM1kyd0wvZjFzSzROcTBidm51RTVEV0hSZWdyRFlzR21SUHl6UnQ4?= =?utf-8?B?SjBmcUpWYjE0cmwzMmpReUY4YmRTL2ZjQXBIcldmcktHQkpvRTJodFhqMXRR?= =?utf-8?B?bzZ1VkE2cW05RkM0Q2pnR2dPUkhDK1dIa1RSSlNVQ25ueEY3THQxZG9hemlJ?= =?utf-8?B?QThJOG1WUkZKbFZBcXV1WE0zTFI5QTJhalIwa2QxL1phVnlLK0FjYzE3Vzkw?= =?utf-8?B?WU15c3hsMFJSc3VZanlZSmNRd2QzcklJRTlwdVRrM2IvV1lIRy83OXFZd2Ew?= =?utf-8?B?aWRyaCsrL0RNWDQ5V05HZnVsR3ZUQmJGdG9MWEhaQ1NNRlFxMWNzeFJxTy95?= =?utf-8?B?Rml2RUpwRXg0bUJaUUJzT2tQeFB1ZmE0aldvbGhndExVRy9BaFZuY0tWNm9H?= =?utf-8?B?L3pqeTJwcWsvaE9PemJ5aWFOTndzbno1VEtxWnRwenJBcmV0Zk1HSllLMzZv?= =?utf-8?B?cmdnVFE2UWJNTlhDaGsxV29RS0lsYUN4dXlVOEhvTVZaRkdKOGhwSDViR0E2?= =?utf-8?B?aGE3SmFVNkt4Ui8wUTR2cEp6TzB0ZUxVczBhUkxwVzZPQ1BxMnFlMHVxWEtQ?= =?utf-8?B?NnRSYTIyZFVHV0xORmh5dStaKzUrclQ0T3Fqd3VTVEpLWEFCMjl5UzVUTEdQ?= =?utf-8?B?WDU2MXBzdFZNTml5NlJXUmg4Vk1vSllBc2cxamVMTmdXM3l1MWZ3MFNMNUpT?= =?utf-8?B?aXh0bHgyQnJmK0IvNGxYRDBZNlI0ZE5MM1VXcDF3TlRubFVmTCsrRExZMDBk?= =?utf-8?B?TEx3UWQxQXhlS3Fnd1FlK1RxMnlLVDI0MHdvaVVwb2dtTlM3RHMyT3NXNkhG?= =?utf-8?B?bzVCU0p3ZDFHd1doWmwzdnZWZDFCb2N4UVRpSkpWTEhDWDJDZjB4aTV3NGlB?= =?utf-8?B?UWdQTVIzRlVQSUI1SklaMktJUE1wTHpiUFFlRkptK2R3NmJmbU83MVlyTnJz?= =?utf-8?B?S2tPNzBERFlvLzVCaG44cFF1MWVtaTdsODhCaWFPTmFSS091TkVHWVJMYnJZ?= =?utf-8?Q?3Skv3HywliVGdueUcr0?= X-Forefront-PRVS: 0332AACBC3 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39410400002)(39450400003)(39860400002)(39850400002)(39840400002)(39400400002)(24454002)(377424004)(377454003)(305945005)(229853002)(2870700001)(478600001)(7736002)(54356999)(76176999)(50986999)(2906002)(42186005)(31686004)(6246003)(38730400002)(5660300001)(33646002)(65826007)(3846002)(36756003)(189998001)(86362001)(65806001)(66066001)(23676002)(2501003)(64126003)(47776003)(4326008)(2950100002)(8676002)(15650500001)(53936002)(54906002)(117156002)(77096006)(6666003)(93886004)(53546009)(31696002)(6486002)(25786009)(81166006)(65956001);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0072;H:[192.168.1.9];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDUzFQUjg0TUIwMDcyOzIzOlBSS1pwWURvWlgyS0NKVVNEcnQvMTAxVmY1?= =?utf-8?B?TW5CRXA2cHE3WjJSbjhIdEdyMnBCL016WlNjN3VEY1hLZVRreExNcWkwRlI3?= =?utf-8?B?NzRyQU1rbEJQcDllVURzNmlaL1V1dWZ2a0dMMzhaczBmeDRSNkVTZ0RUaThH?= =?utf-8?B?bW9EOFhMdnRvbGtIVU81Z2s4emRRdDdhMjlFTlJ1VFgwVFNLa1l2QkFEb3px?= =?utf-8?B?dDd5VEtKZWIxSlM0T1pHbE1Tc0ZBOEQvT25Hd1FDQlBvblI3bkh1U1lFRWVm?= =?utf-8?B?elcvWTgyd1JLK0EzTnZubFQvN2pEeENZcHdSUnVPL2JKaExGM0ZxMHJUN2l4?= =?utf-8?B?ai94M0VrLzNyK0xBekxscTB5LzJPWGgyMkhkU3UzdC9ZWUl6Sm81RDNXTHRu?= =?utf-8?B?VHZBN2o4TjI3MWJieUlRK24rZnRqcmhaenZUaW9vQzRycUdpSFJ1OFV1aWV0?= =?utf-8?B?eW9KdjY1NmpzaU05U0hUTU9hTHJOSExZYkU2eTVVODJXaWdEeFRCSTlUVlA0?= =?utf-8?B?MVQ4TFdyaStDSUJ6YTFjcUVWelRObWxod01IS0IyNk5sTU1wdHlaaHNSblVk?= =?utf-8?B?T0tGa21xVk9wT2hOQWc4aHdsMGt6MjB3d1NQZnNNaEdOSDQyV1duTytsVTNE?= =?utf-8?B?MGt5WlAxWmlwaThaUVN1MSt4Z1dLeWxhRDRHZVY0NHpuZExSZkZiRGkyU3Jo?= =?utf-8?B?cWE2NTFZSG5KUng5OTlzbU5KTVpOejdoNVFqVTAydk1IaFJ5TU9RNjYrWGlj?= =?utf-8?B?T3g4M1lDWk1SZVArdXk3ZVBBaC83NWVtWkxGZTBtYW9hS2lIT2IyaEZYaWhq?= =?utf-8?B?UHhaQXVtajc0dVlJVGR6dmJUMTV0NFFGMU9IVUg0ZkJrQVFXUE15Q1dNUklV?= =?utf-8?B?UHVLaVlmRGkwM0QxTFludnBaOC94RzBSbjU4K2lNb0gvWmVzcmYzOHRUQWY1?= =?utf-8?B?enVyNWZWY0s0TzZsMVkyNWREMFdBTk9VT01EOFNNdlIvb0JnMnBDTkljVXpr?= =?utf-8?B?S2JQcjQ3alJDMzRobXNUQUJkMzQ5dDRjbzN5VTFnYTNDNlRzZkFHSW4xeDZ4?= =?utf-8?B?RC9wRHV4WEVHN2cxcmdYbjhOVCs5b2grV0d6Ym1FOU1wK3ZwWFVKTDZWc0NJ?= =?utf-8?B?OGRueERqQ3hQTmNaaWF1TUt1V2k5R3d2OXdadEZ2VEMrWU9qbUpaN3d1aHY5?= =?utf-8?B?WGtSM0J1VzBLQzhjNytWbzh5NHdoZFZUcFc1UGF5d3ZCbXhHdTF4MGEwNEpK?= =?utf-8?B?dCtvQnVuakloOGxxUDU5UE13d2dCNUx3T0s4MWQwU2hSbEVxM2YxUFExU2tN?= =?utf-8?B?dVV4bGlyRUsyV09pQVovdm9qVElETFJMajFyTG1DbitXZW1kV3ViV3lQODdI?= =?utf-8?B?ekxwRk9GZDYyNFFCRjlxbGtUV3I1QXl2ekEvVS9lanJwS3RBUEs3K0kwcVJU?= =?utf-8?B?ZldaQS91UUJJWjdvQXYzUjRkM3JZN1NMMGdwQlRlK3ZJbllXOTYrZW95d3dy?= =?utf-8?B?ekZ6cy8zdnZ1SmJPUnV6UGlaUkhDTCs0bUxoTTZEZENsL1k1ZlBnUTBQWUR1?= =?utf-8?B?Nm1tSExXQ053ZlpBclM2bm5TRUxMSi92UnNXdlBHcWJYSFVWZjNHUHZZaG93?= =?utf-8?B?alF5OTQ0N1FLU3B4OTIwMGJaU1FlN0RaWFlBZEdYL2c0eXpkT3dQWHFkNDZ6?= =?utf-8?B?V296TU55QjlaUkRHSUZER3dLUTdtYkdIVitmVlR3WUwzMkVxUEUrZU1OeVo0?= =?utf-8?B?VHptSGhkbDlwczdubWpsZW9oVGFVdC9SK3k0dnlQTG9HZ3cyek5yb0dxcURx?= =?utf-8?Q?I622trWre2N1O?= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0072;6:mv2RrAyIn5AWym243wtMAFAyzOPPpBPha8Yv9IsHMTddms468UuewL6Qx0+q6odCMbf3G/bDbuJtAFYYc4lvSfF81dsNlyDj9qLW0x/C21eZkh6NTg1rujjfaOAvAArfodDkPRCVhzQLPoHw4sHYXAkx7P1yXBUqiPBsOiaNEvEb6yk9Vv6tob6HWteAAUHcjQ0HXGOMUeZQEQr3EgU9WEwbKTAeQoqkmJGI+ZeR2+S4BeTq9hq3kI5NK0UhFl5iWT8tB+3OwghXI9h8XpCNaR48mWAXrXFK2GDPoylW9m3R2gkRV+T+M3DKEqsbjkUbyzLn7QVLxz29hWbxUdRLZHb1QGy0oYzqfphk36VTJEb2cwmC+9/UuQ0GtyxKle/heZTJCwy86LOGp7Ch9VRnfqWKJPqY93OautDMujTOlW6M05k4ovnJCqI8GK1ez2i14LwTCs7xgLCyMToK7JbjLQVEUjrRFXervC71c6QjMDXrIBDVCs9DAOKs2tPkKmw2qOLib0Nkleo+142ZMYHfPc3m6j9BfOPhzMXy2qjg3+4= X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0072;5:Ph9VDsxMOsI+EqEnQpqMuNrq4hmGuyZrtMrLG/L8j5Bd6YNN8dfYhUarONSuiQqlFj2XoEw+M94KuQTxGRL6TPmUmHopkNAJadkCiUpe40z6+uYg1y11eLek0gUFpC1oXAhk7X8Ij+db3tk7OfwTd4i0Qv/VzzUiAb8qX24+Os5I3/i/m8pOWXuzODtch1eqrECUoBCaYiWaZscUFw8atV47Tz437mDJ+Sq1bOmNncjb99WLfVtb8SsLUqkeBI/aPUd9l4hXVpW8MJOt9IRHYQ1ecE/v3I/V/DfG5NnSLfzMszHS2uVrikour8Oq6eBbVCLaC8zpDCcy7ltrY0DLrChjqQLH30ag+WdGo7ZAzlc9S2sXAJgMQKqSze9FHE5BLwwCMF0gcPCCYdXLXZsUyS2pQT9H8dbH0fsrikdoUy/qV6HkR4x1UK+dB03hyVh0shp232sxDjWeIM7mjHUWCgi62N+dGsA1Gt8HbsqF5BGXUtIJCYTRn9RBV10iiDdL;24:+Y7Qd9Xla7/tWGcXB+z61cwu0ri3hqz9ta7ckXvd8gAYOtOcJXMOcV18Z/pll7ObaDf+aj3+A0cafuMQM4VWk/oJsCqSfJGdi34aW3SqzLI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CS1PR84MB0072;7:RIxlxbujY+FAsih//NvS0VvhS5VtHGnz2Z9zglKqx8lmHBHh0XIYKLZQUjOq3FSbHLqZksa6k5qVXKqgGQJZWa4npgmMfQgKb7yaetdCBhdv+HNpUQg7rP5CjEWmvTsE0PaIuYzCTZph+7LDyMEavcjUHLXC0NSFyFzOy3RBlwFx77Bl0Rwyi5gcIOjJsA62f6pUY2PoBcae9fHZOn7xAci+o5mk0loZT7P3J7U07UEcOTPffD1SVqHdQEdpvJ6G0E91VndvAyWtXbkjTgbKUsP3XGT4o+zWTR84XWTHcW2kU7rx6/h5ALUJGMXleOrk93PO9vwZneyOrlA1rRnVzA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2017 17:30:57.0734 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR84MB0072 X-OriginatorOrg: hpe.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2889 Lines: 70 On 6/7/2017 5:33 PM, Kani, Toshimitsu wrote: > On Wed, 2017-06-07 at 14:06 -0700, Dan Williams wrote: >> On Wed, Jun 7, 2017 at 1:57 PM, Kani, Toshimitsu >> wrote: >>> On Wed, 2017-06-07 at 12:09 -0700, Dan Williams wrote: >>>> On Wed, Jun 7, 2017 at 11:49 AM, Toshi Kani >>>> wrote: >>> >>> : >>>>> + >>>>> +static void acpi_nfit_uc_error_notify(struct device *dev, >>>>> acpi_handle handle) >>>>> +{ >>>>> + struct acpi_nfit_desc *acpi_desc = >>>>> dev_get_drvdata(dev); >>>>> + >>>>> + acpi_nfit_ars_rescan(acpi_desc); >>>> >>>> I wonder if we should gate re-scanning with a similar: >>>> >>>> if (acpi_desc->scrub_mode == HW_ERROR_SCRUB_ON) >>>> >>>> ...check that we do in the mce notification case? Maybe not since >>>> we >>>> don't get an indication of where the error is without a rescan. >>> >>> I think this mce case is different since the MCE handler already >>> knows where the new poison location is and can update badblocks >>> information for it. Starting ARS is an optional precaution. >>> >>>> However, at a minimum I think we need support for the new Start >>>> ARS flag ("If set to 1 the firmware shall return data from a >>>> previous scrub, if any, without starting a new scrub") and use >>>> that for this case. >>> >>> That's an interesting idea. But I wonder how users know if it is >>> OK to set this flag as it relies on BIOS implementation that is not >>> described in ACPI... >> >> Ugh, you're right. We might need a revision-id=2 version of Start ARS >> so software knows that the BIOS is aware of the new flag. > > My bad. Looking at ACPI 6.2, it actually defines what you described. > Start ARS now defines bit[1] in Flags which can be set to avoid > scanning for this notification. I will update the patch to set this > flag when HW_ERROR_SCRUB_ON is not set. Wasn't Dan concerned about how the OS can know whether the FW supports that bit in the Start ARS? The Query ARS Capabilities DSM has a bit that tells the OS whether the platform supports the notification and the point of the notification was to tell the OS it could do a Start ARS with bit 1 set. Of course, if you get the notification then that means the platform has the capability to deliver it, but it might not hurt to check the flag from the Query Capabilities bit. If the spec isn't clear about the relationship between the bits, we could clarify that in the spec without bumping the revision number for the call. We could also check to see what a platform does if it gets a flag it doesn't know about. Would that be an Invalid Input Parameter? -- ljk > > Thanks, > -Toshi��칻�&�~�&���+-��ݶ��w��˛���m�b��Zr����^n�r���z���h����&���G���h�(�階�ݢj"���m�����z�ޖ���f���h���~�m� >