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 AA5E6A09FF; Wed, 6 Jan 2021 12:57:07 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8F27D160951; Wed, 6 Jan 2021 12:57:07 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 743C116094C for ; Wed, 6 Jan 2021 12:57:06 +0100 (CET) IronPort-SDR: o65TTsfINTAG3FLg5i16JfMGXeJcOCqNIM2HdFifw31FLN/DpFNwhQZRMXF34m5gKx7psix0h4 pNFcyjh3Rqjw== X-IronPort-AV: E=McAfee;i="6000,8403,9855"; a="262033256" X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="262033256" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2021 03:57:05 -0800 IronPort-SDR: JmjquzTtTl6ZGPpkiaRwZ0d5nIOSJSozU/P7IrjtL7Dm7QUOes7bqoFk4/P3FBGbHaLA3PVVWx 6bUDPFR0CO8g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,480,1599548400"; d="scan'208";a="402675123" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 06 Jan 2021 03:57:05 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 6 Jan 2021 03:57:05 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.1713.5 via Frontend Transport; Wed, 6 Jan 2021 03:57:04 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) 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.1713.5; Wed, 6 Jan 2021 03:57:04 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=di5ylByqyY9sTh4BB9Jo++YuZZFIFUBiux+7JwtvLGUsv5ehY1+7IL56SQWulMq8m4o4aRXAb1CyI/H2RLuE9xHUjGuLmMgPgN/Xcw+vJ6pIUUmLqV6WhgoOFNUk7aAjl76sSpysCA8s20lGCluq+o1NneR3mXewoNdmbPGDpKWzLdqM3uNtsYTuiZ544sWWX0DtImGZ0WA9zkrE5+v0uDbHHOlkl4AtvD4YYKP+WsBVTmn9WKZ8yjV6ctJHISpPP6djn0XddwbuzECz0UrtdljAZW38JE7XMyoLN17fugksiGLtd4lOy/ecBqR8rKOAwYHdQqZkw9Ccf4pFhdP78g== 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=aV0Y8pfk7jnxWEi/4VGqUQ8Hl19eSBMLiO4PRZI4PpM=; b=lTJImSeK2gxOtt8cRVihkaBfYC2OoJdmu1nqdLRB1PPAb12jH5pAAgRXQvu0wrMZEFTya0wcPd+zb0wVsaDRSjzSbVvYzCqX+uopFBqb/br4zyUzWewgmMAXkEuz7sKphtunjbc3eDcXa+RAm6+x5TIPTHJ/nFPA5Q5QhM9lSAzlA4SDRNIS7YAO89Bt+Vh+NhX6VSAOpGghJ58Gy13bCq8DmRRJwRcTB3P19OpiugOYlhuIkqvvfZLGoF90YjWYIQCzPmZeVeL0g5C9qti0FKcluCVHZ0ZGxsafNkMBdNvVQIwZFbGd1zbgAb/59ERBhip3oxEcV3Jac/j7KuzpUA== 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=aV0Y8pfk7jnxWEi/4VGqUQ8Hl19eSBMLiO4PRZI4PpM=; b=CofiVXeSxHBoO9aDEW5smRlD8SBrdMHYauL17OZPZ6FbtHyC5yn1gcWJDMrX3Gs2N5KzwzD4537oAvJz/2WBUfP+cHuuftznIF5NoLedMOP3h7kvUcnWaH/WzjW64TTsgUC6iwFYdBfSshyqgg0D608/8RsWZJ0vu9qaOVwbUzc= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3565.namprd11.prod.outlook.com (2603:10b6:208:ea::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Wed, 6 Jan 2021 11:57:02 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 11:57:02 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH 27/40] net/virtio: add Virtio-user memory tables ops Thread-Index: AQHW1xVZVzJ/2I/ZhU6DRHuzgoKgoaoal14w Date: Wed, 6 Jan 2021 11:57:02 +0000 Message-ID: References: <20201220211405.313012-1-maxime.coquelin@redhat.com> <20201220211405.313012-28-maxime.coquelin@redhat.com> In-Reply-To: <20201220211405.313012-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.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 16201108-d087-4685-df41-08d8b23a2e57 x-ms-traffictypediagnostic: MN2PR11MB3565: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1360; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JLDRLhgQAENG1XbuuZld2nWDjKcNgPfYOufl6qAkxZ3s4Qaev2lxutaCg+xdtdw5DRdgl2VT4KmMajDGtX6UXFEu3IbJncOcz9eBIxJtBskRgVpJ7sh2zGiOhrL8MJCoCeY7PXEwcOH4JrUYY3FgRmHFE0Wmbbikz76mws55rcD5f7pipqxpROB27tthbiCuJLARwpUpAhHqEbhGh4VW8KObHjXUJqfnzUHA90gihffLtlffHgL45MzQUdcqNkbKU20JYniXfImEkfwzsrmTC8fFqM1RtAcXT5mlBDIsYeH9APiY64P5dZ0dbShYtNlSCLbPHwHLNeKxvoajALdCeWJf1XrSDNES/PD7Y4R/xs+Gisu/UqQsDBRC0AO668XH 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)(366004)(39860400002)(346002)(376002)(136003)(396003)(8936002)(186003)(52536014)(7696005)(5660300002)(64756008)(66476007)(66446008)(76116006)(26005)(55016002)(53546011)(33656002)(6506007)(66946007)(9686003)(316002)(478600001)(66556008)(110136005)(83380400001)(8676002)(71200400001)(86362001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?NTBqZlZNQnVVeTZiWlc2dGhrMXlpT1R1Wi90V0ZPdDR0eUxPTjgrajRDQ3I0?= =?utf-8?B?OEt2elY1a0dpdFp6amFWTEY5dFZMUlJhT3BNZzdLQ3RISjEydnZKVSs5VGRD?= =?utf-8?B?dEh0RXluMElEekZvRVRGQ1V6djdnczIweFBTdEpMRnBzQUk2WVJsbTZjNGJk?= =?utf-8?B?ZWdPcXoxb0I3bms1NkowVEo1RFkySitwLzhTUDRLTEljUm1IVS9rQXo1TEti?= =?utf-8?B?MExlM0VMRjRrek9YSHhKTEdzQ2dxbzN3STMzbnlXTjhBMXBlcHBKeERDYW0x?= =?utf-8?B?ako4UldoVzFNWk1FRzVubFlGeGpnSXdDQUYzWURHMEpaengzaFZ4cFJ2elV5?= =?utf-8?B?WkV2Nks1U2tlc2ZTYm5uYzRoemluNTZORmhRb2RRL2JEWkZCNjJFRmdseXAz?= =?utf-8?B?ajBtQ3pTK3JMMFZXOUViK0JDbmpOUWV5SExuTHFUWUxKTFBDaVJqekh4Umlh?= =?utf-8?B?TTh0MXAyTEdWSllLZitIWld4VWJoMTcvR2F6c2E5R1l4bjA2WXFpc3M0RW1u?= =?utf-8?B?bm5CT3NobHJkVUNRUzVPUEdvTUtpZ3RZb2xVNW1taVc4SzhXaW52c1lnVDhs?= =?utf-8?B?N3I1MjdLM0lucnp3UFFJNDlqREppaEE5WVoraVIxRnd2bFlFbTRWQkF4dmpr?= =?utf-8?B?TkFVZGRZSEZ5a3YwTkhmdTArUzhZMUlEekFYR3FWU2JwSkdUL2pWelNKcGk3?= =?utf-8?B?TEJZRjVFQ3dwblJuRWo4MWtWWm9TNUNxeTF6SXc1TTFmMkJ5ODRJYTF6ejR0?= =?utf-8?B?azNXejZxeEk3ZmlRZjZHcXFyUUhaZ1RmL1dYbUJ5dDJiQzBXN0Z2L3ZPUkk1?= =?utf-8?B?OHdmem9GcFZna09oNE0zT1NBd25tbXQ0Qi9EWi96WUsvLzhzVzRBSXk3dGUx?= =?utf-8?B?SEE5SjM1ZDBhazFuQzNtTkcydC9YZ0lyTDh0MStHTlVsU3piYUpSYlIzcklh?= =?utf-8?B?UGRPdmxxMGoxdGIyMks3WmZPUjVKYTFwQXZvcUs1c2EvNEJlcFBSekRBNkFq?= =?utf-8?B?QndRQk9leDQvTnBuLzd0UFpqeE9oTzNIVklaODhIYUpZcmZFRTl2TmlrOVlF?= =?utf-8?B?d1JzTDFNWHNQb0QvQjkyMmpVaGs2UjBGOHFCSWs5bXcrSENzREhyM1hxa3E5?= =?utf-8?B?akRRUHV2c3R4KzA5UXBFMldkbTZMYkJkZVN5TmpDbXFiM3A0YmVrZk4veDhL?= =?utf-8?B?LzlNWkNRa3RVRkJpcWdHU25Ib245ZjdyUHVGRjFzYWw3WFJmeTk0VjgwRTRJ?= =?utf-8?B?anRBRVFhMUp6L3JpcXA3bC95TXRLWHlOZTVEUmpoU1FVWktlMy8vL0dnWWdT?= =?utf-8?Q?gQF6OFdYTCryk=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: 16201108-d087-4685-df41-08d8b23a2e57 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2021 11:57:02.6973 (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: 6rLLLQjayLIU/9WOtn9azXHft+3ED/IkUQ40fOEpiwGSWUNYWkAyjHFR/IFb9glR7P0F1q/gy2gd45p/gzbbsQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3565 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 27/40] net/virtio: add Virtio-user memory tables 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+IFNlbnQ6IE1vbmRheSwg RGVjZW1iZXIgMjEsIDIwMjAgNToxNCBBTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5i byA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9y ZW5vekByZWRoYXQuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUg Q29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0gg MjcvNDBdIG5ldC92aXJ0aW86IGFkZCBWaXJ0aW8tdXNlciBtZW1vcnkgdGFibGVzIG9wcw0KPiAN Cj4gVGhpcyBwYXRjaCBpbXBsZW1lbnRzIGEgZGVkaWNhdGVkIGNhbGxiYWNrIGZvcg0KPiBwcmVw YXJpbmcgYW5kIHNlbmRpbmcgbWVtb3J5IHRhYmxlIHRvIHRoZSBiYWNrZW5kcy4NCj4gDQo+IFNp Z25lZC1vZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+IC0tLQ0KDQo8c25pcD4NCg0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3VzZXJfY2hl Y2tfcmVwbHlfYWNrKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwgc3RydWN0IHZob3N0X3Vz ZXJfbXNnDQo+ICptc2cpDQo+ICt7DQo+ICsJZW51bSB2aG9zdF91c2VyX3JlcXVlc3QgcmVxID0g bXNnLT5yZXF1ZXN0Ow0KPiArCWludCByZXQ7DQo+ICsNCj4gKwlpZiAoIShtc2ctPmZsYWdzICYg VkhPU1RfVVNFUl9ORUVEX1JFUExZX01BU0spKQ0KPiArCQlyZXR1cm4gMDsNCj4gKw0KPiArCXJl dCA9IHZob3N0X3VzZXJfcmVhZChkZXYtPnZob3N0ZmQsIG1zZyk7DQo+ICsJaWYgKHJldCA8IDAp IHsNCj4gKwkJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIHJlYWQgcmVwbHktYWNrIik7DQo+ ICsJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAocmVxICE9IG1zZy0+cmVxdWVzdCkg ew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJVbmV4cGVjdGVkIHJlcGx5LWFjayByZXF1ZXN0IHR5 cGUgKCVkKSIsIG1zZy0NCj4gPnJlcXVlc3QpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KDQpJ IHRoaW5rIGl0J3MgYmV0dGVyIHRvIGtlZXAgdGhlIHNpemUgY2hlY2s6IG1zZy5zaXplIHNob3Vs ZCBlcXVhbCBzaXplb2YobXNnLnBheWxvYWQudTY0KS4NCg0KPiArDQo+ICsJcmV0dXJuIG1zZy0+ cGF5bG9hZC51NjQgPyAtMSA6IDA7DQoNCkkgdGhpbmsgaXQncyBiZXR0ZXIgdG8gYWRkIGEgbG9n IGFmdGVyIGNoZWNraW5nIHBheWxvYWQncyB2YWx1ZS4gTG9va2luZyBiYWNrIHRvDQp2aG9zdF91 c2VyX3NldF9tZW1vcnlfdGFibGUsIHRoZXJlJ3Mgbm8gd2F5IGZvciB1c2VyIG9yIGRldmVsb3Bl ciB0byBrbm93IHdoYXQgaGFzDQpmYWlsZWQgKHZob3N0X3VzZXJfd3JpdGUgZmFpbHMgb3IgTkFD SykuIE1heWJlIGl0J3MgYWxzbyBiZXR0ZXIgdG8gYWRkIGVycm9yIGxvZyBpbg0Kb3Igb3V0c2lk ZSB2aG9zdF91c2VyX3dyaXRlIDopDQoNClRoYW5rcywNCkNoZW5ibw0KDQo+ICt9DQo+ICsNCj4g IHN0YXRpYyBpbnQNCj4gIHZob3N0X3VzZXJfc2V0X293bmVyKHN0cnVjdCB2aXJ0aW9fdXNlcl9k ZXYgKmRldikNCj4gIHsNCj4gQEAgLTMzNiwyNSArMzU5LDQ3IEBAIHVwZGF0ZV9tZW1vcnlfcmVn aW9uKGNvbnN0IHN0cnVjdCBydGVfbWVtc2VnX2xpc3QgKm1zbA0KPiBfX3J0ZV91bnVzZWQsDQo+ ICB9DQo+IA0KPiAgc3RhdGljIGludA0KPiAtcHJlcGFyZV92aG9zdF9tZW1vcnlfdXNlcihzdHJ1 Y3Qgdmhvc3RfdXNlcl9tc2cgKm1zZywgaW50IGZkc1tdKQ0KPiArdmhvc3RfdXNlcl9zZXRfbWVt b3J5X3RhYmxlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIHsNCj4gIAlzdHJ1Y3Qg d2Fsa19hcmcgd2E7DQo+ICsJaW50IGZkc1tWSE9TVF9NRU1PUllfTUFYX05SRUdJT05TXTsNCj4g KwlpbnQgcmV0LCBmZF9udW07DQo+ICsJc3RydWN0IHZob3N0X3VzZXJfbXNnIG1zZyA9IHsNCj4g KwkJLnJlcXVlc3QgPSBWSE9TVF9VU0VSX1NFVF9NRU1fVEFCTEUsDQo+ICsJCS5mbGFncyA9IFZI T1NUX1VTRVJfVkVSU0lPTiwNCj4gKwl9Ow0KPiArDQo+ICsJaWYgKGRldi0+cHJvdG9jb2xfZmVh dHVyZXMgJiAoMVVMTCA8PCBWSE9TVF9VU0VSX1BST1RPQ09MX0ZfUkVQTFlfQUNLKSkNCj4gKwkJ bXNnLmZsYWdzIHw9IFZIT1NUX1VTRVJfTkVFRF9SRVBMWV9NQVNLOw0KPiANCj4gIAl3YS5yZWdp b25fbnIgPSAwOw0KPiAtCXdhLnZtID0gJm1zZy0+cGF5bG9hZC5tZW1vcnk7DQo+ICsJd2Eudm0g PSAmbXNnLnBheWxvYWQubWVtb3J5Ow0KPiAgCXdhLmZkcyA9IGZkczsNCj4gDQo+ICAJLyoNCj4g IAkgKiBUaGUgbWVtb3J5IGxvY2sgaGFzIGFscmVhZHkgYmVlbiB0YWtlbiBieSBtZW1vcnkgc3Vi c3lzdGVtDQo+ICAJICogb3IgdmlydGlvX3VzZXJfc3RhcnRfZGV2aWNlKCkuDQo+ICAJICovDQo+ IC0JaWYgKHJ0ZV9tZW1zZWdfd2Fsa190aHJlYWRfdW5zYWZlKHVwZGF0ZV9tZW1vcnlfcmVnaW9u LCAmd2EpIDwgMCkNCj4gLQkJcmV0dXJuIC0xOw0KPiArCXJldCA9IHJ0ZV9tZW1zZWdfd2Fsa190 aHJlYWRfdW5zYWZlKHVwZGF0ZV9tZW1vcnlfcmVnaW9uLCAmd2EpOw0KPiArCWlmIChyZXQgPCAw KQ0KPiArCQlnb3RvIGVycjsNCj4gDQo+IC0JbXNnLT5wYXlsb2FkLm1lbW9yeS5ucmVnaW9ucyA9 IHdhLnJlZ2lvbl9ucjsNCj4gLQltc2ctPnBheWxvYWQubWVtb3J5LnBhZGRpbmcgPSAwOw0KPiAr CWZkX251bSA9IHdhLnJlZ2lvbl9ucjsNCj4gKwltc2cucGF5bG9hZC5tZW1vcnkubnJlZ2lvbnMg PSB3YS5yZWdpb25fbnI7DQo+ICsJbXNnLnBheWxvYWQubWVtb3J5LnBhZGRpbmcgPSAwOw0KPiAN Cj4gLQlyZXR1cm4gMDsNCj4gKwltc2cuc2l6ZSA9IHNpemVvZihtc2cucGF5bG9hZC5tZW1vcnku bnJlZ2lvbnMpOw0KPiArCW1zZy5zaXplICs9IHNpemVvZihtc2cucGF5bG9hZC5tZW1vcnkucGFk ZGluZyk7DQo+ICsJbXNnLnNpemUgKz0gZmRfbnVtICogc2l6ZW9mKHN0cnVjdCB2aG9zdF9tZW1v cnlfcmVnaW9uKTsNCj4gKw0KPiArCXJldCA9IHZob3N0X3VzZXJfd3JpdGUoZGV2LT52aG9zdGZk LCAmbXNnLCBmZHMsIGZkX251bSk7DQo+ICsJaWYgKHJldCA8IDApDQo+ICsJCWdvdG8gZXJyOw0K PiArDQo+ICsJcmV0dXJuIHZob3N0X3VzZXJfY2hlY2tfcmVwbHlfYWNrKGRldiwgJm1zZyk7DQo+ ICtlcnI6DQo+ICsJUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIHNldCBtZW1vcnkgdGFibGUi KTsNCj4gKwlyZXR1cm4gLTE7DQo+ICB9DQo+IA0KPiAgc3RhdGljIHN0cnVjdCB2aG9zdF91c2Vy X21zZyBtOw0KPiBAQCAtMzY3LDcgKzQxMiw2IEBAIGNvbnN0IGNoYXIgKiBjb25zdCB2aG9zdF9t c2dfc3RyaW5nc1tdID0gew0KPiAgCVtWSE9TVF9VU0VSX0dFVF9WUklOR19CQVNFXSA9ICJWSE9T VF9HRVRfVlJJTkdfQkFTRSIsDQo+ICAJW1ZIT1NUX1VTRVJfU0VUX1ZSSU5HX0FERFJdID0gIlZI T1NUX1NFVF9WUklOR19BRERSIiwNCj4gIAlbVkhPU1RfVVNFUl9TRVRfVlJJTkdfS0lDS10gPSAi VkhPU1RfU0VUX1ZSSU5HX0tJQ0siLA0KPiAtCVtWSE9TVF9VU0VSX1NFVF9NRU1fVEFCTEVdID0g IlZIT1NUX1NFVF9NRU1fVEFCTEUiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklOR19FTkFCTEVd ID0gIlZIT1NUX1NFVF9WUklOR19FTkFCTEUiLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9TVEFUVVNd ID0gIlZIT1NUX1NFVF9TVEFUVVMiLA0KPiAgCVtWSE9TVF9VU0VSX0dFVF9TVEFUVVNdID0gIlZI T1NUX0dFVF9TVEFUVVMiLA0KPiBAQCAtNDI2LDE4ICs0NzAsNiBAQCB2aG9zdF91c2VyX3NvY2so c3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiAgCWNhc2UgVkhPU1RfVVNFUl9SRVNFVF9P V05FUjoNCj4gIAkJYnJlYWs7DQo+IA0KPiAtCWNhc2UgVkhPU1RfVVNFUl9TRVRfTUVNX1RBQkxF Og0KPiAtCQlpZiAocHJlcGFyZV92aG9zdF9tZW1vcnlfdXNlcigmbXNnLCBmZHMpIDwgMCkNCj4g LQkJCXJldHVybiAtMTsNCj4gLQkJZmRfbnVtID0gbXNnLnBheWxvYWQubWVtb3J5Lm5yZWdpb25z Ow0KPiAtCQltc2cuc2l6ZSA9IHNpemVvZihtLnBheWxvYWQubWVtb3J5Lm5yZWdpb25zKTsNCj4g LQkJbXNnLnNpemUgKz0gc2l6ZW9mKG0ucGF5bG9hZC5tZW1vcnkucGFkZGluZyk7DQo+IC0JCW1z Zy5zaXplICs9IGZkX251bSAqIHNpemVvZihzdHJ1Y3Qgdmhvc3RfbWVtb3J5X3JlZ2lvbik7DQo+ IC0NCj4gLQkJaWYgKGhhc19yZXBseV9hY2spDQo+IC0JCQltc2cuZmxhZ3MgfD0gVkhPU1RfVVNF Ul9ORUVEX1JFUExZX01BU0s7DQo+IC0JCWJyZWFrOw0KPiAtDQo+ICAJY2FzZSBWSE9TVF9VU0VS X1NFVF9MT0dfRkQ6DQo+ICAJCWZkc1tmZF9udW0rK10gPSAqKChpbnQgKilhcmcpOw0KPiAgCQli cmVhazsNCj4gQEAgLTYzNiw2ICs2NjgsNyBAQCBzdHJ1Y3QgdmlydGlvX3VzZXJfYmFja2VuZF9v cHMgdmlydGlvX29wc191c2VyID0gew0KPiAgCS5zZXRfZmVhdHVyZXMgPSB2aG9zdF91c2VyX3Nl dF9mZWF0dXJlcywNCj4gIAkuZ2V0X3Byb3RvY29sX2ZlYXR1cmVzID0gdmhvc3RfdXNlcl9nZXRf cHJvdG9jb2xfZmVhdHVyZXMsDQo+ICAJLnNldF9wcm90b2NvbF9mZWF0dXJlcyA9IHZob3N0X3Vz ZXJfc2V0X3Byb3RvY29sX2ZlYXR1cmVzLA0KPiArCS5zZXRfbWVtb3J5X3RhYmxlID0gdmhvc3Rf dXNlcl9zZXRfbWVtb3J5X3RhYmxlLA0KPiAgCS5zZW5kX3JlcXVlc3QgPSB2aG9zdF91c2VyX3Nv Y2ssDQo+ICAJLmVuYWJsZV9xcCA9IHZob3N0X3VzZXJfZW5hYmxlX3F1ZXVlX3BhaXINCj4gIH07 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRw YS5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0X3ZkcGEuYw0KPiBp bmRleCBjMGE5YjViNzY3Li4zMDU5ZWM1NDVkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC92 aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fdXNlci92aG9zdF92ZHBhLmMNCj4gQEAgLTE5LDcgKzE5LDYgQEANCj4gICNkZWZp bmUgVkhPU1RfU0VUX0ZFQVRVUkVTIF9JT1coVkhPU1RfVklSVElPLCAweDAwLCBfX3U2NCkNCj4g ICNkZWZpbmUgVkhPU1RfU0VUX09XTkVSIF9JTyhWSE9TVF9WSVJUSU8sIDB4MDEpDQo+ICAjZGVm aW5lIFZIT1NUX1JFU0VUX09XTkVSIF9JTyhWSE9TVF9WSVJUSU8sIDB4MDIpDQo+IC0jZGVmaW5l IFZIT1NUX1NFVF9NRU1fVEFCTEUgX0lPVyhWSE9TVF9WSVJUSU8sIDB4MDMsIHZvaWQgKikNCj4g ICNkZWZpbmUgVkhPU1RfU0VUX0xPR19CQVNFIF9JT1coVkhPU1RfVklSVElPLCAweDA0LCBfX3U2 NCkNCj4gICNkZWZpbmUgVkhPU1RfU0VUX0xPR19GRCBfSU9XKFZIT1NUX1ZJUlRJTywgMHgwNywg aW50KQ0KPiAgI2RlZmluZSBWSE9TVF9TRVRfVlJJTkdfTlVNIF9JT1coVkhPU1RfVklSVElPLCAw eDEwLCBzdHJ1Y3Qgdmhvc3RfdnJpbmdfc3RhdGUpDQo+IEBAIC00NCw3ICs0Myw2IEBAIHN0YXRp YyB1aW50NjRfdCB2aG9zdF9yZXFfdXNlcl90b192ZHBhW10gPSB7DQo+ICAJW1ZIT1NUX1VTRVJf R0VUX1ZSSU5HX0JBU0VdID0gVkhPU1RfR0VUX1ZSSU5HX0JBU0UsDQo+ICAJW1ZIT1NUX1VTRVJf U0VUX1ZSSU5HX0FERFJdID0gVkhPU1RfU0VUX1ZSSU5HX0FERFIsDQo+ICAJW1ZIT1NUX1VTRVJf U0VUX1ZSSU5HX0tJQ0tdID0gVkhPU1RfU0VUX1ZSSU5HX0tJQ0ssDQo+IC0JW1ZIT1NUX1VTRVJf U0VUX01FTV9UQUJMRV0gPSBWSE9TVF9TRVRfTUVNX1RBQkxFLA0KPiAgCVtWSE9TVF9VU0VSX1NF VF9TVEFUVVNdID0gVkhPU1RfVkRQQV9TRVRfU1RBVFVTLA0KPiAgCVtWSE9TVF9VU0VSX0dFVF9T VEFUVVNdID0gVkhPU1RfVkRQQV9HRVRfU1RBVFVTLA0KPiAgCVtWSE9TVF9VU0VSX1NFVF9WUklO R19FTkFCTEVdID0gVkhPU1RfVkRQQV9TRVRfVlJJTkdfRU5BQkxFLA0KPiBAQCAtMjAyLDcgKzIw MCw3IEBAIHZob3N0X3ZkcGFfbWFwKGNvbnN0IHN0cnVjdCBydGVfbWVtc2VnX2xpc3QgKm1zbCwg Y29uc3QNCj4gc3RydWN0IHJ0ZV9tZW1zZWcgKm1zLA0KPiAgfQ0KPiANCj4gIHN0YXRpYyBpbnQN Cj4gLXZob3N0X3ZkcGFfZG1hX21hcF9hbGwoc3RydWN0IHZpcnRpb191c2VyX2RldiAqZGV2KQ0K PiArdmhvc3RfdmRwYV9zZXRfbWVtb3J5X3RhYmxlKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRl dikNCj4gIHsNCj4gIAl2aG9zdF92ZHBhX2RtYV91bm1hcChkZXYsIE5VTEwsIDAsIFNJWkVfTUFY KTsNCj4gDQo+IEBAIC0yNDgsOSArMjQ2LDYgQEAgdmhvc3RfdmRwYV9zZW5kX3JlcXVlc3Qoc3Ry dWN0IHZpcnRpb191c2VyX2RldiAqZGV2LA0KPiANCj4gIAlyZXFfdmRwYSA9IHZob3N0X3JlcV91 c2VyX3RvX3ZkcGFbcmVxXTsNCj4gDQo+IC0JaWYgKHJlcV92ZHBhID09IFZIT1NUX1NFVF9NRU1f VEFCTEUpDQo+IC0JCXJldHVybiB2aG9zdF92ZHBhX2RtYV9tYXBfYWxsKGRldik7DQo+IC0NCj4g IAlzd2l0Y2ggKHJlcV92ZHBhKSB7DQo+ICAJY2FzZSBWSE9TVF9TRVRfVlJJTkdfTlVNOg0KPiAg CWNhc2UgVkhPU1RfU0VUX1ZSSU5HX0FERFI6DQo+IEBAIC0zMzEsNiArMzI2LDcgQEAgc3RydWN0 IHZpcnRpb191c2VyX2JhY2tlbmRfb3BzIHZpcnRpb19vcHNfdmRwYSA9IHsNCj4gIAkuc2V0X293 bmVyID0gdmhvc3RfdmRwYV9zZXRfb3duZXIsDQo+ICAJLmdldF9mZWF0dXJlcyA9IHZob3N0X3Zk cGFfZ2V0X2ZlYXR1cmVzLA0KPiAgCS5zZXRfZmVhdHVyZXMgPSB2aG9zdF92ZHBhX3NldF9mZWF0 dXJlcywNCj4gKwkuc2V0X21lbW9yeV90YWJsZSA9IHZob3N0X3ZkcGFfc2V0X21lbW9yeV90YWJs ZSwNCj4gIAkuc2VuZF9yZXF1ZXN0ID0gdmhvc3RfdmRwYV9zZW5kX3JlcXVlc3QsDQo+ICAJLmVu YWJsZV9xcCA9IHZob3N0X3ZkcGFfZW5hYmxlX3F1ZXVlX3BhaXIsDQo+ICAJLmRtYV9tYXAgPSB2 aG9zdF92ZHBhX2RtYV9tYXAsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X3VzZXIvdmlydGlvX3VzZXJfZGV2LmMNCj4gaW5kZXggNmJiNjFiM2U4OS4uYWU5NzZiZTE1OCAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2Vy X2Rldi5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNl cl9kZXYuYw0KPiBAQCAtMTc3LDcgKzE3Nyw3IEBAIHZpcnRpb191c2VyX3N0YXJ0X2RldmljZShz dHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICAJCWdvdG8gZXJyb3I7DQo+IA0KPiAgCS8q IFN0ZXAgMjogc2hhcmUgbWVtb3J5IHJlZ2lvbnMgKi8NCj4gLQlyZXQgPSBkZXYtPm9wcy0+c2Vu ZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9TRVRfTUVNX1RBQkxFLCBOVUxMKTsNCj4gKwlyZXQg PSBkZXYtPm9wcy0+c2V0X21lbW9yeV90YWJsZShkZXYpOw0KPiAgCWlmIChyZXQgPCAwKQ0KPiAg CQlnb3RvIGVycm9yOw0KPiANCj4gQEAgLTM1MSw3ICszNTEsNyBAQCB2aXJ0aW9fdXNlcl9tZW1f ZXZlbnRfY2IoZW51bSBydGVfbWVtX2V2ZW50IHR5cGUNCj4gX19ydGVfdW51c2VkLA0KPiAgCQlk ZXYtPm9wcy0+ZW5hYmxlX3FwKGRldiwgaSwgMCk7DQo+IA0KPiAgCS8qIFN0ZXAgMjogdXBkYXRl IG1lbW9yeSByZWdpb25zICovDQo+IC0JZGV2LT5vcHMtPnNlbmRfcmVxdWVzdChkZXYsIFZIT1NU X1VTRVJfU0VUX01FTV9UQUJMRSwgTlVMTCk7DQo+ICsJZGV2LT5vcHMtPnNldF9tZW1vcnlfdGFi bGUoZGV2KTsNCj4gDQo+ICAJLyogU3RlcCAzOiByZXN1bWUgdGhlIGFjdGl2ZSBxdWV1ZXMgKi8N Cj4gIAlmb3IgKGkgPSAwOyBpIDwgZGV2LT5xdWV1ZV9wYWlyczsgaSsrKQ0KPiAtLQ0KPiAyLjI5 LjINCg0K