From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0071.outbound.protection.outlook.com [104.47.0.71]) by dpdk.org (Postfix) with ESMTP id 934162F42 for ; Tue, 10 Jul 2018 13:17:37 +0200 (CEST) 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=lBgG4VmFxCL1XXPfbCvuUtmPOZUyWhE8/UaSfI4pAWY=; b=P8hnC8oMFzvOVkOo/3F3AId5B1fMwqvqyX7MkK70s9k13rjDJxxeyeErN9YuYZ/WgTWOjzCOZkyVZWJAvKWOFaZKk6RbVkLpyiHzYcfJOlXglPqbfuSSq5tBalaLgdUBl+MpK2aRFsuaepHoNtNTU01vbDLKGQsTn8PaJ0JYR4Y= Received: from DB7PR05MB4426.eurprd05.prod.outlook.com (52.134.109.15) by DB7PR05MB4475.eurprd05.prod.outlook.com (52.134.109.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.930.21; Tue, 10 Jul 2018 11:17:35 +0000 Received: from DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d9c6:913c:c361:f7b7]) by DB7PR05MB4426.eurprd05.prod.outlook.com ([fe80::d9c6:913c:c361:f7b7%6]) with mapi id 15.20.0930.022; Tue, 10 Jul 2018 11:17:35 +0000 From: Shahaf Shuler To: Adrien Mazarguil CC: "dev@dpdk.org" , =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= , "Xueming(Steven) Li" Thread-Topic: [PATCH v4 07/10] net/mlx5: probe all port representors Thread-Index: AQHUFDyXmJTjSFxLQkmjY/8QEU2vJqSGtPtAgAGFrwCAAAS/sIAAEgqAgAAE+yA= Date: Tue, 10 Jul 2018 11:17:35 +0000 Message-ID: References: <20180704172322.22571-1-adrien.mazarguil@6wind.com> <20180705083934.5535-1-adrien.mazarguil@6wind.com> <20180705083934.5535-8-adrien.mazarguil@6wind.com> <20180710093708.GH5211@6wind.com> <20180710105841.GN5211@6wind.com> In-Reply-To: <20180710105841.GN5211@6wind.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; x-originating-ip: [31.154.10.105] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR05MB4475; 7:JSp6EobiJTqpO7xi+em0tS/JpCRhlCt5QQDh3xBv8UUjovaxa6QfD6Me03L6LjV6JuEWqTB51B9LDFpHaaXi1YIuIyLIEe6Su677UXsjJhkIgW9Aq7UGlNLgXZDt9tv6N5wR8jOXjhg+iDYn41IGZ5WtgT7olJrxO+N3uGB7Ylxut/UdDq69dHtUrUGTo2uile+0LE5qOAmtQ4GwZOpBOZUcMGHp6rFKU0vFUf1L7OWMYhWa4ojgNRbeICH8yru0 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: e18238e5-9e27-4afe-03ec-08d5e656bcfb x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB7PR05MB4475; x-ms-traffictypediagnostic: DB7PR05MB4475: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863)(278428928389397)(189930954265078)(45079756050767); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB7PR05MB4475; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4475; x-forefront-prvs: 0729050452 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(376002)(366004)(39860400002)(136003)(346002)(199004)(189003)(99286004)(316002)(107886003)(74316002)(54906003)(93886005)(7696005)(102836004)(66066001)(76176011)(25786009)(186003)(2906002)(81166006)(3846002)(81156014)(6436002)(8676002)(6506007)(5250100002)(5660300001)(26005)(6916009)(55016002)(7736002)(8936002)(6306002)(9686003)(229853002)(305945005)(86362001)(6116002)(4326008)(106356001)(486006)(45080400002)(97736004)(53936002)(105586002)(68736007)(14454004)(478600001)(256004)(14444005)(476003)(11346002)(33656002)(446003)(6246003)(2900100001)(309714004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4475; H:DB7PR05MB4426.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 51+aYIaCw3Pp/rsz3r8V+7l3b8Od7ElsBw2U2z9vuCJcg0lTWBSpdGs2Fk4Lnn7rTvnIR4jFq/ari9UOewN0QZY5zhGAHq7JO2XSQyYFjbAPwsHSVa3cgFho1uVr0gDC/o+6hUM6O6Y2KlLSUZ9I+hSBJKI3emwxeTs/YO8AWWZtUhLnKoPV47KiMTi8ARPysIaKkXaW9zlPtJJde3kOsnbeUSt39bMf3v4c7G6mAk9CLKE91X+hPxuSlqxK5ZyLlPLT3cjFegfhhqgThqlojbHOGfINj2dMBnyfdGSXZd1iQ/uEAViO7iJF/IjSSC0uK54LywP3S+MqOSsbpuwDRhM7JFh2mbesQ0lrp1g/ZAk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM 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: e18238e5-9e27-4afe-03ec-08d5e656bcfb X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2018 11:17:35.3905 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4475 Subject: Re: [dpdk-dev] [PATCH v4 07/10] net/mlx5: probe all port representors 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: , X-List-Received-Date: Tue, 10 Jul 2018 11:17:38 -0000 VHVlc2RheSwgSnVseSAxMCwgMjAxOCAxOjU5IFBNLCBBZHJpZW4gTWF6YXJndWlsOg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHY0IDA3LzEwXSBuZXQvbWx4NTogcHJvYmUgYWxsIHBvcnQgcmVwcmVz ZW50b3JzDQo+IA0KPiBPbiBUdWUsIEp1bCAxMCwgMjAxOCBhdCAxMDoxMzoyNUFNICswMDAwLCBT aGFoYWYgU2h1bGVyIHdyb3RlOg0KPiA+IFR1ZXNkYXksIEp1bHkgMTAsIDIwMTggMTI6MzcgUE0s IEFkcmllbiBNYXphcmd1aWw6DQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDA3LzEwXSBu ZXQvbWx4NTogcHJvYmUgYWxsIHBvcnQgcmVwcmVzZW50b3JzDQo+ID4gPg0KPiA+ID4gT24gTW9u LCBKdWwgMDksIDIwMTggYXQgMTE6NTc6MjlBTSArMDAwMCwgU2hhaGFmIFNodWxlciB3cm90ZToN Cj4gPiA+ID4gSGkgQWRyaWVuLA0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBUaHVyc2RheSwg SnVseSA1LCAyMDE4IDExOjQ2IEFNLCBBZHJpZW4gTWF6YXJndWlsOg0KPiA+ID4gPiA+IFN1Ympl Y3Q6IFtQQVRDSCB2NCAwNy8xMF0gbmV0L21seDU6IHByb2JlIGFsbCBwb3J0IHJlcHJlc2VudG9y cw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUHJvYmUgZXhpc3RpbmcgcG9ydCByZXByZXNlbnRvcnMg aW4gYWRkaXRpb24gdG8gdGhlaXIgbWFzdGVyDQo+ID4gPiA+ID4gZGV2aWNlIGFuZCBhc3NvY2lh dGUgdGhlbSBhdXRvbWF0aWNhbGx5Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVG8gYXZvaWQgY29s bGlzaW9uIGJldHdlZW4gRXRoZXJuZXQgZGV2aWNlcywgdGhleSBhcmUgbmFtZWQgYXMNCj4gZm9s bG93czoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0gIntEQkRGfSIgZm9yIG1hc3Rlci9zd2l0Y2gg ZGV2aWNlcy4NCj4gPiA+ID4gPiAtICJ7REJERn1fcmVwcmVzZW50b3Jfe3JlcH0iIHdpdGggInJl cCIgc3RhcnRpbmcgZnJvbSAwIGZvciBwb3J0DQo+ID4gPiA+ID4gICByZXByZXNlbnRvcnMuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiAoUGF0Y2ggYmFzZWQgb24gcHJpb3Igd29yayBmcm9tIFl1YW5o YW4gTGl1KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogQWRyaWVuIE1hemFy Z3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+DQo+ID4gPiA+ID4gU2lnbmVkLW9mZi1i eTogTmVsaW8gTGFyYW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+DQo+ID4gPiA+ ID4gUmV2aWV3ZWQtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gPiA+ ID4gPiBDYzogWHVlbWluZyBMaSA8eHVlbWluZ2xAbWVsbGFub3guY29tPg0KPiA+ID4gPiA+IENj OiBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gPiAtLQ0KPiA+ ID4gPiA+IHY0IGNoYW5nZXM6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtIEZpeGVkIGRvbWFpbiBJ RCByZWxlYXNlIG9uY2UgdGhlIGxhc3QgcG9ydCB1c2luZyBpdCBpcyBjbG9zZWQuIENsb3NlZA0K PiA+ID4gPiA+ICAgZGV2aWNlcyBhcmUgbm90IG5lY2Vzc2FyaWx5IGRldGFjaGVkLCB0aGVpciBw cmVzZW5jZSBpcyBub3QgYSBnb29kDQo+ID4gPiA+ID4gICBpbmRpY2F0b3IuIENvZGUgd2FzIG1v ZGlmaWVkIHRvIGNoZWNrIGlmIHRoZXkgc3RpbGwgdXNlIHRoZWlyIGRvbWFpbg0KPiBJRHMNCj4g PiA+ID4gPiAgIGJlZm9yZSBkZWNpZGluZyB0byByZWxlYXNlIGl0Lg0KPiA+ID4gPHNuaXA+DQo+ ID4gPiA+ID4gQEAgLTg4Myw2ICs5MTUsNDEgQEAgbWx4NV9kZXZfc3Bhd24oc3RydWN0IHJ0ZV9k ZXZpY2UNCj4gKmRwZGtfZGV2LA0KPiA+ID4gPiA+ICAJcHJpdi0+bmxfc29ja2V0X3JkbWEgPSBt bHg1X25sX2luaXQoMCwgTkVUTElOS19SRE1BKTsNCj4gPiA+ID4gPiAgCXByaXYtPm5sX3NvY2tl dF9yb3V0ZSA9CW1seDVfbmxfaW5pdChSVE1HUlBfTElOSywNCj4gPiA+ID4gPiBORVRMSU5LX1JP VVRFKTsNCj4gPiA+ID4gPiAgCXByaXYtPm5sX3NuID0gMDsNCj4gPiA+ID4gPiArCXByaXYtPnJl cHJlc2VudG9yID0gISFzd2l0Y2hfaW5mby0+cmVwcmVzZW50b3I7DQo+ID4gPiA+ID4gKwlwcml2 LT5kb21haW5faWQgPQ0KPiBSVEVfRVRIX0RFVl9TV0lUQ0hfRE9NQUlOX0lEX0lOVkFMSUQ7DQo+ ID4gPiA+ID4gKwlwcml2LT5yZXByZXNlbnRvcl9pZCA9DQo+ID4gPiA+ID4gKwkJc3dpdGNoX2lu Zm8tPnJlcHJlc2VudG9yID8gc3dpdGNoX2luZm8tPnBvcnRfbmFtZQ0KPiA6IC0xOw0KPiA+ID4g PiA+ICsJLyoNCj4gPiA+ID4gPiArCSAqIExvb2sgZm9yIHNpYmxpbmcgZGV2aWNlcyBpbiBvcmRl ciB0byByZXVzZSB0aGVpciBzd2l0Y2gNCj4gZG9tYWluDQo+ID4gPiA+ID4gKwkgKiBpZiBhbnks IG90aGVyd2lzZSBhbGxvY2F0ZSBvbmUuDQo+ID4gPiA+ID4gKwkgKi8NCj4gPiA+ID4gPiArCWkg PSBtbHg1X2Rldl90b19wb3J0X2lkKGRwZGtfZGV2LCBOVUxMLCAwKTsNCj4gPiA+ID4gPiArCWlm IChpID4gMCkgew0KPiA+ID4gPiA+ICsJCXVpbnQxNl90IHBvcnRfaWRbaV07DQo+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ICsJCWkgPSBSVEVfTUlOKG1seDVfZGV2X3RvX3BvcnRfaWQoZHBka19kZXYs DQo+IHBvcnRfaWQsIGkpLCBpKTsNCj4gPiA+ID4gPiArCQl3aGlsZSAoaS0tKSB7DQo+ID4gPiA+ ID4gKwkJCWNvbnN0IHN0cnVjdCBwcml2ICpvcHJpdiA9DQo+ID4gPiA+ID4gKwkJCQlydGVfZXRo X2RldmljZXNbcG9ydF9pZFtpXV0uZGF0YS0NCj4gPiA+ID4gPiA+ZGV2X3ByaXZhdGU7DQo+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ICsJCQlpZiAoIW9wcml2IHx8DQo+ID4gPiA+ID4gKwkJCSAgICBv cHJpdi0+ZG9tYWluX2lkID09DQo+ID4gPiA+ID4gKw0KPiBSVEVfRVRIX0RFVl9TV0lUQ0hfRE9N QUlOX0lEX0lOVkFMSUQpDQo+ID4gPiA+ID4gKwkJCQljb250aW51ZTsNCj4gPiA+ID4gPiArCQkJ cHJpdi0+ZG9tYWluX2lkID0gb3ByaXYtPmRvbWFpbl9pZDsNCj4gPiA+ID4NCj4gPiA+ID4gSXQg bG9va3MgbGlrZSBmb3IgdGhlIHNlY29uZCBwb3J0IGl0IHdpbGwgdXNlIHRoZSBkb21haW5faWQg b2YgdGhlDQo+ID4gPiA+IGZpcnN0IHBvcnQuIElzDQo+ID4gPiB0aGF0IHdoYXQgeW91IGludGVu dD8NCj4gPiA+DQo+ID4gPiBZZXMsIGl0J3Mgb24gcHVycG9zZS4gTWFzdGVyIGFuZCByZXByZXNl bnRvcnMgb2YgYSBnaXZlbiBkZXZpY2UgbXVzdA0KPiA+ID4gc2hhcmUgdGhlIHNhbWUgZG9tYWlu IElEIHRvIGxldCBhcHBsaWNhdGlvbnMga25vdyB0aGV5IGNhbiBjcmVhdGUNCj4gPiA+IGZsb3cg cnVsZXMgdG8gZm9yd2FyZCB0cmFmZmljIGJldHdlZW4gdGhlbSBhbGwuDQo+ID4NCj4gPiBCdXQg dGhpcyBpcyBub3QgdGhlIGNhc2UgaW4gTWVsbGFub3ggZGV2aWNlcy4gT24gTWVsbGFub3ggZGV2 aWNlcyBlYWNoIFBGDQo+IGFsb25nIHcvIGl0cyByZXByZXNlbnRvcnMgaGFzIGEgc2VwYXJhdGUg ZXN3aXRjaCwgYW5kIHRyYWZmaWMgY2Fubm90IGJlDQo+IHJvdXRlZCBiZXR3ZWVuIHRoZSBzd2l0 Y2hlcyB1c2luZyBmbG93IHJ1bGVzLg0KPiA+IEZvciBleGFtcGxlIGlmIHdlIGhhdmUgUEYwIGFs b25nIHcvIGl0cyByZXByZXNlbnRvciBSRVAwXzAgYW5kIFBGMSBhbG9uZw0KPiB3LyBpdHMgcmVw cmVzZW50b3IgUkVQMV8wIC4gUEYwIGFuZCBSRVAwXzAgd2lsbCBiZWxvbmcgdG8gc3dpdGNoIFgg YW5kIFBGMQ0KPiBhbmQgUkVQMV8wIHdpbGwgYmVsb25nIHRvIHN3aXRjaCBkb21haW4gWS4gaXQg aXMgYWxzbyBiZWluZyByZWZsZWN0ZWQgb24gdGhlDQo+IHBoeXNfc3dpdGNoX2lkLg0KPiA+DQo+ ID4gV2Ugc2hvdWxkIGhhdmUgc3dpdGNoIGRvbWFpbiBwZXIgUEYuDQo+IA0KPiBMb29rcyBsaWtl IEkgZGlkbid0IHVuZGVyc3RhbmQgeW91ciBwcmV2aW91cyBjb21tZW50LiBJIGNvbmZpcm0gdGhl cmUgaXMgbm8NCj4gc3VjaCBpc3N1ZSwgb25lIGRvbWFpbiBJRCBpcyBhbGxvY2F0ZWQgcGVyIFBG L3JlcHJlc2VudG9ycyBncm91cCwgd2hpY2ggYXJlDQo+IGlkZW50aWZpZWQgYnkgYSBjb21tb24g UENJIGJ1cyBhZGRyZXNzLiBJdCdzIGZpbmUgYmVjYXVzZSBvbiBtbHg1LCBlYWNoDQo+IHBoeXNp Y2FsIHBvcnQgZXhwb3NlcyBpdHMgb3duIGFkZHJlc3MsIEkgYXNzdW1lZCB0aGVyZSB3YXMgbm8g bmVlZCB0bw0KPiBhZGRpdGlvbmFsbHkgY29tcGFyZSBwaHlzX3N3aXRjaF9pZC4gQ2FuIHRoaXMg aGFwcGVuPw0KDQpPSyBncmVhdC4gSXQgaXMgT0ssIHRoZSBQRiBoYXMgb25seSBhIHNpbmdsZSBz d2l0Y2ggZG9tYWluIG9uIHdoaWNoIGFsbCBpdHMgcmVwcmVzZW50b3JzIGFyZSBjb25uZWN0ZWQu IA0KDQo+IA0KPiA+ID4gPiBOb3RlIC0gSSBjb3VsZG4ndCB0ZXN0IGl0IGR1ZSB0byBjb21waWxh dGlvbiBlcnJvcnM6DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPg0KPiAvLmF1dG9kaXJlY3Qvc3dn d29yay9zaGFoYWZzL3dvcmtzcGFjZS9kcGRrLm9yZy9kcml2ZXJzL25ldC9tbHg1L21seA0KPiA+ ID4gNQ0KPiA+ID4gX25sLmM6IEluIGZ1bmN0aW9uICdtbHg1X25sX3N3aXRjaF9pbmZvX2NiJzoN Cj4gPiA+ID4NCj4gPiA+DQo+IC8uYXV0b2RpcmVjdC9zd2d3b3JrL3NoYWhhZnMvd29ya3NwYWNl L2RwZGsub3JnL2RyaXZlcnMvbmV0L21seDUvbWx4DQo+ID4gPiA1DQo+ID4gPiBfDQo+ID4gPiA+ IG5sLmM6ODQzOjg6IGVycm9yOiAnSUZMQV9QSFlTX1BPUlRfTkFNRScgdW5kZWNsIGFyZWQgKGZp cnN0IHVzZSBpbg0KPiA+ID4gPiB0aGlzDQo+ID4gPiBmdW5jdGlvbikNCj4gPiA+ID4gICAgY2Fz ZSBJRkxBX1BIWVNfUE9SVF9OQU1FOg0KPiA+ID4gPiAgICAgICAgIF4NCj4gPiA+ID4NCj4gPiA+ DQo+IC8uYXV0b2RpcmVjdC9zd2d3b3JrL3NoYWhhZnMvd29ya3NwYWNlL2RwZGsub3JnL2RyaXZl cnMvbmV0L21seDUvbWx4DQo+ID4gPiA1DQo+ID4gPiBfDQo+ID4gPiA+IG5sLmM6ODQzOjg6IG5v dGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzICByZXBvcnRlZCBvbmx5DQo+ID4gPiA+ IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbg0KPiA+ID4gPg0KPiA+ID4NCj4g Ly5hdXRvZGlyZWN0L3N3Z3dvcmsvc2hhaGFmcy93b3Jrc3BhY2UvZHBkay5vcmcvZHJpdmVycy9u ZXQvbWx4NS9tbHgNCj4gPiA+IDUNCj4gPiA+IF8NCj4gPiA+ID4gbmwuYzo4NTE6ODogZXJyb3I6 ICdJRkxBX1BIWVNfU1dJVENIX0lEJyB1bmRlY2wgYXJlZCAoZmlyc3QgdXNlIGluDQo+ID4gPiA+ IHRoaXMNCj4gPiA+IGZ1bmN0aW9uKQ0KPiA+ID4gPiAgICBjYXNlIElGTEFfUEhZU19TV0lUQ0hf SUQ6DQo+ID4gPiA+ICAgICAgICAgXg0KPiA+ID4gPg0KPiA+ID4gPiBNeSBzeXN0ZW0gaW5mbzoN Cj4gPiA+ID4gTkFNRT0iUmVkIEhhdCBFbnRlcnByaXNlIExpbnV4IFNlcnZlciINCj4gPiA+ID4g VkVSU0lPTj0iNy4zIChNYWlwbykiDQo+ID4gPiA+IElEPSJyaGVsIg0KPiA+ID4gPiBJRF9MSUtF PSJmZWRvcmEiDQo+ID4gPiA+IFZFUlNJT05fSUQ9IjcuMyINCj4gPiA+ID4gUFJFVFRZX05BTUU9 IlJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCBTZXJ2ZXIgNy4zIChNYWlwbykiDQo+ID4gPiA+IEFO U0lfQ09MT1I9IjA7MzEiDQo+ID4gPiA+IENQRV9OQU1FPSJjcGU6L286cmVkaGF0OmVudGVycHJp c2VfbGludXg6Ny4zOkdBOnNlcnZlciINCj4gPiA+ID4NCj4gPiA+DQo+IEhPTUVfVVJMPSJodHRw czovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzDQo+ ID4gPiAlDQo+IDNBJTJGJTJGd3d3LnJlZGhhdC5jb20lMkYmYW1wO2RhdGE9MDIlN0MwMSU3Q3No YWhhZnMlNDBtZWxsYW4NCj4gPiA+DQo+IG94LmNvbSU3QzY2MWU3YjUxMDg3YjQ2MDgxN2MwMDhk NWU2NDhiZjFlJTdDYTY1Mjk3MWM3ZDJlNGQ5YmE2YTQNCj4gPiA+DQo+IGQxNDkyNTZmNDYxYiU3 QzAlN0MwJTdDNjM2NjY4MTIyNDc0NDQ1MzUxJmFtcDtzZGF0YT1MZzhhcmhpWUx2SDVMDQo+ID4g PiAyaGVmOERWaFM4QTNmVkolMkI1SVprTElIbXFDZCUyRm1ZJTNEJmFtcDtyZXNlcnZlZD0wIg0K PiA+ID4gPg0KPiA+ID4NCj4gQlVHX1JFUE9SVF9VUkw9Imh0dHBzOi8vZW1lYTAxLnNhZmVsaW5r cy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmwNCj4gPiA+ID0NCj4gaHR0cHMlM0ElMkYlMkZi dWd6aWxsYS5yZWRoYXQuY29tJTJGJmFtcDtkYXRhPTAyJTdDMDElN0NzaGFoYWZzJQ0KPiA+ID4N Cj4gNDBtZWxsYW5veC5jb20lN0M2NjFlN2I1MTA4N2I0NjA4MTdjMDA4ZDVlNjQ4YmYxZSU3Q2E2 NTI5NzFjN2QyZQ0KPiA+ID4NCj4gNGQ5YmE2YTRkMTQ5MjU2ZjQ2MWIlN0MwJTdDMCU3QzYzNjY2 ODEyMjQ3NDQ0NTM1MSZhbXA7c2RhdGE9M0RvDQo+ID4gPg0KPiBSS2p4b3ZNOHRPZ0tMc3NDMW1x Mnd3ZmhqcFZVWlNFeFhWNHl3QkVRJTNEJmFtcDtyZXNlcnZlZD0wIg0KPiA+ID4gPg0KPiA+ID4g PiBSRURIQVRfQlVHWklMTEFfUFJPRFVDVD0iUmVkIEhhdCBFbnRlcnByaXNlIExpbnV4IDciDQo+ ID4gPiA+IFJFREhBVF9CVUdaSUxMQV9QUk9EVUNUX1ZFUlNJT049Ny4zDQo+ID4gPiA+IFJFREhB VF9TVVBQT1JUX1BST0RVQ1Q9IlJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCINCj4gPiA+ID4gUkVE SEFUX1NVUFBPUlRfUFJPRFVDVF9WRVJTSU9OPSI3LjMiDQo+ID4gPiA+IFJlZCBIYXQgRW50ZXJw cmlzZSBMaW51eCBTZXJ2ZXIgcmVsZWFzZSA3LjMgKE1haXBvKSBSZWQgSGF0DQo+ID4gPiA+IEVu dGVycHJpc2UgTGludXggU2VydmVyIHJlbGVhc2UgNy4zIChNYWlwbykNCj4gPiA+DQo+ID4gPiBP SywgSSdsbCByZWRlZmluZSBpbiB2NSBpbiBjYXNlIHRoZXkgYXJlIG1pc3Npbmcgb24gdGhlIGhv c3Qgc3lzdGVtLg0KPiA+ID4NCj4gPiA+IDxzbmlwPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9tbHg1L21seDUuaCBiL2RyaXZlcnMvbmV0L21seDUvbWx4NS5oDQo+ID4gPiA+ ID4gaW5kZXgNCj4gPiA+ID4gPiA3MDQwNDYyNzAuLmNjMDEzMTBlMCAxMDA2NDQNCj4gPiA+ID4g PiAtLS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDUuaA0KPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMv bmV0L21seDUvbWx4NS5oDQo+ID4gPiA+ID4gQEAgLTE1OSw2ICsxNTksNyBAQCBzdHJ1Y3QgcHJp diB7DQo+ID4gPiA+ID4gIAlzdHJ1Y3QgaWJ2X2NvbnRleHQgKmN0eDsgLyogVmVyYnMgY29udGV4 dC4gKi8NCj4gPiA+ID4gPiAgCXN0cnVjdCBpYnZfZGV2aWNlX2F0dHJfZXggZGV2aWNlX2F0dHI7 IC8qIERldmljZSBwcm9wZXJ0aWVzLg0KPiAqLw0KPiA+ID4gPiA+ICAJc3RydWN0IGlidl9wZCAq cGQ7IC8qIFByb3RlY3Rpb24gRG9tYWluLiAqLw0KPiA+ID4gPiA+ICsJY2hhciBpYmRldl9uYW1l W0lCVl9TWVNGU19OQU1FX01BWF07IC8qIElCIGRldmljZQ0KPiBuYW1lLiAqLw0KPiA+ID4gPg0K PiA+ID4gPg0KPiA+ID4gPiBXaHkgd2UgbmVlZCBhIGRlZGljYXRlZCBlbnRyeSBmb3IgdGhlIGli ZGV2X25hbWU/IGl0IGlzIGFscmVhZHkNCj4gPiA+ID4gcGFydCBvZg0KPiA+ID4gcHJpdi0+Y3R4 LT5kZXZpY2UtPm5hbWUuDQo+ID4gPg0KPiA+ID4gSGVoLCBzYW1lIHJlYXNvbiBhcyB0aGUgbmV4 dCBsaW5lIGJlbG93LCBkb24ndCBmb3JnZXQgdGhvc2UgZGFtbg0KPiA+ID4gc2Vjb25kYXJpZXMg d2hpY2ggY2FuJ3QgZGVyZWZlcmVuY2UgbG9jYWwgcG9pbnRlcnMgZnJvbSB0aGUgcHJpbWFyeQ0K PiA+ID4gcHJvY2Vzcw0KPiA+ID4gOikNCj4gPg0KPiA+IFJpZ2h0IPCfmIouDQo+ID4NCj4gPiA+ DQo+ID4gPiA+ID4gIAljaGFyIGliZGV2X3BhdGhbSUJWX1NZU0ZTX1BBVEhfTUFYXTsgLyogSUIg ZGV2aWNlIHBhdGgNCj4gZm9yDQo+ID4gPiA+ID4gc2Vjb25kYXJ5ICovDQo+ID4gPiA8c25pcD4N Cj4gPiA+ID4gPiBzdHJ1Y3QgcnRlX2V0aF9kZXZfaW5mbyAqaW5mbykNCj4gPiA+ID4gPiAgCWlu Zm8tPnNwZWVkX2NhcGEgPSBwcml2LT5saW5rX3NwZWVkX2NhcGE7DQo+ID4gPiA+ID4gIAlpbmZv LT5mbG93X3R5cGVfcnNzX29mZmxvYWRzID0gfk1MWDVfUlNTX0hGX01BU0s7DQo+ID4gPiA+ID4g IAltbHg1X3NldF9kZWZhdWx0X3BhcmFtcyhkZXYsIGluZm8pOw0KPiA+ID4gPiA+ICsJaW5mby0+ c3dpdGNoX2luZm8ubmFtZSA9IGRldi0+ZGF0YS0+bmFtZTsNCj4gPiA+ID4gPiArCWluZm8tPnN3 aXRjaF9pbmZvLmRvbWFpbl9pZCA9IHByaXYtPmRvbWFpbl9pZDsNCj4gPiA+ID4gPiArCWluZm8t PnN3aXRjaF9pbmZvLnBvcnRfaWQgPSBwcml2LT5yZXByZXNlbnRvcl9pZDsNCj4gPiA+ID4gPiAr CWlmIChwcml2LT5yZXByZXNlbnRvcikgew0KPiA+ID4gPiA+ICsJCXVuc2lnbmVkIGludCBpID0g bWx4NV9kZXZfdG9fcG9ydF9pZChkZXYtPmRldmljZSwNCj4gTlVMTCwgMCk7DQo+ID4gPiA+ID4g KwkJdWludDE2X3QgcG9ydF9pZFtpXTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkJaSA9IFJU RV9NSU4obWx4NV9kZXZfdG9fcG9ydF9pZChkZXYtPmRldmljZSwNCj4gcG9ydF9pZCwgaSksDQo+ ID4gPiA+ID4gaSk7DQo+ID4gPiA+ID4gKwkJd2hpbGUgKGktLSkgew0KPiA+ID4gPiA+ICsJCQlz dHJ1Y3QgcHJpdiAqb3ByaXYgPQ0KPiA+ID4gPiA+ICsJCQkJcnRlX2V0aF9kZXZpY2VzW3BvcnRf aWRbaV1dLmRhdGEtDQo+ID4gPiA+ID4gPmRldl9wcml2YXRlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPiArCQkJaWYgKCFvcHJpdiB8fA0KPiA+ID4gPiA+ICsJCQkgICAgb3ByaXYtPnJlcHJlc2Vu dG9yIHx8DQo+ID4gPiA+ID4gKwkJCSAgICBvcHJpdi0+ZG9tYWluX2lkICE9IHByaXYtPmRvbWFp bl9pZCkNCj4gPiA+ID4gPiArCQkJCWNvbnRpbnVlOw0KPiA+ID4gPiA+ICsJCQkvKg0KPiA+ID4g PiA+ICsJCQkgKiBPdmVycmlkZSBzd2l0Y2ggbmFtZSB3aXRoIHRoYXQgb2YgdGhlDQo+IG1hc3Rl cg0KPiA+ID4gPiA+ICsJCQkgKiBkZXZpY2UuDQo+ID4gPiA+ID4gKwkJCSAqLw0KPiA+ID4gPiA+ ICsJCQlpbmZvLT5zd2l0Y2hfaW5mby5uYW1lID0gb3ByaXYtPmRldl9kYXRhLQ0KPiA+bmFtZTsN Cj4gPiA+ID4gPiArCQkJYnJlYWs7DQo+ID4gPiA+DQo+ID4gPiA+IEFjY29yZGluZyB0byB0aGlz IGxvZ2ljIGl0IG1lYW5zIG9uY2UgdGhlIG1hc3RlciBkZXZpY2UgaXMgY2xvc2VkLA0KPiA+ID4g PiBhbGwgdGhlDQo+ID4gPiByZXByZXNlbnRvcnMgYXJlIG5vIGxvbmdlciBiZWxvbmcgdG8gdGhl IHNhbWUgc3dpdGNoIChzd2l0Y2ggbmFtZSBvZg0KPiA+ID4gZWFjaCBpcyBkaWZmZXJlbnQpIHdo aWNoIGlzIG5vdCBjb3JyZWN0Lg0KPiA+ID4NCj4gPiA+IFRoZXkgc3RpbGwgc2hhcmUgdGhlIHNh bWUgZG9tYWluIElELCB3aGljaCBpcyB3aGF0IGFjdHVhbGx5IG1hdHRlcnMuDQo+ID4gPiBUaGUg c3dpdGNoIG5hbWUgaXMgb25seSBwcm92aWRlZCB0byBsZXQgYXBwbGljYXRpb25zIGlkZW50aWZ5 IHRoZQ0KPiA+ID4gbWFzdGVyDQo+ID4gPiAoY29udHJvbCkgZGV2aWNlIGluIGNhc2UgaXQncyBu ZWVkZWQuDQo+ID4gPg0KPiA+ID4gPiBBY2NvcmRpbmcgdG8geW91ciBub3RlcyBpdCBpcyBwb3Nz aWJsZSB0byBjbG9zZSBtYXN0ZXIgdy9vIGNsb3NpbmcNCj4gPiA+ID4gdGhlDQo+ID4gPiByZXBy ZXNlbnRvci4NCj4gPiA+DQo+ID4gPiBUaGlzIGFsbG93cyBkZXZpY2VzIHRvIGJlIHByb2JlZCBp biBhbnkgb3JkZXIgb24gYSBuZWVkZWQgYmFzaXMsIG5vdA0KPiA+ID4gYWxsIGF0IG9uY2UuIEl0 J3MgZG9uZSBvbiBwdXJwb3NlIHRvIHBhdmUgdGhlIHdheSBmb3IgaG90cGx1ZyBzdXBwb3J0Lg0K PiA+ID4NCj4gPiA+ID4gV2h5IG5vdCBqdXN0IHN0b3JpbmcgdGhlIG1hc3RlciBzd2l0Y2ggbmFt ZSB3aGVuIHByb2JpbmcgdGhlDQo+ID4gPiByZXByZXNlbnRvciBhbmQgdG8gdXNlIGl0IGFzIGlz IG9uIHRoZSBkZXZfaW5mbz8NCj4gPiA+DQo+ID4gPiBUaGUgc3dpdGNoIG5hbWUgKm11c3QqIGJl IHRoYXQgb2YgdGhlIG1hc3RlciBkZXZpY2UuIElmIHRoZSBtYXN0ZXINCj4gPiA+IGlzIG5vdCBw cm9iZWQsIHRoZXJlIGNhbid0IGJlIGEgc3dpdGNoIG5hbWUuIEhvd2V2ZXIgdGhlcmUncyBubyBy ZWFsDQo+ID4gPiBwcm92aXNpb24gZm9yIHRoaXMgaW4gdGhlIEFQSSwgc28gSSBjaG9zZSB0aGUg bW9zdCBhY2NlcHRhYmxlIHVuaXF1ZQ0KPiA+ID4gbmFtZSwgd2hpY2ggaXMgdGhlIG5hbWUgb2Yg dGhlIGxvY2FsIGRldmljZS4gV291bGQgeW91IHByZWZlciBhbiBlbXB0eQ0KPiBuYW1lIGluc3Rl YWQ/DQo+ID4NCj4gPiBUaGUgY3VycmVudCBhcHByb2FjaCBpcyBPSy4NCj4gPiBJIHdhcyBqdXN0 IHN1Z2dlc3RpbmcgdG8gc2tpcCB0aGUgbG9vcCBpdGVyYXRpb24gYnkgc2F2aW5nIHRoZSBzd2l0 Y2ggbmFtZSBvbg0KPiB0aGUgcHJpdmF0ZSBzdHJ1Y3R1cmUuDQo+IA0KPiBUaGlzIGlzIHVuc2Fm ZSwgaWYgdGhlIG1hc3RlciBkZXZpY2UgaXMgbmV2ZXIgcHJvYmVkIG9yIHNvbWVob3cgcmVwbGFj ZWQgYnkNCj4gYSBkaWZmZXJlbnQgZGV2aWNlIHdpdGggbm8gcmVsYXRpb25zaGlwLCB0aGlzIGlu Zm9ybWF0aW9uIGNvdWxkIGJlIHdyb25nLg0KPiANCj4gS2VlcCBpbiBtaW5kIHRoZXNlIGV0aGRl diBuYW1lcyBhcmUganVzdCBpZGVudGlmaWVycy4gVGhlIG9ubHkgcmVxdWlyZW1lbnQNCj4gaXMg dGhhdCB0aGV5IG11c3QgYmUgdW5pcXVlLCBob3dldmVyIGFueXRoaW5nIGNhbiBiZSB3cml0dGVu IGluIHRoZXJlLiBJZg0KPiBzb21lIG5hbWUgaXMgbm90IHRha2VuLCBhbm90aGVyIGRldmljZSBj YW4gdXNlIGl0Lg0KPiANCj4gPiA+IFRoaW5nIGlzLCBvbiBtbHg1IGZsb3cgcnVsZXMgY2FuIGJl IGNyZWF0ZWQgZGlyZWN0bHkgYmV0d2Vlbg0KPiA+ID4gcmVwcmVzZW50b3JzIHdpdGhvdXQgaW52 b2x2aW5nIHRoZSBtYXN0ZXIgZGV2aWNlLiBBbiBlbXB0eSBzd2l0Y2gNCj4gPiA+IG5hbWUgbWF5 IGJlIG1pc2xlYWRpbmcgaW4gdGhpcyByZXNwZWN0Lg0KPiA+ID4NCj4gPiA+IFdoYXQgZG8geW91 IHN1Z2dlc3Q/DQo+IA0KPiAtLQ0KPiBBZHJpZW4gTWF6YXJndWlsDQo+IDZXSU5EDQo=