From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 07/20] x86: move and rename XSTATE_* Date: Wed, 28 Feb 2018 06:01:45 -0700 Message-ID: <5A96B64902000078001ACBC7@prv-mh.provo.novell.com> References: <5A96A5E7020000B40353C18D@prv-mh.provo.novell.com> <5A96B61302000078001ACBC4@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1er1Mp-0001kU-RS for xen-devel@lists.xenproject.org; Wed, 28 Feb 2018 13:01:55 +0000 In-Reply-To: <5A96B61302000078001ACBC4@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Paul Durrant List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjQ6IE5l dywgc3BsaXQgb2ZmIGZyb20gbGF0ZXIgcGF0Y2guCgotLS0gYS94ZW4vYXJjaC94ODYvY3B1aWQu YworKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwpAQCAtMTIyLDQyICsxMjIsNDIgQEAgc3RhdGlj IHZvaWQgcmVjYWxjdWxhdGVfeHN0YXRlKHN0cnVjdCBjcAogCiAgICAgaWYgKCBwLT5iYXNpYy5h dnggKQogICAgIHsKLSAgICAgICAgeHN0YXRlcyB8PSBYU1RBVEVfWU1NOworICAgICAgICB4c3Rh dGVzIHw9IFg4Nl9YQ1IwX1lNTTsKICAgICAgICAgeHN0YXRlX3NpemUgPSBtYXgoeHN0YXRlX3Np emUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19YU1RBVEVfWU1N XSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRFX1lNTV0p OworICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfb2Zmc2V0c1tYODZfWENSMF9ZTU1f UE9TXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplc1tYODZfWENSMF9Z TU1fUE9TXSk7CiAgICAgfQogCiAgICAgaWYgKCBwLT5mZWF0Lm1weCApCiAgICAgewotICAgICAg ICB4c3RhdGVzIHw9IFhTVEFURV9CTkRSRUdTIHwgWFNUQVRFX0JORENTUjsKKyAgICAgICAgeHN0 YXRlcyB8PSBYODZfWENSMF9CTkRSRUdTIHwgWDg2X1hDUjBfQk5EQ1NSOwogICAgICAgICB4c3Rh dGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0 YXRlX29mZnNldHNbX1hTVEFURV9CTkRDU1JdICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg eHN0YXRlX3NpemVzW19YU1RBVEVfQk5EQ1NSXSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg IHhzdGF0ZV9vZmZzZXRzW1g4Nl9YQ1IwX0JORENTUl9QT1NdICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgeHN0YXRlX3NpemVzW1g4Nl9YQ1IwX0JORENTUl9QT1NdKTsKICAgICB9CiAKICAg ICBpZiAoIHAtPmZlYXQuYXZ4NTEyZiApCiAgICAgewotICAgICAgICB4c3RhdGVzIHw9IFhTVEFU RV9PUE1BU0sgfCBYU1RBVEVfWk1NIHwgWFNUQVRFX0hJX1pNTTsKKyAgICAgICAgeHN0YXRlcyB8 PSBYODZfWENSMF9PUE1BU0sgfCBYODZfWENSMF9aTU0gfCBYODZfWENSMF9ISV9aTU07CiAgICAg ICAgIHhzdGF0ZV9zaXplID0gbWF4KHhzdGF0ZV9zaXplLAotICAgICAgICAgICAgICAgICAgICAg ICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0hJX1pNTV0gKwotICAgICAgICAgICAgICAgICAg ICAgICAgICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9ISV9aTU1dKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgeHN0YXRlX29mZnNldHNbWDg2X1hDUjBfSElfWk1NX1BPU10gKworICAgICAgICAg ICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbWDg2X1hDUjBfSElfWk1NX1BPU10pOwogICAg IH0KIAogICAgIGlmICggcC0+ZmVhdC5wa3UgKQogICAgIHsKLSAgICAgICAgeHN0YXRlcyB8PSBY U1RBVEVfUEtSVTsKKyAgICAgICAgeHN0YXRlcyB8PSBYODZfWENSMF9QS1JVOwogICAgICAgICB4 c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg eHN0YXRlX29mZnNldHNbX1hTVEFURV9QS1JVXSArCi0gICAgICAgICAgICAgICAgICAgICAgICAg IHhzdGF0ZV9zaXplc1tfWFNUQVRFX1BLUlVdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg eHN0YXRlX29mZnNldHNbWDg2X1hDUjBfUEtSVV9QT1NdICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgeHN0YXRlX3NpemVzW1g4Nl9YQ1IwX1BLUlVfUE9TXSk7CiAgICAgfQogCiAgICAgaWYg KCBwLT5leHRkLmx3cCApCiAgICAgewotICAgICAgICB4c3RhdGVzIHw9IFhTVEFURV9MV1A7Cisg ICAgICAgIHhzdGF0ZXMgfD0gWDg2X1hDUjBfTFdQOwogICAgICAgICB4c3RhdGVfc2l6ZSA9IG1h eCh4c3RhdGVfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX29mZnNldHNb X1hTVEFURV9MV1BdICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19Y U1RBVEVfTFdQXSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW1g4 Nl9YQ1IwX0xXUF9QT1NdICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVz W1g4Nl9YQ1IwX0xXUF9QT1NdKTsKICAgICB9CiAKICAgICBwLT54c3RhdGUubWF4X3NpemUgID0g IHhzdGF0ZV9zaXplOwpAQCAtMTAxNiw3ICsxMDE2LDcgQEAgdm9pZCBndWVzdF9jcHVpZChjb25z dCBzdHJ1Y3QgdmNwdSAqdiwgdQogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHg4MDAwMDAx YzoKLSAgICAgICAgaWYgKCAodi0+YXJjaC54Y3IwICYgWFNUQVRFX0xXUCkgJiYgY3B1X2hhc19z dm0gKQorICAgICAgICBpZiAoICh2LT5hcmNoLnhjcjAgJiBYODZfWENSMF9MV1ApICYmIGNwdV9o YXNfc3ZtICkKICAgICAgICAgICAgIC8qIFR1cm4gb24gYXZhaWxhYmxlIGJpdCBhbmQgb3RoZXIg ZmVhdHVyZXMgc3BlY2lmaWVkIGluIGx3cF9jZmcuICovCiAgICAgICAgICAgICByZXMtPmEgPSAo cmVzLT5kICYgdi0+YXJjaC5odm1fc3ZtLmd1ZXN0X2x3cF9jZmcpIHwgMTsKICAgICAgICAgYnJl YWs7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vZW11bGF0ZS5jCkBAIC0xODgyLDggKzE4ODIsOCBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZ2V0 X2ZwdSgKICAgICBjYXNlIFg4NkVNVUxfRlBVX3htbToKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz ZSBYODZFTVVMX0ZQVV95bW06Ci0gICAgICAgIGlmICggIShjdXJyLT5hcmNoLnhjcjAgJiBYU1RB VEVfU1NFKSB8fAotICAgICAgICAgICAgICEoY3Vyci0+YXJjaC54Y3IwICYgWFNUQVRFX1lNTSkg KQorICAgICAgICBpZiAoICEoY3Vyci0+YXJjaC54Y3IwICYgWDg2X1hDUjBfU1NFKSB8fAorICAg ICAgICAgICAgICEoY3Vyci0+YXJjaC54Y3IwICYgWDg2X1hDUjBfWU1NKSApCiAgICAgICAgICAg ICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1 bHQ6Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9o dm0uYwpAQCAtMzE4LDcgKzMxOCw3IEBAIGJvb2wgaHZtX3NldF9ndWVzdF9ibmRjZmdzKHN0cnVj dCB2Y3B1ICoKICAgICAgKiBlbmFibGVkIGluIEJORENGR1MuCiAgICAgICovCiAgICAgaWYgKCAo dmFsICYgSUEzMl9CTkRDRkdTX0VOQUJMRSkgJiYKLSAgICAgICAgICEodi0+YXJjaC54Y3IwX2Fj Y3VtICYgKFhTVEFURV9CTkRSRUdTIHwgWFNUQVRFX0JORENTUikpICkKKyAgICAgICAgICEodi0+ YXJjaC54Y3IwX2FjY3VtICYgKFg4Nl9YQ1IwX0JORFJFR1MgfCBYODZfWENSMF9CTkRDU1IpKSAp CiAgICAgewogICAgICAgICB1aW50NjRfdCB4Y3IwID0gZ2V0X3hjcjAoKTsKICAgICAgICAgaW50 IHJjOwpAQCAtMzI3LDcgKzMyNyw3IEBAIGJvb2wgaHZtX3NldF9ndWVzdF9ibmRjZmdzKHN0cnVj dCB2Y3B1ICoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICByYyA9IGhhbmRs ZV94c2V0YnYoWENSX1hGRUFUVVJFX0VOQUJMRURfTUFTSywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHhjcjAgfCBYU1RBVEVfQk5EUkVHUyB8IFhTVEFURV9CTkRDU1IpOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGNyMCB8IFg4Nl9YQ1IwX0JORFJFR1MgfCBYODZfWENSMF9CTkRD U1IpOwogCiAgICAgICAgIGlmICggcmMgKQogICAgICAgICB7CkBAIC0yNDA5LDEwICsyNDA5LDEw IEBAIGludCBodm1fc2V0X2NyNCh1bnNpZ25lZCBsb25nIHZhbHVlLCBib28KICAgICAgKiBndWVz dCBtYXkgZW5hYmxlIHRoZSBmZWF0dXJlIGluIENSNCB3aXRob3V0IGVuYWJsaW5nIGl0IGluIFhD UjAuIFdlCiAgICAgICogbmVlZCB0byBjb250ZXh0IHN3aXRjaCAvIG1pZ3JhdGUgUEtSVSBuZXZl cnRoZWxlc3MuCiAgICAgICovCi0gICAgaWYgKCAodmFsdWUgJiBYODZfQ1I0X1BLRSkgJiYgISh2 LT5hcmNoLnhjcjBfYWNjdW0gJiBYU1RBVEVfUEtSVSkgKQorICAgIGlmICggKHZhbHVlICYgWDg2 X0NSNF9QS0UpICYmICEodi0+YXJjaC54Y3IwX2FjY3VtICYgWDg2X1hDUjBfUEtSVSkgKQogICAg IHsKICAgICAgICAgaW50IHJjID0gaGFuZGxlX3hzZXRidihYQ1JfWEZFQVRVUkVfRU5BQkxFRF9N QVNLLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF94Y3IwKCkgfCBYU1RBVEVf UEtSVSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3hjcjAoKSB8IFg4Nl9Y Q1IwX1BLUlUpOwogCiAgICAgICAgIGlmICggcmMgKQogICAgICAgICB7CkBAIC0yNDIxLDcgKzI0 MjEsNyBAQCBpbnQgaHZtX3NldF9jcjQodW5zaWduZWQgbG9uZyB2YWx1ZSwgYm9vCiAgICAgICAg IH0KIAogICAgICAgICBpZiAoIGhhbmRsZV94c2V0YnYoWENSX1hGRUFUVVJFX0VOQUJMRURfTUFT SywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF94Y3IwKCkgJiB+WFNUQVRFX1BLUlUp ICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF94Y3IwKCkgJiB+WDg2X1hDUjBfUEtS VSkgKQogICAgICAgICAgICAgLyogbm90aGluZywgYmVzdCBlZmZvcnQgb25seSAqLzsKICAgICB9 CiAKQEAgLTM4OTAsNyArMzg5MCw3IEBAIHZvaWQgaHZtX3ZjcHVfcmVzZXRfc3RhdGUoc3RydWN0 IHZjcHUgKnYKICAgICBmcHVfY3R4dC0+bXhjc3IgPSBNWENTUl9ERUZBVUxUOwogICAgIGlmICgg di0+YXJjaC54c2F2ZV9hcmVhICkKICAgICB7Ci0gICAgICAgIHYtPmFyY2gueHNhdmVfYXJlYS0+ eHNhdmVfaGRyLnhzdGF0ZV9idiA9IFhTVEFURV9GUDsKKyAgICAgICAgdi0+YXJjaC54c2F2ZV9h cmVhLT54c2F2ZV9oZHIueHN0YXRlX2J2ID0gWDg2X1hDUjBfRlA7CiAgICAgICAgIHYtPmFyY2gu eHNhdmVfYXJlYS0+eHNhdmVfaGRyLnhjb21wX2J2ID0gMDsKICAgICB9CiAKLS0tIGEveGVuL2Fy Y2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9l bXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTIxNTcsNyArMjE1Nyw3IEBAIHN0YXRpYyB2b2lkIGFk anVzdF9ibmQoc3RydWN0IHg4Nl9lbXVsYXQKICAgICAgICAgICogKGluIHdoaWNoIGNhc2UgZXhl Y3V0aW5nIGFueSBzdWl0YWJsZSBub24tcHJlZml4ZWQgYnJhbmNoCiAgICAgICAgICAqIGluc3Ry dWN0aW9uIHdvdWxkIGRvKSwgb3IgdXNlIFhSU1RPUi4KICAgICAgICAgICovCi0gICAgICAgIHhz dGF0ZV9zZXRfaW5pdChYU1RBVEVfQk5EUkVHUyk7CisgICAgICAgIHhzdGF0ZV9zZXRfaW5pdChY ODZfWENSMF9CTkRSRUdTKTsKICAgICB9CiAgZG9uZTo7CiB9Ci0tLSBhL3hlbi9hcmNoL3g4Ni94 c3RhdGUuYworKysgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKQEAgLTMwNCw3ICszMDQsNyBAQCB2 b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiPW0iICgqcHRyKSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImEi IChsbWFzayksICJkIiAoaG1hc2spLCAiRCIgKHB0cikpCiAKLSAgICBpZiAoIGZpcF93aWR0aCA9 PSA4IHx8ICEobWFzayAmIFhTVEFURV9GUCkgKQorICAgIGlmICggZmlwX3dpZHRoID09IDggfHwg IShtYXNrICYgWDg2X1hDUjBfRlApICkKICAgICB7CiAgICAgICAgIFhTQVZFKCIweDQ4LCIpOwog ICAgIH0KQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50 NjRfdCBtYXNrCiAgICAgICAgICAgICBmaXBfd2lkdGggPSA4OwogICAgIH0KICN1bmRlZiBYU0FW RQotICAgIGlmICggbWFzayAmIFhTVEFURV9GUCApCisgICAgaWYgKCBtYXNrICYgWDg2X1hDUjBf RlAgKQogICAgICAgICBwdHItPmZwdV9zc2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPSBmaXBf d2lkdGg7CiB9CiAKQEAgLTM3NSw3ICszNzUsNyBAQCB2b2lkIHhyc3RvcihzdHJ1Y3QgdmNwdSAq diwgdWludDY0X3QgbWFzCiAgICAgICogc29tZXRpbWVzIG5ldyB1c2VyIHZhbHVlLiBCb3RoIHNo b3VsZCBiZSBvay4gVXNlIHRoZSBGUFUgc2F2ZWQKICAgICAgKiBkYXRhIGJsb2NrIGFzIGEgc2Fm ZSBhZGRyZXNzIGJlY2F1c2UgaXQgc2hvdWxkIGJlIGluIEwxLgogICAgICAqLwotICAgIGlmICgg KG1hc2sgJiBwdHItPnhzYXZlX2hkci54c3RhdGVfYnYgJiBYU1RBVEVfRlApICYmCisgICAgaWYg KCAobWFzayAmIHB0ci0+eHNhdmVfaGRyLnhzdGF0ZV9idiAmIFg4Nl9YQ1IwX0ZQKSAmJgogICAg ICAgICAgIShwdHItPmZwdV9zc2UuZnN3ICYgfnB0ci0+ZnB1X3NzZS5mY3cgJiAweDAwM2YpICYm CiAgICAgICAgICBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgKQog ICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5jbGV4XG5cdCIgICAgICAgIC8qIGNsZWFyIGV4Y2Vw dGlvbnMgKi8KQEAgLTQ1MSw4ICs0NTEsOCBAQCB2b2lkIHhyc3RvcihzdHJ1Y3QgdmNwdSAqdiwg dWludDY0X3QgbWFzCiAgICAgICAgICAgICAgKiBBbHNvIHRyeSB0byBlbGltaW5hdGUgZmF1bHQg cmVhc29ucywgZXZlbiBpZiB0aGlzIHNob3VsZG4ndCBiZQogICAgICAgICAgICAgICogbmVlZGVk IGhlcmUgKG90aGVyIGNvZGUgc2hvdWxkIGVuc3VyZSB0aGUgc2FuaXR5IG9mIHRoZSBkYXRhKS4K ICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYgKCAoKG1hc2sgJiBYU1RBVEVfU1NFKSB8 fAotICAgICAgICAgICAgICAgICAgKChtYXNrICYgWFNUQVRFX1lNTSkgJiYKKyAgICAgICAgICAg IGlmICggKChtYXNrICYgWDg2X1hDUjBfU1NFKSB8fAorICAgICAgICAgICAgICAgICAgKChtYXNr ICYgWDg2X1hDUjBfWU1NKSAmJgogICAgICAgICAgICAgICAgICAgICEocHRyLT54c2F2ZV9oZHIu eGNvbXBfYnYgJiBYU1RBVEVfQ09NUEFDVElPTl9FTkFCTEVEKSkpICkKICAgICAgICAgICAgICAg ICBwdHItPmZwdV9zc2UubXhjc3IgJj0gbXhjc3JfbWFzazsKICAgICAgICAgICAgIGlmICggdi0+ YXJjaC54Y3IwX2FjY3VtICYgWFNUQVRFX1hTQVZFU19PTkxZICkKQEAgLTU5NSw3ICs1OTUsNyBA QCB2b2lkIHhzdGF0ZV9pbml0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKICAgICBjcHVpZF9jb3Vu dChYU1RBVEVfQ1BVSUQsIDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwogCiAgICAgQlVHX09O KChlYXggJiBYU1RBVEVfRlBfU1NFKSAhPSBYU1RBVEVfRlBfU1NFKTsKLSAgICBCVUdfT04oKGVh eCAmIFhTVEFURV9ZTU0pICYmICEoZWF4ICYgWFNUQVRFX1NTRSkpOworICAgIEJVR19PTigoZWF4 ICYgWDg2X1hDUjBfWU1NKSAmJiAhKGVheCAmIFg4Nl9YQ1IwX1NTRSkpOwogICAgIGZlYXR1cmVf bWFzayA9ICgoKHU2NCllZHggPDwgMzIpIHwgZWF4KSAmIFhDTlRYVF9NQVNLOwogCiAgICAgLyoK QEAgLTY0OCwyNiArNjQ4LDI2IEBAIHZvaWQgeHN0YXRlX2luaXQoc3RydWN0IGNwdWluZm9feDg2 ICpjKQogc3RhdGljIGJvb2wgdmFsaWRfeGNyMCh1NjQgeGNyMCkKIHsKICAgICAvKiBGUCBtdXN0 IGJlIHVuY29uZGl0aW9uYWxseSBzZXQuICovCi0gICAgaWYgKCAhKHhjcjAgJiBYU1RBVEVfRlAp ICkKKyAgICBpZiAoICEoeGNyMCAmIFg4Nl9YQ1IwX0ZQKSApCiAgICAgICAgIHJldHVybiBmYWxz ZTsKIAogICAgIC8qIFlNTSBkZXBlbmRzIG9uIFNTRS4gKi8KLSAgICBpZiAoICh4Y3IwICYgWFNU QVRFX1lNTSkgJiYgISh4Y3IwICYgWFNUQVRFX1NTRSkgKQorICAgIGlmICggKHhjcjAgJiBYODZf WENSMF9ZTU0pICYmICEoeGNyMCAmIFg4Nl9YQ1IwX1NTRSkgKQogICAgICAgICByZXR1cm4gZmFs c2U7CiAKLSAgICBpZiAoIHhjcjAgJiAoWFNUQVRFX09QTUFTSyB8IFhTVEFURV9aTU0gfCBYU1RB VEVfSElfWk1NKSApCisgICAgaWYgKCB4Y3IwICYgKFg4Nl9YQ1IwX09QTUFTSyB8IFg4Nl9YQ1Iw X1pNTSB8IFg4Nl9YQ1IwX0hJX1pNTSkgKQogICAgIHsKICAgICAgICAgLyogT1BNQVNLLCBaTU0s IGFuZCBISV9aTU0gcmVxdWlyZSBZTU0uICovCi0gICAgICAgIGlmICggISh4Y3IwICYgWFNUQVRF X1lNTSkgKQorICAgICAgICBpZiAoICEoeGNyMCAmIFg4Nl9YQ1IwX1lNTSkgKQogICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIC8qIE9QTUFTSywgWk1NLCBhbmQgSElfWk1NIG11 c3QgYmUgdGhlIHNhbWUuICovCi0gICAgICAgIGlmICggfnhjcjAgJiAoWFNUQVRFX09QTUFTSyB8 IFhTVEFURV9aTU0gfCBYU1RBVEVfSElfWk1NKSApCisgICAgICAgIGlmICggfnhjcjAgJiAoWDg2 X1hDUjBfT1BNQVNLIHwgWDg2X1hDUjBfWk1NIHwgWDg2X1hDUjBfSElfWk1NKSApCiAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgLyogQk5EUkVHUyBhbmQgQk5EQ1NSIG11 c3QgYmUgdGhlIHNhbWUuICovCi0gICAgcmV0dXJuICEoeGNyMCAmIFhTVEFURV9CTkRSRUdTKSA9 PSAhKHhjcjAgJiBYU1RBVEVfQk5EQ1NSKTsKKyAgICByZXR1cm4gISh4Y3IwICYgWDg2X1hDUjBf Qk5EUkVHUykgPT0gISh4Y3IwICYgWDg2X1hDUjBfQk5EQ1NSKTsKIH0KIAogaW50IHZhbGlkYXRl X3hzdGF0ZSh1NjQgeGNyMCwgdTY0IHhjcjBfYWNjdW0sIGNvbnN0IHN0cnVjdCB4c2F2ZV9oZHIg KmhkcikKQEAgLTcwMyw3ICs3MDMsNyBAQCBpbnQgaGFuZGxlX3hzZXRidih1MzIgaW5kZXgsIHU2 NCBuZXdfYnYpCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAgICAgLyogWENSMC5QS1JVIGlz IGRpc2FibGVkIG9uIFBWIG1vZGUuICovCi0gICAgaWYgKCBpc19wdl92Y3B1KGN1cnIpICYmIChu ZXdfYnYgJiBYU1RBVEVfUEtSVSkgKQorICAgIGlmICggaXNfcHZfdmNwdShjdXJyKSAmJiAobmV3 X2J2ICYgWDg2X1hDUjBfUEtSVSkgKQogICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CiAKICAg ICBpZiAoICFzZXRfeGNyMChuZXdfYnYpICkKQEAgLTcxNCw3ICs3MTQsNyBAQCBpbnQgaGFuZGxl X3hzZXRidih1MzIgaW5kZXgsIHU2NCBuZXdfYnYpCiAgICAgY3Vyci0+YXJjaC54Y3IwX2FjY3Vt IHw9IG5ld19idjsKIAogICAgIC8qIExXUCBzZXRzIG5vbmxhenlfeHN0YXRlX3VzZWQgaW5kZXBl bmRlbnRseS4gKi8KLSAgICBpZiAoIG5ld19idiAmIChYU1RBVEVfTk9OTEFaWSAmIH5YU1RBVEVf TFdQKSApCisgICAgaWYgKCBuZXdfYnYgJiAoWFNUQVRFX05PTkxBWlkgJiB+WDg2X1hDUjBfTFdQ KSApCiAgICAgICAgIGN1cnItPmFyY2gubm9ubGF6eV94c3RhdGVfdXNlZCA9IDE7CiAKICAgICBt YXNrICY9IGN1cnItPmZwdV9kaXJ0aWVkID8gflhTVEFURV9GUF9TU0UgOiBYU1RBVEVfTk9OTEFa WTsKQEAgLTc1NSw3ICs3NTUsNyBAQCB1aW50NjRfdCByZWFkX2JuZGNmZ3Uodm9pZCkKICAgICB7 CiAgICAgICAgIGFzbSAoICIuYnl0ZSAweDBmLDB4YzcsMHgyN1xuIiAvKiB4c2F2ZWMgKi8KICAg ICAgICAgICAgICAgOiAiPW0iICgqeHN0YXRlKQotICAgICAgICAgICAgICA6ICJhIiAoWFNUQVRF X0JORENTUiksICJkIiAoMCksICJEIiAoeHN0YXRlKSApOworICAgICAgICAgICAgICA6ICJhIiAo WDg2X1hDUjBfQk5EQ1NSKSwgImQiICgwKSwgIkQiICh4c3RhdGUpICk7CiAKICAgICAgICAgYm5k Y3NyID0gKHZvaWQgKikoeHN0YXRlICsgMSk7CiAgICAgfQpAQCAtNzYzLDE1ICs3NjMsMTUgQEAg dWludDY0X3QgcmVhZF9ibmRjZmd1KHZvaWQpCiAgICAgewogICAgICAgICBhc20gKCAiLmJ5dGUg MHgwZiwweGFlLDB4MjdcbiIgLyogeHNhdmUgKi8KICAgICAgICAgICAgICAgOiAiPW0iICgqeHN0 YXRlKQotICAgICAgICAgICAgICA6ICJhIiAoWFNUQVRFX0JORENTUiksICJkIiAoMCksICJEIiAo eHN0YXRlKSApOworICAgICAgICAgICAgICA6ICJhIiAoWDg2X1hDUjBfQk5EQ1NSKSwgImQiICgw KSwgIkQiICh4c3RhdGUpICk7CiAKLSAgICAgICAgYm5kY3NyID0gKHZvaWQgKil4c3RhdGUgKyB4 c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0JORENTUl07CisgICAgICAgIGJuZGNzciA9ICh2b2lkICop eHN0YXRlICsgeHN0YXRlX29mZnNldHNbWDg2X1hDUjBfQk5EQ1NSX1BPU107CiAgICAgfQogCiAg ICAgaWYgKCBjcjAgJiBYODZfQ1IwX1RTICkKICAgICAgICAgd3JpdGVfY3IwKGNyMCk7CiAKLSAg ICByZXR1cm4geHN0YXRlLT54c2F2ZV9oZHIueHN0YXRlX2J2ICYgWFNUQVRFX0JORENTUiA/IGJu ZGNzci0+Ym5kY2ZndSA6IDA7CisgICAgcmV0dXJuIHhzdGF0ZS0+eHNhdmVfaGRyLnhzdGF0ZV9i diAmIFg4Nl9YQ1IwX0JORENTUiA/IGJuZGNzci0+Ym5kY2ZndSA6IDA7CiB9CiAKIHZvaWQgeHN0 YXRlX3NldF9pbml0KHVpbnQ2NF90IG1hc2spCi0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2 LWRlZm5zLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODYtZGVmbnMuaApAQCAtNjYsNCAr NjYsMjggQEAKICNkZWZpbmUgWDg2X0NSNF9TTUFQICAgICAgIDB4MDAyMDAwMDAgLyogZW5hYmxl IFNNQVAgKi8KICNkZWZpbmUgWDg2X0NSNF9QS0UgICAgICAgIDB4MDA0MDAwMDAgLyogZW5hYmxl IFBLRSAqLwogCisvKgorICogWFNUQVRFIGNvbXBvbmVudCBmbGFncyBpbiBYQ1IwCisgKi8KKyNk ZWZpbmUgWDg2X1hDUjBfRlBfUE9TICAgICAgICAgICAwCisjZGVmaW5lIFg4Nl9YQ1IwX0ZQICAg ICAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfRlBfUE9TKQorI2RlZmluZSBYODZfWENSMF9T U0VfUE9TICAgICAgICAgIDEKKyNkZWZpbmUgWDg2X1hDUjBfU1NFICAgICAgICAgICAgICAoMVVM TCA8PCBYODZfWENSMF9TU0VfUE9TKQorI2RlZmluZSBYODZfWENSMF9ZTU1fUE9TICAgICAgICAg IDIKKyNkZWZpbmUgWDg2X1hDUjBfWU1NICAgICAgICAgICAgICAoMVVMTCA8PCBYODZfWENSMF9Z TU1fUE9TKQorI2RlZmluZSBYODZfWENSMF9CTkRSRUdTX1BPUyAgICAgIDMKKyNkZWZpbmUgWDg2 X1hDUjBfQk5EUkVHUyAgICAgICAgICAoMVVMTCA8PCBYODZfWENSMF9CTkRSRUdTX1BPUykKKyNk ZWZpbmUgWDg2X1hDUjBfQk5EQ1NSX1BPUyAgICAgICA0CisjZGVmaW5lIFg4Nl9YQ1IwX0JORENT UiAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfQk5EQ1NSX1BPUykKKyNkZWZpbmUgWDg2X1hD UjBfT1BNQVNLX1BPUyAgICAgICA1CisjZGVmaW5lIFg4Nl9YQ1IwX09QTUFTSyAgICAgICAgICAg KDFVTEwgPDwgWDg2X1hDUjBfT1BNQVNLX1BPUykKKyNkZWZpbmUgWDg2X1hDUjBfWk1NX1BPUyAg ICAgICAgICA2CisjZGVmaW5lIFg4Nl9YQ1IwX1pNTSAgICAgICAgICAgICAgKDFVTEwgPDwgWDg2 X1hDUjBfWk1NX1BPUykKKyNkZWZpbmUgWDg2X1hDUjBfSElfWk1NX1BPUyAgICAgICA3CisjZGVm aW5lIFg4Nl9YQ1IwX0hJX1pNTSAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfSElfWk1NX1BP UykKKyNkZWZpbmUgWDg2X1hDUjBfUEtSVV9QT1MgICAgICAgICA5CisjZGVmaW5lIFg4Nl9YQ1Iw X1BLUlUgICAgICAgICAgICAgKDFVTEwgPDwgWDg2X1hDUjBfUEtSVV9QT1MpCisjZGVmaW5lIFg4 Nl9YQ1IwX0xXUF9QT1MgICAgICAgICAgNjIKKyNkZWZpbmUgWDg2X1hDUjBfTFdQICAgICAgICAg ICAgICAoMVVMTCA8PCBYODZfWENSMF9MV1BfUE9TKQorCiAjZW5kaWYJLyogX19YRU5fWDg2X0RF Rk5TX0hfXyAqLwotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3hzdGF0ZS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYveHN0YXRlLmgKQEAgLTEwLDYgKzEwLDcgQEAKIAogI2luY2x1ZGUgPHhl bi9zY2hlZC5oPgogI2luY2x1ZGUgPGFzbS9jcHVmZWF0dXJlLmg+CisjaW5jbHVkZSA8YXNtL3g4 Ni1kZWZucy5oPgogCiAjZGVmaW5lIEZDV19ERUZBVUxUICAgICAgICAgICAgICAgMHgwMzdmCiAj ZGVmaW5lIEZDV19SRVNFVCAgICAgICAgICAgICAgICAgMHgwMDQwCkBAIC0yOCwzNCArMjksMTQg QEAgZXh0ZXJuIHVpbnQzMl90IG14Y3NyX21hc2s7CiAjZGVmaW5lIFhTQVZFX0hEUl9PRkZTRVQg ICAgICAgICAgRlhTQVZFX1NJWkUKICNkZWZpbmUgWFNUQVRFX0FSRUFfTUlOX1NJWkUgICAgICAo RlhTQVZFX1NJWkUgKyBYU0FWRV9IRFJfU0laRSkKIAotI2RlZmluZSBfWFNUQVRFX0ZQICAgICAg ICAgICAgICAgIDAKLSNkZWZpbmUgWFNUQVRFX0ZQICAgICAgICAgICAgICAgICAoMVVMTCA8PCBf WFNUQVRFX0ZQKQotI2RlZmluZSBfWFNUQVRFX1NTRSAgICAgICAgICAgICAgIDEKLSNkZWZpbmUg WFNUQVRFX1NTRSAgICAgICAgICAgICAgICAoMVVMTCA8PCBfWFNUQVRFX1NTRSkKLSNkZWZpbmUg X1hTVEFURV9ZTU0gICAgICAgICAgICAgICAyCi0jZGVmaW5lIFhTVEFURV9ZTU0gICAgICAgICAg ICAgICAgKDFVTEwgPDwgX1hTVEFURV9ZTU0pCi0jZGVmaW5lIF9YU1RBVEVfQk5EUkVHUyAgICAg ICAgICAgMwotI2RlZmluZSBYU1RBVEVfQk5EUkVHUyAgICAgICAgICAgICgxVUxMIDw8IF9YU1RB VEVfQk5EUkVHUykKLSNkZWZpbmUgX1hTVEFURV9CTkRDU1IgICAgICAgICAgICA0Ci0jZGVmaW5l IFhTVEFURV9CTkRDU1IgICAgICAgICAgICAgKDFVTEwgPDwgX1hTVEFURV9CTkRDU1IpCi0jZGVm aW5lIF9YU1RBVEVfT1BNQVNLICAgICAgICAgICAgNQotI2RlZmluZSBYU1RBVEVfT1BNQVNLICAg ICAgICAgICAgICgxVUxMIDw8IF9YU1RBVEVfT1BNQVNLKQotI2RlZmluZSBfWFNUQVRFX1pNTSAg ICAgICAgICAgICAgIDYKLSNkZWZpbmUgWFNUQVRFX1pNTSAgICAgICAgICAgICAgICAoMVVMTCA8 PCBfWFNUQVRFX1pNTSkKLSNkZWZpbmUgX1hTVEFURV9ISV9aTU0gICAgICAgICAgICA3Ci0jZGVm aW5lIFhTVEFURV9ISV9aTU0gICAgICAgICAgICAgKDFVTEwgPDwgX1hTVEFURV9ISV9aTU0pCi0j ZGVmaW5lIF9YU1RBVEVfUEtSVSAgICAgICAgICAgICAgOQotI2RlZmluZSBYU1RBVEVfUEtSVSAg ICAgICAgICAgICAgICgxVUxMIDw8IF9YU1RBVEVfUEtSVSkKLSNkZWZpbmUgX1hTVEFURV9MV1Ag ICAgICAgICAgICAgICA2MgotI2RlZmluZSBYU1RBVEVfTFdQICAgICAgICAgICAgICAgICgxVUxM IDw8IF9YU1RBVEVfTFdQKQotCi0jZGVmaW5lIFhTVEFURV9GUF9TU0UgIChYU1RBVEVfRlAgfCBY U1RBVEVfU1NFKQotI2RlZmluZSBYQ05UWFRfTUFTSyAgICAoWFNUQVRFX0ZQIHwgWFNUQVRFX1NT RSB8IFhTVEFURV9ZTU0gfCBYU1RBVEVfT1BNQVNLIHwgXAotICAgICAgICAgICAgICAgICAgICAg ICAgWFNUQVRFX1pNTSB8IFhTVEFURV9ISV9aTU0gfCBYU1RBVEVfTk9OTEFaWSkKKyNkZWZpbmUg WFNUQVRFX0ZQX1NTRSAgKFg4Nl9YQ1IwX0ZQIHwgWDg2X1hDUjBfU1NFKQorI2RlZmluZSBYQ05U WFRfTUFTSyAgICAoWDg2X1hDUjBfRlAgfCBYODZfWENSMF9TU0UgfCBYODZfWENSMF9ZTU0gfCBc CisgICAgICAgICAgICAgICAgICAgICAgICBYODZfWENSMF9PUE1BU0sgfCBYODZfWENSMF9aTU0g fCBYODZfWENSMF9ISV9aTU0gfCBcCisgICAgICAgICAgICAgICAgICAgICAgICBYU1RBVEVfTk9O TEFaWSkKIAogI2RlZmluZSBYU1RBVEVfQUxMICAgICAofigxVUxMIDw8IDYzKSkKLSNkZWZpbmUg WFNUQVRFX05PTkxBWlkgKFhTVEFURV9MV1AgfCBYU1RBVEVfQk5EUkVHUyB8IFhTVEFURV9CTkRD U1IgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICBYU1RBVEVfUEtSVSkKKyNkZWZpbmUgWFNU QVRFX05PTkxBWlkgKFg4Nl9YQ1IwX0xXUCB8IFg4Nl9YQ1IwX0JORFJFR1MgfCBYODZfWENSMF9C TkRDU1IgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICBYODZfWENSMF9QS1JVKQogI2RlZmlu ZSBYU1RBVEVfTEFaWSAgICAoWFNUQVRFX0FMTCAmIH5YU1RBVEVfTk9OTEFaWSkKICNkZWZpbmUg WFNUQVRFX1hTQVZFU19PTkxZICAgICAgICAgMAogI2RlZmluZSBYU1RBVEVfQ09NUEFDVElPTl9F TkFCTEVEICAoMVVMTCA8PCA2MykKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==