From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [RFC PATCH v2 05/26] ARM: GICv3 ITS: introduce ITS command handling Date: Wed, 4 Jan 2017 14:08:04 -0800 (PST) Message-ID: References: <20161222182446.18791-1-andre.przywara@arm.com> <20161222182446.18791-6-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 1cOtjA-0006B0-Js for xen-devel@lists.xenproject.org; Wed, 04 Jan 2017 22:08:12 +0000 In-Reply-To: <20161222182446.18791-6-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 T24gVGh1LCAyMiBEZWMgMjAxNiwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gVG8gYmUgYWJsZSB0 byBlYXNpbHkgc2VuZCBjb21tYW5kcyB0byB0aGUgSVRTLCBjcmVhdGUgdGhlIHJlc3BlY3RpdmUK PiB3cmFwcGVyIGZ1bmN0aW9ucywgd2hpY2ggdGFrZSBjYXJlIG9mIHRoZSByaW5nIGJ1ZmZlci4K PiBUaGUgZmlyc3QgdHdvIGNvbW1hbmRzIHdlIGltcGxlbWVudCBwcm92aWRlIG1ldGhvZHMgdG8g bWFwIGEgY29sbGVjdGlvbgo+IHRvIGEgcmVkaXN0cmlidXRvciAoYWthIGhvc3QgY29yZSkgYW5k IHRvIGZsdXNoIHRoZSBjb21tYW5kIHF1ZXVlIChTWU5DKS4KPiBTdGFydCB1c2luZyB0aGVzZSBj b21tYW5kcyBmb3IgbWFwcGluZyBvbmUgY29sbGVjdGlvbiB0byBlYWNoIGhvc3QgQ1BVLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgoK SGkgQW5kcmUsCgpwbGVhc2UgYWRkcmVzcyBKdWxpZW4ncyBjb21tZW50cyB0b28KCgo+IC0tLQo+ ICB4ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jICAgICAgICB8IDEwMCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAg fCAgMTUgKysrKysrKwo+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaCB8ICAzMyArKysr KysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDE0OCBpbnNlcnRpb25zKCspCj4gCj4gZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLWl0cy5j Cj4gaW5kZXggMmZiM2JjYi4uZDBmNWZkMSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2lj LWl0cy5jCj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy1pdHMuYwo+IEBAIC0zNCw2ICszNCwxMCBA QCBzdGF0aWMgc3RydWN0IHsKPiAgICAgIHVuc2lnbmVkIGludCBob3N0X2xwaV9iaXRzOwo+ICB9 IGxwaV9kYXRhOwo+ICAKPiArLyogUGh5c2ljYWwgcmVkaXN0cmlidXRvciBhZGRyZXNzICovCj4g K3N0YXRpYyBERUZJTkVfUEVSX0NQVSh1aW50NjRfdCwgcmRpc3RfYWRkcik7Cj4gKy8qIFJlZGlz dHJpYnV0b3IgSUQgKi8KPiArc3RhdGljIERFRklORV9QRVJfQ1BVKHVpbnQ2NF90LCByZGlzdF9p ZCk7Cj4gIC8qIFBlbmRpbmcgdGFibGUgZm9yIGVhY2ggcmVkaXN0cmlidXRvciAqLwo+ICBzdGF0 aWMgREVGSU5FX1BFUl9DUFUodm9pZCAqLCBwZW5kaW5nX3RhYmxlKTsKPiAgCj4gQEAgLTQxLDYg KzQ1LDg1IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh2b2lkICosIHBlbmRpbmdfdGFibGUpOwo+ ICAKPiAgI2RlZmluZSBJVFNfQ01EX1FVRVVFX1NaICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTWl82NEsKPiAgCj4gK3N0YXRpYyBpbnQgaXRzX3NlbmRfY29tbWFuZChzdHJ1Y3QgaG9z dF9pdHMgKmh3X2l0cywgdm9pZCAqaXRzX2NtZCkKPiArewo+ICsgICAgdWludDY0X3QgcmVhZHAs IHdyaXRlcDsKPiArCj4gKyAgICBzcGluX2xvY2soJmh3X2l0cy0+Y21kX2xvY2spOwo+ICsKPiAr ICAgIHJlYWRwID0gcmVhZHFfcmVsYXhlZChod19pdHMtPml0c19iYXNlICsgR0lUU19DUkVBRFIp ICYgR0VOTUFTSygxOSwgNSk7Cj4gKyAgICB3cml0ZXAgPSByZWFkcV9yZWxheGVkKGh3X2l0cy0+ aXRzX2Jhc2UgKyBHSVRTX0NXUklURVIpICYgR0VOTUFTSygxOSwgNSk7Cj4gKwo+ICsgICAgaWYg KCAoKHdyaXRlcCArIElUU19DTURfU0laRSkgJSBJVFNfQ01EX1FVRVVFX1NaKSA9PSByZWFkcCAp Cj4gKyAgICB7Cj4gKyAgICAgICAgc3Bpbl91bmxvY2soJmh3X2l0cy0+Y21kX2xvY2spOwo+ICsg ICAgICAgIHJldHVybiAtRUJVU1k7Cj4gKyAgICB9Cj4gKwo+ICsgICAgbWVtY3B5KGh3X2l0cy0+ Y21kX2J1ZiArIHdyaXRlcCwgaXRzX2NtZCwgSVRTX0NNRF9TSVpFKTsKPiArICAgIF9fZmx1c2hf ZGNhY2hlX2FyZWEoaHdfaXRzLT5jbWRfYnVmICsgd3JpdGVwLCBJVFNfQ01EX1NJWkUpOwo+ICsg ICAgd3JpdGVwID0gKHdyaXRlcCArIElUU19DTURfU0laRSkgJSBJVFNfQ01EX1FVRVVFX1NaOwo+ ICsKPiArICAgIHdyaXRlcV9yZWxheGVkKHdyaXRlcCAmIEdFTk1BU0soMTksIDUpLCBod19pdHMt Pml0c19iYXNlICsgR0lUU19DV1JJVEVSKTsKPiArCj4gKyAgICBzcGluX3VubG9jaygmaHdfaXRz LT5jbWRfbG9jayk7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB1aW50 NjRfdCBlbmNvZGVfcmRiYXNlKHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzLCBpbnQgY3B1LCB1aW50 NjRfdCByZWcpCj4gK3sKPiArICAgIHJlZyAmPSB+R0VOTUFTSyg1MSwgMTYpOwo+ICsKPiArICAg IGlmICggaHdfaXRzLT5wdGEgKQo+ICsgICAgICAgIHJlZyB8PSBwZXJfY3B1KHJkaXN0X2FkZHIs IGNwdSkgJiBHRU5NQVNLKDUxLCAxNik7Cj4gKyAgICBlbHNlCj4gKyAgICAgICAgcmVnIHw9IHBl cl9jcHUocmRpc3RfaWQsIGNwdSkgPDwgMTY7Cj4gKwo+ICsgICAgcmV0dXJuIHJlZzsKPiArfQo+ ICsKPiArc3RhdGljIGludCBpdHNfc2VuZF9jbWRfc3luYyhzdHJ1Y3QgaG9zdF9pdHMgKml0cywg aW50IGNwdSkKPiArewo+ICsgICAgdWludDY0X3QgY21kWzRdOwo+ICsKPiArICAgIGNtZFswXSA9 IEdJVFNfQ01EX1NZTkM7Cj4gKyAgICBjbWRbMV0gPSAweDAwOwo+ICsgICAgY21kWzJdID0gZW5j b2RlX3JkYmFzZShpdHMsIGNwdSwgMHgwKTsKPiArICAgIGNtZFszXSA9IDB4MDA7Cj4gKwo+ICsg ICAgcmV0dXJuIGl0c19zZW5kX2NvbW1hbmQoaXRzLCBjbWQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg aW50IGl0c19zZW5kX2NtZF9tYXBjKHN0cnVjdCBob3N0X2l0cyAqaXRzLCBpbnQgY29sbGVjdGlv bl9pZCwgaW50IGNwdSkKPiArewo+ICsgICAgdWludDY0X3QgY21kWzRdOwo+ICsKPiArICAgIGNt ZFswXSA9IEdJVFNfQ01EX01BUEM7Cj4gKyAgICBjbWRbMV0gPSAweDAwOwo+ICsgICAgY21kWzJd ID0gZW5jb2RlX3JkYmFzZShpdHMsIGNwdSwgKGNvbGxlY3Rpb25faWQgJiBHRU5NQVNLKDE1LCAw KSkpOwo+ICsgICAgY21kWzJdIHw9IEJJVF9VTEwoNjMpOwo+ICsgICAgY21kWzNdID0gMHgwMDsK PiArCj4gKyAgICByZXR1cm4gaXRzX3NlbmRfY29tbWFuZChpdHMsIGNtZCk7Cj4gK30KPiArCj4g Ky8qIFNldCB1cCB0aGUgKDE6MSkgY29sbGVjdGlvbiBtYXBwaW5nIGZvciB0aGUgZ2l2ZW4gaG9z dCBDUFUuICovCj4gK3ZvaWQgZ2ljdjNfaXRzX3NldHVwX2NvbGxlY3Rpb24oaW50IGNwdSkKPiAr ewo+ICsgICAgc3RydWN0IGhvc3RfaXRzICppdHM7Cj4gKwo+ICsgICAgbGlzdF9mb3JfZWFjaF9l bnRyeShpdHMsICZob3N0X2l0c19saXN0LCBlbnRyeSkKPiArICAgIHsKPiArICAgICAgICAvKiBP bmx5IHNlbmQgY29tbWFuZHMgdG8gSVRTIHRoYXQgaGF2ZSBiZWVuIGluaXRpYWxpemVkIGFscmVh ZHkuICovCj4gKyAgICAgICAgaWYgKCAhaXRzLT5jbWRfYnVmICkKPiArICAgICAgICAgICAgY29u dGludWU7CgpQbGVhc2UgYWRkIGEgY29tbWVudCB0byBzYXkgdGhhdCB0aGlzIGZ1bmN0aW9uIGdl dHMgY2FsbGVkIG9uIGNwdTAgd2hlbgpJVFMgaXMgbm90IGluaXRpYWxpemVkLCB0aGlzIGlzIHdo eSB0aGUgY2hlY2sgaXMgbmVjZXNzYXJ5LgoKCj4gKyAgICAgICAgaXRzX3NlbmRfY21kX21hcGMo aXRzLCBjcHUsIGNwdSk7Cj4gKyAgICAgICAgaXRzX3NlbmRfY21kX3N5bmMoaXRzLCBjcHUpOwoK V2UgbmVlZCB0byBjaGVjayBmb3IgcmV0dXJuZWQgZXJyb3JzCgoKPiArICAgIH0KPiArfQo+ICsK PiAgI2RlZmluZSBCQVNFUl9BVFRSX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAo+ICAgICAgICAgICgoMHgzVUwgPDwgR0lUU19CQVNFUl9TSEFSRUFCSUxJ VFlfU0hJRlQpICAgICAgICAgICAgICAgfCBcCj4gICAgICAgICAgICgweDdVTCA8PCBHSVRTX0JB U0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElGVCkgICAgICAgICB8IFwKPiBAQCAtMTQ4LDYgKzIz MSwxMyBAQCBpbnQgZ2ljdjNfaXRzX2luaXQoc3RydWN0IGhvc3RfaXRzICpod19pdHMpCj4gICAg ICBpZiAoICFod19pdHMtPml0c19iYXNlICkKPiAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiAg Cj4gKyAgICAvKiBNYWtlIHN1cmUgdGhlIElUUyBpcyBkaXNhYmxlZCBiZWZvcmUgcHJvZ3JhbW1p bmcgdGhlIEJBU0UgcmVnaXN0ZXJzLiAqLwo+ICsgICAgcmVnID0gcmVhZGxfcmVsYXhlZChod19p dHMtPml0c19iYXNlICsgR0lUU19DVExSKTsKPiArICAgIHdyaXRlbF9yZWxheGVkKHJlZyAmIH5H SVRTX0NUTFJfRU5BQkxFLCBod19pdHMtPml0c19iYXNlICsgR0lUU19DVExSKTsKPiArCj4gKyAg ICByZWcgPSByZWFkcV9yZWxheGVkKGh3X2l0cy0+aXRzX2Jhc2UgKyBHSVRTX1RZUEVSKTsKPiAr ICAgIGh3X2l0cy0+cHRhID0gISEocmVnICYgR0lUU19UWVBFUl9QVEEpOwo+ICsKPiAgICAgIGZv ciAoIGkgPSAwOyBpIDwgR0lUU19CQVNFUl9OUl9SRUdTOyBpKysgKQo+ICAgICAgewo+ICAgICAg ICAgIHZvaWQgX19pb21lbSAqYmFzZXJlZyA9IGh3X2l0cy0+aXRzX2Jhc2UgKyBHSVRTX0JBU0VS MCArIGkgKiA4Owo+IEBAIC0xNzUsOSArMjY1LDE4IEBAIGludCBnaWN2M19pdHNfaW5pdChzdHJ1 Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiAgICAgIGlmICggIWh3X2l0cy0+Y21kX2J1ZiApCj4gICAg ICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICsgICAgaXRzX3NlbmRfY21kX21hcGMoaHdfaXRz LCBzbXBfcHJvY2Vzc29yX2lkKCksIHNtcF9wcm9jZXNzb3JfaWQoKSk7Cj4gKyAgICBpdHNfc2Vu ZF9jbWRfc3luYyhod19pdHMsIHNtcF9wcm9jZXNzb3JfaWQoKSk7CgpXZSBuZWVkIHRvIGNoZWNr IGZvciByZXR1cm5lZCBlcnJvcnMuCgpQbGVhc2UgYWRkIGEgY29tbWVudCB0byBzYXkgdGhhdCB3 ZSBhcmUgY29sbGVjdGlvbiBtYXBwaW5nIGNwdTAuIEFsc28sCml0IGNvdWxkIGJlIGRvbmUgYnkg Y2FsbGluZyBnaWN2M19pdHNfc2V0dXBfY29sbGVjdGlvbi4KCgo+ICAgICAgcmV0dXJuIDA7Cj4g IH0KPiAgCj4gK3ZvaWQgZ2ljdjNfc2V0X3JlZGlzdF9hZGRyKHBhZGRyX3QgYWRkcmVzcywgaW50 IHJlZGlzdF9pZCkKPiArewo+ICsgICAgdGhpc19jcHUocmRpc3RfYWRkcikgPSBhZGRyZXNzOwo+ ICsgICAgdGhpc19jcHUocmRpc3RfaWQpID0gcmVkaXN0X2lkOwo+ICt9Cj4gKwo+ICB1aW50NjRf dCBnaWN2M19scGlfYWxsb2NhdGVfcGVuZHRhYmxlKHZvaWQpCj4gIHsKPiAgICAgIHVpbnQ2NF90 IHJlZywgYXR0cjsKPiBAQCAtMjg2LDYgKzM4NSw3IEBAIHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQo Y29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQo+ICAgICAgICAgIGl0c19kYXRhLT5h ZGRyID0gYWRkcjsKPiAgICAgICAgICBpdHNfZGF0YS0+c2l6ZSA9IHNpemU7Cj4gICAgICAgICAg aXRzX2RhdGEtPmR0X25vZGUgPSBpdHM7Cj4gKyAgICAgICAgc3Bpbl9sb2NrX2luaXQoJml0c19k YXRhLT5jbWRfbG9jayk7Cj4gIAo+ICAgICAgICAgIHByaW50aygiR0lDdjM6IEZvdW5kIElUUyBA MHglbHhcbiIsIGFkZHIpOwo+ICAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5j IGIveGVuL2FyY2gvYXJtL2dpYy12My5jCj4gaW5kZXggOGNhN2RhMi4uZDI0NjFjYiAxMDA2NDQK PiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYz LmMKPiBAQCAtNjQzLDYgKzY0Myw4IEBAIHN0YXRpYyBpbnQgZ2ljdjNfcmRpc3RfaW5pdF9scGlz KHZvaWQgX19pb21lbSAqIHJkaXN0X2Jhc2UpCj4gICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4g ICAgICB3cml0ZXFfcmVsYXhlZCh0YWJsZV9yZWcsIHJkaXN0X2Jhc2UgKyBHSUNSX1BST1BCQVNF Uik7Cj4gIAo+ICsgICAgZ2ljdjNfaXRzX3NldHVwX2NvbGxlY3Rpb24oc21wX3Byb2Nlc3Nvcl9p ZCgpKTsKPiArCj4gICAgICByZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtNjkxLDggKzY5MywyMSBA QCBzdGF0aWMgaW50IF9faW5pdCBnaWN2M19wb3B1bGF0ZV9yZGlzdCh2b2lkKQo+ICAKPiAgICAg ICAgICAgICAgICAgIGlmICggdHlwZXIgJiBHSUNSX1RZUEVSX1BMUElTICkKPiAgICAgICAgICAg ICAgICAgIHsKPiArICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHJkaXN0X2FkZHI7Cj4gICAg ICAgICAgICAgICAgICAgICAgaW50IHJldDsKPiAgCj4gKyAgICAgICAgICAgICAgICAgICAgcmRp c3RfYWRkciA9IGdpY3YzLnJkaXN0X3JlZ2lvbnNbaV0uYmFzZTsKPiArICAgICAgICAgICAgICAg ICAgICByZGlzdF9hZGRyICs9IHB0ciAtIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaV0ubWFwX2Jhc2U7 Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBJVFMgcmVmZXJzIHRvIHJlZGlzdHJp YnV0b3JzIGVpdGhlciBieSB0aGVpciBwaHlzaWNhbAo+ICsgICAgICAgICAgICAgICAgICAgICAq IGFkZHJlc3Mgb3IgYnkgdGhlaXIgSUQuIERldGVybWluZSB0aG9zZSB0d28gdmFsdWVzIGFuZAo+ ICsgICAgICAgICAgICAgICAgICAgICAqIGxldCB0aGUgSVRTIGNvZGUgc3RvcmUgdGhlbSBpbiBw ZXIgaG9zdCBDUFUgdmFyaWFibGVzIHRvCj4gKyAgICAgICAgICAgICAgICAgICAgICogbGF0ZXIg YmUgYWJsZSB0byBhZGRyZXNzIHRob3NlIHJlZGlzdHJpYnV0b3JzLgo+ICsgICAgICAgICAgICAg ICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICAgICAgIGdpY3YzX3NldF9yZWRpc3RfYWRkcihy ZGlzdF9hZGRyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dHlwZXIgPj4gR0lUU19UWVBFUl9JREJJVFNfU0hJRlQpICYKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR0VOTUFTSygxNSwgMCkpOwo+ICsKPiAgICAgICAgICAg ICAgICAgICAgICByZXQgPSBnaWN2M19yZGlzdF9pbml0X2xwaXMocHRyKTsKPiAgICAgICAgICAg ICAgICAgICAgICBpZiAoIHJldCAmJiByZXQgIT0gLUVOT0RFViApCj4gICAgICAgICAgICAgICAg ICAgICAgewo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaCBiL3hl bi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4gaW5kZXggZTBmZGVkOC4uNjhlNWY2MyAxMDA2 NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaAo+ICsrKyBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4gQEAgLTM4LDYgKzM4LDggQEAKPiAgCj4gIC8qIFJlZ2lz dGVyIGJpdHMgKi8KPiAgI2RlZmluZSBHSVRTX0NUTFJfRU5BQkxFICAgICAgICAgICAgICAgIEJJ VF9VTEwoMCkKPiArI2RlZmluZSBHSVRTX1RZUEVSX1BUQSAgICAgICAgICAgICAgICAgIEJJVF9V TEwoMTkpCj4gKyNkZWZpbmUgR0lUU19UWVBFUl9JREJJVFNfU0hJRlQgICAgICAgICA4Cj4gICNk ZWZpbmUgR0lUU19JSURSX1ZBTFVFICAgICAgICAgICAgICAgICAweDM0Ywo+ICAKPiAgI2RlZmlu ZSBHSVRTX0JBU0VSX1ZBTElEICAgICAgICAgICAgICAgIEJJVF9VTEwoNjMpCj4gQEAgLTYzLDYg KzY1LDIyIEBACj4gIAo+ICAjZGVmaW5lIEdJVFNfQ0JBU0VSX1NJWkVfTUFTSyAgICAgICAgICAg MHhmZgo+ICAKPiArLyogSVRTIGNvbW1hbmQgZGVmaW5pdGlvbnMgKi8KPiArI2RlZmluZSBJVFNf Q01EX1NJWkUgICAgICAgICAgICAgICAgICAgIDMyCj4gKwo+ICsjZGVmaW5lIEdJVFNfQ01EX01P VkkgICAgICAgICAgICAgICAgICAgMHgwMQo+ICsjZGVmaW5lIEdJVFNfQ01EX0lOVCAgICAgICAg ICAgICAgICAgICAgMHgwMwo+ICsjZGVmaW5lIEdJVFNfQ01EX0NMRUFSICAgICAgICAgICAgICAg ICAgMHgwNAo+ICsjZGVmaW5lIEdJVFNfQ01EX1NZTkMgICAgICAgICAgICAgICAgICAgMHgwNQo+ ICsjZGVmaW5lIEdJVFNfQ01EX01BUEQgICAgICAgICAgICAgICAgICAgMHgwOAo+ICsjZGVmaW5l IEdJVFNfQ01EX01BUEMgICAgICAgICAgICAgICAgICAgMHgwOQo+ICsjZGVmaW5lIEdJVFNfQ01E X01BUFRJICAgICAgICAgICAgICAgICAgMHgwYQo+ICsjZGVmaW5lIEdJVFNfQ01EX01BUEkgICAg ICAgICAgICAgICAgICAgMHgwYgo+ICsjZGVmaW5lIEdJVFNfQ01EX0lOViAgICAgICAgICAgICAg ICAgICAgMHgwYwo+ICsjZGVmaW5lIEdJVFNfQ01EX0lOVkFMTCAgICAgICAgICAgICAgICAgMHgw ZAo+ICsjZGVmaW5lIEdJVFNfQ01EX01PVkFMTCAgICAgICAgICAgICAgICAgMHgwZQo+ICsjZGVm aW5lIEdJVFNfQ01EX0RJU0NBUkQgICAgICAgICAgICAgICAgMHgwZgo+ICsKPiAgI2lmbmRlZiBf X0FTU0VNQkxZX18KPiAgI2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgo+ICAKPiBAQCAtNzMs NyArOTEsOSBAQCBzdHJ1Y3QgaG9zdF9pdHMgewo+ICAgICAgcGFkZHJfdCBhZGRyOwo+ICAgICAg cGFkZHJfdCBzaXplOwo+ICAgICAgdm9pZCBfX2lvbWVtICppdHNfYmFzZTsKPiArICAgIHNwaW5s b2NrX3QgY21kX2xvY2s7Cj4gICAgICB2b2lkICpjbWRfYnVmOwo+ICsgICAgYm9vbCBwdGE7Cj4g IH07Cj4gIAo+ICBleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBob3N0X2l0c19saXN0Owo+IEBAIC05 Myw2ICsxMTMsMTIgQEAgdWludDY0X3QgZ2ljdjNfbHBpX2FsbG9jYXRlX3BlbmR0YWJsZSh2b2lk KTsKPiAgaW50IGdpY3YzX2xwaV9pbml0X2hvc3RfbHBpcyh1bnNpZ25lZCBpbnQgbnJfbHBpcyk7 Cj4gIGludCBnaWN2M19pdHNfaW5pdChzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cyk7Cj4gIAo+ICsv KiBTZXQgdGhlIHBoeXNpY2FsIGFkZHJlc3MgYW5kIElEIGZvciBlYWNoIHJlZGlzdHJpYnV0b3Ig YXMgcmVhZCBmcm9tIERULiAqLwo+ICt2b2lkIGdpY3YzX3NldF9yZWRpc3RfYWRkcihwYWRkcl90 IGFkZHJlc3MsIGludCByZWRpc3RfaWQpOwo+ICsKPiArLyogTWFwIGEgY29sbGVjdGlvbiBmb3Ig dGhpcyBob3N0IENQVSB0byBlYWNoIGhvc3QgSVRTLiAqLwo+ICt2b2lkIGdpY3YzX2l0c19zZXR1 cF9jb2xsZWN0aW9uKGludCBjcHUpOwo+ICsKPiAgI2Vsc2UKPiAgCj4gIHN0YXRpYyBpbmxpbmUg dm9pZCBnaWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUp Cj4gQEAgLTExNCw2ICsxNDAsMTMgQEAgc3RhdGljIGlubGluZSBpbnQgZ2ljdjNfaXRzX2luaXQo c3RydWN0IGhvc3RfaXRzICpod19pdHMpCj4gIHsKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBnaWN2M19zZXRfcmVkaXN0X2FkZHIocGFkZHJfdCBhZGRyZXNzLCBp bnQgcmVkaXN0X2lkKQo+ICt7Cj4gK30KPiArc3RhdGljIGlubGluZSB2b2lkIGdpY3YzX2l0c19z ZXR1cF9jb2xsZWN0aW9uKGludCBjcHUpCj4gK3sKPiArfQo+ICsKPiAgI2VuZGlmIC8qIENPTkZJ R19IQVNfSVRTICovCj4gIAo+ICAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCj4gLS0gCj4gMi45 LjAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=