From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 06/27] ARM: GICv3 ITS: introduce device mapping Date: Wed, 22 Mar 2017 17:29:04 +0000 Message-ID: <3a044833-4b61-d807-600c-cf88d6e1901a@arm.com> References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-7-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cqk4N-0007H8-4J for xen-devel@lists.xenproject.org; Wed, 22 Mar 2017 17:29:11 +0000 In-Reply-To: <20170316112030.20419-7-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org SGkgQW5kcmUsCgpPbiAxNi8wMy8xNyAxMToyMCwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gVGhl IElUUyB1c2VzIGRldmljZSBJRHMgdG8gbWFwIExQSXMgdG8gYSBkZXZpY2UuIERvbTAgd2lsbCBs YXRlciB1c2UKPiB0aG9zZSBJRHMsIHdoaWNoIHdlIGRpcmVjdGx5IHBhc3Mgb24gdG8gdGhlIGhv c3QuCj4gRm9yIHRoaXMgd2UgaGF2ZSB0byBtYXAgZWFjaCBkZXZpY2UgdGhhdCBEb20wIG1heSBy ZXF1ZXN0IHRvIGEgaG9zdAo+IElUUyBkZXZpY2Ugd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyLgo+ IEFsbG9jYXRlIHRoZSByZXNwZWN0aXZlIG1lbW9yeSBhbmQgZW50ZXIgZWFjaCBkZXZpY2UgaW50 byBhbiByYnRyZWUgdG8KPiBsYXRlciBiZSBhYmxlIHRvIGl0ZXJhdGUgb3ZlciBpdCBvciB0byBl YXNpbHkgdGVhcmRvd24gZ3Vlc3RzLgo+Cj4gU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEg PGFuZHJlLnByenl3YXJhQGFybS5jb20+Cj4gLS0tCj4gIHhlbi9hcmNoL2FybS9naWMtdjMtaXRz LmMgICAgICAgIHwgMjA3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ICB4ZW4vYXJjaC9hcm0vdmdpYy12My5jICAgICAgICAgICB8ICAgMyArCj4gIHhlbi9pbmNsdWRl L2FzbS1hcm0vZG9tYWluLmggICAgIHwgICAzICsKPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNf djNfaXRzLmggfCAgMTggKysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDIzMSBpbnNlcnRpb25zKCsp Cj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYyBiL3hlbi9hcmNoL2Fy bS9naWMtdjMtaXRzLmMKPiBpbmRleCA1YzExYjBkLi42MGIxNWI1IDEwMDY0NAo+IC0tLSBhL3hl bi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5j Cj4gQEAgLTIxLDYgKzIxLDggQEAKPiAgI2luY2x1ZGUgPHhlbi9saWIuaD4KPiAgI2luY2x1ZGUg PHhlbi9kZWxheS5oPgo+ICAjaW5jbHVkZSA8eGVuL21tLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vcmJ0 cmVlLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KPiAgI2luY2x1ZGUgPHhlbi9zaXplcy5o Pgo+ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+ICAjaW5jbHVkZSA8YXNtL2dpY192M19kZWZzLmg+ Cj4gQEAgLTMyLDYgKzM0LDE3IEBACj4KPiAgTElTVF9IRUFEKGhvc3RfaXRzX2xpc3QpOwo+Cj4g K3N0cnVjdCBpdHNfZGV2aWNlcyB7Cj4gKyAgICBzdHJ1Y3QgcmJfbm9kZSByYm5vZGU7Cj4gKyAg ICBzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0czsKPiArICAgIHZvaWQgKml0dF9hZGRyOwo+ICsgICAg cGFkZHJfdCBndWVzdF9kb29yYmVsbDsKCkkgdGhpbmsgaXQgd291bGQgYmUgd29ydGggdG8gZXhw bGFpbiBpbiB0aGUgY29tbWl0IG1lc3NhZ2Ugd2h5IHlvdSBuZWVkIAp0aGUgZ3Vlc3RfZG9vcmJl bGwgaW4gdGhlIHN0cnVjdCBpdHNfZGV2aWNlcyBhbmQgaG93IHlvdSBwbGFuIHRvIHVzZSBpdC4K Cj4gKyAgICB1aW50MzJfdCBob3N0X2RldmlkOwo+ICsgICAgdWludDMyX3QgZ3Vlc3RfZGV2aWQ7 Cj4gKyAgICB1aW50MzJfdCBldmVudGlkczsKPiArICAgIHVpbnQzMl90ICpob3N0X2xwaXM7Cj4g K307Cj4gKwo+ICBib29sIGdpY3YzX2l0c19ob3N0X2hhc19pdHModm9pZCkKPiAgewo+ICAgICAg cmV0dXJuICFsaXN0X2VtcHR5KCZob3N0X2l0c19saXN0KTsKPiBAQCAtMTQ5LDYgKzE2MiwyNCBA QCBzdGF0aWMgaW50IGl0c19zZW5kX2NtZF9tYXBjKHN0cnVjdCBob3N0X2l0cyAqaXRzLCB1aW50 MzJfdCBjb2xsZWN0aW9uX2lkLAo+ICAgICAgcmV0dXJuIGl0c19zZW5kX2NvbW1hbmQoaXRzLCBj bWQpOwo+ICB9Cj4KPiArc3RhdGljIGludCBpdHNfc2VuZF9jbWRfbWFwZChzdHJ1Y3QgaG9zdF9p dHMgKml0cywgdWludDMyX3QgZGV2aWNlaWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDhfdCBzaXplX2JpdHMsIHBhZGRyX3QgaXR0X2FkZHIsIGJvb2wgdmFsaWQpCj4gK3sK PiArICAgIHVpbnQ2NF90IGNtZFs0XTsKPiArCj4gKyAgICBpZiAoIHZhbGlkICkKPiArICAgIHsK PiArICAgICAgICBBU1NFUlQoc2l6ZV9iaXRzIDwgMzIpOwoKSXQgd291bGQgYmUgYmV0dGVyIGlm IHlvdSBkbyB0aGUgY2hlY2sgYWdhaW5zdCB0aGUgcmVhbCBudW1iZXIgaW4gCmhhcmR3YXJlIChp LmUgR0lUU19UWVBFUi5JRF9iaXRzKS4KCgo+ICsgICAgICAgIEFTU0VSVCghKGl0dF9hZGRyICYg fkdFTk1BU0soNTEsIDgpKSk7Cj4gKyAgICB9Cj4gKyAgICBjbWRbMF0gPSBHSVRTX0NNRF9NQVBE IHwgKCh1aW50NjRfdClkZXZpY2VpZCA8PCAzMik7Cj4gKyAgICBjbWRbMV0gPSB2YWxpZCA/IHNp emVfYml0cyA6IDB4MDA7CgpUaGlzIGlzIHJlYWxseSBjb25mdXNpbmcuIFRoZSBjaGVjayB3YXMg bm90IG9uIHRoZSBwcmV2aW91cyB2ZXJzaW9uLiBTbyAKd2h5IGRvIHlvdSBuZWVkIHRoYXQ/CgpB bHNvLCBpdCB3b3VsZCBoYXZlIGJlZW4gYmV0dGVyIHRvIGhpZGUgdGhlICJzaXplIC0gMSIgaW4g dGhlIGhlbHBlciAKYXZvaWRpbmcgdG8gcmVhbGx5IG9uIHRoZSBjYWxsZXIgdG8gZG8gdGhlIHJp Z2h0IHRoaW5nLgoKPiArICAgIGNtZFsyXSA9IHZhbGlkID8gKGl0dF9hZGRyIHwgR0lUU19WQUxJ RF9CSVQpIDogMHgwMDsKCkRpdHRvIGFib3V0ICJ2YWxpZD8gLi4uIi4KClsuLi5dCgo+ICtzdGF0 aWMgc3RydWN0IGhvc3RfaXRzICpnaWN2M19pdHNfZmluZF9ieV9kb29yYmVsbChwYWRkcl90IGRv b3JiZWxsX2FkZHJlc3MpCj4gK3sKPiArICAgIHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzOwo+ICsK PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoaHdfaXRzLCAmaG9zdF9pdHNfbGlzdCwgZW50cnkp Cj4gKyAgICB7Cj4gKyAgICAgICAgaWYgKCBod19pdHMtPmFkZHIgKyBJVFNfRE9PUkJFTExfT0ZG U0VUID09IGRvb3JiZWxsX2FkZHJlc3MgKQoKV2h5IG5vdCBzdG9yaW5nIHRoZSBJVFMgYWRkcmVz cyByYXRoZXIgdGhhbiB0aGUgZG9vcmJlbGwgdG8gYXZvaWQgdGhpcyAKY2hlY2s/CgoKWy4uLl0K Cj4gK2ludCBnaWN2M19pdHNfbWFwX2d1ZXN0X2RldmljZShzdHJ1Y3QgZG9tYWluICpkLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBob3N0X2Rvb3JiZWxsLCB1aW50 MzJfdCBob3N0X2RldmlkLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJf dCBndWVzdF9kb29yYmVsbCwgdWludDMyX3QgZ3Vlc3RfZGV2aWQsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBucl9ldmVudHMsIGJvb2wgdmFsaWQpCj4gK3sKPiAr ICAgIHZvaWQgKml0dF9hZGRyID0gTlVMTDsKPiArICAgIHN0cnVjdCBob3N0X2l0cyAqaHdfaXRz Owo+ICsgICAgc3RydWN0IGl0c19kZXZpY2VzICpkZXYgPSBOVUxMLCAqdGVtcDsKPiArICAgIHN0 cnVjdCByYl9ub2RlICoqbmV3ID0gJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlcy5yYl9ub2RlLCAq cGFyZW50ID0gTlVMTDsKPiArICAgIGludCByZXQgPSAtRU5PRU5UOwo+ICsKPiArICAgIGh3X2l0 cyA9IGdpY3YzX2l0c19maW5kX2J5X2Rvb3JiZWxsKGhvc3RfZG9vcmJlbGwpOwo+ICsgICAgaWYg KCAhaHdfaXRzICkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIC8qIGNoZWNrIGZv ciBhbHJlYWR5IGV4aXN0aW5nIG1hcHBpbmdzICovCj4gKyAgICBzcGluX2xvY2soJmQtPmFyY2gu dmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKPiArICAgIHdoaWxlICggKm5ldyApCj4gKyAgICB7Cj4g KyAgICAgICAgdGVtcCA9IHJiX2VudHJ5KCpuZXcsIHN0cnVjdCBpdHNfZGV2aWNlcywgcmJub2Rl KTsKPiArCj4gKyAgICAgICAgcGFyZW50ID0gKm5ldzsKPiArICAgICAgICBpZiAoICFjb21wYXJl X2l0c19ndWVzdF9kZXZpY2VzKHRlbXAsIGd1ZXN0X2Rvb3JiZWxsLCBndWVzdF9kZXZpZCkgKQo+ ICsgICAgICAgIHsKPiArICAgICAgICAgICAgaWYgKCAhdmFsaWQgKQo+ICsgICAgICAgICAgICAg ICAgcmJfZXJhc2UoJnRlbXAtPnJibm9kZSwgJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlcyk7Cj4g Kwo+ICsgICAgICAgICAgICBzcGluX3VubG9jaygmZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzX2xv Y2spOwo+ICsKPiArICAgICAgICAgICAgaWYgKCB2YWxpZCApCgpBZ2FpbiwgYSBwcmludGsoWEVO TE9HX0dVRVNULi4uKSBoZXJlIHdvdWxkIGJlIHVzZWZ1bCB0byBrbm93IHdoaWNoIGhvc3QgCkRl dmljZUlEIHdhcyBhc3NvY2lhdGVkIHRvIHRoZSBndWVzdCBEZXZpY2VJRC4KCj4gKyAgICAgICAg ICAgICAgICByZXR1cm4gLUVCVVNZOwo+ICsKPiArICAgICAgICAgICAgcmV0dXJuIHJlbW92ZV9t YXBwZWRfZ3Vlc3RfZGV2aWNlKHRlbXApOwoKSnVzdCBhYm92ZSB5b3UgcmVtb3ZlZCB0aGUgZGV2 aWNlIGZyb20gdGhlIFJCLXRyZWUgYnV0IHRoaXMgZnVuY3Rpb24gbWF5IApmYWlsIGFuZCBuZXZl ciBmcmVlIHRoZSBtZW1vcnkuIFRoaXMgbWVhbnMgdGhhdCBtZW1vcnkgd2lsbCBiZSBsZWFrZWQg CmxlYWRpbmcgdG8gYSBwb3RlbnRpYWwgZGVuaWFsIG9mIHNlcnZpY2UuCgo+ICsgICAgICAgIH0K PiArCj4gKyAgICAgICAgaWYgKCBjb21wYXJlX2l0c19ndWVzdF9kZXZpY2VzKHRlbXAsIGd1ZXN0 X2Rvb3JiZWxsLCBndWVzdF9kZXZpZCkgPiAwICkKPiArICAgICAgICAgICAgbmV3ID0gJigoKm5l dyktPnJiX2xlZnQpOwo+ICsgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgbmV3ID0gJigoKm5l dyktPnJiX3JpZ2h0KTsKPiArICAgIH0KPiArCj4gKyAgICBpZiAoICF2YWxpZCApCj4gKyAgICAg ICAgZ290byBvdXRfdW5sb2NrOwo+ICsKPiArICAgIHJldCA9IC1FTk9NRU07Cj4gKwo+ICsgICAg LyogQW4gSW50ZXJydXB0IFRyYW5zbGF0aW9uIFRhYmxlIG5lZWRzIHRvIGJlIDI1Ni1ieXRlIGFs aWduZWQuICovCj4gKyAgICBpdHRfYWRkciA9IF94emFsbG9jKG5yX2V2ZW50cyAqIGh3X2l0cy0+ aXR0ZV9zaXplLCAyNTYpOwo+ICsgICAgaWYgKCAhaXR0X2FkZHIgKQo+ICsgICAgICAgIGdvdG8g b3V0X3VubG9jazsKPiArCj4gKyAgICBkZXYgPSB4emFsbG9jKHN0cnVjdCBpdHNfZGV2aWNlcyk7 Cj4gKyAgICBpZiAoICFkZXYgKQo+ICsgICAgICAgIGdvdG8gb3V0X3VubG9jazsKPiArCj4gKyAg ICByZXQgPSBpdHNfc2VuZF9jbWRfbWFwZChod19pdHMsIGhvc3RfZGV2aWQsIGZscyhucl9ldmVu dHMgLSAxKSAtIDEsCgpJIGRvbid0IHVuZGVyc3RhbmQgd2h5IG5yX2V2ZW50cyAtIDEuIENhbiB5 b3UgZXhwbGFpbj8KClsuLi5dCgo+ICsvKiBSZW1vdmluZyBhbnkgY29ubmVjdGlvbnMgYSBkb21h aW4gaGFkIHRvIGFueSBJVFMgaW4gdGhlIHN5c3RlbS4gKi8KPiArdm9pZCBnaWN2M19pdHNfdW5t YXBfYWxsX2RldmljZXMoc3RydWN0IGRvbWFpbiAqZCkKPiArewo+ICsgICAgc3RydWN0IHJiX25v ZGUgKnZpY3RpbTsKPiArICAgIHN0cnVjdCBpdHNfZGV2aWNlcyAqZGV2Owo+ICsKPiArICAgIC8q Cj4gKyAgICAgKiBUaGlzIGlzIGFuIGVhc2lseSByZWFkYWJsZSwgeWV0IGluZWZmaWNpZW50IGlt cGxlbWVudGF0aW9uLgo+ICsgICAgICogSXQgdXNlcyB0aGUgcHJvdmlkZWQgaXRlcmF0aW9uIHdy YXBwZXIgYW5kIGVyYXNlcyBlYWNoIG5vZGUsIHdoaWNoCj4gKyAgICAgKiBwb3NzaWJseSB0cmln Z2VycyByZWJhbGFuY2luZy4KPiArICAgICAqIFRoaXMgc2VlbXMgb3ZlcmtpbGwgc2luY2Ugd2Ug YXJlIGdvaW5nIHRvIGFib2xpc2ggdGhlIHdob2xlIHRyZWUsIGJ1dAo+ICsgICAgICogYXZvaWRz IGFuIG9wZW4tY29kZWQgcmUtaW1wbGVtZW50YXRpb24gb2YgdGhlIHRyYXZlcnNhbCBmdW5jdGlv bnMgd2l0aAo+ICsgICAgICogc29tZSByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbHMuCj4gKyAgICAg KiBQZXJmb3JtYW5jZSBkb2VzIG5vdCBtYXR0ZXIgaGVyZSwgc2luY2Ugd2UgYXJlIGRlc3Ryb3lp bmcgYSBkb21haW4uCgpBZ2FpbiwgdGhpcyBpcyBzbGlnaHRseSB1bnRydWUuIFBlcmZvcm1hbmNl IG1hdHRlciB3aGVuIGRlc3Ryb3lpbmcgYSAKZG9tYWluIGFzIFhlbiBjYW5ub3QgYmUgcHJlZW1w dGVkLiBTbyBpZiBpdCB0YWtlcyB0b28gbG9uZywgeW91IHdpbGwgCmhhdmUgYW4gaW1wYWN0IG9u IHRoZSBvdmVyYWxsIHN5c3RlbS4KCkhvd2V2ZXIsIEkgdGhpbmsgaXQgd291bGQgYmUgZmFpciB0 byBhc3N1bWUgdGhhdCBhbGwgZGV2aWNlIHdpbGwgYmUgCmRlYXNzaWduZWQgYmVmb3JlIHRoZSBJ VFMgaXMgZGVzdHJveWVkLiBTbyBJIHdvdWxkIGp1c3QgZHJvcCB0aGlzIApmdW5jdGlvbi4gTm90 ZSB0aGF0IHdlIGhhdmUgdGhlIHNhbWUgYXNzdW1wdGlvbiBpbiB0aGUgU01NVSBkcml2ZXIuCgo+ ICsgICAgICovCj4gK3Jlc3RhcnQ6Cj4gKyAgICBzcGluX2xvY2soJmQtPmFyY2gudmdpYy5pdHNf ZGV2aWNlc19sb2NrKTsKPiArICAgIGlmICggKHZpY3RpbSA9IHJiX2ZpcnN0KCZkLT5hcmNoLnZn aWMuaXRzX2RldmljZXMpKSApCj4gKyAgICB7Cj4gKyAgICAgICAgZGV2ID0gcmJfZW50cnkodmlj dGltLCBzdHJ1Y3QgaXRzX2RldmljZXMsIHJibm9kZSk7Cj4gKyAgICAgICAgcmJfZXJhc2Uodmlj dGltLCAmZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzKTsKPiArCj4gKyAgICAgICAgc3Bpbl91bmxv Y2soJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKPiArCj4gKyAgICAgICAgcmVtb3Zl X21hcHBlZF9ndWVzdF9kZXZpY2UoZGV2KTsKPiArCj4gKyAgICAgICAgZ290byByZXN0YXJ0Owo+ ICsgICAgfQo+ICsKPiArICAgIHNwaW5fdW5sb2NrKCZkLT5hcmNoLnZnaWMuaXRzX2RldmljZXNf bG9jayk7Cj4gK30KPiArCj4gIC8qIFNjYW4gdGhlIERUIGZvciBhbnkgSVRTIG5vZGVzIGFuZCBj cmVhdGUgYSBsaXN0IG9mIGhvc3QgSVRTZXMgb3V0IG9mIGl0LiAqLwo+ICB2b2lkIGdpY3YzX2l0 c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKPiAgewo+IEBAIC00 NTUsNiArNjYxLDcgQEAgdm9pZCBnaWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2 aWNlX25vZGUgKm5vZGUpCj4gICAgICAgICAgaXRzX2RhdGEtPmFkZHIgPSBhZGRyOwo+ICAgICAg ICAgIGl0c19kYXRhLT5zaXplID0gc2l6ZTsKPiAgICAgICAgICBpdHNfZGF0YS0+ZHRfbm9kZSA9 IGl0czsKPiArICAgICAgICBzcGluX2xvY2tfaW5pdCgmaXRzX2RhdGEtPmNtZF9sb2NrKTsKClRo aXMgc2hvdWxkIGJlIGluIHBhdGNoICM1LgoKPgo+ICAgICAgICAgIHByaW50aygiR0lDdjM6IEZv dW5kIElUUyBAMHglbHhcbiIsIGFkZHIpOwo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92 Z2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My5jCj4gaW5kZXggZDYxNDc5ZC4uMWZhZGIw MCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12My5jCj4gKysrIGIveGVuL2FyY2gv YXJtL3ZnaWMtdjMuYwo+IEBAIC0xNDUwLDYgKzE0NTAsOSBAQCBzdGF0aWMgaW50IHZnaWNfdjNf ZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKPiAgICAgIGQtPmFyY2gudmdpYy5ucl9yZWdp b25zID0gcmRpc3RfY291bnQ7Cj4gICAgICBkLT5hcmNoLnZnaWMucmRpc3RfcmVnaW9ucyA9IHJk aXN0X3JlZ2lvbnM7Cj4KPiArICAgIHNwaW5fbG9ja19pbml0KCZkLT5hcmNoLnZnaWMuaXRzX2Rl dmljZXNfbG9jayk7Cj4gKyAgICBkLT5hcmNoLnZnaWMuaXRzX2RldmljZXMgPSBSQl9ST09UOwoK QWdhaW4sIHRoZSBwbGFjZW1lbnQgb2YgdGhvc2UgMiBsaW5lcyBhcmUgbGlrZWx5IHdyb25nLiBU aGlzIHNob3VsZCAKYmVsb25nIHRvIHRoZSB2SVRTIGFuZCBub3QgdGhlIHZnaWMtdjMuCgpJIHRo aW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gZ2V0IGEgcGF0Y2ggdGhhdCBpbnRyb2R1Y2VzIGEg c2tlbGV0b24gCmZvciB0aGUgdklUUyBiZWZvcmUgdGhpcyBwYXRjaCBhbmQgc3RhcnQgcGx1bWJp bmcgdGhyb3VnaC4KCj4gKwo+ICAgICAgLyoKPiAgICAgICAqIERvbWFpbiAwIGdldHMgdGhlIGhh cmR3YXJlIGFkZHJlc3MuCj4gICAgICAgKiBHdWVzdHMgZ2V0IHRoZSB2aXJ0dWFsIHBsYXRmb3Jt IGxheW91dC4KCkNoZWVycywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=