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 CCDDAA0505 for ; Tue, 29 Mar 2022 04:19:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C29E042857; Tue, 29 Mar 2022 04:19:40 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id DE85F40691; Tue, 29 Mar 2022 04:19:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648520377; x=1680056377; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=sV7Nhyihv7C1t/1ZxqJoBsC8jWtLl6THwGNFu9uE6CY=; b=A73K0G7raZOn/7ve6k235QoM9XERmNZ8SeOMy/c2kRUp5RNLBNo0iLH1 TfzDMnJhqzbTQDzKNsfOY+Xc/QlvZC2HvCZ6p1ULgZqUvXE8WvUh717Jg pKLc+hSVFFYDwkrV4xLD62hQvzsyAJW6AYZghYyt+/fcFU6OzOm5zNC4+ RDxKyH7CrRKD8Vcyeu5bJQxbYepc5Z329vWgF4TWHodsDu775PElKYHL3 YE9qjP9/eW1x+h9+roemFu3c8klEhHmDPLXG27DOLqFEfe32VonCZ0PRU RX5QSuKlL330jhiquoCuLPgP+654WHod7O1wkCdVzzNN7g4JO0f+0o+UP w==; X-IronPort-AV: E=McAfee;i="6200,9189,10300"; a="239739266" X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="239739266" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2022 19:19:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="546191808" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 28 Mar 2022 19:19:35 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 28 Mar 2022 19:19:34 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 28 Mar 2022 19:19:34 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 28 Mar 2022 19:19:34 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.170) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Mon, 28 Mar 2022 19:19:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h4cKvUnH4TVHAWmobPOwoegQE9iX3lpIxgvCKJhOall1fCnPXdVFOse/iQomOxAb0RgRS/ZIp14iRMQsLTdj2SsEcO0Fo6LLdlQcrhoBvaHpXLSEPqj1Ubuk6Z7q7HjpRe+Wol6+G4sRMLWEpgyzvLrN92uEDk5V1cskaJ2ySb111PRs9UQ0Le+oYcTOKaEberxZ2TxxN8zbxzeyPNB/IBvnomuV6QdLeT9cf7QV+7VsrUAFjqc03gcpoGLVoERt1kX+HpihoOp0quzquKSZFfYfp+HsF4xNCPS6uE0mYpdcu4b8ynr8KjqESP2OThE+FzYfK559f/q1+rB3+dxCUQ== 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=sV7Nhyihv7C1t/1ZxqJoBsC8jWtLl6THwGNFu9uE6CY=; b=aFwxlSwjPXDl5r4VWYLW7vGMB31PdWk4pUbR6KFQs8QjUrINssbsdkgfhpfrp6v16ThjZ8qs7oQSosahurySBbO55kla26GHLhIVWlzgEaafks1X/ESIosod7WWx/q6mAig1oV20+sBgn0xebzp1ySAdeLpV65DZJd8KHRDzuUF6d0rQdxmAGIT1y4V+DgfIQdYBd34U/1+ncDwr6rC0BPRv6WhaaBhfOc0Briol3Pr5OEW4bURk9nplsmeIIUjiMOHL6oPbRjxJccuu9JpaSOf+Og7cWIx8JAGLtwjn1GnsG218MJhS9k3pfnDfW3ER8wuGEUSbze65M6ApCWEQAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB3530.namprd11.prod.outlook.com (2603:10b6:5:72::19) by BYAPR11MB3061.namprd11.prod.outlook.com (2603:10b6:a03:83::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.19; Tue, 29 Mar 2022 02:19:30 +0000 Received: from DM6PR11MB3530.namprd11.prod.outlook.com ([fe80::5853:b0ff:380:7dd4]) by DM6PR11MB3530.namprd11.prod.outlook.com ([fe80::5853:b0ff:380:7dd4%2]) with mapi id 15.20.5102.023; Tue, 29 Mar 2022 02:19:30 +0000 From: "Huang, Wei" To: "Zhang, Qi Z" , "dev@dpdk.org" , "thomas@monjalon.net" , "Xu, Rosen" , "nipun.gupta@nxp.com" , "hemant.agrawal@nxp.com" CC: "stable@dpdk.org" , "Zhang, Tianfei" , "Yigit, Ferruh" Subject: RE: [PATCH v3] raw/ifpga: remove vdev when ifpga is closed Thread-Topic: [PATCH v3] raw/ifpga: remove vdev when ifpga is closed Thread-Index: AQHYOqbI72u8Ik1aO0e5YRnEPIgAl6zVqnjAgAAFvQCAAAE7QA== Date: Tue, 29 Mar 2022 02:19:30 +0000 Message-ID: References: <20220315011755.1588005-1-wei.huang@intel.com> <20220318085755.2134030-1-wei.huang@intel.com> <687b7f7a191846c39e12a08c0e0f27ce@intel.com> In-Reply-To: <687b7f7a191846c39e12a08c0e0f27ce@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 274acc8b-1f74-419b-74d8-08da112a8e78 x-ms-traffictypediagnostic: BYAPR11MB3061:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 14i+e8+ZVOKaXbqDfZKWNtR1ELqlbCaiytRV8b83WPPnbF0TeluZcIsst3pL+D6QZW4LJJsrTNw/6vZtWN0Bp+YPzMaCz2JF3vmZXL+z61jVZ2J2eTHiSusxSsLo3jOKFTjluf4rlcfHaGIXgwZLc/k/y9O30Dm4pZz5637zrAQn/YrpRa+4vlnbJBmj5JITWpCbmUfBAuGA3JP2Pa8A3TBPv/OeFyIZpsvG547ZMBOBFL1YJTV/Iy7XelHJ7HxBZj02Y1DLYgs1jD32Fa2g1aCEcijysUX2IqG7Fh278aSF9QsrM+DXq211cL2jz2YjTTRJsHkxOc5u8VwmubNhRSZndpCOsz5yly9O4EVOsVc1MfDEjeaHKFpqjuU8OiLmknnk+ms6Xi6DnwDngd8ShmWXhV2uy/Ai8HlH9vKjjS28SCHONV3I9qWT/A8s7hArz4L2elQfO+NLiMTF7U9R+aIzD5R3ezGjC0wo5MMjkH0zqYfWJrX4p3jJXvq4KjhMWeChqxWFxGun3zqLl457BuZ3TqpZKfF/KYpFEOb6xcr7yKfWGMBFUqXT5RC7AXe5HMWs8K20zItOQq8BrInscjr8f73A1vBrgTBBqyJb2ltgEE5iTK0wyemCG+lZquC+Vw1bL2piy29sFMvCNFVRFydYLaFB9/fMyVilQvxWf8bboDkLrp1/AAkxCClpiY8vzaw0FiUWLZhQdmCr2RQl6Lu4YFzH7bhYseMoJkMQYYgDcWREZbSvdSs1hutYLCBjAxnf8djzbybhwrU7fGVNC7vrXMJNZmXE7U89lnZEuo6wdT7lYjHL1epXcgD5Pgs8OPJyJ6RbeLRu4IoUbrw1ug== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3530.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(38070700005)(33656002)(86362001)(5660300002)(8936002)(52536014)(83380400001)(110136005)(71200400001)(316002)(54906003)(82960400001)(55016003)(66446008)(122000001)(76116006)(30864003)(53546011)(6506007)(7696005)(8676002)(508600001)(66476007)(64756008)(66946007)(66556008)(966005)(4326008)(107886003)(38100700002)(26005)(186003)(2906002)(9686003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WDJmSDg4c0l5em43S0ZKcjVxYjQwSnZpU0NUcnYzbXEvY2dMYzhEUzN6WXZy?= =?utf-8?B?V291UkRBMUpVcm9RdzVkbklOSFVIVjhLeWtXZVNjTTc1bE1KSEtrM2FrSWQ5?= =?utf-8?B?d3plSUdVTTNmdDdnTXdSM1hoZU1QdTV5Nk0wZGIzUENTelNmMG9OVEh2dHJr?= =?utf-8?B?TUEzQzRhWXZCUUZ6dVE1RDVrcWdtTk5TdmhQNUFiTkVNU0E2UHNYV1NtVkd0?= =?utf-8?B?RENZYkV2WTMyV2JoaTFpbEIxUkJtOE02bk5hQTV4K1dlQml2Y0RvTlpzTG1T?= =?utf-8?B?bFhuNTJkNEk1ZGMzSU8xS2h0UnBMaStMTjg4WVVCWVRNZkhxakZINkVOa1FR?= =?utf-8?B?eGg0NEJVcmpaVjdjb3NJb003Z3dFTEozQ3pkNmM1ZFl0N0dCRXBqVVdtZHdz?= =?utf-8?B?VWFwSGQxY1J5TFVsVmdVbUpDaCt3Um52aW1HcUcyUVY5Z0k2Q2twbW9keWhX?= =?utf-8?B?cUpNQUErZGlDZGZmNWQ5cmNxUFpXZW5KSVd0eFVSVXdSdWo5SmJndDNaSXNV?= =?utf-8?B?Nk9EamFPMzBpVFpKZnZwSndDcklBbUd0M3hZTUNwZTdvUUxaSjJIWGRjQVNG?= =?utf-8?B?U3g3VjB0OFZPNElGQlBsY08xMVNLV2YzdWNobEhhV2lDa1dRYy9LYVE0SjVh?= =?utf-8?B?Nmh0Ny9SSzR4TjNRejhDdWFpZEdIUllVd3VLWlF3bDdjdjBMaTEwMVhaU0Vm?= =?utf-8?B?aVZaSWhYbE45a1FNY2s1bDlacUFGR2dwaXFWRHc3QXVUTTZReURNL3UwZkNL?= =?utf-8?B?SCtpRjJLQzZRTU9xa3pTWHBaRjMzNG9xWVhONmZVcmZPcHRqRG8vdG1DNXJO?= =?utf-8?B?TDBjOTROOWNWWStQbkhWOGVORVlQaDcyMkFrRjJPMTI0ODArOHZVd1dVSGFH?= =?utf-8?B?U2FtMVg5bUdwOEdXTFN0RUQramUzK0g5Rmc5L2dJNGU0bUFkVHNhamJKSk1x?= =?utf-8?B?d2NrTTFyT3l4OXRzUFcwT214eDdjUTRjeUNxQ1I3Y0pGUUc4ZkZLM0VCSTZL?= =?utf-8?B?VGlIc2JualNmdlI3b3JJaGRpM0RlVXZ0SGNHZDJXVW8yeUhmTk1maXZ1bmpI?= =?utf-8?B?YXJyL25PZG9kTEhTOTU0Q1JvR1VTOGlkaFlraTdaU1YxamtKNUR4QXdPK2Zt?= =?utf-8?B?eW5wK1kxazdNMGwzZXJ4YXMzWTFpaXhET3RFUktIZjBnVnJ5YlA3SGRoVnRx?= =?utf-8?B?OTFEUzJvRGgzemtrV25pWmFiVUV0M2NwdjI2STA2SFB1Vk01NmZtczJnNmlu?= =?utf-8?B?VnNwSXBlR0J4M2NiVFc5WWxwUHpITWlSSVlDQnExUzBaVEE3SFRkOVZwWm1G?= =?utf-8?B?citUdGlrcm5iclpOMFdoMktlakEyZzhYUUFneER1dzBXbWNQckw5eWViZGdU?= =?utf-8?B?dVVtNWlWVmtSUDFoNXVGT1ViN3hqY0ZiL2xCUys4WHZtcTR3UXk5aHQ0YXNR?= =?utf-8?B?UnlUdXZlMWFPKzJWbFZXRWRKMWpzN280dXBneUhRcDlsUTdHRThmbmZxR1Zl?= =?utf-8?B?SXk5NWl0M3lwWit5bUlmaXo4azdGVjE5b2VqZ1BSRzlmeEpxZjZrM0laRjhY?= =?utf-8?B?VWZ2NEE2bGxLV0VTS3RYNTBSK29CYW85OTRidXlHeE1uMUFSR09Ncy9ZcHJl?= =?utf-8?B?UTNBUTlJZmtKK0VBS2syOVVnS0pIMFcvaENsNDRYVHFEVTdZVmRMaEd2UEhW?= =?utf-8?B?eHVOUExWVlRCS3VMaWtiaHEyRzRFOXg0cXdjYjVUa0t6SDdGYzNNMHo3a2FT?= =?utf-8?B?aDZTWHZ6bDBIVWx2eTRkSloyaTJhcVBrUngwdW1ES0pwZ0V1NGVqQWlhZFNk?= =?utf-8?B?TTdnNlpRQzNGU3ZROEJyQUppT3RUV0xUcXdqRk1WZENDUUplM0crMEtPR3Ix?= =?utf-8?B?aTVmNzVzV05vNGI5OUQ2WVZFcCt6em5NMjJHSEg4VUkyWjF5aTFXQXV6V3JB?= =?utf-8?B?NUViN1dPWW5ralpnWnorUnhaeSs0Sm5Ba1RXYjYvYVRCbDJodkh5ZnQxNTdK?= =?utf-8?B?c21xZmFNbXBraDA5UUlUWlI4ZGtSTy85MlRMV2pnQk00RGRnaWlveWNOWGRr?= =?utf-8?B?bUpLalJHcUt1TzQ0eDdYRm1TNWdoV2UrOU9sWWtIU3gvaFRjams0SXRHZTht?= =?utf-8?B?bjFMbW1xVS8zcHVOQmZCTStqUXZEZDFjQjY3TTVTS005L1lVUmRJa000Z2hW?= =?utf-8?B?dGNEd3ZNSUFHdHAycndVb1diMEZDYVgzTEwvNmJQQUQzYTB4Ry9udEtnTExp?= =?utf-8?B?UkNhVDZNVEh3SzZoMll3OGRCclJWY3VVZHF5bzVUUE03Y2tCeS9CbU40VkJo?= =?utf-8?B?UENpTHV5T2xHcEh0K2NlMzVleHhudHpmWSs0TzRZOE1laWNlZVgwdz09?= 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: DM6PR11MB3530.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 274acc8b-1f74-419b-74d8-08da112a8e78 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2022 02:19:30.1810 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lB+/CsJzAqU7bdoi8AwZ0qNOIT949mgZN0YbVhiTh5HgCUHAz35sYEHmzrQ4IojEQCDKixnfra84cNAHfCNL0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3061 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org R290IGl0LCB0aGFua3MuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog WmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJj aCAyOSwgMjAyMiAxMDoxNQ0KPiBUbzogSHVhbmcsIFdlaSA8d2VpLmh1YW5nQGludGVsLmNvbT47 IGRldkBkcGRrLm9yZzsNCj4gdGhvbWFzQG1vbmphbG9uLm5ldDsgWHUsIFJvc2VuIDxyb3Nlbi54 dUBpbnRlbC5jb20+Ow0KPiBuaXB1bi5ndXB0YUBueHAuY29tOyBoZW1hbnQuYWdyYXdhbEBueHAu Y29tDQo+IENjOiBzdGFibGVAZHBkay5vcmc7IFpoYW5nLCBUaWFuZmVpIDx0aWFuZmVpLnpoYW5n QGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWgNCj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjNdIHJhdy9pZnBnYTogcmVtb3ZlIHZkZXYgd2hlbiBpZnBn YSBpcyBjbG9zZWQNCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g RnJvbTogSHVhbmcsIFdlaSA8d2VpLmh1YW5nQGludGVsLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5 LCBNYXJjaCAyOSwgMjAyMiA5OjU2IEFNDQo+ID4gVG86IGRldkBkcGRrLm9yZzsgdGhvbWFzQG1v bmphbG9uLm5ldDsgWHUsIFJvc2VuDQo+IDxyb3Nlbi54dUBpbnRlbC5jb20+Ow0KPiA+IG5pcHVu Lmd1cHRhQG54cC5jb207IGhlbWFudC5hZ3Jhd2FsQG54cC5jb20NCj4gPiBDYzogc3RhYmxlQGRw ZGsub3JnOyBaaGFuZywgVGlhbmZlaSA8dGlhbmZlaS56aGFuZ0BpbnRlbC5jb20+OyBaaGFuZywN Cj4gPiBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55 aWdpdEBpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtQQVRDSCB2M10gcmF3L2lmcGdhOiBy ZW1vdmUgdmRldiB3aGVuIGlmcGdhIGlzIGNsb3NlZA0KPiA+DQo+ID4gSGkgVGhvbWFzLA0KPiA+ DQo+ID4gV291bGQgeW91IHBsZWFzZSBjaGVjayB0aGlzIHBhdGNoIGlzIGFjY2VwdGFibGUgPw0K PiANCj4gSGkgV2VpOg0KPiAyMi4wNyBjeWNsZSBqdXN0IGJlZ2lucywgSXQgbWF5IG5vdCBuZWNl c3NhcnkgdG8gcHVzaCBQTUQgbWVyZ2UgcXVpdGUgZWFybHkNCj4g8J+Yig0KPiBCZWxvdyBpcyB0 aGUgcm9hZG1hcCBmb3IgeW91ciByZWZlcmVuY2UNCj4gDQo+IGh0dHA6Ly9jb3JlLmRwZGsub3Jn L3JvYWRtYXAvDQo+IA0KPiBQcm9wb3NhbCBkZWFkbGluZSAoUkZDL3YxIHBhdGNoZXMpOiAxMCBB cHJpbCAyMDIyIEFQSSBmcmVlemUgKC1yYzEpOiAzMCBNYXkNCj4gMjAyMiBQTUQgZmVhdHVyZXMg ZnJlZXplICgtcmMyKTogMjAgSnVuZSAyMDIyIEJ1aWx0aW4gYXBwbGljYXRpb25zIGZlYXR1cmVz DQo+IGZyZWV6ZSAoLXJjMyk6IDI3IEp1bmUgMjAyMg0KPiBSZWxlYXNlOiAxMyBKdWx5IDIwMjIN Cj4gDQo+IFJlZ2FyZHMNCj4gUWkNCj4gDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiBGcm9tOiBIdWFuZywgV2VpIDx3ZWkuaHVhbmdAaW50ZWwuY29tPg0KPiA+ ID4gU2VudDogRnJpZGF5LCBNYXJjaCAxOCwgMjAyMiAxNjo1OA0KPiA+ID4gVG86IGRldkBkcGRr Lm9yZzsgdGhvbWFzQG1vbmphbG9uLm5ldDsgWHUsIFJvc2VuDQo+ID4gPHJvc2VuLnh1QGludGVs LmNvbT47DQo+ID4gPiBuaXB1bi5ndXB0YUBueHAuY29tOyBoZW1hbnQuYWdyYXdhbEBueHAuY29t DQo+ID4gPiBDYzogc3RhYmxlQGRwZGsub3JnOyBaaGFuZywgVGlhbmZlaSA8dGlhbmZlaS56aGFu Z0BpbnRlbC5jb20+Ow0KPiA+ID4gWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsg WWlnaXQsIEZlcnJ1aA0KPiA+ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBIdWFuZywgV2Vp IDx3ZWkuaHVhbmdAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogW1BBVENIIHYzXSByYXcvaWZw Z2E6IHJlbW92ZSB2ZGV2IHdoZW4gaWZwZ2EgaXMgY2xvc2VkDQo+ID4gPg0KPiA+ID4gVmlydHVh bCBkZXZpY2VzIGNyZWF0ZWQgb24gaWZwZ2EgcmF3IGRldmljZSBhcmUgbm90IHJlbW92ZWQgd2hl bg0KPiA+ID4gaWZwZ2EgaXMgY2xvc2VkLiBUbyBhdm9pZCBzdWNoIHByb2JsZW0sIGlmcGdhIHZp cnR1YWwgZGV2aWNlIHJlbW92ZQ0KPiA+ID4gZnVuY3Rpb24gaXMgaW1wbGVtZW50ZWQsIHZpcnR1 YWwgZGV2aWNlIGlzIHJlbW92ZWQgaW4gcmF3IGRldmljZSBjbG9zZQ0KPiBmdW5jdGlvbi4NCj4g PiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBXZWkgSHVhbmcgPHdlaS5odWFuZ0BpbnRlbC5jb20+ DQo+ID4gPiBBY2tlZC1ieTogVGlhbmZlaSBaaGFuZyA8dGlhbmZlaS56aGFuZ0BpbnRlbC5jb20+ DQo+ID4gPiBBY2tlZC1ieTogUm9zZW4gWHUgPHJvc2VuLnh1QGludGVsLmNvbT4NCj4gPiA+IC0t LQ0KPiA+ID4gdjI6IGNsZWFudXAgdmRldl9uYW1lIG5vIG1hdHRlciBydGVfdmRldl91bmluaXQg c3VjY2VlZCBvciBub3QNCj4gPiA+IC0tLQ0KPiA+ID4gdjM6IGNsZWFudXAgdmRldl9uYW1lIGlu IGlmcGdhX2NmZ19yZW1vdmUNCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZlcnMvcmF3L2lmcGdhL2lm cGdhX3Jhd2Rldi5jIHwgMTY2DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0NCj4gPiA+ICBkcml2ZXJzL3Jhdy9pZnBnYS9pZnBnYV9yYXdkZXYuaCB8ICAgOCAr Kw0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTM4IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9u cygtKQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Jhdy9pZnBnYS9pZnBnYV9y YXdkZXYuYw0KPiA+ID4gYi9kcml2ZXJzL3Jhdy9pZnBnYS9pZnBnYV9yYXdkZXYuYw0KPiA+ID4g aW5kZXggNmQ0MTE3Yy4uZmUzZmM0MyAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvcmF3L2lm cGdhL2lmcGdhX3Jhd2Rldi5jDQo+ID4gPiArKysgYi9kcml2ZXJzL3Jhdy9pZnBnYS9pZnBnYV9y YXdkZXYuYw0KPiA+ID4gQEAgLTEzNCw2ICsxMzQsOCBAQCBzdHJ1Y3QgaWZwZ2FfcmF3ZGV2ICog IGZvciAoaSA9IDA7IGkgPA0KPiA+ID4gSUZQR0FfTUFYX0lSUTsgaSsrKSAgZGV2LT5pbnRyX2hh bmRsZVtpXSA9IE5VTEw7ICBkZXYtPnBvbGxfZW5hYmxlZA0KPiA+ID4gPSAwOw0KPiA+ID4gK2Zv ciAoaSA9IDA7IGkgPCBJRlBHQV9NQVhfVkRFVjsgaSsrKQ0KPiA+ID4gK2Rldi0+dmRldl9uYW1l W2ldID0gTlVMTDsNCj4gPiA+DQo+ID4gPiAgcmV0dXJuIGRldjsNCj4gPiA+ICB9DQo+ID4gPiBA QCAtNzM2LDEwICs3MzgsMjIgQEAgc3RhdGljIGludCBzZXRfc3VycHJpc2VfbGlua19jaGVja19h ZXIoDQo+ID4gPiBzdGF0aWMgaW50IGlmcGdhX3Jhd2Rldl9jbG9zZShzdHJ1Y3QgcnRlX3Jhd2Rl diAqZGV2KSAgew0KPiA+ID4gK3N0cnVjdCBpZnBnYV9yYXdkZXYgKmlmcGdhX3JkZXYgPSBOVUxM Ow0KPiA+ID4gIHN0cnVjdCBvcGFlX2FkYXB0ZXIgKmFkYXB0ZXI7DQo+ID4gPiArY2hhciAqdmRl dl9uYW1lID0gTlVMTDsNCj4gPiA+ICtpbnQgaSA9IDA7DQo+ID4gPg0KPiA+ID4gIGlmIChkZXYp IHsNCj4gPiA+IC1pZnBnYV9tb25pdG9yX3N0b3BfZnVuYyhpZnBnYV9yYXdkZXZfZ2V0KGRldikp Ow0KPiA+ID4gK2lmcGdhX3JkZXYgPSBpZnBnYV9yYXdkZXZfZ2V0KGRldik7IGlmIChpZnBnYV9y ZGV2KSB7IGZvciAoaSA9IDA7IGkNCj4gPiA+ICs8IElGUEdBX01BWF9WREVWOyBpKyspIHsgdmRl dl9uYW1lID0gaWZwZ2FfcmRldi0+dmRldl9uYW1lW2ldOyBpZg0KPiA+ID4gKyh2ZGV2X25hbWUp IHJ0ZV92ZGV2X3VuaW5pdCh2ZGV2X25hbWUpOyB9DQo+ID4gPiAraWZwZ2FfbW9uaXRvcl9zdG9w X2Z1bmMoaWZwZ2FfcmRldik7DQo+ID4gPiAraWZwZ2FfcmRldi0+cmF3ZGV2ID0gTlVMTDsNCj4g PiA+ICt9DQo+ID4gPiAgYWRhcHRlciA9IGlmcGdhX3Jhd2Rldl9nZXRfcHJpdihkZXYpOyAgaWYg KGFkYXB0ZXIpIHsNCj4gPiA+IG9wYWVfYWRhcHRlcl9kZXN0cm95KGFkYXB0ZXIpOyBAQCAtMTYz OCw4ICsxNjUyLDYgQEAgc3RhdGljIGludA0KPiA+ID4gZm1lX2NsZWFuX2ZtZV9lcnJvcihzdHJ1 Y3Qgb3BhZV9tYW5hZ2VyICptZ3IpICByZXR1cm4gLUVJTlZBTDsgIH0NCj4gPiA+IGRldiA9IGlm cGdhX3Jhd2Rldl9nZXQocmF3ZGV2KTsgLWlmIChkZXYpDQo+ID4gPiAtZGV2LT5yYXdkZXYgPSBO VUxMOw0KPiA+ID4NCj4gPiA+ICBhZGFwdGVyID0gaWZwZ2FfcmF3ZGV2X2dldF9wcml2KHJhd2Rl dik7ICBpZiAoIWFkYXB0ZXIpIEBAIC0xNzE0LDczDQo+ID4gPiArMTcyNiwxMTggQEAgc3RhdGlj IGludCBpZnBnYV9yYXdkZXZfZ2V0X3N0cmluZ19hcmcoY29uc3QgY2hhciAqa2V5DQo+ID4gPiBf X3J0ZV91bnVzZWQsDQo+ID4gPg0KPiA+ID4gIHJldHVybiAwOw0KPiA+ID4gIH0NCj4gPiA+ICsN Cj4gPiA+ICBzdGF0aWMgaW50DQo+ID4gPiAtaWZwZ2FfY2ZnX3Byb2JlKHN0cnVjdCBydGVfdmRl dl9kZXZpY2UgKmRldikNCj4gPiA+ICtpZnBnYV92ZGV2X3BhcnNlX2RldmFyZ3Moc3RydWN0IHJ0 ZV9kZXZhcmdzICpkZXZhcmdzLCBzdHJ1Y3QNCj4gPiA+ICtpZnBnYV92ZGV2X2FyZ3MgKmFyZ3Mp DQo+ID4gPiAgew0KPiA+ID4gLXN0cnVjdCBydGVfZGV2YXJncyAqZGV2YXJnczsNCj4gPiA+IC1z dHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0ID0gTlVMTDsNCj4gPiA+IC1zdHJ1Y3QgcnRlX3Jhd2Rl diAqcmF3ZGV2ID0gTlVMTDsNCj4gPiA+IC1zdHJ1Y3QgaWZwZ2FfcmF3ZGV2ICppZnBnYV9kZXY7 DQo+ID4gPiAtaW50IHBvcnQ7DQo+ID4gPiArc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdDsNCj4g PiA+ICBjaGFyICpuYW1lID0gTlVMTDsNCj4gPiA+IC1jaGFyIGRldl9uYW1lW1JURV9SQVdERVZf TkFNRV9NQVhfTEVOXTsNCj4gPiA+IC1pbnQgcmV0ID0gLTE7DQo+ID4gPiAraW50IHBvcnQgPSAw Ow0KPiA+ID4gK2ludCByZXQgPSAtRUlOVkFMOw0KPiA+ID4NCj4gPiA+IC1kZXZhcmdzID0gZGV2 LT5kZXZpY2UuZGV2YXJnczsNCj4gPiA+ICtpZiAoIWRldmFyZ3MgfHwgIWFyZ3MpDQo+ID4gPiAr cmV0dXJuIHJldDsNCj4gPiA+DQo+ID4gPiAga3ZsaXN0ID0gcnRlX2t2YXJnc19wYXJzZShkZXZh cmdzLT5hcmdzLCB2YWxpZF9hcmdzKTsgIGlmICgha3ZsaXN0KQ0KPiA+ID4geyAtSUZQR0FfUkFX REVWX1BNRF9MT0coRVJSLCAiZXJyb3Igd2hlbiBwYXJzaW5nIHBhcmFtIik7IC1nb3RvDQo+IGVu ZDsNCj4gPiA+ICtJRlBHQV9SQVdERVZfUE1EX0VSUigiZXJyb3Igd2hlbiBwYXJzaW5nIGRldmFy Z3MiKTsgcmV0dXJuIHJldDsNCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gIGlmIChydGVfa3Zhcmdz X2NvdW50KGt2bGlzdCwgSUZQR0FfQVJHX05BTUUpID09IDEpIHsgIGlmDQo+ID4gPiAocnRlX2t2 YXJnc19wcm9jZXNzKGt2bGlzdCwgSUZQR0FfQVJHX05BTUUsDQo+ID4gPiAtICAgICAgICZpZnBn YV9yYXdkZXZfZ2V0X3N0cmluZ19hcmcsDQo+ID4gPiAtICAgICAgICZuYW1lKSA8IDApIHsNCj4g PiA+ICsmaWZwZ2FfcmF3ZGV2X2dldF9zdHJpbmdfYXJnLCAmbmFtZSkgPCAwKSB7DQo+ID4gPiAg SUZQR0FfUkFXREVWX1BNRF9FUlIoImVycm9yIHRvIHBhcnNlICVzIiwNCj4gPiA+IC0gICAgIElG UEdBX0FSR19OQU1FKTsNCj4gPiA+ICtJRlBHQV9BUkdfTkFNRSk7DQo+ID4gPiAgZ290byBlbmQ7 DQo+ID4gPiArfSBlbHNlIHsNCj4gPiA+ICtzdHJsY3B5KGFyZ3MtPmJkZiwgbmFtZSwgc2l6ZW9m KGFyZ3MtPmJkZikpOyBydGVfZnJlZShuYW1lKTsNCj4gPiA+ICB9DQo+ID4gPiAgfSBlbHNlIHsN Cj4gPiA+ICBJRlBHQV9SQVdERVZfUE1EX0VSUigiYXJnICVzIGlzIG1hbmRhdG9yeSBmb3IgaWZw Z2ENCj4gPiBidXMiLA0KPiA+ID4gLSAgSUZQR0FfQVJHX05BTUUpOw0KPiA+ID4gK0lGUEdBX0FS R19OQU1FKTsNCj4gPiA+ICBnb3RvIGVuZDsNCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gIGlmIChy dGVfa3ZhcmdzX2NvdW50KGt2bGlzdCwgSUZQR0FfQVJHX1BPUlQpID09IDEpIHsgLWlmDQo+ID4g PiAocnRlX2t2YXJnc19wcm9jZXNzKGt2bGlzdCwgLUlGUEdBX0FSR19QT1JULA0KPiA+ID4gLSZy dGVfaWZwZ2FfZ2V0X2ludGVnZXIzMl9hcmcsDQo+ID4gPiAtJnBvcnQpIDwgMCkgew0KPiA+ID4g K2lmIChydGVfa3ZhcmdzX3Byb2Nlc3Moa3ZsaXN0LCBJRlBHQV9BUkdfUE9SVCwNCj4gPiA+ICsm cnRlX2lmcGdhX2dldF9pbnRlZ2VyMzJfYXJnLCAmcG9ydCkgPCAwKSB7DQo+ID4gPiAgSUZQR0Ff UkFXREVWX1BNRF9FUlIoImVycm9yIHRvIHBhcnNlICVzIiwgIElGUEdBX0FSR19QT1JUKTsNCj4g Z290bw0KPiA+ID4gZW5kOw0KPiA+ID4gK30gZWxzZSB7DQo+ID4gPiArYXJncy0+cG9ydCA9IHBv cnQ7DQo+ID4gPiAgfQ0KPiA+ID4gIH0gZWxzZSB7DQo+ID4gPiAgSUZQR0FfUkFXREVWX1BNRF9F UlIoImFyZyAlcyBpcyBtYW5kYXRvcnkgZm9yIGlmcGdhDQo+ID4gYnVzIiwNCj4gPiA+IC0gIElG UEdBX0FSR19QT1JUKTsNCj4gPiA+ICtJRlBHQV9BUkdfUE9SVCk7DQo+ID4gPiAgZ290byBlbmQ7 DQo+ID4gPiAgfQ0KPiA+ID4NCj4gPiA+ICtyZXQgPSAwOw0KPiA+ID4gKw0KPiA+ID4gK2VuZDoN Cj4gPiA+ICtpZiAoa3ZsaXN0KQ0KPiA+ID4gK3J0ZV9rdmFyZ3NfZnJlZShrdmxpc3QpOw0KPiA+ ID4gKw0KPiA+ID4gK3JldHVybiByZXQ7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gK3N0YXRp YyBpbnQNCj4gPiA+ICtpZnBnYV9jZmdfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqdmRl dikgeyBzdHJ1Y3QgcnRlX3Jhd2Rldg0KPiA+ID4gKypyYXdkZXYgPSBOVUxMOyBzdHJ1Y3QgaWZw Z2FfcmF3ZGV2ICppZnBnYV9kZXY7IHN0cnVjdA0KPiA+ID4gK2lmcGdhX3ZkZXZfYXJncyBhcmdz OyBjaGFyDQo+IGRldl9uYW1lW1JURV9SQVdERVZfTkFNRV9NQVhfTEVOXTsNCj4gPiA+ICtjb25z dCBjaGFyICp2ZGV2X25hbWUgPSBOVUxMOw0KPiA+ID4gK2ludCBpLCBuLCByZXQgPSAwOw0KPiA+ ID4gKw0KPiA+ID4gK3ZkZXZfbmFtZSA9IHJ0ZV92ZGV2X2RldmljZV9uYW1lKHZkZXYpOyBpZiAo IXZkZXZfbmFtZSkgcmV0dXJuDQo+ID4gPiArLUVJTlZBTDsNCj4gPiA+ICsNCj4gPiA+ICtJRlBH QV9SQVdERVZfUE1EX0lORk8oInByb2JlIGlmcGdhIHZpcnR1YWwgZGV2aWNlICVzIiwNCj4gPiA+ IHZkZXZfbmFtZSk7DQo+ID4gPiArDQo+ID4gPiArcmV0ID0gaWZwZ2FfdmRldl9wYXJzZV9kZXZh cmdzKHZkZXYtPmRldmljZS5kZXZhcmdzLCAmYXJncyk7IGlmDQo+ID4gPiArKHJldCkgcmV0dXJu IHJldDsNCj4gPiA+ICsNCj4gPiA+ICBtZW1zZXQoZGV2X25hbWUsIDAsIHNpemVvZihkZXZfbmFt ZSkpOyAtc25wcmludGYoZGV2X25hbWUsDQo+ID4gPiBSVEVfUkFXREVWX05BTUVfTUFYX0xFTiwg IklGUEdBOiVzIiwgbmFtZSk7DQo+ID4gPiArc25wcmludGYoZGV2X25hbWUsIFJURV9SQVdERVZf TkFNRV9NQVhfTEVOLCAiSUZQR0E6JXMiLA0KPiA+ID4gYXJncy5iZGYpOw0KPiA+ID4gIHJhd2Rl diA9IHJ0ZV9yYXdkZXZfcG1kX2dldF9uYW1lZF9kZXYoZGV2X25hbWUpOw0KPiA+ID4gIGlmICgh cmF3ZGV2KQ0KPiA+ID4gLWdvdG8gZW5kOw0KPiA+ID4gK3JldHVybiAtRU5PREVWOw0KPiA+ID4g IGlmcGdhX2RldiA9IGlmcGdhX3Jhd2Rldl9nZXQocmF3ZGV2KTsgIGlmICghaWZwZ2FfZGV2KSAt Z290byBlbmQ7DQo+ID4gPiArcmV0dXJuIC1FTk9ERVY7DQo+ID4gPg0KPiA+ID4gLW1lbXNldChk ZXZfbmFtZSwgMCwgc2l6ZW9mKGRldl9uYW1lKSk7IC1zbnByaW50ZihkZXZfbmFtZSwNCj4gPiA+ IFJURV9SQVdERVZfTkFNRV9NQVhfTEVOLCAiJWR8JXMiLCAtcG9ydCwgbmFtZSk7DQo+ID4gPiAr Zm9yIChpID0gMDsgaSA8IElGUEdBX01BWF9WREVWOyBpKyspIHsgaWYgKGlmcGdhX2Rldi0+dmRl dl9uYW1lW2ldDQo+ID4gPiArPT0gTlVMTCkgeyBuID0gc3RybGVuKHZkZXZfbmFtZSkgKyAxOyBp ZnBnYV9kZXYtPnZkZXZfbmFtZVtpXSA9DQo+ID4gPiArcnRlX21hbGxvYyhOVUxMLCBuLCAwKTsg aWYgKGlmcGdhX2Rldi0+dmRldl9uYW1lW2ldID09IE5VTEwpIHJldHVybg0KPiA+ID4gKy1FTk9N RU07IHN0cmxjcHkoaWZwZ2FfZGV2LT52ZGV2X25hbWVbaV0sIHZkZXZfbmFtZSwgbik7IGJyZWFr OyB9IH0NCj4gPiA+DQo+ID4gPiAraWYgKGkgPj0gSUZQR0FfTUFYX1ZERVYpIHsNCj4gPiA+ICtJ RlBHQV9SQVdERVZfUE1EX0VSUigiQ2FuJ3QgY3JlYXRlIG1vcmUgdmlydHVhbA0KPiA+ID4gZGV2 aWNlISIpOw0KPiA+ID4gK3JldHVybiAtRU5PRU5UOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ ICtzbnByaW50ZihkZXZfbmFtZSwgUlRFX1JBV0RFVl9OQU1FX01BWF9MRU4sICIlZHwlcyIsDQo+ IGFyZ3MucG9ydCwNCj4gPiA+ICthcmdzLmJkZik7DQo+ID4gPiAgcmV0ID0gcnRlX2VhbF9ob3Rw bHVnX2FkZChSVEVfU1RSKElGUEdBX0JVU19OQU1FKSwNCj4gPiA+IC1kZXZfbmFtZSwgZGV2YXJn cy0+YXJncyk7DQo+ID4gPiAtZW5kOg0KPiA+ID4gLXJ0ZV9rdmFyZ3NfZnJlZShrdmxpc3QpOw0K PiA+ID4gLWZyZWUobmFtZSk7DQo+ID4gPiArZGV2X25hbWUsIHZkZXYtPmRldmljZS5kZXZhcmdz LT5hcmdzKTsgaWYgKHJldCkgew0KPiA+ID4gK3J0ZV9mcmVlKGlmcGdhX2Rldi0+dmRldl9uYW1l W2ldKTsNCj4gPiA+ICtpZnBnYV9kZXYtPnZkZXZfbmFtZVtpXSA9IE5VTEw7DQo+ID4gPiArfQ0K PiA+ID4NCj4gPiA+ICByZXR1cm4gcmV0Ow0KPiA+ID4gIH0NCj4gPiA+IEBAIC0xNzg4LDEwICsx ODQ1LDQ3IEBAIHN0YXRpYyBpbnQgaWZwZ2FfcmF3ZGV2X2dldF9zdHJpbmdfYXJnKGNvbnN0DQo+ ID4gPiBjaGFyICprZXkgX19ydGVfdW51c2VkLCAgc3RhdGljIGludCAgaWZwZ2FfY2ZnX3JlbW92 ZShzdHJ1Y3QNCj4gPiA+IHJ0ZV92ZGV2X2RldmljZSAqdmRldikgIHsgLUlGUEdBX1JBV0RFVl9Q TURfSU5GTygiUmVtb3ZlDQo+IGlmcGdhX2NmZw0KPiA+ID4gJXAiLCAtdmRldik7DQo+ID4gPiAr c3RydWN0IHJ0ZV9yYXdkZXYgKnJhd2RldiA9IE5VTEw7DQo+ID4gPiArc3RydWN0IGlmcGdhX3Jh d2RldiAqaWZwZ2FfZGV2Ow0KPiA+ID4gK3N0cnVjdCBpZnBnYV92ZGV2X2FyZ3MgYXJnczsNCj4g PiA+ICtjaGFyIGRldl9uYW1lW1JURV9SQVdERVZfTkFNRV9NQVhfTEVOXTsNCj4gPiA+ICtjb25z dCBjaGFyICp2ZGV2X25hbWUgPSBOVUxMOw0KPiA+ID4gK2NoYXIgKnRtcF92ZGV2ID0gTlVMTDsN Cj4gPiA+ICtpbnQgaSwgcmV0ID0gMDsNCj4gPiA+DQo+ID4gPiAtcmV0dXJuIDA7DQo+ID4gPiAr dmRldl9uYW1lID0gcnRlX3ZkZXZfZGV2aWNlX25hbWUodmRldik7IGlmICghdmRldl9uYW1lKSBy ZXR1cm4NCj4gPiA+ICstRUlOVkFMOw0KPiA+ID4gKw0KPiA+ID4gK0lGUEdBX1JBV0RFVl9QTURf SU5GTygicmVtb3ZlIGlmcGdhIHZpcnR1YWwgZGV2aWNlICVzIiwNCj4gPiA+IHZkZXZfbmFtZSk7 DQo+ID4gPiArDQo+ID4gPiArcmV0ID0gaWZwZ2FfdmRldl9wYXJzZV9kZXZhcmdzKHZkZXYtPmRl dmljZS5kZXZhcmdzLCAmYXJncyk7IGlmDQo+ID4gPiArKHJldCkgcmV0dXJuIHJldDsNCj4gPiA+ ICsNCj4gPiA+ICttZW1zZXQoZGV2X25hbWUsIDAsIHNpemVvZihkZXZfbmFtZSkpOyBzbnByaW50 ZihkZXZfbmFtZSwNCj4gPiA+ICtSVEVfUkFXREVWX05BTUVfTUFYX0xFTiwgIklGUEdBOiVzIiwN Cj4gPiA+IGFyZ3MuYmRmKTsNCj4gPiA+ICtyYXdkZXYgPSBydGVfcmF3ZGV2X3BtZF9nZXRfbmFt ZWRfZGV2KGRldl9uYW1lKTsNCj4gPiA+ICtpZiAoIXJhd2RldikNCj4gPiA+ICtyZXR1cm4gLUVO T0RFVjsNCj4gPiA+ICtpZnBnYV9kZXYgPSBpZnBnYV9yYXdkZXZfZ2V0KHJhd2Rldik7IGlmICgh aWZwZ2FfZGV2KSByZXR1cm4NCj4gPiA+ICstRU5PREVWOw0KPiA+ID4gKw0KPiA+ID4gK3NucHJp bnRmKGRldl9uYW1lLCBSVEVfUkFXREVWX05BTUVfTUFYX0xFTiwgIiVkfCVzIiwNCj4gYXJncy5w b3J0LA0KPiA+ID4gK2FyZ3MuYmRmKTsgcmV0ID0gcnRlX2VhbF9ob3RwbHVnX3JlbW92ZShSVEVf U1RSKElGUEdBX0JVU19OQU1FKSwNCj4gPiA+IGRldl9uYW1lKTsNCj4gPiA+ICsNCj4gPiA+ICtm b3IgKGkgPSAwOyBpIDwgSUZQR0FfTUFYX1ZERVY7IGkrKykgeyB0bXBfdmRldiA9DQo+ID4gPiAr aWZwZ2FfZGV2LT52ZGV2X25hbWVbaV07IGlmICh0bXBfdmRldiAmJiAhc3RyY21wKHRtcF92ZGV2 LA0KPiA+ID4gK3ZkZXZfbmFtZSkpIHsgZnJlZSh0bXBfdmRldik7IGlmcGdhX2Rldi0+dmRldl9u YW1lW2ldID0gTlVMTDsNCj4gPiA+ICticmVhazsgfSB9DQo+ID4gPiArDQo+ID4gPiArcmV0dXJu IHJldDsNCj4gPiA+ICB9DQo+ID4gPg0KPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgcnRlX3ZkZXZfZHJp dmVyIGlmcGdhX2NmZ19kcml2ZXIgPSB7IGRpZmYgLS1naXQNCj4gPiA+IGEvZHJpdmVycy9yYXcv aWZwZ2EvaWZwZ2FfcmF3ZGV2LmggYi9kcml2ZXJzL3Jhdy9pZnBnYS9pZnBnYV9yYXdkZXYuaA0K PiA+ID4gaW5kZXggODU3YjczNC4uZWI5YTlhNSAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMv cmF3L2lmcGdhL2lmcGdhX3Jhd2Rldi5oDQo+ID4gPiArKysgYi9kcml2ZXJzL3Jhdy9pZnBnYS9p ZnBnYV9yYXdkZXYuaA0KPiA+ID4gQEAgLTUwLDYgKzUwLDcgQEAgZW51bSBpZnBnYV9yYXdkZXZf ZGV2aWNlX3N0YXRlIHsNCj4gPiA+DQo+ID4gPiAgI2RlZmluZSBJRlBHQV9SQVdERVZfTVNJWF9J UlFfTlVNIDcNCj4gPiA+ICAjZGVmaW5lIElGUEdBX1JBV0RFVl9OVU0gMzINCj4gPiA+ICsjZGVm aW5lIElGUEdBX01BWF9WREVWIDQNCj4gPiA+ICAjZGVmaW5lIElGUEdBX01BWF9JUlEgMTINCj4g PiA+DQo+ID4gPiAgc3RydWN0IGlmcGdhX3Jhd2RldiB7DQo+ID4gPiBAQCAtNjQsNiArNjUsMTMg QEAgc3RydWN0IGlmcGdhX3Jhd2RldiB7DQo+ID4gPiAgdm9pZCAqaW50cl9oYW5kbGVbSUZQR0Ff TUFYX0lSUV07DQo+ID4gPiAgLyogZW5hYmxlIG1vbml0b3IgdGhyZWFkIHBvbGwgZGV2aWNlJ3Mg c2Vuc29ycyBvciBub3QgKi8NCj4gPiA+ICBpbnQgcG9sbF9lbmFibGVkOw0KPiA+ID4gKy8qIG5h bWUgb2YgdmlydHVhbCBkZXZpY2VzIGNyZWF0ZWQgb24gcmF3IGRldmljZSAqLw0KPiA+ID4gK2No YXIgKnZkZXZfbmFtZVtJRlBHQV9NQVhfVkRFVl07DQo+ID4gPiArfTsNCj4gPiA+ICsNCj4gPiA+ ICtzdHJ1Y3QgaWZwZ2FfdmRldl9hcmdzIHsNCj4gPiA+ICtjaGFyIGJkZls4XTsNCj4gPiA+ICtp bnQgcG9ydDsNCj4gPiA+ICB9Ow0KPiA+ID4NCj4gPiA+ICBzdHJ1Y3QgaWZwZ2FfcmF3ZGV2ICoN Cj4gPiA+IC0tDQo+ID4gPiAxLjguMy4xDQo+ID4NCj4gDQoNCg==