From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7C499A0350; Sun, 21 Jun 2020 08:20:43 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A06871BFC3; Sun, 21 Jun 2020 08:20:42 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70057.outbound.protection.outlook.com [40.107.7.57]) by dpdk.org (Postfix) with ESMTP id 1F68A1BFC1 for ; Sun, 21 Jun 2020 08:20:41 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZxVbfsXxQrkUxWJfXamf31Xbay96Tc448kmuggOS7iZdGS/dwtoRvm+zPvSnlzGe2xJVHN8CW5NpV6Tiy2aJTZvKsfyMm79fN7+1WeBGwDpaeWQmZ61i90RYK6CIMDVmnlz5AajlG+G/XBCWNwpKbubkZnb4cReqFriVI1EHHpbdYJRxhDfLt/dtD1L3zt48/oftNnJ5R2WUXqNAcxEDz92wxGGnNcMaV2aCInr0ujn179nzMiqJLs8K1WHl+I5UpdHJuQ7rN8ObSS/azTk6XCI7bGiUk36HXctIKIMwxWqSefce+ejZXfC37cCev473DD/dKVdj2vEZca5zNk7bYw== 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=iIj4UrcKATGb4PgCBCCnyabBOdZJ6sC8JjfgdBFeTIA=; b=PdJ2tZZG/J0sUM0d7j9+4bH0IEF1SpJwsGVZJWnAVP4a6hftf+R58yZuq2fT1/oN72lcqXPT+tFtQc9o9VttiwJJuxjs/4vK9VPSDVAzdripJEbn2SxVfqUGLuRNsDqyGWUdSyLfg7SzhXEhS0rmBldrpyD5DY5W9k58TVa+LbM8ashDH8APyjUG3QGvPpKnLeVUnOp3LbVDusGZts5sd7SoXt2+usFuVFmYsSNRvpp9nBSti3nWMao0iutWTolU+dQDPZ6FFKiUm1IBO9TBMBo7Nz3EgQPdKDvcvyDgHLEWkirRDI0r3Qdz854YLqyjoXEifeZ34O9l+1OYhk3HMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iIj4UrcKATGb4PgCBCCnyabBOdZJ6sC8JjfgdBFeTIA=; b=Jbov8Do+DKx/5ZP/Pdikxht2GUKPf/4bwAu2PwMKR/eK/2TUwa4YlKBmZZLfgD9SVPmuGwUcvZx/CN5dC/jMCdQzvip1ACAAopl2Gz2/i+qKkwG6HuWibxJFF/WMkF7MQ1It46Mcxa2vcJadAF/cSimueV5Z0FVestFaO5ro+dA= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (2603:10a6:208:f::11) by AM0PR0502MB3793.eurprd05.prod.outlook.com (2603:10a6:208:20::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.23; Sun, 21 Jun 2020 06:20:39 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b189:d782:4c74:7998%7]) with mapi id 15.20.3109.026; Sun, 21 Jun 2020 06:20:39 +0000 From: Matan Azrad To: Maxime Coquelin , Xiao Wang CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 3/4] vhost: improve device ready definition Thread-Index: AQHWRY1+WLgdYR0e1E+Ph0x8zoCWqqjfjwYAgAA4hqCAAC+iAIACniaw Date: Sun, 21 Jun 2020 06:20:39 +0000 Message-ID: References: <1592497686-433697-1-git-send-email-matan@mellanox.com> <1592497686-433697-4-git-send-email-matan@mellanox.com> <631a3cf3-f21a-b292-b475-93552d8f73e8@redhat.com> <96191de9-63bd-0937-5bdd-d81e9db14e9f@redhat.com> In-Reply-To: <96191de9-63bd-0937-5bdd-d81e9db14e9f@redhat.com> Accept-Language: en-US, he-IL 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=mellanox.com; x-originating-ip: [77.124.38.174] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 7298b7eb-456b-4eba-7826-08d815ab37c5 x-ms-traffictypediagnostic: AM0PR0502MB3793: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04410E544A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oD5bUvDZ76EMnL7a6M1vF0ScYQXPy19mnEkUq3WK1RBFxKZwb9oyPbmsT8h5eL8LxVgeWS21ZyZylesyH1LqvTuID3/pZ/cwjc9N16HBrAMcGiZYf6aW6MRoPNWhMQDCzkOmAZGIuPp+8IXiPOQ+a9hxlAB9Wm+Tnhiy5OTCwhzRJIw0NX/UNA5zEWnkjWuHBNy4r1IpScnVJHwgT1U3CM1KM7w9wccs0UW0DUNslPFPmnsZAli+ytdRSxTQSZvBFfgoo1ca5Ots89IxEV6syz3qSAK/zhha3z4sl1lmH0wwOG/n+sKxnDFeLw8RrkAOT7u8ATv1DY/EfzrNSeHqcQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(346002)(136003)(366004)(39850400004)(396003)(478600001)(316002)(71200400001)(33656002)(110136005)(4326008)(55016002)(9686003)(52536014)(26005)(76116006)(86362001)(66556008)(66446008)(8676002)(64756008)(66946007)(66476007)(2906002)(83380400001)(53546011)(7696005)(8936002)(5660300002)(6506007)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: akANHc5cEVjC7hdsxgcCLd8CdZaZcXAlMIPrlmV7MHRiqU+FsdkrzWr1R9g8DkcFT35bVkbQHo958Shd9AAj6XqZbsxz47aoBbSfMojad16r7e0Afculd9fa6YrFO8woXg2ukhPLZDyN8rDyJhK7K0mfk+2037c/5nNTOobGGQWcBrNPRgSmJ7OH8Zeg+fsFU5PnBqAZ5s1VfiT+48OIVA/WDSzioTNWGyI3GhQ+id7Sq2ax7NFn4lZXUGogD4gANFhsCGSO3XPX6MJLCim8YWSRRWvUJacWxCtQdJPrn0INYOvEaRCk1sN/Le1mbZVvqb+G9i3x8LhD9aeNflEKQuMHDLGonwY+vxRSAayOzR8WSz+zDw6RCZiaFxVQyGu7+3zQkT0MY1QBfYbkvmNHOsxRQHI83pCgbC/40FF9zfIUFg7K244f1V6XZwxPHKs2Lwhej4l9JwL1vxSP7HaKo/wBAxAF1CtkKNuc2u5TMvc= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7298b7eb-456b-4eba-7826-08d815ab37c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2020 06:20:39.0805 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XyM0JC4WcGcGUwkTe6+RCNx1KKND55KPv4k/EP+wxgt5JvHxzPWXt/ELVAj+agLPr0r+EZW2LLD0AXIVU5io7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3793 Subject: Re: [dpdk-dev] [PATCH v1 3/4] vhost: improve device ready definition X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgTWF4aW1lDQoNCkZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gSGkgTWF0YW4sDQo+IA0KPiBP biA2LzE5LzIwIDM6MTEgUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+IEhpIE1heGltZQ0KPiA+ DQo+ID4gVGhhbmtzIGZvciB0aGUgZmFzdCByZXZpZXcuDQo+ID4gVGhpcyBpcyBmaXJzdCB2ZXJz aW9uLCBsZXQncyByZXZpZXcgaXQgY2FyZWZ1bGx5IHRvIGJlIHN1cmUgaXQgaXMgY29ycmVjdC4N Cj4gPiBAWGlhbyBXYW5nLCBpdCB3aWxsIGJlIGdvb2QgdG8gaGVhciB5b3VyIGlkZWEgdG9vLg0K PiA+IFdlIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIHRoZSBlZmZlY3Qgb24gSUZDIGRyaXZlci9k ZXZpY2UuLi4NCj4gPiBKdXN0IHRvIHVwZGF0ZSB0aGF0IEkgY2hlY2tlZCB0aGlzIGNvZGUgd2l0 aCB0aGUgbWx4NSBhZGp1c3RtZW50cyBhbmQgSQ0KPiBzZW50IGluIHRoaXMgc2VyaWVzLg0KPiA+ IEl0IHdvcmtzIHdlbGwgd2l0aCB0aGUgdkRQQSBleGFtcGxlIGFwcGxpY2F0aW9uLg0KPiANCj4g T0suDQo+IA0KPiA+IEZyb206IE1heGltZSBDb3F1ZWxpbjoNCj4gPj4gT24gNi8xOC8yMCA2OjI4 IFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+IFNvbWUgZ3Vlc3QgZHJpdmVycyBtYXkgbm90 IGNvbmZpZ3VyZSBkaXNhYmxlZCB2aXJ0aW8gcXVldWVzLg0KPiA+Pj4NCj4gPj4+IEluIHRoaXMg Y2FzZSwgdGhlIHZob3N0IG1hbmFnZW1lbnQgbmV2ZXIgdHJpZ2dlcnMgdGhlIHZEUEEgZGV2aWNl DQo+ID4+PiBjb25maWd1cmF0aW9uIGJlY2F1c2UgaXQgd2FpdHMgdG8gdGhlIGRldmljZSB0byBi ZSByZWFkeS4NCj4gPj4NCj4gPj4gVGhpcyBpcyBub3QgdkRQQS1vbmx5LCBldmVuIHdpdGggU1cg ZGF0YXBhdGggdGhlIGFwcGxpY2F0aW9uJ3MNCj4gPj4gbmV3X2RldmljZSBjYWxsYmFjayBuZXZl ciBnZXRzIGNhbGxlZC4NCj4gPj4NCj4gPiBZZXMsIEkgd3JvdGUgaXQgYmVsb3csIEkgY2FuIGJl IG1vcmUgc3BlY2lmaWMgaGVyZSB0b28gaW4gdGhlIG5leHQgdmVyc2lvbi4NCj4gPg0KPiA+Pj4g VGhlIGN1cnJlbnQgcmVhZHkgc3RhdGUgbWVhbnMgdGhhdCBhbGwgdGhlIHZpcnRpbyBxdWV1ZXMg c2hvdWxkIGJlDQo+ID4+PiBjb25maWd1cmVkIHJlZ2FyZGxlc3MgdGhlIGVuYWJsZW1lbnQgc3Rh dHVzLg0KPiA+Pj4NCj4gPj4+IEluIG9yZGVyIHRvIHN1cHBvcnQgdGhpcyBjYXNlLCB0aGlzIHBh dGNoIGNoYW5nZXMgdGhlIHJlYWR5IHN0YXRlOg0KPiA+Pj4gVGhlIGRldmljZSBpcyByZWFkeSB3 aGVuIGF0IGxlYXN0IDEgcXVldWUgcGFpciBpcyBjb25maWd1cmVkIGFuZA0KPiA+Pj4gZW5hYmxl ZC4NCj4gPj4+DQo+ID4+PiBTbywgbm93LCB0aGUgdkRQQSBkcml2ZXIgd2lsbCBiZSBjb25maWd1 cmVkIHdoZW4gdGhlIGZpcnN0IHF1ZXVlDQo+ID4+PiBwYWlyIGlzIGNvbmZpZ3VyZWQgYW5kIGVu YWJsZWQuDQo+ID4+Pg0KPiA+Pj4gQWxzbyB0aGUgcXVldWUgc3RhdGUgb3BlcmF0aW9uIGlzIGNo YW5nZSB0byB0aGUgbmV4dCBydWxlczoNCj4gPj4+IAkxLiBxdWV1ZSBiZWNvbWVzIHJlYWR5IChl bmFibGVkIGFuZCBmdWxseSBjb25maWd1cmVkKSAtDQo+ID4+PiAJCXNldF92cmluZ19zdGF0ZShl bmFibGVkKS4NCj4gPj4+IAkyLiBxdWV1ZSBiZWNvbWVzIG5vdCByZWFkeSAtIHNldF92cmluZ19z dGF0ZShkaXNhYmxlZCkuDQo+ID4+PiAJMy4gcXVldWUgc3RheSByZWFkeSBhbmQgVkhPU1RfVVNF Ul9TRVRfVlJJTkdfRU5BQkxFIG1hc3NhZ2UNCj4gPj4gd2FzDQo+ID4+PiAJCWhhbmRsZWQgLSBz ZXRfdnJpbmdfc3RhdGUoZW5hYmxlZCkuDQo+ID4+Pg0KPiA+Pj4gVGhlIHBhcmFsbGVsIG9wZXJh dGlvbnMgZm9yIHRoZSBhcHBsaWNhdGlvbiBhcmUgYWRqdXN0ZWQgdG9vLg0KPiA+Pj4NCj4gPj4+ IFNpZ25lZC1vZmYtYnk6IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxsYW5veC5jb20+DQo+ID4+PiAt LS0NCj4gPj4+ICBsaWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuYyB8IDUxDQo+ID4+PiArKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tDQo+ID4+PiAgMSBmaWxlIGNo YW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQ0KPiA+Pj4NCj4gPj4+IGRp ZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3Zob3N0X3VzZXIuYw0KPiA+Pj4gYi9saWIvbGli cnRlX3Zob3N0L3Zob3N0X3VzZXIuYyBpbmRleCBiMDg0OWI5Li5jZmQ1ZjI3IDEwMDY0NA0KPiA+ Pj4gLS0tIGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMNCj4gPj4+ICsrKyBiL2xpYi9s aWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jDQo+ID4+PiBAQCAtMTI5NSw3ICsxMjk1LDcgQEANCj4g Pj4+ICB7DQo+ID4+PiAgCWJvb2wgcmluZ3Nfb2s7DQo+ID4+Pg0KPiA+Pj4gLQlpZiAoIXZxKQ0K PiA+Pj4gKwlpZiAoIXZxIHx8ICF2cS0+ZW5hYmxlZCkNCj4gPj4+ICAJCXJldHVybiBmYWxzZTsN Cj4gPj4+DQo+ID4+PiAgCWlmICh2cV9pc19wYWNrZWQoZGV2KSkNCj4gPj4+IEBAIC0xMzA5LDI0 ICsxMzA5LDI3IEBADQo+ID4+PiAgCSAgICAgICB2cS0+Y2FsbGZkICE9IFZJUlRJT19VTklOSVRJ QUxJWkVEX0VWRU5URkQ7ICB9DQo+ID4+Pg0KPiA+Pj4gKyNkZWZpbmUgVklSVElPX0RFVl9OVU1f VlFTX1RPX0JFX1JFQURZIDJ1DQo+ID4+PiArDQo+ID4+PiAgc3RhdGljIGludA0KPiA+Pj4gIHZp cnRpb19pc19yZWFkeShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2KSAgew0KPiA+Pj4gIAlzdHJ1Y3Qg dmhvc3RfdmlydHF1ZXVlICp2cTsNCj4gPj4+ICAJdWludDMyX3QgaTsNCj4gPj4+DQo+ID4+PiAt CWlmIChkZXYtPm5yX3ZyaW5nID09IDApDQo+ID4+PiArCWlmIChkZXYtPm5yX3ZyaW5nIDwgVklS VElPX0RFVl9OVU1fVlFTX1RPX0JFX1JFQURZKQ0KPiA+Pj4gIAkJcmV0dXJuIDA7DQo+ID4+Pg0K PiA+Pj4gLQlmb3IgKGkgPSAwOyBpIDwgZGV2LT5ucl92cmluZzsgaSsrKSB7DQo+ID4+PiArCWZv ciAoaSA9IDA7IGkgPCBWSVJUSU9fREVWX05VTV9WUVNfVE9fQkVfUkVBRFk7IGkrKykgew0KPiA+ Pj4gIAkJdnEgPSBkZXYtPnZpcnRxdWV1ZVtpXTsNCj4gPj4+DQo+ID4+PiAgCQlpZiAoIXZxX2lz X3JlYWR5KGRldiwgdnEpKQ0KPiA+Pj4gIAkJCXJldHVybiAwOw0KPiA+Pj4gIAl9DQo+ID4+Pg0K PiA+Pj4gLQlWSE9TVF9MT0dfQ09ORklHKElORk8sDQo+ID4+PiAtCQkidmlydGlvIGlzIG5vdyBy ZWFkeSBmb3IgcHJvY2Vzc2luZy5cbiIpOw0KPiA+Pj4gKwlpZiAoIShkZXYtPmZsYWdzICYgVklS VElPX0RFVl9SRUFEWSkpDQo+ID4+PiArCQlWSE9TVF9MT0dfQ09ORklHKElORk8sDQo+ID4+PiAr CQkJInZpcnRpbyBpcyBub3cgcmVhZHkgZm9yIHByb2Nlc3NpbmcuXG4iKTsNCj4gPj4+ICAJcmV0 dXJuIDE7DQo+ID4+PiAgfQ0KPiA+Pj4NCj4gPj4+IEBAIC0xOTcwLDggKzE5NzMsNiBAQCBzdGF0 aWMgaW50IHZob3N0X3VzZXJfc2V0X3ZyaW5nX2VycihzdHJ1Y3QNCj4gPj4gdmlydGlvX25ldCAq KnBkZXYgX19ydGVfdW51c2VkLA0KPiA+Pj4gIAlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2ID0gKnBk ZXY7DQo+ID4+PiAgCWludCBlbmFibGUgPSAoaW50KW1zZy0+cGF5bG9hZC5zdGF0ZS5udW07DQo+ ID4+PiAgCWludCBpbmRleCA9IChpbnQpbXNnLT5wYXlsb2FkLnN0YXRlLmluZGV4Ow0KPiA+Pj4g LQlzdHJ1Y3QgcnRlX3ZkcGFfZGV2aWNlICp2ZHBhX2RldjsNCj4gPj4+IC0JaW50IGRpZCA9IC0x Ow0KPiA+Pj4NCj4gPj4+ICAJaWYgKHZhbGlkYXRlX21zZ19mZHMobXNnLCAwKSAhPSAwKQ0KPiA+ Pj4gIAkJcmV0dXJuIFJURV9WSE9TVF9NU0dfUkVTVUxUX0VSUjsNCj4gPj4+IEBAIC0xOTgwLDE1 ICsxOTgxLDYgQEAgc3RhdGljIGludCB2aG9zdF91c2VyX3NldF92cmluZ19lcnIoc3RydWN0DQo+ ID4+IHZpcnRpb19uZXQgKipwZGV2IF9fcnRlX3VudXNlZCwNCj4gPj4+ICAJCSJzZXQgcXVldWUg ZW5hYmxlOiAlZCB0byBxcCBpZHg6ICVkXG4iLA0KPiA+Pj4gIAkJZW5hYmxlLCBpbmRleCk7DQo+ ID4+Pg0KPiA+Pj4gLQlkaWQgPSBkZXYtPnZkcGFfZGV2X2lkOw0KPiA+Pj4gLQl2ZHBhX2RldiA9 IHJ0ZV92ZHBhX2dldF9kZXZpY2UoZGlkKTsNCj4gPj4+IC0JaWYgKHZkcGFfZGV2ICYmIHZkcGFf ZGV2LT5vcHMtPnNldF92cmluZ19zdGF0ZSkNCj4gPj4+IC0JCXZkcGFfZGV2LT5vcHMtPnNldF92 cmluZ19zdGF0ZShkZXYtPnZpZCwgaW5kZXgsIGVuYWJsZSk7DQo+ID4+PiAtDQo+ID4+PiAtCWlm IChkZXYtPm5vdGlmeV9vcHMtPnZyaW5nX3N0YXRlX2NoYW5nZWQpDQo+ID4+PiAtCQlkZXYtPm5v dGlmeV9vcHMtPnZyaW5nX3N0YXRlX2NoYW5nZWQoZGV2LT52aWQsDQo+ID4+PiAtCQkJCWluZGV4 LCBlbmFibGUpOw0KPiA+Pj4gLQ0KPiA+Pj4gIAkvKiBPbiBkaXNhYmxlLCByaW5ncyBoYXZlIHRv IGJlIHN0b3BwZWQgYmVpbmcgcHJvY2Vzc2VkLiAqLw0KPiA+Pj4gIAlpZiAoIWVuYWJsZSAmJiBk ZXYtPmRlcXVldWVfemVyb19jb3B5KQ0KPiA+Pj4gIAkJZHJhaW5fem1idWZfbGlzdChkZXYtPnZp cnRxdWV1ZVtpbmRleF0pOw0KPiA+Pj4gQEAgLTI2MjIsMTEgKzI2MTQsMTMgQEAgdHlwZWRlZiBp bnQNCj4gPj4gKCp2aG9zdF9tZXNzYWdlX2hhbmRsZXJfdCkoc3RydWN0IHZpcnRpb19uZXQgKipw ZGV2LA0KPiA+Pj4gIAlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2Ow0KPiA+Pj4gIAlzdHJ1Y3QgVmhv c3RVc2VyTXNnIG1zZzsNCj4gPj4+ICAJc3RydWN0IHJ0ZV92ZHBhX2RldmljZSAqdmRwYV9kZXY7 DQo+ID4+PiArCWJvb2wgcmVhZHlbVkhPU1RfTUFYX1ZSSU5HXTsNCj4gPj4+ICAJaW50IGRpZCA9 IC0xOw0KPiA+Pj4gIAlpbnQgcmV0Ow0KPiA+Pj4gIAlpbnQgdW5sb2NrX3JlcXVpcmVkID0gMDsN Cj4gPj4+ICAJYm9vbCBoYW5kbGVkOw0KPiA+Pj4gIAlpbnQgcmVxdWVzdDsNCj4gPj4+ICsJdWlu dDMyX3QgaTsNCj4gPj4+DQo+ID4+PiAgCWRldiA9IGdldF9kZXZpY2UodmlkKTsNCj4gPj4+ICAJ aWYgKGRldiA9PSBOVUxMKQ0KPiA+Pj4gQEAgLTI2NjgsNiArMjY2MiwxMCBAQCB0eXBlZGVmIGlu dA0KPiAoKnZob3N0X21lc3NhZ2VfaGFuZGxlcl90KShzdHJ1Y3QNCj4gPj4gdmlydGlvX25ldCAq KnBkZXYsDQo+ID4+PiAgCQlWSE9TVF9MT0dfQ09ORklHKERFQlVHLCAiRXh0ZXJuYWwgcmVxdWVz dCAlZFxuIiwNCj4gPj4gcmVxdWVzdCk7DQo+ID4+PiAgCX0NCj4gPj4+DQo+ID4+PiArCS8qIFNh dmUgcmVhZHkgc3RhdHVzIGZvciBhbGwgdGhlIFZRcyBiZWZvcmUgbWVzc2FnZSBoYW5kbGUuICov DQo+ID4+PiArCWZvciAoaSA9IDA7IGkgPCBWSE9TVF9NQVhfVlJJTkc7IGkrKykNCj4gPj4+ICsJ CXJlYWR5W2ldID0gdnFfaXNfcmVhZHkoZGV2LCBkZXYtPnZpcnRxdWV1ZVtpXSk7DQo+ID4+PiAr DQo+ID4+DQo+ID4+IFRoaXMgYmlnIGFycmF5IGNhbiBiZSBhdm9pZGVkIGlmIHlvdSBzYXZlIHRo ZSByZWFkeSBzdGF0dXMgaW4gdGhlDQo+ID4+IHZpcnRxdWV1ZSBvbmNlIG1lc3NhZ2UgaGF2ZSBi ZWVuIGhhbmRsZWQuDQo+ID4NCj4gPiBZb3UgbWVhbiB5b3UgcHJlZmVyIHRvIHNhdmUgaXQgaW4g dmlydHF1ZXVlIHN0cnVjdHVyZT8gRGVzbid0IGl0IHNhbWUNCj4gbWVtb3J5ID8NCj4gPiBJbiBh bnkgY2FzZSBJIGRvbid0IHRoaW5rIDB4MTAwIGlzIHNvIGJpZyDwn5iKDQo+IA0KPiBJIG1lYW4g aW4gdGhlIHN0YWNrLg0KDQpEbyB5b3UgdGhpbmsgdGhhdCAyNTZCIGlzIHRvbyBtdWNoIGZvciBz dGFjaz8NCiANCj4gQW5kIG9uZSBhZHZhbnRhZ2Ugb2Ygc2F2aW5nIGl0IGluIHRoZSB2cSBzdHJ1 Y3R1cmUgaXMgZm9yIGV4YW1wbGUgeW91IGhhdmUNCj4gbWVtb3J5IGhvdHBsdWcuIFRoZSB2cSBp cyBpbiByZWFkeSBzdGF0ZSBpbiB0aGUgYmVnaW5uaW5nIGFuZCBpbiB0aGUgZW5kLCBidXQNCj4g ZHVyaW5nIHRoZSBoYW5kbGluZyB0aGUgcmluZyBob3N0IHZpcnR1YWwgYWRkcmVzc2VzIGdldCBj aGFuZ2VkIGJlY2F1c2Ugb2YNCj4gdGhlIG11bm1hcC9tbWFwIGFuZCB3ZSBuZWVkIHRvIG5vdGlm eSB0aGUgZHJpdmVyIG90aGVyd2lzZSBpdCB3aWxsIG1pc3MgaXQuDQoNCkRvIHlvdSBtZWFuIFZI T1NUX1VTRVJfU0VUX01FTV9UQUJMRSBjYWxsIGFmdGVyIGZpcnN0IGNvbmZpZ3VyYXRpb24/DQoN CkkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0IGlzIHRoZSBpc3N1ZSBvZiBzYXZpbmcgaXQgaW4gc3Rh Y2sgaGVyZS4uLi4NCg0KQnV0IG9uZSBhZHZhbnRhZ2Ugb2Ygc2F2aW5nIGl0IGluIHZpcnRxdWV1 ZSBzdHJ1Y3R1cmUgaXMgdGhhdCB0aGUgbWVzc2FnZSBoYW5kbGVyIHNob3VsZCBub3QgY2hlY2sg dGhlIHJlYWR5IHN0YXRlIGJlZm9yZSBlYWNoIG1lc3NhZ2UuDQoNCkkgd2lsbCBjaGFuZ2UgaXQg aW4gbmV4dCB2ZXJzaW9uLg0KDQo+ID4NCj4gPj4+ICAJcmV0ID0gdmhvc3RfdXNlcl9jaGVja19h bmRfYWxsb2NfcXVldWVfcGFpcihkZXYsICZtc2cpOw0KPiA+Pj4gIAlpZiAocmV0IDwgMCkgew0K PiA+Pj4gIAkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsDQo+ID4+PiBAQCAtMjgwMiw2ICsyODAwLDI1 IEBAIHR5cGVkZWYgaW50DQo+ICgqdmhvc3RfbWVzc2FnZV9oYW5kbGVyX3QpKHN0cnVjdA0KPiA+ PiB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gPj4+ICAJCXJldHVybiAtMTsNCj4gPj4+ICAJfQ0KPiA+ Pj4NCj4gPj4+ICsJZGlkID0gZGV2LT52ZHBhX2Rldl9pZDsNCj4gPj4+ICsJdmRwYV9kZXYgPSBy dGVfdmRwYV9nZXRfZGV2aWNlKGRpZCk7DQo+ID4+PiArCS8qIFVwZGF0ZSByZWFkeSBzdGF0dXMu ICovDQo+ID4+PiArCWZvciAoaSA9IDA7IGkgPCBWSE9TVF9NQVhfVlJJTkc7IGkrKykgew0KPiA+ Pj4gKwkJYm9vbCBjdXJfcmVhZHkgPSB2cV9pc19yZWFkeShkZXYsIGRldi0+dmlydHF1ZXVlW2ld KTsNCj4gPj4+ICsNCj4gPj4+ICsJCWlmICgoY3VyX3JlYWR5ICYmIHJlcXVlc3QgPT0NCj4gPj4g VkhPU1RfVVNFUl9TRVRfVlJJTkdfRU5BQkxFICYmDQo+ID4+PiArCQkJCWkgPT0gbXNnLnBheWxv YWQuc3RhdGUuaW5kZXgpIHx8DQo+ID4+DQo+ID4+IENvdWxkbid0IHdlIHJlbW92ZSBhYm92ZSBj b25kaXRpb24/IEFyZW4ndCB0aGUgY2FsbGJhY2tzIGFscmVhZHkNCj4gPj4gY2FsbGVkIGluIHRo ZSBzZXRfdnJpbmdfZW5hYmxlIGhhbmRsZXI/DQo+ID4NCj4gPiBBcyB3ZSBhZ3JlZWQgaW4gdGhl IGRlc2lnbiBkaXNjdXNzaW9uOg0KPiA+DQo+ID4gIiAzLiBTYW1lIGhhbmRsaW5nIG9mIHRoZSBy ZXF1ZXN0cywgZXhjZXB0IHRoYXQgd2Ugd29uJ3Qgbm90aWZ5IHRoZQ0KPiA+IHZkcGEgZHJpdmVy IGFuZCB0aGUgYXBwbGljYXRpb24gb2YgdnJpbmcgc3RhdGUgY2hhbmdlcyBpbiB0aGUNCj4gPiBW SE9TVF9VU0VSX1NFVF9WUklOR19FTkFCTEUgaGFuZGxlci4iDQo+ID4NCj4gPiBTbywgSSByZW1v dmVkIGl0IGZyb20gdGhlIHNldF92cmluZ19lbmFibGUgaGFuZGxlci4NCj4gDQo+IE15IGJhZCwg dGhlIHBhdGNoIGNvbnRleHQgd2hlcmUgaXQgaXMgcmVtb3ZlZCBtYWRlIHRvIHRoaW5rIGl0IHdh cyBpbg0KPiB2aG9zdF91c2VyX3NldF92cmluZ19lcnIoKSwgc28gSSBtaXNzZWQgaXQuDQo+IA0K PiBUaGlua2luZyBhdCBpdCBhZ2FpbiBzaW5jZSBsYXN0IHRpbWUgd2UgZGlzY3Vzc2VkIGl0LCB3 ZSBoYXZlIHRvIHNlbmQgdGhlDQo+IG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBoYW5kbGVyIGluIHRo ZSBjYXNlDQo+IA0KPiA+IE5vdywgdGhlIHJlYWR5IHN0YXRlIGRvZXNuJ3QgZGVwZW5kIG9ubHkg aW4NCj4gVkhPU1RfVVNFUl9TRVRfVlJJTkdfRU5BQkxFIG1hc3NhZ2UuDQo+ID4NCj4gPj4+ICsJ CQkJY3VyX3JlYWR5ICE9IHJlYWR5W2ldKSB7DQo+ID4+PiArCQkJaWYgKHZkcGFfZGV2ICYmIHZk cGFfZGV2LT5vcHMtPnNldF92cmluZ19zdGF0ZSkNCj4gPj4+ICsJCQkJdmRwYV9kZXYtPm9wcy0+ c2V0X3ZyaW5nX3N0YXRlKGRldi0+dmlkLCBpLA0KPiA+Pj4gKw0KPiA+PiAJKGludCljdXJfcmVh ZHkpOw0KPiA+Pj4gKw0KPiA+Pj4gKwkJCWlmIChkZXYtPm5vdGlmeV9vcHMtPnZyaW5nX3N0YXRl X2NoYW5nZWQpDQo+ID4+PiArCQkJCWRldi0+bm90aWZ5X29wcy0+dnJpbmdfc3RhdGVfY2hhbmdl ZChkZXYtDQo+ID4+PiB2aWQsDQo+ID4+PiArCQkJCQkJCWksIChpbnQpY3VyX3JlYWR5KTsNCj4g Pj4+ICsJCX0NCj4gPj4+ICsJfQ0KPiA+Pg0KPiA+PiBJIHRoaW5rIHdlIHNob3VsZCBtb3ZlIHRo aXMgaW50byBhIGRlZGljYXRlZCBmdW5jdGlvbiwgd2hpY2ggd2Ugd291bGQNCj4gPj4gY2FsbCBp biBldmVyeSBtZXNzYWdlIGhhbmRsZXIgdGhhdCBjYW4gbW9kaWZ5IHRoZSByZWFkeSBzdGF0ZS4N Cj4gPj4NCj4gPj4gRG9pbmcgc28sIHdlIHdvdWxkIG5vdCBoYXZlIHRvIGFzc3VtZSB0aGUgbWFz dGVyIHNlbnQgdXMgZGlzYWJsZQ0KPiA+PiByZXF1ZXN0IGZvciB0aGUgcXVldWUgYmVmb3JlLCBh bnMgYWxzbyB3b3VsZCBoYXZlIHByb3Blcg0KPiA+PiBzeW5jaHJvbml6YXRpb24gaWYgdGhlIHJl cXVlc3QgdXNlcyByZXBseS1hY2sgZmVhdHVyZSBhcyBpdCBjb3VsZA0KPiA+PiBhc3N1bWUgdGhl IGJhY2tlbmQgaXMgbm8gbW9yZSBwcm9jZXNzaW5nIHRoZSByaW5nIG9uY2UgcmVwbHktYWNrIGlz DQo+IHJlY2VpdmVkLg0KPiA+DQo+ID4gTWFrZXMgc2Vuc2UgdG8gZG8gaXQgYmVmb3JlIHJlcGx5 LWFjayBhbmQgdG8gY3JlYXRlIGRlZGljYXRlZCBmdW5jdGlvbiB0bw0KPiBpdC4NCj4gPg0KPiA+ IERvZW4ndCB0aGUgdkRQQSBjb25mIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHJlcGx5LWFjayB0 b28gdG8gYmUgc3VyZQ0KPiBxdWV1ZXMgYXJlIHJlYWR5IGJlZm9yZSByZXBseT8NCj4gDQo+IEkg ZG9uJ3QgdGhpbmsgc28sIGJlY2F1c2UgdGhlIGJhY2tlbmQgY2FuIHN0YXJ0IHByb2Nlc3Npbmcg dGhlIHJpbmcgYWZ0ZXIuDQo+IFdoYXQgd2UgZG9uJ3Qgd2FudCBpcyB0aGF0IHRoZSBiYWNrZW5k IGNvbnRpbnVlcyB0byBwcm9jZXNzIHRoZSByaW5ncyB3aGVuDQo+IHRoZSBndWVzdCBhc2tlZCB0 byBzdG9wIGRvaW5nIGl0Lg0KDQpCdXQgImRvaW5nIGNvbmZpZ3VyYXRpb24gYWZ0ZXIgcmVwbHki IG1heSBjYXVzZSB0aGF0IHRoZSBhIGd1ZXN0IGtpY2tzIGEgcXVldWUgd2hpbGUgYXBwIFwgdkRQ QSBkcml2ZXIgaXMgYmVpbmcgY29uZmlndXJlZC4NCkl0IG1heSBsZWFkIHRvIHNvbWUgb3JkZXIg ZGVwZW5kZW5jaWVzIGluIGNvbmZpZ3VyYXRpb24uLi4uDQoNCkluIGFkZGl0aW9uLCBub3csIHRo ZSBkZXZpY2UgcmVhZHkgc3RhdGUgYmVjb21lcyBvbiBvbmx5IGluIHRoZSBzYW1lIHRpbWUgdGhh dCBhIHF1ZXVlIGJlY29tZXMgb24sDQpzbyB3ZSBjYW4gZG8gdGhlIGRldmljZSByZWFkeSBjaGVj ayAoZm9yIG5ld19kZXZpY2UgXCBkZXZfY29uZiBjYWxscykgb25seSB3aGVuIGEgcXVldWUgYmVj b21lcyByZWFkeSBpbiB0aGUgc2FtZSBmdW5jdGlvbi4NCg0KPiA+IElmIHNvLCB3ZSBzaG91bGQg bW92ZSBhbHNvIHRoZSBkZXZpY2UgcmVhZHkgY29kZSBiZWxvdyAobWF5YmUgYWxzbyB2ZHBhDQo+ IGNvbmYpIHRvIHRoaXMgZnVuY3Rpb24gdG9vLg0KPiANCj4gU28gSSBkb24ndCB0aGluayBpdCBp cyBuZWVkZWQuDQo+ID4gQnV0IG1heWJlIGNhbGwgaXQgZGlyZWN0bHkgZnJvbSB0aGlzIGZ1bmN0 aW9uIGFuZCBub3QgZnJvbSB0aGUgc3BlY2lmaWMNCj4gbWFzc2FnZSBoYW5kbGVycyBpcyBiZXR0 ZXIsIHNvbWV0aGluZyBsaWtlIHRoZQ0KPiB2aG9zdF91c2VyX2NoZWNrX2FuZF9hbGxvY19xdWV1 ZV9wYWlyIGZ1bmN0aW9uIHN0eWxlLg0KPiA+DQo+ID4gV2hhdCBkbyB5b3UgdGhpbms/DQoNCkFu eSBhbnN3ZXIgaGVyZT8NCg0KPiA+DQo+ID4+PiAgCWlmICghKGRldi0+ZmxhZ3MgJiBWSVJUSU9f REVWX1JVTk5JTkcpICYmIHZpcnRpb19pc19yZWFkeShkZXYpKSB7DQo+ID4+PiAgCQlkZXYtPmZs YWdzIHw9IFZJUlRJT19ERVZfUkVBRFk7DQo+ID4+Pg0KPiA+Pj4gQEAgLTI4MTYsOCArMjgzMyw2 IEBAIHR5cGVkZWYgaW50DQo+ICgqdmhvc3RfbWVzc2FnZV9oYW5kbGVyX3QpKHN0cnVjdA0KPiA+ PiB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gPj4+ICAJCX0NCj4gPj4+ICAJfQ0KPiA+Pj4NCj4gPj4+ IC0JZGlkID0gZGV2LT52ZHBhX2Rldl9pZDsNCj4gPj4+IC0JdmRwYV9kZXYgPSBydGVfdmRwYV9n ZXRfZGV2aWNlKGRpZCk7DQo+ID4+PiAgCWlmICh2ZHBhX2RldiAmJiB2aXJ0aW9faXNfcmVhZHko ZGV2KSAmJg0KPiA+Pj4gIAkJCSEoZGV2LT5mbGFncyAmIFZJUlRJT19ERVZfVkRQQV9DT05GSUdV UkVEKQ0KPiA+PiAmJg0KPiA+Pj4gIAkJCW1zZy5yZXF1ZXN0Lm1hc3RlciA9PQ0KPiA+PiBWSE9T VF9VU0VSX1NFVF9WUklOR19DQUxMKSB7DQo+ID4+DQo+ID4+IFNob3VsZG4ndCBjaGVjayBvbiBT RVRfVlJJTkdfQ0FMTCBhYm92ZSBiZSByZW1vdmVkPw0KPiA+DQo+ID4gSXNuJ3QgaXQgaXMgYSB3 b3JrYXJvdW5kIGZvciBzb21ldGhpbmc/DQo+ID4NCj4gDQo+IE5vcm1hbGx5LCB3ZSBzaG91bGQg bm8gbW9yZSBuZWVkIGl0LCBhcyBzdGF0ZSBjaGFuZ2Ugbm90aWZpY2F0aW9uIHdpbGwgYmUNCj4g c2VudCBpZiBjYWxsZmQgY2FtZSB0byBjaGFuZ2UuDQoNCk9rLCB3aWxsIHJlbW92ZSBpdC4NCg0K