From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [RFC PATCH v2 03/26] ARM: GICv3 ITS: allocate device and collection table Date: Wed, 4 Jan 2017 13:47:35 -0800 (PST) Message-ID: References: <20161222182446.18791-1-andre.przywara@arm.com> <20161222182446.18791-4-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 1cOtPR-0004Ku-Qy for xen-devel@lists.xenproject.org; Wed, 04 Jan 2017 21:47:49 +0000 In-Reply-To: <20161222182446.18791-4-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 , Vijay Kilari List-Id: xen-devel@lists.xenproject.org T24gVGh1LCAyMiBEZWMgMjAxNiwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gRWFjaCBJVFMgbWFw cyBhIHBhaXIgb2YgYSBEZXZpY2VJRCAodXN1YWxseSB0aGUgUENJIGIvZC9mIHRyaXBsZXQpIGFu ZAo+IGFuIEV2ZW50SUQgKHRoZSBNU0kgcGF5bG9hZCBvciBpbnRlcnJ1cHQgSUQpIHRvIGEgcGFp ciBvZiBMUEkgbnVtYmVyCj4gYW5kIGNvbGxlY3Rpb24gSUQsIHdoaWNoIHBvaW50cyB0byB0aGUg dGFyZ2V0IENQVS4KPiBUaGlzIG1hcHBpbmcgaXMgc3RvcmVkIGluIHRoZSBkZXZpY2UgYW5kIGNv bGxlY3Rpb24gdGFibGVzLCB3aGljaCBzb2Z0d2FyZQo+IGhhcyB0byBwcm92aWRlIGZvciB0aGUg SVRTIHRvIHVzZS4KPiBBbGxvY2F0ZSB0aGUgcmVxdWlyZWQgbWVtb3J5IGFuZCBoYW5kIGl0IHRo ZSBJVFMuCj4gVGhlIG1heGltdW0gbnVtYmVyIG9mIGRldmljZXMgaXMgbGltaXRlZCB0byBhIGNv bXBpbGUtdGltZSBjb25zdGFudAo+IGV4cG9zZWQgaW4gS2NvbmZpZy4KPiAKPiBTaWduZWQtb2Zm LWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPiAtLS0KPiAgeGVu L2FyY2gvYXJtL0tjb25maWcgICAgICAgICAgfCAgIDYgKysrCj4gIHhlbi9hcmNoL2FybS9naWMt aXRzLmMgICAgICAgIHwgMTE0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICB4ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgICAgICAgICB8ICAgNSArKwo+ICB4ZW4vaW5j bHVkZS9hc20tYXJtL2JpdG9wcy5oICB8ICAgMSArCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2lj LWl0cy5oIHwgIDUxICsrKysrKysrKysrKysrKysrKy0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNzYg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vS2NvbmZpZyBiL3hlbi9hcmNoL2FybS9LY29uZmlnCj4gaW5kZXggYTdkOTQxYy4uYTM2OTMw NSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vS2NvbmZpZwo+ICsrKyBiL3hlbi9hcmNoL2Fy bS9LY29uZmlnCj4gQEAgLTU5LDYgKzU5LDEyIEBAIGNvbmZpZyBNQVhfSE9TVF9MUElfQklUUwo+ ICAgICAgICAgICAgVGhpcyBjYW4gYmUgb3ZlcnJpZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUgd2l0 aCB0aGUgbWF4X2xwaV9iaXRzCj4gICAgICAgICAgICBwYXJhbWV0ZXIuCj4gIAo+ICtjb25maWcg TUFYX0lUU19QQ0lfQlVTU0VTCj4gKyAgICAgICAgZGVwZW5kcyBvbiBIQVNfSVRTCj4gKyAgICAg ICAgaW50ICJOdW1iZXIgb2YgUENJIGJ1c3NlcyB0aGUgSVRTIHN1cHBvcnRzICg0KSIKPiArICAg ICAgICByYW5nZSAxIDEwMjQKPiArICAgICAgICBkZWZhdWx0ICI0IgoKR2l2ZW4gdGhhdCBhbnkg a2luZCBvZiBkZXZpY2VzIGNhbiBiZSBiZWhpbmQgYW4gSVRTLCBpbmNsdWRpbmcgbm9uLVBDSQpk ZXZpY2VzLCBJIHRoaW5rIGl0IGlzIGJlc3QgdG8gY2FsbCB0aGlzIE1BWF9QSFlTX0lUU19ERVZJ Q0VTLgoKCj4gIGVuZG1lbnUKPiAgCj4gIG1lbnUgIkFSTSBlcnJhdGEgd29ya2Fyb3VuZCB2aWEg dGhlIGFsdGVybmF0aXZlIGZyYW1ld29yayIKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dp Yy1pdHMuYyBiL3hlbi9hcmNoL2FybS9naWMtaXRzLmMKPiBpbmRleCA2YzNhMzVkLi5mMTU0MGIy IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9naWMtaXRzLmMKPiArKysgYi94ZW4vYXJjaC9h cm0vZ2ljLWl0cy5jCj4gQEAgLTIyLDYgKzIyLDcgQEAKPiAgI2luY2x1ZGUgPHhlbi9saWJmZHQv bGliZmR0Lmg+Cj4gICNpbmNsdWRlIDx4ZW4vc2l6ZXMuaD4KPiAgI2luY2x1ZGUgPGFzbS9wMm0u aD4KPiArI2luY2x1ZGUgPGFzbS9pby5oPgo+ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+ICAjaW5j bHVkZSA8YXNtL2dpY192M19kZWZzLmg+Cj4gICNpbmNsdWRlIDxhc20vZ2ljLWl0cy5oPgo+IEBA IC0zNyw2ICszOCwxMTkgQEAgc3RhdGljIERFRklORV9QRVJfQ1BVKHZvaWQgKiwgcGVuZGluZ190 YWJsZSk7Cj4gIAo+ICAjZGVmaW5lIE1BWF9QSFlTX0xQSVMgICAoQklUX1VMTChscGlfZGF0YS5o b3N0X2xwaV9iaXRzKSAtIDgxOTIpCj4gIAo+ICsjZGVmaW5lIEJBU0VSX0FUVFJfTUFTSyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgKCgweDNV TCA8PCBHSVRTX0JBU0VSX1NIQVJFQUJJTElUWV9TSElGVCkgICAgICAgICAgICAgICB8IFwKPiAr ICAgICAgICAgKDB4N1VMIDw8IEdJVFNfQkFTRVJfT1VURVJfQ0FDSEVBQklMSVRZX1NISUZUKSAg ICAgICAgIHwgXAo+ICsgICAgICAgICAoMHg3VUwgPDwgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFC SUxJVFlfU0hJRlQpKQo+ICsjZGVmaW5lIEJBU0VSX1JPX01BU0sgICAoR0VOTUFTSyg1OCwgNTYp IHwgR0VOTUFTSyg1MiwgNDgpKQo+ICsKPiArc3RhdGljIHVpbnQ2NF90IGVuY29kZV9waHlzX2Fk ZHIocGFkZHJfdCBhZGRyLCBpbnQgcGFnZV9iaXRzKQo+ICt7Cj4gKyAgICB1aW50NjRfdCByZXQ7 Cj4gKwo+ICsgICAgaWYgKCBwYWdlX2JpdHMgPCAxNikKPiArICAgICAgICByZXR1cm4gKHVpbnQ2 NF90KWFkZHIgJiBHRU5NQVNLKDQ3LCBwYWdlX2JpdHMpOwo+ICsKPiArICAgIHJldCA9IGFkZHIg JiBHRU5NQVNLKDQ3LCAxNik7Cj4gKyAgICByZXR1cm4gcmV0IHwgKGFkZHIgJiBHRU5NQVNLKDUx LCA0OCkpID4+ICg0OCAtIDEyKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBpdHNfbWFwX2Jhc2Vy KHZvaWQgX19pb21lbSAqYmFzZXJlZywgdWludDY0X3QgcmVnYywgaW50IG5yX2l0ZW1zKQo+ICt7 Cj4gKyAgICB1aW50NjRfdCBhdHRyOwo+ICsgICAgaW50IGVudHJ5X3NpemUgPSAoKHJlZ2MgPj4g R0lUU19CQVNFUl9FTlRSWV9TSVpFX1NISUZUKSAmIDB4MWYpICsgMTsKPiArICAgIGludCBwYWdl c3o7Cj4gKyAgICBpbnQgb3JkZXI7Cj4gKyAgICB2b2lkICpidWZmZXIgPSBOVUxMOwo+ICsKPiAr ICAgIGF0dHIgID0gR0lDX0JBU0VSX0lubmVyU2hhcmVhYmxlIDw8IEdJVFNfQkFTRVJfU0hBUkVB QklMSVRZX1NISUZUOwo+ICsgICAgYXR0ciB8PSBHSUNfQkFTRVJfQ0FDSEVfU2FtZUFzSW5uZXIg PDwgR0lUU19CQVNFUl9PVVRFUl9DQUNIRUFCSUxJVFlfU0hJRlQ7Cj4gKyAgICBhdHRyIHw9IEdJ Q19CQVNFUl9DQUNIRV9SYVdhV2IgPDwgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFCSUxJVFlfU0hJ RlQ7Cj4gKwo+ICsgICAgLyoKPiArICAgICAqIExvb3Agb3ZlciB0aGUgcGFnZSBzaXplcyAoNEss IDE2SywgNjRLKSB0byBmaW5kIG91dCB3aGF0IHRoZSBob3N0Cj4gKyAgICAgKiBzdXBwb3J0cy4K PiArICAgICAqLwo+ICsgICAgZm9yICggcGFnZXN6ID0gMDsgcGFnZXN6IDwgMzsgcGFnZXN6Kysg KQo+ICsgICAgewo+ICsgICAgICAgIHVpbnQ2NF90IHJlZzsKPiArICAgICAgICBpbnQgbnJfYnl0 ZXM7Cj4gKwo+ICsgICAgICAgIG5yX2J5dGVzID0gUk9VTkRVUChucl9pdGVtcyAqIGVudHJ5X3Np emUsIEJJVChwYWdlc3ogKiAyICsgMTIpKTsKCjEyL1BBR0VfU0hJRlQKCgo+ICsgICAgICAgIG9y ZGVyID0gZ2V0X29yZGVyX2Zyb21fYnl0ZXMobnJfYnl0ZXMpOwo+ICsKPiArICAgICAgICBpZiAo ICFidWZmZXIgKQo+ICsgICAgICAgICAgICBidWZmZXIgPSBhbGxvY194ZW5oZWFwX3BhZ2VzKG9y ZGVyLCAwKTsKPiArICAgICAgICBpZiAoICFidWZmZXIgKQo+ICsgICAgICAgICAgICByZXR1cm4g LUVOT01FTTsKPiArCj4gKyAgICAgICAgcmVnICA9IGF0dHI7Cj4gKyAgICAgICAgcmVnIHw9IChw YWdlc3ogPDwgR0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQpOwo+ICsgICAgICAgIHJlZyB8PSBu cl9ieXRlcyA+PiAocGFnZXN6ICogMiArIDEyKTsKPiArICAgICAgICByZWcgfD0gcmVnYyAmIEJB U0VSX1JPX01BU0s7Cj4gKyAgICAgICAgcmVnIHw9IEdJVFNfQkFTRVJfVkFMSUQ7Cj4gKyAgICAg ICAgcmVnIHw9IGVuY29kZV9waHlzX2FkZHIodmlydF90b19tYWRkcihidWZmZXIpLCBwYWdlc3og KiAyICsgMTIpOwo+ICsKPiArICAgICAgICB3cml0ZXFfcmVsYXhlZChyZWcsIGJhc2VyZWcpOwo+ ICsgICAgICAgIHJlZ2MgPSByZWFkbF9yZWxheGVkKGJhc2VyZWcpOwo+ICsKPiArICAgICAgICAv KiBUaGUgaG9zdCBkaWRuJ3QgbGlrZSBvdXIgYXR0cmlidXRlcywganVzdCB1c2Ugd2hhdCBpdCBy ZXR1cm5lZC4gKi8KPiArICAgICAgICBpZiAoIChyZWdjICYgQkFTRVJfQVRUUl9NQVNLKSAhPSBh dHRyICkKPiArICAgICAgICAgICAgYXR0ciA9IHJlZ2MgJiBCQVNFUl9BVFRSX01BU0s7Cj4gKwo+ ICsgICAgICAgIC8qIElmIHRoZSBob3N0IGFjY2VwdGVkIG91ciBwYWdlIHNpemUsIHdlIGFyZSBk b25lLiAqLwo+ICsgICAgICAgIGlmICggKHJlZyAmICgzVUwgPDwgR0lUU19CQVNFUl9QQUdFX1NJ WkVfU0hJRlQpKSA9PSBwYWdlc3ogKQo+ICsgICAgICAgICAgICByZXR1cm4gMDsKPiArCj4gKyAg ICAgICAgLyogQ2hlY2sgd2hldGhlciBvdXIgYnVmZmVyIGlzIGFsaWduZWQgdG8gdGhlIG5leHQg cGFnZSBzaXplIGFscmVhZHkuICovCj4gKyAgICAgICAgaWYgKCAhKHZpcnRfdG9fbWFkZHIoYnVm ZmVyKSAmIChCSVQocGFnZXN6ICogMiArIDEyICsgMikgLSAxKSkgKQo+ICsgICAgICAgIHsKPiAr ICAgICAgICAgICAgZnJlZV94ZW5oZWFwX3BhZ2VzKGJ1ZmZlciwgb3JkZXIpOwo+ICsgICAgICAg ICAgICBidWZmZXIgPSBOVUxMOwo+ICsgICAgICAgIH0KClJlZ2FyZGxlc3Mgb2YgYWxpZ25tZW50 LCBzaG91bGQgd2UgYWx3YXlzIGZyZWUgYnVmZmVyIGhlcmUsIGdpdmVuIHRoYXQKd2UgbmVlZCB0 byBhbGxvY2F0ZSB0aGUgcmlnaHQgc2l6ZSBmb3IgdGhlIG5leHQgYXR0ZW1wdD8KCgo+ICsgICAg fQo+ICsKPiArICAgIGlmICggYnVmZmVyICkKPiArICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMo YnVmZmVyLCBvcmRlcik7Cj4gKwo+ICsgICAgcmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArCj4gK2lu dCBnaWN2M19pdHNfaW5pdChzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiArewo+ICsgICAgdWlu dDY0X3QgcmVnOwo+ICsgICAgaW50IGk7Cj4gKyAKPiArICAgIGh3X2l0cy0+aXRzX2Jhc2UgPSBp b3JlbWFwX25vY2FjaGUoaHdfaXRzLT5hZGRyLCBod19pdHMtPnNpemUpOwo+ICsgICAgaWYgKCAh aHdfaXRzLT5pdHNfYmFzZSApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsgICAg Zm9yICggaSA9IDA7IGkgPCBHSVRTX0JBU0VSX05SX1JFR1M7IGkrKyApCj4gKyAgICB7Cj4gKyAg ICAgICAgdm9pZCBfX2lvbWVtICpiYXNlcmVnID0gaHdfaXRzLT5pdHNfYmFzZSArIEdJVFNfQkFT RVIwICsgaSAqIDg7Cj4gKyAgICAgICAgaW50IHR5cGU7Cj4gKwo+ICsgICAgICAgIHJlZyA9IHJl YWRxX3JlbGF4ZWQoYmFzZXJlZyk7Cj4gKyAgICAgICAgdHlwZSA9IChyZWcgJiBHSVRTX0JBU0VS X1RZUEVfTUFTSykgPj4gR0lUU19CQVNFUl9UWVBFX1NISUZUOwo+ICsgICAgICAgIHN3aXRjaCAo IHR5cGUgKQo+ICsgICAgICAgIHsKPiArICAgICAgICBjYXNlIEdJVFNfQkFTRVJfVFlQRV9OT05F Ogo+ICsgICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICBjYXNlIEdJVFNfQkFTRVJfVFlQ RV9ERVZJQ0U6Cj4gKyAgICAgICAgICAgIC8qIFRPRE86IGZpbmQgc29tZSBiZXR0ZXIgd2F5IG9m IGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgZGV2aWNlcyAqLwo+ICsgICAgICAgICAgICBpdHNfbWFw X2Jhc2VyKGJhc2VyZWcsIHJlZywgQ09ORklHX01BWF9JVFNfUENJX0JVU1NFUyAqIDI1Nik7Cj4g KyAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIGNhc2UgR0lUU19CQVNFUl9UWVBFX0NPTExF Q1RJT046Cj4gKyAgICAgICAgICAgIGl0c19tYXBfYmFzZXIoYmFzZXJlZywgcmVnLCBOUl9DUFVT KTsKPiArICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgZGVmYXVsdDoKPiArICAgICAgICAg ICAgY29udGludWU7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiAwOwo+ ICt9Cj4gKwo+ICB1aW50NjRfdCBnaWN2M19scGlfYWxsb2NhdGVfcGVuZHRhYmxlKHZvaWQpCj4g IHsKPiAgICAgIHVpbnQ2NF90IHJlZywgYXR0cjsKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCj4gaW5kZXggMWM2ODY5ZC4uOGNhN2Rh MiAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPiArKysgYi94ZW4vYXJjaC9h cm0vZ2ljLXYzLmMKPiBAQCAtMjksNiArMjksNyBAQAo+ICAjaW5jbHVkZSA8eGVuL2lycS5oPgo+ ICAjaW5jbHVkZSA8eGVuL2lvY2FwLmg+Cj4gICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KPiArI2lu Y2x1ZGUgPHhlbi9lcnIuaD4KPiAgI2luY2x1ZGUgPHhlbi9lcnJuby5oPgo+ICAjaW5jbHVkZSA8 eGVuL2RlbGF5Lmg+Cj4gICNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUuaD4KPiBAQCAtMTU2NCw2 ICsxNTY1LDcgQEAgc3RhdGljIGludCBfX2luaXQgZ2ljdjNfaW5pdCh2b2lkKQo+ICB7Cj4gICAg ICBpbnQgcmVzLCBpOwo+ICAgICAgdWludDMyX3QgcmVnOwo+ICsgICAgc3RydWN0IGhvc3RfaXRz ICpod19pdHM7Cj4gIAo+ICAgICAgaWYgKCAhY3B1X2hhc19naWN2MyApCj4gICAgICB7Cj4gQEAg LTE2MTksNiArMTYyMSw5IEBAIHN0YXRpYyBpbnQgX19pbml0IGdpY3YzX2luaXQodm9pZCkKPiAg ICAgIHJlcyA9IGdpY3YzX2NwdV9pbml0KCk7Cj4gICAgICBnaWN2M19oeXBfaW5pdCgpOwo+ICAK PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoaHdfaXRzLCAmaG9zdF9pdHNfbGlzdCwgZW50cnkp Cj4gKyAgICAgICAgZ2ljdjNfaXRzX2luaXQoaHdfaXRzKTsKPiArCj4gICAgICBzcGluX3VubG9j aygmZ2ljdjMubG9jayk7Cj4gIAo+ICAgICAgcmV0dXJuIHJlczsKPiBkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLWFybS9iaXRvcHMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vYml0b3BzLmgK PiBpbmRleCBjOWFkZjc5Li40Y2NiNDQ0IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1h cm0vYml0b3BzLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2JpdG9wcy5oCj4gQEAgLTI0 LDYgKzI0LDcgQEAKPiAgI2RlZmluZSBCSVQobnIpICAgICAgICAgICAgICAgICAoMVVMIDw8IChu cikpCj4gICNkZWZpbmUgQklUX01BU0sobnIpICAgICAgICAgICAgKDFVTCA8PCAoKG5yKSAlIEJJ VFNfUEVSX1dPUkQpKQo+ICAjZGVmaW5lIEJJVF9XT1JEKG5yKSAgICAgICAgICAgICgobnIpIC8g QklUU19QRVJfV09SRCkKPiArI2RlZmluZSBCSVRfVUxMKG5yKSAgICAgICAgICAgICAoMVVMTCA8 PCAobnIpKQo+ICAjZGVmaW5lIEJJVFNfUEVSX0JZVEUgICAgICAgICAgIDgKPiAgI2RlZmluZSBC SVRfVUxMKG5yKSAgICAgICAgICAgICAoMVVMTCA8PCAobnIpKQo+ICAKPiBkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLWFybS9naWMtaXRzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1p dHMuaAo+IGluZGV4IGE2NmI2YmUuLjI2YjA1ODQgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUv YXNtLWFybS9naWMtaXRzLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaAo+ IEBAIC0xOCw2ICsxOCw0OSBAQAo+ICAjaWZuZGVmIF9fQVNNX0FSTV9JVFNfSF9fCj4gICNkZWZp bmUgX19BU01fQVJNX0lUU19IX18KPiAgCj4gKyNkZWZpbmUgTFBJX09GRlNFVCAgICAgICAgICAg ICAgICAgICAgICA4MTkyCj4gKwo+ICsjZGVmaW5lIEdJVFNfQ1RMUiAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDAKPiArI2RlZmluZSBHSVRTX0lJRFIgICAgICAgICAgICAgICAgICAgICAgIDB4 MDA0Cj4gKyNkZWZpbmUgR0lUU19UWVBFUiAgICAgICAgICAgICAgICAgICAgICAweDAwOAo+ICsj ZGVmaW5lIEdJVFNfQ0JBU0VSICAgICAgICAgICAgICAgICAgICAgMHgwODAKPiArI2RlZmluZSBH SVRTX0NXUklURVIgICAgICAgICAgICAgICAgICAgIDB4MDg4Cj4gKyNkZWZpbmUgR0lUU19DUkVB RFIgICAgICAgICAgICAgICAgICAgICAweDA5MAo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfTlJfUkVH UyAgICAgICAgICAgICAgOAo+ICsjZGVmaW5lIEdJVFNfQkFTRVIwICAgICAgICAgICAgICAgICAg ICAgMHgxMDAKPiArI2RlZmluZSBHSVRTX0JBU0VSMSAgICAgICAgICAgICAgICAgICAgIDB4MTA4 Cj4gKyNkZWZpbmUgR0lUU19CQVNFUjIgICAgICAgICAgICAgICAgICAgICAweDExMAo+ICsjZGVm aW5lIEdJVFNfQkFTRVIzICAgICAgICAgICAgICAgICAgICAgMHgxMTgKPiArI2RlZmluZSBHSVRT X0JBU0VSNCAgICAgICAgICAgICAgICAgICAgIDB4MTIwCj4gKyNkZWZpbmUgR0lUU19CQVNFUjUg ICAgICAgICAgICAgICAgICAgICAweDEyOAo+ICsjZGVmaW5lIEdJVFNfQkFTRVI2ICAgICAgICAg ICAgICAgICAgICAgMHgxMzAKPiArI2RlZmluZSBHSVRTX0JBU0VSNyAgICAgICAgICAgICAgICAg ICAgIDB4MTM4Cj4gKwo+ICsvKiBSZWdpc3RlciBiaXRzICovCj4gKyNkZWZpbmUgR0lUU19DVExS X0VOQUJMRSAgICAgICAgICAgICAgICBCSVRfVUxMKDApCj4gKyNkZWZpbmUgR0lUU19JSURSX1ZB TFVFICAgICAgICAgICAgICAgICAweDM0Ywo+ICsKPiArI2RlZmluZSBHSVRTX0JBU0VSX1ZBTElE ICAgICAgICAgICAgICAgIEJJVF9VTEwoNjMpCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9JTkRJUkVD VCAgICAgICAgICAgICBCSVRfVUxMKDYyKQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfSU5ORVJfQ0FD SEVBQklMSVRZX1NISUZUICAgICAgICA1OQo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9TSElG VCAgICAgICAgICAgNTYKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfTUFTSyAgICAgICAgICAg ICg3VUxMIDw8IEdJVFNfQkFTRVJfVFlQRV9TSElGVCkKPiArI2RlZmluZSBHSVRTX0JBU0VSX09V VEVSX0NBQ0hFQUJJTElUWV9TSElGVCAgICAgICAgNTMKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZ UEVfTk9ORSAgICAgICAgICAgIDBVTAo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9ERVZJQ0Ug ICAgICAgICAgMVVMCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9UWVBFX1ZDUFUgICAgICAgICAgICAy VUwKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfQ1BVICAgICAgICAgICAgIDNVTAo+ICsjZGVm aW5lIEdJVFNfQkFTRVJfVFlQRV9DT0xMRUNUSU9OICAgICAgNFVMCj4gKyNkZWZpbmUgR0lUU19C QVNFUl9UWVBFX1JFU0VSVkVENSAgICAgICA1VUwKPiArI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVf UkVTRVJWRUQ2ICAgICAgIDZVTAo+ICsjZGVmaW5lIEdJVFNfQkFTRVJfVFlQRV9SRVNFUlZFRDcg ICAgICAgN1VMCj4gKyNkZWZpbmUgR0lUU19CQVNFUl9FTlRSWV9TSVpFX1NISUZUICAgICA0OAo+ ICsjZGVmaW5lIEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX1NISUZUICAgMTAKPiArI2RlZmluZSBH SVRTX0JBU0VSX1BBR0VfU0laRV9TSElGVCAgICAgIDgKPiArI2RlZmluZSBHSVRTX0JBU0VSX1JP X01BU0sgICAgICAgICAgICAgIChHSVRTX0JBU0VSX1RZUEVfTUFTSyB8IFwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMVVMIDw8IEdJVFNfQkFTRVJfRU5UUllf U0laRV9TSElGVCkgfFwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdJVFNfQkFTRVJfSU5ESVJFQ1QpCj4gKwo+ICAjaWZuZGVmIF9fQVNTRU1CTFlfXwo+ICAjaW5j bHVkZSA8eGVuL2RldmljZV90cmVlLmg+Cj4gIAo+IEBAIC0yNyw2ICs3MCw3IEBAIHN0cnVjdCBo b3N0X2l0cyB7Cj4gICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmR0X25vZGU7Cj4g ICAgICBwYWRkcl90IGFkZHI7Cj4gICAgICBwYWRkcl90IHNpemU7Cj4gKyAgICB2b2lkIF9faW9t ZW0gKml0c19iYXNlOwo+ICB9Owo+ICAKPiAgZXh0ZXJuIHN0cnVjdCBsaXN0X2hlYWQgaG9zdF9p dHNfbGlzdDsKPiBAQCAtNDIsOCArODYsOSBAQCB2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0 IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSk7Cj4gIHVpbnQ2NF90IGdpY3YzX2xwaV9nZXRf cHJvcHRhYmxlKHZvaWQpOwo+ICB1aW50NjRfdCBnaWN2M19scGlfYWxsb2NhdGVfcGVuZHRhYmxl KHZvaWQpOwo+ICAKPiAtLyogSW5pdGlhbGl6ZSB0aGUgaG9zdCBzdHJ1Y3R1cmVzIGZvciBMUElz LiAqLwo+ICsvKiBJbml0aWFsaXplIHRoZSBob3N0IHN0cnVjdHVyZXMgZm9yIExQSXMgYW5kIHRo ZSBob3N0IElUU2VzLiAqLwo+ICBpbnQgZ2ljdjNfbHBpX2luaXRfaG9zdF9scGlzKHVuc2lnbmVk IGludCBucl9scGlzKTsKPiAraW50IGdpY3YzX2l0c19pbml0KHN0cnVjdCBob3N0X2l0cyAqaHdf aXRzKTsKPiAgCj4gICNlbHNlCj4gIAo+IEBAIC02Miw2ICsxMDcsMTAgQEAgc3RhdGljIGlubGlu ZSBpbnQgZ2ljdjNfbHBpX2luaXRfaG9zdF9scGlzKHVuc2lnbmVkIGludCBucl9scGlzKQo+ICB7 Cj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICtzdGF0aWMgaW5saW5lIGludCBnaWN2M19pdHNfaW5p dChzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiAg I2VuZGlmIC8qIENPTkZJR19IQVNfSVRTICovCj4gIAo+ICAjZW5kaWYgLyogX19BU1NFTUJMWV9f ICovCj4gLS0gCj4gMi45LjAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=