From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v4 04/27] ARM: GICv3 ITS: allocate device and collection table Date: Tue, 4 Apr 2017 17:56:22 -0700 (PDT) Message-ID: References: <20170403202829.7278-1-andre.przywara@arm.com> <20170403202829.7278-5-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cvZFN-0001mh-Ae for xen-devel@lists.xenproject.org; Wed, 05 Apr 2017 00:56:29 +0000 In-Reply-To: <20170403202829.7278-5-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 Cc: xen-devel@lists.xenproject.org, Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org T24gTW9uLCAzIEFwciAyMDE3LCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPiBFYWNoIElUUyBtYXBz IGEgcGFpciBvZiBhIERldmljZUlEIChmb3IgaW5zdGFuY2UgZGVyaXZlZCBmcm9tIGEgUENJCj4g Yi9kL2YgdHJpcGxldCkgYW5kIGFuIEV2ZW50SUQgKHRoZSBNU0kgcGF5bG9hZCBvciBpbnRlcnJ1 cHQgSUQpIHRvIGEKPiBwYWlyIG9mIExQSSBudW1iZXIgYW5kIGNvbGxlY3Rpb24gSUQsIHdoaWNo IHBvaW50cyB0byB0aGUgdGFyZ2V0IENQVS4KPiBUaGlzIG1hcHBpbmcgaXMgc3RvcmVkIGluIHRo ZSBkZXZpY2UgYW5kIGNvbGxlY3Rpb24gdGFibGVzLCB3aGljaCBzb2Z0d2FyZQo+IGhhcyB0byBw cm92aWRlIGZvciB0aGUgSVRTIHRvIHVzZS4KPiBBbGxvY2F0ZSB0aGUgcmVxdWlyZWQgbWVtb3J5 IGFuZCBoYW5kIGl0IHRvIHRoZSBJVFMuCj4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGRldmljZXMg Y2FuIGJlIGxpbWl0ZWQgdG8gYSBjb21waWxlLXRpbWUgdmFyaWFibGUuCj4gCj4gU2lnbmVkLW9m Zi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+CgpSZXZpZXdlZC1i eTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgoKCj4gLS0tCj4g IHhlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMgICAgICAgIHwgMTMyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMu aCB8ICAzMiArKysrKysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKykK PiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYyBiL3hlbi9hcmNoL2Fy bS9naWMtdjMtaXRzLmMKPiBpbmRleCA1OGM2YWMwLi4wMGExZjdiIDEwMDY0NAo+IC0tLSBhL3hl bi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5j Cj4gQEAgLTM1LDYgKzM1LDEwNSBAQCBib29sIGdpY3YzX2l0c19ob3N0X2hhc19pdHModm9pZCkK PiAgICAgIHJldHVybiAhbGlzdF9lbXB0eSgmaG9zdF9pdHNfbGlzdCk7Cj4gIH0KPiAgCj4gKyNk ZWZpbmUgQkFTRVJfQVRUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiArICAgICAgICAoKDB4M1VMIDw8IEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX1NI SUZUKSAgICAgICAgICAgICAgIHwgXAo+ICsgICAgICAgICAoMHg3VUwgPDwgR0lUU19CQVNFUl9P VVRFUl9DQUNIRUFCSUxJVFlfU0hJRlQpICAgICAgICAgfCBcCj4gKyAgICAgICAgICgweDdVTCA8 PCBHSVRTX0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9TSElGVCkpCj4gKyNkZWZpbmUgQkFTRVJf Uk9fTUFTSyAgIChHRU5NQVNLX1VMTCg1OCwgNTYpIHwgR0VOTUFTS19VTEwoNTIsIDQ4KSkKPiAr Cj4gKy8qIENoZWNrIHRoYXQgdGhlIHBoeXNpY2FsIGFkZHJlc3MgY2FuIGJlIGVuY29kZWQgaW4g dGhlIFBST1BCQVNFUiByZWdpc3Rlci4gKi8KPiArc3RhdGljIGJvb2wgY2hlY2tfYmFzZXJfcGh5 c19hZGRyKHZvaWQgKnZhZGRyLCB1bnNpZ25lZCBpbnQgcGFnZV9iaXRzKQo+ICt7Cj4gKyAgICBw YWRkcl90IHBhZGRyID0gdmlydF90b19tYWRkcih2YWRkcik7Cj4gKwo+ICsgICAgcmV0dXJuICgh KHBhZGRyICYgfkdFTk1BU0tfVUxMKHBhZ2VfYml0cyA8IDE2ID8gNDcgOiA1MSwgcGFnZV9iaXRz KSkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdWludDY0X3QgZW5jb2RlX2Jhc2VyX3BoeXNfYWRkcihw YWRkcl90IGFkZHIsIHVuc2lnbmVkIGludCBwYWdlX2JpdHMpCj4gK3sKPiArICAgIHVpbnQ2NF90 IHJldCA9IGFkZHIgJiBHRU5NQVNLX1VMTCg0NywgcGFnZV9iaXRzKTsKPiArCj4gKyAgICBpZiAo IHBhZ2VfYml0cyA8IDE2ICkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIC8qIEZv ciA2NEsgcGFnZXMgYWRkcmVzcyBiaXRzIDUxLTQ4IGFyZSBlbmNvZGVkIGluIGJpdHMgMTUtMTIu ICovCj4gKyAgICByZXR1cm4gcmV0IHwgKChhZGRyICYgR0VOTUFTS19VTEwoNTEsIDQ4KSkgPj4g KDQ4IC0gMTIpKTsKPiArfQo+ICsKPiArLyogVGhlIElUUyBCQVNFIHJlZ2lzdGVycyB3b3JrIHdp dGggcGFnZSBzaXplcyBvZiA0SywgMTZLIG9yIDY0Sy4gKi8KPiArI2RlZmluZSBCQVNFUl9QQUdF X0JJVFMoc3opICgoc3opICogMiArIDEyKQo+ICsKPiArc3RhdGljIGludCBpdHNfbWFwX2Jhc2Vy KHZvaWQgX19pb21lbSAqYmFzZXJlZywgdWludDY0X3QgcmVnYywKPiArICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBucl9pdGVtcykKPiArewo+ICsgICAgdWludDY0X3QgYXR0 ciwgcmVnOwo+ICsgICAgdW5zaWduZWQgaW50IGVudHJ5X3NpemUgPSBHSVRTX0JBU0VSX0VOVFJZ X1NJWkUocmVnYyk7Cj4gKyAgICB1bnNpZ25lZCBpbnQgcGFnZXN6ID0gMjsgICAgLyogdHJ5IDY0 SyBwYWdlcyBmaXJzdCwgdGhlbiBnbyBkb3duLiAqLwo+ICsgICAgdW5zaWduZWQgaW50IHRhYmxl X3NpemU7Cj4gKyAgICB2b2lkICpidWZmZXI7Cj4gKwo+ICsgICAgYXR0ciAgPSBHSUNfQkFTRVJf SW5uZXJTaGFyZWFibGUgPDwgR0lUU19CQVNFUl9TSEFSRUFCSUxJVFlfU0hJRlQ7Cj4gKyAgICBh dHRyIHw9IEdJQ19CQVNFUl9DQUNIRV9TYW1lQXNJbm5lciA8PCBHSVRTX0JBU0VSX09VVEVSX0NB Q0hFQUJJTElUWV9TSElGVDsKPiArICAgIGF0dHIgfD0gR0lDX0JBU0VSX0NBQ0hFX1JhV2FXYiA8 PCBHSVRTX0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9TSElGVDsKPiArCj4gKyAgICAvKgo+ICsg ICAgICogU2V0dXAgdGhlIEJBU0UgcmVnaXN0ZXIgd2l0aCB0aGUgYXR0cmlidXRlcyB0aGF0IHdl IGxpa2UuIFRoZW4gcmVhZAo+ICsgICAgICogaXQgYmFjayBhbmQgc2VlIHdoYXQgc3RpY2tzIChw YWdlIHNpemUsIGNhY2hlYWJpbGl0eSBhbmQgc2hhcmVhYmlsaXR5Cj4gKyAgICAgKiBhdHRyaWJ1 dGVzKSwgcmV0cnlpbmcgaWYgbmVjZXNzYXJ5Lgo+ICsgICAgICovCj4gK3JldHJ5Ogo+ICsgICAg dGFibGVfc2l6ZSA9IFJPVU5EVVAobnJfaXRlbXMgKiBlbnRyeV9zaXplLCBCSVQoQkFTRVJfUEFH RV9CSVRTKHBhZ2VzeikpKTsKPiArICAgIC8qIFRoZSBCQVNFIHJlZ2lzdGVycyBzdXBwb3J0IGF0 IG1vc3QgMjU2IHBhZ2VzLiAqLwo+ICsgICAgdGFibGVfc2l6ZSA9IG1pbih0YWJsZV9zaXplLCAy NTZVIDw8IEJBU0VSX1BBR0VfQklUUyhwYWdlc3opKTsKPiArCj4gKyAgICBidWZmZXIgPSBfeHph bGxvYyh0YWJsZV9zaXplLCBCSVQoQkFTRVJfUEFHRV9CSVRTKHBhZ2VzeikpKTsKPiArICAgIGlm ICggIWJ1ZmZlciApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsgICAgaWYgKCAh Y2hlY2tfYmFzZXJfcGh5c19hZGRyKGJ1ZmZlciwgQkFTRVJfUEFHRV9CSVRTKHBhZ2VzeikpICkK PiArICAgIHsKPiArICAgICAgICB4ZnJlZShidWZmZXIpOwo+ICsgICAgICAgIHJldHVybiAtRVJB TkdFOwo+ICsgICAgfQo+ICsKPiArICAgIHJlZyAgPSBhdHRyOwo+ICsgICAgcmVnIHw9IChwYWdl c3ogPDwgR0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQpOwo+ICsgICAgcmVnIHw9ICh0YWJsZV9z aXplID4+IEJBU0VSX1BBR0VfQklUUyhwYWdlc3opKSAtIDE7Cj4gKyAgICByZWcgfD0gcmVnYyAm IEJBU0VSX1JPX01BU0s7Cj4gKyAgICByZWcgfD0gR0lUU19WQUxJRF9CSVQ7Cj4gKyAgICByZWcg fD0gZW5jb2RlX2Jhc2VyX3BoeXNfYWRkcih2aXJ0X3RvX21hZGRyKGJ1ZmZlciksCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQVNFUl9QQUdFX0JJVFMocGFnZXN6KSk7Cj4g Kwo+ICsgICAgd3JpdGVxX3JlbGF4ZWQocmVnLCBiYXNlcmVnKTsKPiArICAgIHJlZ2MgPSByZWFk cV9yZWxheGVkKGJhc2VyZWcpOwo+ICsKPiArICAgIC8qIFRoZSBob3N0IGRpZG4ndCBsaWtlIG91 ciBhdHRyaWJ1dGVzLCBqdXN0IHVzZSB3aGF0IGl0IHJldHVybmVkLiAqLwo+ICsgICAgaWYgKCAo cmVnYyAmIEJBU0VSX0FUVFJfTUFTSykgIT0gYXR0ciApCj4gKyAgICB7Cj4gKyAgICAgICAgLyog SWYgd2UgY2FuJ3QgbWFwIGl0IHNoYXJlYWJsZSwgZHJvcCBjYWNoZWFiaWxpdHkgYXMgd2VsbC4g Ki8KPiArICAgICAgICBpZiAoIChyZWdjICYgR0lUU19CQVNFUl9TSEFSRUFCSUxJVFlfTUFTSykg PT0gR0lDX0JBU0VSX05vblNoYXJlYWJsZSApCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBy ZWdjICY9IH5HSVRTX0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9NQVNLOwo+ICsgICAgICAgICAg ICB3cml0ZXFfcmVsYXhlZChyZWdjLCBiYXNlcmVnKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg YXR0ciA9IHJlZ2MgJiBCQVNFUl9BVFRSX01BU0s7Cj4gKyAgICB9Cj4gKyAgICBpZiAoIChyZWdj ICYgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFCSUxJVFlfTUFTSykgPD0gR0lDX0JBU0VSX0NBQ0hF X25DICkKPiArICAgICAgICBjbGVhbl9hbmRfaW52YWxpZGF0ZV9kY2FjaGVfdmFfcmFuZ2UoYnVm ZmVyLCB0YWJsZV9zaXplKTsKPiArCj4gKyAgICAvKiBJZiB0aGUgaG9zdCBhY2NlcHRlZCBvdXIg cGFnZSBzaXplLCB3ZSBhcmUgZG9uZS4gKi8KPiArICAgIGlmICggKChyZWdjID4+IEdJVFNfQkFT RVJfUEFHRV9TSVpFX1NISUZUKSAmIDB4M1VMKSA9PSBwYWdlc3ogKQo+ICsgICAgICAgIHJldHVy biAwOwo+ICsKPiArICAgIHhmcmVlKGJ1ZmZlcik7Cj4gKwo+ICsgICAgaWYgKCBwYWdlc3otLSA+ IDAgKQo+ICsgICAgICAgIGdvdG8gcmV0cnk7Cj4gKwo+ICsgICAgLyogTm9uZSBvZiB0aGUgcGFn ZSBzaXplcyB3YXMgYWNjZXB0ZWQsIGdpdmUgdXAgKi8KPiArICAgIHJldHVybiAtRUlOVkFMOwo+ ICt9Cj4gKwo+ICAvKiBBbGxvdyBhIHVzZXIgdG8gbGltaXQgdGhlIG51bWJlciBvZiBkZXZpY2Vz LiAqLwo+ICBzdGF0aWMgdW5zaWduZWQgaW50IG1heF9pdHNfZGV2aWNlX2JpdHMgPSAzMjsKPiAg aW50ZWdlcl9wYXJhbSgibWF4X2l0c19kZXZpY2VfYml0cyIsIG1heF9pdHNfZGV2aWNlX2JpdHMp Owo+IEBAIC00Miw2ICsxNDEsNyBAQCBpbnRlZ2VyX3BhcmFtKCJtYXhfaXRzX2RldmljZV9iaXRz IiwgbWF4X2l0c19kZXZpY2VfYml0cyk7Cj4gIHN0YXRpYyBpbnQgZ2ljdjNfaXRzX2luaXRfc2lu Z2xlX2l0cyhzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiAgewo+ICAgICAgdWludDY0X3QgcmVn Owo+ICsgICAgaW50IGksIHJldDsKPiAgCj4gICAgICBod19pdHMtPml0c19iYXNlID0gaW9yZW1h cF9ub2NhY2hlKGh3X2l0cy0+YWRkciwgaHdfaXRzLT5zaXplKTsKPiAgICAgIGlmICggIWh3X2l0 cy0+aXRzX2Jhc2UgKQo+IEBAIC01Myw2ICsxNTMsMzggQEAgc3RhdGljIGludCBnaWN2M19pdHNf aW5pdF9zaW5nbGVfaXRzKHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzKQo+ICAgICAgaHdfaXRzLT5l dmlkX2JpdHMgPSBHSVRTX1RZUEVSX0VWRU5UX0lEX0JJVFMocmVnKTsKPiAgICAgIGh3X2l0cy0+ aXR0ZV9zaXplID0gR0lUU19UWVBFUl9JVFRfU0laRShyZWcpOwo+ICAKPiArICAgIGZvciAoIGkg PSAwOyBpIDwgR0lUU19CQVNFUl9OUl9SRUdTOyBpKysgKQo+ICsgICAgewo+ICsgICAgICAgIHZv aWQgX19pb21lbSAqYmFzZXJlZyA9IGh3X2l0cy0+aXRzX2Jhc2UgKyBHSVRTX0JBU0VSMCArIGkg KiA4Owo+ICsgICAgICAgIHVuc2lnbmVkIGludCB0eXBlOwo+ICsKPiArICAgICAgICByZWcgPSBy ZWFkcV9yZWxheGVkKGJhc2VyZWcpOwo+ICsgICAgICAgIHR5cGUgPSAocmVnICYgR0lUU19CQVNF Ul9UWVBFX01BU0spID4+IEdJVFNfQkFTRVJfVFlQRV9TSElGVDsKPiArICAgICAgICBzd2l0Y2gg KCB0eXBlICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgY2FzZSBHSVRTX0JBU0VSX1RZUEVfTk9O RToKPiArICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgY2FzZSBHSVRTX0JBU0VSX1RZ UEVfREVWSUNFOgo+ICsgICAgICAgICAgICByZXQgPSBpdHNfbWFwX2Jhc2VyKGJhc2VyZWcsIHJl ZywgQklUKGh3X2l0cy0+ZGV2aWRfYml0cykpOwo+ICsgICAgICAgICAgICBpZiAoIHJldCApCj4g KyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsgICAgICAgICAgICBicmVhazsKPiArICAg ICAgICBjYXNlIEdJVFNfQkFTRVJfVFlQRV9DT0xMRUNUSU9OOgo+ICsgICAgICAgICAgICByZXQg PSBpdHNfbWFwX2Jhc2VyKGJhc2VyZWcsIHJlZywgbnVtX3Bvc3NpYmxlX2NwdXMoKSk7Cj4gKyAg ICAgICAgICAgIGlmICggcmV0ICkKPiArICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gKyAg ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIC8qIEluIGNhc2UgdGhpcyBpcyBhIEdJQ3Y0LCBw cm92aWRlIGEgKGR1bW15KSB2UEUgdGFibGUgYXMgd2VsbC4gKi8KPiArICAgICAgICBjYXNlIEdJ VFNfQkFTRVJfVFlQRV9WQ1BVOgo+ICsgICAgICAgICAgICByZXQgPSBpdHNfbWFwX2Jhc2VyKGJh c2VyZWcsIHJlZywgMSk7Cj4gKyAgICAgICAgICAgIGlmICggcmV0ICkKPiArICAgICAgICAgICAg ICAgIHJldHVybiByZXQ7Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIGRlZmF1bHQ6 Cj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gICAg ICByZXR1cm4gMDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9n aWNfdjNfaXRzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAo+IGluZGV4IDdj NWEyZmEuLmM3ZDg3NjYgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNf aXRzLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAo+IEBAIC0zNyw2 ICszNywxMSBAQAo+ICAjZGVmaW5lIEdJVFNfQkFTRVI3ICAgICAgICAgICAgICAgICAgICAgMHgx MzgKPiAgCj4gIC8qIFJlZ2lzdGVyIGJpdHMgKi8KPiArI2RlZmluZSBHSVRTX1ZBTElEX0JJVCAg ICAgICAgICAgICAgICAgIEJJVF9VTEwoNjMpCj4gKwo+ICsjZGVmaW5lIEdJVFNfQ1RMUl9RVUlF U0NFTlQgICAgICAgICAgICAgQklUKDMxKQo+ICsjZGVmaW5lIEdJVFNfQ1RMUl9FTkFCTEUgICAg ICAgICAgICAgICAgQklUKDApCj4gKwo+ICAjZGVmaW5lIEdJVFNfVFlQRVJfREVWSURTX1NISUZU ICAgICAgICAgMTMKPiAgI2RlZmluZSBHSVRTX1RZUEVSX0RFVklEU19NQVNLICAgICAgICAgICgw eDFmVUwgPDwgR0lUU19UWVBFUl9ERVZJRFNfU0hJRlQpCj4gICNkZWZpbmUgR0lUU19UWVBFUl9E RVZJQ0VfSURfQklUUyhyKSAgICAoKChyICYgR0lUU19UWVBFUl9ERVZJRFNfTUFTSykgPj4gXAo+ IEBAIC01Miw2ICs1NywzMyBAQAo+ICAjZGVmaW5lIEdJVFNfVFlQRVJfSVRUX1NJWkUocikgICAg ICAgICAgKCgoKHIpICYgR0lUU19UWVBFUl9JVFRfU0laRV9NQVNLKSA+PiBcCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSVRTX1RZUEVSX0lUVF9T SVpFX1NISUZUKSArIDEpCj4gIAo+ICsjZGVmaW5lIEdJVFNfSUlEUl9WQUxVRSAgICAgICAgICAg ICAgICAgMHgzNGMKPiArCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9JTkRJUkVDVCAgICAgICAgICAg ICBCSVRfVUxMKDYyKQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX1NI SUZUICAgICAgICA1OQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9TSElGVCAgICAgICAgICAg NTYKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfTUFTSyAgICAgICAgICAgICg3VUxMIDw8IEdJ VFNfQkFTRVJfVFlQRV9TSElGVCkKPiArI2RlZmluZSBHSVRTX0JBU0VSX09VVEVSX0NBQ0hFQUJJ TElUWV9TSElGVCAgICAgICAgNTMKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfTk9ORSAgICAg ICAgICAgIDBVTAo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9ERVZJQ0UgICAgICAgICAgMVVM Cj4gKyNkZWZpbmUgR0lUU19CQVNFUl9UWVBFX1ZDUFUgICAgICAgICAgICAyVUwKPiArI2RlZmlu ZSBHSVRTX0JBU0VSX1RZUEVfQ1BVICAgICAgICAgICAgIDNVTAo+ICsjZGVmaW5lIEdJVFNfQkFT RVJfVFlQRV9DT0xMRUNUSU9OICAgICAgNFVMCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9UWVBFX1JF U0VSVkVENSAgICAgICA1VUwKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfUkVTRVJWRUQ2ICAg ICAgIDZVTAo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9SRVNFUlZFRDcgICAgICAgN1VMCj4g KyNkZWZpbmUgR0lUU19CQVNFUl9FTlRSWV9TSVpFX1NISUZUICAgICA0OAo+ICsjZGVmaW5lIEdJ VFNfQkFTRVJfRU5UUllfU0laRShyZWcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAoKChyZWcgPj4gR0lUU19CQVNFUl9F TlRSWV9TSVpFX1NISUZUKSAmIDB4MWYpICsgMSkKPiArI2RlZmluZSBHSVRTX0JBU0VSX1NIQVJF QUJJTElUWV9TSElGVCAgIDEwCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQg ICAgICA4Cj4gKyNkZWZpbmUgR0lUU19CQVNFUl9ST19NQVNLICAgICAgICAgICAgICAoR0lUU19C QVNFUl9UWVBFX01BU0sgfCBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoMzFVTCA8PCBHSVRTX0JBU0VSX0VOVFJZX1NJWkVfU0hJRlQpIHxcCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSVRTX0JBU0VSX0lORElSRUNUKQo+ICsj ZGVmaW5lIEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX01BU0sgICAoMHgzVUxMIDw8IEdJVFNfQkFT RVJfU0hBUkVBQklMSVRZX1NISUZUKQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfT1VURVJfQ0FDSEVB QklMSVRZX01BU0sgICAoMHg3VUxMIDw8IEdJVFNfQkFTRVJfT1VURVJfQ0FDSEVBQklMSVRZX1NI SUZUKQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX01BU0sgICAoMHg3 VUxMIDw8IEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX1NISUZUKQo+ICsKPiAgI2luY2x1 ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgo+ICAKPiAgLyogZGF0YSBzdHJ1Y3R1cmUgZm9yIGVhY2gg aGFyZHdhcmUgSVRTICovCj4gLS0gCj4gMi45LjAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=