From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EAA04A09FF; Thu, 7 Jan 2021 07:38:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 778AD140E91; Thu, 7 Jan 2021 07:38:53 +0100 (CET) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by mails.dpdk.org (Postfix) with ESMTP id A2BE1140E7D for ; Thu, 7 Jan 2021 07:38:51 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Wed, 06 Jan 2021 22:38:50 -0800 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 7 Jan 2021 06:38:43 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 7 Jan 2021 06:38:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TrJ3tXhAeQ3o8Esr8q38Nkqqovq+timhs8AN58Nz2G4KglXk39y+PD5kcyMQ3sqZ5jzRQncwdKjvy3Fpqp8cGFcpEycgAwUOg/tO1uKdbWoIX0hwCE3vYD6IHOww/3CIzHFtZctBZA+cpSSgGvvD8Gwl1/niYYNJd7592Ih3BE5jtXAnRgrfu9kyYrCTzltnH6t82i6Me6mnydXB5BOR69a8M3MxuO0tY0uWDRcmy2c0eFLkL23UrjrnvXRaZHCHTbKyO0+8rSB0OFRDPendkk0o8PoeQP1eMMCASoRR+6mANUISqQq2y+aDHyc5X+cDZkLG8rv+Z1qN+m37dtFQaA== 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-SenderADCheck; bh=SZRdu4Ul7tILcIsOqGNCQ0TWH/GPKf+sYTUPqQ0xQMk=; b=ay2yJDahkhkcJ5nJahOSTx0xP60hLqp/ioMEcs1aKtglxriZthhnrBn0PcDNf2RnJtmOnhIs9QjYqlLeYhzQDBiM0NGffH7A2BlOzUbPwiUxXI2ew+Xzj2RcnbHsC5aSu+8Iy+/9mDjgG0RF9Atq9vhyj94Z+GcmHGn98IKZMh64XhE0IlTHecUSn14iBY23kevphRAewKK++gGHngLk/OSFPlMCiOllhAx9Ucz6aiWGKPUdmEZCgGpCOhPQ5io9/ZuAve7+bZOKbllpFXVxask5XNioOQ0F8hEDG7iPDttN4ilgcn3o+wXsqJdBJwz95UYm5lbqYziq7q/pJ1eEOA== 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 Received: from BY5PR12MB4324.namprd12.prod.outlook.com (2603:10b6:a03:209::10) by BYAPR12MB3317.namprd12.prod.outlook.com (2603:10b6:a03:d8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.20; Thu, 7 Jan 2021 06:38:41 +0000 Received: from BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::31b3:df5f:7d2a:c610]) by BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::31b3:df5f:7d2a:c610%4]) with mapi id 15.20.3721.024; Thu, 7 Jan 2021 06:38:41 +0000 From: "Xueming(Steven) Li" To: Somnath Kotur CC: NBU-Contact-Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Olivier Matz , Slava Ovsiienko , dev , Asaf Penso Thread-Topic: [dpdk-dev] [PATCH v2 1/9] ethdev: refactor representor infrastructure Thread-Index: AQHW5EeGObPmTE00DE6KdHY3Ic38F6obtQSAgAABjBA= Date: Thu, 7 Jan 2021 06:38:41 +0000 Message-ID: References: <1608303356-13089-2-git-send-email-xuemingl@nvidia.com> <1609949855-23817-1-git-send-email-xuemingl@nvidia.com> <1609949855-23817-2-git-send-email-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [180.162.34.69] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c1a0189-9264-4156-62bf-08d8b2d6df6c x-ms-traffictypediagnostic: BYAPR12MB3317: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1107; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XPHlxpUxdfLND6syvxkqM6cEsYv8mMy0ClpJzfTOiPuWAI/kuzpOIVAVU7txD9v9vbwOrSuuN8/Pw7qUuP/rNBwJBsCvL9YdeoVeD674AIz4oi6im1nmf9Sg7I19c/3Q2LezPfdstzS7IX7MlFJLg7aAh7mek8eVRXWep3t5/ltHJ769jJV+DyW/e9mlORb5JHm5y+lsJbn+cNVs9osRGguCKDt2IWIz9N9aK7YXeP0w1rzQtYJ2udHXOLUwIxSQGD8dJcDz7uZmb2wsjqHszdOmFZSh7BVbLdWUxVTtTD73LlqJwFseFjVYxFp3NzrYaMOavqmjrUnapcMhRpes0XUKyZ6Gvfwhbt2Brh8m9QtahQvrO70IUBALQ3DJGQvO9xLybuxiex6D+QTzcPHI3Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB4324.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(6506007)(316002)(6916009)(83380400001)(8676002)(2906002)(54906003)(8936002)(30864003)(33656002)(66556008)(66476007)(86362001)(66446008)(66946007)(52536014)(5660300002)(26005)(7696005)(9686003)(107886003)(64756008)(4326008)(71200400001)(478600001)(186003)(76116006)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?bTcySkxFNjlKR3RyWWgycXU2ZzNCclkvWC9aN09mQk5USjYvM0NwTko0a1NQ?= =?utf-8?B?ZkZlOFk1WUY3eDRJSkVhNklSUnZvQ1JvRVhGY3p5OXFXR0RSY1ZkYXY1djky?= =?utf-8?B?Z0ZadE5BVFc2eGNUeW1OS29zSVlYZWZCUkNtUktWaUgza283MUM1MmdPVmRG?= =?utf-8?B?ZEhISnltZkdtZXR6UWNuOC9qa0ovMkxOT2VKV3NsejkrN2Qxam9naHJ1WVVN?= =?utf-8?B?bTRCTm1IaHJkY2dzUkkrdVIzQW9YdG5XZk9hQkl5VElXcDEzaE8yN0N2YW9w?= =?utf-8?B?SExLb1ByYlBVblZMMjE4d0RWUldLWVYwcnZkdGtHTEhab0VQQjRaQUNqNG9Z?= =?utf-8?B?ekFRZ1VWTzRSUy8wbUJqMzZWckc5YnUzVGpIWHZNRzdSc2RRQWhKd0tCeHp1?= =?utf-8?B?VVAxRzBhYUVWNzRoZE5UUm8rS2NxVzArajZ1Ri8rZjdaVEVwUldsUEdZYndC?= =?utf-8?B?R3U2WG5NU0w2R2tKNEdSbVAyR0F2Q3I5RHRPUmhzV0hWdktRaUphTFhpQ01z?= =?utf-8?B?SjBQYlpPOUh1cjQ3OTcrRXF4OUZmaWwvcWpTNzU5M1hZejQvdjErMGY0QUpR?= =?utf-8?B?bEpOTnJZQUJ0WW16RWc3blFob0Erb1ZjK2NuSUpFUFQ0U2JGNVA3c2JMK2pt?= =?utf-8?B?Sjc1YXU3UzYwK0NQNkdiNUl2L1I3OHgvNXBPU043STFGZ1M3U3FUVTBsaWhB?= =?utf-8?B?SHByRWtSc2JSTm5hcUpTM29wMnFtNEU5c1ZkQTVKQlFjQjF1TURiRVk5UWhm?= =?utf-8?B?dnAyelFJQVhQMk5VcGlGcTlMcW44NWVTMjVRM1BtcHRHeXZQSm9ETVdQbTNl?= =?utf-8?B?NnRGR3liSUZqQ2JKNnBWeHVCM0wwejlSQlhaRVQ5TTJRZzRxYzY4Rm9EZjF1?= =?utf-8?B?QlhCVHdOUXIwQzFvQWRGVktQbkVVWDJwYWJxSkVZMVd6dUxNTlgyc0E2Y2dD?= =?utf-8?B?SHlLTWdFSTdwS1JYSzA3cTFEcDlMV3dqZnpEdFBUMDVwK2h5T0hGVHlrYnE3?= =?utf-8?B?SnFGdXpPNDg1QkF4T1FqQlZaV0l4V1pFOUxOeC9wQjBYZmxzZVRic3NFdkdv?= =?utf-8?B?eFJFZ3hWUVVLSkVzbzhNdXR4TjBjZlk0Q1VNVitOajN2WVZUaEoyWWJ2NVZr?= =?utf-8?B?dERHUTM2ditSZEFLTFJDSTRYdXpzamdzUXFOUDl1WHRJR1ovaHhCM2FGVDUv?= =?utf-8?B?dmZxd3A5cGY0N3YzMzlFYzNvQ2VIM2pmMHRqbEN0QWJVZnhjaEZxTWZIelNX?= =?utf-8?B?NDdUbFJMU2FPaDhzb2RENGRVT3FKaEsza1pRNVhSbmVxMnBidkwrUWUyOHFG?= =?utf-8?Q?eCUtaB43/13RE=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4324.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c1a0189-9264-4156-62bf-08d8b2d6df6c X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2021 06:38:41.3505 (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: /7tPtKgpWzJZepFxSrcR7CtnIrlyLeMiICVddLWfWkjryN0toth8na2vowBz0J898D9gieNC3KqVKkztLV8tHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3317 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1610001530; bh=SZRdu4Ul7tILcIsOqGNCQ0TWH/GPKf+sYTUPqQ0xQMk=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=ASCC1RWHfd1vYKjMOAq6fn9SvPcv8sQI7juWcqXCPvqL5Bl5BJZ16A5/SdiNWRtKl roPXGd3ZBWkslCxZbOgXovI5xkWpjBgskhmTUdojvSdzhvvW1vaDVN5Ed9gt4Ryxva p77FlPnIrOTh6Tj04pFeV+lcroY0GRv0StpWoBVB/dkBSGpJjGb1jopsonOoFn4ejr zwHkwBgpPftafHLHFehQlY4+bpkE9scD4aWlYmuFQQBMcJoVilEXU3clL9KzmgAKOa CtKZ7s0x9nMpXJGcJMLQ2Bo/UKMEuPtfy6q5DCU6xCEcq4NLWiqVZ06I+OPjahzXhq H4D4lqWENyNuQ== Subject: Re: [dpdk-dev] [PATCH v2 1/9] ethdev: refactor representor infrastructure 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 Sender: "dev" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IFNvbW5hdGggS290dXIgPHNv bW5hdGgua290dXJAYnJvYWRjb20uY29tPg0KPlNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDcsIDIw MjEgMjozMiBQTQ0KPlRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+ DQo+Q2M6IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47 IEZlcnJ1aCBZaWdpdA0KPjxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgQW5kcmV3IFJ5YmNoZW5r bw0KPjxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IE9saXZpZXIgTWF0eiA8b2xpdmll ci5tYXR6QDZ3aW5kLmNvbT47DQo+U2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEu Y29tPjsgZGV2IDxkZXZAZHBkay5vcmc+OyBBc2FmIFBlbnNvDQo+PGFzYWZwQG52aWRpYS5jb20+ DQo+U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDEvOV0gZXRoZGV2OiByZWZhY3Rv ciByZXByZXNlbnRvcg0KPmluZnJhc3RydWN0dXJlDQo+DQo+T24gV2VkLCBKYW4gNiwgMjAyMSBh dCA5OjQ4IFBNIFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+IHdyb3RlOg0KPj4NCj4+ IFRvIHN1cHBvcnQgZXh0ZW5kZWQgcmVwcmVzZW50b3Igc3ludGF4LCB0aGlzIHBhdGNoIHJlZmFj dG9yIHJlcHJlc250b3INCj5UeXBvIGluICdyZXByZXNlbnRvcicNCj4+IGluZnJhc3RydWN0dXJl Og0KPj4gMS4gaW50cm9kdWNlcyByZXByZXNlbnRvciB0eXBlIGVudW0NCj4+IDIuIGRldmFyZ3Mg cmVwcmVzZW50b3IgcG9ydCByYW5nZSBleHRyYWN0aW9uIGZyb20gcGFydGlhbCB2YWx1ZQ0KPj4N Cj4+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+PiAt LS0NCj4+ICBkcml2ZXJzL25ldC9ibnh0L2JueHRfZXRoZGV2LmMgICAgICAgIHwgMTIgKysrKw0K Pj4gIGRyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYyAgICAgICAgfCAgNyArKw0KPj4gIGRy aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYyAgICAgICAgfCAgOCArKysNCj4+ICBkcml2ZXJz L25ldC9peGdiZS9peGdiZV9ldGhkZXYuYyAgICAgIHwgIDggKysrDQo+PiAgZHJpdmVycy9uZXQv bWx4NS9saW51eC9tbHg1X29zLmMgICAgICB8IDExICsrKysNCj4+ICBsaWIvbGlicnRlX2V0aGRl di9ldGhkZXZfcHJpdmF0ZS5jICAgIHwgOTMgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tDQo+ PiAgbGliL2xpYnJ0ZV9ldGhkZXYvZXRoZGV2X3ByaXZhdGUuaCAgICB8ICAzIC0NCj4+ICBsaWIv bGlicnRlX2V0aGRldi9ydGVfY2xhc3NfZXRoLmMgICAgIHwgIDQgKy0NCj4+ICBsaWIvbGlicnRl X2V0aGRldi9ydGVfZXRoZGV2LmMgICAgICAgIHwgIDUgKy0NCj4+ICBsaWIvbGlicnRlX2V0aGRl di9ydGVfZXRoZGV2X2RyaXZlci5oIHwgIDcgKysNCj4+ICAxMCBmaWxlcyBjaGFuZ2VkLCA5OCBp bnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvYm54dC9ibnh0X2V0aGRldi5jDQo+Yi9kcml2ZXJzL25ldC9ibnh0L2JueHRfZXRoZGV2 LmMNCj4+IGluZGV4IDgxYzhmOGQ3OWQuLjg0NGE2YzNjNjYgMTAwNjQ0DQo+PiAtLS0gYS9kcml2 ZXJzL25ldC9ibnh0L2JueHRfZXRoZGV2LmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9ldGhkZXYuYw0KPj4gQEAgLTU1MjAsNiArNTUyMCwxOCBAQCBzdGF0aWMgaW50IGJueHRfcmVw X3BvcnRfcHJvYmUoc3RydWN0DQo+cnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsDQo+PiAgICAgICAg IGludCBpLCByZXQgPSAwOw0KPj4gICAgICAgICBzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0ID0g TlVMTDsNCj4+DQo+PiArICAgICAgIGlmIChldGhfZGEtPnR5cGUgPT0gUlRFX0VUSF9SRVBSRVNF TlRPUl9OT05FKQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPj4gKyAgICAgICBpZiAo ZXRoX2RhLT50eXBlICE9IFJURV9FVEhfUkVQUkVTRU5UT1JfVkYpIHsNCj4+ICsgICAgICAgICAg ICAgICBQTURfRFJWX0xPRyhFUlIsICJ1bnN1cHBvcnRlZCByZXByZXNlbnRvciB0eXBlICVkXG4i LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0aF9kYS0+dHlwZSk7DQo+PiArICAg ICAgICAgICAgICAgcmV0dXJuIC1FTk9UU1VQOw0KPj4gKyAgICAgICB9DQo+PiArICAgICAgIGlm IChldGhfZGEtPnR5cGUgIT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9WRikgew0KPlNlZW1zIGxpa2Ug YW4gZXh0cmEgJ2lmICcgY29uZGl0aW9uIGJ5IG1pc3Rha2U/IE90aGVyd2lzZSB0aGVyZSBpcyBu bw0KPmRpZmYgYi9uIHRoaXMgJ2lmJyBjb25kaXRpb24gYW5kIHRoZSBvbmUgZmV3IGxpbmVzIGFi b3ZlPw0KDQpUaGFua3MsIGdvb2QgY2F0Y2ghDQoNCj4+ICsgICAgICAgICAgICAgICBQTURfRFJW X0xPRyhFUlIsICJ1bnN1cHBvcnRlZCByZXByZXNlbnRvciB0eXBlICVkXG4iLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGV0aF9kYS0+dHlwZSk7DQo+PiArICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICAgIH0NCj4+ICAgICAgICAgbnVtX3JlcCA9IGV0aF9k YS0+bmJfcmVwcmVzZW50b3JfcG9ydHM7DQo+PiAgICAgICAgIGlmIChudW1fcmVwID4gQk5YVF9N QVhfVkZfUkVQUykgew0KPj4gICAgICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVSUiwgIm5iX3Jl cHJlc2VudG9yX3BvcnRzID0gJWQgPiAlZCBNQVggVkYNCj5SRVBTXG4iLA0KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2VuaWMvZW5p Y19ldGhkZXYuYw0KPj4gaW5kZXggZDA0MWE2YmVlOS4uZGQwODVjYWE5MyAxMDA2NDQNCj4+IC0t LSBhL2RyaXZlcnMvbmV0L2VuaWMvZW5pY19ldGhkZXYuYw0KPj4gKysrIGIvZHJpdmVycy9uZXQv ZW5pYy9lbmljX2V0aGRldi5jDQo+PiBAQCAtMTMwMyw2ICsxMzAzLDEzIEBAIHN0YXRpYyBpbnQg ZXRoX2VuaWNfcGNpX3Byb2JlKHN0cnVjdA0KPnJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9fcnRl X3VudXNlZCwNCj4+ICAgICAgICAgICAgICAgICBpZiAocmV0dmFsKQ0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIHJldHZhbDsNCj4+ICAgICAgICAgfQ0KPj4gKyAgICAgICBpZiAo ZXRoX2RhLnR5cGUgPT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9OT05FKQ0KPj4gKyAgICAgICAgICAg ICAgIHJldHVybiAwOw0KPj4gKyAgICAgICBpZiAoZXRoX2RhLnR5cGUgIT0gUlRFX0VUSF9SRVBS RVNFTlRPUl9WRikgew0KPj4gKyAgICAgICAgICAgICAgIEVOSUNQTURfTE9HKEVSUiwgInVuc3Vw cG9ydGVkIHJlcHJlc2VudG9yIHR5cGU6ICVzXG4iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBjaV9kZXYtPmRldmljZS5kZXZhcmdzLT5hcmdzKTsNCj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gLUVOT1RTVVA7DQo+PiArICAgICAgIH0NCj4+ICAgICAgICAgcmV0dmFsID0gcnRl X2V0aF9kZXZfY3JlYXRlKCZwY2lfZGV2LT5kZXZpY2UsIHBjaV9kZXYtPmRldmljZS5uYW1lLA0K Pj4gICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgZW5pYyksDQo+PiAgICAgICAgICAgICAg ICAgZXRoX2Rldl9wY2lfc3BlY2lmaWNfaW5pdCwgcGNpX2RldiwNCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmMNCj4+IGluZGV4IGY1NDc2OWMyOWQuLjA1ZWQyZTEwNzkgMTAwNjQ0DQo+PiAtLS0gYS9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYw0KPj4gQEAgLTY0MCw2ICs2NDAsMTQgQEAgZXRoX2k0MGVfcGNpX3Byb2Jl KHN0cnVjdCBydGVfcGNpX2RyaXZlciAqcGNpX2Rydg0KPl9fcnRlX3VudXNlZCwNCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiByZXR2YWw7DQo+PiAgICAgICAgIH0NCj4+DQo+PiAr ICAgICAgIGlmIChldGhfZGEudHlwZSA9PSBSVEVfRVRIX1JFUFJFU0VOVE9SX05PTkUpDQo+PiAr ICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+PiArICAgICAgIGlmIChldGhfZGEudHlwZSAhPSBS VEVfRVRIX1JFUFJFU0VOVE9SX1ZGKSB7DQo+PiArICAgICAgICAgICAgICAgUE1EX0RSVl9MT0co RVJSLCAidW5zdXBwb3J0ZWQgcmVwcmVzZW50b3IgdHlwZTogJXNcbiIsDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGNpX2Rldi0+ZGV2aWNlLmRldmFyZ3MtPmFyZ3MpOw0KPj4gKyAg ICAgICAgICAgICAgIHJldHVybiAtRU5PVFNVUDsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gICAg ICAgICByZXR2YWwgPSBydGVfZXRoX2Rldl9jcmVhdGUoJnBjaV9kZXYtPmRldmljZSwgcGNpX2Rl di0+ZGV2aWNlLm5hbWUsDQo+PiAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2Fk YXB0ZXIpLA0KPj4gICAgICAgICAgICAgICAgIGV0aF9kZXZfcGNpX3NwZWNpZmljX2luaXQsIHBj aV9kZXYsDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMN Cj5iL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+PiBpbmRleCA5YTQ3YThiMjYy Li45ZWEwMTM5MTk3IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRo ZGV2LmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+PiBAQCAt MTcxNyw2ICsxNzE3LDE0IEBAIGV0aF9peGdiZV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJp dmVyDQo+KnBjaV9kcnYgX19ydGVfdW51c2VkLA0KPj4gICAgICAgICB9IGVsc2UNCj4+ICAgICAg ICAgICAgICAgICBtZW1zZXQoJmV0aF9kYSwgMCwgc2l6ZW9mKGV0aF9kYSkpOw0KPj4NCj4+ICsg ICAgICAgaWYgKGV0aF9kYS50eXBlID09IFJURV9FVEhfUkVQUkVTRU5UT1JfTk9ORSkNCj4+ICsg ICAgICAgICAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgaWYgKGV0aF9kYS50eXBlICE9IFJU RV9FVEhfUkVQUkVTRU5UT1JfVkYpIHsNCj4+ICsgICAgICAgICAgICAgICBQTURfRFJWX0xPRyhF UlIsICJ1bnN1cHBvcnRlZCByZXByZXNlbnRvciB0eXBlOiAlc1xuIiwNCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBwY2lfZGV2LT5kZXZpY2UuZGV2YXJncy0+YXJncyk7DQo+PiArICAg ICAgICAgICAgICAgcmV0dXJuIC1FTk9UU1VQOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiAgICAg ICAgIHJldHZhbCA9IHJ0ZV9ldGhfZGV2X2NyZWF0ZSgmcGNpX2Rldi0+ZGV2aWNlLCBwY2lfZGV2 LT5kZXZpY2UubmFtZSwNCj4+ICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGl4Z2JlX2Fk YXB0ZXIpLA0KPj4gICAgICAgICAgICAgICAgIGV0aF9kZXZfcGNpX3NwZWNpZmljX2luaXQsIHBj aV9kZXYsDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29zLmMN Cj5iL2RyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9vcy5jDQo+PiBpbmRleCA2ODEyYTFmMjE1 Li42OTgxYmExZjQxIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1 X29zLmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9vcy5jDQo+PiBAQCAt NzA2LDYgKzcwNiwxNyBAQCBtbHg1X2Rldl9zcGF3bihzdHJ1Y3QgcnRlX2RldmljZSAqZHBka19k ZXYsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKHJ0ZV9lcnJu bykpOw0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQo+PiAgICAgICAg ICAgICAgICAgfQ0KPj4gKyAgICAgICAgICAgICAgIGlmIChldGhfZGEudHlwZSAhPSBSVEVfRVRI X1JFUFJFU0VOVE9SX05PTkUpIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlcHJl c2VudG9yIG5vdCBzcGVjaWZpZWQuICovDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBydGVf ZXJybm8gPSBFQlVTWTsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOw0K Pj4gKyAgICAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICAgICBpZiAoZXRoX2RhLnR5cGUg IT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9WRikgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg cnRlX2Vycm5vID0gRU5PVFNVUDsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIERSVl9MT0co RVJSLCAidW5zdXBwb3J0ZWQgcmVwcmVzZW50b3IgdHlwZTogJXMiLA0KPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkcGRrX2Rldi0+ZGV2YXJncy0+YXJncyk7DQo+PiArICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsNCj4+ICsgICAgICAgICAgICAgICB9DQo+PiAg ICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGV0aF9kYS5uYl9yZXByZXNlbnRvcl9wb3J0 czsgKytpKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV0aF9kYS5yZXByZXNlbnRv cl9wb3J0c1tpXSA9PQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MTZfdClz d2l0Y2hfaW5mby0+cG9ydF9uYW1lKQ0KPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2 L2V0aGRldl9wcml2YXRlLmMNCj5iL2xpYi9saWJydGVfZXRoZGV2L2V0aGRldl9wcml2YXRlLmMN Cj4+IGluZGV4IDE2MmE1MDJmZTcuLmMyMTkxNjRhNGEgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGli cnRlX2V0aGRldi9ldGhkZXZfcHJpdmF0ZS5jDQo+PiArKysgYi9saWIvbGlicnRlX2V0aGRldi9l dGhkZXZfcHJpdmF0ZS5jDQo+PiBAQCAtMzgsNjAgKzM4LDEzIEBAIGV0aF9maW5kX2RldmljZShj b25zdCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKnN0YXJ0LA0KPnJ0ZV9ldGhfY21wX3QgY21wLA0KPj4g ICAgICAgICByZXR1cm4gTlVMTDsNCj4+ICB9DQo+Pg0KPj4gLWludA0KPj4gLXJ0ZV9ldGhfZGV2 YXJnc19wYXJzZV9saXN0KGNoYXIgKnN0ciwgcnRlX2V0aF9kZXZhcmdzX2NhbGxiYWNrX3QgY2Fs bGJhY2ssDQo+PiAtICAgICAgIHZvaWQgKmRhdGEpDQo+PiAtew0KPj4gLSAgICAgICBjaGFyICpz dHJfc3RhcnQ7DQo+PiAtICAgICAgIGludCBzdGF0ZTsNCj4+IC0gICAgICAgaW50IHJlc3VsdDsN Cj4+IC0NCj4+IC0gICAgICAgaWYgKCpzdHIgIT0gJ1snKQ0KPj4gLSAgICAgICAgICAgICAgIC8q IFNpbmdsZSBlbGVtZW50LCBub3QgYSBsaXN0ICovDQo+PiAtICAgICAgICAgICAgICAgcmV0dXJu IGNhbGxiYWNrKHN0ciwgZGF0YSk7DQo+PiAtDQo+PiAtICAgICAgIC8qIFNhbml0eSBjaGVjaywg dGhlbiBzdHJpcCB0aGUgYnJhY2tldHMgKi8NCj4+IC0gICAgICAgc3RyX3N0YXJ0ID0gJnN0cltz dHJsZW4oc3RyKSAtIDFdOw0KPj4gLSAgICAgICBpZiAoKnN0cl9zdGFydCAhPSAnXScpIHsNCj4+ IC0gICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgRUFMLCAiKCVzKTogTGlzdCBkb2VzIG5vdCBl bmQgd2l0aCAnXSdcbiIsIHN0cik7DQo+PiAtICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 DQo+PiAtICAgICAgIH0NCj4+IC0gICAgICAgc3RyKys7DQo+PiAtICAgICAgICpzdHJfc3RhcnQg PSAnXDAnOw0KPj4gLQ0KPj4gLSAgICAgICAvKiBQcm9jZXNzIGxpc3QgZWxlbWVudHMgKi8NCj4+ IC0gICAgICAgc3RhdGUgPSAwOw0KPj4gLSAgICAgICB3aGlsZSAoMSkgew0KPj4gLSAgICAgICAg ICAgICAgIGlmIChzdGF0ZSA9PSAwKSB7DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBpZiAo KnN0ciA9PSAnXDAnKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGlmICgqc3RyICE9ICcsJykgew0KPj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJfc3RhcnQgPSBzdHI7DQo+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0gMTsNCj4+IC0gICAgICAgICAgICAgICAgICAg ICAgIH0NCj4+IC0gICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXRlID09IDEpIHsNCj4+IC0g ICAgICAgICAgICAgICAgICAgICAgIGlmICgqc3RyID09ICcsJyB8fCAqc3RyID09ICdcMCcpIHsN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0ciA+IHN0cl9zdGFydCkg ew0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vbi1lbXB0 eSBzdHJpbmcgZnJhZ21lbnQgKi8NCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqc3RyID0gJ1wwJzsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhzdHJfc3RhcnQsIGRhdGEpOw0KPj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPCAwKQ0KPj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGF0ZSA9IDA7DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICB9 DQo+PiAtICAgICAgICAgICAgICAgfQ0KPj4gLSAgICAgICAgICAgICAgIHN0cisrOw0KPj4gLSAg ICAgICB9DQo+PiAtICAgICAgIHJldHVybiAwOw0KPj4gLX0NCj4+IC0NCj4+ICBzdGF0aWMgaW50 DQo+PiAgcnRlX2V0aF9kZXZhcmdzX3Byb2Nlc3NfcmFuZ2UoY2hhciAqc3RyLCB1aW50MTZfdCAq bGlzdCwgdWludDE2X3QgKmxlbl9saXN0LA0KPj4gICAgICAgICBjb25zdCB1aW50MTZfdCBtYXhf bGlzdCkNCj4+ICB7DQo+PiAgICAgICAgIHVpbnQxNl90IGxvLCBoaSwgdmFsOw0KPj4gICAgICAg ICBpbnQgcmVzdWx0Ow0KPj4gKyAgICAgICBjaGFyICpwb3MgPSBzdHI7DQo+Pg0KPj4gICAgICAg ICByZXN1bHQgPSBzc2NhbmYoc3RyLCAiJWh1LSVodSIsICZsbywgJmhpKTsNCj4+ICAgICAgICAg aWYgKHJlc3VsdCA9PSAxKSB7DQo+PiBAQCAtOTksNyArNTIsNyBAQCBydGVfZXRoX2RldmFyZ3Nf cHJvY2Vzc19yYW5nZShjaGFyICpzdHIsIHVpbnQxNl90DQo+Kmxpc3QsIHVpbnQxNl90ICpsZW5f bGlzdCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPj4gICAg ICAgICAgICAgICAgIGxpc3RbKCpsZW5fbGlzdCkrK10gPSBsbzsNCj4+ICAgICAgICAgfSBlbHNl IGlmIChyZXN1bHQgPT0gMikgew0KPj4gLSAgICAgICAgICAgICAgIGlmIChsbyA+PSBoaSB8fCBs byA+IFJURV9NQVhfRVRIUE9SVFMgfHwgaGkgPiBSVEVfTUFYX0VUSFBPUlRTKQ0KPj4gKyAgICAg ICAgICAgICAgIGlmIChsbyA+PSBoaSkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOw0KPj4gICAgICAgICAgICAgICAgIGZvciAodmFsID0gbG87IHZhbCA8PSBoaTsg dmFsKyspIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgqbGVuX2xpc3QgPj0gbWF4 X2xpc3QpDQo+PiBAQCAtMTA4LDE0ICs2MSw1MiBAQCBydGVfZXRoX2RldmFyZ3NfcHJvY2Vzc19y YW5nZShjaGFyICpzdHIsIHVpbnQxNl90DQo+Kmxpc3QsIHVpbnQxNl90ICpsZW5fbGlzdCwNCj4+ ICAgICAgICAgICAgICAgICB9DQo+PiAgICAgICAgIH0gZWxzZQ0KPj4gICAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOw0KPj4gLSAgICAgICByZXR1cm4gMDsNCj4+ICsgICAgICAgd2hpbGUg KCpwb3MgIT0gMCAmJiAoKCpwb3MgPj0gJzAnICYmICpwb3MgPD0gJzknKSB8fCAqcG9zID09ICct JykpDQo+PiArICAgICAgICAgICAgICAgcG9zKys7DQo+PiArICAgICAgIHJldHVybiBwb3MgLSBz dHI7DQo+PiAgfQ0KPj4NCj4+ICtzdGF0aWMgaW50DQo+PiArcnRlX2V0aF9kZXZhcmdzX3Byb2Nl c3NfbGlzdChjaGFyICpzdHIsIHVpbnQxNl90ICpsaXN0LCB1aW50MTZfdCAqbGVuX2xpc3QsDQo+ PiArICAgICAgIGNvbnN0IHVpbnQxNl90IG1heF9saXN0KQ0KPj4gK3sNCj4+ICsgICAgICAgY2hh ciAqcG9zID0gc3RyOw0KPj4gKyAgICAgICBpbnQgcmV0Ow0KPj4gKw0KPj4gKyAgICAgICBpZiAo KnBvcyA9PSAnWycpDQo+PiArICAgICAgICAgICAgICAgcG9zKys7DQo+PiArICAgICAgIHdoaWxl ICgxKSB7DQo+PiArICAgICAgICAgICAgICAgcmV0ID0gcnRlX2V0aF9kZXZhcmdzX3Byb2Nlc3Nf cmFuZ2UocG9zLCBsaXN0LCBsZW5fbGlzdCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGlzdCk7DQo+PiArICAgICAgICAgICAgICAg aWYgKHJldCA8IDApDQo+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4g KyAgICAgICAgICAgICAgIHBvcyArPSByZXQ7DQo+PiArICAgICAgICAgICAgICAgaWYgKCpwb3Mg IT0gJywnKSAvKiBlbmQgb2YgbGlzdCAqLw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgYnJl YWs7DQo+PiArICAgICAgICAgICAgICAgcG9zKys7DQo+PiArICAgICAgIH0NCj4+ICsgICAgICAg aWYgKCpzdHIgPT0gJ1snICYmICpwb3MgIT0gJ10nKQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOw0KPj4gKyAgICAgICBpZiAoKnBvcyA9PSAnXScpDQo+PiArICAgICAgICAgICAg ICAgcG9zKys7DQo+PiArICAgICAgIHJldHVybiBwb3MgLSBzdHI7DQo+PiArfQ0KPj4gKw0KPj4g Ky8qDQo+PiArICogcmVwcmVzZW50b3IgZm9ybWF0Og0KPj4gKyAqICAgIzogcmFuZ2Ugb3Igc2lu Z2xlIG51bWJlciBvZiBWRiByZXByZXNlbnRvciAtIGxlZ2FjeQ0KPj4gKyAqLw0KPj4gIGludA0K Pj4gIHJ0ZV9ldGhfZGV2YXJnc19wYXJzZV9yZXByZXNlbnRvcl9wb3J0cyhjaGFyICpzdHIsIHZv aWQgKmRhdGEpDQo+PiAgew0KPj4gICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXZhcmdzICpldGhf ZGEgPSBkYXRhOw0KPj4gKyAgICAgICBpbnQgcmV0Ow0KPj4NCj4+IC0gICAgICAgcmV0dXJuIHJ0 ZV9ldGhfZGV2YXJnc19wcm9jZXNzX3JhbmdlKHN0ciwgZXRoX2RhLT5yZXByZXNlbnRvcl9wb3J0 cywNCj4+ICsgICAgICAgLyogTnVtYmVyICMgYWxvbmUgaW1wbGllcyBWRiAqLw0KPj4gKyAgICAg ICBldGhfZGEtPnR5cGUgPSBSVEVfRVRIX1JFUFJFU0VOVE9SX1ZGOw0KPj4gKyAgICAgICByZXQg PSBydGVfZXRoX2RldmFyZ3NfcHJvY2Vzc19saXN0KHN0ciwgZXRoX2RhLT5yZXByZXNlbnRvcl9w b3J0cywNCj4+ICAgICAgICAgICAgICAgICAmZXRoX2RhLT5uYl9yZXByZXNlbnRvcl9wb3J0cywg UlRFX01BWF9FVEhQT1JUUyk7DQo+PiArICAgICAgIGlmIChyZXQgPCAwKQ0KPj4gKyAgICAgICAg ICAgICAgIFJURV9MT0coRVJSLCBFQUwsICJ3cm9uZyByZXByZXNlbnRvciBmb3JtYXQ6ICVzXG4i LCBzdHIpOw0KPj4gKyAgICAgICByZXR1cm4gcmV0IDwgMCA/IHJldCA6IDA7DQo+PiAgfQ0KPj4g ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L2V0aGRldl9wcml2YXRlLmgNCj5iL2xpYi9s aWJydGVfZXRoZGV2L2V0aGRldl9wcml2YXRlLmgNCj4+IGluZGV4IDkwNWE0NWMzMzcuLjIyMGRk ZDQ0MDggMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ldGhkZXZfcHJpdmF0ZS5o DQo+PiArKysgYi9saWIvbGlicnRlX2V0aGRldi9ldGhkZXZfcHJpdmF0ZS5oDQo+PiBAQCAtMjYs OSArMjYsNiBAQCBldGhfZmluZF9kZXZpY2UoY29uc3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpfc3Rh cnQsDQo+cnRlX2V0aF9jbXBfdCBjbXAsDQo+PiAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAq ZGF0YSk7DQo+Pg0KPj4gIC8qIFBhcnNlIGRldmFyZ3MgdmFsdWUgZm9yIHJlcHJlc2VudG9yIHBh cmFtZXRlci4gKi8NCj4+IC10eXBlZGVmIGludCAoKnJ0ZV9ldGhfZGV2YXJnc19jYWxsYmFja190 KShjaGFyICpzdHIsIHZvaWQgKmRhdGEpOw0KPj4gLWludCBydGVfZXRoX2RldmFyZ3NfcGFyc2Vf bGlzdChjaGFyICpzdHIsIHJ0ZV9ldGhfZGV2YXJnc19jYWxsYmFja190DQo+Y2FsbGJhY2ssDQo+ PiAtICAgICAgIHZvaWQgKmRhdGEpOw0KPj4gIGludCBydGVfZXRoX2RldmFyZ3NfcGFyc2VfcmVw cmVzZW50b3JfcG9ydHMoY2hhciAqc3RyLCB2b2lkICpkYXRhKTsNCj4+DQo+PiAgI2lmZGVmIF9f Y3BsdXNwbHVzDQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0 aC5jDQo+Yi9saWIvbGlicnRlX2V0aGRldi9ydGVfY2xhc3NfZXRoLmMNCj4+IGluZGV4IDYzMzgz NTVlMjUuLmVmZTYxNDlkZjUgMTAwNjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVf Y2xhc3NfZXRoLmMNCj4+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9jbGFzc19ldGguYw0K Pj4gQEAgLTc3LDkgKzc3LDcgQEAgZXRoX3JlcHJlc2VudG9yX2NtcChjb25zdCBjaGFyICprZXkg X19ydGVfdW51c2VkLA0KPj4gICAgICAgICBpZiAodmFsdWVzID09IE5VTEwpDQo+PiAgICAgICAg ICAgICAgICAgcmV0dXJuIC0xOw0KPj4gICAgICAgICBtZW1zZXQoJnJlcHJlc2VudG9ycywgMCwg c2l6ZW9mKHJlcHJlc2VudG9ycykpOw0KPj4gLSAgICAgICByZXQgPSBydGVfZXRoX2RldmFyZ3Nf cGFyc2VfbGlzdCh2YWx1ZXMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBydGVfZXRoX2Rl dmFyZ3NfcGFyc2VfcmVwcmVzZW50b3JfcG9ydHMsDQo+PiAtICAgICAgICAgICAgICAgICAgICAg ICAmcmVwcmVzZW50b3JzKTsNCj4+ICsgICAgICAgcmV0ID0gcnRlX2V0aF9kZXZhcmdzX3BhcnNl X3JlcHJlc2VudG9yX3BvcnRzKHZhbHVlcywgJnJlcHJlc2VudG9ycyk7DQo+PiAgICAgICAgIGZy ZWUodmFsdWVzKTsNCj4+ICAgICAgICAgaWYgKHJldCAhPSAwKQ0KPj4gICAgICAgICAgICAgICAg IHJldHVybiAtMTsgLyogaW52YWxpZCBkZXZhcmdzIHZhbHVlICovDQo+PiBkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0 aGRldi5jDQo+PiBpbmRleCAxN2RkYWNjNzhkLi4yYWM1MWFjMTQ5IDEwMDY0NA0KPj4gLS0tIGEv bGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+PiArKysgYi9saWIvbGlicnRlX2V0aGRl di9ydGVfZXRoZGV2LmMNCj4+IEBAIC01NTQyLDkgKzU1NDIsOCBAQCBydGVfZXRoX2RldmFyZ3Nf cGFyc2UoY29uc3QgY2hhciAqZGFyZ3MsIHN0cnVjdA0KPnJ0ZV9ldGhfZGV2YXJncyAqZXRoX2Rh KQ0KPj4gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJncy5jb3VudDsgaSsrKSB7DQo+PiAgICAg ICAgICAgICAgICAgcGFpciA9ICZhcmdzLnBhaXJzW2ldOw0KPj4gICAgICAgICAgICAgICAgIGlm IChzdHJjbXAoInJlcHJlc2VudG9yIiwgcGFpci0+a2V5KSA9PSAwKSB7DQo+PiAtICAgICAgICAg ICAgICAgICAgICAgICByZXN1bHQgPSBydGVfZXRoX2RldmFyZ3NfcGFyc2VfbGlzdChwYWlyLT52 YWx1ZSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V0aF9kZXZhcmdz X3BhcnNlX3JlcHJlc2VudG9yX3BvcnRzLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldGhfZGEpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcnRlX2V0 aF9kZXZhcmdzX3BhcnNlX3JlcHJlc2VudG9yX3BvcnRzKA0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhaXItPnZhbHVlLCBldGhfZGEpOw0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA8IDApDQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gcGFyc2VfY2xlYW51cDsNCj4+ICAgICAgICAgICAgICAgICB9DQo+PiBk aWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaA0KPmIvbGli L2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaA0KPj4gaW5kZXggMGVhY2ZkODQyNS4u YjY2YTk1NWIxOCAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZf ZHJpdmVyLmgNCj4+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfZHJpdmVyLmgN Cj4+IEBAIC0xMTkzLDYgKzExOTMsMTIgQEAgX19ydGVfaW50ZXJuYWwNCj4+ICBpbnQNCj4+ICBy dGVfZXRoX3N3aXRjaF9kb21haW5fZnJlZSh1aW50MTZfdCBkb21haW5faWQpOw0KPj4NCj4+ICsv KiogRXRoZXJuZXQgZGV2aWNlIHJlcHJlc2VudG9yIHR5cGUgKi8NCj4+ICtlbnVtIHJ0ZV9ldGhf cmVwcmVzZW50b3JfdHlwZSB7DQo+PiArICAgICAgIFJURV9FVEhfUkVQUkVTRU5UT1JfTk9ORSwg Lyogbm90IGEgcmVwcmVzZW50b3IgKi8NCj4+ICsgICAgICAgUlRFX0VUSF9SRVBSRVNFTlRPUl9W RiwgICAvKiByZXByZXNlbnRvciBvZiBWRiAqLw0KPj4gK307DQo+PiArDQo+PiAgLyoqIEdlbmVy aWMgRXRoZXJuZXQgZGV2aWNlIGFyZ3VtZW50cyAgKi8NCj4+ICBzdHJ1Y3QgcnRlX2V0aF9kZXZh cmdzIHsNCj4+ICAgICAgICAgdWludDE2X3QgcG9ydHNbUlRFX01BWF9FVEhQT1JUU107DQo+PiBA QCAtMTIwMyw2ICsxMjA5LDcgQEAgc3RydWN0IHJ0ZV9ldGhfZGV2YXJncyB7DQo+PiAgICAgICAg IC8qKiByZXByZXNlbnRvciBwb3J0L3MgaWRlbnRpZmllciB0byBlbmFibGUgb24gZGV2aWNlICov DQo+PiAgICAgICAgIHVpbnQxNl90IG5iX3JlcHJlc2VudG9yX3BvcnRzOw0KPj4gICAgICAgICAv KiogbnVtYmVyIG9mIHBvcnRzIGluIHJlcHJlc2VudG9yIHBvcnQgZmllbGQgKi8NCj4+ICsgICAg ICAgZW51bSBydGVfZXRoX3JlcHJlc2VudG9yX3R5cGUgdHlwZTsgLyogdHlwZSBvZiByZXByZXNl bnRvciAqLw0KPj4gIH07DQo+Pg0KPj4gIC8qKg0KPj4gLS0NCj4+IDIuMjUuMQ0KPj4NCj4NCj4t LQ0KPlRoaXMgZWxlY3Ryb25pYyBjb21tdW5pY2F0aW9uIGFuZCB0aGUgaW5mb3JtYXRpb24gYW5k IGFueSBmaWxlcyB0cmFuc21pdHRlZA0KPndpdGggaXQsIG9yIGF0dGFjaGVkIHRvIGl0LCBhcmUg Y29uZmlkZW50aWFsIGFuZCBhcmUgaW50ZW5kZWQgc29sZWx5IGZvcg0KPnRoZSB1c2Ugb2YgdGhl IGluZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdob20gaXQgaXMgYWRkcmVzc2VkIGFuZCBtYXkgY29u dGFpbg0KPmluZm9ybWF0aW9uIHRoYXQgaXMgY29uZmlkZW50aWFsLCBsZWdhbGx5IHByaXZpbGVn ZWQsIHByb3RlY3RlZCBieSBwcml2YWN5DQo+bGF3cywgb3Igb3RoZXJ3aXNlIHJlc3RyaWN0ZWQg ZnJvbSBkaXNjbG9zdXJlIHRvIGFueW9uZSBlbHNlLiBJZiB5b3UgYXJlDQo+bm90IHRoZSBpbnRl bmRlZCByZWNpcGllbnQgb3IgdGhlIHBlcnNvbiByZXNwb25zaWJsZSBmb3IgZGVsaXZlcmluZyB0 aGUNCj5lLW1haWwgdG8gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90 aWZpZWQgdGhhdCBhbnkgdXNlLA0KPmNvcHlpbmcsIGRpc3RyaWJ1dGluZywgZGlzc2VtaW5hdGlv biwgZm9yd2FyZGluZywgcHJpbnRpbmcsIG9yIGNvcHlpbmcgb2YNCj50aGlzIGUtbWFpbCBpcyBz dHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3Is DQo+cGxlYXNlIHJldHVybiB0aGUgZS1tYWlsIHRvIHRoZSBzZW5kZXIsIGRlbGV0ZSBpdCBmcm9t IHlvdXIgY29tcHV0ZXIsIGFuZA0KPmRlc3Ryb3kgYW55IHByaW50ZWQgY29weSBvZiBpdC4NCg==