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 91CFFC61DA4 for ; Fri, 3 Feb 2023 10:45:34 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:From:References:Cc:To: Subject:Date:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WSoN9pWQTNO3xKFSHDtx0J7cylvSp9uN6FlGiZXnJ7I=; b=3tbH0U8+8wyffAldvMBL/dUCJD NfnT2lPe2HY1YKqP+lKG2nsEmjNd7oWTLVw4YYBJ0zdp3nPo3OfAqOedaDrc1FJ7pP73k1jnnmuxW mNGbijTgc89XDiToT8aP1S89weCVjKey2MNzElD7m4gQ3tVMd3eOvJivDQ0yE2PyxcOom3/YDuB45 7NYNklMT97R1zhpn5tZQCLq8woCUIfHOX5JLDjnUgt1Dhpz5mpcZu4uc8rzTJ5CCPLDHTI5ogGCyk eLj9co2AnHEj6EcnXfzG3sDo3jxMDSFv29iFbC9MUQvlIF4B2p4igYVYURXdj+O5NxxmI4q3bkG74 +hRrwing==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pNtYf-001RUH-Qz; Fri, 03 Feb 2023 10:44:42 +0000 Received: from mail-bn8nam11on20700.outbound.protection.outlook.com ([2a01:111:f400:7eae::700] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pNtYa-001RRM-8G for linux-arm-kernel@lists.infradead.org; Fri, 03 Feb 2023 10:44:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EV8+dd/KHx7pRki3Cd9eOkV9cGtp3Oe0rlFMRpGYcr2JnFMfSuFmkupNW21qKL6JCmGXGWw3tkw45vT/5kRAW56WNk6EaKlmhYO8Qm80fEcEW7Hy5JmQnu1lS5iRzqwFuMO8DOeYPX/o6SSUKOyoWnTRoZS23cDnLz2Wq82A0b75r3mOCouoDfeCXoOqheJLI0g3WgBwSfMN14wZ76K2dwAt64StGA2KpRYC5GPx8eswlYmD1kZ6DKye0sfLKAP4OV466EPzbIT16qQCaxtTAPXpvz1mORYLEffxFGI0Z4tdMPGdnQTu7ixfRaep9aXeY5PsufaMs8KAR62o8vDbxA== 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=d31ErOTvG9UnImDPY6/9OUPOdSMj1r/Vnk6ijDZGZbQ=; b=KRV8eHkzi3dwOEuDbWux6bdPT4rTQTL5VqIslxcasszws0vPyzGPVuPCfIqT6hL3pG1lBbuNXZKxzkZk4XMF+tNZTfW1nxxnIELbIzpvMExJ7u/l02EiUkE6BWLR9Fian5oJaRZXDFl1CeQCR5/QeZ5I/kUOJlrUEXh13zElNPLZh1Kw/NoUQMWRHOkqpe1yVt6SN6joA5I6MMDX4KM75Hs0kh0emWRoXkHklXTJMZpy3WfQ7TTVdmI9ZalSrTGf6AoUenMsAzJYikzD4+8FGwPloqnrHqmSVJV1TBo5SzDP67mMj3o1MaJOvcqtQowrIayvBM9rjiG+7OC7vER+GA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d31ErOTvG9UnImDPY6/9OUPOdSMj1r/Vnk6ijDZGZbQ=; b=efYMgaJtm8Q0kl7vewUVe3GN2XBUWrNnk4bUyKZj2PQ5U7K5qYPd3J6oD1vmZPu4OibyF1Mos39fOJK1ipWIHFnQdik04WTZegMIPuFMeY38kgaf1R8QDWHM8v0A7KpTT5EiDw5hK8c/XGBMHcQjf1stu4JRB+fmYRGqaw5L44o= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from DM8PR01MB6824.prod.exchangelabs.com (2603:10b6:8:23::24) by BN6PR01MB3266.prod.exchangelabs.com (2603:10b6:404:d7::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.39; Fri, 3 Feb 2023 10:44:28 +0000 Received: from DM8PR01MB6824.prod.exchangelabs.com ([fe80::6b5b:1242:818c:e70d]) by DM8PR01MB6824.prod.exchangelabs.com ([fe80::6b5b:1242:818c:e70d%3]) with mapi id 15.20.6064.027; Fri, 3 Feb 2023 10:44:28 +0000 Message-ID: Date: Fri, 3 Feb 2023 16:14:22 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH] iommu/arm-smmu-v3: Enable PCI ATS in passthrough mode as well Content-Language: en-US To: Robin Murphy , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, iommu@lists.linux.dev, will@kernel.org, joro@8bytes.org Cc: jean-philippe@linaro.org, darren@os.amperecomputing.com, scott@os.amperecomputing.com References: <20230202124053.848792-1-gankulkarni@os.amperecomputing.com> <0833e426-d03d-b856-3cb3-8fe97adbb8c1@arm.com> From: Ganapatrao Kulkarni In-Reply-To: <0833e426-d03d-b856-3cb3-8fe97adbb8c1@arm.com> X-ClientProxiedBy: CH0P220CA0003.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:ef::31) To DM8PR01MB6824.prod.exchangelabs.com (2603:10b6:8:23::24) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM8PR01MB6824:EE_|BN6PR01MB3266:EE_ X-MS-Office365-Filtering-Correlation-Id: a557d481-38f7-4bce-ce14-08db05d39ff8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w2aX+zcufbJjUuvn5N70EM70TGGH1L4LlD8Z73izyEJhn4O6OdwFN/wA16U+0CX3ck+7Gr1wXqyHhOAzxet6kfJJmzZdl3xhDhLyYOAIobQWiXP9/CDZGfbWk2wCjZGSHBkOEVASmm72C3SX8pVFplsHm81EOV3IBjZJCPKH24h5rNRmKcejm6PghtHVF+BXnwtP1NY/nuF+JBGO3pyXdcL0/qAJKFbrDhKtesjWVtBdPN2IOKomPXy0BlREldCaO09D+5l99I2ZA/H3xYx/pD1mKTGeaUiNqW4++mV02BC3vwRKFFbEsBOjA0qUJNkuRSUp/hb9KotzfzkiKZONhKSdfMk2lF9Qyrh74/flVPLKFC7m2UQWqgZjmGFCaE00O3hCQFERYWRn4YRP0gCe64yrWs07yTXVR/o1dkMY07+6L2+76EbErbTbChNsVAT0LAljQcizUb4KpJtZqAIt2Ot4G2CmVc/DAGsenau5xM/GfS7eYIykXtrPf1tXvyoPo15hfxp+hbCy9JoaFffBhfnxcWD+grJ0nM99a5Nq+J4UqBkXq4uMBjlT/JkU+19zAN0KNqq7WHgDhcIX+RPR6FJXDvkOjn/xGA3ahkqodhEgh+aYhBBcEnaCs0h44i895fsCCNtyex6P4EJs4dBMlNPKfEpn4yUiRarn6J8KUC8svI3eEycQFSKRYX6ijgunJXreJo/3o7RBWMsbEr2/QA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR01MB6824.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(346002)(136003)(39850400004)(366004)(451199018)(41300700001)(316002)(66946007)(66556008)(66476007)(4326008)(478600001)(8676002)(26005)(6512007)(2616005)(53546011)(6486002)(186003)(6506007)(6666004)(107886003)(8936002)(83380400001)(31696002)(31686004)(38100700002)(2906002)(5660300002)(86362001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bjlTcnZxOVNaTTdpUDc5SlBVNzRHTWdWaU5scDBhYm54YkJsWHljaW14OXBL?= =?utf-8?B?cGFsaWlyQjZ4bG5KZVk3VHNYV3ZEeFBtOG1hRC9WZzRiR2RTSFAwSFlBUjhv?= =?utf-8?B?bEwzc2wrQ0k5c2NpSGhNVlBaMmdNZjZCMUgyWSt1VEZaTEN3VzNvam9EWWp2?= =?utf-8?B?RlplVGZPVmYzQ2ZkMXphWTFLa1BUTjlhL0RtWjlTOXJUWEhOZDRGaW5oQ0la?= =?utf-8?B?amxYT2ZybmVVZktpeXpNd1NPNUpxcndTT3dRNUN6SmF0WU84VWVJaFNwMmQr?= =?utf-8?B?VE45M2JqNW1mR2FiaXJ5UFJLajRsR09zaFVzckViWmVvNU56WjdwQVYrVVc1?= =?utf-8?B?ZyttYmkwY3ZEanVSMkpTMlhWMjJMMEg1Qmk1Q0R3d3R0ZGxONTZmK0ZoU0hV?= =?utf-8?B?bmtUdGJteUI4Yk9JcnJzTGFxL3BPVlc1NmZoUzd5ZTdxakZTdWZWdHdheW1u?= =?utf-8?B?YUc5ZE0xaGk0VFF4Ky9NTXdTb05SYkVBRGJHbmtJZGIyaURGendpVTB4ODVF?= =?utf-8?B?TXE5RFhWWHFJV095U2RTSVdSM2Q5aDhwZzkrMWhOMFVxVHpacGREQThRZWdr?= =?utf-8?B?bnZXSW5Qa0gyRmZaQnhMZCsxcG1zeThHWTNTU1IrZk1JLytqbm9zajdHYVVo?= =?utf-8?B?RG9sSmhBZ2lwU1ovdzk5TlkrTVdWOGtjWFlWb3BTTHlQbFRoRzNzZEpZZHpO?= =?utf-8?B?OEplODZoNzFuNTRNNWtJSFZTTTJZLzFOYjdrc2FTbzExMy8xM2pmU1A2bFZt?= =?utf-8?B?c0d3YXE0UlpDUUpWVzcxcE12U203Q0Rxd0ZwQkRyaEJhUDhjcE9SVDRhaS80?= =?utf-8?B?b05KRFJSaE9iWDFIODlIRHY4VEVUZm00c1NsUkpqL1pjQUozQ1VBOW5wWDFF?= =?utf-8?B?MElYOXJ4c3d0UG9UZmpVUU1lRUVLTnBkTWRndk1HQ2RTVXpQYmdSQTN3ZkZC?= =?utf-8?B?UW1DUzlqVWM1czgvMHRjZXJtWWt4ZVk4SFhiMlRrNGVERVMwMFlPKzVYVWJp?= =?utf-8?B?Mm5QaERDWVU3d1gvaW55eW1Pd0Z5WmM3eW96NG41QVBMS1ZyNC9wNm1QcXlt?= =?utf-8?B?VjBjWldhZUQ0RUp5bDArbXdzQ0FBdVkzSE9zMUtzUjRMS09Xb2hhWk5iemZG?= =?utf-8?B?SU03MkxvcXR0bXdPL003c01uWXVPZ1I2TExMZTk5bnlmelB3R3p1U3phV3Ev?= =?utf-8?B?SW4yZEJUeUZUTlkvdmxiTWtMQW0xOFE2dnpNengxS09QbERBelhZam1jbzV0?= =?utf-8?B?RnNkU0lybDd3TFBiaWNXQzNWSzlIVG1ncXphS1hmc1B3aHdYUW0vbGZaNzFT?= =?utf-8?B?WTVDdkJ5MHJDU0pDSXI3TGxOYjRTbldhdExmNHFjcDc1MXJVTmR2L0xRNlla?= =?utf-8?B?NDlqUVczTzJiRi9YdHgvZFNJMzNITVBmZU9hdzRzbEZPaWZLVmgraFo4Mjcx?= =?utf-8?B?N0FSaVFtU1BPWjQyRVU4SkJ2N0VJdEJZOFhqZStWTzJFYVNBUWtiMEdoWnhD?= =?utf-8?B?c0NWWXV1R21wYUpRUUZTTFp1VmNoQ1ZvMi8rQVhwOU0wTXJUSVU1anhTcGlj?= =?utf-8?B?UXBkMVBJblVuNnZGN3A3cjlMZUJka2dMTGphRDM5em5qdEgzWTFkeWFBSWRG?= =?utf-8?B?YURmS1dLUnBOMnZaekc0L2dyUUN6Q1ErQlBHWkpWOWErL25vcitsV3ZkSnRl?= =?utf-8?B?SHFDNWt2WWtxdmFqWXMzajdDeGhobmg1d3hpblBjNmNFdGJRMitJTi90SEJz?= =?utf-8?B?TW9JcjhPb2x0MU9wOWhXS1dDVjRUdjF5Z1UvYVFtRGRrUW9Za1UwclAzYTVL?= =?utf-8?B?R3pUK20yOENZT0lSMWdpMGFCdGhpNm9qZlA1ekYrTTY5eXMxQzFRWnBkbUtJ?= =?utf-8?B?SHJZNGZOQTI2RjRpN1dEcEM4QjJ0QXZMTzdMSXhTb24wR0xBL2FCdmx5a1Zq?= =?utf-8?B?K3g3TU1jby8vSWNMWUt1aHV5K2N4L05NOGdTZXorVndzdjAxYUVwUmJKQkUx?= =?utf-8?B?cmFKVmVGOHQrUFg2Yysyc0RiS0cyd29RVlA3Y0N6ZldvMnl4SVZQWXhENUxJ?= =?utf-8?B?b2h1NGZESldIS1dvRVkwVjVVYm5BMEYwOElXUktNMHZmUUtINmFtNU5nMzN1?= =?utf-8?B?KzY4QjlwbkVyTmwrYnJDcE1NblZSdDh0M202SUZTQVRIZnhwUXBmU21IQjU0?= =?utf-8?Q?SyP7+Gx/egE9Xiq3riT9sh+1/cVGBWZB60cJWmH/ayPD?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: a557d481-38f7-4bce-ce14-08db05d39ff8 X-MS-Exchange-CrossTenant-AuthSource: DM8PR01MB6824.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Feb 2023 10:44:28.4428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B/ha8xVTQ7c8w05+TXK9F7zZNMyLpzvVNETjZaL0u6/sm9rUjfPGUnUEfWZiOzxvSKv2fbgXeRZrAQzPJj+pVZqbacPNFi4KqorMn63VopM1ycEXTow9PI7Dvw8xAP1D X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR01MB3266 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230203_024436_322025_19BFD6CD X-CRM114-Status: GOOD ( 18.14 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAwMi0wMi0yMDIzIDA2OjUyIHBtLCBSb2JpbiBNdXJwaHkgd3JvdGU6Cj4gT24gMjAyMy0w Mi0wMiAxMjo0MCwgR2FuYXBhdHJhbyBLdWxrYXJuaSB3cm90ZToKPj4gVGhlIGN1cnJlbnQgc21t dS12MyBkcml2ZXIgZG9lcyBub3QgZW5hYmxlIFBDSSBBVFMgZm9yIHBoeXNpY2FsIGZ1bmN0aW9u cwo+PiBvZiBBVFMgY2FwYWJsZSBFbmQgUG9pbnRzIHdoZW4gYm9vdGVkIGluIHNtbXUgYnlwYXNz IG1vZGUKPj4gKGlvbW11LnBhc3N0aHJvdWdoPTEpLiBUaGlzIHdpbGwgbm90IGFsbG93IHZpcnR1 YWwgZnVuY3Rpb25zIHRvIGVuYWJsZQo+PiBBVFMoZXZlbiB0aG91Z2ggRVAgc3VwcG9ydHMgaXQp IHdoaWxlIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGEgVk0gdXNpbmcKPj4gVkZJTyBkcml2ZXIuCj4+ Cj4+IFRoaXMgcGF0Y2ggYWRkcyBjaGFuZ2VzIHRvIGVuYWJsZSBBVFMgc3VwcG9ydCBmb3IgcGh5 c2ljYWwgZnVuY3Rpb25zCj4+IGluIHBhc3N0aHJvdWdoL2J5cGFzcyBtb2RlIGFzIHdlbGwuCj4+ Cj4+IEFsc28sIGFkZGluZyBjaGVjayB0byBhdm9pZCBkaXNhYmxpbmcgb2YgQVRTIGlmIGl0IGlz IG5vdCBlbmFibGVkLAo+PiB0byBhdm9pZCB1bm5lY2Vzc2FyeSBjYWxsLXRyYWNlcy4KPj4KPj4g U2lnbmVkLW9mZi1ieTogR2FuYXBhdHJhbyBLdWxrYXJuaSA8Z2Fua3Vsa2FybmlAb3MuYW1wZXJl Y29tcHV0aW5nLmNvbT4KPj4gLS0tCj4+IMKgIGRyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYz L2FybS1zbW11LXYzLmMgfCAxMCArKysrKysrLS0tCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA3IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lv bW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5jIAo+PiBiL2RyaXZlcnMvaW9tbXUvYXJt L2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMKPj4gaW5kZXggNmQ1ZGY5MWM1YzQ2Li41YTYwNWNi NWNjZWYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1z bW11LXYzLmMKPj4gKysrIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUt djMuYwo+PiBAQCAtMjMxMywxMSArMjMxMywxNiBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV9lbmFi bGVfYXRzKHN0cnVjdCAKPj4gYXJtX3NtbXVfbWFzdGVyICptYXN0ZXIpCj4+IMKgIHN0YXRpYyB2 b2lkIGFybV9zbW11X2Rpc2FibGVfYXRzKHN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlcikK Pj4gwqAgewo+PiDCoMKgwqDCoMKgIHN0cnVjdCBhcm1fc21tdV9kb21haW4gKnNtbXVfZG9tYWlu ID0gbWFzdGVyLT5kb21haW47Cj4+ICvCoMKgwqAgc3RydWN0IHBjaV9kZXYgKnBkZXY7Cj4+IMKg wqDCoMKgwqAgaWYgKCFtYXN0ZXItPmF0c19lbmFibGVkKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg cmV0dXJuOwo+PiAtwqDCoMKgIHBjaV9kaXNhYmxlX2F0cyh0b19wY2lfZGV2KG1hc3Rlci0+ZGV2 KSk7Cj4+ICvCoMKgwqAgcGRldiA9IHRvX3BjaV9kZXYobWFzdGVyLT5kZXYpOwo+PiArCj4+ICvC oMKgwqAgaWYgKHBkZXYtPmF0c19lbmFibGVkKQo+IAo+IElmIHRoZSBtYXN0ZXItPmF0c19lbmFi bGVkIGNoZWNrIGFib3ZlIHBhc3NlcyB3aGVuIEFUUyBpc24ndCBhY3R1YWxseSAKPiBlbmFibGVk LCBzdXJlbHkgdGhhdCdzIGEgYnVnPwoKSUlVQywgSXQgbWVhbnMgQVRTIGZlYXR1cmUgaXMgc3Vw cG9ydGVkIChqdXN0IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgQVRTIApleHRlbmRlZCBjYXBhYmls aXR5IGFuZCBzbW11IGNhcGFiaWxpdHkpIGFuZCBub3QgbmVjZXNzYXJpbHkgZW5hYmxlZC4KRnVu Y3Rpb24gcGNpX2VuYWJsZV9hdHMoY2FsbGVkIGJ5IGFybV9zbW11X2VuYWJsZV9hdHMpIGVuYWJs ZXMgdGhlIEFUUyAKYnkgc2V0dGluZyBiaXQgMTUgb2YgQVRTIENvbnRyb2wgUmVnaXN0ZXIgKE9m ZnNldCAwNmgpLgpJZiBwY2lfZW5hYmxlX2F0cyBpcyBub3Qgc3VjY2Vzc2Z1bCwgaXQgd2lsbCBu b3Qgc2V0IGRldi0+YXRzX2VuYWJsZWQgCmZsYWcuIFNvIGNhbGxpbmcgcGNpX2Rpc2FibGVfYXRz IGxhdGVyIHJlc3VsdHMgaW4gY2FsbC10cmFjZSwgaWYgCmRldi0+YXRzX2VuYWJsZWQgaXMgbm90 IHNldC4KCkZ1bmN0aW9uIGFybV9zbW11X2VuYWJsZV9hdHMgYWxyZWFkeSBwcmludHMgZXJyb3Ig bWVzc2FnZSBpZiBBVFMgZW5hYmxlIAppcyBmYWlsZWQuCgo+IAo+IFJvYmluLgo+IAo+PiArwqDC oMKgwqDCoMKgwqAgcGNpX2Rpc2FibGVfYXRzKHBkZXYpOwo+PiArCj4+IMKgwqDCoMKgwqAgLyoK Pj4gwqDCoMKgwqDCoMKgICogRW5zdXJlIEFUUyBpcyBkaXNhYmxlZCBhdCB0aGUgZW5kcG9pbnQg YmVmb3JlIHdlIGlzc3VlIHRoZQo+PiDCoMKgwqDCoMKgwqAgKiBBVEMgaW52YWxpZGF0aW9uIHZp YSB0aGUgU01NVS4KPj4gQEAgLTI0NTMsOCArMjQ1OCw3IEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVf YXR0YWNoX2RldihzdHJ1Y3QgCj4+IGlvbW11X2RvbWFpbiAqZG9tYWluLCBzdHJ1Y3QgZGV2aWNl ICpkZXYpCj4+IMKgwqDCoMKgwqAgbWFzdGVyLT5kb21haW4gPSBzbW11X2RvbWFpbjsKPj4gLcKg wqDCoCBpZiAoc21tdV9kb21haW4tPnN0YWdlICE9IEFSTV9TTU1VX0RPTUFJTl9CWVBBU1MpCj4+ IC3CoMKgwqDCoMKgwqDCoCBtYXN0ZXItPmF0c19lbmFibGVkID0gYXJtX3NtbXVfYXRzX3N1cHBv cnRlZChtYXN0ZXIpOwo+PiArwqDCoMKgIG1hc3Rlci0+YXRzX2VuYWJsZWQgPSBhcm1fc21tdV9h dHNfc3VwcG9ydGVkKG1hc3Rlcik7Cj4+IMKgwqDCoMKgwqAgYXJtX3NtbXVfaW5zdGFsbF9zdGVf Zm9yX2RldihtYXN0ZXIpOwoKVGhhbmtzLApHYW5hcGF0CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==