From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2] x86/emul: Split exception handling out of invoke_stub() Date: Wed, 31 Jan 2018 12:50:59 +0000 Message-ID: <1517403059-21284-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org Rm9yIGEgcmVsZWFzZSBidWlsZCwgYmxvYXQtby1tZXRlciByZXBvcnRzOgoKICBhZGQvcmVtb3Zl OiAwLzAgZ3Jvdy9zaHJpbms6IDAvMSB1cC9kb3duOiAwLy01MTExICgtNTExMSkKICBmdW5jdGlv biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgICAgIG5ldyAgIGRlbHRh CiAgeDg2X2VtdWxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI2NDU4ICAxMjEz NDcgICAtNTExMQoKb3IgaW4gb3RoZXIgd29yZHMsIGEgNCUgcmVkdW5jdGlvbiBpbiBjb2RlIHNp emUgZnJvbSB0aGlzIGNoYW5nZSBhbG9uZS4KClRoZSB1c2Ugb2YgX19MSU5FX18gaXMgYSBjb25j ZXJuIHdpdGggbGl2ZXBhdGNoaW5nLCBidXQgYW55IGxpdmVwYXRjaCB0b3VjaGluZwp0aGlzIGZp bGUgaXMgb3ZlcndoZW1saW5nbHkgbGlrZWx5IHRvIGFsdGVyIHg4Nl9lbXVsYXRlKCkgYW55d2F5 LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Cgp2MjoKICogUmV0YWlu IF9fTElORV9fLiAgSXQgY2FuJ3QgYmUgZW1iZWRkZWQgaW4gdW5pb24gc3R1Yl9leGNlcHRpb25f dG9rZW4gYXMgdGhlCiAgIGZ1bGwgdG9rZW4gZ2V0cyB3cml0dGVuIGJ5IHRoZSBleGNlcHRpb24g aGFubGRlci4KLS0tCiB4ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyB8IDM3 ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMyBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv eDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZf ZW11bGF0ZS5jCmluZGV4IDRjYzUxZWEuLmM5MjIxYzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0 ZS94ODZfZW11bGF0ZS5jCkBAIC04NjYsNyArODY2LDggQEAgc3RhdGljIGlubGluZSBpbnQgbWtl Yyh1aW50OF90IGUsIGludDMyX3QgZWMsIC4uLikKIAogI2lmZGVmIF9fWEVOX18KICMgZGVmaW5l IGludm9rZV9zdHViKHByZSwgcG9zdCwgY29uc3RyYWludHMuLi4pIGRvIHsgICAgICAgICAgICAg ICAgICAgIFwKLSAgICB1bmlvbiBzdHViX2V4Y2VwdGlvbl90b2tlbiByZXNfID0geyAucmF3ID0g fjAgfTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICBzdHViX2V4bl9pbmZvID0gKHVuaW9uIHN0 dWJfZXhjZXB0aW9uX3Rva2VuKSB7IC5yYXcgPSB+MCB9OyAgICAgICAgIFwKKyAgICBzdHViX2V4 bl9saW5lID0gX19MSU5FX187IC8qIFV0aWxpdHkgb3V0d2VpZ2hzIGxpdmVwYXRjaGluZyBjb3N0 ICovIFwKICAgICBhc20gdm9sYXRpbGUgKCBwcmUgIlxuXHRJTkRJUkVDVF9DQUxMICVbc3R1Yl1c blx0IiBwb3N0ICJcbiIgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAiLkxyZXQlPTpcblx0 IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAg ICAgICAiLnB1c2hzZWN0aW9uIC5maXh1cCxcImF4XCJcbiIgICAgICAgICAgICAgICAgICAgICAg IFwKQEAgLTg3NSwyMSArODc2LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50IG1rZWModWludDhfdCBl LCBpbnQzMl90IGVjLCAuLi4pCiAgICAgICAgICAgICAgICAgICAgImptcCAuTHJldCU9XG5cdCIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAg Ii5wb3BzZWN0aW9uXG5cdCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgICAgICAgICAgICAgX0FTTV9FWFRBQkxFKC5McmV0JT0sIC5MZml4JT0pICAgICAgICAg ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAgOiBbZXhuXSAiK2ciIChyZXNfKSwg Y29uc3RyYWludHMsICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgOiBb ZXhuXSAiK2ciIChzdHViX2V4bl9pbmZvKSwgY29uc3RyYWludHMsICAgICAgICAgICBcCiAgICAg ICAgICAgICAgICAgICAgICBbc3R1Yl0gInIiIChzdHViLmZ1bmMpLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAibSIgKCoodWludDhfdCgqKVtNQVhf SU5TVF9MRU4gKyAxXSlzdHViLnB0cikgKTsgICBcCi0gICAgaWYgKCB1bmxpa2VseSh+cmVzXy5y YXcpICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgeyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0gICAgICAgIGdwcmludGsoWEVOTE9HX1dBUk5JTkcsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgImV4Y2VwdGlvbiAl dSAoZWM9JTA0eCkgaW4gZW11bGF0aW9uIHN0dWIgKGxpbmUgJXUpXG4iLCBcCi0gICAgICAgICAg ICAgICAgcmVzXy5maWVsZHMudHJhcG5yLCByZXNfLmZpZWxkcy5lYywgX19MSU5FX18pOyAgICAg ICAgICBcCi0gICAgICAgIGdwcmludGsoWEVOTE9HX0lORk8sICJzdHViOiAlIl9fc3RyaW5naWZ5 KE1BWF9JTlNUX0xFTikicGhcbiIsICBcCi0gICAgICAgICAgICAgICAgc3R1Yi5mdW5jKTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGdlbmVy YXRlX2V4Y2VwdGlvbl9pZihyZXNfLmZpZWxkcy50cmFwbnIgPT0gRVhDX1VELCBFWENfVUQpOyAg ICBcCi0gICAgICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4pOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIHJjID0gWDg2RU1VTF9VTkhBTkRMRUFCTEU7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGdvdG8gZG9u ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgaWYgKCB1bmxpa2VseSh+c3R1Yl9leG5faW5mby5yYXcp ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGdvdG8gZW11bGF0 aW9uX3N0dWJfZmFpbHVyZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB9 IHdoaWxlICgwKQogI2Vsc2UKICMgZGVmaW5lIGludm9rZV9zdHViKHByZSwgcG9zdCwgY29uc3Ry YWludHMuLi4pICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTMwMTcsNiArMzAwOCwxMCBA QCB4ODZfZW11bGF0ZSgKICAgICBzdHJ1Y3QgZnB1X2luc25fY3R4dCBmaWMgPSB7IC50eXBlID0g WDg2RU1VTF9GUFVfbm9uZSwgLmV4bl9yYWlzZWQgPSAtMSB9OwogICAgIHN0cnVjdCB4ODZfZW11 bGF0ZV9zdHViIHN0dWIgPSB7fTsKICAgICBERUNMQVJFX0FMSUdORUQobW12YWxfdCwgbW12YWwp OworI2lmZGVmIF9fWEVOX18KKyAgICB1bmlvbiBzdHViX2V4Y2VwdGlvbl90b2tlbiBzdHViX2V4 bl9pbmZvOworICAgIHVuc2lnbmVkIGludCBzdHViX2V4bl9saW5lOworI2VuZGlmCiAKICAgICBB U1NFUlQob3BzLT5yZWFkKTsKIApAQCAtODAyMyw2ICs4MDE4LDIwIEBAIHg4Nl9lbXVsYXRlKAog ICAgIHB1dF9zdHViKHN0dWIpOwogICAgIHJldHVybiByYzsKICN1bmRlZiBzdGF0ZQorCisjaWZk ZWYgX19YRU5fXworIGVtdWxhdGlvbl9zdHViX2ZhaWx1cmU6CisgICAgZ3ByaW50ayhYRU5MT0df V0FSTklORywKKyAgICAgICAgICAgICJleGNlcHRpb24gJXUgKGVjPSUwNHgpIGluIGVtdWxhdGlv biBzdHViIChsaW5lICV1KVxuIiwKKyAgICAgICAgICAgIHN0dWJfZXhuX2luZm8uZmllbGRzLnRy YXBuciwgc3R1Yl9leG5faW5mby5maWVsZHMuZWMsCisgICAgICAgICAgICBzdHViX2V4bl9saW5l KTsKKyAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAiICBzdHViOiAlIl9fc3RyaW5naWZ5KE1BWF9J TlNUX0xFTikicGhcbiIsCisgICAgICAgICAgICBzdHViLmZ1bmMpOworICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZihzdHViX2V4bl9pbmZvLmZpZWxkcy50cmFwbnIgPT0gRVhDX1VELCBFWENfVUQp OworICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4pOworICAgIHJjID0gWDg2RU1VTF9V TkhBTkRMRUFCTEU7CisgICAgZ290byBkb25lOworI2VuZGlmCiB9CiAKICN1bmRlZiBvcF9ieXRl cwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs