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 7A8E5A00BE; Tue, 29 Oct 2019 07:01:01 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 838181BEC2; Tue, 29 Oct 2019 07:01:00 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 83BA4322C for ; Tue, 29 Oct 2019 07:00:58 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Oct 2019 23:00:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,242,1569308400"; d="scan'208";a="401042929" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 28 Oct 2019 23:00:57 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 28 Oct 2019 23:00:57 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 28 Oct 2019 23:00:56 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.108]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.149]) with mapi id 14.03.0439.000; Tue, 29 Oct 2019 14:00:55 +0800 From: "Wang, Haiyue" To: Jerin Jacob CC: Thomas Monjalon , "Yigit, Ferruh" , dpdk-dev , "Ye, Xiaolong" , "Kinsella, Ray" , "Iremonger, Bernard" , "Sun, Chenmin" , Andrew Rybchenko , "Slava Ovsiienko" , Stephen Hemminger , David Marchand , Jerin Jacob Thread-Topic: [dpdk-dev] [PATCH v4 1/4] ethdev: add the API for getting burst mode information Thread-Index: AQHVgy4vnIA7MA5UA0Sl3pLNFwDOY6dqovQAgABMCACAABr4gIAABOkAgABrZQCAAI7MAIAAsVSwgAPNloCAAJdSMP//hTIAgACJQAD//35gAIAAiTrQ Date: Tue, 29 Oct 2019 06:00:54 +0000 Message-ID: References: <20191015075133.38560-1-haiyue.wang@intel.com> <1811898.7XjjD7ZjLQ@xps> <12001140.UMXFOKstgs@xps> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiN2IyMTFjMzQtZjY3Zi00YTZlLTgxZWEtZjNhNTg4ZThjMzlkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWjFvcUhjU2pNVE0yNTNaNU80Z0hNK1UxZkpLNTAyZjdtYktDVGNibE82OGpuR1wvV1YrSGpqRU50amduWDlZT0oifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 1/4] ethdev: add the API for getting burst mode information 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5q YWNvYmtAZ21haWwuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDI5LCAyMDE5IDEzOjQ3 DQo+IFRvOiBXYW5nLCBIYWl5dWUgPGhhaXl1ZS53YW5nQGludGVsLmNvbT4NCj4gQ2M6IFRob21h cyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55 aWdpdEBpbnRlbC5jb20+OyBkcGRrLWRldg0KPiA8ZGV2QGRwZGsub3JnPjsgWWUsIFhpYW9sb25n IDx4aWFvbG9uZy55ZUBpbnRlbC5jb20+OyBLaW5zZWxsYSwgUmF5IDxyYXkua2luc2VsbGFAaW50 ZWwuY29tPjsNCj4gSXJlbW9uZ2VyLCBCZXJuYXJkIDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5j b20+OyBTdW4sIENoZW5taW4gPGNoZW5taW4uc3VuQGludGVsLmNvbT47IEFuZHJldw0KPiBSeWJj aGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+OyBTbGF2YSBPdnNpaWVua28gPHZpYWNo ZXNsYXZvQG1lbGxhbm94LmNvbT47IFN0ZXBoZW4gSGVtbWluZ2VyDQo+IDxzdGVwaGVuQG5ldHdv cmtwbHVtYmVyLm9yZz47IERhdmlkIE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29t PjsgSmVyaW4gSmFjb2INCj4gPGplcmluakBtYXJ2ZWxsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtk cGRrLWRldl0gW1BBVENIIHY0IDEvNF0gZXRoZGV2OiBhZGQgdGhlIEFQSSBmb3IgZ2V0dGluZyBi dXJzdCBtb2RlIGluZm9ybWF0aW9uDQo+IA0KPiBPbiBUdWUsIE9jdCAyOSwgMjAxOSBhdCAxMTox MiBBTSBXYW5nLCBIYWl5dWUgPGhhaXl1ZS53YW5nQGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBKZXJpbiBKYWNvYiA8 amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAyOSwg MjAxOSAxMzoyMA0KPiA+ID4gVG86IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29t Pg0KPiA+ID4gQ2M6IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0 LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBkcGRrLWRldg0KPiA+ID4gPGRldkBk cGRrLm9yZz47IFllLCBYaWFvbG9uZyA8eGlhb2xvbmcueWVAaW50ZWwuY29tPjsgS2luc2VsbGEs IFJheSA8cmF5LmtpbnNlbGxhQGludGVsLmNvbT47DQo+ID4gPiBJcmVtb25nZXIsIEJlcm5hcmQg PGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT47IFN1biwgQ2hlbm1pbiA8Y2hlbm1pbi5zdW5A aW50ZWwuY29tPjsgQW5kcmV3DQo+ID4gPiBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFy ZS5jb20+OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG1lbGxhbm94LmNvbT47IFN0ZXBo ZW4NCj4gSGVtbWluZ2VyDQo+ID4gPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBEYXZp ZCBNYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IEplcmluIEphY29iDQo+ID4g PiA8amVyaW5qQG1hcnZlbGwuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BB VENIIHY0IDEvNF0gZXRoZGV2OiBhZGQgdGhlIEFQSSBmb3IgZ2V0dGluZyBidXJzdCBtb2RlIGlu Zm9ybWF0aW9uDQo+ID4gPg0KPiA+ID4gT24gVHVlLCBPY3QgMjksIDIwMTkgYXQgMTA6MTQgQU0g V2FuZywgSGFpeXVlIDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBP Y3RvYmVyIDI5LCAyMDE5IDExOjM4DQo+ID4gPiA+ID4gVG86IFdhbmcsIEhhaXl1ZSA8aGFpeXVl LndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Bt b25qYWxvbi5uZXQ+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgZHBk ay1kZXYNCj4gPiA+ID4gPiA8ZGV2QGRwZGsub3JnPjsgWWUsIFhpYW9sb25nIDx4aWFvbG9uZy55 ZUBpbnRlbC5jb20+OyBLaW5zZWxsYSwgUmF5IDxyYXkua2luc2VsbGFAaW50ZWwuY29tPjsNCj4g PiA+ID4gPiBJcmVtb25nZXIsIEJlcm5hcmQgPGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT47 IFN1biwgQ2hlbm1pbiA8Y2hlbm1pbi5zdW5AaW50ZWwuY29tPjsgQW5kcmV3DQo+ID4gPiA+ID4g UnliY2hlbmtvIDxhcnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPjsgU2xhdmEgT3ZzaWllbmtvIDx2 aWFjaGVzbGF2b0BtZWxsYW5veC5jb20+OyBTdGVwaGVuDQo+ID4gPiBIZW1taW5nZXINCj4gPiA+ ID4gPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBEYXZpZCBNYXJjaGFuZCA8ZGF2aWQu bWFyY2hhbmRAcmVkaGF0LmNvbT47IEplcmluIEphY29iDQo+ID4gPiA+ID4gPGplcmluakBtYXJ2 ZWxsLmNvbT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjQgMS80 XSBldGhkZXY6IGFkZCB0aGUgQVBJIGZvciBnZXR0aW5nIGJ1cnN0IG1vZGUgaW5mb3JtYXRpb24N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gc3RydWN0IHJ0ZV9ldGhfYnVyc3RfbW9kZSB7 DQo+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ2NF90IG9wdGlvbnM7DQo+ID4gPiA+ID4g PiA+ID4gPiAgICAgICAgIGNoYXIgZGV2X3NwZWNpZmljWzEyOF07IC8qIFBNRCBoYXMgc3BlY2lm aWMgYnVyc3QgbW9kZSBpbmZvcm1hdGlvbiAqLw0KPiA+ID4gPiA+ID4gPiA+ID4gfTsNCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEkgcmVhbGx5IGRvbid0IHNlZSBob3cgd2UgY2Fu IGhhdmUgZ2VuZXJpYyBmbGFncy4NCj4gPiA+ID4gPiA+ID4gPiBUaGUgZmxhZ3Mgd2hpY2ggYXJl IHByb3Bvc2VkIGFyZSBqdXN0IG1hdGNoaW5nDQo+ID4gPiA+ID4gPiA+ID4gdGhlIGZ1bmN0aW9u cyBpbXBsZW1lbnRlZCBpbiBJbnRlbCBQTURzLg0KPiA+ID4gPiA+ID4gPiA+IEFuZCB0aGlzIGlz IGEgY29tcGxpY2F0ZSBzb2x1dGlvbi4NCj4gPiA+ID4gPiA+ID4gPiBXaHkgbm90IGp1c3QgcmV0 dXJuaW5nIGEgbmFtZSBmb3IgdGhlIHNlbGVjdGVkIFJ4L1R4IG1vZGU/DQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ICsxIG9ubHkgZm9yIHRoZSBuYW1lDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IExldCBtZSBjbGFyaWZ5IG15IGVhcmxpZXIgcHJvcG9zYWw6DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IDEpIFRoZSBwdWJsaWMgZXRoZGV2IEFQSSBzaG91bGQgcmV0dXJu IG9ubHkgInN0cmluZyIgaS5lIHRoZSBmbGFncw0KPiA+ID4gPiA+ID4gPiBTSE9VTEQgTk9UIGJl IGV4cG9zZWQgYXMgZXRoZGV2IEFQSQ0KPiA+ID4gPiA+ID4gPiBpLmUNCj4gPiA+ID4gPiA+ID4g aW50IHJ0ZV9ldGhfdHhfYnVyc3RfbW9kZV9uYW1lKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90 IHF1ZXVlX2lkLCBjaGFyICpuYW1lKTsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gMikg VGhlIFBNRCBpbnRlcmZhY2UgIHRvIHRoZSBjb21tb24gY29kZSBjYW4gYmUgZm9sbG93aW5nDQo+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICBzdHJ1Y3QgZXRoX3BtZF9idXJzdF9tb2RlIHsN Cj4gPiA+ID4gPiA+ID4gICAgICAgICB1aW50NjRfdCBvcHRpb25zOw0KPiA+ID4gPiA+ID4gPiAg ICAgICAgICBjaGFyIG5hbWVbMTI4XTsgLyogUE1EIHNwZWNpZmljIGJ1cnN0IG1vZGUgaW5mb3Jt YXRpb24gKi8NCj4gPiA+ID4gPiA+ID4gfTsNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g dHlwZWRlZiBpbnQgKCpldGhfYnVyc3RfbW9kZV9nZXRfdCkoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCBldGhf YnVyc3RfbW9kZSAqbW9kZSkNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gMykgVGhlIGlt cGxlbWVudGF0aW9uIG9mIHJ0ZV9ldGhfdHhfYnVyc3RfbW9kZV9uYW1lKCkgc2hhbGwgZG8gb3B0 b25zDQo+ID4gPiA+ID4gPiA+IGZsYWcgdG8gc3RyaW5nIGNvbnZlcmlvbihhZ2FpbiBpbnRlcm5h bCB0byBjb21tb24gY29kZSBpbXBsZW1ldGF0aW9uKQ0KPiA+ID4gPiA+ID4gPiBhbmQgY29uY2F0 ZW5hdGUgd2l0aCBldGhfcG1kX2J1cnN0X21vZGU6Om5hbWUNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gVGhpcyB3b3VsZCBoZWxwIHRvIHJldXNlIHNvbWUgb2YgdGhlIGZsYWdzIHRvIG5h bWUgY29udmVyc2lvbiBsb2dpYw0KPiA+ID4gPiA+ID4gPiBhY3Jvc3MgYWxsIFBNRHMuDQo+ID4g PiA+ID4gPiA+IEFuZCBQTUQgYXJlIGZyZWUgdG8gcmV0dXJuICBldGhfcG1kX2J1cnN0X21vZGU6 Om9wdGlvbnMgYXMgemVybyBpbg0KPiA+ID4gPiA+ID4gPiB0aGF0IGNhc2UgZmluYWwNCj4gPiA+ ID4gPiA+ID4gc3RyaW5nIG9ubHkgYmUgZXRoX3BtZF9idXJzdF9tb2RlOjpuYW1lLg0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEluIGZhY3QsICdydGVfZXRoX2J1cnN0 X21vZGVfb3B0aW9uX25hbWUnIGZvciBzaW5nbGUgb3B0aW9uLCBub3QNCj4gPiA+ID4gPiA+IGZv ciBzdHJ1Y3QgZXRoX3BtZF9idXJzdF9tb2RlOjpvcHRpb25bc10uIE5lZWQgbG9vcCB0byBkaXNw bGF5IHRoZW0uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIHNlZSB0d28gaXNzdWVzIHdpdGggdGhl IGZsYWcgYXBwcm9hY2ggaW4gcHVibGljIEFQSShJbnRlcm5hbGx5IGZvcg0KPiA+ID4gPiA+IGNv bW1vbiBjb2RlIGl0IGZpbmUgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbikNCj4gPiA+ID4gPg0K PiA+ID4gPiA+IDEpIFdlIGNhbiBub3Qgc3RhbmRhcmRpemUgYWxsIGZsYWdzIHdoZW4gaXQgY29t ZXMgdG8gSFcgc3BlY2lmaWMNCj4gPiA+ID4gPiBkZXRhaWxzLiBXZSBzaG91bGQgTk9UIHBvbGx1 dGUgcHVibGljIEFQSSB3aXRoIEhXIHNwZWNpZmljIGRldGFpbHMuDQo+ID4gPiA+DQo+ID4gPiA+ IEN1cnJlbnRseSwgbm8gZGV0YWlsIHRvIEhXIE5JQyBzcGVjaWZpYy4NCj4gPiA+DQo+ID4gPiBZ ZXMuIFdoYXQgaWYgSSB3YW50IHRvIGFkZCBhICJTdHJpbmciIHRoZXkgcmVwcmVzZW50IGEgc3Bl Y2lmaWMgbW9kZSBvZiBQTUQsDQo+ID4gPiBzbyB0aGF0IEkga25vdyB3aGF0IG1vZGUgUE1EIHJl YWxseSBydW5zLg0KPiA+ID4gSXQgaXMgbm90IHdvcnRoIGFkZGluZyBhIGZsYWcgZm9yIHRoYXQg aW4gcHVibGljIEFQSSBmb3IgSFcgc3BlY2lmaWMgbm90aW9uLg0KPiA+ID4gVGhhdCdzIHRoZSBw cm9ibGVtLg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiAyKSBUaGVyZSBpcyBhIGRhbmdlciBp ZiBhcHBsaWNhdGlvbiBzdGFydHMgdGFraW5nIGFueSBhY3Rpb24gYmFzZWQgb24NCj4gPiA+ID4g PiBmbGFncy4gSXQgc2hvdWxkIGJlIG9ubHkgZm9yIGRpc3BsYXkgcHVycG9zZSBzbyBpbiB0aGF0 IGNhc2UgcHVibGljDQo+ID4gPiA+ID4gQVBJIHNob3VsZCBiZSB0aGUgc3RyaW5nIHRvIGF2b2lk IG1pc3VzZSBvZiB0aGUgQVBJKGV2ZW50dWFsbHkgdGhlIGFwcA0KPiA+ID4gPiA+IHdpbGwgZmFp bCBvbiBzb21lIFBNRA0KPiA+ID4gPiA+IGlmIGl0IHRha2VzIGFueSBhY3Rpb24gYmFzZWQgb24g dGhlIGZsYWcpDQo+ID4gPiA+DQo+ID4gPiA+IFRoZXNlIGZsYWdzIGFyZSAqcmVhZCBvbmx5KiBm b3IgaW5mb3JtYXRpb24uIENhbid0IGltYWdlIGhvdyB0byBoYWNrIERQREsuIDstKQ0KPiA+ID4N Cj4gPiA+IFRvIGNsYXJpZnk6DQo+ID4gPiBJZiB3ZSBleHBvc2UgZmxhZyBzYXkgUlRFX0VUSF9C VVJTVF9TSU1QTEUgdGhlbiB0aGUgYXBwbGljYXRpb24gY2FuIHRha2UNCj4gPiA+IHNvbWUgYWN0 aW9uIGJhc2VkIG9uDQo+ID4gPiBpZiAoZmxhZyA9PSBSVEVfRVRIX0JVUlNUX1NJTVBMRSkNCj4g PiA+ICAgICBkb19zb21lX3RoaW5nKCk7DQo+ID4gPg0KPiA+ID4gSWYgdGhlIHB1cnBvc2UgaXMg T05MWSBmb3IgImRpc3BsYXkiIGFzIGluZm8gdGhlbiBleHBvc2luZyBhcyB0aGUgc3RyaW5nIHdp bGwNCj4gPiA+IGVuYWJsZSB0byBOT1Qgc3RhbmRhcmRpemUgaS5lIGFwcGxpY2F0aW9uIGNhbiBu ZXZlciBjaGVjayBiYXNlZCBvbg0KPiA+ID4gdGhlIHN0cmluZyBuYW1lKGFzIGl0IGlzIG5vdCBz dGFuZGFyZGl6ZWQpIGhlbmNlIG5vIGRhbmdlci4NCj4gPiA+DQo+ID4gPiBTbyB3aGF0IGlzIHRo ZSBwdXJwb3NlIG9mIHRoaXMgQVBJPyBKdXN0IGRpc3BsYXkgb3IgYXJlIHlvdSBleHBlY3RpbmcN Cj4gPiA+IHRoZSBhcHBsaWNhdGlvbiBjYW4gZG8gYW55IGFjdGlvbiBiYXNlZCBvbiB0aGlzPw0K PiA+DQo+ID4gT2gsIEkgc2VlLiBNYWlubHkgZm9yIHNob3dpbmcgd2hpY2ggYnVyc3QgcngvdHgg bW9kdWxlIHJ1bm5pbmc6DQo+IA0KPiBJZiBzbywgdGhlIHB1YmxpYyBBUEkgc2hvdWxkIGJlIGFz IHN0cmluZyB0byBhdm9pZCBhbnkgb3RoZXIgaW50ZXJwcmVhdGlvbiBvZg0KPiBmbGFncyBpbiBh cHBsaWNhdGlvbi4NCj4gDQo+IEFuZCBpdCBtYWtlcyBhcHBsaWNhdGlvbiBsaWZlIGVhc3kgdG9v Lg0KPiANCj4gDQoNCkF0IGZpcnN0LCB3ZSBkbyB1c2Ugc3RyaW5nLCBidXQgc3RyaW5nIGNvbnRh aW5zIHNhbWUgd29yZHMuIE9mZiBjb3Vyc2UsIHRoaXMNCmlzIGZyb20gQ1BVJ3Mgdmlldy4gT3Vy IHR3byBQTURzIHN0cmluZyBhcmUgbmVhcmx5IHRoZSBzYW1lLCBzbyB3ZSB1c2UgYml0DQppbnN0 ZWFkLiBBbmQgcGVvcGxlIG1heSBjaGVjayB3aGljaCBDUFUncyB2ZXJ0b3IgdXNpbmcuIEFuZCB3 ZSBwcm92aWRlIHRvX3N0cmluZw0KdG8gaGVscCBtYWtlIGJvdGggaGFwcHkuIE5vdCBzdXJlIHdl IHJlYWxseSBtYWtlIHRoZW0gaGFwcHkuDQoNCj4gPg0KPiA+IGh0dHBzOi8vZG9jcy5mZC5pby92 cHAvMTguMTEvZDcvZDFkL3BsdWdpbnNfMmRwZGtfMmRldmljZV8yZm9ybWF0XzhjX3NvdXJjZS5o dG1sDQo+ID4NCj4gPiBzID0gZm9ybWF0IChzLCAiJVV0eCBidXJzdCBmdW5jdGlvbjogJXNcbiIs DQo+ID4gICA1NzkgICAgICAgICAgICAgICAgICAgZm9ybWF0X3doaXRlX3NwYWNlLCBpbmRlbnQg KyAyLA0KPiA+ICAgNTgwICAgICAgICAgICAgICAgICAgIHB0cjJzbmFtZSAocnRlX2V0aF9kZXZp Y2VzW3hkLT5wb3J0X2lkXS50eF9wa3RfYnVyc3QpKTsNCj4gPiAgIDU4MSAgICAgICBzID0gZm9y bWF0IChzLCAiJVVyeCBidXJzdCBmdW5jdGlvbjogJXNcbiIsDQo+ID4gICA1ODIgICAgICAgICAg ICAgICAgICAgZm9ybWF0X3doaXRlX3NwYWNlLCBpbmRlbnQgKyAyLA0KPiA+ICAgNTgzICAgICAg ICAgICAgICAgICAgIHB0cjJzbmFtZSAocnRlX2V0aF9kZXZpY2VzW3hkLT5wb3J0X2lkXS5yeF9w a3RfYnVyc3QpKTsNCj4gPg0KPiA+IGh0dHBzOi8vZG9jcy5mZC5pby92cHAvMTguMTEvZDcvZDFk L3BsdWdpbnNfMmRwZGtfMmRldmljZV8yZm9ybWF0XzhjX3NvdXJjZS5odG1sDQo+ID4NCj4gPiA0 ODggc3RhdGljIGNvbnN0IGNoYXIgKg0KPiA+ICAgNDg5IHB0cjJzbmFtZSAodm9pZCAqcCkNCj4g PiAgIDQ5MCB7DQo+ID4gICA0OTEgICBEbF9pbmZvIGluZm8gPSB7IDAgfTsNCj4gPiAgIDQ5Mg0K PiA+ICAgNDkzICAgaWYgKGRsYWRkciAocCwgJmluZm8pID09IDApDQo+ID4gICA0OTQgICAgIHJl dHVybiAwOw0KPiA+ICAgNDk1DQo+ID4gICA0OTYgICByZXR1cm4gaW5mby5kbGlfc25hbWU7DQo+ ID4gICA0OTcgfQ0KPiA+DQo+ID4gICAgIHR4IGJ1cnN0IGZ1bmN0aW9uOiBpeGdiZV94bWl0X3Br dHMNCj4gPiAgICAgcnggYnVyc3QgZnVuY3Rpb246IGl4Z2JlX3JlY3ZfcGt0cw0KPiA+DQo+ID4g SWYgdGhlIFBNRCdzIHJ4L3R4IGlzICpzdGF0aWMqIGZ1bmN0aW9uLCAncHRyMm5hbWUnIHJldHVy bnMgJ25pbCcuDQo=