From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3582460D6; Tue, 21 Jan 2025 18:37:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7E78A402C4; Tue, 21 Jan 2025 18:37:49 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id CCD324026C for ; Tue, 21 Jan 2025 18:37:47 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50LH9BeV000614 for ; Tue, 21 Jan 2025 09:37:47 -0800 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 44afqqg9wu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 21 Jan 2025 09:37:46 -0800 (PST) Received: from m0045851.ppops.net (m0045851.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 50LHXgbN014019 for ; Tue, 21 Jan 2025 09:37:46 -0800 Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 44afqqg9wt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Jan 2025 09:37:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kVELMRN02/7TczWhExyUWj7IRQuxc/OFPXcZ3+kllj8VYB7PIZJ3v5MM1T6py0j7lsz5Tbm2W4MnuOPG8WpMgRJyqKJ0AmZqDum6KZdROOfvhAe/tHYKYmPYNkopKlmVVBOza+16/v4KpTPGymQQibRDiUlh2AGvNftzI1pO+JJGgTaVj3iFZe9QmjNu1h5WD+qkgvv73a+vheqIZM71NF0w2u9kSbSRfJOURtxaPKdIRMN1AKfofC4RepSiI12CN9L3vWYhubeGHgm4Z2oU2QgqfyM1xTmE2VCIUolePOvIfKe3Ez2MIO4Zx86rTYou4AYlPhzjy1ixjpcYPn9YCQ== 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=D66VVdtYNo8gkEWBiPZoAv606ouHr0tu/RtEzXoJ8V4=; b=yDb3qSUU7zYuoLYzjX96fjRhLXrEszne/Gp19x+ai9b3RidQew8ec/PLO90w/ablgBIvBASJV2RjcFjlWPctOOrqlpqWXK3ZDxdCSBm23FDuO7k+gT2Gnk+xHVDxc9/NnxCBPmzrDvEkBph+JxC6ia87nxXfGuYUH+mu+qThjks81vWzBpzv8JKUyF8ukQ7MLa86fxxq+kAwAy9vce8YefHZcqww9/992FaPMAj2NQq6XGjGGXuEqYHSgysEwWi9+ou+v5gCaeEjCgOSNMOUy0qkqbiPgD85Mu/2gGPPbwDOJsCsSMTpHYU5Yz8rTeaofWsbforeuEDtuDhoRbrQXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D66VVdtYNo8gkEWBiPZoAv606ouHr0tu/RtEzXoJ8V4=; b=fyUPzOZy1XmNT2IUwdCw4707ZWr3h0iVcNupCljxAVHWIIAcN4jMNPsGfb8GVzl9LS6OQ18Sd37o0Qy6PjZYQw4igdb87ELVhQGosoj6ukLxPn7VW4rS6b/CgjNDR3Cx+RMn2XWu+xH68xUfqEuwwbaOAJvUwiQQhlwqeCZuSSs= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BY1PR18MB6112.namprd18.prod.outlook.com (2603:10b6:a03:4a6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.21; Tue, 21 Jan 2025 17:37:44 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d%7]) with mapi id 15.20.8377.009; Tue, 21 Jan 2025 17:37:43 +0000 From: Akhil Goyal To: Hanxiao Li , "dev@dpdk.org" Subject: RE: [EXTERNAL] [PATCH v24 05/13] common/zsda: add definition and use of msg chan. Thread-Topic: [EXTERNAL] [PATCH v24 05/13] common/zsda: add definition and use of msg chan. Thread-Index: AQHbZWTDLzwbTGWyBES5kpqLvk0IKbMhi0/g Date: Tue, 21 Jan 2025 17:37:43 +0000 Message-ID: References: <20250109104203.2404659-2-li.hanxiao@zte.com.cn> <20250113022943.2603401-1-li.hanxiao@zte.com.cn> <20250113022943.2603401-6-li.hanxiao@zte.com.cn> In-Reply-To: <20250113022943.2603401-6-li.hanxiao@zte.com.cn> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|BY1PR18MB6112:EE_ x-ms-office365-filtering-correlation-id: 6fdcb57d-841b-4a6f-9567-08dd3a424fd3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?K0V2TzcrK1NPc2NqVDdpaDdMckd0RkNEeGF3TnFSMTNGcjVnS3pBaWZ5NVRP?= =?utf-8?B?enMwaGtqdFlSZUpuZzc5RkU0c1N5UkVOV1d0Sk5vdUFvUm1KYjFibytqdkkw?= =?utf-8?B?aFhqak9YWlNVVWxBUkRyY3ZrSVViejlVMG5UdXIzK1VxbTlTMnl3eWVMbzdJ?= =?utf-8?B?bnlMQjRuOHRTVmdoeUtCckdhZzNaMklrcGNMK3MrZ3JpSUZVNUs3REpXVDVk?= =?utf-8?B?ZG5wK1NPc09TMHgyRlF1ZkU0Q0ZCUllkSm9vc0VDN3E1eE1mSEYwcTYxZ2Uv?= =?utf-8?B?ZnNYZnFnOXFFNXpYUkZuL09yeitPQWVDb3RqdEswMG9oUGxTQTl4cFM4ZE80?= =?utf-8?B?c21ocWFOaVhuN1ZWNTY3SmlEdVJLS1hEZmd3cnl0a3JnTVBSQnJkdXRyYVk3?= =?utf-8?B?N21ETGZmS2JWQVRaSzg0MFJ1UlB5bDlIWWFETUsvSTlKU3JCTFp0RVVCZnJ3?= =?utf-8?B?cEVCYW1mRWtPSmMxR0hoMVJrd3lnSzBueTRaVGNRNVBSOTVlNTZtbkU4MTBO?= =?utf-8?B?YzNPV3J6MnZhbGl0NTByajRlUWw4SVBUOHZ3Yk54aWZXZzB6WjNvZ1EydHhV?= =?utf-8?B?WmZNaUc2K2wrMkl2c2g2MmlZRkNua2lsWC9GSmtFZnhEbTdyUlpkNjY5Wktj?= =?utf-8?B?MnY3UlFwYklJK211amZ2N1V4aEtieTkyMFV5OW0zOUY2NWZmL05HT2hiUms0?= =?utf-8?B?L0tBRjR3cFd3bkJVZS8zN2ZWQ2laRk12cGZ0NDI5ejV3Uk50cnVMZjZWNFZC?= =?utf-8?B?YkRaNlhHaXlEYVFoQ29qUWxmWkUvNXp3MTNzeXVYVk50NExyZDNub2FsNVll?= =?utf-8?B?WlBNYzYxdElhTXlHZi9xK2hiUFozZnVXOVR1TXBFVVBvUGtUNUN3TkMvZ0pZ?= =?utf-8?B?MG5nNUU2aVlMRENSS2xUVTlVR3RrNm5DTitud1ZsZkhDVkJmc1VFWWNCUjI1?= =?utf-8?B?SDUvTUk2SlkwSGg4T0prK0IvaXdUOFFlb2xRRGx2T1Y2UzRLMTlJKzR2dm1Z?= =?utf-8?B?QW4zY010QVpwWGY1Y3NmUFlESWpiWE55dGhhY09MTmZpTldiMlRvL3B2L3A1?= =?utf-8?B?TVRLNVNOWmJKRTkyN1hyZGJrRThSamVKakxxaU1iOUpBNXYxZ1hWdDlVMW5r?= =?utf-8?B?MXVmMjZIM2JBc0dkS2wwV0xMV1Vma2MzWWZCc2RaeFV3aXZzTDExOEo1eDBR?= =?utf-8?B?NFYwbTNISEM5a25uSCtvWHZ6VDJZWHU0UHJjaEptdjd0Y1FzSENyejlvWmR5?= =?utf-8?B?L1BKZUNkQkNnK0srREhxYWFFT0FoV1dndlJERVE1bzR1RDRZQ0d3WFhub3BS?= =?utf-8?B?Q0pJeVgwcUdwMER3V3ZJYWV2WjBSNFBUdXN0bTFxYm5hZXhETVJIb0IvRkFI?= =?utf-8?B?eUs4MWxUT1IvQjNZVHR3bDN5ckVpREJnRGJEVEp2YWc2ekVXU1MyODJuSUFO?= =?utf-8?B?dmRmTFo3Qldjbm9rbENQWmJDMlkvU1JuUUhrQ1Erd0U4d1g2VTd2VkdzT1hz?= =?utf-8?B?cUwxY2dCZFd0YXZPQWhTd1RLSFZwN1A0c1FsU3J2R3NyOWI1NXpzVlhwbEwx?= =?utf-8?B?bTJPc0JNbXFrRGVvWE9xejQvNHJLbUR1cGh4dSsyRUZoTkVWblpZUG9xNEox?= =?utf-8?B?Uk9MYy81eXh2S3c1WUU2TVllSG9xbWRiSkY0VW9YN1VneG56TXRBZjFRL0NM?= =?utf-8?B?UENadHdrRk0yYk9UQWlWb2RibW1nbUoveHRpUjVFODI5b2FJbGo4MnFPbnBs?= =?utf-8?B?VGpVcFJwcDUzLzcrVHFjd09TbE5NT3FqYndiU0FZY2lXeVdPZjNJS1FSeDky?= =?utf-8?B?RndBVzVaZVg4c1lRb2U4NTU1aS81ZXhaS1NaelZkMml4TzllTmVwaUhqNmNY?= =?utf-8?B?UjlUVHB5U2xDSE9ONkJleG5kMGxqNXBXY0h0eGVUQkJRMGU2bGtrV1lLUjFM?= =?utf-8?Q?L1AEgPMV06CKzzOr1mNoQ+hyKoRYcOBZ?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SHByMkRRbXREZGZVWkZxTDdGV3dUemFjWFd5a1dIQ2czYTlmRWRMRGJmdlor?= =?utf-8?B?RUl0MHZrNWRBTFRpMVJzN0p3NHp2WFcvVmljZHZFekw2NHR1alVRUThJTnIy?= =?utf-8?B?cE5ESC8xdHUyOVdQUDZmcHlBY1dybEpzaXRYVXR2djBzaFl5ajJ1VlEwaEUy?= =?utf-8?B?KzkxNVZHTUdJN1c3S1FoRXlhSzVLbHVpVTB6aTJSa2dUK0VndlJtVWdPZ0cz?= =?utf-8?B?azA2L1Z6RDA3aUNPNHh1OTQxTTlRcDFLTjhYalJ0UlJvLytWcHdMVzNaR3pj?= =?utf-8?B?aHhZS1BORDRrc0J5MWtOc3l6dy9jeXhBb3o4VmsvWHFlSGFqaWdYTFFCK0Fm?= =?utf-8?B?TDUyeTh2MCszUXFhU0NiM2pWd3k3YkVpSStVVTRKUkx4V1BseTM2Lzc0NXVI?= =?utf-8?B?WVNJOFhYdzFiVy9nTUpRS1BiSUFPQ1Y1b25PMW9KSEhtR3oxa21idWxPTFVO?= =?utf-8?B?L0JtR0dGZU9VQVd3VnV4RmdCUDByVGdCVFhHY0dKaVc2YUhqK3IxVVppUHFv?= =?utf-8?B?UmNwUThJaWo1S2JVeU5oVlJCU0dmczFYcFBrQ1Q3ZmZiNkJjcVZiUE1QbVRu?= =?utf-8?B?Y0pTeCtia0N2K2lxMExDei8zOTVVVDB5ajE4dFpvOEtocjIwbTZNOGlmQlJs?= =?utf-8?B?Zm9hY0UzZGFlUXVXaldzZU4rV3BTV3lGaFl6YUM4dkg1MngxdjdDbWw4TGkx?= =?utf-8?B?SDAvTzJ5V1MrZDkxZ3M1anFpUW9aQktJbjNJWEFueWJ6WmltWlB5dW5iTml0?= =?utf-8?B?WWJCMHpwM3Z2d21WL3Z5a2MyU2FIVUlhYlF6Y0FlM0RyVEF6Q2hQU1QxRWM0?= =?utf-8?B?NSsxREYydVYxM3J3MTF5T0pzeHZDY0R2SHlURGdIYzZUWC81Q2M2amN5eGFS?= =?utf-8?B?ZUp1TGVtaVRncGlPNDBva2NjZXN4NnUvc2J4REd6Y0JlWkZhd3NyZVZPOW9m?= =?utf-8?B?S2JaR3lEKyt2TkcwYndIRXVrUDBDR25TQ2NDR3RzdTc0Y1FaKzdRZ3lDOXhi?= =?utf-8?B?SjZZYmVremhMbTlPZHZLVGJNVmdvMEorRURNdWFQUWhPczdjcGxwQUJUWFlt?= =?utf-8?B?RVNVVzlwYWV3TEVnK0FIQkZ3K1Bpai9yNGs5cTFvVlRTM1B3V1pEckZ0OE5o?= =?utf-8?B?b3ZrMFYxb2tzMTNMWkdiNUpPVmJOd3pSSHNweklZRSs2bTRhN21vZmR0ZlRt?= =?utf-8?B?Y2hmTHF1L0NvN0pkWjlQdjBFYUZiS3Y2bkkyTGZvSi9GaXl1a2JrSmU5dnQ1?= =?utf-8?B?ejVQOVNBWlBrL0MvQkFSTTNpeTJaYUY1S3Uwa3FhdlNHUzg1OVpFcFAzeXdr?= =?utf-8?B?M3BiTHBXK1RqUTFlK3RJU2hqRXBnNytzc3RPWUxFenpQcmtOZkNjamluY3Jk?= =?utf-8?B?QWVFWDdQdHA0eWo4aCtDR1NmdnpQdWpIZ3Nqdkh5NW9PbjY0eVNHWDFubXNC?= =?utf-8?B?ak90S201SnpWWlJVNDdJeHpmNkFONFBFb3I4RDVTYS94YmlKMzNXVW9yNE9x?= =?utf-8?B?d2grSWF2aTgwbUZaai9YdHJBRW5QSU5RT2Vlc2pvak9LVWc5WXVma0RSa3Ji?= =?utf-8?B?L3VlZUwrR2NuazJyZ1JJWFB2OHR1eHJnRElaT0tYWmlacCsvUVV3Z1gxczdD?= =?utf-8?B?TEJaT203dUZPQ2VYZXBlRE5uenpTVWE1SlR6WW50VXJhMDBjQUFzY2tBK05D?= =?utf-8?B?bVpjZGF6ZWM5MUVwTEtHb1RXVVNpNW5vbVJvWmZkeHR2OGpzcUVpMjlqWmFz?= =?utf-8?B?Tk5xUU5zQTZQQTFha3hLZ2dyU2NMb1pJREFNUFpkaTFvQk5ZRElTQzFoUmlF?= =?utf-8?B?NWM5Q2pldW5ZdzB0L04vT3lGTUovR0RwNDJHM2tlOERXNWo5RGpuZFlkQzNI?= =?utf-8?B?Q1ZUVHJlR1NuY05lWnFHTFN0blFYV0RxQ0VFVksyWkJteXdFbUJFVGp2azFx?= =?utf-8?B?S3Q5dTNGUlZGNUM5M2RaYTNvVjNkc0ZudUdTelZLdTgzS3puNERUK1FUUEV6?= =?utf-8?B?WmdJZzBqT0lQK3JHZEhZZUNtMjFMTStBcHhzWVAyRngxYlp2S0NsTUtXWmRD?= =?utf-8?B?TjNzbVlYYkJUT0pma0Z1KzBHVzU5U0t2NHhLK1A0ZzFlRG5xNW1GZW5aWW15?= =?utf-8?Q?n3A8=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fdcb57d-841b-4a6f-9567-08dd3a424fd3 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2025 17:37:43.7452 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: w5kyQ8rr6hPXM8jZQZ0Xiq52mWrXkpARywHyddykKA3v1QcW6agmkWf61JHtua9diQ/hSP+U6IdScfbJfOrDxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB6112 X-Proofpoint-GUID: dOnmrxH8RI0qGcpdJXXuSGQMPdxo8yW3 X-Proofpoint-ORIG-GUID: 6LAL1GL8aCFokgCTWgAafPtSUJ7pnBvQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-21_07,2025-01-21_03,2024-11-22_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBBZGQgbXNnIGNoYW4gZnVuY3Rpb25zIGFuZCB0aGUgdXNlIHRvIGdldA0KPiBoYXJkd2FyZSBp bmZvcm1hdGlvbiBvciBvcGVyYXRlIGhhcmR3YXJlLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSGFu eGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KDQpQbGVhc2UgcmViYXNlIGFuZCBmaXgN CiAgIDY1IHwgfSBfX3J0ZV9wYWNrZWQ7DQogICAgICB8ICAgXn5+fn5+fn5+fn5+DQpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmg6OCwNCiAgICAg ICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYzo1Og0KLi4v ZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oOjcxOjEzOiBlcnJvcjogIl9fcnRl X3BhY2tlZCIgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcl0NCiAgIDcxIHwgfSBfX3J0ZV9wYWNrZWQ7 DQogICAgICB8ICAgICAgICAgICAgIF5+fg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9s b2cvcnRlX2xvZy5oOjIyLA0KICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfZGVidWcuaDoxNywNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9w Y2kvcnRlX2J1c19wY2kuaDoyMiwNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2Nv bW1vbi96c2RhL3pzZGFfcXBfY29tbW9uLmg6OCwNCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9k cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaDo4LA0KICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jOjU6DQouLi9saWIvZWFsL2luY2x1ZGUvcnRl X2NvbW1vbi5oOjExMjo3OTogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBi ZWZvcmUg4oCYKeKAmSB0b2tlbg0KICAxMTIgfCAjZGVmaW5lIF9fcnRlX3BhY2tlZCAoUlRFX0RF UFJFQ0FURUQoX19ydGVfcGFja2VkKSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkpDQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4NCi4uL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9x cF9jb21tb24uaDo3MTozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYX19ydGVfcGFj a2Vk4oCZDQogICA3MSB8IH0gX19ydGVfcGFja2VkOw0KICAgICAgfCAgIF5+fn5+fn5+fn5+fg0K DQoNCj4gLS0tDQo+ICBkcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYyAgICAgICAgfCAzMDcg KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICBkcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFf cXAuaCAgICAgICAgfCAgNDggKysrKysNCj4gIGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcF9j b21tb24uaCB8ICAzNyArKysrDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDM5MiBpbnNlcnRpb25zKCsp DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmMgYi9kcml2 ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBpbmRleCBiYzQ4OWY2Mjk2Li42YzE4NzU3NDZk IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiArKysgYi9k cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBAQCAtNCw4ICs0LDUwIEBADQo+IA0KPiAg I2luY2x1ZGUgInpzZGFfcXAuaCINCj4gDQo+ICsjZGVmaW5lIE1BR0lDX1NFTkQgMHhhYg0KPiAr I2RlZmluZSBNQUdJQ19SRUNWIDB4Y2QNCj4gKyNkZWZpbmUgQURNSU5fVkVSIDENCj4gKw0KPiAg c3RhdGljIHVpbnQ4X3QgenNkYV9udW1fdXNlZF9xcHM7DQo+IA0KPiArc3RhdGljIHN0cnVjdCBy aW5nX3NpemUgenNkYV9xcF9od19yaW5nX3NpemVbWlNEQV9NQVhfU0VSVklDRVNdID0gew0KPiAr fTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHVpbnQ4X3QgY3JjOF90YWJsZVsyNTZdID0gew0KPiAr ICAgIDB4MDAsIDB4NDEsIDB4MTMsIDB4NTIsIDB4MjYsIDB4NjcsIDB4MzUsIDB4NzQsIDB4NGMs IDB4MGQsIDB4NWYsIDB4MWUsDQo+ICsgICAgMHg2YSwgMHgyYiwgMHg3OSwgMHgzOCwgMHgwOSwg MHg0OCwgMHgxYSwgMHg1YiwgMHgyZiwgMHg2ZSwgMHgzYywgMHg3ZCwNCj4gKyAgICAweDQ1LCAw eDA0LCAweDU2LCAweDE3LCAweDYzLCAweDIyLCAweDcwLCAweDMxLCAweDEyLCAweDUzLCAweDAx LCAweDQwLA0KPiArICAgIDB4MzQsIDB4NzUsIDB4MjcsIDB4NjYsIDB4NWUsIDB4MWYsIDB4NGQs IDB4MGMsIDB4NzgsIDB4MzksIDB4NmIsIDB4MmEsDQo+ICsgICAgMHgxYiwgMHg1YSwgMHgwOCwg MHg0OSwgMHgzZCwgMHg3YywgMHgyZSwgMHg2ZiwgMHg1NywgMHgxNiwgMHg0NCwgMHgwNSwNCj4g KyAgICAweDcxLCAweDMwLCAweDYyLCAweDIzLCAweDI0LCAweDY1LCAweDM3LCAweDc2LCAweDAy LCAweDQzLCAweDExLCAweDUwLA0KPiArICAgIDB4NjgsIDB4MjksIDB4N2IsIDB4M2EsIDB4NGUs IDB4MGYsIDB4NWQsIDB4MWMsIDB4MmQsIDB4NmMsIDB4M2UsIDB4N2YsDQo+ICsgICAgMHgwYiwg MHg0YSwgMHgxOCwgMHg1OSwgMHg2MSwgMHgyMCwgMHg3MiwgMHgzMywgMHg0NywgMHgwNiwgMHg1 NCwgMHgxNSwNCj4gKyAgICAweDM2LCAweDc3LCAweDI1LCAweDY0LCAweDEwLCAweDUxLCAweDAz LCAweDQyLCAweDdhLCAweDNiLCAweDY5LCAweDI4LA0KPiArICAgIDB4NWMsIDB4MWQsIDB4NGYs IDB4MGUsIDB4M2YsIDB4N2UsIDB4MmMsIDB4NmQsIDB4MTksIDB4NTgsIDB4MGEsIDB4NGIsDQo+ ICsgICAgMHg3MywgMHgzMiwgMHg2MCwgMHgyMSwgMHg1NSwgMHgxNCwgMHg0NiwgMHgwNywgMHg0 OCwgMHgwOSwgMHg1YiwgMHgxYSwNCj4gKyAgICAweDZlLCAweDJmLCAweDdkLCAweDNjLCAweDA0 LCAweDQ1LCAweDE3LCAweDU2LCAweDIyLCAweDYzLCAweDMxLCAweDcwLA0KPiArICAgIDB4NDEs IDB4MDAsIDB4NTIsIDB4MTMsIDB4NjcsIDB4MjYsIDB4NzQsIDB4MzUsIDB4MGQsIDB4NGMsIDB4 MWUsIDB4NWYsDQo+ICsgICAgMHgyYiwgMHg2YSwgMHgzOCwgMHg3OSwgMHg1YSwgMHgxYiwgMHg0 OSwgMHgwOCwgMHg3YywgMHgzZCwgMHg2ZiwgMHgyZSwNCj4gKyAgICAweDE2LCAweDU3LCAweDA1 LCAweDQ0LCAweDMwLCAweDcxLCAweDIzLCAweDYyLCAweDUzLCAweDEyLCAweDQwLCAweDAxLA0K PiArICAgIDB4NzUsIDB4MzQsIDB4NjYsIDB4MjcsIDB4MWYsIDB4NWUsIDB4MGMsIDB4NGQsIDB4 MzksIDB4NzgsIDB4MmEsIDB4NmIsDQo+ICsgICAgMHg2YywgMHgyZCwgMHg3ZiwgMHgzZSwgMHg0 YSwgMHgwYiwgMHg1OSwgMHgxOCwgMHgyMCwgMHg2MSwgMHgzMywgMHg3MiwNCj4gKyAgICAweDA2 LCAweDQ3LCAweDE1LCAweDU0LCAweDY1LCAweDI0LCAweDc2LCAweDM3LCAweDQzLCAweDAyLCAw eDUwLCAweDExLA0KPiArICAgIDB4MjksIDB4NjgsIDB4M2EsIDB4N2IsIDB4MGYsIDB4NGUsIDB4 MWMsIDB4NWQsIDB4N2UsIDB4M2YsIDB4NmQsIDB4MmMsDQo+ICsgICAgMHg1OCwgMHgxOSwgMHg0 YiwgMHgwYSwgMHgzMiwgMHg3MywgMHgyMSwgMHg2MCwgMHgxNCwgMHg1NSwgMHgwNywgMHg0NiwN Cj4gKyAgICAweDc3LCAweDM2LCAweDY0LCAweDI1LCAweDUxLCAweDEwLCAweDQyLCAweDAzLCAw eDNiLCAweDdhLCAweDI4LCAweDY5LA0KPiArICAgIDB4MWQsIDB4NWMsIDB4MGUsIDB4NGZ9Ow0K PiArDQo+ICtzdGF0aWMgdWludDhfdA0KPiArenNkYV9jcmM4KGNvbnN0IHVpbnQ4X3QgKm1lc3Nh Z2UsIGNvbnN0IGludCBsZW5ndGgpDQo+ICt7DQo+ICsgICAgdWludDhfdCBjcmMgPSAwOw0KPiAr ICAgIGludCBpOw0KPiArDQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKQ0KPiAr ICAgICAgICBjcmMgPSBjcmM4X3RhYmxlW2NyYyBeIG1lc3NhZ2VbaV1dOw0KPiArICAgIHJldHVy biBjcmM7DQo+ICt9DQo+ICsNCj4gIHN0YXRpYyB1aW50OF90DQo+ICB6c2RhX3VzZWRfcXBzX251 bV9nZXQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0KPiAgew0KPiBAQCAt MTY0LDYgKzIwNiwyNTggQEAgenNkYV9xdWV1ZV9jbGVhcihjb25zdCBzdHJ1Y3QgcnRlX3BjaV9k ZXZpY2UNCj4gKnBjaV9kZXYpDQo+ICAgICAgcmV0dXJuIHJldDsNCj4gIH0NCj4gDQo+ICtzdGF0 aWMgdWludDMyX3QNCj4gK3pzZGFfcmVnXzhfc2V0KHZvaWQgKmFkZHIsIGNvbnN0IHVpbnQ4X3Qg dmFsMCwgY29uc3QgdWludDhfdCB2YWwxLA0KPiArICAgICAgY29uc3QgdWludDhfdCB2YWwyLCBj b25zdCB1aW50OF90IHZhbDMpDQo+ICt7DQo+ICsgICAgdWludDhfdCB2YWxbNF07DQo+ICsNCj4g KyAgICB2YWxbMF0gPSB2YWwwOw0KPiArICAgIHZhbFsxXSA9IHZhbDE7DQo+ICsgICAgdmFsWzJd ID0gdmFsMjsNCj4gKyAgICB2YWxbM10gPSB2YWwzOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFMzIo YWRkciwgKih1aW50MzJfdCAqKXZhbCk7DQo+ICsgICAgcmV0dXJuICoodWludDMyX3QgKil2YWw7 DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB1aW50OF90DQo+ICt6c2RhX3JlZ184X2dldCh2b2lkICph ZGRyLCBjb25zdCBpbnQgb2Zmc2V0KQ0KPiArew0KPiArICAgIHVpbnQzMl90IHZhbCA9IFpTREFf Q1NSX1JFQUQzMihhZGRyKTsNCj4gKw0KPiArICAgIHJldHVybiAqKCgodWludDhfdCAqKSZ2YWwp ICsgb2Zmc2V0KTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiArenNk YV9tb2R1bG9fMzIodWludDMyX3QgZGF0YSwgdWludDMyX3QgbW9kdWxvX21hc2spDQo+ICt7DQo+ ICsgICAgcmV0dXJuIChkYXRhKSAmIChtb2R1bG9fbWFzayk7DQo+ICt9DQo+ICtzdGF0aWMgaW5s aW5lIHVpbnQxNl90DQo+ICt6c2RhX21vZHVsb18xNih1aW50MTZfdCBkYXRhLCB1aW50MTZfdCBt b2R1bG9fbWFzaykNCj4gK3sNCj4gKyAgICByZXR1cm4gKGRhdGEpICYgKG1vZHVsb19tYXNrKTsN Cj4gK30NCj4gK3N0YXRpYyBpbmxpbmUgdWludDhfdA0KPiArenNkYV9tb2R1bG9fOCh1aW50OF90 IGRhdGEsIHVpbnQ4X3QgbW9kdWxvX21hc2spDQo+ICt7DQo+ICsgICAgcmV0dXJuIChkYXRhKSAm IChtb2R1bG9fbWFzayk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3pzZGFfYWRtaW5f bXNnX3NlbmQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LCB2b2lkICpyZXEs DQo+ICsgICAgICAgICAgICBjb25zdCB1aW50MzJfdCBsZW4pDQo+ICt7DQo+ICsgICAgdWludDhf dCAqbW1pb19iYXNlID0gcGNpX2Rldi0+bWVtX3Jlc291cmNlWzBdLmFkZHI7DQo+ICsgICAgdWlu dDhfdCB3cV9mbGFnOw0KPiArICAgIHVpbnQ4X3QgY3JjOw0KPiArICAgIHVpbnQxNl90IGFkbWlu X2RiOw0KPiArICAgIHVpbnQzMl90IHJldHJ5ID0gWlNEQV9USU1FX05VTTsNCj4gKyAgICBpbnQg aTsNCj4gKyAgICB1aW50MTZfdCBkYjsNCj4gKyAgICBpbnQgcmVwZWF0ID0gc2l6ZW9mKHN0cnVj dCB6c2RhX2FkbWluX3JlcSkgLyBzaXplb2YodWludDMyX3QpOw0KPiArDQo+ICsgICAgaWYgKGxl biA+IEFETUlOX0JVRl9EQVRBX0xFTikNCj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsN Cj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspIHsNCj4gKyAgICAgICAgWlNEQV9D U1JfV1JJVEUzMigoKHVpbnQzMl90ICopKG1taW9fYmFzZSArIFpTREFfQURNSU5fV1EpICsgaSks DQo+ICsgICAgICAgICAgICAgICAgICooKHVpbnQzMl90ICopcmVxICsgaSkpOw0KPiArICAgIH0N Cj4gKw0KPiArICAgIGNyYyA9IHpzZGFfY3JjOCgodWludDhfdCAqKXJlcSwgQURNSU5fQlVGX0RB VEFfTEVOKTsNCj4gKyAgICB6c2RhX3JlZ184X3NldChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dR X0JBU0U3LCBjcmMsIEFETUlOX1ZFUiwNCj4gTUFHSUNfU0VORCwgMCk7DQo+ICsgICAgcnRlX2Rl bGF5X3VzX3NsZWVwKFpTREFfVElNRV9TTEVFUF9VUyk7DQo+ICsgICAgcnRlX3dtYigpOw0KPiAr DQo+ICsgICAgYWRtaW5fZGIgPSBaU0RBX0NTUl9SRUFEMzIobW1pb19iYXNlICsgWlNEQV9BRE1J Tl9XUV9UQUlMKTsNCj4gKyAgICBkYiA9IHpzZGFfbW9kdWxvXzMyKGFkbWluX2RiLCAweDFmZik7 DQo+ICsgICAgWlNEQV9DU1JfV1JJVEUzMihtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dRX1RBSUws IGRiKTsNCj4gKw0KPiArICAgIGRvIHsNCj4gKyAgICAgICAgcnRlX2RlbGF5X3VzX3NsZWVwKFpT REFfVElNRV9TTEVFUF9VUyk7DQo+ICsgICAgICAgIHdxX2ZsYWcgPSB6c2RhX3JlZ184X2dldCht bWlvX2Jhc2UgKyBaU0RBX0FETUlOX1dRX0JBU0U3LCAyKTsNCj4gKyAgICAgICAgaWYgKHdxX2Zs YWcgPT0gTUFHSUNfUkVDVikNCj4gKyAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAg IHJldHJ5LS07DQo+ICsgICAgICAgIGlmICghcmV0cnkpIHsNCj4gKyAgICAgICAgICAgIFpTREFf TE9HKEVSUiwgIndxX2ZsYWcgMHglWCIsIHdxX2ZsYWcpOw0KPiArICAgICAgICAgICAgenNkYV9y ZWdfOF9zZXQobW1pb19iYXNlICsgWlNEQV9BRE1JTl9XUV9CQVNFNywgMCwgY3JjLA0KPiArICAg ICAgICAgICAgICAgICAgQURNSU5fVkVSLCAwKTsNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlP Ow0KPiArICAgICAgICB9DQo+ICsgICAgfSB3aGlsZSAoMSk7DQo+ICsNCj4gKyAgICByZXR1cm4g WlNEQV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt6c2RhX2FkbWluX21z Z19yZWN2KGNvbnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldiwgdm9pZCAqcmVzcCwN Cj4gKyAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKyAgICB1aW50OF90 ICptbWlvX2Jhc2UgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCj4gKyAgICB1aW50 OF90IGNxX2ZsYWc7DQo+ICsgICAgdWludDMyX3QgcmV0cnkgPSBaU0RBX1RJTUVfTlVNOw0KPiAr ICAgIHVpbnQ4X3QgY3JjOw0KPiArICAgIHVpbnQ4X3QgYnVmW0FETUlOX0JVRl9UT1RBTF9MRU5d ID0gezB9Ow0KPiArICAgIHVpbnQzMl90IGk7DQo+ICsNCj4gKyAgICBpZiAobGVuID4gQURNSU5f QlVGX0RBVEFfTEVOKQ0KPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArICAgIGRv IHsNCj4gKyAgICAgICAgcnRlX2RlbGF5X3VzX3NsZWVwKFpTREFfVElNRV9TTEVFUF9VUyk7DQo+ ICsNCj4gKyAgICAgICAgY3FfZmxhZyA9IHpzZGFfcmVnXzhfZ2V0KG1taW9fYmFzZSArIFpTREFf QURNSU5fQ1FfQkFTRTcsIDIpOw0KPiArICAgICAgICBpZiAoY3FfZmxhZyA9PSBNQUdJQ19TRU5E KQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgICAgcmV0cnktLTsNCj4gKyAg ICAgICAgaWYgKCFyZXRyeSkNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlPOw0KPiArICAgIH0g d2hpbGUgKDEpOw0KPiArDQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQ0KPiArICAg ICAgICBidWZbaV0gPSBaU0RBX0NTUl9SRUFEOChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NRICsg aSk7DQo+ICsNCj4gKyAgICBjcmMgPSBaU0RBX0NTUl9SRUFEOChtbWlvX2Jhc2UgKyBaU0RBX0FE TUlOX0NRX0NSQyk7DQo+ICsgICAgcnRlX3JtYigpOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFOCht bWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NRX0ZMQUcsIE1BR0lDX1JFQ1YpOw0KPiArICAgIGlmIChj cmMgIT0genNkYV9jcmM4KGJ1ZiwgQURNSU5fQlVGX0RBVEFfTEVOKSkgew0KPiArICAgICAgICBa U0RBX0xPRyhFUlIsICJbJWRdIEZhaWxlZCEgY3JjIGVycm9yISIsIF9fTElORV9fKTsNCj4gKyAg ICAgICAgcmV0dXJuIC1FSU87DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgbWVtY3B5KHJlc3AsIGJ1 ZiwgbGVuKTsNCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4g K3N0YXRpYyBpbnQNCj4gK3pzZGFfYWRtaW5fbXNnX2luaXQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lf ZGV2aWNlICpwY2lfZGV2KQ0KPiArew0KPiArICAgIHVpbnQ4X3QgKm1taW9fYmFzZSA9IHBjaV9k ZXYtPm1lbV9yZXNvdXJjZVswXS5hZGRyOw0KPiArDQo+ICsgICAgenNkYV9yZWdfOF9zZXQobW1p b19iYXNlICsgWlNEQV9BRE1JTl9XUV9CQVNFNywgMCwgMCwgTUFHSUNfUkVDViwNCj4gMCk7DQo+ ICsgICAgenNkYV9yZWdfOF9zZXQobW1pb19iYXNlICsgWlNEQV9BRE1JTl9DUV9CQVNFNywgMCwg MCwgTUFHSUNfUkVDViwNCj4gMCk7DQo+ICsgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0 YXRpYyB2b2lkDQo+ICt6c2RhX3F1ZXVlX2hlYWRfdGFpbF9zZXQoY29uc3Qgc3RydWN0IHpzZGFf cGNpX2RldmljZSAqenNkYV9wY2lfZGV2LA0KPiArICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg cWlkKQ0KPiArew0KPiArICAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9DQo+ICsg ICAgICAgIHpzZGFfZGV2c1t6c2RhX3BjaV9kZXYtPnpzZGFfZGV2X2lkXS5wY2lfZGV2Ow0KPiAr ICAgIHVpbnQ4X3QgKm1taW9fYmFzZSA9IHBjaV9kZXYtPm1lbV9yZXNvdXJjZVswXS5hZGRyOw0K PiArDQo+ICsgICAgWlNEQV9DU1JfV1JJVEUzMihtbWlvX2Jhc2UgKyBJT19EQl9JTklUSUFMX0NP TkZJRyArIChxaWQgKiA0KSwNCj4gKyAgICAgICAgICAgICBTRVRfSEVBRF9JTlRJKTsNCj4gK30N Cj4gKw0KPiArc3RhdGljIGludA0KPiArenNkYV9xdWV1ZV9jZmdfYnlfaWRfZ2V0KGNvbnN0IHN0 cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldiwNCj4gKyAgICAgICAgICAgICBjb25z dCB1aW50OF90IHFpZCwgc3RydWN0IHFpbmZvICpxY2ZnKQ0KPiArew0KPiArICAgIHN0cnVjdCB6 c2RhX2FkbWluX3JlcV9xY2ZnIHJlcSA9IHswfTsNCj4gKyAgICBzdHJ1Y3QgenNkYV9hZG1pbl9y ZXNwX3FjZmcgcmVzcCA9IHswfTsNCj4gKyAgICBpbnQgcmV0Ow0KPiArICAgIHN0cnVjdCBydGVf cGNpX2RldmljZSAqcGNpX2RldiA9DQo+ICsgICAgICAgIHpzZGFfZGV2c1t6c2RhX3BjaV9kZXYt PnpzZGFfZGV2X2lkXS5wY2lfZGV2Ow0KPiArDQo+ICsgICAgaWYgKHFpZCA+PSBNQVhfUVBTX09O X0ZVTkNUSU9OKSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgInFpZCBiZXlvbmQgbGltaXQh Iik7DQo+ICsgICAgICAgIHJldHVybiBaU0RBX0ZBSUxFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICB6c2RhX2FkbWluX21zZ19pbml0KHBjaV9kZXYpOw0KPiArICAgIHJlcS5tc2dfdHlwZSA9IFpT REFfQURNSU5fUVVFVUVfQ0ZHX1JFUTsNCj4gKyAgICByZXEucWlkID0gcWlkOw0KPiArDQo+ICsg ICAgcmV0ID0genNkYV9hZG1pbl9tc2dfc2VuZChwY2lfZGV2LCAmcmVxLCBzaXplb2YocmVxKSk7 DQo+ICsgICAgaWYgKHJldCkgew0KPiArICAgICAgICBaU0RBX0xPRyhFUlIsICJGYWlsZWQhIFNl bmQgbXNnIik7DQo+ICsgICAgICAgIHJldHVybiByZXQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg cmV0ID0genNkYV9hZG1pbl9tc2dfcmVjdihwY2lfZGV2LCAmcmVzcCwgc2l6ZW9mKHJlc3ApKTsN Cj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgIkZhaWxlZCEgUmVj ZWl2ZSBtc2ciKTsNCj4gKyAgICAgICAgcmV0dXJuIHJldDsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICAqcWNmZyA9IHJlc3AucWNmZzsNCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK3pzZGFfcXVldWVfY2ZnX2dldChzdHJ1Y3QgenNk YV9wY2lfZGV2aWNlICp6c2RhX3BjaV9kZXYpDQo+ICt7DQo+ICsgICAgdWludDhfdCBpOw0KPiAr ICAgIHVpbnQzMl90IGluZGV4Ow0KPiArICAgIGVudW0genNkYV9zZXJ2aWNlX3R5cGUgdHlwZTsN Cj4gKyAgICBzdHJ1Y3QgenNkYV9xcF9odyAqenNkYV9od19xcHMgPSB6c2RhX3BjaV9kZXYtPnpz ZGFfaHdfcXBzOw0KPiArICAgIHN0cnVjdCBxaW5mbyBxY2ZnID0gezB9Ow0KPiArICAgIGludCBy ZXQgPSBaU0RBX0ZBSUxFRDsNCj4gKw0KPiArICAgIGZvciAoaSA9IDA7IGkgPCB6c2RhX251bV91 c2VkX3FwczsgaSsrKSB7DQo+ICsgICAgICAgIHpzZGFfcXVldWVfaGVhZF90YWlsX3NldCh6c2Rh X3BjaV9kZXYsIGkpOw0KPiArICAgICAgICByZXQgPSB6c2RhX3F1ZXVlX2NmZ19ieV9pZF9nZXQo enNkYV9wY2lfZGV2LCBpLCAmcWNmZyk7DQo+ICsgICAgICAgIHR5cGUgPSBxY2ZnLnFfdHlwZTsN Cj4gKyAgICAgICAgaWYgKHJldCkgew0KPiArICAgICAgICAgICAgWlNEQV9MT0coRVJSLCAiZ2V0 IHF1ZXVlIGNmZyEiKTsNCj4gKyAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ICsgICAgICAgIH0N Cj4gKyAgICAgICAgaWYgKHR5cGUgPj0gWlNEQV9TRVJWSUNFX0lOVkFMSUQpDQo+ICsgICAgICAg ICAgICBjb250aW51ZTsNCj4gKw0KPiArICAgICAgICBpbmRleCA9IHpzZGFfcGNpX2Rldi0+enNk YV9xcF9od19udW1bdHlwZV07DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k ZXhdLnVzZWQgPSB0cnVlOw0KPiArICAgICAgICB6c2RhX2h3X3Fwc1t0eXBlXS5kYXRhW2luZGV4 XS50eF9yaW5nX251bSA9IGk7DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k ZXhdLnJ4X3JpbmdfbnVtID0gaTsNCj4gKyAgICAgICAgenNkYV9od19xcHNbdHlwZV0uZGF0YVtp bmRleF0udHhfbXNnX3NpemUgPQ0KPiArICAgICAgICAgICAgenNkYV9xcF9od19yaW5nX3NpemVb dHlwZV0udHhfbXNnX3NpemU7DQo+ICsgICAgICAgIHpzZGFfaHdfcXBzW3R5cGVdLmRhdGFbaW5k ZXhdLnJ4X21zZ19zaXplID0NCj4gKyAgICAgICAgICAgIHpzZGFfcXBfaHdfcmluZ19zaXplW3R5 cGVdLnJ4X21zZ19zaXplOw0KPiArDQo+ICsgICAgICAgIHpzZGFfcGNpX2Rldi0+enNkYV9xcF9o d19udW1bdHlwZV0rKzsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICByZXR1cm4gcmV0Ow0KPiArfQ0K PiArDQo+ICtzdGF0aWMgaW50DQo+ICt6c2RhX2Zscl91bm1hc2tfc2V0KGNvbnN0IHN0cnVjdCB6 c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldikNCj4gK3sNCj4gKyAgICBzdHJ1Y3QgenNkYV9h ZG1pbl9yZXFfcWNmZyByZXEgPSB7MH07DQo+ICsgICAgc3RydWN0IHpzZGFfYWRtaW5fcmVzcF9x Y2ZnIHJlc3AgPSB7MH07DQo+ICsNCj4gKyAgICBpbnQgcmV0ID0gMDsNCj4gKyAgICBzdHJ1Y3Qg cnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPQ0KPiArICAgICAgICB6c2RhX2RldnNbenNkYV9wY2lf ZGV2LT56c2RhX2Rldl9pZF0ucGNpX2RldjsNCj4gKw0KPiArICAgIHpzZGFfYWRtaW5fbXNnX2lu aXQocGNpX2Rldik7DQo+ICsNCj4gKyAgICByZXEubXNnX3R5cGUgPSBaU0RBX0ZMUl9TRVRfRlVO Q1RJT047DQo+ICsNCj4gKyAgICByZXQgPSB6c2RhX2FkbWluX21zZ19zZW5kKHBjaV9kZXYsICZy ZXEsIHNpemVvZihyZXEpKTsNCj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9H KEVSUiwgIkZhaWxlZCEgU2VuZCBtc2ciKTsNCj4gKyAgICAgICAgcmV0dXJuIHJldDsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICByZXQgPSB6c2RhX2FkbWluX21zZ19yZWN2KHBjaV9kZXYsICZyZXNw LCBzaXplb2YocmVzcCkpOw0KPiArICAgIGlmIChyZXQpIHsNCj4gKyAgICAgICAgWlNEQV9MT0co RVJSLCAiRmFpbGVkISBSZWNlaXZlIG1zZyIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiAr ICAgIH0NCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0K PiAgaW50DQo+ICB6c2RhX3F1ZXVlX2luaXQoc3RydWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9w Y2lfZGV2KQ0KPiAgew0KPiBAQCAtMTgzLDUgKzQ3NywxOCBAQCB6c2RhX3F1ZXVlX2luaXQoc3Ry dWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9wY2lfZGV2KQ0KPiAgICAgICAgICBaU0RBX0xPRyhF UlIsICJGYWlsZWQhIHVzZWQgenNkYV9pbyBxIGNsZWFyIik7DQo+ICAgICAgICAgIHJldHVybiBy ZXQ7DQo+ICAgICAgfQ0KPiArDQo+ICsgICAgcmV0ID0genNkYV9xdWV1ZV9jZmdfZ2V0KHpzZGFf cGNpX2Rldik7DQo+ICsgICAgaWYgKHJldCkgew0KPiArICAgICAgICBaU0RBX0xPRyhFUlIsICJG YWlsZWQhIHpzZGFfcXVldWVfY2ZnX2dldCIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiAr ICAgIH0NCj4gKw0KPiArICAgIHJldCA9IHpzZGFfZmxyX3VubWFza19zZXQoenNkYV9wY2lfZGV2 KTsNCj4gKyAgICBpZiAocmV0KSB7DQo+ICsgICAgICAgIFpTREFfTE9HKEVSUiwgIkZhaWxlZCEg enNkYV9mbHJfdW5tYXNrX3NldCIpOw0KPiArICAgICAgICByZXR1cm4gcmV0Ow0KPiArICAgIH0N Cj4gKw0KPiAgICAgIHJldHVybiByZXQ7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nv bW1vbi96c2RhL3pzZGFfcXAuaCBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQo+IGlu ZGV4IDk1YmM2YmFjZDUuLmExZDcwZjE1NWYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9u L3pzZGEvenNkYV9xcC5oDQo+ICsrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQo+ IEBAIC0yMCw2ICsyMCwxOSBAQA0KPiAgI2RlZmluZSBaU0RBX0lPX1FfQ0xSICAgICAgICAgICAg MHg2MDANCj4gICNkZWZpbmUgWlNEQV9JT19RX0NMUl9SRVNQICAgICAgICAweDgwMA0KPiANCj4g KyNkZWZpbmUgWlNEQV9BRE1JTl9XUSAgICAgICAgICAgIDB4NDANCj4gKyNkZWZpbmUgWlNEQV9B RE1JTl9XUV9CQVNFNyAgICAgICAgMHg1Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX1dRX0NSQyAg ICAgICAgMHg1Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX1dRX1ZFUlNJT04gICAgMHg1RA0KPiAr I2RlZmluZSBaU0RBX0FETUlOX1dRX0ZMQUcgICAgICAgIDB4NUUNCj4gKyNkZWZpbmUgWlNEQV9B RE1JTl9DUSAgICAgICAgICAgIDB4NjANCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9DUV9CQVNFNyAg ICAgICAgMHg3Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX0NRX0NSQyAgICAgICAgMHg3Qw0KPiAr I2RlZmluZSBaU0RBX0FETUlOX0NRX1ZFUlNJT04gICAgMHg3RA0KPiArI2RlZmluZSBaU0RBX0FE TUlOX0NRX0ZMQUcgICAgICAgIDB4N0UNCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9XUV9UQUlMICAg ICAgICAweDgwDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fQ1FfSEVBRCAgICAgICAgMHg4NA0KPiAr DQo+ICAjZGVmaW5lIFpTREFfUV9TVEFSVCAgICAgICAgMHgxDQo+ICAjZGVmaW5lIFpTREFfUV9T VE9QICAgICAgICAgICAgMHgwDQo+ICAjZGVmaW5lIFpTREFfQ0xFQVJfVkFMSUQgICAgMHgxDQo+ IEBAIC0yNywxMSArNDAsNDYgQEANCj4gICNkZWZpbmUgWlNEQV9SRVNQX1ZBTElEICAgICAgICAw eDENCj4gICNkZWZpbmUgWlNEQV9SRVNQX0lOVkFMSUQgICAgMHgwDQo+IA0KPiArI2RlZmluZSBB RE1JTl9CVUZfREFUQV9MRU4gICAgICAgIDB4MUMNCj4gKyNkZWZpbmUgQURNSU5fQlVGX1RPVEFM X0xFTiAgICAgICAgMHgyMA0KPiArDQo+ICsjZGVmaW5lIElPX0RCX0lOSVRJQUxfQ09ORklHICAg IDB4MUMwMA0KPiArI2RlZmluZSBTRVRfQ1lDTEUgICAgICAgICAgICAweGZmDQo+ICsjZGVmaW5l IFNFVF9IRUFEX0lOVEkgICAgICAgIDB4MA0KPiArDQo+ICsNCj4gICNkZWZpbmUgWlNEQV9USU1F X1NMRUVQX1VTICAgIDEwMA0KPiAgI2RlZmluZSBaU0RBX1RJTUVfTlVNICAgICAgICA1MDANCj4g DQo+ICBleHRlcm4gc3RydWN0IHpzZGFfbnVtX3FwcyB6c2RhX25iX3FwczsNCj4gDQo+ICtlbnVt IHpzZGFfYWRtaW5fbXNnX2lkIHsNCj4gKyAgICAvKiBWZXJzaW9uIGluZm9ybWF0aW9uICovDQo+ ICsgICAgWlNEQV9BRE1JTl9WRVJTSU9OX1JFUSA9IDAsDQo+ICsgICAgWlNEQV9BRE1JTl9WRVJT SU9OX1JFU1AsDQo+ICsgICAgLyogYWxnbyB0eXBlICovDQo+ICsgICAgWlNEQV9BRE1JTl9RVUVV RV9DRkdfUkVRLA0KPiArICAgIFpTREFfQURNSU5fUVVFVUVfQ0ZHX1JFU1AsDQo+ICsgICAgLyog Z2V0IGN5Y2xlICovDQo+ICsgICAgWlNEQV9BRE1JTl9RVUVVRV9DWUNMRV9SRVEsDQo+ICsgICAg WlNEQV9BRE1JTl9RVUVVRV9DWUNMRV9SRVNQLA0KPiArICAgIC8qIHNldCBjeWNsciAqLw0KPiAr ICAgIFpTREFfQURNSU5fU0VUX0NZQ0xFX1JFUSwNCj4gKyAgICBaU0RBX0FETUlOX1NFVF9DWUNM RV9SRVNQLA0KPiArDQo+ICsgICAgWlNEQV9NSUdfU1RBVEVfV0FSTklORywNCj4gKyAgICBaU0RB X0FETUlOX1JFU0VSVkUsDQo+ICsgICAgLyogc2V0IGNsb3NlIGZsciByZWdpc3RlciAqLw0KPiAr ICAgIFpTREFfRkxSX1NFVF9GVU5DVElPTiwNCj4gKyAgICBaU0RBX0FETUlOX01TR19WQUxJRCwN Cj4gKyAgICBaU0RBX0FETUlOX0lOVF9URVNUDQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgcmluZ19z aXplIHsNCj4gKyAgICB1aW50MTZfdCB0eF9tc2dfc2l6ZTsNCj4gKyAgICB1aW50MTZfdCByeF9t c2dfc2l6ZTsNCj4gK307DQo+ICsNCj4gIGludCB6c2RhX3F1ZXVlX3N0YXJ0KGNvbnN0IHN0cnVj dCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+ICBpbnQgenNkYV9xdWV1ZV9zdG9wKGNvbnN0 IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oDQo+IGIvZHJpdmVycy9jb21tb24venNk YS96c2RhX3FwX2NvbW1vbi5oDQo+IGluZGV4IGJjMjlkZmRmNjAuLmFjMjU0MDhhZWIgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcF9jb21tb24uaA0KPiArKysgYi9k cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXBfY29tbW9uLmgNCj4gQEAgLTMzLDQgKzMzLDQxIEBA IGVudW0genNkYV9zZXJ2aWNlX3R5cGUgew0KPiAgI2RlZmluZSBaU0RBX0NTUl9SRUFEOChhZGRy KSAgICAgICAgICBydGVfcmVhZDgoKGFkZHIpKQ0KPiAgI2RlZmluZSBaU0RBX0NTUl9XUklURTgo YWRkciwgdmFsdWUpICBydGVfd3JpdGU4X3JlbGF4ZWQoKHZhbHVlKSwgKGFkZHIpKQ0KPiANCj4g K3N0cnVjdCB6c2RhX2FkbWluX3JlcSB7DQo+ICsgICAgdWludDE2X3QgbXNnX3R5cGU7DQo+ICsg ICAgdWludDhfdCBkYXRhWzI2XTsNCj4gK30gX19ydGVfcGFja2VkOw0KPiArDQo+ICtzdHJ1Y3Qg enNkYV9hZG1pbl9yZXNwIHsNCj4gKyAgICB1aW50MTZfdCBtc2dfdHlwZTsNCj4gKyAgICB1aW50 OF90IGRhdGFbMjZdOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsNCj4gK3N0cnVjdCB6c2RhX2Fk bWluX3JlcV9xY2ZnIHsNCj4gKyAgICB1aW50MTZfdCBtc2dfdHlwZTsNCj4gKyAgICB1aW50OF90 IHFpZDsNCj4gKyAgICB1aW50OF90IGRhdGFbMjVdOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsN Cj4gK3N0cnVjdCB6c2RhX3Rlc3RfbXNnIHsNCj4gKyAgICB1aW50MzJfdCBtc2dfdHlwZTsNCj4g KyAgICB1aW50MzJfdCBkYXRhX2luOw0KPiArICAgIHVpbnQ4X3QgZGF0YVsyMF07DQo+ICt9IF9f cnRlX3BhY2tlZDsNCj4gKw0KPiArc3RydWN0IHFpbmZvIHsNCj4gKyAgICB1aW50MTZfdCBxX3R5 cGU7DQo+ICsgICAgdWludDE2X3Qgd3FfdGFpbDsNCj4gKyAgICB1aW50MTZfdCB3cV9oZWFkOw0K PiArICAgIHVpbnQxNl90IGNxX3RhaWw7DQo+ICsgICAgdWludDE2X3QgY3FfaGVhZDsNCj4gKyAg ICB1aW50MTZfdCBjeWNsZTsNCj4gK30gX19ydGVfcGFja2VkOw0KPiArDQo+ICtzdHJ1Y3QgenNk YV9hZG1pbl9yZXNwX3FjZmcgew0KPiArICAgIHVpbnQxNl90IG1zZ190eXBlOw0KPiArICAgIHN0 cnVjdCBxaW5mbyBxY2ZnOw0KPiArICAgIHVpbnQ4X3QgZGF0YVsxNF07DQo+ICt9IF9fcnRlX3Bh Y2tlZDsNCj4gKw0KPiAgI2VuZGlmIC8qIF9aU0RBX1FQX0NPTU1PTl9IXyAqLw0KPiAtLQ0KPiAy LjI3LjANCg0K