From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0085.outbound.protection.outlook.com [104.47.2.85]) by dpdk.org (Postfix) with ESMTP id 41CA55323 for ; Thu, 12 Apr 2018 16:46:12 +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; bh=CTZvDRh5ZwRDjNqfWZVWZ3P2+pU1k5L7dFIK1MxMUJs=; b=kr7vCbv2XkwDDKvBQ4K8mYsHSnUvtsOT6I/ttkkkuC9BG4wbIhlb+202/mNpHFUCWX7HFWn8FVY4s5F8CdEB8PRCLSAmxrYd7JnW5Xcoj7dvBr8qsBKqss6qMDH7YusZegYqJw/7sAaJ0C6NZ+cJW//O0oQ6ySaZJd025pvu798= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB1696.eurprd05.prod.outlook.com (10.165.235.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.653.12; Thu, 12 Apr 2018 14:46:09 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::b8e2:e81f:98a:b6d0]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::b8e2:e81f:98a:b6d0%14]) with mapi id 15.20.0653.018; Thu, 12 Apr 2018 14:46:09 +0000 From: "Xueming(Steven) Li" To: =?utf-8?B?TsOpbGlvIExhcmFuamVpcm8=?= CC: Shahaf Shuler , "dev@dpdk.org" Thread-Topic: [PATCH v2 01/15] net/mlx5: support 16 hardware priorities Thread-Index: AQHT0NCykGo5ACUCdEy/Ke6j8trDSaP6EmUAgAAD/OCAAsPaAIAAI20QgAAuoACAAAsEQA== Date: Thu, 12 Apr 2018 14:46:09 +0000 Message-ID: References: <20180410133415.189905-1-xuemingl@mellanox.com> <20180410133415.189905-2-xuemingl@mellanox.com> <20180410144130.6byrrolegsimzyu3@laranjeiro-vm.dev.6wind.com> <20180412090916.6ibyognm554hmy6b@laranjeiro-vm.dev.6wind.com> <20180412140256.q7zskb7ouqlvbt2p@laranjeiro-vm.dev.6wind.com> In-Reply-To: <20180412140256.q7zskb7ouqlvbt2p@laranjeiro-vm.dev.6wind.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-originating-ip: [114.83.166.179] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1696; 7:12BA2GyEwYYAZf6Olxp3IPyLcLlQSfSU0FwYe2wsoNH3/slDjLoWKKZzHjiTE4d09QuuDUyk/qmvAXoCB5Uif7KgbvhSAajd2U5JQDk8SdenaSUA6It53Zjc6fUlvVsT1AuMhZvLK71qyco5g/JHUhUvXmKjbo02inUEfOaUhnLXBYGYoZr5oiifkp+oS0IejsrU15BtGP57VIeDSnfaGGKcHq/haG4WisELnwVMTiB8/0rEvqJDAaADWQFX2dzX x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB1696; x-ms-traffictypediagnostic: VI1PR05MB1696: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:VI1PR05MB1696; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1696; x-forefront-prvs: 06400060E1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(376002)(39380400002)(346002)(366004)(13464003)(189003)(199004)(59450400001)(4326008)(446003)(3846002)(6116002)(6506007)(53546011)(11346002)(25786009)(55016002)(9686003)(6436002)(8676002)(5250100002)(53936002)(86362001)(93886005)(486006)(476003)(7696005)(6246003)(97736004)(2906002)(54906003)(316002)(6916009)(33656002)(68736007)(26005)(102836004)(305945005)(74316002)(7736002)(105586002)(106356001)(3280700002)(3660700001)(99286004)(478600001)(76176011)(229853002)(186003)(5660300001)(2900100001)(8936002)(81156014)(81166006)(14454004)(66066001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1696; H:VI1PR05MB1678.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: ZjBWxWXskn54NPbe6toSiBeQ72gENvA7zo5q+104x0jx7ZOLjGg8DSakkLboe9Tgn/KyvTgUWYTxSnqHpLwh0jDKmb+R/YLGCgcueieBpTKhbsgQsfGBjSyB/EnrrobszJz6P3OppKNQqgSAILgL+0q4u5QDaLtz1dgmcgBVFHbIGcfAAmd6j9XWEZBMhfeP spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 1d8fd969-6827-431d-867d-08d5a084213b X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d8fd969-6827-431d-867d-08d5a084213b X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2018 14:46:09.3344 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1696 Subject: Re: [dpdk-dev] [PATCH v2 01/15] net/mlx5: support 16 hardware priorities 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: Thu, 12 Apr 2018 14:46:12 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTsOpbGlvIExhcmFuamVp cm8gPG5lbGlvLmxhcmFuamVpcm9ANndpbmQuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgQXByaWwg MTIsIDIwMTggMTA6MDMgUE0NCj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbWVs bGFub3guY29tPg0KPiBDYzogU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+OyBk ZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MiAwMS8xNV0gbmV0L21seDU6IHN1 cHBvcnQgMTYgaGFyZHdhcmUgcHJpb3JpdGllcw0KPiANCj4gT24gVGh1LCBBcHIgMTIsIDIwMTgg YXQgMDE6NDM6MDRQTSArMDAwMCwgWHVlbWluZyhTdGV2ZW4pIExpIHdyb3RlOg0KPiA+DQo+ID4N Cj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBOw6lsaW8gTGFy YW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+DQo+ID4gPiBTZW50OiBUaHVyc2Rh eSwgQXByaWwgMTIsIDIwMTggNTowOSBQTQ0KPiA+ID4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8 eHVlbWluZ2xAbWVsbGFub3guY29tPg0KPiA+ID4gQ2M6IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNA bWVsbGFub3guY29tPjsgZGV2QGRwZGsub3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYy IDAxLzE1XSBuZXQvbWx4NTogc3VwcG9ydCAxNiBoYXJkd2FyZQ0KPiA+ID4gcHJpb3JpdGllcw0K PiA+ID4NCj4gPiA+IE9uIFR1ZSwgQXByIDEwLCAyMDE4IGF0IDAzOjIyOjQ2UE0gKzAwMDAsIFh1 ZW1pbmcoU3RldmVuKSBMaSB3cm90ZToNCj4gPiA+ID4gSGkgTmVsaW8sDQo+ID4gPiA+DQo+ID4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBOw6lsaW8g TGFyYW5qZWlybyA8bmVsaW8ubGFyYW5qZWlyb0A2d2luZC5jb20+DQo+ID4gPiA+ID4gU2VudDog VHVlc2RheSwgQXByaWwgMTAsIDIwMTggMTA6NDIgUE0NCj4gPiA+ID4gPiBUbzogWHVlbWluZyhT dGV2ZW4pIExpIDx4dWVtaW5nbEBtZWxsYW5veC5jb20+DQo+ID4gPiA+ID4gQ2M6IFNoYWhhZiBT aHVsZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPjsgZGV2QGRwZGsub3JnDQo+ID4gPiA+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCB2MiAwMS8xNV0gbmV0L21seDU6IHN1cHBvcnQgMTYgaGFyZHdhcmUN Cj4gPiA+ID4gPiBwcmlvcml0aWVzDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBUdWUsIEFwciAx MCwgMjAxOCBhdCAwOTozNDowMVBNICswODAwLCBYdWVtaW5nIExpIHdyb3RlOg0KPiA+ID4gPiA+ ID4gQWRqdXN0IGZsb3cgcHJpb3JpdHkgbWFwcGluZyB0byBhZGFwdCBuZXcgaGFyZHdhcmUgMTYg dmVyYg0KPiA+ID4gPiA+ID4gZmxvdyBwcmlvcml0ZXMgc3VwcG9ydDoNCj4gPiA+ID4gPiA+IDAt MzogUlRFIEZMT1cgdHVubmVsIHJ1bGUNCj4gPiA+ID4gPiA+IDQtNzogUlRFIEZMT1cgbm9uLXR1 bm5lbCBydWxlDQo+ID4gPiA+ID4gPiA4LTE1OiBQTUQgY29udHJvbCBmbG93DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiBUaGlzIGNvbW1pdCBsb2cgaXMgaW5kdWNpbmcgcGVvcGxlIGluIGVycm9yLCB0 aGlzIGFtb3VudCBvZg0KPiA+ID4gPiA+IHByaW9yaXR5IGRlcGVuZHMgb24gdGhlIE1lbGxhbm94 IE9GRUQgaW5zdGFsbGVkLCBpdCBpcyBub3QNCj4gPiA+ID4gPiBhdmFpbGFibGUgb24gdXBzdHJl YW0gTGludXgga2VybmVsIHlldCBub3IgaW4gdGhlIGN1cnJlbnQgTWVsbGFub3gNCj4gT0ZFRCBH QS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdoYXQgaGFwcGVucyB3aGVuIHRob3NlIGFtb3VudCBv ZiBwcmlvcml0eSBhcmUgbm90IGF2YWlsYWJsZSwgaXMNCj4gPiA+ID4gPiBpdCByZW1vdmluZyBh IGZ1bmN0aW9uYWxpdHk/ICBXaWxsIGl0IGNvbGxpZGUgd2l0aCBvdGhlciBmbG93cz8NCj4gPiA+ ID4NCj4gPiA+ID4gSWYgMTYgIHByaW9yaXRpZXMgbm90IGF2YWlsYWJsZSwgc2ltcGx5IGJlaGF2 aW9yIGFzIDggcHJpb3JpdGllcy4NCj4gPiA+DQo+ID4gPiBJdCBpcyBub3QgZGVzY3JpYmVkIGlu IHRoZSBjb21taXQgbG9nLCBwbGVhc2UgYWRkIGl0Lg0KPiA+ID4NCj4gPiA+ID4gPiA+IFNpZ25l ZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gPiA+IDxzbmlw Lz4NCj4gPiA+ID4gPiA+ICAJfSwNCj4gPiA+ID4gPiA+ICAJW0hBU0hfUlhRX0VUSF0gPSB7DQo+ ID4gPiA+ID4gPiAgCQkuaGFzaF9maWVsZHMgPSAwLA0KPiA+ID4gPiA+ID4gIAkJLmRwZGtfcnNz X2hmID0gMCwNCj4gPiA+ID4gPiA+IC0JCS5mbG93X3ByaW9yaXR5ID0gMywNCj4gPiA+ID4gPiA+ ICsJCS5mbG93X3ByaW9yaXR5ID0gMiwNCj4gPiA+ID4gPiA+ICAJfSwNCj4gPiA+ID4gPiA+ICB9 Ow0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSWYgdGhlIGFtb3VudCBvZiBwcmlvcml0aWVzIHJlbWFp bnMgOCwgeW91IGFyZSByZW1vdmluZyB0aGUNCj4gPiA+ID4gPiBwcmlvcml0eSBmb3IgdGhlIHR1 bm5lbCBmbG93cyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCA3NDkzNjU3MTdmNWMNCj4gKCJuZXQvbWx4 NToNCj4gPiA+ID4gPiBjaGFuZ2UgdHVubmVsIGZsb3cgcHJpb3JpdHkiKQ0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gUGxlYXNlIGtlZXAgdGhpcyBmdW5jdGlvbmFsaXR5IHdoZW4gdGhpcyBwYXRjaCBm YWlscyB0byBnZXQgdGhlDQo+ID4gPiA+ID4gZXhwZWN0ZWQNCj4gPiA+ID4gPiAxNiBWZXJicyBw cmlvcml0aWVzLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVzZSBwcmlvcml0eSBzaGlmdCBhcmUgZGlm ZmVyZW50IGluIDE2IHByaW9yaXRpZXMgc2NlbmFyaW8sIEkNCj4gPiA+ID4gY2hhbmdlZCBpdCB0 byBjYWxjdWxhdGlvbi4gSW4gZnVuY3Rpb24NCj4gPiA+ID4gbWx4NV9mbG93X3ByaW9yaXRpZXNf ZGV0ZWN0KCksIHByaW9yaXR5IHNoaWZ0IHdpbGwgYmUgMSBpZiA4DQo+IHByaW9yaXRpZXMsIDQg aW4gY2FzZSBvZiAxNiBwcmlvcml0aWVzLg0KPiA+ID4gPiBQbGVhc2UgcmVmZXIgdG8gY2hhbmdl cyBpbiBmdW5jdGlvbiBtbHg1X2Zsb3dfdXBkYXRlX3ByaW9yaXR5KCkgYXMNCj4gd2VsbC4NCj4g PiA+DQo+ID4gPiBQbGVhc2UgbGlnaHQgbXkgbGFtcCwgSSBkb24ndCBzZWUgaXQuLi4NCj4gPg0K PiA+IFNvcnJ5LCBwbGVhc2UgcmVmZXIgdG8gcHJpdi0+Y29uZmlnLmZsb3dfcHJpb3JpdHlfc2hp ZnQuDQo+ID4NCj4gPiA+DQo+ID4gPiA8c25pcC8+DQo+ID4gPiA+ID4gPiAgc3RhdGljIHZvaWQN Cj4gPiA+ID4gPiA+IC1tbHg1X2Zsb3dfdXBkYXRlX3ByaW9yaXR5KHN0cnVjdCBtbHg1X2Zsb3df cGFyc2UgKnBhcnNlciwNCj4gPiA+ID4gPiA+ICttbHg1X2Zsb3dfdXBkYXRlX3ByaW9yaXR5KHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiA+ID4gPiA+ID4gKwkJCSAgc3RydWN0IG1seDVfZmxv d19wYXJzZSAqcGFyc2VyLA0KPiA+ID4gPiA+ID4gIAkJCSAgY29uc3Qgc3RydWN0IHJ0ZV9mbG93 X2F0dHIgKmF0dHIpICB7DQo+ID4gPiA+ID4gPiArCXN0cnVjdCBwcml2ICpwcml2ID0gZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZTsNCj4gPiA+ID4gPiA+ICAJdW5zaWduZWQgaW50IGk7DQo+ID4gPiA+ ID4gPiArCXVpbnQxNl90IHByaW9yaXR5Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICsJaWYg KHByaXYtPmNvbmZpZy5mbG93X3ByaW9yaXR5X3NoaWZ0ID09IDEpDQo+ID4gPiA+ID4gPiArCQlw cmlvcml0eSA9IGF0dHItPnByaW9yaXR5ICogTUxYNV9WRVJCU19GTE9XX1BSSU9fNDsNCj4gPiA+ ID4gPiA+ICsJZWxzZQ0KPiA+ID4gPiA+ID4gKwkJcHJpb3JpdHkgPSBhdHRyLT5wcmlvcml0eSAq IE1MWDVfVkVSQlNfRkxPV19QUklPXzg7DQo+ID4gPiA+ID4gPiArCWlmICghcGFyc2VyLT5pbm5l cikNCj4gPiA+ID4gPiA+ICsJCXByaW9yaXR5ICs9IHByaXYtPmNvbmZpZy5mbG93X3ByaW9yaXR5 X3NoaWZ0Ow0KPiA+DQo+ID4gSGVyZSwgaWYgbm9uLXR1bm5lbCBmbG93LCBsb3dlcihpbmNyZWFz ZSkgMSBmb3IgOCBwcmlvcml0aWVzLCBsb3dlciA0DQo+IG90aGVyd2lzZS4NCj4gPiBJJ2xsIGFw cGVuZCBhIGNvbW1lbnQgaGVyZS4NCj4gDQo+IFRoYW5rcywgSSB0b3RhbGx5IG1pc3NlZCB0aGlz IG9uZS4NCj4gDQo+IDxzbmlwLz4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9tbHg1L21seDVfdHJpZ2dlci5jDQo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvbmV0L21seDUvbWx4 NV90cmlnZ2VyLmMgaW5kZXggNmJiNGZmYjE0Li5kODBhMmU2ODgNCj4gPiA+ID4gPiA+IDEwMDY0 NA0KPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYw0KPiA+ ID4gPiA+ID4gKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3RyaWdnZXIuYw0KPiA+ID4gPiA+ ID4gQEAgLTE0OCwxMiArMTQ4LDYgQEAgbWx4NV9kZXZfc3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQo+ID4gPiA+ID4gPiAgCWludCByZXQ7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g IAlkZXYtPmRhdGEtPmRldl9zdGFydGVkID0gMTsNCj4gPiA+ID4gPiA+IC0JcmV0ID0gbWx4NV9m bG93X2NyZWF0ZV9kcm9wX3F1ZXVlKGRldik7DQo+ID4gPiA+ID4gPiAtCWlmIChyZXQpIHsNCj4g PiA+ID4gPiA+IC0JCURSVl9MT0coRVJSLCAicG9ydCAldSBkcm9wIHF1ZXVlIGFsbG9jYXRpb24g ZmFpbGVkOiAlcyIsDQo+ID4gPiA+ID4gPiAtCQkJZGV2LT5kYXRhLT5wb3J0X2lkLCBzdHJlcnJv cihydGVfZXJybm8pKTsNCj4gPiA+ID4gPiA+IC0JCWdvdG8gZXJyb3I7DQo+ID4gPiA+ID4gPiAt CX0NCj4gPiA+ID4gPiA+ICAJRFJWX0xPRyhERUJVRywgInBvcnQgJXUgYWxsb2NhdGluZyBhbmQg Y29uZmlndXJpbmcgaGFzaCBSeA0KPiA+ID4gcXVldWVzIiwNCj4gPiA+ID4gPiA+ICAJCWRldi0+ ZGF0YS0+cG9ydF9pZCk7DQo+ID4gPiA+ID4gPiAgCXJ0ZV9tZW1wb29sX3dhbGsobWx4NV9tcDJt cl9pdGVyLCBwcml2KTsgQEAgLTIwMiw3ICsxOTYsNiBAQA0KPiA+ID4gPiA+ID4gbWx4NV9kZXZf c3RhcnQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gPiA+ID4gPiAgCW1seDVfdHJhZmZp Y19kaXNhYmxlKGRldik7DQo+ID4gPiA+ID4gPiAgCW1seDVfdHhxX3N0b3AoZGV2KTsNCj4gPiA+ ID4gPiA+ICAJbWx4NV9yeHFfc3RvcChkZXYpOw0KPiA+ID4gPiA+ID4gLQltbHg1X2Zsb3dfZGVs ZXRlX2Ryb3BfcXVldWUoZGV2KTsNCj4gPiA+ID4gPiA+ICAJcnRlX2Vycm5vID0gcmV0OyAvKiBS ZXN0b3JlIHJ0ZV9lcnJuby4gKi8NCj4gPiA+ID4gPiA+ICAJcmV0dXJuIC1ydGVfZXJybm87DQo+ ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4gQEAgLTIzNyw3ICsyMzAsNiBAQCBtbHg1X2Rldl9z dG9wKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+ID4gPiA+ID4gIAltbHg1X3J4cV9zdG9w KGRldik7DQo+ID4gPiA+ID4gPiAgCWZvciAobXIgPSBMSVNUX0ZJUlNUKCZwcml2LT5tcik7IG1y OyBtciA9IExJU1RfRklSU1QoJnByaXYtDQo+ID4gPiA+bXIpKQ0KPiA+ID4gPiA+ID4gIAkJbWx4 NV9tcl9yZWxlYXNlKG1yKTsNCj4gPiA+ID4gPiA+IC0JbWx4NV9mbG93X2RlbGV0ZV9kcm9wX3F1 ZXVlKGRldik7DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAvKioN Cj4gPiA+ID4gPiA+IC0tDQo+ID4gPiA+ID4gPiAyLjEzLjMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ IEkgaGF2ZSBmZXcgY29uY2VybnMgb24gdGhpcywgbWx4NV9wY2lfcHJvYmUoKSB3aWxsIGFsc28g cHJvYmUNCj4gPiA+ID4gPiBhbnkgdW5kZXIgbGF5ZXIgdmVyYnMgZGV2aWNlLCBhbmQgaW4gYSBu ZWFyIGZ1dHVyZSB0aGUNCj4gPiA+ID4gPiByZXByZXNlbnRvcnMgYXNzb2NpYXRlZCB0byBhIFZG Lg0KPiA+ID4gPiA+IE1ha2luZyBzdWNoIGRldGVjdGlvbiBzaG91bGQgb25seSBiZSBkb25lIG9u Y2UgYnkgdGhlIFBGLCBJIGFsc28NCj4gPiA+ID4gPiB3YW5kZXIgaWYgaXQgaXMgcG9zc2libGUg dG8gbWFrZSBzdWNoIGRyb3AgYWN0aW9uIGluIGENCj4gPiA+ID4gPiByZXByZXNlbnRvciBkaXJl Y3RseSB1c2luZyBWZXJicy4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlbiB0aGVyZSBzaG91bGQgYmUg c29tZSB3b3JrIHRvIGRpc2FibGUgZmxvd3MgaW4gcmVwcmVzZW50b3JzPw0KPiA+ID4gPiB0aGF0 IHN1cHBvc2VkIHRvIGNvdmVyIHRoaXMuDQo+ID4gPg0KPiA+ID4gVGhlIGNvZGUgcmFpc2luZyBh bm90aGVyIFZlcmJzIGRldmljZSBpcyBhbHJlYWR5IHByZXNlbnQgYW5kIHNpbmNlDQo+ID4gPiB0 aGUgZmlyc3QgZW50cmFuY2Ugb2YgdGhpcyBQTUQgaW4gdGhlIERQREsgdHJlZSwgeW91IG11c3Qg cmVzcGVjdA0KPiA+ID4gdGhlIGNvZGUgYWxyZWFkeSBwcmVzZW50Lg0KPiA+ID4gVGhpcyByZXF1 ZXN0IGlzIG5vdCByZWxhdGVkIGRpcmVjdGx5IHRvIGEgbmV3IGZlYXR1cmUgYnV0IHRvIGFuDQo+ ID4gPiBleGlzdGluZyBvbmUsIHRoZSByZXByZXNlbnRvcnMgYmVpbmcganVzdCBhbiBleGFtcGxl Lg0KPiA+ID4NCj4gPiA+IFRoaXMgZGV0ZWN0aW9uIHNob3VsZCBiZSBvbmx5IGRvbmUgb25jZSBh bmQgbm90IGZvciBlYWNoIG9mIHRoZW0uDQo+ID4NCj4gPiBDb3VsZCB5b3UgcGxlYXNlIGVsYWJv cmF0ZSBvbiAidW5kZXIgbGF5ZXIgdmVyYnMgZGV2aWNlIiBhbmQgaG93IHRvDQo+ID4ganVkZ2Ug ZGVwZW5kZW5jeSB0byBQRiwgaXMgdGhlcmUgYSBwcm9iZSBvcmRlciBiZXR3ZWVuIHRoZW0/DQo+ IA0KPiBUaGUgcGxhY2Ugd2hlcmUgeW91IGFyZSBhZGRpbmcgdGhlIG1seDVfZmxvd19jcmVhdGVf ZHJvcF9xdWV1ZSgpIGluDQo+IG1seDVfcGNpX3Byb2JlKCkgaXMgcHJvYmluZyBhbnkgZGV2aWNl IHJldHVybmVkIGJ5IHRoZSB2ZXJicw0KPiBpYnZfZ2V0X2RldmljZV9saXN0KCkuDQo+IA0KPiBU aGlzIGNvZGUgaXMgYWxzbyBwcmVzZW50IGluIG1seDQgd2hlcmUgZm9yIGEgc2luZ2xlIFBDSSBp ZCB0aGVyZSBhcmUgMg0KPiBwaHlzaWNhbCBwb3J0cy4NCj4gDQo+IElmIHRoZSBOSUMgaGFuZGxl IHNldmVyYWwgaWJ2ZGV2IChWZXJicyBkZXZpY2VzKSBpdCB3aWxsIGNyZWF0ZSBhIG5ldw0KPiBy dGVfZXRoX2RldiBmb3IgZWFjaCBvbmUuDQo+IA0KPiA+IEJUVywgVkYgcmVwcmVzZW50b3IgY29k ZSBzZWVtcyBleGlzdHMgaW4gMTcuMTEsIG5vdCB1cHN0cmVhbS4NCj4gPg0KPiA+ID4NCj4gPiA+ ID4gPiBBbm90aGVyIGNvbmNlcm4gaXMsIHRoaXMgcGF0Y2ggd2lsbCBiZSByZXZlcnRlZCBpbiBz b21lIHRpbWUNCj4gPiA+ID4gPiB3aGVuIHRob3NlDQo+ID4gPiA+ID4gMTYgcHJpb3JpdHkgd2ls bCBiZSBhbHdheXMgYXZhaWxhYmxlLiAgSXQgd2lsbCBiZSBlYXNpZXIgdG8NCj4gPiA+ID4gPiBy ZW1vdmUgdGhpcyBkZXRlY3Rpb24gZnVuY3Rpb24gdGhhbiBzZWFyY2hpbmcgZm9yIGFsbCB0aG9z ZQ0KPiBtb2RpZmljYXRpb25zLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSB3b3VsZCBzdWdnZXN0 IHRvIGhhdmUgYSBzdGFuZGFsb25lDQo+ID4gPiA+ID4gbWx4NV9mbG93X3ByaW9yaXRpZXNfZGV0 ZWN0KCkgd2hpY2ggY3JlYXRlcyBhbmQgZGVsZXRlcyBhbGwNCj4gcmVzb3VyY2VzIG5lZWRlZCBm b3IgdGhpcyBkZXRlY3Rpb24uDQo+ID4gPiA+DQo+ID4gPiA+IFRoZXJlIGlzIGFuIHVwY29taW5n IG5ldyBmZWF0dXJlIHRvIHN1cHBvcnQgcHJpb3JpdGllcyBtb3JlIHRoYW4NCj4gPiA+ID4gMTYs IGF1dG8gZGV0ZWN0aW9uIHdpbGwgYmUga2VwdCBJTUhPLg0KPiA+ID4NCj4gPiA+IFVudGlsIHRo ZSBmaW5hbCB2YWx1ZXMgb2YgcHJpb3JpdGllcyB3aWxsIGJlIGJhY2twb3J0ZWQgdG8gYWxsDQo+ ID4gPiBrZXJuZWxzIHdlIHN1cHBvcnQuICBZb3UgZG9uJ3Qgc2VlIGZhciBlbm91Z2ggaW4gdGhl IGZ1dHVyZS4NCj4gPiA+DQo+ID4gPiA+IEJlc2lkZXMsIHRoZXJlIHdpbGwgYmUgYSBidW5kbGUg b2YgcmVzb3VyY2UgY3JlYXRpb24gYW5kIHJlbW92YWwNCj4gPiA+ID4gaW4gdGhpcyBzdGFuZGFs b25lIGZ1bmN0aW9uLCBJJ20gbm90IHN1cmUgaXQgdmFsdWFibGUgdG8gZHVwbGljYXRlDQo+ID4g PiA+IHRoZW0sIHBsZWFzZSByZWZlciB0byBmdW5jdGlvbiBtbHg1X2Zsb3dfY3JlYXRlX2Ryb3Bf cXVldWUoKS4NCj4gPiA+DQo+ID4gPiBZb3UgbWlzdW5kZXJzdG9vZCwgSSBhbSBub3QgYXNraW5n IHlvdSB0byBub3QgdXNlIHRoZSBkZWZhdWx0IGRyb3ANCj4gPiA+IHF1ZXVlcyBidXQgaW5zdGVh ZCBvZiBtYWtpbmcgYW4gcnRlX2Zsb3cgYXR0cmlidXRlcywgaXRlbXMgYW5kDQo+ID4gPiBhY3Rp b25zIHRvIG1ha2UgZGlyZWN0bHkgdGhlIFZlcmJzIHNwZWNpZmljYXRpb24gb24gdGhlIHN0YWNr LiAgSXQNCj4gPiA+IHdpbGwgYmUgZmFzdGVyIHRoYW4gbWFraW5nIGEgYnVuY2ggb2YgY29udmVy c2lvbnMgKHJlbHlpbmcgb24NCj4gPiA+IG1hbGxvYykgZnJvbSBydGVfZmxvdyB0byBWZXJicyB3 aGVyZWFzIHlvdSBrbm93IGV4YWN0bHkgd2hhdCBpdCBuZWVkcw0KPiBpLmUuIDEgc3BlYy4NCj4g Pg0KPiA+IFNvcnJ5LCBzdGlsbCBjb25mdXNlZCwgbWx4NV9mbG93X3ByaW9yaXRpZXNfZGV0ZWN0 KCkgaW52b2tlcw0KPiA+IGlidl9kZXN0cm95X2Zsb3coKSwgbm90IHJ0ZV9mbG93IHN0dWZmLCBu byBtYWxsb2MgYXQgYWxsLiBCVFcsIG1seDUNCj4gPiBmbG93IGFwaSBieXBhc3MgdmVyYiBmbG93 IGluIG9mZmxpbmUgbW9kZSwgd2UgY2FuJ3QgdXNlIGl0IHRvIGNyZWF0ZQ0KPiBmbG93cyBhdCBz dWNoIHN0YWdlLg0KPiANCj4gU29ycnkgSSB3YXMgdGhlIG9uZSBjb25mdXNlZC4gUHJpb3JpdHkg ZGV0ZWN0aW9uIGlzIE9rLg0KPiANCj4gQWZ0ZXIgcmVhZGluZyB0aGlzLCBJJ2xsIHN1Z2dlc3Qg dG8gdXNlIGEgYm9vbGVhbiBpbiB0aGUNCj4gbWx4NV9wY2lfcHJvYmUoKSB0byBvbmx5IG1ha2Ug dGhpcyBkZXRlY3Rpb24gb25jZSwgdGhlIHVuZGVybHlpbmcgdmVyYnMNCj4gZGV2aWNlcyB3aWxs IGluaGVyaXQgZnJvbSBzdWNoIGtub3dsZWRnZSBhbmQgYWRqdXN0IHRoZWlyIG93biBzaGlmdA0K PiBhY2NvcmRpbmdseS4NCj4gDQo+IFdoYXQgZG8geW91IHRoaW5rPw0KDQpGaW5hbGx5IGdvdCBp dCwgZm9ydHVuYXRlbHksIFNoYWhhZiBoYXMgc2ltaWxhciBzdWdnZXN0aW9uIGluIDE3LjExIHJl dmlldy4NCkknbGwgbWFrZSBtbHg1X2Zsb3dfcHJpb3JpdGllc19kZXRlY3QoKSBzaW1wbHkgcmV0 dXJuIG51bWJlciBvZiBzdXBwb3J0ZWQgDQpwcmlvcml0aWVzLCBhbmQgdGhpcyBudW1iZXIgd2ls bCBiZSB1c2VkIHRvIG1ha2UgdGhpcyBmdW5jdGlvbiBydWxlIG9ubHkgb25jZQ0KaW4gbG9vcC4g TWFueSB0aGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbiwgSSdtIGludGVycHJldGluZyBpdCBpbiBj b21wbGV4Lg0KDQpCVFcsIGlmIG5vIG90aGVyIGNvbW1lbnRzIG9uIHRoaXMgc2VyaWVzLCBJJ2xs IHVwbG9hZCBhIG5ldyB2ZXJzaW9uLg0KDQo+IA0KPiAtLQ0KPiBOw6lsaW8gTGFyYW5qZWlybw0K PiA2V0lORA0K