From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A87E1C0015E for ; Thu, 13 Jul 2023 23:49:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=VvHbMKLWA3zBfWs7YHAci0IHg+A2jBWJzTAMvvI/My0=; b=yhaAgri543kTSl NwOxX9RQvfaxRqN58GSo0GW5caS5lm33oWv5r5xFZnxV2VxkLS3uK33lqcCAzoKFP0PYoX3SQHPWM ACQRYNCtEq/kfLkO1BuiB888Qg+Q25oeCjTy/EJI/OSSEqvSV4fNTfnZkp+31ipLrre6RnmKmiWgH QcCsG++XLfO0UQzKvpx1Djud/k4rVvGEXhppHTYyiHVuTyerA8h0aJliTQpXa763uSzPuWwzS0f20 WKMngwhDXsOGPOrBYH7s8Bki2kQJ5A5/haruoimGMIg1i1HosAbUTVSGlI5iSA+2vZ1ANLPd1Ku3J BK7QxVmyAVUgcDO2e0fw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qK63F-004aBE-14; Thu, 13 Jul 2023 23:48:49 +0000 Received: from mail-dm6nam12on20607.outbound.protection.outlook.com ([2a01:111:f400:fe59::607] helo=NAM12-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qK63C-004aAX-2x for linux-arm-kernel@lists.infradead.org; Thu, 13 Jul 2023 23:48:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ys7qK4MxXAEiwylknSjOnwla6aSQ/frjFmbbYT2WhvJGWyF0rN5I+gonj9IbIVkgkYPpw8WBn2dmDWuNVty3zQLIsLKLDFwWn4HJHXv0SOGwlzbZbJ31zhlrE6tabIRwkPOY9o97gWw74AbTXXPFTq+cbG6fLVWbfnvvp5fEB9I07284mUlkKTTV2JuqssZYSxxfIxgfIHaOQk1bBViJip3jIktH0GmehrG2VPUb5jn+1FU0cHC2yd+YmmYWgCBbBpuPcX7SlT4Dp2m0yVY5KZuk2qrqDTlrC7MtvXOPJxLOfBG7svR5BKmadi9DFVTirQ0OksgVJAVOKd7JX8CrQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=K3WWQBRpxt3DfdnSMFPhLRDRLCXXBuI8MnlBdsk7dCA=; b=R6qPJx1tcKdvAdHuX15RGsiMIECmCKvXlzqItIEz6jrdLwSiwhEmVGKgywimdfmDkU2Jpt5hhbvDjm2uZHmYCJ7WFuY2WG2FsVrLDBWDqcf9iry4sHtH6fBGn4WYch24tNTJzoE7VqQ1ZXwrrXF8o/hUvGIqkE1z2RmYWOXXUXHEDxOk4su1tcLv+F/YhTyWGYQrpTftJ4utd0k2IHmbbKZlMg5fP0dcRi6+0acTJENQOmfr/eSc9UlvFpzpC6HYfWhp7/IXUVxdf5L2S7fodRr53J4/ctsfBHwZ3T8hwV3pcazdawURnHtSvJEH6YdVgJqlgxcdhKLPV3/yeztk9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K3WWQBRpxt3DfdnSMFPhLRDRLCXXBuI8MnlBdsk7dCA=; b=r60YcwJh8rBDGLYEBovp8Zzhd9IPvGnKriNBD0lY29ejl8emk5R9PpctoAeIIBqhm6q1UvFy0h7AnSrK9qnR6Mcexh49RclzS67LO+ZCdcjGxhq1OMSyjW5h5UPqio9NuLtDOlbZxJc6DqN3rvkfUAfynG7qaXS8h+j0G8p6l/GLmXxHIcsMIy9R4uJgUbkioepF2nOW//rcW2yeig9GQRDRX9sUKQVOwiysOdrN5z0+Sc7K2rhwTxVbUQ/cLqOOQw2hUf515Pe3HIa496WSLIZ23TRltVXgmVNaalSMmqEgptApsZAldZDruQZs4xAppPU3CNhkS/JjMciDkCF3BQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by MN0PR12MB6173.namprd12.prod.outlook.com (2603:10b6:208:3c6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.24; Thu, 13 Jul 2023 23:48:35 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::69c1:5d87:c73c:cc55]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::69c1:5d87:c73c:cc55%4]) with mapi id 15.20.6565.028; Thu, 13 Jul 2023 23:48:34 +0000 Date: Thu, 13 Jul 2023 20:48:32 -0300 From: Jason Gunthorpe To: Nicolin Chen Cc: Michael Shavit , Will Deacon , Robin Murphy , Joerg Roedel , jean-philippe@linaro.org, baolu.lu@linux.intel.com, linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 02/13] iommu/arm-smmu-v3: Add smmu_s1_cfg to smmu_master Message-ID: References: <20230621063825.268890-1-mshavit@google.com> <20230621063825.268890-3-mshavit@google.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: YT4PR01CA0482.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:10c::20) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|MN0PR12MB6173:EE_ X-MS-Office365-Filtering-Correlation-Id: 775c2271-12ef-44f7-f3cc-08db83fbabcb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lVXC2tKs7fgaCZ5XYglPtc4o9+yq8+jKGscexvcf3ZnWyekgV1jZ0ukWydE1CqlZ6CE6TeXMcMsilLH55XXTHJqqEII6wdmzaifhyoUVPDLdnt9cw4GGLKqW6Z+SuA2NK78u4Drlu7CzuhKuTGyTvPgkfZQnrrnqh+Eqhl5sIxlHKPPl69oqMnGkg55EoQ1mUWzrNALFH7I+NTYH8FGuTqSJ76/CE63syYK9KYIL74yg6/tBCR61zK2udZ+zL4xrKxUIbVUvmwma7Z1CHNqHj1Fx6GccnCXRs/gXTXqR4Jm758S5IcrMJwDpwtVtaSkmLVxw9ethz4jT+Xa0me1fXP515VNf8AmxwSqt1V7d+ux02lCvseZzQiS4lC4fyipuz/giyNI0F31G+bVYOZAOxM0cmIMHYMuqLyyuWxsFDbPMWm60dVJnrdX/6z8u8mGE2HG2RP6aWAM5Xu9vj5oLX9G3RFtUJd2FY5rv6hBpT0azzl2iyeK19zjAsIeyzd88/P8Oa2cVHUoCM4jpYzHRQSWIGUl4FHMxXHEsxGG7gIGJsxcyMc8yEebUAykC3C+vkS4b3X4pUPDGr32t57lJw7Kfn3b1ZYQMxZCNw9z6J7/K400gA9U1jD95UvRCquAU X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(396003)(366004)(346002)(376002)(136003)(451199021)(8936002)(6862004)(8676002)(83380400001)(2906002)(2616005)(36756003)(38100700002)(6506007)(86362001)(53546011)(26005)(5660300002)(186003)(37006003)(54906003)(66476007)(66556008)(6636002)(4326008)(66946007)(6486002)(6512007)(41300700001)(478600001)(316002)(414714003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MWNNV0V2Z2FBR1AySFE1UFRrQ3hCSGRERURBMzM5Qkl3UE1tb2M3bCtrQ3lJ?= =?utf-8?B?TUJHRXl2NWpuSHBoQ2VVNDRaMHdXaGsxcGRsWEhVQWhnMUNjdVVVYkwxZkcy?= =?utf-8?B?R3Y2cEI2YzN3QTZ1WWJmcGk3YnJpOGpjUDdxeWRNVXlJeXBLNkVudEpONDVi?= =?utf-8?B?b3czZGlIUk8zNHc2U3MxTzNYdFJsR2NNL05KLzdWSEh0RlZtbXphN2txZHB0?= =?utf-8?B?Uy9XeDMwT1FKbFFNVU1UZWtRaGFqcDhFbnpjbzNLeUFjclNTMUtoTm9URFB2?= =?utf-8?B?MEdQZVFCZURaYnd2MUM1NWl5ak1TY3BXQy9MQVBTLzY1NkQ2em1IRlhmZ254?= =?utf-8?B?SkJSSUhsZzg1cllyOVBNRDlndDFjTnlLUlg0elBkeU5ad3Jncm1ramVZKzJE?= =?utf-8?B?bFVFcXExTGJiNmU0S0gwcTdkZmVaSjdZYkpBVy9qVTA5dGRpQ0FMNTlHR2Nt?= =?utf-8?B?ZEE0b01Ka0x6UHFyQ2VRMUczUWtTcmgwUEJTaENmOTVNUTRyNnVId2w2M3hl?= =?utf-8?B?TUV0a2VxZVRMaWo2bUo5ZFpUdzNUMDhIYTJ4ZTRkaFlST05CTWhJczNRdTRt?= =?utf-8?B?Q2dqTk9JMjYxcEtHUnBVUm5XcUg4WG9meHZBdy9DeGF3VlR5YXdyYjgyVUN5?= =?utf-8?B?bUpUZkhaK0xjL3hDcDdFazdNWU5SZ0pZNEFrRXZSbThOVVFZYXZpYUJuN1Vm?= =?utf-8?B?UHRZSlNRcE5LWi8xRXVnd1g3em9Pd1RDYWVVY1lEcXdNckhvUjhtdmpqV09t?= =?utf-8?B?VDZlalJMNTRkaFJiWUhLZ1BDemxQUjd1WmRyc0xsWDFkdXZwbC9mSlEremh6?= =?utf-8?B?YzJrc2UvMlQzR0RQSkhvZDZsZkpiSjFEMjY3QkVDZUxQaEVHdTE3NzZlUjBG?= =?utf-8?B?V3JUenFHeGtxS2dvMlQ5Zytzc1hnUXdRV3BXZzZDT01QYTV6WFlrOWMxK3lI?= =?utf-8?B?ODR3T2ZyVlpBUkh1djE4N3BzQk5uZU93MEJNaGMreTZtZWJrdW9sQmliYzVI?= =?utf-8?B?RjY0OElZSi82SmZUY1d4MUk2YXlwNUJVYVFLb0xPN3NNYUhmL0ZNSm9MTVVO?= =?utf-8?B?d09Fa01LOTNoUUlOd1dUaGJFbXZOR3lVVHlyOXFSa3BaWGd0dDcvMzhiZ2lG?= =?utf-8?B?ZmMvTDR5QUx1elRkVTlvWmRsZitDd0pOZVJjODBwcHJBQVpCL3BUeVhCNDBw?= =?utf-8?B?NkE3dFZEQXM3WTZvcFFwQTNubUVDSDlyU1QvVWdCOXM2djhMOHpMSXQ0NitB?= =?utf-8?B?NDIzT1FvOHVybzNsT3VFSURYUDNSeHBNaE95WWUxYm11QnZpZ25SaFVzSFNx?= =?utf-8?B?bVVjT3FtR29velUvU0NuOENXYVFjS1VCTkd4NGV4eGw2YktqK2xsaWs3WUFR?= =?utf-8?B?UWw1Q0tzZW0ydi9vNHd6ZUNRUzFlcWxOaisrT0VKdjBzRmowcnVsdk9BMGpI?= =?utf-8?B?VG5MZXRjV0wxWERNeHJVbmY3WTlneTFQamJodE1NazlXbnJoNm9TbWpqR3Ni?= =?utf-8?B?MHBYOW5JK01mbW5sS1BJWkdKRE1ubHdGUDNwUnhsd0dvdHcxakxtZzFWcjNr?= =?utf-8?B?cGRIdGhKeVRMaGtMaXB5a1NDL0EyT29rQzc4RllBaFBielZBd1pyQ1hRM0ky?= =?utf-8?B?cFdKNUpIU2VvRUpiMnNCZEdKUW5vY1llN1lKRWE2K0t5VUdqcGFuMDEwaTli?= =?utf-8?B?ZkFFaVRVelZYdzd1VjhYUy9lWEtZYjYvU20xVHltb0h6RE1uNHJDNHJycjdz?= =?utf-8?B?U2F4aGE4SVc0MFJKY0oyOS9vTmxDM25jSTZyZEpNS3IvUlJhZU8ySHJaNDh4?= =?utf-8?B?WlFLVm1mSDZDdTVJZXVXTmwzTFJJTlVEbGh0M0kwQy9KUGx0d0hMVDRWV0tn?= =?utf-8?B?U0sxSGV6bzBJZS9XSkhEckZ3WmVMZUJUd0FNNUVVbUtrVHVXMVk1aE1zZm8y?= =?utf-8?B?MkI2ZytTNkU4Qk54ZXdyaUQ2R1plaGx3L3FJYVJReHhiL09Ia2liM0lzbXo5?= =?utf-8?B?ZWxyWEQzUktreFRmTjB1VHlpYlFnTWpseUNKOERDdHl0RFlDeUJmNnZCeTdn?= =?utf-8?B?U2I2WVg3Y2lZNnhPNFM4NG16bTVNcEEwd2pXVmRzZWZqOU5Zb0Yza2lmK3px?= =?utf-8?Q?nCM7fZCAOAG6eC1R9ovOiYT7X?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 775c2271-12ef-44f7-f3cc-08db83fbabcb X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2023 23:48:34.7582 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: o+KOrEml3uYLBi19W85B1ZOUcCqaeDrJsGxpdrir7N3YN0pQPaH5mIsBfkfWyJjU X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6173 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230713_164846_960972_223E4A8B X-CRM114-Status: GOOD ( 38.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBKdWwgMTMsIDIwMjMgYXQgMTI6NTQ6NDdQTSAtMDcwMCwgTmljb2xpbiBDaGVuIHdy b3RlOgo+IE9uIFRodSwgSnVsIDEzLCAyMDIzIGF0IDAxOjQxOjM4UE0gLTAzMDAsIEphc29uIEd1 bnRob3JwZSB3cm90ZToKPiA+IE9uIEZyaSwgSnVsIDE0LCAyMDIzIGF0IDEyOjE2OjE2QU0gKzA4 MDAsIE1pY2hhZWwgU2hhdml0IHdyb3RlOgo+ID4gPiBPbiBUaHUsIEp1bCAxMywgMjAyMyBhdCAx MDoyOeKAr1BNIEphc29uIEd1bnRob3JwZSA8amdnQG52aWRpYS5jb20+IHdyb3RlOgo+ID4gPiA+ IEl0IHdvdWxkIG1ha2UgYWxvdCBtb3JlIHNlbnNlIGlmIHRoZSBTVEUgdmFsdWUgdXNlZCBieSBh biB1bm1hbmFnZWQgUzEKPiA+ID4gPiBkb21haW4gd2FzIGxvY2F0ZWQgaW4vbmVhciB0aGUgdW5t YW5hZ2VkIGRvbWFpbiBvciBjYWxsZWQgJ3VubWFuYWdlZAo+ID4gPiA+IFMxIFNURScgb3Igc29t ZXRoaW5nIGlmIGl0IHJlYWxseSBoYXMgdG8gYmUgaW4gdGhlIG1hc3Rlci4gV2h5IGRvZXMKPiA+ ID4gPiB0aGlzIGV2ZW4gbmVlZCB0byBiZSBzdG9yZWQsIGNhbid0IHdlIGNvbXB1dGUgaXQ/Cj4g PiA+IAo+ID4gPiBzdHJ1Y3QgczFfY2ZnKiBhbmQgc3RydWN0IHMyX2NmZyogYXJlIHByZWNpc2Vs eSB3aGF0IGlzIHVzZWQgdG8KPiA+ID4gY29tcHV0ZSBhbiBTVEUuIEZvciBleGFtcGxlLCB3aGVu IHMxX2NmZyBpcyBzZXQsIGFybV9zbW11X3dyaXRlX3N0cnRhYgo+ID4gPiB3aWxsIHdyaXRlIHRo ZSBzMV9jZmcncyBDRCB0YWJsZSBkbWFfcG9pbnRlciBpbnRvIHRoZSBTVEUncwo+ID4gPiBTVFJU QUJfU1RFXzBfQ0ZHIGZpZWxkLiBXaGVuIG5laXRoZXIgYXJlIHNldCwgdGhlIFNURSBmaWVsZHMg YXJlCj4gPiA+IHdyaXR0ZW4gdG8gZW5hYmxlIGJ5cGFzcyAob3IgYWJvcnQgZGVwZW5kaW5nIG9u IHRoZSBjb25maWcpLgo+ID4gCj4gPiBJIGd1ZXNzIEkgbmV2ZXIgcmVhbGx5IHVuZGVyc3Rvb2Qg d2h5IHRoZXNlIHdlcmUgcHJlY29tcHV0ZWQgYW5kCj4gPiBzdG9yZWQgYXQgYWxsLiBFdmVuIG1v cmUgY29uZnVzaW5nIGlzIHdoeSB3ZSBuZWVkIHRvIGtlZXAgcG9pbnRlcnMgdG8KPiA+IHRoZW0g YW55d2hlcmU/IENvbXB1dGUgdGhlIFNURSBhbmQgQ0RFIGRpcmVjdGx5IGZyb20gdGhlIHNvdXJj ZSBkYXRhCj4gPiB3aGVuIHlvdSBuZWVkIGl0Pwo+ID4gCj4gPiBlZyBJZiBJIHdhbnQgdG8gaW5z dGFsbCBhbiBJREVOSVRZIGRvbWFpbiBpbnRvIGEgU1RFIHRoZW4gSSBjb21wdXRlCj4gPiB0aGUg U1RFIGZvciBpZGVudGl0eSBhbmQgZ28gYWhlYWQgYW5kIGRvIGl0Lgo+IAo+IEkgdGhpbmsgaXQn ZCBiZSBjbGVhciBpZiB0aGUgbWFzdGVyIHN0b3JlcyBTVEUgdmFsdWUgZGlyZWN0bHkgdG8KPiBn ZXQgcmlkIG9mIHMxX2NmZy9zMl9jZmcgaW4gdGhlIG1hc3RlciBzdHJ1Y3QuIFdlIGZpbGwgaW4g dGhvc2UKPiBkb21haW4tcmVsYXRlZCBTVEUgZmllbGRzIHdoZW4gdGhlIGRvbWFpbiBhdHRhY2hl cyB0byB0aGUgbWFzdGVyCj4gYW5kIHRoZW4gY2FsbCBhcm1fc21tdV93cml0ZV9zdHJ0YWIoKS4K ClJpZ2h0LCB0aG91Z2ggbWFzdGVyIGVmZmVjdGl2ZWx5IHJlY29yZHMgdGhlIFNURSB3aGVuIGl0 IHdyaXRlcyBpdCB0bwp0aGUgc3RlZXJpbmcgdGFibGUuIElmIHdlIG5lZWQgYW5vdGhlciBjb3B5 IEkgZG9uJ3Qga25vdy4KCj4gRm9yIHN0cnVjdCBhcm1fc21tdV9kb21haW4sIGl0IHN0aWxsIGhh cyBhIHVuaW9uIG9mIGEgQ0QgKGZvciBhbgo+IFMxIGRvbWFpbikgb3IgYW4gczJfY2ZnIChmb3Ig YW4gUzIgZG9tYWluKS4gT3Igd2UgY291bGQgc2VsZWN0Cj4gYSBiZXR0ZXIgbmFtaW5nIGZvciBz Ml9jZmcgdG9vLCBzaW5jZSBzMV9jZmcgaXMgZ29uZS4KCkJ5IHNwZWMgaXQgc2hvdWxkIGJlIGNh bGxlZCBDRCBhbmQgU1RFIHZhbHVlLCBidXQgZnJhbmtseSBJIGxpa2UgQ0RURQphbmQgU1RFIGEg bGl0dGxlIGJldHRlciAoY29udGV4dCBkZXNjcmlwdG9yIHRhYmxlIGVudHJ5KSBhcyBpdCBldm9r ZXMKYSBzZW5zZSBvZiBzaW1pbGFyaXR5LiBJIGRvbid0IGNhcmUgZm9yIHRoZSB3b3JkcyAnczFf Y2ZnJyBhbmQKJ3MyX2NmZycgdG8gcmVwcmVzZW50IHRoZSBDRCBhbmQgU1RFLCB0aGF0IGlzIHBy ZXR0eSBjb25mdXNpbmcgbm93CnRoYXQgd2UgaGF2ZSBtb3JlIHVzZXMgZm9yIHRoZSBDRCBhbmQg U1RFJ3MgdGhhbiBzaW1wbGUgczEvczIgSU8gcGFnZQp0YWJsZXMuCgo+IEkgdGhpbmsgYSBtYXN0 ZXIgb3duIGEgQ0QgdGFibGUgaW4gYm90aCBjYXNlcywgdGhvdWdoIHRoZSB0YWJsZQo+IGNvdWxk IGhhdmUgYSBzaW5nbGUgZW50cnkgb3IgbXVsdGlwbGUgZW50cmllcwoKWWVzLgoKPiBkZXBlbmRp bmcgb24gaXRzIHNzaWRfYml0cy9jZG1heCB2YWx1ZS4gQW5kIHNpbmNlIGEgbWFzdGVyIG93biB0 aGUKPiBDRCB0YWJsZSwgd2UgY291bGQgcHJlYWxsb2NhdGUgdGhlIENEIHRhYmxlIGluCj4gYXJt X3NtbXVfcHJvYmVfZGV2aWNlKCksIGxpa2UgTWljaGFlbCBkb2VzIGluIHRoaXMgc2VyaWVzLiBB bmQgYXQKPiB0aGUgc2FtZSB0aW1lLCB0aGUgczFjdHhwdHIgZmllbGQgb2YgdGhlIFNURSBjb3Vs ZCBiZSBzZXR1cAo+IHRvby4gVGhlbiB3ZSBpbnNlcnQgdGhlIENEIGZyb20gYSBkb21haW4gaW50 byB0aGUgQ0QgdGFibGUgZHVyaW5nCj4gdGhlIGRvbWFpbiBhdHRhY2hpbmcuCgpXZSBpbnNlcnQg dGhlIENEVEUgZnJvbSB0aGUgZG9tYWluIGludG8gdGhlIENEIHRhYmxlLCBhbmQgZ2VuZXJhdGUg YQpTVEUgZm9yIHRoZSBDRCB0YWJsZSBhbmQgaW5zZXJ0IGl0IGlubyB0aGUgU3RlZXJpbmcgdGFi bGUuCgo+IFlldCB0d28gY2FzZXMgdGhhdCB3b3VsZCB3YXN0ZSB0aGUgcHJlYWxsb2NhdGVkIENE IHRhYmxlOgo+IDEpIElmIGEgbWFzdGVyIHdpdGggc3NpZF9iaXRzPTAgZ2V0cyBhdHRhY2hlZCB0 byBhbiBJREVOSVRZIFMxCj4gICAgZG9tYWluLCBpdCBzZXRzIENPTkZJRz1CWVBBU1MgaW4gdGhl IFNURSwgd2hpY2ggd2FzdGVzIHRoZQo+ICAgIHNpbmdsZS1lbnRyeSBDRCB0YWJsZSwgdW5saWtl IGN1cnJlbnRseSB0aGUgZHJpdmVyIGJ5cGFzc2luZwo+ICAgIHRoZSBhbGxvY2F0aW9uIG9mIGEg Q0QgdGFibGUgYXQgYWxsLgo+IDIpIFdoZW4gZW5hYmxpbmcgbmVzdGVkIHRyYW5zbGF0aW9uLCB3 ZSBzaG91bGQgcmVwbGFjZSBhbGwgdGhlCj4gICAgUzEgZmllbGRzIGluIHRoZSBTVEUgd2l0aCBn dWVzdC91c2VyIHZhbHVlcy4gU28sIHRoZSBrZXJuZWwtCj4gICAgbGV2ZWwgQ0QgdGFibGUgKGVp dGhlciBzaW5nbGUtZW50cnkgb3IgbXVsdGktZW50cnkpIGluIHRoZQo+ICAgIG1hc3RlciBzdHJ1 Y3Qgd2lsbCBub3QgYmUgdXNlZC4gQWx0aG91Z2ggdGhpcyBzZWVtcyB0byBiZQo+ICAgIHVuY2hh bmdlZCBzaW5jZSBjdXJyZW50bHkgdGhlIGRyaXZlciB3YXN0ZXMgdGhpcyB0b28gaW4gdGhlCj4g ICAgZGVmYXVsdCBkb21haW4/CgpBcyB3ZSBkaXNjdXNzZWQgaW4gYW5vdGhlciB0aHJlYWQgZHlu YW1pYyByZXNpemluZyBvZiB0aGUgQ0QgdGFibGUKbWFrZXMgc29tZSBzZW5zZS4gRWcga2VlcCBp dCBhdCBvbmUgZW50cnkgdW50aWwgUEFTSUQgbW9kZSBpcyBlbmFibGVkCnRoZW4gcmVzaXplIGl0 IHRvIHRoZSBtYXggUEFTSUQgYml0cy4KCkJ1dCBJIHZpZXcgdGhhdCBhcyBhbiBpbXByb3ZlbWVu dCBiZXlvbmQgaGVyZS4gSXQgc2VlbXMgZmluZSBmb3Igbm93CnRvIHByZSBhbGxvY2F0ZSB0aGUg ZnVsbCBDRCB0YWJsZSBhbmQgd2FzdGUgdGhlIG1lbW9yeS4gUEFTSUQgY2FwYWJsZQpkZXZpY2Vz IGFyZSByYXJlLgoKPiBXaXRoIHRoYXQsIEkgc3RpbGwgZmVlbCBpdCBjbGVhciBhbmQgZmxleGli bGUuIEFuZCBJIGNhbiBzaW1wbHkKPiBhZGQgbXkgdXNlIGNhc2Ugb2YgYXR0YWNoaW5nIGFuIElE RU5JVFkgZG9tYWluIHRvIHRoZSBkZWZhdWx0Cj4gc3Vic3RyZWFtIHdoZW4gaGF2aW5nIGEgbXVs dGktZW50cnkgQ0QgdGFibGUuCgpZZXMsIHdpdGggdGhlIGFib3ZlIG5vdGUgYWJvdXQgZHluYW1p Y2FsbHkgcmVzaXppbmcgdGhlIENEIHRhYmxlLCBJCnRoaW5rIHdlIGdlbmVyYWxseSBoYXZlIHRo ZSBpZGVhIHRoYXQgcHJvZ3JhbW1pbmcgdGhlIENELCBlZyBieQppbnN0YWxsaW5nIGFuIGVudHJ5 LCBjYW4gY2F1c2UgdGhlIENEIHRhYmxlcydzIFNURSB0byAoYXRvbWljYWxseSkKY2hhbmdlLgoK RWcgdG8gdG9nZ2xlIHRoZSBTMURTUyBiaXQgaWYgdGhlIFBBU0lEIDAgaXMgSURFTlRJVFksIG9y IHRvIHJlc2l6ZQp0aGUgdGFibGUgaWYgd2UgZXhjZWVkIHRoZSBQQVNJRCBzcGFjZS4KCkxvbmdl ciB0ZXJtIHdlJ2QgYWxzbyBuZWVkIGEgd2F5IHRvIHNldHVwIElERU5USVRZIGRvbWFpbnMgZm9y ICEwCnN1YnN0cmVhbXMgYXMgd2VsbCB0b28gKGVnIGZvciBTSU9WKS4gSXQgaXMgdG9vIGJhZCB0 aGUgQ0RURSBkb2Vzbid0CmhhdmUgYSBiaXQgZm9yIGJ5cGFzcy4gSSBzdXBwb3NlIGl0IHdpbGwg bmVlZCBkdW1teSAxOjEgSU8gcGFnZSB0YWJsZXMKb3Igc29tZXRoaW5nLgoKSmFzb24KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK