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 C57BDA0A0A; Fri, 22 Jan 2021 08:26:02 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A8C1D140CF9; Fri, 22 Jan 2021 08:26:02 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 74B32140CF7 for ; Fri, 22 Jan 2021 08:26:00 +0100 (CET) IronPort-SDR: 0D3A4ct/K6asTfGICFdj80HKPuL/SCQ5SBQ+pYyWseyYZ+Ajnn1ekTU60fqscxzb3K1kPA/RiW nKnpcG3Lq/5w== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="158582615" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="158582615" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 23:25:59 -0800 IronPort-SDR: uRebEHzz3Dr2igeGj1rWVtOmkOiBiq+uQLcVzLQnRtqsQZRZgJtld0IJCZWUNLbfyyrsUqgDCi CUEW7NQtlfkA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="351743017" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga003.jf.intel.com with ESMTP; 21 Jan 2021 23:25:59 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 23:25:58 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 23:25:58 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 21 Jan 2021 23:25:58 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 21 Jan 2021 23:25:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SmXPxCvqCSVU20eA+Mxe7cm+XkneXqVCPV6qXCU8kjHtUlXHB78sUIdwaCNdg0aJIJUNlMi8p2GsCl98A/FTPQhSzH8jW2EWsSNnrhUdtCG7ynA2S18ljoJtjUmlp+g7i5LRrLauOno75nGljXTFhcSqv8mU/UMOjKmUb13gFvVERtkHzQK5reJkSP9bRn0Y8IWgBEeSZfTS9T73a+4l2oTzt6+/FVTqGRwbG4t5y5kaOvZ97IlTqNgMPbpI3XjMXJhMlRxyGy0zn68ea59IwdbQrMazxA/7RKHsIVB4gJC/Y/CC1/1i09PJEML7mFIoBnU6sFhqmNySBQZegkJGFQ== 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=XX8mQjFNXuBnQVezWvmWmxd2uTqi7CQaIl/CQV55O5U=; b=g+Zz88E00+780utyihCDiilb0+WC/fP7TXBuopY3mFbnT8/38WKCk25Gba4f7KgLyMJ41qUQsTjDxcSBWzLdpPKgNyaPgDBMZ+f3Xse9rJe/lLzWid1v+QsrQ2h4A9WiwR11P7fD2KdY4AZJX8aaXAWShNqDcG+au/cZBWUlmEUN2rpRWheQaTErYo2q79Mg9+yv4pfgQwvAudM/3XT9YSX8fcQpu4m68pN9b06h+/kuofLF/062r5FUl5RYPeTpvk0uUGzUL0nx0hliGkaE8v0ZCths48nXuyN1KZXAdE6tzvhMJZuq/ftQ46NIAraxf0+pd6qonHowVtPp3koHlA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XX8mQjFNXuBnQVezWvmWmxd2uTqi7CQaIl/CQV55O5U=; b=nyPKYo97I8BAlIFxM6kQa8NOu+d5TWxpWD+JK7cg6hTnbB21a7dG4lyyALC9uFgCOdoIA+R6ykV7f9pGYw7KxpuOCWf8oTjjm4eRdr5fY1nV986R0WlPuU76wY4TClTstZoD71Vk6OwjNEGHevyxHLfrrKSQE0fPdcS5QbPuoes= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3568.namprd11.prod.outlook.com (2603:10b6:208:ee::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.13; Fri, 22 Jan 2021 07:25:56 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed%7]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 07:25:56 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v2 27/44] net/virtio: add Virtio-user features ops Thread-Index: AQHW7qnzocek8QAiRkSJOpLy/YJGfqozQY8Q Date: Fri, 22 Jan 2021 07:25:55 +0000 Message-ID: References: <20210119212507.1043636-1-maxime.coquelin@redhat.com> <20210119212507.1043636-28-maxime.coquelin@redhat.com> In-Reply-To: <20210119212507.1043636-28-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cef67c79-4d03-4149-1970-08d8bea6f572 x-ms-traffictypediagnostic: MN2PR11MB3568: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:393; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jzDXnU/oRzrvrFpQ5DG8ZGm57WoqwrmMAunK+dxSfsT+cc7zf07hKzKaFCroByEsII43PSqokddQXhr1bcIdsf2h3sVWAYSx8IPDUV1XQNI9N8Z9znmNFajAt9/EVlE0wa7Xan5fZFULgdvL9pXUyVviZdtcVyKWKZFmYdDvyXiCnGn3N7ovdJMaRjGrv0yNpjjgkcpuWf+NienXDW3PAb5gFO15P/XvwC51dnIHnv+NEHvCtp3Sl7nSw09Fd4CDFjjtBXt44lgnsd0RvS+1M1VscsRtnC0nv8OMec3D0c3n/QeV03irTXS334wQOcx4djjhAZtLYKNuCAY5FTFp5vuTEWeg1AFZAfyz6Gsp3lfPMhNDKtxtriaCOuKwWy/LLELZ9QOzkDDH7AkfXdKtbw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(83380400001)(52536014)(8936002)(86362001)(55016002)(9686003)(2906002)(478600001)(8676002)(64756008)(110136005)(5660300002)(53546011)(7696005)(71200400001)(33656002)(66446008)(6506007)(26005)(316002)(66476007)(66556008)(76116006)(186003)(66946007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?NWlnSVQ3T2J4S3V4OGVIYlVhVXZONmoyT25VNm5reHVwL2RIcFlGKzUweTRW?= =?utf-8?B?YVV3QXdtVWVsRVQwMlhwZm1YTUR1amdJTkNDSUI4MmR2cC9sZkU3eXlPeVBk?= =?utf-8?B?cWRXaFAyWktzdUcxRWIzeDVMZi8zRkNkL0x2SE1zWDY3SVZWQzlXVTZYQlox?= =?utf-8?B?YVV0NzBxbUVUOXI2ekpUMWYrK250Z3VZY1l5MDcxU1d5NGoxdVlaRVM5OHRJ?= =?utf-8?B?NzUvWG1lNXBxN1RWZjZDMVk4ektnS3FFRnRzRGo4VFBENlZjTnBpdzBUNllD?= =?utf-8?B?RnF4dFc5RWVia0JsYTc5UG5nRU4wZGtvSC95ejNBUG5aMmdzekk2ZVl0SElo?= =?utf-8?B?bFRCdTRHSUlkMnZVNDhCQjFzenNhVEU3WjJRZnBMdk4xNkZMY3YreXlCTm9t?= =?utf-8?B?dXRqZmE1U0JqMzlmR0J5emRuTkFobWw0MjBhbWt0bWxKZGdEWDdiSVNhbjdZ?= =?utf-8?B?WFhHdzI1U1dDY0ltYU9PV0taMHNDSEQvVGlVb2VmZ0xxSWg1aWtzeGtES2Nn?= =?utf-8?B?V2R2TFhseDZHeWt6Mm80V25oak43UFI2dnZEeEUweFRHZEdBSmJNTWI2c2Nr?= =?utf-8?B?NzJYU3RZMnFoMVp1VnZZd3M5WUhzelM0TVBDSVVKSmNLU21lRlBoek9sZFo1?= =?utf-8?B?NkdINDNpV1JRT2xMS1NzQ0c1dkE2bm1PU1VrWkpReWFQRGltRkxpcFI5a0l2?= =?utf-8?B?QUN4R0hDdGw1Q0FDU3RZSGR3QTVrVFRFTUhzK0VoMDI0Q28weHl6RGlGVlg4?= =?utf-8?B?QU40eVNvem5ZdUhkRXU4V2Jxb0lIam5pdDV3d1EvQWh0T01CQlZoa29vY0Vs?= =?utf-8?B?WVRVY3p2dDFJWHJtM2MwQlBxZlNhb1c3OVV6a3RiZmJFdVJZUW5lSStmd0RU?= =?utf-8?B?NDBicUpCN0VWVG1XNy92eXBENDBRTHd1S1BXQXVQZW5tV2RWbGxUWGludkln?= =?utf-8?B?Ulg2MGZUY2hVeko3WEZRZzNPUXpoc0NDdityVnJSblpPV0NaUEdKOWZGNEts?= =?utf-8?B?RExTUFBKNUZ4ejEvcWxhVUdIcStCV3pzV0tnNzNTN05PWHdYZXFwamZIK3RN?= =?utf-8?B?WExvZU5KUG13b0V5ZHdhUnlsdWZLUzdtU01EaURqbGs4TUwrZ1J3cHJ5a3l2?= =?utf-8?B?Yk4xNkE2NHdVZDZHeUI2VzZ5ajZCOW5UVHhqMFJnaGkxc3p2MWFlZFNzODRj?= =?utf-8?B?aDVtVnBUV1hLL2pWajRJOHJUVXFBcnNhdGN4YjUxU3dDVU9FMUVITzVaWHZy?= =?utf-8?B?N09qUDg2Q3pDRVBEekNtNXZjdWVMbUM2RUVZb3JiQ3FBaTlwM09sbmQvWDY3?= =?utf-8?Q?pBSuLE9KOhcCg=3D?= x-ms-exchange-transport-forked: True 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cef67c79-4d03-4149-1970-08d8bea6f572 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jan 2021 07:25:55.7343 (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: Ql0DSWVifdLr/+uYFved+RZPJNUGu2gOYuPwAj/7GzJEMwNEoF2PlYyl7E9KGP7qOoyxLJ87K68JFO8jVs/R4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3568 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 27/44] net/virtio: add Virtio-user features ops 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2Rh eSwgSmFudWFyeSAyMCwgMjAyMSA1OjI1IEFNDQo+IFRvOiBkZXZAZHBkay5vcmc7IFhpYSwgQ2hl bmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47IG9saXZpZXIubWF0ekA2d2luZC5jb207DQo+IGFt b3Jlbm96QHJlZGhhdC5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20NCj4gQ2M6IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFN1YmplY3Q6IFtQQVRD SCB2MiAyNy80NF0gbmV0L3ZpcnRpbzogYWRkIFZpcnRpby11c2VyIGZlYXR1cmVzIG9wcw0KPiAN Cj4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIG5ldyBjYWxsYmFja3MgZm9yIGdldHRpbmcNCj4gYW5k IHNldHRpbmcgVmlydGlvIGZlYXR1cmVzLCBhbmQgaW1wbGVtZW50cyB0aGVtDQo+IGZvciB0aGUg ZGlmZmVyZW50IGJhY2tlbmQgdHlwZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29x dWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oICAgICAgICB8ICAgMiArDQo+ICBkcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rfa2VybmVsLmMgfCAxNTAgKysrKysrKysrLS0tLS0t LS0tDQo+ICAuLi4vbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWxfdGFwLmMgfCAg MjMgKysrDQo+ICAuLi4vbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF9rZXJuZWxfdGFwLmgg fCAgIDEgKw0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3VzZXIuYyAg IHwgIDY0ICsrKysrKystDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3Rf dmRwYS5jICAgfCAgMzggKysrLS0NCj4gIC4uLi9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRp b191c2VyX2Rldi5jICB8ICAgNSArLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy X2V0aGRldi5jICAgICAgIHwgICAzICstDQo+ICA4IGZpbGVzIGNoYW5nZWQsIDE5MCBpbnNlcnRp b25zKCspLCA5NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92 aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3QuaA0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlci92aG9zdC5oDQo+IGluZGV4IDU0MTNlYzY3NzguLjEzYTg4Yzc2NzEgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+ICsrKyBiL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oDQo+IEBAIC0xMTAsNiArMTEwLDggQEAg c3RydWN0IHZpcnRpb191c2VyX2RldjsNCg0KPHNuaXA+DQoNCj4gKw0KPiArCXJldCA9IHRhcF9z dXBwb3J0X2ZlYXR1cmVzKCZ0YXBfZmVhdHVyZXMpOw0KPiArCWlmIChyZXQgPCAwKSB7DQo+ICsJ CVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBnZXQgVEFQIGZlYXR1cmVzKSIpOw0KDQpEZWxl dGUgdGhlICcpJyBiZWZvcmUgIiA/DQoNCj4gKwkJcmV0dXJuIC0xOw0KPiArCX0NCj4gKw0KDQo8 c25pcD4NCg0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfZ2V0X2ZlYXR1cmVzKHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgdWludDY0X3QgKmZlYXR1cmVzKQ0KPiArew0KPiAr CWludCByZXQ7DQo+ICsJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4gKwkJLnJlcXVl c3QgPSBWSE9TVF9VU0VSX0dFVF9GRUFUVVJFUywNCj4gKwkJLmZsYWdzID0gVkhPU1RfVVNFUl9W RVJTSU9OLA0KPiArCX07DQo+ICsNCj4gKwlyZXQgPSB2aG9zdF91c2VyX3dyaXRlKGRldi0+dmhv c3RmZCwgJm1zZywgTlVMTCwgMCk7DQo+ICsJaWYgKHJldCA8IDApDQo+ICsJCWdvdG8gZXJyOw0K PiArDQo+ICsJcmV0ID0gdmhvc3RfdXNlcl9yZWFkKGRldi0+dmhvc3RmZCwgJm1zZyk7DQo+ICsJ aWYgKHJldCA8IDApDQo+ICsJCWdvdG8gZXJyOw0KDQpCZXR0ZXIgYWRkIGVycm9yIGxvZyBib3Ro IGFmdGVyIHdyaXRlIGFuZCByZWFkPw0KDQpUaGFua3MhDQpDaGVuYm8NCg0KPiArDQo+ICsJaWYg KG1zZy5yZXF1ZXN0ICE9IFZIT1NUX1VTRVJfR0VUX0ZFQVRVUkVTKSB7DQo+ICsJCVBNRF9EUlZf TE9HKEVSUiwgIlVuZXhwZWN0ZWQgcmVxdWVzdCB0eXBlICglZCkiLCBtc2cucmVxdWVzdCk7DQo+ ICsJCWdvdG8gZXJyOw0KPiArCX0NCj4gKw0KPiArCWlmIChtc2cuc2l6ZSAhPSBzaXplb2YoKmZl YXR1cmVzKSkgew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJVbmV4cGVjdGVkIHBheWxvYWQgc2l6 ZSAoJXUpIiwgbXNnLnNpemUpOw0KPiArCQlnb3RvIGVycjsNCj4gKwl9DQo+ICsNCj4gKwkqZmVh dHVyZXMgPSBtc2cucGF5bG9hZC51NjQ7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK2VycjoNCj4g KwlQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gZ2V0IGJhY2tlbmQgZmVhdHVyZXMiKTsNCj4g Kw0KPiArCXJldHVybiAtMTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmhvc3RfdXNl cl9zZXRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdCBmZWF0 dXJlcykNCj4gK3sNCj4gKwlpbnQgcmV0Ow0KPiArCXN0cnVjdCB2aG9zdF91c2VyX21zZyBtc2cg PSB7DQo+ICsJCS5yZXF1ZXN0ID0gVkhPU1RfVVNFUl9TRVRfRkVBVFVSRVMsDQo+ICsJCS5mbGFn cyA9IFZIT1NUX1VTRVJfVkVSU0lPTiwNCj4gKwkJLnNpemUgPSBzaXplb2YoZmVhdHVyZXMpLA0K PiArCQkucGF5bG9hZC51NjQgPSBmZWF0dXJlcywNCj4gKwl9Ow0KPiArDQo+ICsJbXNnLnBheWxv YWQudTY0IHw9IGRldi0+ZGV2aWNlX2ZlYXR1cmVzICYgKDFVTEwgPDwNCj4gVkhPU1RfVVNFUl9G X1BST1RPQ09MX0ZFQVRVUkVTKTsNCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJfd3JpdGUoZGV2 LT52aG9zdGZkLCAmbXNnLCBOVUxMLCAwKTsNCj4gKwlpZiAocmV0IDwgMCkgew0KPiArCQlQTURf RFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gc2V0IGZlYXR1cmVzIik7DQo+ICsJCXJldHVybiAtMTsN Cj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAgc3RydWN0IHdhbGtfYXJn IHsNCj4gIAlzdHJ1Y3Qgdmhvc3RfbWVtb3J5ICp2bTsNCj4gIAlpbnQgKmZkczsNCj4gQEAgLTI0 OSw4ICszMDcsNiBAQCBzdGF0aWMgc3RydWN0IHZob3N0X3VzZXJfbXNnIG07DQo+IA0KPiAgY29u c3QgY2hhciAqIGNvbnN0IHZob3N0X21zZ19zdHJpbmdzW10gPSB7DQo+ICAJW1ZIT1NUX1VTRVJf UkVTRVRfT1dORVJdID0gIlZIT1NUX1JFU0VUX09XTkVSIiwNCj4gLQlbVkhPU1RfVVNFUl9TRVRf RkVBVFVSRVNdID0gIlZIT1NUX1NFVF9GRUFUVVJFUyIsDQo+IC0JW1ZIT1NUX1VTRVJfR0VUX0ZF QVRVUkVTXSA9ICJWSE9TVF9HRVRfRkVBVFVSRVMiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklO R19DQUxMXSA9ICJWSE9TVF9TRVRfVlJJTkdfQ0FMTCIsDQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1ZS SU5HX05VTV0gPSAiVkhPU1RfU0VUX1ZSSU5HX05VTSIsDQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1ZS SU5HX0JBU0VdID0gIlZIT1NUX1NFVF9WUklOR19CQVNFIiwNCj4gQEAgLTI5OSw3ICszNTUsNiBA QCB2aG9zdF91c2VyX3NvY2soc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCQkJCSgx VUxMIDw8IFZIT1NUX1VTRVJfUFJPVE9DT0xfRl9TVEFUVVMpKSkpDQo+ICAJCQlyZXR1cm4gLUVO T1RTVVA7DQo+ICAJCS8qIEZhbGx0aHJvdWdoICovDQo+IC0JY2FzZSBWSE9TVF9VU0VSX0dFVF9G RUFUVVJFUzoNCj4gIAljYXNlIFZIT1NUX1VTRVJfR0VUX1BST1RPQ09MX0ZFQVRVUkVTOg0KPiAg CQluZWVkX3JlcGx5ID0gMTsNCj4gIAkJYnJlYWs7DQo+IEBAIC0zOTgsNyArNDUzLDYgQEAgdmhv c3RfdXNlcl9zb2NrKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gIAkJfQ0KPiANCj4g IAkJc3dpdGNoIChyZXEpIHsNCj4gLQkJY2FzZSBWSE9TVF9VU0VSX0dFVF9GRUFUVVJFUzoNCj4g IAkJY2FzZSBWSE9TVF9VU0VSX0dFVF9TVEFUVVM6DQo+ICAJCWNhc2UgVkhPU1RfVVNFUl9HRVRf UFJPVE9DT0xfRkVBVFVSRVM6DQo+ICAJCQlpZiAobXNnLnNpemUgIT0gc2l6ZW9mKG0ucGF5bG9h ZC51NjQpKSB7DQo+IEBAIC01MzYsNiArNTkwLDggQEAgdmhvc3RfdXNlcl9lbmFibGVfcXVldWVf cGFpcihzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsDQo+ICBzdHJ1Y3QgdmlydGlvX3VzZXJf YmFja2VuZF9vcHMgdmlydGlvX29wc191c2VyID0gew0KPiAgCS5zZXR1cCA9IHZob3N0X3VzZXJf c2V0dXAsDQo+ICAJLnNldF9vd25lciA9IHZob3N0X3VzZXJfc2V0X293bmVyLA0KPiArCS5nZXRf ZmVhdHVyZXMgPSB2aG9zdF91c2VyX2dldF9mZWF0dXJlcywNCj4gKwkuc2V0X2ZlYXR1cmVzID0g dmhvc3RfdXNlcl9zZXRfZmVhdHVyZXMsDQo+ICAJLnNlbmRfcmVxdWVzdCA9IHZob3N0X3VzZXJf c29jaywNCj4gIAkuZW5hYmxlX3FwID0gdmhvc3RfdXNlcl9lbmFibGVfcXVldWVfcGFpcg0KPiAg fTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92 ZHBhLmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+ IGluZGV4IGQ5YmMyMTNlMGQuLjIyYTMyOTUyNmEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0 L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiBAQCAtNDAsOCArNDAsNiBAQA0KPiANCj4g IHN0YXRpYyB1aW50NjRfdCB2aG9zdF9yZXFfdXNlcl90b192ZHBhW10gPSB7DQo+ICAJW1ZIT1NU X1VTRVJfUkVTRVRfT1dORVJdID0gVkhPU1RfUkVTRVRfT1dORVIsDQo+IC0JW1ZIT1NUX1VTRVJf U0VUX0ZFQVRVUkVTXSA9IFZIT1NUX1NFVF9GRUFUVVJFUywNCj4gLQlbVkhPU1RfVVNFUl9HRVRf RkVBVFVSRVNdID0gVkhPU1RfR0VUX0ZFQVRVUkVTLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklO R19DQUxMXSA9IFZIT1NUX1NFVF9WUklOR19DQUxMLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklO R19OVU1dID0gVkhPU1RfU0VUX1ZSSU5HX05VTSwNCj4gIAlbVkhPU1RfVVNFUl9TRVRfVlJJTkdf QkFTRV0gPSBWSE9TVF9TRVRfVlJJTkdfQkFTRSwNCj4gQEAgLTEwNyw2ICsxMDUsMzIgQEAgdmhv c3RfdmRwYV9zZXRfb3duZXIoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0KPiAgCXJldHVy biB2aG9zdF92ZHBhX2lvY3RsKGRldi0+dmhvc3RmZCwgVkhPU1RfU0VUX09XTkVSLCBOVUxMKTsN Cj4gIH0NCj4gDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBhX2dldF9mZWF0dXJlcyhzdHJ1 Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIHVpbnQ2NF90ICpmZWF0dXJlcykNCj4gK3sNCj4gKwlp bnQgcmV0Ow0KPiArDQo+ICsJcmV0ID0gdmhvc3RfdmRwYV9pb2N0bChkZXYtPnZob3N0ZmQsIFZI T1NUX0dFVF9GRUFUVVJFUywgZmVhdHVyZXMpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJUE1EX0RS Vl9MT0coRVJSLCAiRmFpbGVkIHRvIGdldCBmZWF0dXJlcyIpOw0KPiArCQlyZXR1cm4gLTE7DQo+ ICsJfQ0KPiArDQo+ICsJLyogTXVsdGlxdWV1ZSBub3Qgc3VwcG9ydGVkIGZvciBub3cgKi8NCj4g KwkqZmVhdHVyZXMgJj0gfigxVUxMIDw8IFZJUlRJT19ORVRfRl9NUSk7DQo+ICsNCj4gKwlyZXR1 cm4gMDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludA0KPiArdmhvc3RfdmRwYV9zZXRfZmVhdHVy ZXMoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LCB1aW50NjRfdCBmZWF0dXJlcykNCj4gK3sN Cj4gKwkvKiBXT1JLQVJPVU5EICovDQo+ICsJZmVhdHVyZXMgfD0gMVVMTCA8PCBWSVJUSU9fRl9J T01NVV9QTEFURk9STTsNCj4gKw0KPiArCXJldHVybiB2aG9zdF92ZHBhX2lvY3RsKGRldi0+dmhv c3RmZCwgVkhPU1RfU0VUX0ZFQVRVUkVTLCAmZmVhdHVyZXMpOw0KPiArfQ0KPiArDQo+ICBzdGF0 aWMgaW50DQo+ICB2aG9zdF92ZHBhX2lvdGxiX2JhdGNoX2JlZ2luKHN0cnVjdCB2aXJ0aW9fdXNl cl9kZXYgKmRldikNCj4gIHsNCj4gQEAgLTM0MywxNCArMzY3LDYgQEAgdmhvc3RfdmRwYV9zZW5k X3JlcXVlc3Qoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCWlmIChyZXFfdmRwYSA9 PSBWSE9TVF9TRVRfTUVNX1RBQkxFKQ0KPiAgCQlyZXR1cm4gdmhvc3RfdmRwYV9kbWFfbWFwX2Fs bChkZXYpOw0KPiANCj4gLQlpZiAocmVxX3ZkcGEgPT0gVkhPU1RfU0VUX0ZFQVRVUkVTKSB7DQo+ IC0JCS8qIFdPUktBUk9VTkQgKi8NCj4gLQkJKih1aW50NjRfdCAqKWFyZyB8PSAxVUxMIDw8IFZJ UlRJT19GX0lPTU1VX1BMQVRGT1JNOw0KPiAtDQo+IC0JCS8qIE11bHRpcXVldWUgbm90IHN1cHBv cnRlZCBmb3Igbm93ICovDQo+IC0JCSoodWludDY0X3QgKilhcmcgJj0gfigxVUxMIDw8IFZJUlRJ T19ORVRfRl9NUSk7DQo+IC0JfQ0KPiAtDQo+ICAJc3dpdGNoIChyZXFfdmRwYSkgew0KPiAgCWNh c2UgVkhPU1RfU0VUX1ZSSU5HX05VTToNCj4gIAljYXNlIFZIT1NUX1NFVF9WUklOR19BRERSOg0K PiBAQCAtNDI5LDYgKzQ0NSw4IEBAIHZob3N0X3ZkcGFfZW5hYmxlX3F1ZXVlX3BhaXIoc3RydWN0 IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgc3RydWN0IHZpcnRpb191c2VyX2JhY2tlbmRfb3Bz IHZpcnRpb19vcHNfdmRwYSA9IHsNCj4gIAkuc2V0dXAgPSB2aG9zdF92ZHBhX3NldHVwLA0KPiAg CS5zZXRfb3duZXIgPSB2aG9zdF92ZHBhX3NldF9vd25lciwNCj4gKwkuZ2V0X2ZlYXR1cmVzID0g dmhvc3RfdmRwYV9nZXRfZmVhdHVyZXMsDQo+ICsJLnNldF9mZWF0dXJlcyA9IHZob3N0X3ZkcGFf c2V0X2ZlYXR1cmVzLA0KPiAgCS5zZW5kX3JlcXVlc3QgPSB2aG9zdF92ZHBhX3NlbmRfcmVxdWVz dCwNCj4gIAkuZW5hYmxlX3FwID0gdmhvc3RfdmRwYV9lbmFibGVfcXVldWVfcGFpciwNCj4gIAku ZG1hX21hcCA9IHZob3N0X3ZkcGFfZG1hX21hcF9iYXRjaCwNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBiL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYw0KPiBpbmRleCBmNGI5N2Q4 NDg5Li4xZjNiYmFlNjYzIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gKysrIGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRp b191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IEBAIC0xNDEsNyArMTQxLDcgQEAgdmlydGlvX3Vz ZXJfZGV2X3NldF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICAJLyog U3RyaXAgVklSVElPX05FVF9GX0NUUkxfVlEsIGFzIGRldmljZXMgZG8gbm90IHJlYWxseSBuZWVk IHRvIGtub3cgKi8NCj4gIAlmZWF0dXJlcyAmPSB+KDF1bGwgPDwgVklSVElPX05FVF9GX0NUUkxf VlEpOw0KPiAgCWZlYXR1cmVzICY9IH4oMXVsbCA8PCBWSVJUSU9fTkVUX0ZfU1RBVFVTKTsNCj4g LQlyZXQgPSBkZXYtPm9wcy0+c2VuZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9TRVRfRkVBVFVS RVMsICZmZWF0dXJlcyk7DQo+ICsJcmV0ID0gZGV2LT5vcHMtPnNldF9mZWF0dXJlcyhkZXYsIGZl YXR1cmVzKTsNCj4gIAlpZiAocmV0IDwgMCkNCj4gIAkJZ290byBlcnJvcjsNCj4gIAlQTURfRFJW X0xPRyhJTkZPLCAic2V0IGZlYXR1cmVzOiAlIiBQUkl4NjQsIGZlYXR1cmVzKTsNCj4gQEAgLTQ5 Niw4ICs0OTYsNyBAQCB2aXJ0aW9fdXNlcl9kZXZfaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2 ICpkZXYsIGNoYXINCj4gKnBhdGgsIGludCBxdWV1ZXMsDQo+ICAJCQlyZXR1cm4gLTE7DQo+ICAJ CX0NCj4gDQo+IC0JCWlmIChkZXYtPm9wcy0+c2VuZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9H RVRfRkVBVFVSRVMsDQo+IC0JCQkJCSAgICZkZXYtPmRldmljZV9mZWF0dXJlcykgPCAwKSB7DQo+ ICsJCWlmIChkZXYtPm9wcy0+Z2V0X2ZlYXR1cmVzKGRldiwgJmRldi0+ZGV2aWNlX2ZlYXR1cmVz KSA8IDApIHsNCj4gIAkJCVBNRF9JTklUX0xPRyhFUlIsICJnZXRfZmVhdHVyZXMgZmFpbGVkOiAl cyIsDQo+ICAJCQkJICAgICBzdHJlcnJvcihlcnJubykpOw0KPiAgCQkJcmV0dXJuIC0xOw0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+IGIv ZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyX2V0aGRldi5jDQo+IGluZGV4IDkxNzk0Yjg2 NDUuLjU2YzM3OWJjMTUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f dXNlcl9ldGhkZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXJfZXRo ZGV2LmMNCj4gQEAgLTg1LDggKzg1LDcgQEAgdmlydGlvX3VzZXJfc2VydmVyX3JlY29ubmVjdChz dHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+IA0KPiAgCXZpcnRpb19zZXRfc3RhdHVzKGh3 LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVIpOw0KPiANCj4gLQlpZiAoZGV2LT5vcHMtPnNl bmRfcmVxdWVzdChkZXYsIFZIT1NUX1VTRVJfR0VUX0ZFQVRVUkVTLA0KPiAtCQkJCSAgICZkZXYt PmRldmljZV9mZWF0dXJlcykgPCAwKSB7DQo+ICsJaWYgKGRldi0+b3BzLT5nZXRfZmVhdHVyZXMo ZGV2LCAmZGV2LT5kZXZpY2VfZmVhdHVyZXMpIDwgMCkgew0KPiAgCQlQTURfSU5JVF9MT0coRVJS LCAiZ2V0X2ZlYXR1cmVzIGZhaWxlZDogJXMiLA0KPiAgCQkJICAgICBzdHJlcnJvcihlcnJubykp Ow0KPiAgCQlyZXR1cm4gLTE7DQo+IC0tDQo+IDIuMjkuMg0KDQo=