From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: Re: [PATCH libdrm] xf86drm: Parse the separate files to retrieve the vendor/device info Date: Tue, 8 Nov 2016 18:47:02 +0000 Message-ID: References: <20161101181334.8225-1-emil.l.velikov@gmail.com> <2cdd903e-2af6-fcdf-9987-de1db667906c@gmail.com> <35a49633-15c1-e948-2ef2-4ebdead1faef@gmail.com> <5a31fbb2-13b4-d94d-0570-77f930830453@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id AAAFA6E026 for ; Tue, 8 Nov 2016 18:47:04 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id p190so24488989wmp.1 for ; Tue, 08 Nov 2016 10:47:04 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mauro Santos Cc: =?UTF-8?Q?Michel_D=C3=A4nzer?= , ML dri-devel List-Id: dri-devel@lists.freedesktop.org T24gOCBOb3ZlbWJlciAyMDE2IGF0IDE4OjM2LCBNYXVybyBTYW50b3MgPHJlZ2lzdG8ubWFpbGxp bmdAZ21haWwuY29tPiB3cm90ZToKPiBPbiAwOC0xMS0yMDE2IDE4OjA4LCBNYXVybyBTYW50b3Mg d3JvdGU6Cj4+IE9uIDA4LTExLTIwMTYgMTc6MTMsIEVtaWwgVmVsaWtvdiB3cm90ZToKPj4+IE9u IDggTm92ZW1iZXIgMjAxNiBhdCAxNjo1NywgTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxsaW5n QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4gT24gMDgtMTEtMjAxNiAxNTo1NywgRW1pbCBWZWxpa292 IHdyb3RlOgo+Pj4+PiBPbiA4IE5vdmVtYmVyIDIwMTYgYXQgMTU6MjcsIE1hdXJvIFNhbnRvcyA8 cmVnaXN0by5tYWlsbGluZ0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4+Pj4gT24gMDgtMTEtMjAxNiAx NTowMCwgRW1pbCBWZWxpa292IHdyb3RlOgo+Pj4+Pj4+IE9uIDggTm92ZW1iZXIgMjAxNiBhdCAx MzozOCwgTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxsaW5nQGdtYWlsLmNvbT4gd3JvdGU6Cj4+ Pj4+Pj4+IE9uIDA4LTExLTIwMTYgMTE6MDYsIEVtaWwgVmVsaWtvdiB3cm90ZToKPj4+Pj4+Pj4+ IE9uIDEgTm92ZW1iZXIgMjAxNiBhdCAxODo0NywgTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxs aW5nQGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pj4+Pj4gT24gMDEtMTEtMjAxNiAxODoxMywgRW1p bCBWZWxpa292IHdyb3RlOgo+Pj4+Pj4+Pj4+PiBGcm9tOiBFbWlsIFZlbGlrb3YgPGVtaWwudmVs aWtvdkBjb2xsYWJvcmEuY29tPgo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBQYXJzaW5nIGNvbmZp ZyBzeXNmcyBmaWxlIHdha2VzIHVwIHRoZSBkZXZpY2UuIFRoZSBsYXR0ZXIgb2Ygd2hpY2ggbWF5 Cj4+Pj4+Pj4+Pj4+IGJlIHNsb3cgYW5kIGlzbid0IHJlcXVpcmVkIHRvIGJlZ2luIHdpdGguCj4+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IFJlYWRpbmcgdGhyb3VnaCBjb25maWcgaXMvd2FzIHJlcXVp cmVkIHNpbmNlIHRoZSByZXZpc2lvbiBpcyBub3QKPj4+Pj4+Pj4+Pj4gYXZhaWxhYmxlIGJ5IG90 aGVyIG1lYW5zLCBhbHRob3VnaCB3aXRoIGEga2VybmVsIHBhdGNoIGluIHRoZSB3YXkgd2UgY2Fu Cj4+Pj4+Pj4+Pj4+ICdjaGVhdCcgdGVtcG9yYXJpbHkuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+ IFRoYXQgc2hvdWxkIGJlIGZpbmUsIHNpbmNlIG5vIG9wZW4tc291cmNlIHByb2plY3QgaGFzIGV2 ZXIgdXNlZCB0aGUKPj4+Pj4+Pj4+Pj4gdmFsdWUuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IENj OiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KPj4+Pj4+Pj4+Pj4gQ2M6 IE1hdXJvIFNhbnRvcyA8cmVnaXN0by5tYWlsbGluZ0BnbWFpbC5jb20+Cj4+Pj4+Pj4+Pj4+IEJ1 Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD05ODUw Mgo+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBFbWlsIFZlbGlrb3YgPGVtaWwudmVsaWtvdkBj b2xsYWJvcmEuY29tPgo+Pj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+Pj4+Pj4gTWF1cm8gY2FuIHlvdSBh cHBseSB0aGlzIGFnYWluc3QgbGliZHJtIGFuZCByZWJ1aWxkIGl0LiBZb3UgZG8gX25vdF8KPj4+ Pj4+Pj4+Pj4gbmVlZCB0byByZWJ1aWxkIG1lc2EgYWZ0ZXJ3b3Jkcy4KPj4+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+Pj4gVGhhbmtzCj4+Pj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+Pj4+PiAgeGY4NmRybS5jIHwg NTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KPj4+ Pj4+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMo LSkKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL3hmODZkcm0uYyBiL3hmODZk cm0uYwo+Pj4+Pj4+Pj4+PiBpbmRleCA1MmFkZDVlLi41YTUxMDBjIDEwMDY0NAo+Pj4+Pj4+Pj4+ PiAtLS0gYS94Zjg2ZHJtLmMKPj4+Pj4+Pj4+Pj4gKysrIGIveGY4NmRybS5jCj4+Pj4+Pj4+Pj4+ IEBAIC0yOTUwLDI1ICsyOTUwLDQ1IEBAIHN0YXRpYyBpbnQgZHJtUGFyc2VQY2lEZXZpY2VJbmZv KGNvbnN0IGNoYXIgKmRfbmFtZSwKPj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRybVBjaURldmljZUluZm9QdHIgZGV2aWNlKQo+Pj4+Pj4+Pj4+PiAgewo+Pj4+ Pj4+Pj4+PiAgI2lmZGVmIF9fbGludXhfXwo+Pj4+Pj4+Pj4+PiArI2RlZmluZSBBUlJBWV9TSVpF KGEpIChzaXplb2YoYSkgLyBzaXplb2YoKGEpWzBdKSkKPj4+Pj4+Pj4+Pj4gKyAgICBzdGF0aWMg Y29uc3QgY2hhciAqYXR0cnNbXSA9IHsKPj4+Pj4+Pj4+Pj4gKyAgICAgICJyZXZpc2lvbiIsIC8q IFhYWDogbWFrZSBzdXJlIGl0J3MgYWx3YXlzIGZpcnN0LCBzZWUgbm90ZSBiZWxvdyAqLwo+Pj4+ Pj4+Pj4+PiArICAgICAgInZlbmRvciIsCj4+Pj4+Pj4+Pj4+ICsgICAgICAiZGV2aWNlIiwKPj4+ Pj4+Pj4+Pj4gKyAgICAgICJzdWJzeXN0ZW1fdmVuZG9yIiwKPj4+Pj4+Pj4+Pj4gKyAgICAgICJz dWJzeXN0ZW1fZGV2aWNlIiwKPj4+Pj4+Pj4+Pj4gKyAgICB9Owo+Pj4+Pj4+Pj4+PiAgICAgIGNo YXIgcGF0aFtQQVRIX01BWCArIDFdOwo+Pj4+Pj4+Pj4+PiAtICAgIHVuc2lnbmVkIGNoYXIgY29u ZmlnWzY0XTsKPj4+Pj4+Pj4+Pj4gLSAgICBpbnQgZmQsIHJldDsKPj4+Pj4+Pj4+Pj4gKyAgICB1 bnNpZ25lZCBpbnQgZGF0YVtBUlJBWV9TSVpFKGF0dHJzKV07Cj4+Pj4+Pj4+Pj4+ICsgICAgRklM RSAqZnA7Cj4+Pj4+Pj4+Pj4+ICsgICAgaW50IHJldDsKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4g LSAgICBzbnByaW50ZihwYXRoLCBQQVRIX01BWCwgIi9zeXMvY2xhc3MvZHJtLyVzL2RldmljZS9j b25maWciLCBkX25hbWUpOwo+Pj4+Pj4+Pj4+PiAtICAgIGZkID0gb3BlbihwYXRoLCBPX1JET05M WSk7Cj4+Pj4+Pj4+Pj4+IC0gICAgaWYgKGZkIDwgMCkKPj4+Pj4+Pj4+Pj4gLSAgICAgICAgcmV0 dXJuIC1lcnJubzsKPj4+Pj4+Pj4+Pj4gKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgQVJS QVlfU0laRShhdHRycyk7IGkrKykgewo+Pj4+Pj4+Pj4+PiArICAgICAgICBzbnByaW50ZihwYXRo LCBQQVRIX01BWCwgIi9zeXMvY2xhc3MvZHJtLyVzL2RldmljZS8lcyIsCj4+Pj4+Pj4+Pj4+ICsg ICAgICAgICAgICAgICAgIGRfbmFtZSwgYXR0cnNbaV0pOwo+Pj4+Pj4+Pj4+PiArICAgICAgICBm cCA9IGZvcGVuKHBhdGgsICJyIik7Cj4+Pj4+Pj4+Pj4+ICsgICAgICAgIGlmICghZnApIHsKPj4+ Pj4+Pj4+Pj4gKyAgICAgICAgICAgIC8qIE5vdGU6IEZpcnN0IHdlIGNoZWNrIHRoZSByZXZpc2lv biwgc2luY2Ugb2xkZXIga2VybmVscwo+Pj4+Pj4+Pj4+PiArICAgICAgICAgICAgICogbWF5IG5v dCBoYXZlIGl0LiBEZWZhdWx0IHRvIHplcm8gaW4gc3VjaCBjYXNlcy4gKi8KPj4+Pj4+Pj4+Pj4g KyAgICAgICAgICAgIGlmIChpID09IDApIHsKPj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICBk YXRhW2ldID0gMDsKPj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICBjb250aW51ZTsKPj4+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgIH0KPj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgIHJldHVybiAtZXJy bm87Cj4+Pj4+Pj4+Pj4+ICsgICAgICAgIH0KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gLSAgICBy ZXQgPSByZWFkKGZkLCBjb25maWcsIHNpemVvZihjb25maWcpKTsKPj4+Pj4+Pj4+Pj4gLSAgICBj bG9zZShmZCk7Cj4+Pj4+Pj4+Pj4+IC0gICAgaWYgKHJldCA8IDApCj4+Pj4+Pj4+Pj4+IC0gICAg ICAgIHJldHVybiAtZXJybm87Cj4+Pj4+Pj4+Pj4+ICsgICAgICAgIHJldCA9IGZzY2FuZihmcCwg IiV4IiwgJmRhdGFbaV0pOwo+Pj4+Pj4+Pj4+PiArICAgICAgICBmY2xvc2UoZnApOwo+Pj4+Pj4+ Pj4+PiArICAgICAgICBpZiAocmV0ICE9IDEpCj4+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICByZXR1 cm4gLWVycm5vOwo+Pj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+Pj4+ICsgICAgfQo+Pj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+PiAtICAgIGRldmljZS0+dmVuZG9yX2lkID0gY29uZmlnWzBdIHwgKGNvbmZpZ1sx XSA8PCA4KTsKPj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPmRldmljZV9pZCA9IGNvbmZpZ1syXSB8 IChjb25maWdbM10gPDwgOCk7Cj4+Pj4+Pj4+Pj4+IC0gICAgZGV2aWNlLT5yZXZpc2lvbl9pZCA9 IGNvbmZpZ1s4XTsKPj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPnN1YnZlbmRvcl9pZCA9IGNvbmZp Z1s0NF0gfCAoY29uZmlnWzQ1XSA8PCA4KTsKPj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPnN1YmRl dmljZV9pZCA9IGNvbmZpZ1s0Nl0gfCAoY29uZmlnWzQ3XSA8PCA4KTsKPj4+Pj4+Pj4+Pj4gKyAg ICBkZXZpY2UtPnJldmlzaW9uX2lkID0gZGF0YVswXSAmIDB4ZmY7Cj4+Pj4+Pj4+Pj4+ICsgICAg ZGV2aWNlLT52ZW5kb3JfaWQgPSBkYXRhWzFdICYgMHhmZmZmOwo+Pj4+Pj4+Pj4+PiArICAgIGRl dmljZS0+ZGV2aWNlX2lkID0gZGF0YVsyXSAmIDB4ZmZmZjsKPj4+Pj4+Pj4+Pj4gKyAgICBkZXZp Y2UtPnN1YnZlbmRvcl9pZCA9IGRhdGFbM10gJiAweGZmZmY7Cj4+Pj4+Pj4+Pj4+ICsgICAgZGV2 aWNlLT5zdWJkZXZpY2VfaWQgPSBkYXRhWzRdICYgMHhmZmZmOwo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+ Pj4+PiAgICAgIHJldHVybiAwOwo+Pj4+Pj4+Pj4+PiAgI2Vsc2UKPj4+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4+IEkgaGF2ZSBhcHBsaWVkIHRoaXMgYWdhaW5zdCBsaWJkcm0gMi40Ljcx IGFuZCBJIGRvbid0IHNlZSBhbnkgZGVsYXlzCj4+Pj4+Pj4+Pj4gd2hlbiBzdGFydGluZyBmaXJl Zm94L2Nocm9taXVtL3RodW5kZXJiaXJkL2dseGdlYXJzLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4g VGhlcmUgaXMgYWxzbyBubyBpbmRpY2F0aW9uIGluIGRtZXNnIHRoYXQgdGhlIGRHUFUgaXMgYmVp bmcKPj4+Pj4+Pj4+PiByZWluaXRpYWxpemVkIHdoZW4gc3RhcnRpbmcgdGhlIHByb2dyYW1zIHdo ZXJlIEkndmUgZGV0ZWN0ZWQgdGhlIHByb2JsZW0uCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFRoYW5r cyBNYXVyby4gQ2FuIHlvdSBnaXZlIHRoaXMgYSB0cnkgYWxvbmdzaWRlIHRoZSBrZXJuZWwgZml4 IFsxXSA/Cj4+Pj4+Pj4+PiBJJ2QgbG92ZSB0byBnZXQgdGhlIGxhdHRlciBtZXJnZWQgc29vbihp c2gpLgo+Pj4+Pj4+Pj4gSW5kZXBlbmRlbnQgb2YgdGhlIGtlcm5lbCBzaWRlLCBJIG1pZ2h0IG5l ZWQgdG8gZ28gYW5vdGhlciB3YXkgZm9yCj4+Pj4+Pj4+PiBsaWJkcm0vbWVzYSBzbyBJJ2xsIEND IHlvdSBvbiBmdXR1cmUgcGF0Y2hlcy4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBZb3VyIGhlbHAgaXMg Z3JlYXRseSBhcHByZWNpYXRlZCAhCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gVGhhbmtzCj4+Pj4+Pj4+ PiBFbWlsCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gWzFdIGh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9y Zy9wYXRjaC82ODk5NzUvCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBJIGhhdmUgYXBwbGll ZCB0aGUgcGF0Y2ggb24gdG9wIG9mIGtlcm5lbCA0LjguNiBhbmQgSSdtIHVzaW5nIHRoZSBsaWJk cm0KPj4+Pj4+Pj4gd2l0aCB0aGUgcGF0Y2ggeW91IHNlbnQgbWUgcHJldmlvdXNseS4KPj4+Pj4+ Pj4KPj4+Pj4+Pj4gV2l0aCB0aGlzIHBhdGNoIHRoaW5ncyBzdGlsbCBzZWVtIHdvcmsgZmluZSwg SSBkb24ndCBzZWUgYW55IG9mIHRoZQo+Pj4+Pj4+PiBwcm9ibGVtcyBJJ3ZlIHNlZW4gYmVmb3Jl LCBidXQgSSBkb24ndCBrbm93IGhvdyB0byBjb25maXJtIHRoYXQgdGhlCj4+Pj4+Pj4+IHZhbHVl IGZyb20gc3lzZnMgaXMgbm93IGJlaW5nIHVzZWQgYnkgbGliZHJtIGluc3RlYWQgb2YgZGVmYXVs dGluZyB0byB6ZXJvLgo+Pj4+Pj4+Pgo+Pj4+Pj4+IEdyciBteSBiYWQuICRsaWJkcm1fYnVpbGRk aXIvdGVzdHMvZHJtZGV2aWNlIHNob3VsZCBkbyBpdC4gWW91IG1pZ2h0Cj4+Pj4+Pj4gbmVlZCB0 byBleHBsaWNpdGx5IGJ1aWxkIGl0IChjZCB0ZXN0cyAmJiBtYWtlIGRybWRldmljZSkKPj4+Pj4+ Pgo+Pj4+Pj4KPj4+Pj4+IFdoZW4gcnVubmluZyBkcm1kZXZpY2UgYXMgbXkgdXNlciBpdCBzdGls bCB3YWtlcyB1cCB0aGUgZEdQVS4gVGhlCj4+Pj4+PiBjb3JyZWN0IGRldmljZSByZXZpc2lvbnMg YXJlIGJlaW5nIHJlcG9ydGVkIGJ5IEkgc3VwcG9zZSB0aGF0IGlzIG5vdAo+Pj4+Pj4gYmVpbmcg cmVhZCBmcm9tIHN5c2ZzLgo+Pj4+Pj4KPj4+Pj4gQmFzZWQgb24gdGhlIG91dHB1dCB5b3UncmUg c3BvdCBvbiAtIGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByZXZpc2lvbgo+Pj4+PiBzeXNmcyBnZXRz IHVzZWQuIE1vc3QgbGlrZWx5IGRybWRldmljZSBpcyBsaW5rZWQvdXNpbmcgdGhlIHByZS1wYXRj aAo+Pj4+PiAoc3lzdGVtL2xvY2FsPykgbGliZHJtLnNvID8KPj4+Pj4KPj4+Pgo+Pj4+IEkndmUg YmVlbiB1c2luZyB0aGUgcGF0Y2hlZCBsaWJkcm0uc28gZXZlciBzaW5jZSB5b3Ugc2VudCBtZSB0 aGUgcGF0Y2gKPj4+PiBmb3IgbGliZHJtIGFuZCBJJ3ZlIHJlY29tcGlsZWQgbGliZHJtIHRvZGF5 IHRvIGdldCBkcm1kZXZpY2Ugc28gYm90aCB0aGUKPj4+PiBzeXN0ZW0ncyBhbmQgaW4tdHJlZSBs aWJkcm0uc28gc2hvdWxkIGhhdmUgdGhlIHBhdGNoLiBBcmNoJ3MgUEtHQlVJTEQKPj4+PiBkb2Vz IGhhdmUgYSBub24gZGVmYXVsdCAtLWVuYWJsZS11ZGV2IGNvbmZpZ3VyZSBwYXJhbWV0ZXIsIGNv dWxkIHRoYXQKPj4+PiBtYWtlIGFueSBkaWZmZXJlbmNlPwo+Pj4+Cj4+PiBUaGUgLS1lbmFibGUt dWRldiBkb2VzIG5vdCBtYWtlIGFueSBkaWZmZXJlbmNlLgo+Pj4KPj4+IFRoZSByZXN0IGRvZXMg bm90IG1ha2Ugc2Vuc2UgLSB0aGUgZXhhY3Qgc2FtZSBmdW5jdGlvbnMgYXJlIHVzZWQgYnkKPj4+ IGRybWRldmljZSBhbmQgbWVzYSwgeWV0IGl0IHR3byBkaWZmZXJlbnQgcmVzdWx0cyBhcmUgcHJv ZHVjZWQgOi1cCj4+PiBPciBzb21ldGhpbmcgdmVyeSBmdW5ueSBpcyBoYXBwZW5pbmcgYW5kIHJl YWRpbmcgdGhlIGRldmljZS92ZW5kb3IKPj4+IGZpbGUgZG9lcyBfbm90XyB3YWtlIHRoZSBkZXZp Y2UsIHdoaWxlIHRoZSByZXZpc2lvbiBvbmUgZG9lcy4KPj4+Cj4+Cj4+IElmIEkgZG8gJ2NhdCBy ZXZpc2lvbicgZm9yIHRoZSBkR1BVIGl0IGRvZXMgbm90IHdha2UgdXAgdGhlIGRldmljZSBzbyBJ Cj4+IGd1ZXNzIHdlIGNhbiBzY3JhdGNoIHRoYXQuCj4+Cj4+PiBDYW4geW91IHB1bGwgb3V0IHRo ZSBrZXJuZWwgcGF0Y2ggYW5kIGNoZWNrIGRybWRldmljZS9kbWVzZyB3aXRoCj4+PiBwYXRjaGVk IGxpYmRybSA/Cj4+Pgo+Pgo+PiBTYW1lIGJlaGF2aW9yIGFzIGJlZm9yZSwgYm90aCB2ZXJzaW9u cyBvZiBkcm1kZXZpY2Ugd2FrZSB1cCB0aGUgZEdQVS4KPj4gQ291bGQgaXQgYmUgdGhhdCBzb21l IG90aGVyIGxpYiBjYWxsZWQgYnkgZHJtZGV2aWNlIGFuZCBub3QgY2FsbGVkIGJ5Cj4+IG90aGVy IHByb2dyYW1zIGlzIGRvaW5nIHNvbWV0aGluZyB0byB3YWtlIHVwIHRoZSBkR1BVPwo+Pgo+Pj4g VGhhbmtzCj4+PiBFbWlsCj4+Pgo+Pgo+Pgo+Cj4gV2VsbCwgSSBfdGhpbmtfIEkgbWlnaHQgaGF2 ZSBmb3VuZCB0aGUgcHJvYmxlbSBhbmQgaXQncyBub3Qgd2l0aCBsaWJkcm0KPiBpZiBJJ20gY29y cmVjdC4KPgo+IEkgd2FzIG5vdyB0aGlua2luZyBhbmQgdHJ5aW5nIHRvIGNoZWNrIGlmIGRybWRl dmljZSBtaWdodCBiZSB0cnlpbmcgdG8KPiByZWFkIHNvbWUgb3RoZXIgaW5mb3JtYXRpb24gdGhh dCB3b3VsZCB3YWtlIHVwIHRoZSBkR1BVLCBhbmQgaXQgZG9lcy4KPgo+IElmIHlvdSBjaGVjayB0 aGUgbWl4ZWQgb3V0cHV0IG9mIGRybWRldmljZS9kbWVzZyBJIGhhdmUgcG9zdGVkKD8pIGJlZm9y ZQo+IHlvdSBjYW4gc2VlIHRoYXQgaXQgd2FrZXMgdXAgdGhlIGRldmljZSB3aGVuIHRoaXMgbWVz c2FnZSBpcyBzaG93bjoKPiBPcGVuaW5nIGRldmljZSAwIG5vZGUgL2Rldi9kcmkvY2FyZDEKPgo+ IE5vdGUgdGhlIHBhdGggaXMgL2Rldi9kcmkvY2FyZDEuIEkndmUgdHJpZWQgYSAnY2F0IC9kZXYv ZHJpL2NhcmQxJyBhbmQKPiBzdXJlIGVub3VnaCB0aGUgZEdQVSB3b2tlIHVwLCBzbyBJJ2Qgc2F5 IGxpYmRybSBhbmQgdGhlIGtlcm5lbCBwYXRjaCBhcmUKPiB3b3JraW5nIGp1c3QgZmluZSBhcyB0 aGV5IGRvbid0IHRvdWNoIGFueXRoaW5nIGluIC9kZXYgYnV0IG9ubHkgaW4gL3N5cy4KPgo+IFRo ZSBpbml0aWFsIG91dHB1dCB3aXRob3V0IHRoZSBrZXJuZWwgcGF0Y2ggc2F5czoKPiBkZXZpY2Vb MF0KPiAgICAgICAgIGF2YWlsYWJsZV9ub2RlcyAwMDA3Cj4gICAgICAgICBub2Rlcwo+ICAgICAg ICAgICAgICAgICBub2Rlc1swXSAvZGV2L2RyaS9jYXJkMQo+ICAgICAgICAgICAgICAgICBub2Rl c1sxXSAvZGV2L2RyaS9jb250cm9sRDY1Cj4gICAgICAgICAgICAgICAgIG5vZGVzWzJdIC9kZXYv ZHJpL3JlbmRlckQxMjkKPiAgICAgICAgIGJ1c3R5cGUgMDAwMAo+ICAgICAgICAgYnVzaW5mbwo+ ICAgICAgICAgICAgICAgICBwY2kKPiAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW4gIDAw MDAKPiAgICAgICAgICAgICAgICAgICAgICAgICBidXMgICAgIDAzCj4gICAgICAgICAgICAgICAg ICAgICAgICAgZGV2ICAgICAwMAo+ICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMgICAgMAo+ ICAgICAgICAgZGV2aWNlaW5mbwo+ICAgICAgICAgICAgICAgICBwY2kKPiAgICAgICAgICAgICAg ICAgICAgICAgICB2ZW5kb3JfaWQgICAgICAgMTAwMgo+ICAgICAgICAgICAgICAgICAgICAgICAg IGRldmljZV9pZCAgICAgICA2NjAwCj4gICAgICAgICAgICAgICAgICAgICAgICAgc3VidmVuZG9y X2lkICAgIDE3YWEKPiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJkZXZpY2VfaWQgICAgNTA0 OQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldmlzaW9uX2lkICAgICAwMAo+Cj4KPiBJZiB5 b3UgcmVjaGVjayB3aGF0IEkgaGF2ZSBwb3N0ZWQgcHJldmlvdXNseSBhZnRlciBhcHBseWluZyB0 aGUga2VybmVsCj4gcGF0Y2ggaXQgc2F5cyByZXZpc2lvbl9pZCA4MSwgc28gSSdkIHNheSBpdCdz IHdvcmtpbmcgYW5kIHdlJ3ZlIGJlZW4KPiBmb2xsb3dpbmcgYSByZWQgaGVycmluZyBhbGwgYWxv bmcuCj4KPiBJIHN1cHBvc2UgSSBoYXZlIHVuaW50ZW50aW9uYWxseSBtaXNsZWQgeW91LCBJJ20g c29ycnkgZm9yIHRoYXQuCj4KR3JyIGhvdyBkaWQgSSBtaXNzIHRoZSBkZWFkIG9idmlvdXMgLSBv cGVuKCRub2RlKSBfZG9lc18gd2FrZSB0aGUgZGV2aWNlLgpUaGVyZSdzIG5vdGhpbmcgdG8gYXBv bG9naXNlIGZvciBhbmQgdGhhbmtzIGZvciB0aGUgaGVscCAhCgotRW1pbApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK