From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mauro Santos Subject: Re: [PATCH libdrm] xf86drm: Parse the separate files to retrieve the vendor/device info Date: Tue, 8 Nov 2016 18:36:20 +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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 42D2A6E5B5 for ; Tue, 8 Nov 2016 18:36:24 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id a20so13615339wme.2 for ; Tue, 08 Nov 2016 10:36:24 -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: Emil Velikov Cc: =?UTF-8?Q?Michel_D=c3=a4nzer?= , ML dri-devel List-Id: dri-devel@lists.freedesktop.org T24gMDgtMTEtMjAxNiAxODowOCwgTWF1cm8gU2FudG9zIHdyb3RlOgo+IE9uIDA4LTExLTIwMTYg MTc6MTMsIEVtaWwgVmVsaWtvdiB3cm90ZToKPj4gT24gOCBOb3ZlbWJlciAyMDE2IGF0IDE2OjU3 LCBNYXVybyBTYW50b3MgPHJlZ2lzdG8ubWFpbGxpbmdAZ21haWwuY29tPiB3cm90ZToKPj4+IE9u IDA4LTExLTIwMTYgMTU6NTcsIEVtaWwgVmVsaWtvdiB3cm90ZToKPj4+PiBPbiA4IE5vdmVtYmVy IDIwMTYgYXQgMTU6MjcsIE1hdXJvIFNhbnRvcyA8cmVnaXN0by5tYWlsbGluZ0BnbWFpbC5jb20+ IHdyb3RlOgo+Pj4+PiBPbiAwOC0xMS0yMDE2IDE1OjAwLCBFbWlsIFZlbGlrb3Ygd3JvdGU6Cj4+ Pj4+PiBPbiA4IE5vdmVtYmVyIDIwMTYgYXQgMTM6MzgsIE1hdXJvIFNhbnRvcyA8cmVnaXN0by5t YWlsbGluZ0BnbWFpbC5jb20+IHdyb3RlOgo+Pj4+Pj4+IE9uIDA4LTExLTIwMTYgMTE6MDYsIEVt aWwgVmVsaWtvdiB3cm90ZToKPj4+Pj4+Pj4gT24gMSBOb3ZlbWJlciAyMDE2IGF0IDE4OjQ3LCBN YXVybyBTYW50b3MgPHJlZ2lzdG8ubWFpbGxpbmdAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+Pj4+ IE9uIDAxLTExLTIwMTYgMTg6MTMsIEVtaWwgVmVsaWtvdiB3cm90ZToKPj4+Pj4+Pj4+PiBGcm9t OiBFbWlsIFZlbGlrb3YgPGVtaWwudmVsaWtvdkBjb2xsYWJvcmEuY29tPgo+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4gUGFyc2luZyBjb25maWcgc3lzZnMgZmlsZSB3YWtlcyB1cCB0aGUgZGV2aWNlLiBU aGUgbGF0dGVyIG9mIHdoaWNoIG1heQo+Pj4+Pj4+Pj4+IGJlIHNsb3cgYW5kIGlzbid0IHJlcXVp cmVkIHRvIGJlZ2luIHdpdGguCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBSZWFkaW5nIHRocm91Z2gg Y29uZmlnIGlzL3dhcyByZXF1aXJlZCBzaW5jZSB0aGUgcmV2aXNpb24gaXMgbm90Cj4+Pj4+Pj4+ Pj4gYXZhaWxhYmxlIGJ5IG90aGVyIG1lYW5zLCBhbHRob3VnaCB3aXRoIGEga2VybmVsIHBhdGNo IGluIHRoZSB3YXkgd2UgY2FuCj4+Pj4+Pj4+Pj4gJ2NoZWF0JyB0ZW1wb3JhcmlseS4KPj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4+IFRoYXQgc2hvdWxkIGJlIGZpbmUsIHNpbmNlIG5vIG9wZW4tc291cmNl IHByb2plY3QgaGFzIGV2ZXIgdXNlZCB0aGUKPj4+Pj4+Pj4+PiB2YWx1ZS4KPj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+IENjOiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KPj4+ Pj4+Pj4+PiBDYzogTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxsaW5nQGdtYWlsLmNvbT4KPj4+ Pj4+Pj4+PiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9OTg1MDIKPj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBFbWlsIFZlbGlrb3YgPGVtaWwu dmVsaWtvdkBjb2xsYWJvcmEuY29tPgo+Pj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+Pj4+IE1hdXJvIGNh biB5b3UgYXBwbHkgdGhpcyBhZ2FpbnN0IGxpYmRybSBhbmQgcmVidWlsZCBpdC4gWW91IGRvIF9u b3RfCj4+Pj4+Pj4+Pj4gbmVlZCB0byByZWJ1aWxkIG1lc2EgYWZ0ZXJ3b3Jkcy4KPj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4+IFRoYW5rcwo+Pj4+Pj4+Pj4+IC0tLQo+Pj4+Pj4+Pj4+ICB4Zjg2ZHJtLmMg fCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ Pj4+Pj4+Pj4+ICAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25z KC0pCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEveGY4NmRybS5jIGIveGY4NmRy bS5jCj4+Pj4+Pj4+Pj4gaW5kZXggNTJhZGQ1ZS4uNWE1MTAwYyAxMDA2NDQKPj4+Pj4+Pj4+PiAt LS0gYS94Zjg2ZHJtLmMKPj4+Pj4+Pj4+PiArKysgYi94Zjg2ZHJtLmMKPj4+Pj4+Pj4+PiBAQCAt Mjk1MCwyNSArMjk1MCw0NSBAQCBzdGF0aWMgaW50IGRybVBhcnNlUGNpRGV2aWNlSW5mbyhjb25z dCBjaGFyICpkX25hbWUsCj4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRybVBjaURldmljZUluZm9QdHIgZGV2aWNlKQo+Pj4+Pj4+Pj4+ICB7Cj4+Pj4+Pj4+Pj4g ICNpZmRlZiBfX2xpbnV4X18KPj4+Pj4+Pj4+PiArI2RlZmluZSBBUlJBWV9TSVpFKGEpIChzaXpl b2YoYSkgLyBzaXplb2YoKGEpWzBdKSkKPj4+Pj4+Pj4+PiArICAgIHN0YXRpYyBjb25zdCBjaGFy ICphdHRyc1tdID0gewo+Pj4+Pj4+Pj4+ICsgICAgICAicmV2aXNpb24iLCAvKiBYWFg6IG1ha2Ug c3VyZSBpdCdzIGFsd2F5cyBmaXJzdCwgc2VlIG5vdGUgYmVsb3cgKi8KPj4+Pj4+Pj4+PiArICAg ICAgInZlbmRvciIsCj4+Pj4+Pj4+Pj4gKyAgICAgICJkZXZpY2UiLAo+Pj4+Pj4+Pj4+ICsgICAg ICAic3Vic3lzdGVtX3ZlbmRvciIsCj4+Pj4+Pj4+Pj4gKyAgICAgICJzdWJzeXN0ZW1fZGV2aWNl IiwKPj4+Pj4+Pj4+PiArICAgIH07Cj4+Pj4+Pj4+Pj4gICAgICBjaGFyIHBhdGhbUEFUSF9NQVgg KyAxXTsKPj4+Pj4+Pj4+PiAtICAgIHVuc2lnbmVkIGNoYXIgY29uZmlnWzY0XTsKPj4+Pj4+Pj4+ PiAtICAgIGludCBmZCwgcmV0Owo+Pj4+Pj4+Pj4+ICsgICAgdW5zaWduZWQgaW50IGRhdGFbQVJS QVlfU0laRShhdHRycyldOwo+Pj4+Pj4+Pj4+ICsgICAgRklMRSAqZnA7Cj4+Pj4+Pj4+Pj4gKyAg ICBpbnQgcmV0Owo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gLSAgICBzbnByaW50ZihwYXRoLCBQQVRI X01BWCwgIi9zeXMvY2xhc3MvZHJtLyVzL2RldmljZS9jb25maWciLCBkX25hbWUpOwo+Pj4+Pj4+ Pj4+IC0gICAgZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTsKPj4+Pj4+Pj4+PiAtICAgIGlmIChm ZCA8IDApCj4+Pj4+Pj4+Pj4gLSAgICAgICAgcmV0dXJuIC1lcnJubzsKPj4+Pj4+Pj4+PiArICAg IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGF0dHJzKTsgaSsrKSB7Cj4+Pj4+ Pj4+Pj4gKyAgICAgICAgc25wcmludGYocGF0aCwgUEFUSF9NQVgsICIvc3lzL2NsYXNzL2RybS8l cy9kZXZpY2UvJXMiLAo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgIGRfbmFtZSwgYXR0cnNb aV0pOwo+Pj4+Pj4+Pj4+ICsgICAgICAgIGZwID0gZm9wZW4ocGF0aCwgInIiKTsKPj4+Pj4+Pj4+ PiArICAgICAgICBpZiAoIWZwKSB7Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgIC8qIE5vdGU6IEZp cnN0IHdlIGNoZWNrIHRoZSByZXZpc2lvbiwgc2luY2Ugb2xkZXIga2VybmVscwo+Pj4+Pj4+Pj4+ ICsgICAgICAgICAgICAgKiBtYXkgbm90IGhhdmUgaXQuIERlZmF1bHQgdG8gemVybyBpbiBzdWNo IGNhc2VzLiAqLwo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICBpZiAoaSA9PSAwKSB7Cj4+Pj4+Pj4+ Pj4gKyAgICAgICAgICAgICAgICBkYXRhW2ldID0gMDsKPj4+Pj4+Pj4+PiArICAgICAgICAgICAg ICAgIGNvbnRpbnVlOwo+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICB9Cj4+Pj4+Pj4+Pj4gKyAgICAg ICAgICAgIHJldHVybiAtZXJybm87Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgfQo+Pj4+Pj4+Pj4+Cj4+ Pj4+Pj4+Pj4gLSAgICByZXQgPSByZWFkKGZkLCBjb25maWcsIHNpemVvZihjb25maWcpKTsKPj4+ Pj4+Pj4+PiAtICAgIGNsb3NlKGZkKTsKPj4+Pj4+Pj4+PiAtICAgIGlmIChyZXQgPCAwKQo+Pj4+ Pj4+Pj4+IC0gICAgICAgIHJldHVybiAtZXJybm87Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgcmV0ID0g ZnNjYW5mKGZwLCAiJXgiLCAmZGF0YVtpXSk7Cj4+Pj4+Pj4+Pj4gKyAgICAgICAgZmNsb3NlKGZw KTsKPj4+Pj4+Pj4+PiArICAgICAgICBpZiAocmV0ICE9IDEpCj4+Pj4+Pj4+Pj4gKyAgICAgICAg ICAgIHJldHVybiAtZXJybm87Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICsgICAgfQo+Pj4+Pj4+ Pj4+Cj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPnZlbmRvcl9pZCA9IGNvbmZpZ1swXSB8IChjb25m aWdbMV0gPDwgOCk7Cj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPmRldmljZV9pZCA9IGNvbmZpZ1sy XSB8IChjb25maWdbM10gPDwgOCk7Cj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPnJldmlzaW9uX2lk ID0gY29uZmlnWzhdOwo+Pj4+Pj4+Pj4+IC0gICAgZGV2aWNlLT5zdWJ2ZW5kb3JfaWQgPSBjb25m aWdbNDRdIHwgKGNvbmZpZ1s0NV0gPDwgOCk7Cj4+Pj4+Pj4+Pj4gLSAgICBkZXZpY2UtPnN1YmRl dmljZV9pZCA9IGNvbmZpZ1s0Nl0gfCAoY29uZmlnWzQ3XSA8PCA4KTsKPj4+Pj4+Pj4+PiArICAg IGRldmljZS0+cmV2aXNpb25faWQgPSBkYXRhWzBdICYgMHhmZjsKPj4+Pj4+Pj4+PiArICAgIGRl dmljZS0+dmVuZG9yX2lkID0gZGF0YVsxXSAmIDB4ZmZmZjsKPj4+Pj4+Pj4+PiArICAgIGRldmlj ZS0+ZGV2aWNlX2lkID0gZGF0YVsyXSAmIDB4ZmZmZjsKPj4+Pj4+Pj4+PiArICAgIGRldmljZS0+ c3VidmVuZG9yX2lkID0gZGF0YVszXSAmIDB4ZmZmZjsKPj4+Pj4+Pj4+PiArICAgIGRldmljZS0+ c3ViZGV2aWNlX2lkID0gZGF0YVs0XSAmIDB4ZmZmZjsKPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+ICAg ICAgcmV0dXJuIDA7Cj4+Pj4+Pj4+Pj4gICNlbHNlCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Cj4+Pj4+ Pj4+PiBJIGhhdmUgYXBwbGllZCB0aGlzIGFnYWluc3QgbGliZHJtIDIuNC43MSBhbmQgSSBkb24n dCBzZWUgYW55IGRlbGF5cwo+Pj4+Pj4+Pj4gd2hlbiBzdGFydGluZyBmaXJlZm94L2Nocm9taXVt L3RodW5kZXJiaXJkL2dseGdlYXJzLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFRoZXJlIGlzIGFsc28g bm8gaW5kaWNhdGlvbiBpbiBkbWVzZyB0aGF0IHRoZSBkR1BVIGlzIGJlaW5nCj4+Pj4+Pj4+PiBy ZWluaXRpYWxpemVkIHdoZW4gc3RhcnRpbmcgdGhlIHByb2dyYW1zIHdoZXJlIEkndmUgZGV0ZWN0 ZWQgdGhlIHByb2JsZW0uCj4+Pj4+Pj4+Pgo+Pj4+Pj4+PiBUaGFua3MgTWF1cm8uIENhbiB5b3Ug Z2l2ZSB0aGlzIGEgdHJ5IGFsb25nc2lkZSB0aGUga2VybmVsIGZpeCBbMV0gPwo+Pj4+Pj4+PiBJ J2QgbG92ZSB0byBnZXQgdGhlIGxhdHRlciBtZXJnZWQgc29vbihpc2gpLgo+Pj4+Pj4+PiBJbmRl cGVuZGVudCBvZiB0aGUga2VybmVsIHNpZGUsIEkgbWlnaHQgbmVlZCB0byBnbyBhbm90aGVyIHdh eSBmb3IKPj4+Pj4+Pj4gbGliZHJtL21lc2Egc28gSSdsbCBDQyB5b3Ugb24gZnV0dXJlIHBhdGNo ZXMuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFlvdXIgaGVscCBpcyBncmVhdGx5IGFwcHJlY2lhdGVkICEK Pj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhhbmtzCj4+Pj4+Pj4+IEVtaWwKPj4+Pj4+Pj4KPj4+Pj4+Pj4g WzFdIGh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC82ODk5NzUvCj4+Pj4+Pj4+Cj4+ Pj4+Pj4KPj4+Pj4+PiBJIGhhdmUgYXBwbGllZCB0aGUgcGF0Y2ggb24gdG9wIG9mIGtlcm5lbCA0 LjguNiBhbmQgSSdtIHVzaW5nIHRoZSBsaWJkcm0KPj4+Pj4+PiB3aXRoIHRoZSBwYXRjaCB5b3Ug c2VudCBtZSBwcmV2aW91c2x5Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gV2l0aCB0aGlzIHBhdGNoIHRoaW5n cyBzdGlsbCBzZWVtIHdvcmsgZmluZSwgSSBkb24ndCBzZWUgYW55IG9mIHRoZQo+Pj4+Pj4+IHBy b2JsZW1zIEkndmUgc2VlbiBiZWZvcmUsIGJ1dCBJIGRvbid0IGtub3cgaG93IHRvIGNvbmZpcm0g dGhhdCB0aGUKPj4+Pj4+PiB2YWx1ZSBmcm9tIHN5c2ZzIGlzIG5vdyBiZWluZyB1c2VkIGJ5IGxp YmRybSBpbnN0ZWFkIG9mIGRlZmF1bHRpbmcgdG8gemVyby4KPj4+Pj4+Pgo+Pj4+Pj4gR3JyIG15 IGJhZC4gJGxpYmRybV9idWlsZGRpci90ZXN0cy9kcm1kZXZpY2Ugc2hvdWxkIGRvIGl0LiBZb3Ug bWlnaHQKPj4+Pj4+IG5lZWQgdG8gZXhwbGljaXRseSBidWlsZCBpdCAoY2QgdGVzdHMgJiYgbWFr ZSBkcm1kZXZpY2UpCj4+Pj4+Pgo+Pj4+Pgo+Pj4+PiBXaGVuIHJ1bm5pbmcgZHJtZGV2aWNlIGFz IG15IHVzZXIgaXQgc3RpbGwgd2FrZXMgdXAgdGhlIGRHUFUuIFRoZQo+Pj4+PiBjb3JyZWN0IGRl dmljZSByZXZpc2lvbnMgYXJlIGJlaW5nIHJlcG9ydGVkIGJ5IEkgc3VwcG9zZSB0aGF0IGlzIG5v dAo+Pj4+PiBiZWluZyByZWFkIGZyb20gc3lzZnMuCj4+Pj4+Cj4+Pj4gQmFzZWQgb24gdGhlIG91 dHB1dCB5b3UncmUgc3BvdCBvbiAtIGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByZXZpc2lvbgo+Pj4+ IHN5c2ZzIGdldHMgdXNlZC4gTW9zdCBsaWtlbHkgZHJtZGV2aWNlIGlzIGxpbmtlZC91c2luZyB0 aGUgcHJlLXBhdGNoCj4+Pj4gKHN5c3RlbS9sb2NhbD8pIGxpYmRybS5zbyA/Cj4+Pj4KPj4+Cj4+ PiBJJ3ZlIGJlZW4gdXNpbmcgdGhlIHBhdGNoZWQgbGliZHJtLnNvIGV2ZXIgc2luY2UgeW91IHNl bnQgbWUgdGhlIHBhdGNoCj4+PiBmb3IgbGliZHJtIGFuZCBJJ3ZlIHJlY29tcGlsZWQgbGliZHJt IHRvZGF5IHRvIGdldCBkcm1kZXZpY2Ugc28gYm90aCB0aGUKPj4+IHN5c3RlbSdzIGFuZCBpbi10 cmVlIGxpYmRybS5zbyBzaG91bGQgaGF2ZSB0aGUgcGF0Y2guIEFyY2gncyBQS0dCVUlMRAo+Pj4g ZG9lcyBoYXZlIGEgbm9uIGRlZmF1bHQgLS1lbmFibGUtdWRldiBjb25maWd1cmUgcGFyYW1ldGVy LCBjb3VsZCB0aGF0Cj4+PiBtYWtlIGFueSBkaWZmZXJlbmNlPwo+Pj4KPj4gVGhlIC0tZW5hYmxl LXVkZXYgZG9lcyBub3QgbWFrZSBhbnkgZGlmZmVyZW5jZS4KPj4KPj4gVGhlIHJlc3QgZG9lcyBu b3QgbWFrZSBzZW5zZSAtIHRoZSBleGFjdCBzYW1lIGZ1bmN0aW9ucyBhcmUgdXNlZCBieQo+PiBk cm1kZXZpY2UgYW5kIG1lc2EsIHlldCBpdCB0d28gZGlmZmVyZW50IHJlc3VsdHMgYXJlIHByb2R1 Y2VkIDotXAo+PiBPciBzb21ldGhpbmcgdmVyeSBmdW5ueSBpcyBoYXBwZW5pbmcgYW5kIHJlYWRp bmcgdGhlIGRldmljZS92ZW5kb3IKPj4gZmlsZSBkb2VzIF9ub3RfIHdha2UgdGhlIGRldmljZSwg d2hpbGUgdGhlIHJldmlzaW9uIG9uZSBkb2VzLgo+Pgo+IAo+IElmIEkgZG8gJ2NhdCByZXZpc2lv bicgZm9yIHRoZSBkR1BVIGl0IGRvZXMgbm90IHdha2UgdXAgdGhlIGRldmljZSBzbyBJCj4gZ3Vl c3Mgd2UgY2FuIHNjcmF0Y2ggdGhhdC4KPiAKPj4gQ2FuIHlvdSBwdWxsIG91dCB0aGUga2VybmVs IHBhdGNoIGFuZCBjaGVjayBkcm1kZXZpY2UvZG1lc2cgd2l0aAo+PiBwYXRjaGVkIGxpYmRybSA/ Cj4+Cj4gCj4gU2FtZSBiZWhhdmlvciBhcyBiZWZvcmUsIGJvdGggdmVyc2lvbnMgb2YgZHJtZGV2 aWNlIHdha2UgdXAgdGhlIGRHUFUuCj4gQ291bGQgaXQgYmUgdGhhdCBzb21lIG90aGVyIGxpYiBj YWxsZWQgYnkgZHJtZGV2aWNlIGFuZCBub3QgY2FsbGVkIGJ5Cj4gb3RoZXIgcHJvZ3JhbXMgaXMg ZG9pbmcgc29tZXRoaW5nIHRvIHdha2UgdXAgdGhlIGRHUFU/Cj4gCj4+IFRoYW5rcwo+PiBFbWls Cj4+Cj4gCj4gCgpXZWxsLCBJIF90aGlua18gSSBtaWdodCBoYXZlIGZvdW5kIHRoZSBwcm9ibGVt IGFuZCBpdCdzIG5vdCB3aXRoIGxpYmRybQppZiBJJ20gY29ycmVjdC4KCkkgd2FzIG5vdyB0aGlu a2luZyBhbmQgdHJ5aW5nIHRvIGNoZWNrIGlmIGRybWRldmljZSBtaWdodCBiZSB0cnlpbmcgdG8K cmVhZCBzb21lIG90aGVyIGluZm9ybWF0aW9uIHRoYXQgd291bGQgd2FrZSB1cCB0aGUgZEdQVSwg YW5kIGl0IGRvZXMuCgpJZiB5b3UgY2hlY2sgdGhlIG1peGVkIG91dHB1dCBvZiBkcm1kZXZpY2Uv ZG1lc2cgSSBoYXZlIHBvc3RlZCg/KSBiZWZvcmUKeW91IGNhbiBzZWUgdGhhdCBpdCB3YWtlcyB1 cCB0aGUgZGV2aWNlIHdoZW4gdGhpcyBtZXNzYWdlIGlzIHNob3duOgpPcGVuaW5nIGRldmljZSAw IG5vZGUgL2Rldi9kcmkvY2FyZDEKCk5vdGUgdGhlIHBhdGggaXMgL2Rldi9kcmkvY2FyZDEuIEkn dmUgdHJpZWQgYSAnY2F0IC9kZXYvZHJpL2NhcmQxJyBhbmQKc3VyZSBlbm91Z2ggdGhlIGRHUFUg d29rZSB1cCwgc28gSSdkIHNheSBsaWJkcm0gYW5kIHRoZSBrZXJuZWwgcGF0Y2ggYXJlCndvcmtp bmcganVzdCBmaW5lIGFzIHRoZXkgZG9uJ3QgdG91Y2ggYW55dGhpbmcgaW4gL2RldiBidXQgb25s eSBpbiAvc3lzLgoKVGhlIGluaXRpYWwgb3V0cHV0IHdpdGhvdXQgdGhlIGtlcm5lbCBwYXRjaCBz YXlzOgpkZXZpY2VbMF0KCWF2YWlsYWJsZV9ub2RlcyAwMDA3Cglub2RlcwoJCW5vZGVzWzBdIC9k ZXYvZHJpL2NhcmQxCgkJbm9kZXNbMV0gL2Rldi9kcmkvY29udHJvbEQ2NQoJCW5vZGVzWzJdIC9k ZXYvZHJpL3JlbmRlckQxMjkKCWJ1c3R5cGUgMDAwMAoJYnVzaW5mbwoJCXBjaQoJCQlkb21haW4J MDAwMAoJCQlidXMJMDMKCQkJZGV2CTAwCgkJCWZ1bmMJMAoJZGV2aWNlaW5mbwoJCXBjaQoJCQl2 ZW5kb3JfaWQJMTAwMgoJCQlkZXZpY2VfaWQJNjYwMAoJCQlzdWJ2ZW5kb3JfaWQJMTdhYQoJCQlz dWJkZXZpY2VfaWQJNTA0OQoJCQlyZXZpc2lvbl9pZAkwMAoKCklmIHlvdSByZWNoZWNrIHdoYXQg SSBoYXZlIHBvc3RlZCBwcmV2aW91c2x5IGFmdGVyIGFwcGx5aW5nIHRoZSBrZXJuZWwKcGF0Y2gg aXQgc2F5cyByZXZpc2lvbl9pZCA4MSwgc28gSSdkIHNheSBpdCdzIHdvcmtpbmcgYW5kIHdlJ3Zl IGJlZW4KZm9sbG93aW5nIGEgcmVkIGhlcnJpbmcgYWxsIGFsb25nLgoKSSBzdXBwb3NlIEkgaGF2 ZSB1bmludGVudGlvbmFsbHkgbWlzbGVkIHlvdSwgSSdtIHNvcnJ5IGZvciB0aGF0LgoKLS0gCk1h dXJvIFNhbnRvcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK