From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: Re: [PATCH v2 08/25] arm/altp2m: Add HVMOP_altp2m_set_domain_state. Date: Sat, 6 Aug 2016 11:03:43 +0200 Message-ID: <1ff50da4-28d5-e521-93de-7249748e10f3@sec.in.tum.de> References: <20160801171028.11615-1-proskurin@sec.in.tum.de> <20160801171028.11615-9-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bVxWE-00083A-G3 for xen-devel@lists.xenproject.org; Sat, 06 Aug 2016 09:03:46 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel@lists.xenproject.org Cc: Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGkgSnVsaWVuLAoKCk9uIDA4LzAzLzIwMTYgMDg6NDEgUE0sIEp1bGllbiBHcmFsbCB3cm90ZToK PiBIZWxsbyBTZXJnZWosCj4KPiBPbiAwMS8wOC8xNiAxODoxMCwgU2VyZ2VqIFByb3NrdXJpbiB3 cm90ZToKPj4gVGhlIEhWTU9QX2FsdHAybV9zZXRfZG9tYWluX3N0YXRlIGFsbG93cyB0byBhY3Rp dmF0ZSBhbHRwMm0gb24gYQo+PiBzcGVjaWZpYyBkb21haW4uIFRoaXMgY29tbWl0IGFkb3B0cyB0 aGUgeDg2Cj4+IEhWTU9QX2FsdHAybV9zZXRfZG9tYWluX3N0YXRlIGltcGxlbWVudGF0aW9uLiBO b3RlIHRoYXQgdGhlIGZ1bmN0aW9uCj4+IGFsdHAybV9mbHVzaCBpcyBjdXJyZW50bHkgaW1wbGVt ZW50ZWQgaW4gZm9ybSBvZiBhIHN0dWIuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNlcmdlaiBQcm9z a3VyaW4gPHByb3NrdXJpbkBzZWMuaW4udHVtLmRlPgo+PiAtLS0KPj4gQ2M6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KPj4gQ2M6IEp1bGllbiBHcmFsbCA8anVs aWVuLmdyYWxsQGFybS5jb20+Cj4+IC0tLQo+PiB2MjogRHluYW1pY2FsbHkgYWxsb2NhdGUgbWVt b3J5IGZvciBhbHRwMm0gdmlld3Mgb25seSB3aGVuIG5lZWRlZC4KPj4gICAgIE1vdmUgYWx0cDJt IHJlbGF0ZWQgaGVscGVycyB0byBhbHRwMm0uYy4KPj4gICAgIHAybV9mbHVzaF90bGIgaXMgbWFk ZSBwdWJsaWNseSBhY2Nlc3NpYmxlLgo+PiAtLS0KPj4gIHhlbi9hcmNoL2FybS9hbHRwMm0uYyAg ICAgICAgICB8IDExNgo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+PiAgeGVuL2FyY2gvYXJtL2h2bS5jICAgICAgICAgICAgIHwgIDM0ICsrKysrKysrKysrLQo+ PiAgeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgIHwgICAyICstCj4+ICB4ZW4vaW5jbHVk ZS9hc20tYXJtL2FsdHAybS5oICAgfCAgMTUgKysrKysrCj4+ICB4ZW4vaW5jbHVkZS9hc20tYXJt L2RvbWFpbi5oICAgfCAgIDkgKysrKwo+PiAgeGVuL2luY2x1ZGUvYXNtLWFybS9mbHVzaHRsYi5o IHwgICA0ICsrCj4+ICB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oICAgICAgfCAgMTEgKysrKwo+ PiAgNyBmaWxlcyBjaGFuZ2VkLCAxODkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hbHRwMm0uYyBiL3hlbi9hcmNoL2FybS9hbHRw Mm0uYwo+PiBpbmRleCBhYmJkMzlhLi43NjdmMjMzIDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9h cm0vYWx0cDJtLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2FsdHAybS5jCj4+IEBAIC0xOSw2ICsx OSwxMjIgQEAKPj4KPj4gICNpbmNsdWRlIDxhc20vcDJtLmg+Cj4+ICAjaW5jbHVkZSA8YXNtL2Fs dHAybS5oPgo+PiArI2luY2x1ZGUgPGFzbS9mbHVzaHRsYi5oPgo+PiArCj4+ICtzdHJ1Y3QgcDJt X2RvbWFpbiAqYWx0cDJtX2dldF9hbHRwMm0oc3RydWN0IHZjcHUgKnYpCj4+ICt7Cj4+ICsgICAg dW5zaWduZWQgaW50IGluZGV4ID0gdmNwdV9hbHRwMm0odikucDJtaWR4Owo+PiArCj4+ICsgICAg aWYgKCBpbmRleCA9PSBJTlZBTElEX0FMVFAyTSApCj4+ICsgICAgICAgIHJldHVybiBOVUxMOwo+ PiArCj4+ICsgICAgQlVHX09OKGluZGV4ID49IE1BWF9BTFRQMk0pOwo+PiArCj4+ICsgICAgcmV0 dXJuIHYtPmRvbWFpbi0+YXJjaC5hbHRwMm1fcDJtW2luZGV4XTsKPj4gK30KPj4gKwo+PiArc3Rh dGljIHZvaWQgYWx0cDJtX3ZjcHVfcmVzZXQoc3RydWN0IHZjcHUgKnYpCj4+ICt7Cj4+ICsgICAg c3RydWN0IGFsdHAybXZjcHUgKmF2ID0gJnZjcHVfYWx0cDJtKHYpOwo+PiArCj4+ICsgICAgYXYt PnAybWlkeCA9IElOVkFMSURfQUxUUDJNOwo+PiArfQo+PiArCj4+ICt2b2lkIGFsdHAybV92Y3B1 X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCj4+ICt7Cj4+ICsgICAgaWYgKCB2ICE9IGN1cnJl bnQgKQo+PiArICAgICAgICB2Y3B1X3BhdXNlKHYpOwo+PiArCj4+ICsgICAgYWx0cDJtX3ZjcHVf cmVzZXQodik7Cj4KPiBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHlvdSBjYWxsIGFsdHAybV92Y3B1 X3Jlc2V0IHdoaWNoIHdpbGwgc2V0Cj4gcDJtaWR4IHRvIElOVkFMSURfQUxUUDJNIGJ1dCBhIGxp bmUgYWZ0ZXIgeW91IHNldCB0byAwLgo+CgpJdCBpcyBhIGxlZnRvdmVyIGZyb20gdGhlIHg4NiBp bXBsZW1lbnRhdGlvbi4gU2luY2Ugd2UgZG8gbm90IG5lZWQgdG8KcmVzZXQgZnVydGhlciBmaWVs ZHMsIEkgY2FuIHJlbW92ZSB0aGUgY2FsbCB0byBhbHRwMm1fdmNwdV9yZXNldC4KCj4+ICsgICAg dmNwdV9hbHRwMm0odikucDJtaWR4ID0gMDsKPj4gKyAgICBhdG9taWNfaW5jKCZhbHRwMm1fZ2V0 X2FsdHAybSh2KS0+YWN0aXZlX3ZjcHVzKTsKPj4gKwo+PiArICAgIGlmICggdiAhPSBjdXJyZW50 ICkKPj4gKyAgICAgICAgdmNwdV91bnBhdXNlKHYpOwo+PiArfQo+PiArCj4+ICt2b2lkIGFsdHAy bV92Y3B1X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYpCj4+ICt7Cj4+ICsgICAgc3RydWN0IHAybV9k b21haW4gKnAybTsKPj4gKwo+PiArICAgIGlmICggdiAhPSBjdXJyZW50ICkKPj4gKyAgICAgICAg dmNwdV9wYXVzZSh2KTsKPj4gKwo+PiArICAgIGlmICggKHAybSA9IGFsdHAybV9nZXRfYWx0cDJt KHYpKSApCj4+ICsgICAgICAgIGF0b21pY19kZWMoJnAybS0+YWN0aXZlX3ZjcHVzKTsKPj4gKwo+ PiArICAgIGFsdHAybV92Y3B1X3Jlc2V0KHYpOwo+PiArCj4+ICsgICAgaWYgKCB2ICE9IGN1cnJl bnQgKQo+PiArICAgICAgICB2Y3B1X3VucGF1c2Uodik7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBp bnQgYWx0cDJtX2luaXRfaGVscGVyKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBpZHgp Cj4+ICt7Cj4+ICsgICAgaW50IHJjOwo+PiArICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBk LT5hcmNoLmFsdHAybV9wMm1baWR4XTsKPj4gKwo+PiArICAgIGlmICggcDJtID09IE5VTEwgKQo+ PiArICAgIHsKPj4gKyAgICAgICAgLyogQWxsb2NhdGUgYSBuZXcsIHplcm9lZCBhbHRwMm0gdmll dy4gKi8KPj4gKyAgICAgICAgcDJtID0geHphbGxvYyhzdHJ1Y3QgcDJtX2RvbWFpbik7Cj4+ICsg ICAgICAgIGlmICggcDJtID09IE5VTEwpCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgICAgIHJj ID0gLUVOT01FTTsKPj4gKyAgICAgICAgICAgIGdvdG8gZXJyOwo+PiArICAgICAgICB9Cj4+ICsg ICAgfQo+Cj4gV2h5IGRvbid0IHlvdSByZS1hbGxvY2F0ZSB0aGUgcDJtIGZyb20gc2NyYXRjaD8K Pgo+PiArCj4+ICsgICAgLyogSW5pdGlhbGl6ZSB0aGUgbmV3IGFsdHAybSB2aWV3LiAqLwo+PiAr ICAgIHJjID0gcDJtX2luaXRfb25lKGQsIHAybSk7Cj4+ICsgICAgaWYgKCByYyApCj4+ICsgICAg ICAgIGdvdG8gZXJyOwo+PiArCj4+ICsgICAgLyogQWxsb2NhdGUgYSByb290IHRhYmxlIGZvciB0 aGUgYWx0cDJtIHZpZXcuICovCj4+ICsgICAgcmMgPSBwMm1fYWxsb2NfdGFibGUocDJtKTsKPj4g KyAgICBpZiAoIHJjICkKPj4gKyAgICAgICAgZ290byBlcnI7Cj4+ICsKPj4gKyAgICBwMm0tPnAy bV9jbGFzcyA9IHAybV9hbHRlcm5hdGU7Cj4+ICsgICAgcDJtLT5hY2Nlc3NfcmVxdWlyZWQgPSAx Owo+Cj4gUGxlYXNlIHVzZSB0cnVlIGhlcmUuIEFsdGhvdWdoLCBJIGFtIG5vdCBzdXJlIHdoeSB5 b3Ugd2FudCB0byBlbmFibGUKPiB0aGUgYWNjZXNzIGJ5IGRlZmF1bHQuCj4KPj4gKyAgICBfYXRv bWljX3NldCgmcDJtLT5hY3RpdmVfdmNwdXMsIDApOwo+PiArCj4+ICsgICAgZC0+YXJjaC5hbHRw Mm1fcDJtW2lkeF0gPSBwMm07Cj4+ICsgICAgZC0+YXJjaC5hbHRwMm1fdnR0YnJbaWR4XSA9IHAy bS0+dnR0YnIudnR0YnI7Cj4+ICsKPj4gKyAgICAvKgo+PiArICAgICAqIE1ha2Ugc3VyZSB0aGF0 IGFsbCBUTEJzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGN1cnJlbnQgVk1JRCBhcmUKPj4gZmx1c2hl ZAo+PiArICAgICAqIGJlZm9yZSB1c2luZyBpdC4KPj4gKyAgICAgKi8KPj4gKyAgICBwMm1fZmx1 c2hfdGxiKHAybSk7Cj4+ICsKPj4gKyAgICByZXR1cm4gcmM7Cj4+ICsKPj4gK2VycjoKPj4gKyAg ICBpZiAoIHAybSApCj4+ICsgICAgICAgIHhmcmVlKHAybSk7Cj4+ICsKPj4gKyAgICBkLT5hcmNo LmFsdHAybV9wMm1baWR4XSA9IE5VTEw7Cj4+ICsKPj4gKyAgICByZXR1cm4gcmM7Cj4+ICt9Cj4+ ICsKPj4gK2ludCBhbHRwMm1faW5pdF9ieV9pZChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBp bnQgaWR4KQo+PiArewo+PiArICAgIGludCByYyA9IC1FSU5WQUw7Cj4+ICsKPj4gKyAgICBpZiAo IGlkeCA+PSBNQVhfQUxUUDJNICkKPj4gKyAgICAgICAgcmV0dXJuIHJjOwo+PiArCj4+ICsgICAg YWx0cDJtX2xvY2soZCk7Cj4+ICsKPj4gKyAgICBpZiAoIGQtPmFyY2guYWx0cDJtX3Z0dGJyW2lk eF0gPT0gSU5WQUxJRF9WVFRCUiApCj4+ICsgICAgICAgIHJjID0gYWx0cDJtX2luaXRfaGVscGVy KGQsIGlkeCk7Cj4+ICsKPj4gKyAgICBhbHRwMm1fdW5sb2NrKGQpOwo+PiArCj4+ICsgICAgcmV0 dXJuIHJjOwo+PiArfQo+Pgo+PiAgaW50IGFsdHAybV9pbml0KHN0cnVjdCBkb21haW4gKmQpCj4+ ICB7Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaHZtLmMgYi94ZW4vYXJjaC9hcm0vaHZt LmMKPj4gaW5kZXggMDFhMzI0My4uNzgzNzBjNiAxMDA2NDQKPj4gLS0tIGEveGVuL2FyY2gvYXJt L2h2bS5jCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9odm0uYwo+PiBAQCAtODAsOCArODAsNDAgQEAg c3RhdGljIGludAo+PiBkb19hbHRwMm1fb3AoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBh cmcpCj4+ICAgICAgICAgIGJyZWFrOwo+Pgo+PiAgICAgIGNhc2UgSFZNT1BfYWx0cDJtX3NldF9k b21haW5fc3RhdGU6Cj4+IC0gICAgICAgIHJjID0gLUVPUE5PVFNVUFA7Cj4+ICsgICAgewo+PiAr ICAgICAgICBzdHJ1Y3QgdmNwdSAqdjsKPj4gKyAgICAgICAgYm9vbF90IG9zdGF0ZTsKPj4gKwo+ PiArICAgICAgICBpZiAoICFhbHRwMm1fZW5hYmxlZChkKSApCj4+ICsgICAgICAgIHsKPj4gKyAg ICAgICAgICAgIHJjID0gLUVJTlZBTDsKPj4gKyAgICAgICAgICAgIGJyZWFrOwo+PiArICAgICAg ICB9Cj4+ICsKPj4gKyAgICAgICAgb3N0YXRlID0gZC0+YXJjaC5hbHRwMm1fYWN0aXZlOwo+PiAr ICAgICAgICBkLT5hcmNoLmFsdHAybV9hY3RpdmUgPSAhIWEudS5kb21haW5fc3RhdGUuc3RhdGU7 Cj4+ICsKPj4gKyAgICAgICAgLyogSWYgdGhlIGFsdGVybmF0ZSBwMm0gc3RhdGUgaGFzIGNoYW5n ZWQsIGhhbmRsZQo+PiBhcHByb3ByaWF0ZWx5ICovCj4+ICsgICAgICAgIGlmICggKGQtPmFyY2gu YWx0cDJtX2FjdGl2ZSAhPSBvc3RhdGUpICYmCj4+ICsgICAgICAgICAgICAgKG9zdGF0ZSB8fCAh KHJjID0gYWx0cDJtX2luaXRfYnlfaWQoZCwgMCkpKSApCj4+ICsgICAgICAgIHsKPj4gKyAgICAg ICAgICAgIGZvcl9lYWNoX3ZjcHUoIGQsIHYgKQo+PiArICAgICAgICAgICAgewo+PiArICAgICAg ICAgICAgICAgIGlmICggIW9zdGF0ZSApCj4+ICsgICAgICAgICAgICAgICAgICAgIGFsdHAybV92 Y3B1X2luaXRpYWxpc2Uodik7Cj4+ICsgICAgICAgICAgICAgICAgZWxzZQo+PiArICAgICAgICAg ICAgICAgICAgICBhbHRwMm1fdmNwdV9kZXN0cm95KHYpOwo+PiArICAgICAgICAgICAgfQo+Cj4g VGhlIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgaHZtb3AgcGFyYW0gbG9va3MgcmFjeSB0byBtZS4g V2hhdCBkb2VzCj4gcHJldmVudCB0byBDUFUgcnVubmluZyBpbiB0aGlzIGZ1bmN0aW9uIGF0IHRo ZSBzYW1lIHRpbWU/IE9uZSB3aWxsCj4gZGVzdHJveSwgd2hpbHN0IHRoZSBvdGhlciBvbmUgd2ls bCBpbml0aWFsaXplLgo+Cj4gSXQgbWlnaHQgZXZlbiBiZSBwb3NzaWJsZSB0byBoYXZlIGJvdGgg ZG9pbmcgdGhlIGluaXRpYWxpemF0aW9uCj4gYmVjYXVzZSB0aGVyZSBpcyBubyBzeW5jaHJvbml6 YXRpb24gYmFycmllciBmb3IgYWx0cDJtX2FjdGl2ZS4KPgo+PiArCj4+ICsgICAgICAgICAgICAv Kgo+PiArICAgICAgICAgICAgICogVGhlIGFsdHAybV9hY3RpdmUgc3RhdGUgaGFzIGJlZW4gZGVh Y3RpdmF0ZWQuIEl0IGlzCj4+IG5vdyBzYWZlIHRvCj4+ICsgICAgICAgICAgICAgKiBmbHVzaCBh bGwgYWx0cDJtIHZpZXdzIC0tIGluY2x1ZGluZyBhbHRwMm1bMF0uCj4+ICsgICAgICAgICAgICAg Ki8KPj4gKyAgICAgICAgICAgIGlmICggb3N0YXRlICkKPj4gKyAgICAgICAgICAgICAgICBhbHRw Mm1fZmx1c2goZCk7Cj4KPiBUaGUgZnVuY3Rpb24gYWx0cDJtX2ZsdXNoIGlzIGRlZmluZWQgYWZ0 ZXJ3YXJkcyAoaW4gcGF0Y2ggIzkpLiBQbGVhc2UKPiBtYWtlIHN1cmUgdGhhdCBhbGwgdGhlIHBh dGNoZXMgY29tcGlsZSBvbmUgYnkgb25lLgo+Cj4+ICsgICAgICAgIH0KPj4gICAgICAgICAgYnJl YWs7Cj4+ICsgICAgfQo+Pgo+PiAgICAgIGNhc2UgSFZNT1BfYWx0cDJtX3ZjcHVfZW5hYmxlX25v dGlmeToKPj4gICAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKPj4gZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwo+PiBpbmRleCAyOWVjNWU1Li44YWZl YTExIDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKPj4gKysrIGIveGVuL2FyY2gv YXJtL3AybS5jCj4+IEBAIC0xMzksNyArMTM5LDcgQEAgdm9pZCBwMm1fcmVzdG9yZV9zdGF0ZShz dHJ1Y3QgdmNwdSAqbikKPj4gICAgICBpc2IoKTsKPj4gIH0KPj4KPj4gLXN0YXRpYyB2b2lkIHAy bV9mbHVzaF90bGIoc3RydWN0IHAybV9kb21haW4gKnAybSkKPj4gK3ZvaWQgcDJtX2ZsdXNoX3Rs YihzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQo+Cj4gVGhpcyBzaG91bGQgaWRlYWxseSBiZSBpbiBh IHNlcGFyYXRlIHBhdGNoLgo+Cj4+ICB7Cj4+ICAgICAgdW5zaWduZWQgbG9uZyBmbGFncyA9IDA7 Cj4+ICAgICAgdWludDY0X3Qgb3Z0dGJyOwo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LWFybS9hbHRwMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWx0cDJtLmgKPj4gaW5kZXggNzll YTY2Yi4uYTMzYzc0MCAxMDA2NDQKPj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9hbHRwMm0u aAo+PiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2FsdHAybS5oCj4+IEBAIC0yMiw2ICsyMiw4 IEBACj4+Cj4+ICAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+Cj4+Cj4+ICsjZGVmaW5lIElOVkFMSURf QUxUUDJNICAgIDB4ZmZmZgo+PiArCj4+ICAjZGVmaW5lIGFsdHAybV9sb2NrKGQpICAgIHNwaW5f bG9jaygmKGQpLT5hcmNoLmFsdHAybV9sb2NrKQo+PiAgI2RlZmluZSBhbHRwMm1fdW5sb2NrKGQp ICBzcGluX3VubG9jaygmKGQpLT5hcmNoLmFsdHAybV9sb2NrKQo+Pgo+PiBAQCAtNDQsNCArNDYs MTcgQEAgc3RhdGljIGlubGluZSB1aW50MTZfdCBhbHRwMm1fdmNwdV9pZHgoY29uc3QKPj4gc3Ry dWN0IHZjcHUgKnYpCj4+ICBpbnQgYWx0cDJtX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7Cj4+ICB2 b2lkIGFsdHAybV90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKTsKPj4KPj4gK3ZvaWQgYWx0cDJt X3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdik7Cj4+ICt2b2lkIGFsdHAybV92Y3B1X2Rl c3Ryb3koc3RydWN0IHZjcHUgKnYpOwo+PiArCj4+ICsvKiBNYWtlIGEgc3BlY2lmaWMgYWx0ZXJu YXRlIHAybSB2YWxpZC4gKi8KPj4gK2ludCBhbHRwMm1faW5pdF9ieV9pZChzdHJ1Y3QgZG9tYWlu ICpkLAo+PiArICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBpZHgpOwo+PiArCj4+ ICsvKiBGbHVzaCBhbGwgdGhlIGFsdGVybmF0ZSBwMm0ncyBmb3IgYSBkb21haW4gKi8KPj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBhbHRwMm1fZmx1c2goc3RydWN0IGRvbWFpbiAqZCkKPj4gK3sKPj4g KyAgICAvKiBOb3QgeWV0IGltcGxlbWVudGVkLiAqLwo+PiArfQo+PiArCj4+ICAjZW5kaWYgLyog X19BU01fQVJNX0FMVFAyTV9IICovCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJt L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAo+PiBpbmRleCAzYzI1ZWE1 Li42M2E5NjUwIDEwMDY0NAo+PiAtLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCj4+ ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKPj4gQEAgLTEzNSw2ICsxMzUsMTIg QEAgc3RydWN0IGFyY2hfZG9tYWluCj4+ICAgICAgc3BpbmxvY2tfdCBhbHRwMm1fbG9jazsKPj4g IH0gIF9fY2FjaGVsaW5lX2FsaWduZWQ7Cj4+Cj4+ICtzdHJ1Y3QgYWx0cDJtdmNwdSB7Cj4+ICsg ICAgdWludDE2X3QgcDJtaWR4OyAvKiBhbHRlcm5hdGUgcDJtIGluZGV4ICovCj4+ICt9Owo+PiAr Cj4+ICsjZGVmaW5lIHZjcHVfYWx0cDJtKHYpICgodiktPmFyY2guYXZjcHUpCj4KPgo+IFBsZWFz ZSBhdm9pZCB0byBoYXZlIGhhbGYgb2YgYWx0cDJtICBkZWZpbmVkIGluIGFsdHAybS5oIGFuZCB0 aGUgb3RoZXIKPiBoYWxmIGluIGRvbWFpbi5oLgo+Cj4+ICsKPj4gIHN0cnVjdCBhcmNoX3ZjcHUK Pj4gIHsKPj4gICAgICBzdHJ1Y3Qgewo+PiBAQCAtMjY0LDYgKzI3MCw5IEBAIHN0cnVjdCBhcmNo X3ZjcHUKPj4gICAgICBzdHJ1Y3QgdnRpbWVyIHBoeXNfdGltZXI7Cj4+ICAgICAgc3RydWN0IHZ0 aW1lciB2aXJ0X3RpbWVyOwo+PiAgICAgIGJvb2xfdCB2dGltZXJfaW5pdGlhbGl6ZWQ7Cj4+ICsK Pj4gKyAgICAvKiBBbHRlcm5hdGUgcDJtIGNvbnRleHQgKi8KPj4gKyAgICBzdHJ1Y3QgYWx0cDJt dmNwdSBhdmNwdTsKPj4gIH0gIF9fY2FjaGVsaW5lX2FsaWduZWQ7Cj4+Cj4+ICB2b2lkIHZjcHVf c2hvd19leGVjdXRpb25fc3RhdGUoc3RydWN0IHZjcHUgKik7Cj4+IGRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20tYXJtL2ZsdXNodGxiLmgKPj4gYi94ZW4vaW5jbHVkZS9hc20tYXJtL2ZsdXNo dGxiLmgKPj4gaW5kZXggMzI5ZmJiNC4uNTdjM2MzNCAxMDA2NDQKPj4gLS0tIGEveGVuL2luY2x1 ZGUvYXNtLWFybS9mbHVzaHRsYi5oCj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZmx1c2h0 bGIuaAo+PiBAQCAtMiw2ICsyLDcgQEAKPj4gICNkZWZpbmUgX19BU01fQVJNX0ZMVVNIVExCX0hf Xwo+Pgo+PiAgI2luY2x1ZGUgPHhlbi9jcHVtYXNrLmg+Cj4+ICsjaW5jbHVkZSA8YXNtL3AybS5o Pgo+Pgo+PiAgLyoKPj4gICAqIEZpbHRlciB0aGUgZ2l2ZW4gc2V0IG9mIENQVXMsIHJlbW92aW5n IHRob3NlIHRoYXQgZGVmaW5pdGVseQo+PiBmbHVzaGVkIHRoZWlyCj4+IEBAIC0yNSw2ICsyNiw5 IEBAIGRvCj4+IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPj4gIC8qIEZsdXNoIHNwZWNpZmllZCBDUFVzJyBUTEJz ICovCj4+ICB2b2lkIGZsdXNoX3RsYl9tYXNrKGNvbnN0IGNwdW1hc2tfdCAqbWFzayk7Cj4+Cj4+ ICsvKiBGbHVzaCBDUFUncyBUTEJzIGZvciB0aGUgc3BlY2lmaWVkIGRvbWFpbiAqLwo+PiArdm9p ZCBwMm1fZmx1c2hfdGxiKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pOwo+PiArCj4KPiBUaGlzIGZ1 bmN0aW9uIHNob3VsZCBiZSBkZWNsYXJlZCBpbiBwMm0uaCBhbmQgbm90IGZsdXNodGxiLmguCj4K Pj4gICNlbmRpZiAvKiBfX0FTTV9BUk1fRkxVU0hUTEJfSF9fICovCj4+ICAvKgo+PiAgICogTG9j YWwgdmFyaWFibGVzOgo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaCBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKPj4gaW5kZXggMjRhMWY2MS4uZjEzZjI4NSAxMDA2 NDQKPj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9wMm0uaAo+PiArKysgYi94ZW4vaW5jbHVk ZS9hc20tYXJtL3AybS5oCj4+IEBAIC05LDYgKzksOCBAQAo+PiAgI2luY2x1ZGUgPHhlbi9wMm0t Y29tbW9uLmg+Cj4+ICAjaW5jbHVkZSA8cHVibGljL21lbW9yeS5oPgo+Pgo+PiArI2luY2x1ZGUg PGFzbS9hdG9taWMuaD4KPj4gKwo+PiAgI2RlZmluZSBNQVhfQUxUUDJNIDEwICAgICAgICAgICAv KiBBUk0gbWlnaHQgY29udGFpbiBhbiBhcmJpdHJhcnkKPj4gbnVtYmVyIG9mCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdHAybSB2aWV3cy4gKi8KPj4gICNkZWZpbmUg cGFkZHJfYml0cyBQQUREUl9CSVRTCj4+IEBAIC04Niw2ICs4OCw5IEBAIHN0cnVjdCBwMm1fZG9t YWluIHsKPj4gICAgICAgKi8KPj4gICAgICBzdHJ1Y3QgcmFkaXhfdHJlZV9yb290IG1lbV9hY2Nl c3Nfc2V0dGluZ3M7Cj4+Cj4+ICsgICAgLyogQWx0ZXJuYXRlIHAybTogY291bnQgb2YgdmNwdSdz IGN1cnJlbnRseSB1c2luZyB0aGlzIHAybS4gKi8KPj4gKyAgICBhdG9taWNfdCBhY3RpdmVfdmNw dXM7Cj4+ICsKPj4gICAgICAvKiBDaG9vc2UgYmV0d2VlbjogaG9zdC9hbHRlcm5hdGUgKi8KPj4g ICAgICBwMm1fY2xhc3NfdCBwMm1fY2xhc3M7Cj4+Cj4+IEBAIC0yMTQsNiArMjE5LDEyIEBAIHZv aWQgZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAo+Pgo+PiAgbWZu X3QgZ2ZuX3RvX21mbihzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4pOwo+Pgo+PiArLyogQWxs b2NhdGVzIHBhZ2UgdGFibGUgZm9yIGEgcDJtLiAqLwo+PiAraW50IHAybV9hbGxvY190YWJsZShz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKTsKPj4gKwo+PiArLyogSW5pdGlhbGl6ZSB0aGUgcDJtIHN0 cnVjdHVyZS4gKi8KPj4gK2ludCBwMm1faW5pdF9vbmUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IHAybV9kb21haW4gKnAybSk7Cj4KPiBUaGVzZSBkZWNsYXJhdGlvbnMgYmVsb25nIHRvIHRoZSBw YXRjaCB0aGF0IGV4cG9ydGVkIHRoZW0gbm90LiBOb3QgaGVyZS4KPgo+PiArCj4+ICAvKiBSZWxl YXNlIHJlc291cmNlcyBoZWxkIGJ5IHRoZSBwMm0gc3RydWN0dXJlLiAqLwo+PiAgdm9pZCBwMm1f ZnJlZV9vbmUoc3RydWN0IHAybV9kb21haW4gKnAybSk7Cj4+Cj4+Cj4KPiBSZWdhcmRzLAo+CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==