From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v4 07/20] x86: move and rename XSTATE_* Date: Wed, 28 Feb 2018 13:06:19 +0000 Message-ID: <9f910d8a32b94fb4972b9937cfda4d76@AMSPEX02CL03.citrite.net> References: <5A96A5E7020000B40353C18D@prv-mh.provo.novell.com> <5A96B61302000078001ACBC4@prv-mh.provo.novell.com> <5A96B64902000078001ACBC7@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1er1U5-00033p-2z for xen-devel@lists.xenproject.org; Wed, 28 Feb 2018 13:09:25 +0000 In-Reply-To: <5A96B64902000078001ACBC7@prv-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' , xen-devel Cc: Andrew Cooper , George Dunlap List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMjggRmVicnVhcnkgMjAxOCAxMzowMgo+IFRvOiB4 ZW4tZGV2ZWwgPHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4KPiBDYzogQW5kcmV3IENv b3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT47IFBhdWwgRHVycmFudAo+IDxQYXVsLkR1 cnJhbnRAY2l0cml4LmNvbT47IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5EdW5sYXBAY2l0cml4LmNv bT4KPiBTdWJqZWN0OiBbUEFUQ0ggdjQgMDcvMjBdIHg4NjogbW92ZSBhbmQgcmVuYW1lIFhTVEFU RV8qCj4gCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoK UmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Cgo+IC0t LQo+IHY0OiBOZXcsIHNwbGl0IG9mZiBmcm9tIGxhdGVyIHBhdGNoLgo+IAo+IC0tLSBhL3hlbi9h cmNoL3g4Ni9jcHVpZC5jCj4gKysrIGIveGVuL2FyY2gveDg2L2NwdWlkLmMKPiBAQCAtMTIyLDQy ICsxMjIsNDIgQEAgc3RhdGljIHZvaWQgcmVjYWxjdWxhdGVfeHN0YXRlKHN0cnVjdCBjcAo+IAo+ ICAgICAgaWYgKCBwLT5iYXNpYy5hdnggKQo+ICAgICAgewo+IC0gICAgICAgIHhzdGF0ZXMgfD0g WFNUQVRFX1lNTTsKPiArICAgICAgICB4c3RhdGVzIHw9IFg4Nl9YQ1IwX1lNTTsKPiAgICAgICAg ICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX1lNTV0gKwo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRFX1lNTV0pOwo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIHhzdGF0ZV9vZmZzZXRzW1g4Nl9YQ1IwX1lNTV9QT1NdICsKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbWDg2X1hDUjBfWU1NX1BPU10pOwo+ICAgICAgfQo+ IAo+ICAgICAgaWYgKCBwLT5mZWF0Lm1weCApCj4gICAgICB7Cj4gLSAgICAgICAgeHN0YXRlcyB8 PSBYU1RBVEVfQk5EUkVHUyB8IFhTVEFURV9CTkRDU1I7Cj4gKyAgICAgICAgeHN0YXRlcyB8PSBY ODZfWENSMF9CTkRSRUdTIHwgWDg2X1hDUjBfQk5EQ1NSOwo+ICAgICAgICAgIHhzdGF0ZV9zaXpl ID0gbWF4KHhzdGF0ZV9zaXplLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9v ZmZzZXRzW19YU1RBVEVfQk5EQ1NSXSArCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0 YXRlX3NpemVzW19YU1RBVEVfQk5EQ1NSXSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg eHN0YXRlX29mZnNldHNbWDg2X1hDUjBfQk5EQ1NSX1BPU10gKwo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIHhzdGF0ZV9zaXplc1tYODZfWENSMF9CTkRDU1JfUE9TXSk7Cj4gICAgICB9Cj4g Cj4gICAgICBpZiAoIHAtPmZlYXQuYXZ4NTEyZiApCj4gICAgICB7Cj4gLSAgICAgICAgeHN0YXRl cyB8PSBYU1RBVEVfT1BNQVNLIHwgWFNUQVRFX1pNTSB8IFhTVEFURV9ISV9aTU07Cj4gKyAgICAg ICAgeHN0YXRlcyB8PSBYODZfWENSMF9PUE1BU0sgfCBYODZfWENSMF9aTU0gfAo+IFg4Nl9YQ1Iw X0hJX1pNTTsKPiAgICAgICAgICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0hJX1pNTV0gKwo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRFX0hJX1pNTV0p Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW1g4Nl9YQ1IwX0hJ X1pNTV9QT1NdICsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbWDg2 X1hDUjBfSElfWk1NX1BPU10pOwo+ICAgICAgfQo+IAo+ICAgICAgaWYgKCBwLT5mZWF0LnBrdSAp Cj4gICAgICB7Cj4gLSAgICAgICAgeHN0YXRlcyB8PSBYU1RBVEVfUEtSVTsKPiArICAgICAgICB4 c3RhdGVzIHw9IFg4Nl9YQ1IwX1BLUlU7Cj4gICAgICAgICAgeHN0YXRlX3NpemUgPSBtYXgoeHN0 YXRlX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX29mZnNldHNbX1hT VEFURV9QS1JVXSArCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19Y U1RBVEVfUEtSVV0pOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRz W1g4Nl9YQ1IwX1BLUlVfUE9TXSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRl X3NpemVzW1g4Nl9YQ1IwX1BLUlVfUE9TXSk7Cj4gICAgICB9Cj4gCj4gICAgICBpZiAoIHAtPmV4 dGQubHdwICkKPiAgICAgIHsKPiAtICAgICAgICB4c3RhdGVzIHw9IFhTVEFURV9MV1A7Cj4gKyAg ICAgICAgeHN0YXRlcyB8PSBYODZfWENSMF9MV1A7Cj4gICAgICAgICAgeHN0YXRlX3NpemUgPSBt YXgoeHN0YXRlX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX29mZnNl dHNbX1hTVEFURV9MV1BdICsKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6 ZXNbX1hTVEFURV9MV1BdKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfb2Zm c2V0c1tYODZfWENSMF9MV1BfUE9TXSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0 YXRlX3NpemVzW1g4Nl9YQ1IwX0xXUF9QT1NdKTsKPiAgICAgIH0KPiAKPiAgICAgIHAtPnhzdGF0 ZS5tYXhfc2l6ZSAgPSAgeHN0YXRlX3NpemU7Cj4gQEAgLTEwMTYsNyArMTAxNiw3IEBAIHZvaWQg Z3Vlc3RfY3B1aWQoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHUKPiAgICAgICAgICBicmVhazsKPiAK PiAgICAgIGNhc2UgMHg4MDAwMDAxYzoKPiAtICAgICAgICBpZiAoICh2LT5hcmNoLnhjcjAgJiBY U1RBVEVfTFdQKSAmJiBjcHVfaGFzX3N2bSApCj4gKyAgICAgICAgaWYgKCAodi0+YXJjaC54Y3Iw ICYgWDg2X1hDUjBfTFdQKSAmJiBjcHVfaGFzX3N2bSApCj4gICAgICAgICAgICAgIC8qIFR1cm4g b24gYXZhaWxhYmxlIGJpdCBhbmQgb3RoZXIgZmVhdHVyZXMgc3BlY2lmaWVkIGluIGx3cF9jZmcu ICovCj4gICAgICAgICAgICAgIHJlcy0+YSA9IChyZXMtPmQgJiB2LT5hcmNoLmh2bV9zdm0uZ3Vl c3RfbHdwX2NmZykgfCAxOwo+ICAgICAgICAgIGJyZWFrOwo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vZW11bGF0ZS5jCj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKPiBAQCAtMTg4 Miw4ICsxODgyLDggQEAgc3RhdGljIGludCBodm1lbXVsX2dldF9mcHUoCj4gICAgICBjYXNlIFg4 NkVNVUxfRlBVX3htbToKPiAgICAgICAgICBicmVhazsKPiAgICAgIGNhc2UgWDg2RU1VTF9GUFVf eW1tOgo+IC0gICAgICAgIGlmICggIShjdXJyLT5hcmNoLnhjcjAgJiBYU1RBVEVfU1NFKSB8fAo+ IC0gICAgICAgICAgICAgIShjdXJyLT5hcmNoLnhjcjAgJiBYU1RBVEVfWU1NKSApCj4gKyAgICAg ICAgaWYgKCAhKGN1cnItPmFyY2gueGNyMCAmIFg4Nl9YQ1IwX1NTRSkgfHwKPiArICAgICAgICAg ICAgICEoY3Vyci0+YXJjaC54Y3IwICYgWDg2X1hDUjBfWU1NKSApCj4gICAgICAgICAgICAgIHJl dHVybiBYODZFTVVMX1VOSEFORExFQUJMRTsKPiAgICAgICAgICBicmVhazsKPiAgICAgIGRlZmF1 bHQ6Cj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vaHZtLmMKPiBAQCAtMzE4LDcgKzMxOCw3IEBAIGJvb2wgaHZtX3NldF9ndWVzdF9ibmRjZmdz KHN0cnVjdCB2Y3B1ICoKPiAgICAgICAqIGVuYWJsZWQgaW4gQk5EQ0ZHUy4KPiAgICAgICAqLwo+ ICAgICAgaWYgKCAodmFsICYgSUEzMl9CTkRDRkdTX0VOQUJMRSkgJiYKPiAtICAgICAgICAgISh2 LT5hcmNoLnhjcjBfYWNjdW0gJiAoWFNUQVRFX0JORFJFR1MgfCBYU1RBVEVfQk5EQ1NSKSkgKQo+ ICsgICAgICAgICAhKHYtPmFyY2gueGNyMF9hY2N1bSAmIChYODZfWENSMF9CTkRSRUdTIHwgWDg2 X1hDUjBfQk5EQ1NSKSkgKQo+ICAgICAgewo+ICAgICAgICAgIHVpbnQ2NF90IHhjcjAgPSBnZXRf eGNyMCgpOwo+ICAgICAgICAgIGludCByYzsKPiBAQCAtMzI3LDcgKzMyNyw3IEBAIGJvb2wgaHZt X3NldF9ndWVzdF9ibmRjZmdzKHN0cnVjdCB2Y3B1ICoKPiAgICAgICAgICAgICAgcmV0dXJuIGZh bHNlOwo+IAo+ICAgICAgICAgIHJjID0gaGFuZGxlX3hzZXRidihYQ1JfWEZFQVRVUkVfRU5BQkxF RF9NQVNLLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICB4Y3IwIHwgWFNUQVRFX0JORFJF R1MgfCBYU1RBVEVfQk5EQ1NSKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgeGNyMCB8 IFg4Nl9YQ1IwX0JORFJFR1MgfCBYODZfWENSMF9CTkRDU1IpOwo+IAo+ICAgICAgICAgIGlmICgg cmMgKQo+ICAgICAgICAgIHsKPiBAQCAtMjQwOSwxMCArMjQwOSwxMCBAQCBpbnQgaHZtX3NldF9j cjQodW5zaWduZWQgbG9uZyB2YWx1ZSwgYm9vCj4gICAgICAgKiBndWVzdCBtYXkgZW5hYmxlIHRo ZSBmZWF0dXJlIGluIENSNCB3aXRob3V0IGVuYWJsaW5nIGl0IGluIFhDUjAuIFdlCj4gICAgICAg KiBuZWVkIHRvIGNvbnRleHQgc3dpdGNoIC8gbWlncmF0ZSBQS1JVIG5ldmVydGhlbGVzcy4KPiAg ICAgICAqLwo+IC0gICAgaWYgKCAodmFsdWUgJiBYODZfQ1I0X1BLRSkgJiYgISh2LT5hcmNoLnhj cjBfYWNjdW0gJiBYU1RBVEVfUEtSVSkgKQo+ICsgICAgaWYgKCAodmFsdWUgJiBYODZfQ1I0X1BL RSkgJiYgISh2LT5hcmNoLnhjcjBfYWNjdW0gJiBYODZfWENSMF9QS1JVKQo+ICkKPiAgICAgIHsK PiAgICAgICAgICBpbnQgcmMgPSBoYW5kbGVfeHNldGJ2KFhDUl9YRkVBVFVSRV9FTkFCTEVEX01B U0ssCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfeGNyMCgpIHwgWFNUQVRF X1BLUlUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3hjcjAoKSB8IFg4 Nl9YQ1IwX1BLUlUpOwo+IAo+ICAgICAgICAgIGlmICggcmMgKQo+ICAgICAgICAgIHsKPiBAQCAt MjQyMSw3ICsyNDIxLDcgQEAgaW50IGh2bV9zZXRfY3I0KHVuc2lnbmVkIGxvbmcgdmFsdWUsIGJv bwo+ICAgICAgICAgIH0KPiAKPiAgICAgICAgICBpZiAoIGhhbmRsZV94c2V0YnYoWENSX1hGRUFU VVJFX0VOQUJMRURfTUFTSywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3hjcjAo KSAmIH5YU1RBVEVfUEtSVSkgKQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfeGNy MCgpICYgflg4Nl9YQ1IwX1BLUlUpICkKPiAgICAgICAgICAgICAgLyogbm90aGluZywgYmVzdCBl ZmZvcnQgb25seSAqLzsKPiAgICAgIH0KPiAKPiBAQCAtMzg5MCw3ICszODkwLDcgQEAgdm9pZCBo dm1fdmNwdV9yZXNldF9zdGF0ZShzdHJ1Y3QgdmNwdSAqdgo+ICAgICAgZnB1X2N0eHQtPm14Y3Ny ID0gTVhDU1JfREVGQVVMVDsKPiAgICAgIGlmICggdi0+YXJjaC54c2F2ZV9hcmVhICkKPiAgICAg IHsKPiAtICAgICAgICB2LT5hcmNoLnhzYXZlX2FyZWEtPnhzYXZlX2hkci54c3RhdGVfYnYgPSBY U1RBVEVfRlA7Cj4gKyAgICAgICAgdi0+YXJjaC54c2F2ZV9hcmVhLT54c2F2ZV9oZHIueHN0YXRl X2J2ID0gWDg2X1hDUjBfRlA7Cj4gICAgICAgICAgdi0+YXJjaC54c2F2ZV9hcmVhLT54c2F2ZV9o ZHIueGNvbXBfYnYgPSAwOwo+ICAgICAgfQo+IAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11 bGF0ZS94ODZfZW11bGF0ZS5jCj4gKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9l bXVsYXRlLmMKPiBAQCAtMjE1Nyw3ICsyMTU3LDcgQEAgc3RhdGljIHZvaWQgYWRqdXN0X2JuZChz dHJ1Y3QgeDg2X2VtdWxhdAo+ICAgICAgICAgICAqIChpbiB3aGljaCBjYXNlIGV4ZWN1dGluZyBh bnkgc3VpdGFibGUgbm9uLXByZWZpeGVkIGJyYW5jaAo+ICAgICAgICAgICAqIGluc3RydWN0aW9u IHdvdWxkIGRvKSwgb3IgdXNlIFhSU1RPUi4KPiAgICAgICAgICAgKi8KPiAtICAgICAgICB4c3Rh dGVfc2V0X2luaXQoWFNUQVRFX0JORFJFR1MpOwo+ICsgICAgICAgIHhzdGF0ZV9zZXRfaW5pdChY ODZfWENSMF9CTkRSRUdTKTsKPiAgICAgIH0KPiAgIGRvbmU6Owo+ICB9Cj4gLS0tIGEveGVuL2Fy Y2gveDg2L3hzdGF0ZS5jCj4gKysrIGIveGVuL2FyY2gveDg2L3hzdGF0ZS5jCj4gQEAgLTMwNCw3 ICszMDQsNyBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICI9bSIgKCpwdHIpLCBcCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJhIiAobG1hc2spLCAiZCIgKGhtYXNrKSwgIkQiIChwdHIpKQo+IAo+IC0g ICAgaWYgKCBmaXBfd2lkdGggPT0gOCB8fCAhKG1hc2sgJiBYU1RBVEVfRlApICkKPiArICAgIGlm ICggZmlwX3dpZHRoID09IDggfHwgIShtYXNrICYgWDg2X1hDUjBfRlApICkKPiAgICAgIHsKPiAg ICAgICAgICBYU0FWRSgiMHg0OCwiKTsKPiAgICAgIH0KPiBAQCAtMzU3LDcgKzM1Nyw3IEBAIHZv aWQgeHNhdmUoc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90IG1hc2sKPiAgICAgICAgICAgICAgZmlw X3dpZHRoID0gODsKPiAgICAgIH0KPiAgI3VuZGVmIFhTQVZFCj4gLSAgICBpZiAoIG1hc2sgJiBY U1RBVEVfRlAgKQo+ICsgICAgaWYgKCBtYXNrICYgWDg2X1hDUjBfRlAgKQo+ICAgICAgICAgIHB0 ci0+ZnB1X3NzZS54W0ZQVV9XT1JEX1NJWkVfT0ZGU0VUXSA9IGZpcF93aWR0aDsKPiAgfQo+IAo+ IEBAIC0zNzUsNyArMzc1LDcgQEAgdm9pZCB4cnN0b3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQ2NF90 IG1hcwo+ICAgICAgICogc29tZXRpbWVzIG5ldyB1c2VyIHZhbHVlLiBCb3RoIHNob3VsZCBiZSBv ay4gVXNlIHRoZSBGUFUgc2F2ZWQKPiAgICAgICAqIGRhdGEgYmxvY2sgYXMgYSBzYWZlIGFkZHJl c3MgYmVjYXVzZSBpdCBzaG91bGQgYmUgaW4gTDEuCj4gICAgICAgKi8KPiAtICAgIGlmICggKG1h c2sgJiBwdHItPnhzYXZlX2hkci54c3RhdGVfYnYgJiBYU1RBVEVfRlApICYmCj4gKyAgICBpZiAo IChtYXNrICYgcHRyLT54c2F2ZV9oZHIueHN0YXRlX2J2ICYgWDg2X1hDUjBfRlApICYmCj4gICAg ICAgICAgICEocHRyLT5mcHVfc3NlLmZzdyAmIH5wdHItPmZwdV9zc2UuZmN3ICYgMHgwMDNmKSAm Jgo+ICAgICAgICAgICBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQg KQo+ICAgICAgICAgIGFzbSB2b2xhdGlsZSAoICJmbmNsZXhcblx0IiAgICAgICAgLyogY2xlYXIg ZXhjZXB0aW9ucyAqLwo+IEBAIC00NTEsOCArNDUxLDggQEAgdm9pZCB4cnN0b3Ioc3RydWN0IHZj cHUgKnYsIHVpbnQ2NF90IG1hcwo+ICAgICAgICAgICAgICAgKiBBbHNvIHRyeSB0byBlbGltaW5h dGUgZmF1bHQgcmVhc29ucywgZXZlbiBpZiB0aGlzIHNob3VsZG4ndCBiZQo+ICAgICAgICAgICAg ICAgKiBuZWVkZWQgaGVyZSAob3RoZXIgY29kZSBzaG91bGQgZW5zdXJlIHRoZSBzYW5pdHkgb2Yg dGhlIGRhdGEpLgo+ICAgICAgICAgICAgICAgKi8KPiAtICAgICAgICAgICAgaWYgKCAoKG1hc2sg JiBYU1RBVEVfU1NFKSB8fAo+IC0gICAgICAgICAgICAgICAgICAoKG1hc2sgJiBYU1RBVEVfWU1N KSAmJgo+ICsgICAgICAgICAgICBpZiAoICgobWFzayAmIFg4Nl9YQ1IwX1NTRSkgfHwKPiArICAg ICAgICAgICAgICAgICAgKChtYXNrICYgWDg2X1hDUjBfWU1NKSAmJgo+ICAgICAgICAgICAgICAg ICAgICAgIShwdHItPnhzYXZlX2hkci54Y29tcF9idiAmIFhTVEFURV9DT01QQUNUSU9OX0VOQUJM RUQpKSkKPiApCj4gICAgICAgICAgICAgICAgICBwdHItPmZwdV9zc2UubXhjc3IgJj0gbXhjc3Jf bWFzazsKPiAgICAgICAgICAgICAgaWYgKCB2LT5hcmNoLnhjcjBfYWNjdW0gJiBYU1RBVEVfWFNB VkVTX09OTFkgKQo+IEBAIC01OTUsNyArNTk1LDcgQEAgdm9pZCB4c3RhdGVfaW5pdChzdHJ1Y3Qg Y3B1aW5mb194ODYgKmMpCj4gICAgICBjcHVpZF9jb3VudChYU1RBVEVfQ1BVSUQsIDAsICZlYXgs ICZlYngsICZlY3gsICZlZHgpOwo+IAo+ICAgICAgQlVHX09OKChlYXggJiBYU1RBVEVfRlBfU1NF KSAhPSBYU1RBVEVfRlBfU1NFKTsKPiAtICAgIEJVR19PTigoZWF4ICYgWFNUQVRFX1lNTSkgJiYg IShlYXggJiBYU1RBVEVfU1NFKSk7Cj4gKyAgICBCVUdfT04oKGVheCAmIFg4Nl9YQ1IwX1lNTSkg JiYgIShlYXggJiBYODZfWENSMF9TU0UpKTsKPiAgICAgIGZlYXR1cmVfbWFzayA9ICgoKHU2NCll ZHggPDwgMzIpIHwgZWF4KSAmIFhDTlRYVF9NQVNLOwo+IAo+ICAgICAgLyoKPiBAQCAtNjQ4LDI2 ICs2NDgsMjYgQEAgdm9pZCB4c3RhdGVfaW5pdChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCj4gIHN0 YXRpYyBib29sIHZhbGlkX3hjcjAodTY0IHhjcjApCj4gIHsKPiAgICAgIC8qIEZQIG11c3QgYmUg dW5jb25kaXRpb25hbGx5IHNldC4gKi8KPiAtICAgIGlmICggISh4Y3IwICYgWFNUQVRFX0ZQKSAp Cj4gKyAgICBpZiAoICEoeGNyMCAmIFg4Nl9YQ1IwX0ZQKSApCj4gICAgICAgICAgcmV0dXJuIGZh bHNlOwo+IAo+ICAgICAgLyogWU1NIGRlcGVuZHMgb24gU1NFLiAqLwo+IC0gICAgaWYgKCAoeGNy MCAmIFhTVEFURV9ZTU0pICYmICEoeGNyMCAmIFhTVEFURV9TU0UpICkKPiArICAgIGlmICggKHhj cjAgJiBYODZfWENSMF9ZTU0pICYmICEoeGNyMCAmIFg4Nl9YQ1IwX1NTRSkgKQo+ICAgICAgICAg IHJldHVybiBmYWxzZTsKPiAKPiAtICAgIGlmICggeGNyMCAmIChYU1RBVEVfT1BNQVNLIHwgWFNU QVRFX1pNTSB8IFhTVEFURV9ISV9aTU0pICkKPiArICAgIGlmICggeGNyMCAmIChYODZfWENSMF9P UE1BU0sgfCBYODZfWENSMF9aTU0gfCBYODZfWENSMF9ISV9aTU0pCj4gKQo+ICAgICAgewo+ICAg ICAgICAgIC8qIE9QTUFTSywgWk1NLCBhbmQgSElfWk1NIHJlcXVpcmUgWU1NLiAqLwo+IC0gICAg ICAgIGlmICggISh4Y3IwICYgWFNUQVRFX1lNTSkgKQo+ICsgICAgICAgIGlmICggISh4Y3IwICYg WDg2X1hDUjBfWU1NKSApCj4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKPiAKPiAgICAgICAg ICAvKiBPUE1BU0ssIFpNTSwgYW5kIEhJX1pNTSBtdXN0IGJlIHRoZSBzYW1lLiAqLwo+IC0gICAg ICAgIGlmICggfnhjcjAgJiAoWFNUQVRFX09QTUFTSyB8IFhTVEFURV9aTU0gfCBYU1RBVEVfSElf Wk1NKSApCj4gKyAgICAgICAgaWYgKCB+eGNyMCAmIChYODZfWENSMF9PUE1BU0sgfCBYODZfWENS MF9aTU0gfAo+IFg4Nl9YQ1IwX0hJX1pNTSkgKQo+ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7 Cj4gICAgICB9Cj4gCj4gICAgICAvKiBCTkRSRUdTIGFuZCBCTkRDU1IgbXVzdCBiZSB0aGUgc2Ft ZS4gKi8KPiAtICAgIHJldHVybiAhKHhjcjAgJiBYU1RBVEVfQk5EUkVHUykgPT0gISh4Y3IwICYg WFNUQVRFX0JORENTUik7Cj4gKyAgICByZXR1cm4gISh4Y3IwICYgWDg2X1hDUjBfQk5EUkVHUykg PT0gISh4Y3IwICYgWDg2X1hDUjBfQk5EQ1NSKTsKPiAgfQo+IAo+ICBpbnQgdmFsaWRhdGVfeHN0 YXRlKHU2NCB4Y3IwLCB1NjQgeGNyMF9hY2N1bSwgY29uc3Qgc3RydWN0IHhzYXZlX2hkciAqaGRy KQo+IEBAIC03MDMsNyArNzAzLDcgQEAgaW50IGhhbmRsZV94c2V0YnYodTMyIGluZGV4LCB1NjQg bmV3X2J2KQo+ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IAo+ICAgICAgLyogWENSMC5QS1JV IGlzIGRpc2FibGVkIG9uIFBWIG1vZGUuICovCj4gLSAgICBpZiAoIGlzX3B2X3ZjcHUoY3Vycikg JiYgKG5ld19idiAmIFhTVEFURV9QS1JVKSApCj4gKyAgICBpZiAoIGlzX3B2X3ZjcHUoY3Vycikg JiYgKG5ld19idiAmIFg4Nl9YQ1IwX1BLUlUpICkKPiAgICAgICAgICByZXR1cm4gLUVPUE5PVFNV UFA7Cj4gCj4gICAgICBpZiAoICFzZXRfeGNyMChuZXdfYnYpICkKPiBAQCAtNzE0LDcgKzcxNCw3 IEBAIGludCBoYW5kbGVfeHNldGJ2KHUzMiBpbmRleCwgdTY0IG5ld19idikKPiAgICAgIGN1cnIt PmFyY2gueGNyMF9hY2N1bSB8PSBuZXdfYnY7Cj4gCj4gICAgICAvKiBMV1Agc2V0cyBub25sYXp5 X3hzdGF0ZV91c2VkIGluZGVwZW5kZW50bHkuICovCj4gLSAgICBpZiAoIG5ld19idiAmIChYU1RB VEVfTk9OTEFaWSAmIH5YU1RBVEVfTFdQKSApCj4gKyAgICBpZiAoIG5ld19idiAmIChYU1RBVEVf Tk9OTEFaWSAmIH5YODZfWENSMF9MV1ApICkKPiAgICAgICAgICBjdXJyLT5hcmNoLm5vbmxhenlf eHN0YXRlX3VzZWQgPSAxOwo+IAo+ICAgICAgbWFzayAmPSBjdXJyLT5mcHVfZGlydGllZCA/IH5Y U1RBVEVfRlBfU1NFIDogWFNUQVRFX05PTkxBWlk7Cj4gQEAgLTc1NSw3ICs3NTUsNyBAQCB1aW50 NjRfdCByZWFkX2JuZGNmZ3Uodm9pZCkKPiAgICAgIHsKPiAgICAgICAgICBhc20gKCAiLmJ5dGUg MHgwZiwweGM3LDB4MjdcbiIgLyogeHNhdmVjICovCj4gICAgICAgICAgICAgICAgOiAiPW0iICgq eHN0YXRlKQo+IC0gICAgICAgICAgICAgIDogImEiIChYU1RBVEVfQk5EQ1NSKSwgImQiICgwKSwg IkQiICh4c3RhdGUpICk7Cj4gKyAgICAgICAgICAgICAgOiAiYSIgKFg4Nl9YQ1IwX0JORENTUiks ICJkIiAoMCksICJEIiAoeHN0YXRlKSApOwo+IAo+ICAgICAgICAgIGJuZGNzciA9ICh2b2lkICop KHhzdGF0ZSArIDEpOwo+ICAgICAgfQo+IEBAIC03NjMsMTUgKzc2MywxNSBAQCB1aW50NjRfdCBy ZWFkX2JuZGNmZ3Uodm9pZCkKPiAgICAgIHsKPiAgICAgICAgICBhc20gKCAiLmJ5dGUgMHgwZiww eGFlLDB4MjdcbiIgLyogeHNhdmUgKi8KPiAgICAgICAgICAgICAgICA6ICI9bSIgKCp4c3RhdGUp Cj4gLSAgICAgICAgICAgICAgOiAiYSIgKFhTVEFURV9CTkRDU1IpLCAiZCIgKDApLCAiRCIgKHhz dGF0ZSkgKTsKPiArICAgICAgICAgICAgICA6ICJhIiAoWDg2X1hDUjBfQk5EQ1NSKSwgImQiICgw KSwgIkQiICh4c3RhdGUpICk7Cj4gCj4gLSAgICAgICAgYm5kY3NyID0gKHZvaWQgKil4c3RhdGUg KyB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0JORENTUl07Cj4gKyAgICAgICAgYm5kY3NyID0gKHZv aWQgKil4c3RhdGUgKyB4c3RhdGVfb2Zmc2V0c1tYODZfWENSMF9CTkRDU1JfUE9TXTsKPiAgICAg IH0KPiAKPiAgICAgIGlmICggY3IwICYgWDg2X0NSMF9UUyApCj4gICAgICAgICAgd3JpdGVfY3Iw KGNyMCk7Cj4gCj4gLSAgICByZXR1cm4geHN0YXRlLT54c2F2ZV9oZHIueHN0YXRlX2J2ICYgWFNU QVRFX0JORENTUiA/IGJuZGNzci0KPiA+Ym5kY2ZndSA6IDA7Cj4gKyAgICByZXR1cm4geHN0YXRl LT54c2F2ZV9oZHIueHN0YXRlX2J2ICYgWDg2X1hDUjBfQk5EQ1NSID8gYm5kY3NyLQo+ID5ibmRj Zmd1IDogMDsKPiAgfQo+IAo+ICB2b2lkIHhzdGF0ZV9zZXRfaW5pdCh1aW50NjRfdCBtYXNrKQo+ IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2LWRlZm5zLmgKPiArKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L3g4Ni1kZWZucy5oCj4gQEAgLTY2LDQgKzY2LDI4IEBACj4gICNkZWZpbmUgWDg2 X0NSNF9TTUFQICAgICAgIDB4MDAyMDAwMDAgLyogZW5hYmxlIFNNQVAgKi8KPiAgI2RlZmluZSBY ODZfQ1I0X1BLRSAgICAgICAgMHgwMDQwMDAwMCAvKiBlbmFibGUgUEtFICovCj4gCj4gKy8qCj4g KyAqIFhTVEFURSBjb21wb25lbnQgZmxhZ3MgaW4gWENSMAo+ICsgKi8KPiArI2RlZmluZSBYODZf WENSMF9GUF9QT1MgICAgICAgICAgIDAKPiArI2RlZmluZSBYODZfWENSMF9GUCAgICAgICAgICAg ICAgICgxVUxMIDw8IFg4Nl9YQ1IwX0ZQX1BPUykKPiArI2RlZmluZSBYODZfWENSMF9TU0VfUE9T ICAgICAgICAgIDEKPiArI2RlZmluZSBYODZfWENSMF9TU0UgICAgICAgICAgICAgICgxVUxMIDw8 IFg4Nl9YQ1IwX1NTRV9QT1MpCj4gKyNkZWZpbmUgWDg2X1hDUjBfWU1NX1BPUyAgICAgICAgICAy Cj4gKyNkZWZpbmUgWDg2X1hDUjBfWU1NICAgICAgICAgICAgICAoMVVMTCA8PCBYODZfWENSMF9Z TU1fUE9TKQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX0JORFJFR1NfUE9TICAgICAgMwo+ICsjZGVmaW5l IFg4Nl9YQ1IwX0JORFJFR1MgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfQk5EUkVHU19QT1Mp Cj4gKyNkZWZpbmUgWDg2X1hDUjBfQk5EQ1NSX1BPUyAgICAgICA0Cj4gKyNkZWZpbmUgWDg2X1hD UjBfQk5EQ1NSICAgICAgICAgICAoMVVMTCA8PCBYODZfWENSMF9CTkRDU1JfUE9TKQo+ICsjZGVm aW5lIFg4Nl9YQ1IwX09QTUFTS19QT1MgICAgICAgNQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX09QTUFT SyAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfT1BNQVNLX1BPUykKPiArI2RlZmluZSBYODZf WENSMF9aTU1fUE9TICAgICAgICAgIDYKPiArI2RlZmluZSBYODZfWENSMF9aTU0gICAgICAgICAg ICAgICgxVUxMIDw8IFg4Nl9YQ1IwX1pNTV9QT1MpCj4gKyNkZWZpbmUgWDg2X1hDUjBfSElfWk1N X1BPUyAgICAgICA3Cj4gKyNkZWZpbmUgWDg2X1hDUjBfSElfWk1NICAgICAgICAgICAoMVVMTCA8 PCBYODZfWENSMF9ISV9aTU1fUE9TKQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX1BLUlVfUE9TICAgICAg ICAgOQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX1BLUlUgICAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hD UjBfUEtSVV9QT1MpCj4gKyNkZWZpbmUgWDg2X1hDUjBfTFdQX1BPUyAgICAgICAgICA2Mgo+ICsj ZGVmaW5lIFg4Nl9YQ1IwX0xXUCAgICAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfTFdQX1BP UykKPiArCj4gICNlbmRpZgkvKiBfX1hFTl9YODZfREVGTlNfSF9fICovCj4gLS0tIGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni94c3RhdGUuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYveHN0YXRl LmgKPiBAQCAtMTAsNiArMTAsNyBAQAo+IAo+ICAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+Cj4gICNp bmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgo+ICsjaW5jbHVkZSA8YXNtL3g4Ni1kZWZucy5oPgo+ IAo+ICAjZGVmaW5lIEZDV19ERUZBVUxUICAgICAgICAgICAgICAgMHgwMzdmCj4gICNkZWZpbmUg RkNXX1JFU0VUICAgICAgICAgICAgICAgICAweDAwNDAKPiBAQCAtMjgsMzQgKzI5LDE0IEBAIGV4 dGVybiB1aW50MzJfdCBteGNzcl9tYXNrOwo+ICAjZGVmaW5lIFhTQVZFX0hEUl9PRkZTRVQgICAg ICAgICAgRlhTQVZFX1NJWkUKPiAgI2RlZmluZSBYU1RBVEVfQVJFQV9NSU5fU0laRSAgICAgIChG WFNBVkVfU0laRSArIFhTQVZFX0hEUl9TSVpFKQo+IAo+IC0jZGVmaW5lIF9YU1RBVEVfRlAgICAg ICAgICAgICAgICAgMAo+IC0jZGVmaW5lIFhTVEFURV9GUCAgICAgICAgICAgICAgICAgKDFVTEwg PDwgX1hTVEFURV9GUCkKPiAtI2RlZmluZSBfWFNUQVRFX1NTRSAgICAgICAgICAgICAgIDEKPiAt I2RlZmluZSBYU1RBVEVfU1NFICAgICAgICAgICAgICAgICgxVUxMIDw8IF9YU1RBVEVfU1NFKQo+ IC0jZGVmaW5lIF9YU1RBVEVfWU1NICAgICAgICAgICAgICAgMgo+IC0jZGVmaW5lIFhTVEFURV9Z TU0gICAgICAgICAgICAgICAgKDFVTEwgPDwgX1hTVEFURV9ZTU0pCj4gLSNkZWZpbmUgX1hTVEFU RV9CTkRSRUdTICAgICAgICAgICAzCj4gLSNkZWZpbmUgWFNUQVRFX0JORFJFR1MgICAgICAgICAg ICAoMVVMTCA8PCBfWFNUQVRFX0JORFJFR1MpCj4gLSNkZWZpbmUgX1hTVEFURV9CTkRDU1IgICAg ICAgICAgICA0Cj4gLSNkZWZpbmUgWFNUQVRFX0JORENTUiAgICAgICAgICAgICAoMVVMTCA8PCBf WFNUQVRFX0JORENTUikKPiAtI2RlZmluZSBfWFNUQVRFX09QTUFTSyAgICAgICAgICAgIDUKPiAt I2RlZmluZSBYU1RBVEVfT1BNQVNLICAgICAgICAgICAgICgxVUxMIDw8IF9YU1RBVEVfT1BNQVNL KQo+IC0jZGVmaW5lIF9YU1RBVEVfWk1NICAgICAgICAgICAgICAgNgo+IC0jZGVmaW5lIFhTVEFU RV9aTU0gICAgICAgICAgICAgICAgKDFVTEwgPDwgX1hTVEFURV9aTU0pCj4gLSNkZWZpbmUgX1hT VEFURV9ISV9aTU0gICAgICAgICAgICA3Cj4gLSNkZWZpbmUgWFNUQVRFX0hJX1pNTSAgICAgICAg ICAgICAoMVVMTCA8PCBfWFNUQVRFX0hJX1pNTSkKPiAtI2RlZmluZSBfWFNUQVRFX1BLUlUgICAg ICAgICAgICAgIDkKPiAtI2RlZmluZSBYU1RBVEVfUEtSVSAgICAgICAgICAgICAgICgxVUxMIDw8 IF9YU1RBVEVfUEtSVSkKPiAtI2RlZmluZSBfWFNUQVRFX0xXUCAgICAgICAgICAgICAgIDYyCj4g LSNkZWZpbmUgWFNUQVRFX0xXUCAgICAgICAgICAgICAgICAoMVVMTCA8PCBfWFNUQVRFX0xXUCkK PiAtCj4gLSNkZWZpbmUgWFNUQVRFX0ZQX1NTRSAgKFhTVEFURV9GUCB8IFhTVEFURV9TU0UpCj4g LSNkZWZpbmUgWENOVFhUX01BU0sgICAgKFhTVEFURV9GUCB8IFhTVEFURV9TU0UgfCBYU1RBVEVf WU1NIHwKPiBYU1RBVEVfT1BNQVNLIHwgXAo+IC0gICAgICAgICAgICAgICAgICAgICAgICBYU1RB VEVfWk1NIHwgWFNUQVRFX0hJX1pNTSB8IFhTVEFURV9OT05MQVpZKQo+ICsjZGVmaW5lIFhTVEFU RV9GUF9TU0UgIChYODZfWENSMF9GUCB8IFg4Nl9YQ1IwX1NTRSkKPiArI2RlZmluZSBYQ05UWFRf TUFTSyAgICAoWDg2X1hDUjBfRlAgfCBYODZfWENSMF9TU0UgfAo+IFg4Nl9YQ1IwX1lNTSB8IFwK PiArICAgICAgICAgICAgICAgICAgICAgICAgWDg2X1hDUjBfT1BNQVNLIHwgWDg2X1hDUjBfWk1N IHwgWDg2X1hDUjBfSElfWk1NIHwKPiBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFhTVEFU RV9OT05MQVpZKQo+IAo+ICAjZGVmaW5lIFhTVEFURV9BTEwgICAgICh+KDFVTEwgPDwgNjMpKQo+ IC0jZGVmaW5lIFhTVEFURV9OT05MQVpZIChYU1RBVEVfTFdQIHwgWFNUQVRFX0JORFJFR1MgfAo+ IFhTVEFURV9CTkRDU1IgfCBcCj4gLSAgICAgICAgICAgICAgICAgICAgICAgIFhTVEFURV9QS1JV KQo+ICsjZGVmaW5lIFhTVEFURV9OT05MQVpZIChYODZfWENSMF9MV1AgfCBYODZfWENSMF9CTkRS RUdTIHwKPiBYODZfWENSMF9CTkRDU1IgfCBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFg4 Nl9YQ1IwX1BLUlUpCj4gICNkZWZpbmUgWFNUQVRFX0xBWlkgICAgKFhTVEFURV9BTEwgJiB+WFNU QVRFX05PTkxBWlkpCj4gICNkZWZpbmUgWFNUQVRFX1hTQVZFU19PTkxZICAgICAgICAgMAo+ICAj ZGVmaW5lIFhTVEFURV9DT01QQUNUSU9OX0VOQUJMRUQgICgxVUxMIDw8IDYzKQo+IAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=