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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 84A1E1061B37 for ; Tue, 31 Mar 2026 12:28:34 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9317E10EB1E; Tue, 31 Mar 2026 12:28:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="hQkqJ1Tr"; dkim-atps=neutral Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010003.outbound.protection.outlook.com [52.101.46.3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 72F4310EB1E; Tue, 31 Mar 2026 12:28:32 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aUbIGc7fyKGXDaw18s67AkvAQOl977wUTFNmaD5nLRNK/vd5zsrUwFr5XZCh1hbqtdZw6exKMChxqFxQHxnla9OJS2QeQ3yf2qdTaqJzqw5UW46mrp/G5FtrO+cfBJXD1k6lIwt7tNLWFY2sBieFW94D4wL6K7Yhb/UhvfB1JUVRfG7pazPLAPrUHuGIuZF4dkGkhHGEg7c8w/Za8mc/S2ghD9LFWTh00vJTJ0NaDqa13bE7af7q04jup6C4+tqRxcByy0PUlw4C0EB2gW7i8YZgxI4CSKtP76Fk5+R4vQxwTy6pSQSKvLtzlvs1CPwluOlNYueqNdOVEOJD5oylJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=D7+QqYTyjus+TIR8TiNScOtXwEEXBtWN4u8nDWBFfbc=; b=KV1SLqaQ6NKNWd8Q0lsAXKkyF2sOrN6dgUke+wV/RnfINDEfIA7KxClODIh0VMLGeUCgXDaNOA91wd8xUfTyITCSv2hYf3kKfHWE7M7+jBEGwctNiCHfJnX3IOERRdDJr7FsldOoLRbrYSAEegtcW25RQF1nH9PwihIQqfRSvD7rTfOiHDMrxify9cBm12+ye+TjJhOsVqMjEZNvqFrYNaVY1xwEDnZYapdXXhHu9aavW5YsNpAwSLaA8X1Hf79WD9MKkvzqi+3nklu8WKBH8yc1jogCt1Pw0mzXsUBR9pMJFKy3zUdJaytjiA+oAXO8pdB3gyDfPkZvIDwW3Mmfhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D7+QqYTyjus+TIR8TiNScOtXwEEXBtWN4u8nDWBFfbc=; b=hQkqJ1TrdQDJE3abBXjKR2ma4Fqu8tjy1TmMu3BhbY0ktFkHUuZtj8ODx3+1+j+unYIuGnDg2UXn4TrN7NOKILVZiF0eTshicvjH6O/bPhaoKwR8c1kxW/PA01Ad1FH5aFWVCcqvZr/KtDU+tMxKk7sNkFUZVxkYJTz4eUXUiM4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) by CH1PR12MB9694.namprd12.prod.outlook.com (2603:10b6:610:2af::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Tue, 31 Mar 2026 12:28:29 +0000 Received: from PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c]) by PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c%5]) with mapi id 15.20.9769.014; Tue, 31 Mar 2026 12:28:29 +0000 Message-ID: <2fb67e0c-c7a2-46d6-af24-d67f704cac6d@amd.com> Date: Tue, 31 Mar 2026 14:28:23 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v6] drm/amdgpu: replace PASID IDR with XArray To: Mikhail Gavrilov , Alex Deucher Cc: lijo.lazar@amd.com, Eric Huang , David Airlie , Simona Vetter , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20260331111808.16578-1-mikhail.v.gavrilov@gmail.com> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: <20260331111808.16578-1-mikhail.v.gavrilov@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: MN0PR05CA0006.namprd05.prod.outlook.com (2603:10b6:208:52c::31) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|CH1PR12MB9694:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c4b3e89-abc6-4021-342b-08de8f21035d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: rLVzywH+b9ShRjm8aWgw6i/ufL5H7lcB+13MYifAQSLPCiXF4MCdGnv2gyNDLq1abWqg5Ax2Sb7aPfzESE3JdY12aNXdr0o+Frad8nurS05MWNkppYngvtQK2yU41i04D56znzkVrw8EDie5H0eDPFQE93lTuCpyM9CfvJ1l9w+YNtimo3rcrhizhAnIQaGejYFFC8lfToa8OADJgyzSlzXenJZpvMkuMVcx46c1eQXCwg/9OaJG/p303TY4FUlA2TpbEgfCMtamIrBX4uxpVuXN5ZsaHWWcdOSzoyddzjWnV9QzfDED8szC0ZLBBdqQcSchz0i3gbGNB/O8bqzYFPA+5Xgez5oLbLgXIHYLVuHIOMwEJ1Yg0MKxam9tWdL78PYT1P6t5wsGX7k+owXMBAh2Y8v1D1TLLfdtupBoL+loHAU6NcrzxuO/r79OxAgVcK+O7TKCyLNP4Ez1idebwTMxaFEsPmqQ4/57ixfVRozgKr+BnRHgv2z22BzqyncipRnvPKmo+EHpjpVkgNFqEZjAkkJE3mnvem/7hGnXLQaI2yBJ+WPfuNCwnwbVr19drZVSLDPK2DARBCl47QIk82D+7/YIwEPHNN9S0DLRVs2bwpC+ROQ7M4iD6UxkCvjMg6PWXEatZeg4pPlWC9in553kBjKUBHsSkNpBc1Z5QeGWdE+ydLk/14fcUP1nU+x9z7mrYXUljrcL6kQ0qIpozFpw4E4cfH6MB1jNTFjZ4lD/8aw+v0YhhsfOD5d90GeH X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB5685.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aklhVUVEL2wzS0NCaVA4NUJzZDJyZXhMT25WVnprZldSdnJPY3B2cS9UNjRl?= =?utf-8?B?dnc4d3ZRclovTkFJZzJETExLY3FFREx3aEplRlVVd21nL1BtWWZXM1REb0Yv?= =?utf-8?B?WFJGVktzUE9ZOXpBUHRHRitlUVV3MXpnRWplYWRscjIyc2VaWG1TbmU1NFlt?= =?utf-8?B?VDZ1ejg2NDhqOUIzczQxYW5RSGJ5MXduSU1Mc0FtSXVBeUJ5OVhPMzNPR1JY?= =?utf-8?B?VGhuVzRQUkhKcXRNMDBBMG1Lc09Qc29lK2srU2NaanpwYVFPK1hMNHhabTRp?= =?utf-8?B?NmFPVTVhc2l4SEtuZjNqS1ZFbnNxSEgzbWhXSDY4Tk9mQldHeHVIaTN0enh4?= =?utf-8?B?SHBSODNXcGZ0UmpMM0hjbTZ4K3JXd0NGd3hLSnVXa0gyWmlvVWlVWnZGSkhk?= =?utf-8?B?RnBiRXBPTUs1bGRlaGsxZnA2bzBpditLVHM2K3RiOUM4ZWZkZkVvc05Ka2th?= =?utf-8?B?aHEvcGF4enAzdml1U2tBVzd2Ty93V2grK3BWSWtqeUUwbDVYL3RkcVU2bE5K?= =?utf-8?B?Skp6MDJQOW9vVXFvenZ2dmNOaWdoOC9ZUmlnRy9uZmt1WktSWDJabmhHRkRB?= =?utf-8?B?UEJ3YlU2QkRiaE4wVzRvWk12R2tRNTZWWC9NSTEzZTl5ckxvNEtuWklDdlps?= =?utf-8?B?WTAzQ1BheFU0K0cvRUNkZ3ZSTVFRbkJmdm1vV3NLbFI5aWgzb2pRQmp4eDN2?= =?utf-8?B?K216VzFwRDBKVFNVaTRCRXZaSDZZTGoybGhlTHZORm5hR3FwZ2EyWG8yUEpi?= =?utf-8?B?NzhWUDN3cU9NdnRzQ3JVaUtLcWcxRndsK1N1VjBaMHlzVUQ1eFkxZGsxeDh2?= =?utf-8?B?eGZvNEk0bmtxU285QzZmZlZjMGVwRnYzbWVXYy9xdjduYkNLT2lTVkMxd25J?= =?utf-8?B?RTV6UmxQR3N6cDVtbTdSbXEzODRWZ3lNUVo2S2xmU1FpZkFVdDQrYnY2eTZj?= =?utf-8?B?OUVCN1Y0SHNhbWZuRzlOeDRQRTY4Ri9uRDBVV3Vmam9SNk5HRjdwRDB2Slhm?= =?utf-8?B?OVpZaUlOL1dRNUdJWE9BQmx6N3B3UlMwWCt3YzNlSG9ZTWovYUVPUXp1cFVm?= =?utf-8?B?bE81VzV1ZWdkeFlrRTZUOU1pR1gwZXRXVWRIbm1EQjNBLzB3cHZBSGI2Ykhl?= =?utf-8?B?YzdaeGd1V0Y0Q2hBUGczbTRxM1lsRW9TZTNzZW1kdkRUaUtKc3krbkQxaHZK?= =?utf-8?B?Q3kwcWNMT1dJZjI4VERUODZYcGhjUUpZSHdLQmNtdjVBSGlBdStMU05jTDVB?= =?utf-8?B?SVI5V2p3SmNSY2lKakRTNkgwK240OHJSaXNPRzlOR29kVStNQW5TOFZGTklr?= =?utf-8?B?aDg4OWVEaGVPbU5hNkNrbkhiRVRqZmZpR3dmaGVrREtGWHRuNU0vd2dHY2Uz?= =?utf-8?B?eHFoMm9UUkw5L3ZjUVBMSXB6ZkY3R3ZRcmNUOHpHVDRjWllaSXNCQ3A4MEl2?= =?utf-8?B?cDdmdlRTT2krelNTQkFoRGFiQXlpdExTVE1BL1dUUFN5WnBsRXQ2dHlpeGs1?= =?utf-8?B?Z1h6ZlRjaHpvUTlRTkZpeFRpakpMdDhnWlhVYnk3djcwVUpxb0l4MjBiOUh4?= =?utf-8?B?cGIwR2hXcDFpaFBEOGJwWHczeVZiYmRKSHNwa0pkUmpkSGFSRzExOFNEaTFW?= =?utf-8?B?NU1OV0JaQWN5UUxSVzFjc1hLTkx5L290QkJ0L0dTaTFOcWNobWt5UzRzV3M3?= =?utf-8?B?bS9sRVRoc3ViVkFUYWlGUkJvUVRiT295Q0V3dVpRWmFKVEJHQ0FZbExQRGhs?= =?utf-8?B?M290YTYyVG9nWTFuUmNuV1Q0bDQwRlVQNTh6NDdLUHZUeEg5WVFRdFBPd0JN?= =?utf-8?B?azBRWFFIYitENWNlY1g3eGl3cFRrajUrQzRnNVhkaEZZdzR4aWx5RXErMk9G?= =?utf-8?B?emJTd2lHc2NNemY5RGtzSFVEMER6SFRQbFVsWGRIYzl4NzdpcnJaTjZQZ0l1?= =?utf-8?B?NitJazRZMWd4ckFVaEtBYzVWNVR1QnZCU2NHd0JYUDJBYS8xSU81aTdQNlo1?= =?utf-8?B?bFZTbXZFN0ZSbFA2UExnVVNCSGZ3ZXlyU3l6QVhzWTNEbmVYV01lKzFVUVEx?= =?utf-8?B?S3JIY09aUXJjTlpSN2phRTY1RFhjVjVQa3JOY0w4QkYzNXZkNTQ3cDFvcyty?= =?utf-8?B?ZXo1U2tOVVRNRzlKQU5OV2g4ZjVENTZ1ekVvdVNiRHlyME5qaVFBYm5lT2I4?= =?utf-8?B?alVaVUlUK0JtWkFnd1NDNEhJUUJwZUlsQ0MreTg5bkY1WThiZEVKcjk3Vklt?= =?utf-8?B?VTVyOU1LTUR3Z0JiZFBZTnRVS0FiQlFZcmxVSE1EN09WS3UxMmdORDByT202?= =?utf-8?Q?c4Ifg4x0ibA6QGxPIK?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c4b3e89-abc6-4021-342b-08de8f21035d X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2026 12:28:28.8833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 9x3ON5dRWtjymWHAfDy/hD15AgNDXQSzazvt7UuNUtXbeiDM19Sf5QwfAtOZ9ySp X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH1PR12MB9694 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gMy8zMS8yNiAxMzoxNywgTWlraGFpbCBHYXZyaWxvdiB3cm90ZToKPiBDb21taXQgOGYxZGU1 MWY0OWJlICgiZHJtL2FtZGdwdTogcHJldmVudCBpbW1lZGlhdGUgUEFTSUQgcmV1c2UgY2FzZSIp Cj4gY29udmVydGVkIHRoZSBnbG9iYWwgUEFTSUQgYWxsb2NhdG9yIGZyb20gSURBIHRvIElEUiB3 aXRoIGEgc3BpbmxvY2sKPiBmb3IgY3ljbGljIGFsbG9jYXRpb24sIGJ1dCBpbnRyb2R1Y2VkIHR3 byBsb2NraW5nIGJ1Z3M6Cj4gCj4gMSkgaWRyX2FsbG9jX2N5Y2xpYygpIGlzIGNhbGxlZCB3aXRo IEdGUF9LRVJORUwgdW5kZXIgc3Bpbl9sb2NrKCksCj4gICAgd2hpY2ggY2FuIHNsZWVwLgo+IAo+ IDIpIGFtZGdwdV9wYXNpZF9mcmVlKCkgY2FuIGJlIGNhbGxlZCBmcm9tIGhhcmRpcnEgY29udGV4 dCB2aWEgdGhlCj4gICAgZmVuY2Ugc2lnbmFsIHBhdGggKGFtZGdwdV9wYXNpZF9mcmVlX2NiKSwg YnV0IHRoZSBsb2NrIGlzIHRha2VuCj4gICAgd2l0aCBwbGFpbiBzcGluX2xvY2soKSBpbiBwcm9j ZXNzIGNvbnRleHQsIGNyZWF0aW5nIGEgcG90ZW50aWFsCj4gICAgZGVhZGxvY2s6Cj4gCj4gICAg ICBDUFUwCj4gICAgICAtLS0tCj4gICAgICBzcGluX2xvY2soJmFtZGdwdV9wYXNpZF9pZHJfbG9j aykgICAvLyBwcm9jZXNzIGNvbnRleHQsIElSUXMgb24KPiAgICAgIDxJbnRlcnJ1cHQ+Cj4gICAg ICAgIHNwaW5fbG9jaygmYW1kZ3B1X3Bhc2lkX2lkcl9sb2NrKSAvLyBkZWFkbG9jawo+IAo+ICAg IFRoZSBoYXJkaXJxIGNhbGwgY2hhaW4gaXM6Cj4gCj4gICAgICBzZG1hX3Y2XzBfcHJvY2Vzc190 cmFwX2lycQo+ICAgICAgIC0+IGFtZGdwdV9mZW5jZV9wcm9jZXNzCj4gICAgICAgIC0+IGRtYV9m ZW5jZV9zaWduYWwKPiAgICAgICAgIC0+IGRybV9zY2hlZF9qb2JfZG9uZQo+ICAgICAgICAgIC0+ IGRtYV9mZW5jZV9zaWduYWwKPiAgICAgICAgICAgLT4gYW1kZ3B1X3Bhc2lkX2ZyZWVfY2IKPiAg ICAgICAgICAgIC0+IGFtZGdwdV9wYXNpZF9mcmVlCj4gCj4gICAgVGhpcyB3YXMgb2JzZXJ2ZWQg b24gYW4gUlggNzkwMCBYVFggd2hlbiBleGl0aW5nIGEgVnVsa2FuIGdhbWUKPiAgICBydW5uaW5n IHVuZGVyIFByb3Rvbi9XaW5lLCB3aGljaCB0cmlnZ2VycyB0aGUgZmVuY2UgY2FsbGJhY2sgcGF0 aAo+ICAgIGR1cmluZyBWTSB0ZWFyZG93bi4KPiAKPiBSZXBsYWNlIHRoZSBJRFIgKyBzcGlubG9j ayB3aXRoIFhBcnJheSB1c2luZyBYQV9GTEFHU19MT0NLX0lSUSAoYWxsCj4geGEgb3BlcmF0aW9u cyB1c2UgSVJRLXNhZmUgbG9ja2luZyBpbnRlcm5hbGx5KSBhbmQgWEFfRkxBR1NfQUxMT0MxCj4g KHplcm8gaXMgbm90IGEgdmFsaWQgUEFTSUQpLiAgQm90aCB4YV9hbGxvY19jeWNsaWMoKSBhbmQg eGFfZXJhc2UoKQo+IHRoZW4gaGFuZGxlIGxvY2tpbmcgY29uc2lzdGVudGx5LCBmaXhpbmcgYm90 aCBidWdzLgo+IAo+IFN1Z2dlc3RlZC1ieTogTGlqbyBMYXphciA8bGlqby5sYXphckBhbWQuY29t PgoKPiBGaXhlczogOGYxZGU1MWY0OWJlICgiZHJtL2FtZGdwdTogcHJldmVudCBpbW1lZGlhdGUg UEFTSUQgcmV1c2UgY2FzZSIpCgpUaGF0IHNob3VsZCBiZSB1bmVjZXNzYXJ5LiBXZSBhbHJlYWR5 IHJlcGxhY2VkIEdGUF9LRVJORUwgd2l0aCBHRlBfQVRPTUlDIGluIEFsZXggZml4ZXMgcHVsbC4K Cj4gU2lnbmVkLW9mZi1ieTogTWlraGFpbCBHYXZyaWxvdiA8bWlraGFpbC52LmdhdnJpbG92QGdt YWlsLmNvbT4KPiAtLS0KPiAKPiB2NjogVXNlIERFRklORV9YQVJSQVlfRkxBR1Mgd2l0aCBYQV9G TEFHU19MT0NLX0lSUSB8IFhBX0ZMQUdTX0FMTE9DMQo+ICAgICBzbyBhbGwgeGEgb3BlcmF0aW9u cyB1c2UgSVJRLXNhZmUgbG9ja2luZyBpbnRlcm5hbGx5LiAgRHJvcAo+ICAgICBDYzogc3RhYmxl IHNpbmNlIHRoZSByZWdyZXNzaW9uIHdhcyBuZXZlciByZWxlYXNlZCB0byBhbnkgc3RhYmxlCj4g ICAgIGtlcm5lbC4gKENocmlzdGlhbiBLw7ZuaWcpCj4gdjU6IFVzZSBleHBsaWNpdCB4YV9sb2Nr X2lycXNhdmUvX194YV9lcmFzZSBmb3IgYW1kZ3B1X3Bhc2lkX2ZyZWUoKQo+ICAgICBzaW5jZSB4 YV9lcmFzZSgpIG9ubHkgdXNlcyBwbGFpbiB4YV9sb2NrKCkgd2hpY2ggaXMgbm90IHNhZmUgZnJv bQo+ICAgICBoYXJkaXJxIGNvbnRleHQuCj4gICAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2Fs bC8yMDI2MDMzMDE5MTEyMC4xMDUwNjUtMS1taWtoYWlsLnYuZ2F2cmlsb3ZAZ21haWwuY29tLwo+ IHY0OiBVc2UgeGFfYWxsb2NfY3ljbGljL3hhX2VyYXNlIGRpcmVjdGx5IGluc3RlYWQgb2YgZXhw bGljaXQKPiAgICAgeGFfbG9ja19pcnFzYXZlLCBhcyBzdWdnZXN0ZWQgYnkgTGlqbyBMYXphci4K PiAgICAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjYwMzMwMTYyMDM4LjI1MDczLTEt bWlraGFpbC52LmdhdnJpbG92QGdtYWlsLmNvbS8KPiB2MzogUmVwbGFjZSBJRFIgd2l0aCBYQXJy YXkgaW5zdGVhZCBvZiBmaXhpbmcgdGhlIHNwaW5sb2NrLCBhcwo+ICAgICBzdWdnZXN0ZWQgYnkg TGlqbyBMYXphci4KPiAgICAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjYwMzMwMTEw MzQ2LjE2NTQ4LTEtbWlraGFpbC52LmdhdnJpbG92QGdtYWlsLmNvbS8KPiB2MjogQWRkZWQgc2Vj b25kIHBhdGNoIGZpeGluZyB0aGUge0hBUkRJUlEtT04tV30gLT4ge0lOLUhBUkRJUlEtV30KPiAg ICAgbG9jayBpbmNvbnNpc3RlbmN5IChzcGluX2xvY2sgLT4gc3Bpbl9sb2NrX2lycXNhdmUpLgo+ ICAgICBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNjAzMzAwNTMwMjUuMTkyMDMtMS1t aWtoYWlsLnYuZ2F2cmlsb3ZAZ21haWwuY29tLwo+IHYxOiBGaXhlZCBzbGVlcGluZy11bmRlci1z cGlubG9jayAoaWRyX2FsbG9jX2N5Y2xpYyB3aXRoIEdGUF9LRVJORUwpCj4gICAgIHVzaW5nIGlk cl9wcmVsb2FkL0dGUF9OT1dBSVQuCj4gICAgIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8y MDI2MDMyODIxMzkwMC4xOTI1NS0xLW1pa2hhaWwudi5nYXZyaWxvdkBnbWFpbC5jb20vCj4gCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pZHMuYyB8IDQzICsrKysrKysrKysr LS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDI0IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfaWRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWRzLmMKPiBp bmRleCBkODg1MjM1NjhiNjIuLjlmMjY0ZDQzOWYzZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfaWRzLmMKPiBAQCAtMjIsNyArMjIsNyBAQAo+ICAgKi8KPiAgI2luY2x1 ZGUgImFtZGdwdV9pZHMuaCIKPiAgCj4gLSNpbmNsdWRlIDxsaW51eC9pZHIuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L3hhcnJheS5oPgo+ICAjaW5jbHVkZSA8bGludXgvZG1hLWZlbmNlLWFycmF5Lmg+ Cj4gIAo+ICAKPiBAQCAtMzUsMTMgKzM1LDEzIEBACj4gICAqIFBBU0lEcyBhcmUgZ2xvYmFsIGFk ZHJlc3Mgc3BhY2UgaWRlbnRpZmllcnMgdGhhdCBjYW4gYmUgc2hhcmVkCj4gICAqIGJldHdlZW4g dGhlIEdQVSwgYW4gSU9NTVUgYW5kIHRoZSBkcml2ZXIuIFZNcyBvbiBkaWZmZXJlbnQgZGV2aWNl cwo+ICAgKiBtYXkgdXNlIHRoZSBzYW1lIFBBU0lEIGlmIHRoZXkgc2hhcmUgdGhlIHNhbWUgYWRk cmVzcwo+IC0gKiBzcGFjZS4gVGhlcmVmb3JlIFBBU0lEcyBhcmUgYWxsb2NhdGVkIHVzaW5nIElE UiBjeWNsaWMgYWxsb2NhdG9yCj4gLSAqIChzaW1pbGFyIHRvIGtlcm5lbCBQSUQgYWxsb2NhdGlv bikgd2hpY2ggbmF0dXJhbGx5IGRlbGF5cyByZXVzZS4KPiAtICogVk1zIGFyZSBsb29rZWQgdXAg ZnJvbSB0aGUgUEFTSUQgcGVyIGFtZGdwdV9kZXZpY2UuCj4gKyAqIHNwYWNlLiBUaGVyZWZvcmUg UEFTSURzIGFyZSBhbGxvY2F0ZWQgdXNpbmcgYW4gWEFycmF5IGN5Y2xpYwo+ICsgKiBhbGxvY2F0 b3IgKHNpbWlsYXIgdG8ga2VybmVsIFBJRCBhbGxvY2F0aW9uKSB3aGljaCBuYXR1cmFsbHkgZGVs YXlzCj4gKyAqIHJldXNlLiBWTXMgYXJlIGxvb2tlZCB1cCBmcm9tIHRoZSBQQVNJRCBwZXIgYW1k Z3B1X2RldmljZS4KPiAgICovCj4gIAo+IC1zdGF0aWMgREVGSU5FX0lEUihhbWRncHVfcGFzaWRf aWRyKTsKPiAtc3RhdGljIERFRklORV9TUElOTE9DSyhhbWRncHVfcGFzaWRfaWRyX2xvY2spOwo+ ICtzdGF0aWMgREVGSU5FX1hBUlJBWV9GTEFHUyhhbWRncHVfcGFzaWRfeGEsIFhBX0ZMQUdTX0xP Q0tfSVJRIHwgWEFfRkxBR1NfQUxMT0MxKTsKPiArc3RhdGljIHUzMiBhbWRncHVfcGFzaWRfeGFf bmV4dDsKPiAgCj4gIC8qIEhlbHBlciB0byBmcmVlIHBhc2lkIGZyb20gYSBmZW5jZSBjYWxsYmFj ayAqLwo+ICBzdHJ1Y3QgYW1kZ3B1X3Bhc2lkX2NiIHsKPiBAQCAtNTMsOCArNTMsNyBAQCBzdHJ1 Y3QgYW1kZ3B1X3Bhc2lkX2NiIHsKPiAgICogYW1kZ3B1X3Bhc2lkX2FsbG9jIC0gQWxsb2NhdGUg YSBQQVNJRAo+ICAgKiBAYml0czogTWF4aW11bSB3aWR0aCBvZiB0aGUgUEFTSUQgaW4gYml0cywg bXVzdCBiZSBhdCBsZWFzdCAxCj4gICAqCj4gLSAqIFVzZXMga2VybmVsJ3MgSURSIGN5Y2xpYyBh bGxvY2F0b3IgKHNhbWUgYXMgUElEIGFsbG9jYXRpb24pLgo+IC0gKiBBbGxvY2F0ZXMgc2VxdWVu dGlhbGx5IHdpdGggYXV0b21hdGljIHdyYXAtYXJvdW5kLgo+ICsgKiBVc2VzIFhBcnJheSBjeWNs aWMgYWxsb2NhdG9yIGZvciBzZXF1ZW50aWFsIGFsbG9jYXRpb24gd2l0aCB3cmFwLWFyb3VuZC4K PiAgICoKPiAgICogUmV0dXJucyBhIHBvc2l0aXZlIGludGVnZXIgb24gc3VjY2Vzcy4gUmV0dXJu cyAlLUVJTlZBTCBpZiBiaXRzPT0wLgo+ICAgKiBSZXR1cm5zICUtRU5PU1BDIGlmIG5vIFBBU0lE IHdhcyBhdmFpbGFibGUuIFJldHVybnMgJS1FTk9NRU0gb24KPiBAQCAtNjIsMjAgKzYxLDIyIEBA IHN0cnVjdCBhbWRncHVfcGFzaWRfY2Igewo+ICAgKi8KPiAgaW50IGFtZGdwdV9wYXNpZF9hbGxv Yyh1bnNpZ25lZCBpbnQgYml0cykKPiAgewo+IC0JaW50IHBhc2lkOwo+ICsJdTMyIHBhc2lkOwo+ ICsJaW50IHI7Cj4gIAo+ICAJaWYgKGJpdHMgPT0gMCkKPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAg Cj4gLQlzcGluX2xvY2soJmFtZGdwdV9wYXNpZF9pZHJfbG9jayk7Cj4gLQlwYXNpZCA9IGlkcl9h bGxvY19jeWNsaWMoJmFtZGdwdV9wYXNpZF9pZHIsIE5VTEwsIDEsCj4gLQkJCQkgMVUgPDwgYml0 cywgR0ZQX0tFUk5FTCk7Cj4gLQlzcGluX3VubG9jaygmYW1kZ3B1X3Bhc2lkX2lkcl9sb2NrKTsK PiArCXIgPSB4YV9hbGxvY19jeWNsaWMoJmFtZGdwdV9wYXNpZF94YSwgJnBhc2lkLCB4YV9ta192 YWx1ZSgwKSwKPiArCQkJICAgIFhBX0xJTUlUKDEsICgxVSA8PCBiaXRzKSAtIDEpLAo+ICsJCQkg ICAgJmFtZGdwdV9wYXNpZF94YV9uZXh0LCBHRlBfS0VSTkVMKTsKPiAgCj4gLQlpZiAocGFzaWQg Pj0gMCkKPiArCWlmIChyID49IDApIHsKCkkgd291bGQgdHVybiB0aGF0IGFyb3VuZCwgZS5nLiBp ZiAociA8IDApIHJldHVybiByOwoKQXBhcnQgZnJvbSB0aGF0IGxvb2tzIGdvb2QgdG8gbWUuCgpS ZWdhcmRzLApDaHJpc3RpYW4uCgo+ICAJCXRyYWNlX2FtZGdwdV9wYXNpZF9hbGxvY2F0ZWQocGFz aWQpOwo+ICsJCXJldHVybiBwYXNpZDsKPiArCX0KPiAgCj4gLQlyZXR1cm4gcGFzaWQ7Cj4gKwly ZXR1cm4gcjsKPiAgfQo+ICAKPiAgLyoqCj4gQEAgLTg2LDkgKzg3LDcgQEAgdm9pZCBhbWRncHVf cGFzaWRfZnJlZSh1MzIgcGFzaWQpCj4gIHsKPiAgCXRyYWNlX2FtZGdwdV9wYXNpZF9mcmVlZChw YXNpZCk7Cj4gIAo+IC0Jc3Bpbl9sb2NrKCZhbWRncHVfcGFzaWRfaWRyX2xvY2spOwo+IC0JaWRy X3JlbW92ZSgmYW1kZ3B1X3Bhc2lkX2lkciwgcGFzaWQpOwo+IC0Jc3Bpbl91bmxvY2soJmFtZGdw dV9wYXNpZF9pZHJfbG9jayk7Cj4gKwl4YV9lcmFzZSgmYW1kZ3B1X3Bhc2lkX3hhLCBwYXNpZCk7 Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGFtZGdwdV9wYXNpZF9mcmVlX2NiKHN0cnVjdCBkbWFf ZmVuY2UgKmZlbmNlLAo+IEBAIC02MjUsMTMgKzYyNCw5IEBAIHZvaWQgYW1kZ3B1X3ZtaWRfbWdy X2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gIH0KPiAgCj4gIC8qKgo+IC0gKiBh bWRncHVfcGFzaWRfbWdyX2NsZWFudXAgLSBjbGVhbnVwIFBBU0lEIG1hbmFnZXIKPiAtICoKPiAt ICogQ2xlYW51cCB0aGUgSURSIGFsbG9jYXRvci4KPiArICogYW1kZ3B1X3Bhc2lkX21ncl9jbGVh bnVwIC0gQ2xlYW51cCBQQVNJRCBtYW5hZ2VyCj4gICAqLwo+ICB2b2lkIGFtZGdwdV9wYXNpZF9t Z3JfY2xlYW51cCh2b2lkKQo+ICB7Cj4gLQlzcGluX2xvY2soJmFtZGdwdV9wYXNpZF9pZHJfbG9j ayk7Cj4gLQlpZHJfZGVzdHJveSgmYW1kZ3B1X3Bhc2lkX2lkcik7Cj4gLQlzcGluX3VubG9jaygm YW1kZ3B1X3Bhc2lkX2lkcl9sb2NrKTsKPiArCXhhX2Rlc3Ryb3koJmFtZGdwdV9wYXNpZF94YSk7 Cj4gIH0KCg==