From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 11/17] x86: modify interrupt handlers to support stack switching Date: Fri, 9 Feb 2018 15:01:45 +0100 Message-ID: <20180209140151.24714-12-jgross@suse.com> References: <20180209140151.24714-1-jgross@suse.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 1ek9Fd-0003Ci-KG for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:02:05 +0000 In-Reply-To: <20180209140151.24714-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org TW9kaWZ5IHRoZSBpbnRlcnJ1cHQgaGFuZGxlcnMgdG8gc3dpdGNoIHN0YWNrcyBvbiBpbnRlcnJ1 cHQgZW50cnkgaW4KY2FzZSB0aGV5IGFyZSBydW5uaW5nIG9uIGEgcGVyLXZjcHUgc3RhY2suIFNh bWUgYXBwbGllcyB0byByZXR1cm5pbmcKdG8gdGhlIGd1ZXN0OiBpbiBjYXNlIHRoZSB0byBiZSBs b2FkZWQgY29udGV4dCBpcyBsb2NhdGVkIG9uIGEKcGVyLXZjcHUgc3RhY2sgc3dpdGNoIHRvIHRo aXMgb25lIGJlZm9yZSByZXR1cm5pbmcgdG8gdGhlIGd1ZXN0LgoKVGhlIE5NSSBhbmQgTUNFIGlu dGVycnVwdCBoYW5kbGVycyBzaGFyZSBtb3N0IG9mIHRoZWlyIGNvZGUgdG9kYXkuIFVzZQp0aGUg Y29tbW9uIHBhcnQgb25seSBhZnRlciBzd2l0Y2hpbmcgc3RhY2tzIGFzIHRoaXMgd2lsbCBlbmFi bGUgdXMKY2FsY3VsYXRpbmcgdGhlIGNvcnJlY3Qgc3RhY2sgYWRkcmVzcyBtb3N0bHkgYXQgYnVp bGQgdGltZSBpbnN0ZWFkIG9mCmRvaW5nIGl0IGFsbCBhdCBydW50aW1lLgoKZ3Vlc3RfY3B1X3Vz ZXJfcmVncygpIGlzIG1vZGlmaWVkIHRvIGFsd2F5cyByZXR1cm4gdGhlIGNvcnJlY3QKdXNlciBy ZWdpc3RlcnMgYWRkcmVzcywgZWl0aGVyIGxpa2UgdG9kYXkgdGhlIG9uZSBvZiB0aGUgcGVyIHBo eXNpY2FsCmNwdSBzdGFjaywgb3IgdGhhdCBvZiB0aGUgcGVyLXZjcHUgc3RhY2suIERlcGVuZGlu ZyBvbiB0aGUgdXNhZ2Ugc29tZQpjYWxsZXJzIG9mIGd1ZXN0X2NwdV91c2VyX3JlZ3MoKSBuZWVk IHRvIGJlIGFkYXB0ZWQgdG8gdXNlCmdldF9jcHVfaW5mbygpIGluc3RlYWQuCgpTaWduZWQtb2Zm LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQpWMzoKLSByZXdvcmsgU1dJ VENIX0ZST01fVkNQVV9TVEFDS19JU1QgdG8gdGFrZSB0aGUgaXN0IGFzIHBhcmFtZXRlcgotLS0K IHhlbi9hcmNoL3g4Ni9wdi94cHRpLXN0dWIuUyAgICAgICB8ICA0ICsrLS0KIHhlbi9hcmNoL3g4 Ni94ODZfNjQvYXNtLW9mZnNldHMuYyB8ICAyICsrCiB4ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5 LlMgICAgICAgfCAxNCArKysrKysrKysrKystLQogeGVuL2NvbW1vbi93YWl0LmMgICAgICAgICAg ICAgICAgIHwgIDggKysrKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmggICB8 IDE5ICsrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oICAg ICB8IDE1ICsrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCAg IHwgMTIgKysrKysrLS0tLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDE1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi94cHRpLXN0dWIuUyBi L3hlbi9hcmNoL3g4Ni9wdi94cHRpLXN0dWIuUwppbmRleCBlZmExZTNmNjYxLi45MmYyZWY2ZGFj IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYveHB0aS1zdHViLlMKKysrIGIveGVuL2FyY2gv eDg2L3B2L3hwdGktc3R1Yi5TCkBAIC0yNiw3ICsyNiw3IEBAIEVOVFJZKHhwdGlfbHN0YXIpCiAg ICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJzcCkKICAgICAgICAgU0FWRV9BTEwKICAg ICAgICAgbW92ICAgJXJzcCwgJXIxMgotCisgICAgICAgIFNXSVRDSF9GUk9NX1ZDUFVfU1RBQ0sK ICAgICAgICAgc3RpCiAKICAgICAgICAgU1BFQ19DVFJMX0VOVFJZX0ZST01fUFYgLyogUmVxOiAl cjEyPXJlZ3MsICVyc3A9Y3B1aW5mbywgQ2xvYjogYWNkICovCkBAIC00Niw3ICs0Niw3IEBAIEVO VFJZKHhwdGlfY3N0YXIpCiAgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJzcCkKICAg ICAgICAgU0FWRV9BTEwKICAgICAgICAgbW92cSAgJXJzcCwgJXIxMgotCisgICAgICAgIFNXSVRD SF9GUk9NX1ZDUFVfU1RBQ0sKICAgICAgICAgc3RpCiAKICAgICAgICAgU1BFQ19DVFJMX0VOVFJZ X0ZST01fUFYgLyogUmVxOiAlcjEyPXJlZ3MsICVyc3A9Y3B1aW5mbywgQ2xvYjogYWNkICovCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMgYi94ZW4vYXJjaC94 ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKaW5kZXggY2M3NzUzYzBhOS4uYjAwNjBiZTI2MSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCisrKyBiL3hlbi9hcmNo L3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwpAQCAtMTQxLDYgKzE0MSw4IEBAIHZvaWQgX19kdW1t eV9fKHZvaWQpCiAgICAgT0ZGU0VUKENQVUlORk9fc2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNw dV9pbmZvLCBzaGFkb3dfc3BlY19jdHJsKTsKICAgICBPRkZTRVQoQ1BVSU5GT191c2Vfc2hhZG93 X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCB1c2Vfc2hhZG93X3NwZWNfY3RybCk7CiAgICAg T0ZGU0VUKENQVUlORk9fYnRpX2lzdF9pbmZvLCBzdHJ1Y3QgY3B1X2luZm8sIGJ0aV9pc3RfaW5m byk7CisgICAgT0ZGU0VUKENQVUlORk9fc3RhY2tfYm90dG9tX2NwdSwgc3RydWN0IGNwdV9pbmZv LCBzdGFja19ib3R0b21fY3B1KTsKKyAgICBPRkZTRVQoQ1BVSU5GT19mbGFncywgc3RydWN0IGNw dV9pbmZvLCBmbGFncyk7CiAgICAgREVGSU5FKENQVUlORk9fc2l6ZW9mLCBzaXplb2Yoc3RydWN0 IGNwdV9pbmZvKSk7CiAgICAgQkxBTksoKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4 Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCmluZGV4IDY5NTkwZDBi MTcuLjkwOWY2ZWVhNjYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwor KysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKQEAgLTQ1LDYgKzQ1LDcgQEAgcmVzdG9y ZV9hbGxfZ3Vlc3Q6CiAgICAgICAgIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAq YCBub3Qgc2FmZSBiZXlvbmQgdGhpcyBwb2ludC4gKi8KICAgICAgICAgU1BFQ19DVFJMX0VYSVRf VE9fR1VFU1QgLyogUmVxOiBhPXNwZWNfY3RybCAlcnNwPWNwdWluZm8sIENsb2I6IGNkICovCiAK KyAgICAgICAgU1dJVENIX1RPX1ZDUFVfU1RBQ0sKICAgICAgICAgUkVTVE9SRV9BTEwKICAgICAg ICAgdGVzdHcgJFRSQVBfc3lzY2FsbCw0KCVyc3ApCiAgICAgICAgIGp6ICAgIGlyZXRfZXhpdF90 b19ndWVzdApAQCAtMjAyLDcgKzIwMyw2IEBAIHByb2Nlc3NfdHJhcDoKICAgICAgICAgam1wICB0 ZXN0X2FsbF9ldmVudHMKIAogRU5UUlkoc3lzZW50ZXJfZW50cnkpCi0gICAgICAgIHN0aQogICAg ICAgICBwdXNocSAkRkxBVF9VU0VSX1NTCiAgICAgICAgIHB1c2hxICQwCiAgICAgICAgIHB1c2hm cQpAQCAtMjE0LDYgKzIxNCw4IEBAIEdMT0JBTChzeXNlbnRlcl9lZmxhZ3Nfc2F2ZWQpCiAgICAg ICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJzcCkKICAgICAgICAgU0FWRV9BTEwKICAgICAg ICAgbW92ICAgJXJzcCwgJXIxMgorICAgICAgICBTV0lUQ0hfRlJPTV9WQ1BVX1NUQUNLCisgICAg ICAgIHN0aQogCiAgICAgICAgIFNQRUNfQ1RSTF9FTlRSWV9GUk9NX1BWIC8qIFJlcTogJXIxMj1y ZWdzLCAlcnNwPWNwdWluZm8sIENsb2I6IGFjZCAqLwogICAgICAgICAvKiBXQVJOSU5HISBgcmV0 YCwgYGNhbGwgKmAsIGBqbXAgKmAgbm90IHNhZmUgYmVmb3JlIHRoaXMgcG9pbnQuICovCkBAIC0y NTQsNiArMjU2LDcgQEAgRU5UUlkoaW50ODBfZGlyZWN0X3RyYXApCiAgICAgICAgIG1vdmwgICQw eDgwLCA0KCVyc3ApCiAgICAgICAgIFNBVkVfQUxMCiAgICAgICAgIG1vdiAgICVyc3AsICVyMTIK KyAgICAgICAgU1dJVENIX0ZST01fVkNQVV9TVEFDSwogCiAgICAgICAgIFNQRUNfQ1RSTF9FTlRS WV9GUk9NX1BWIC8qIFJlcTogJXIxMj1yZWdzLCAlcnNwPWNwdWluZm8sIENsb2I6IGFjZCAqLwog ICAgICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAgKmAgbm90IHNhZmUgYmVm b3JlIHRoaXMgcG9pbnQuICovCkBAIC00MjIsNiArNDI1LDcgQEAgRU5UUlkoZG9tX2NyYXNoX3N5 bmNfZXh0YWJsZSkKIEVOVFJZKGNvbW1vbl9pbnRlcnJ1cHQpCiAgICAgICAgIFNBVkVfQUxMIENM QUMKICAgICAgICAgbW92ICAgJXJzcCwgJXIxMgorICAgICAgICBTV0lUQ0hfRlJPTV9WQ1BVX1NU QUNLCiAKICAgICAgICAgR0VUX1NUQUNLX0VORCgxNCkKIApAQCAtNDQ5LDYgKzQ1Myw3IEBAIEVO VFJZKHBhZ2VfZmF1bHQpCiBHTE9CQUwoaGFuZGxlX2V4Y2VwdGlvbikKICAgICAgICAgU0FWRV9B TEwgQ0xBQwogICAgICAgICBtb3YgICAlcnNwLCAlcjEyCisgICAgICAgIFNXSVRDSF9GUk9NX1ZD UFVfU1RBQ0sKIAogICAgICAgICBHRVRfU1RBQ0tfRU5EKDE0KQogCkBAIC02MzEsNiArNjM2LDcg QEAgRU5UUlkoZG91YmxlX2ZhdWx0KQogICAgICAgICAvKiBTZXQgQUMgdG8gcmVkdWNlIGNoYW5j ZSBvZiBmdXJ0aGVyIFNNQVAgZmF1bHRzICovCiAgICAgICAgIFNBVkVfQUxMIFNUQUMKICAgICAg ICAgbW92cSAgJXJzcCwgJXIxMgorICAgICAgICBTV0lUQ0hfRlJPTV9WQ1BVX1NUQUNLX0lTVChJ U1RfREYpCiAKICAgICAgICAgR0VUX1NUQUNLX0VORCgxNCkKIApAQCAtNjUzLDEwICs2NTksMTEg QEAgRU5UUlkoZWFybHlfcGFnZV9mYXVsdCkKIEVOVFJZKG5taSkKICAgICAgICAgcHVzaHEgJDAK ICAgICAgICAgbW92bCAgJFRSQVBfbm1pLDQoJXJzcCkKLWhhbmRsZV9pc3RfZXhjZXB0aW9uOgog ICAgICAgICBTQVZFX0FMTCBDTEFDCiAgICAgICAgIG1vdiAgICVyc3AsICVyMTIKKyAgICAgICAg U1dJVENIX0ZST01fVkNQVV9TVEFDS19JU1QoSVNUX05NSSkKIAoraGFuZGxlX2lzdF9leGNlcHRp b246CiAgICAgICAgIEdFVF9TVEFDS19FTkQoMTQpCiAKICAgICAgICAgU1BFQ19DVFJMX0VOVFJZ X0ZST01fSU5UUl9JU1QgLyogUmVxOiAlcjEyPXJlZ3MsICVyMTQ9ZW5kLCBDbG9iOiBhY2QgKi8K QEAgLTcwMyw2ICs3MTAsOSBAQCBoYW5kbGVfaXN0X2V4Y2VwdGlvbjoKIEVOVFJZKG1hY2hpbmVf Y2hlY2spCiAgICAgICAgIHB1c2hxICQwCiAgICAgICAgIG1vdmwgICRUUkFQX21hY2hpbmVfY2hl Y2ssNCglcnNwKQorICAgICAgICBTQVZFX0FMTCBDTEFDCisgICAgICAgIG1vdiAgICVyc3AsICVy MTIKKyAgICAgICAgU1dJVENIX0ZST01fVkNQVV9TVEFDS19JU1QoSVNUX01DRSkKICAgICAgICAg am1wICAgaGFuZGxlX2lzdF9leGNlcHRpb24KIAogLyogRW5hYmxlIE5NSXMuICBObyBzcGVjaWFs IHJlZ2lzdGVyIGFzc3VtcHRpb25zLiBPbmx5ICVyYXggaXMgbm90IHByZXNlcnZlZC4gKi8KZGlm ZiAtLWdpdCBhL3hlbi9jb21tb24vd2FpdC5jIGIveGVuL2NvbW1vbi93YWl0LmMKaW5kZXggYTU3 YmMxMGQ2MS4uZmJiNWQ5OTZlNSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi93YWl0LmMKKysrIGIv eGVuL2NvbW1vbi93YWl0LmMKQEAgLTEyMiwxMCArMTIyLDEwIEBAIHZvaWQgd2FrZV91cF9hbGwo c3RydWN0IHdhaXRxdWV1ZV9oZWFkICp3cSkKIAogc3RhdGljIHZvaWQgX19wcmVwYXJlX3RvX3dh aXQoc3RydWN0IHdhaXRxdWV1ZV92Y3B1ICp3cXYpCiB7Ci0gICAgc3RydWN0IGNwdV9pbmZvICpj cHVfaW5mbyA9IGdldF9jcHVfaW5mbygpOworICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzICp1c2Vy X3JlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7CiAgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBj dXJyZW50OwogICAgIHVuc2lnbmVkIGxvbmcgZHVtbXk7Ci0gICAgdTMyIGVudHJ5X3ZlY3RvciA9 IGNwdV9pbmZvLT5ndWVzdF9jcHVfdXNlcl9yZWdzLmVudHJ5X3ZlY3RvcjsKKyAgICB1MzIgZW50 cnlfdmVjdG9yID0gdXNlcl9yZWdzLT5lbnRyeV92ZWN0b3I7CiAKICAgICBBU1NFUlQod3F2LT5l c3AgPT0gMCk7CiAKQEAgLTE2MCw3ICsxNjAsNyBAQCBzdGF0aWMgdm9pZCBfX3ByZXBhcmVfdG9f d2FpdChzdHJ1Y3Qgd2FpdHF1ZXVlX3ZjcHUgKndxdikKICAgICAgICAgInBvcCAlJXIxMTsgcG9w ICUlcjEwOyBwb3AgJSVyOTsgIHBvcCAlJXI4OyIKICAgICAgICAgInBvcCAlJXJicDsgcG9wICUl cmR4OyBwb3AgJSVyYng7IHBvcCAlJXJheCIKICAgICAgICAgOiAiPSZTIiAod3F2LT5lc3ApLCAi PSZjIiAoZHVtbXkpLCAiPSZEIiAoZHVtbXkpCi0gICAgICAgIDogImkiIChQQUdFX1NJWkUpLCAi MCIgKDApLCAiMSIgKGNwdV9pbmZvKSwgIjIiICh3cXYtPnN0YWNrKQorICAgICAgICA6ICJpIiAo UEFHRV9TSVpFKSwgIjAiICgwKSwgIjEiICh1c2VyX3JlZ3MpLCAiMiIgKHdxdi0+c3RhY2spCiAg ICAgICAgIDogIm1lbW9yeSIgKTsKIAogICAgIGlmICggdW5saWtlbHkod3F2LT5lc3AgPT0gMCkg KQpAQCAtMTY5LDcgKzE2OSw3IEBAIHN0YXRpYyB2b2lkIF9fcHJlcGFyZV90b193YWl0KHN0cnVj dCB3YWl0cXVldWVfdmNwdSAqd3F2KQogICAgICAgICBkb21haW5fY3Jhc2hfc3luY2hyb25vdXMo KTsKICAgICB9CiAKLSAgICBjcHVfaW5mby0+Z3Vlc3RfY3B1X3VzZXJfcmVncy5lbnRyeV92ZWN0 b3IgPSBlbnRyeV92ZWN0b3I7CisgICAgdXNlcl9yZWdzLT5lbnRyeV92ZWN0b3IgPSBlbnRyeV92 ZWN0b3I7CiB9CiAKIHN0YXRpYyB2b2lkIF9fZmluaXNoX3dhaXQoc3RydWN0IHdhaXRxdWV1ZV92 Y3B1ICp3cXYpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaAppbmRleCA3ZDI2MzkxYmU4Li5mNjI2Y2M2 MTM0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmgKQEAgLTcsNiArNyw3IEBACiAjaW5jbHVkZSA8 YXNtL2FzbS1vZmZzZXRzLmg+CiAjZW5kaWYKICNpbmNsdWRlIDxhc20vYnVnLmg+CisjaW5jbHVk ZSA8YXNtL2N1cnJlbnQuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9w cm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CkBAIC0xMzYsNiArMTM3LDI0IEBA IHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsKICAgICAgICAgR0VUX1NUQUNLX0VORChyZWcpOyAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBtb3ZxIFNUQUNLX0NQVUlORk9fRklFTEQo Y3VycmVudF92Y3B1KSglciMjcmVnKSwgJXIjI3JlZwogCisjZGVmaW5lIFNXSVRDSF9GUk9NX1ZD UFVfU1RBQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg ICAgICBHRVRfU1RBQ0tfRU5EKGF4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgdGVzdGIgJE9OX1ZDUFVTVEFDSywgU1RBQ0tfQ1BVSU5G T19GSUVMRChmbGFncykoJXJheCk7ICAgICAgICAgICBcCisgICAgICAgIGp6ICAgIDFmOyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg ICAgICBtb3ZxICBTVEFDS19DUFVJTkZPX0ZJRUxEKHN0YWNrX2JvdHRvbV9jcHUpKCVyYXgpLCAl cnNwOyAgICAgICAgIFwKKzE6CisKKyNkZWZpbmUgU1dJVENIX0ZST01fVkNQVV9TVEFDS19JU1Qo aXN0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIEdFVF9TVEFD S19FTkQoYXgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAgICAgICB0ZXN0YiAkT05fVkNQVVNUQUNLLCBTVEFDS19DUFVJTkZPX0ZJRUxEKGZsYWdz KSglcmF4KTsgICAgICAgICAgIFwKKyAgICAgICAganogICAgMWY7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHN1YiAgICQo U1RBQ0tfU0laRSAtIDEgLSBpc3QgKiBQQUdFX1NJWkUpLCAlcmF4OyAgICAgICAgICAgICAgICAg XAorICAgICAgICBtb3YgICAlcmF4LCAlcnNwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKzE6CisKKyNkZWZpbmUgU1dJVENIX1RPX1ZDUFVfU1RBQ0sg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG1v diAgICVyMTIsICVyc3AKKwogI2lmbmRlZiBOREVCVUcKICNkZWZpbmUgQVNTRVJUX05PVF9JTl9B VE9NSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg c3RpOyAvKiBzb21ldGltZXMgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZDogc2FmZSB0 byBlbmFibGUgKi8gXApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50Lmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAppbmRleCA1OTYzMTE0ZTA4Li5lMTI4YzEz YTFlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAorKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaApAQCAtOSw4ICs5LDEwIEBACiAKICNpbmNsdWRlIDx4 ZW4vcGVyY3B1Lmg+CiAjaW5jbHVkZSA8cHVibGljL3hlbi5oPgorI2luY2x1ZGUgPGFzbS9jb25m aWcuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgogCisjaWZuZGVmIF9fQVNTRU1CTFlfXwogLyoK ICAqIFhlbidzIHBoeXNpY2FsIGNwdSBzdGFja3MgYXJlIDggcGFnZXMgKDgtcGFnZSBhbGlnbmVk KSwgYXJyYW5nZWQgYXM6CiAgKgpAQCAtNzEsOCArNzMsMTAgQEAgc3RydWN0IGNwdV9pbmZvIHsK ICAgICB9OwogICAgIHVuc2lnbmVkIGludCBwcm9jZXNzb3JfaWQ7ICAvKiBwZXIgcGh5c2ljYWwg Y3B1IG1hcHBpbmcgb25seSAqLwogICAgIHVuc2lnbmVkIGludCBmbGFnczsKKyNlbmRpZiAvKiAh X19BU1NFTUJMWV9fICovCiAjZGVmaW5lIE9OX1ZDUFVTVEFDSyAgICAgIDB4MDAwMDAwMDEKICNk ZWZpbmUgVkNQVVNUQUNLX0FDVElWRSAgMHgwMDAwMDAwMgorI2lmbmRlZiBfX0FTU0VNQkxZX18K ICAgICAvKiBnZXRfc3RhY2tfYm90dG9tKCkgbXVzdCBiZSAxNi1ieXRlIGFsaWduZWQgKi8KIH07 CiAKQEAgLTk3LDkgKzEwMSwxNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBjcHVfaW5mbyAqZ2V0 X2NwdV9pbmZvKHZvaWQpCiAjZGVmaW5lIHNldF9wcm9jZXNzb3JfaWQoaWQpICBkbyB7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgc3RydWN0IGNwdV9pbmZvICpj aV9fID0gZ2V0X2NwdV9pbmZvKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg Y2lfXy0+cGVyX2NwdV9vZmZzZXQgPSBfX3Blcl9jcHVfb2Zmc2V0W2NpX18tPnByb2Nlc3Nvcl9p ZCA9IChpZCldOyBcCisgICAgY2lfXy0+ZmxhZ3MgPSAwOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB9IHdoaWxlICgwKQogCi0jZGVmaW5lIGd1 ZXN0X2NwdV91c2VyX3JlZ3MoKSAoJmdldF9jcHVfaW5mbygpLT5ndWVzdF9jcHVfdXNlcl9yZWdz KQorI2RlZmluZSBndWVzdF9jcHVfdXNlcl9yZWdzKCkgKHsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgIHN0cnVjdCBjcHVfaW5mbyAqaW5mbyA9IGdldF9jcHVf aW5mbygpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICggaW5mby0+Zmxh Z3MgJiBWQ1BVU1RBQ0tfQUNUSVZFICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICAgICBpbmZvID0gKHN0cnVjdCBjcHVfaW5mbyAqKShYUFRJX1NUQVJUKGluZm8tPmN1cnJl bnRfdmNwdSkgKyAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFD S19TSVpFKSAtIDE7ICAgICAgICAgICAgICAgICAgICAgXAorICAgICZpbmZvLT5ndWVzdF9jcHVf dXNlcl9yZWdzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSkK IAogLyoKICAqIEdldCB0aGUgYm90dG9tLW9mLXN0YWNrLCBhcyBzdG9yZWQgaW4gdGhlIHBlci1D UFUgVFNTLiBUaGlzIGFjdHVhbGx5IHBvaW50cwpAQCAtMTQyLDQgKzE1Myw2IEBAIHVuc2lnbmVk IGxvbmcgZ2V0X3N0YWNrX2R1bXBfYm90dG9tICh1bnNpZ25lZCBsb25nIHNwKTsKICAqLwogREVD TEFSRV9QRVJfQ1BVKHN0cnVjdCB2Y3B1ICosIGN1cnJfdmNwdSk7CiAKKyNlbmRpZiAvKiAhX19B U1NFTUJMWV9fICovCisKICNlbmRpZiAvKiBfX1g4Nl9DVVJSRU5UX0hfXyAqLwpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cHJvY2Vzc29yLmgKaW5kZXggNjI1ZjZlOWY2OS4uNThlNDdiZjZlMSAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3By b2Nlc3Nvci5oCkBAIC05Nyw2ICs5NywxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBY ODZfRUZMQUdTX05UfFg4Nl9FRkxBR1NfREZ8WDg2X0VGTEFHU19JRnwgICAgXAogICAgICAgICAg ICAgICAgICAgICAgICAgICBYODZfRUZMQUdTX1RGKQogCisjZGVmaW5lIElTVF9OT05FIF9BQygw LFVMKQorI2RlZmluZSBJU1RfREYgICBfQUMoMSxVTCkKKyNkZWZpbmUgSVNUX05NSSAgX0FDKDIs VUwpCisjZGVmaW5lIElTVF9NQ0UgIF9BQygzLFVMKQorI2RlZmluZSBJU1RfTUFYICBfQUMoMyxV TCkKKwogI2lmbmRlZiBfX0FTU0VNQkxZX18KIAogc3RydWN0IGRvbWFpbjsKQEAgLTQwMCwxMiAr NDA2LDYgQEAgc3RydWN0IF9fcGFja2VkIF9fY2FjaGVsaW5lX2FsaWduZWQgdHNzX3N0cnVjdCB7 CiAgICAgdWludDhfdCBfX2NhY2hlbGluZV9maWxsZXJbMjRdOwogfTsKIAotI2RlZmluZSBJU1Rf Tk9ORSAwVUwKLSNkZWZpbmUgSVNUX0RGICAgMVVMCi0jZGVmaW5lIElTVF9OTUkgIDJVTAotI2Rl ZmluZSBJU1RfTUNFICAzVUwKLSNkZWZpbmUgSVNUX01BWCAgM1VMCi0KIC8qIFNldCB0aGUgaW50 ZXJydXB0IHN0YWNrIHRhYmxlIHVzZWQgYnkgYSBwYXJ0aWN1bGFyIGludGVycnVwdAogICogZGVz Y3JpcHRvciB0YWJsZSBlbnRyeS4gKi8KIHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgc2V0X2lz dChpZHRfZW50cnlfdCAqaWR0LCB1bnNpZ25lZCBsb25nIGlzdCkKLS0gCjIuMTMuNgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=