From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luca Boccassi Subject: Re: [PATCH v6 0/4] support reset of VF link Date: Fri, 8 Jul 2016 17:15:27 +0000 Message-ID: <1467998127.1762.30.camel@brocade.com> References: <1465191653-28408-1-git-send-email-wenzhuo.lu@intel.com> <1466403870-6840-1-git-send-email-wenzhuo.lu@intel.com> <1467647287.32386.8.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348D343@shsmsx102.ccr.corp.intel.com> <1467712351.32466.11.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348DB05@shsmsx102.ccr.corp.intel.com> <1467822182.32466.34.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E088@shsmsx102.ccr.corp.intel.com> <1467886851.1762.6.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E322@shsmsx102.ccr.corp.intel.com> <1467908383.1762.22.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E4AF@shsmsx102.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "dev@dpdk.org" To: "wenzhuo.lu@intel.com" Return-path: Received: from mx0b-000f0801.pphosted.com (mx0b-000f0801.pphosted.com [67.231.152.113]) by dpdk.org (Postfix) with ESMTP id E9A8AA56E for ; Fri, 8 Jul 2016 19:15:30 +0200 (CEST) In-Reply-To: <6A0DE07E22DDAD4C9103DF62FEBC09090348E4AF@shsmsx102.ccr.corp.intel.com> Content-Language: en-US Content-ID: <4B57A6E6ADA2C04AA142AE36979D3FA4@brocade.local> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" T24gRnJpLCAyMDE2LTA3LTA4IGF0IDAwOjE0ICswMDAwLCBMdSwgV2Vuemh1byB3cm90ZToNCj4g PiA+ID4gPiA+ID4gPiA+ID4gSGVsbG8gV2Vuemh1bywNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gSSdtIHRlc3RpbmcgdGhpcyBwYXRjaHNldCwgYnV0IEkgYW0gc3Bv cmFkaWNhbGx5IHJ1bm5pbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW50byBhbiBpc3N1ZSB3aGVy ZSB0aGUgVkZzIHJlc2V0IGZhaWxzIGFmdGVyIHRoZSBQRiBmbGFwcy4NCj4gPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSSBoYXZlIGEgVk0gcnVubmluZyBvbiBhIEtWTSBi b3ggd2l0aCBhIFg1NDAtQVQyLCBwYXNzaW5nIDIgVkZzDQo+ID4gaW4uDQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEkgYW0gdXNpbmcgY2FsbGluZyBydGVfZXRoX2Rl dl9yZXNldCBpbiByZXNwb25zZSB0byBhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFJURV9FVEhfRVZF TlRfSU5UUl9SRVNFVCBjYWxsYmFjaywgYW5kIHRoZSBmb2xsb3dpbmcNCj4gPiA+ID4gPiA+ID4g PiA+ID4gZXJyb3JzIGFwcGVhciBpbiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbG9nOg0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBQTUQ6IGl4Z2JldmZfZGV2X3Jl c2V0KCk6IEl4Z2JlIFZGIHJlc2V0OiBGYWlsZWQgdG8gdXBkYXRlIGxpbmsuDQo+ID4gPiA+ID4g PiA+ID4gPiA+IFBNRDogaXhnYmVfYWxsb2NfcnhfcXVldWVfbWJ1ZnMoKTogUlggbWJ1ZiBhbGxv YyBmYWlsZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcXVldWVfaWQ9MA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBQTUQ6IGl4Z2JldmZfZGV2X3N0YXJ0KCk6IFVuYWJsZSB0byBpbml0aWFsaXplIFJYDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGhhcmR3YXJlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICgtMTIpDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IFBNRDogaXhnYmV2Zl9kZXZfcmVzZXQoKTogSXhnYmUgVkYgcmVz ZXQ6IEZhaWxlZCB0byBzdGFydCBkZXZpY2UuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IEp1bXBpbmcgaW4gd2l0aCBHREIsIGl0IHNlZW1zIHRoYXQgdGhlIHJ0ZV9y eG1idWZfYWxsb2MNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2FsbCBpbiBpeGdiZV9hbGxvY19yeF9x dWV1ZV9tYnVmcyByZXR1cm5zIE5VTEwgYXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaXRlcmF0aW9u IDY0IG91dCBvZg0KPiA+ID4gPiAyMDQ4Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgYXBwbGlj YXRpb24gaGFzIH41MDAgMk1CIGh1Z2VwYWdlcywgYW5kIHRoZXJlJ3MgMkdCDQo+ID4gPiA+ID4g PiA+ID4gPiA+IG9mIGZyZWUgbWVtb3J5IGF2YWlsYWJsZSBvbiB0b3Agb2YgdGhhdC4NCj4gPiA+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSGF2ZSB5b3Ugc2VlbiB0aGlzIGJl Zm9yZT8gQW55IHBvaW50ZXIgb3Igc3VnZ2VzdGlvbiBmb3INCj4gPiBkZWJ1Z2dpbmc/DQo+ID4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gS2lu ZCByZWdhcmRzLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBMdWNhIEJvY2Nhc3NpDQo+ID4gPiA+ID4g PiA+ID4gPiBJIHRoaW5rIHRoZSBwcm9ibGVtIGlzIHRoZSBtYnVmIG9jY3VwaWVkIGJ5IHRoZSBw YWNrZXRzIGlzDQo+ID4gPiA+ID4gPiA+ID4gPiBub3QgcmVsZWFzZWQuIFRoaXMNCj4gPiA+ID4g PiA+ID4gPiBtZW1vcnkgaGFzIHRvIGJlIHJlbGVhc2VkIGJ5IHRoZSBBUFAsIHNvIG15IHBhdGNo ZXMgaGF2ZW7igJl0DQo+ID4gPiA+ID4gPiA+ID4gY292ZXJlZA0KPiA+ID4gPiB0aGlzLg0KPiA+ ID4gPiA+ID4gPiA+IEFjdHVhbGx5IGFuIGV4YW1wbGUgaXMgbmVlZGVkIHRvIHNob3cgaG93IHRv IHVzZSB0aGUgcmVzZXQgQVBJLg0KPiA+ID4gPiA+ID4gPiA+IEkgcGxhbiB0byBtb2RpZnkgdGhl IHRlc3RwbWQuDQo+ID4gPiA+ID4gPiA+ID4gPiBZb3UgbWF5IG5vdGljZSB0aGlzIGZlYXR1cmUg aXMgcG9zdHBvbmVkIHRvIDE2LjExLiBXb3VsZA0KPiA+ID4gPiA+ID4gPiA+ID4geW91IGxpa2Ug dG8gd2FpdCBmb3INCj4gPiA+ID4gPiA+ID4gPiB0aGUgbmV3IHZlcnNpb24gdGhhdCB3aWxsIGlu Y2x1ZGUgYW4gZXhhbXBsZT8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEhpLA0K PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gVW5mb3J0dW5hdGVseSB3ZSBuZWVkIHRo ZSBWRiByZXNldCB3b3JraW5nIHNvb25lciB0aGFuIHRoYXQsDQo+ID4gPiA+ID4gPiA+ID4gc28g b25lIHdheSBvciB0aGUgb3RoZXIgSSdsbCBuZWVkIHRvIHNvcnQgaXQgb3V0LiBHaXZlbiBJJ3Zl DQo+ID4gPiA+ID4gPiA+ID4gZ290IGEgdXNlIGNhc2Ugd2hlcmUgdGhpcyBpcyBoYXBwZW5pbmcs IGlmIGl0IGNhbiBiZSBoZWxwZnVsDQo+ID4gPiA+ID4gPiA+ID4gZm9yIHlvdSBJJ20gbW9yZSB0 aGFuIGhhcHB5IHRvIGhlbHAgYXMgYSBndWluZWEgcGlnLiBJZiB5b3UNCj4gPiA+ID4gPiA+ID4g PiBjb3VsZCBwbGVhc2UgZ2l2ZSBzb21lIGd1aWRhbmNlL2d1aWRlbGluZXMgd2l0aCByZWdhcmRz IHRvDQo+ID4gPiA+ID4gPiA+ID4gd2hpY2ggQVBJIHRvIHVzZSB0byBzb3J0IHRoZSBtYnVmDQo+ ID4gPiA+ID4gPiBwcm9ibGVtLCBJIGNhbiB0cnkgaXQgb3V0IGFuZCBnaXZlIGJhY2sgc29tZSBm ZWVkYmFjay4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ ID4gPiA+ID4gSSBtYWRlIGEgc3R1cGlkIG1pc3Rha2UgYW5kIGRlbGV0ZWQgYWxsIG15IGNvZGUu IFNvLCBJIGhhdmUgdG8NCj4gPiA+ID4gPiA+ID4gdGFrZSBzb21lIHRpbWUgdG8gcmV3cml0ZSBp dCA6KCBBdHRhY2hlZCB0aGUgZXhhbXBsZSBJIHVzZWQgdG8NCj4gPiA+ID4gPiA+ID4gdGVzdCB0 aGUgcmVzZXQgQVBJLiBJdCdzDQo+ID4gPiA+ID4gPiBtb2RpZmllZCBmcm9tIHRoZSBsMmZ3ZCBl eGFtcGxlLiBTbyB5b3UgY2FuIGNvbXBhcmUgaXQgd2l0aA0KPiA+ID4gPiA+ID4gbDJmd2QgdG8g c2VlIHdoYXQgbmVlZCB0byBiZSBhZGRlZC4NCj4gPiA+ID4gPiA+ID4gSG9wZWZ1bGx5IGl0IGNh biBoZWxwIDopDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhhbmtzISBUaGF0IG1hZGUgbWUg dW5kZXJzdGFuZCBhIGNvdXBsZSBvZiB0aGluZ3MgbW9yZSwgYW5kDQo+ID4gPiA+ID4gPiBJJ3Zl IGdvdCBwYXN0IHRoZSBwcm9ibGVtLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFVuZm9ydHVu YXRlbHkgbm93IHRoZXJlJ3MgYSBiaWdnZXIgaXNzdWUgLSBydGVfZXRoX2Rldl9yZXNldCBpcw0K PiA+ID4gPiA+ID4gYSBibG9ja2luZw0KPiA+ID4gPiBjYWxsLg0KPiA+ID4gPiA+ID4gdGhlIF9S RVNFVCBldmVudCBjYWxsYmFjayBpcyBmaXJlZCB3aGVuIHRoZSBQRiBnb2VzIGRvd24sIGJ1dA0K PiA+ID4gPiA+ID4gd2hlbiBJIGNhbGwgcnRlX2V0aF9kZXZfcmVzZXQgaXQgd2lsbCBibG9jayB1 bnRpbCB0aGUgUEYgZ29lcyBiYWNrIHVwLg0KPiA+ID4gPiA+ID4gVGhlcmUgaXMgbm8gd2F5LCBh cyBmYXIgYXMgSSBjYW4gc2VlLCB0byBrbm93IGlmIHRoZSBQRiBpcyBiYWNrDQo+ID4gPiA+ID4g PiB1cCBiZWZvcmUNCj4gPiA+ID4gY2FsbGluZyBydGVfZXRoX2Rldl9yZXNldC4NCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlLCBhcyBmYXIgYXMgSSB1 bmRlcnN0YW5kLCBJIGhhdmUgdG8NCj4gPiA+ID4gPiA+IGNhbGwgYWxsIHRoZSBydGVfZXRoX2Rl dl8gQVBJcyBmcm9tIHRoZSBzYW1lIHRocmVhZCwgaW4gbXkgY2FzZQ0KPiA+ID4gPiA+ID4gdGhl IG1hc3RlciB0aHJlYWQsIGFuZCBJIGNhbid0IGhhdmUgdGhhdCBibG9jayBwb3RlbnRpYWxseSBp bmRlZmluaXRlbHkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gV291bGQgaXQgYmUgcG9zc2li bGUgdG8gaGF2ZSAyIGV2ZW50cyBpbnN0ZWFkIG9mIDEsIG9uZSB3aGVuIHRoZQ0KPiA+ID4gPiA+ ID4gUEYgZ29lcyBkb3duIGFuZCBvbmUgd2hlbiBpdCBnb2VzIHVwPyBUaGlzIHdheSBhbiBhcHBs aWNhdGlvbg0KPiA+ID4gPiA+ID4gd291bGQgYmUgYWJsZSB0byBzb2Z0LXN0b3AgdGhlIHBvcnQg KGRyYWluIHF1ZXVlcywgZXRjKSB3aGVuIHRoZQ0KPiA+ID4gPiA+ID4gUEYgaXMgZG93biwgYW5k IHRoZW4gY2FsbCB0aGUgcmVzZXQgQVBJIHdoZW4gaXQgZ29lcyBiYWNrIHVwLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gPiBTb3JyeSB3ZSBjYW5ub3QgaGF2ZSAy IGV2ZW50cyBub3cuIFRoZXJlJ3JlIDIgcHJvYmxlbXMgdG8gaGF2ZSAyIGV2ZW50cy4NCj4gPiA+ ID4gPiAxLCBOb3JtYWxseSB3ZSB1c2Uga2VybmVsIGRyaXZlciBmb3IgUEYuIE5vdyB0aGUga2Vy bmVsIGRyaXZlcg0KPiA+ID4gPiA+IG9ubHkgaGF2ZSBvbmUNCj4gPiA+ID4ga2luZCBvZiBtZXNz YWdlIGZvciBsaW5rIGRvd24gYW5kIHVwLiBTbyB3ZSBjYW5ub3QgdGVsbCBpZiBpdCdzIGRvd24g b3IgdXAuDQo+ID4gPiA+ID4gMiwgV2hlbiB0aGUgUEYgaXMgZG93biwgaWYgd2UgZG9uJ3QgcmVz ZXQgdGhlIFZGLCBWRiBpcyBub3Qgd29ya2luZy4NCj4gPiA+ID4gPiBJdCBjYW5ub3QgcmVjZWl2 ZSBhbnkgbWVzc2FnZSBmcm9tIFBGLiBTbyB3ZSBjYW5ub3Qga25vdyB0aGF0IHdoZW4NCj4gPiA+ ID4gPiBQRiBpcyB1cC4gSXQgbWVhbnMgbm9ybWFsbHkgd2UgaGF2ZSB0byByZXNldCBWRiB0d2lj ZSB3aGVuIFBGIGRvd24NCj4gPiA+ID4gPiBhbmQgdXAuIChTdXJlbHkgd2UgY2FuIHdhaXQgYSB3 aGlsZSB3aGVuIHdlIHJlY2VpdmUgdGhlIG1lc3NhZ2UNCj4gPiA+ID4gPiBmcm9tIFBGIHVudGls IFBGIGlzIHVwLiBCdXQgd2UgY2Fubm90IHRlbGwgaG93IGxvbmcgdGhlIHRpbWUgaXMgYXBwcm9w cmlhdGUuDQo+ID4gPiA+ID4gU28gdGhpcyAqd2FpdCBhIHdoaWxlKiBtYXkgd29yayBmb3IgZmxh c2guKQ0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLCBJIHVu ZGVyc3RhbmQuDQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBwcm9ibGVtIHdpdGggYSBibG9ja2luZyBj YWxsIGlzIHRoYXQgd2UgYmFzaWNhbGx5IG5lZWQgdG8gc3Bhd24NCj4gPiA+ID4gb25lIHRocmVh ZCBwZXIgcnRlX2V0aF9kZXZfcmVzZXQgY2FsbCwgc2luY2UgdGhlcmUgaXMgbm8gd2F5IG9mDQo+ ID4gPiA+IGtub3dpbmcgaWYgYSBQRiBpcyBkb3duIGZvciBnb29kIG9yIGp1c3QgZmxhcHBpbmcs IGFuZCB3ZSBjYW4ndCBoYXZlDQo+ID4gPiA+IGEgc2luZ2xlIHRocmVhZCBtYW5hZ2luZyBhbGwg dGhlIGludGVyZmFjZXMgYmVpbmcgYmxvY2tlZCBmb3JldmVyDQo+ID4gPiA+IChFRzogUEYgMSBh bmQgMiBnbyBkb3duLCB0aHJlYWQgYmxvY2tzIG9uIFBGIDEgcmVzZXQgY2FsbCBidXQgaXQNCj4g PiA+ID4gbmV2ZXIgcmV0dXJucywgbWVhbndoaWxlIFBGIDIgZ29lcyBiYWNrIHVwIGJ1dCBjYWxs IGlzIG5ldmVyIG1hZGUpLg0KPiA+ID4gPg0KPiA+ID4gPiBBIGNvbGxlYWd1ZSBvZiBtaW5lLCBF cmljIEtpbnppZSwgc3VnZ2VzdGVkIHRvIGFkZCBhIGJsb2NraW5nDQo+ID4gPiA+IGJvb2xlYW4g cGFyYW1ldGVyIHRvIHJ0ZV9ldGhfZGV2X3Jlc2V0IEFQSS4gSWYgc2V0IHRvIGZhbHNlLCB0aGVu DQo+ID4gPiA+IHRoZSBjYWxsIHdpbGwgbm90IGJsb2NrIGFuZCBqdXN0IGRvZXMgb25lIHRyeSBh bmQgcmV0dXJuIGFuIGVycm9yIChFQUdBSU4gPykuDQo+ID4gV291bGQgdGhpcyBiZSBhbiBhY2Nl cHRhYmxlIHByb3Bvc2l0aW9uPw0KPiA+ID4gSXQncyBhIGdvb2Qgc3VnZ2VzdGlvbi4NCj4gPiA+ IEFuZCBJIHRoaW5rIGlmIHRoZSBwYXJhbWV0ZXIgaXMgc2V0IHRvIGZhbHNlIGFuZCB0aGUgbGlu ayBpcyBub3QgdXAgYWZ0ZXIgdHJ5aW5nDQo+ID4gb25jZSwgaXQgd2lsbCBiZSBBUFAncyByZXNw b25zaWJpbGl0eSB0byBzZXR1cCBhIHRpbWVyIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQgdG8NCj4g PiBrZWVwIHRyeWluZyB0byBicmluZyB1cCB0aGUgbGluay4NCj4gPiANCj4gPiBUaGF0IHNlZW1z IHJlYXNvbmFibGUuIEkndmUgdGhyb3duIHRvZ2V0aGVyIGEgcXVpY2sgZGlmZiBhbmQgcGxheWVk IHdpdGggaXQgb24NCj4gPiB0b3Agb2YgeW91ciBwYXRjaGVzIGFuZCBEUERLIDIuMiwgc2VlbXMg dG8gd29yayBhcyBpbnRlbmRlZCwgSSdtIGF0dGFjaGluZyBpdA0KPiA+IGZvciByZWZlcmVuY2Uu IEZlZWwgZnJlZSB0byBwaWNrIGl0IHVwLCBhZGFwdCBpdCBvciBpZ25vcmUgaXQgOi0pDQo+ID4g DQo+ID4gQWxzbyBJJ3ZlIG5vdGljZWQgdGhhdCB0aGUgaXhnYmUgaXMgdGhlIG9ubHkgb25lIHRo YXQgYWN0dWFsbHkgYmxvY2tzLA0KPiA+IGUxMDAwIHJldHVybnMgYWxyZWFkeSBpbW1lZGlhdGVs eSBpZiB0aGUgZGV2X3N0YXJ0IGZhaWxzIChwZXJoYXBzIGl0IHNob3VsZCBiZQ0KPiA+IGNoYW5n ZWQgdG8gYmUgY29uc2lzdGVudD8pIGFuZCBpeGdiNDAgZG9lcyB3ZWlyZCB0aGluZ3MgdGhhdCBJ J20gbm90IHN1cmUgYWJvdXQsDQo+ID4gYnV0IGNvdWxkbid0IHNwb3QgYSBsb29wIGluIHRoZXJl IDotKQ0KPiA+IA0KPiA+IEFsc28gSSd2ZSB1c2VkIGludCBpbnN0ZWFkIG9mIGJvb2wgYmVjYXVz ZQ0KPiA+IGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfb3NkZXAuaCByZWRlZmluZXMgYm9v bCBhbmQgdHJ1ZS9mYWxzZSwgc28NCj4gPiBjb21waWxhdGlvbiBmYWlscyB3aGVuIGluY2x1ZGlu ZyBzdGRib29sLmggYW5kIHVzaW5nIGJvb2wgaW4gcnRlX2V0aGRldi5oDQo+ID4gDQo+ID4gLS0N Cj4gPiBLaW5kIHJlZ2FyZHMsDQo+ID4gTHVjYSBCb2NjYXNzaQ0KPiBHbGFkIHRvIGtub3cgaXQn cyB3b3JraW5nIG5vdy4gIFRoYW5rcyBmb3IgeW91ciBwYXRjaC4gIFN1cmVseSBJJ2xsIHRyeSB0 byBpbmNsdWRlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24gOikNCg0KR3JlYXQsIHRoYW5rcyENCg0K VW5mb3J0dW5hdGVseSBJIGZvdW5kIG9uZSBpc3N1ZTogaWYgUEYgaXMgZG93biwgYW5kIHRoZW4g dGhlIFZGIG9uIHRoZQ0KZ3Vlc3QgaXMgZG93biBhcyB3ZWxsIChpcCBsaW5rIGRvd24pIGFuZCB0 aGVuIGdvZXMgYmFjayB1cCBiZWZvcmUgdGhlDQpQRiwgdGhlbiBjYWxsaW5nIHJ0ZV9ldGhfZGV2 X3Jlc2V0IHdpbGwgcmV0dXJuIDAgKHN1Y2Nlc3MpLCBldmVuIHRob3VnaA0KdGhlIFBGIGlzIHN0 aWxsIGRvd24gYW5kIGl0IHNob3VsZCBmYWlsLiBUaGlzIGlzIHdpdGggaXhnYmUuIEFueSBpZGVh DQp3aGF0IGNvdWxkIGJlIHRoZSBwcm9ibGVtPw0KDQotLSANCktpbmQgcmVnYXJkcywNCkx1Y2Eg Qm9jY2Fzc2kNCg==