From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/emul: Split exception handling out of invoke_stub() Date: Wed, 24 Jan 2018 18:16:45 +0000 Message-ID: <1516817805-13702-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 emUgZnJvbSB0aGlzIGNoYW5nZSBhbG9uZS4KCldoaWxlIHNodWZmbGluZyB0aGluZ3MgYXJvdW5k LCBkcm9wIHRoZSB1c2Ugb2YgX19MSU5FX18sIGFuZCBwcmludCB0aGUKaW5zdHJ1Y3Rpb24gc3Ry ZWFtIGhleGR1bXAgYXQgV0FSTklORyBhcyB3ZWxsLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJl dWxpY2hAc3VzZS5jb20+CgpJIHN0dWJsZWQgb250byB0aGlzIHdoaWxlIGxvb2tpbmcgYXQgdGhl IGRvbWFpbl9jcmFzaCgpIHNpZGUgb2YgdGhpbmdzLiAgSXQKYXBwZWFycyB0aGF0IHlvdXIgQVZY IHNlcmllcyBtYWtlcyB0aGUgcHJvYmxlbSBtb3JlIHByb25vdW5jZWQsIGR1ZSB0byBtb3JlCmNv ZGVwYXRocyB1c2luZyBpbnZva2Vfc3R1YigpLgotLS0KIHhlbi9hcmNoL3g4Ni94ODZfZW11bGF0 ZS94ODZfZW11bGF0ZS5jIHwgMzMgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMgYi94ZW4vYXJjaC94 ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwppbmRleCBmZjBhMDAzLi42ZGNjZjRlIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4v YXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwpAQCAtODY2LDcgKzg2Niw3IEBAIHN0 YXRpYyBpbmxpbmUgaW50IG1rZWModWludDhfdCBlLCBpbnQzMl90IGVjLCAuLi4pCiAKICNpZmRl ZiBfX1hFTl9fCiAjIGRlZmluZSBpbnZva2Vfc3R1YihwcmUsIHBvc3QsIGNvbnN0cmFpbnRzLi4u KSBkbyB7ICAgICAgICAgICAgICAgICAgICBcCi0gICAgdW5pb24gc3R1Yl9leGNlcHRpb25fdG9r ZW4gcmVzXyA9IHsgLnJhdyA9IH4wIH07ICAgICAgICAgICAgICAgICAgICBcCisgICAgc3R1Yl9l eG5faW5mbyA9ICh1bmlvbiBzdHViX2V4Y2VwdGlvbl90b2tlbikgeyAucmF3ID0gfjAgfTsgICAg ICAgICBcCiAgICAgYXNtIHZvbGF0aWxlICggcHJlICJcblx0SU5ESVJFQ1RfQ0FMTCAlW3N0dWJd XG5cdCIgcG9zdCAiXG4iICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgIi5McmV0JT06XG5c dCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAg ICAgICAgIi5wdXNoc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iICAgICAgICAgICAgICAgICAgICAg ICBcCkBAIC04NzUsMjEgKzg3NSwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBta2VjKHVpbnQ4X3Qg ZSwgaW50MzJfdCBlYywgLi4uKQogICAgICAgICAgICAgICAgICAgICJqbXAgLkxyZXQlPVxuXHQi ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAg ICIucG9wc2VjdGlvblxuXHQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgICAgICAgICAgICAgIF9BU01fRVhUQUJMRSguTHJldCU9LCAuTGZpeCU9KSAgICAgICAg ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgIDogW2V4bl0gIitnIiAocmVzXyks IGNvbnN0cmFpbnRzLCAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgIDog W2V4bl0gIitnIiAoc3R1Yl9leG5faW5mbyksIGNvbnN0cmFpbnRzLCAgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICAgW3N0dWJdICJyIiAoc3R1Yi5mdW5jKSwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgIm0iICgqKHVpbnQ4X3QoKilbTUFY X0lOU1RfTEVOICsgMV0pc3R1Yi5wdHIpICk7ICAgXAotICAgIGlmICggdW5saWtlbHkofnJlc18u cmF3KSApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJOSU5HLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICJleGNlcHRpb24g JXUgKGVjPSUwNHgpIGluIGVtdWxhdGlvbiBzdHViIChsaW5lICV1KVxuIiwgXAotICAgICAgICAg ICAgICAgIHJlc18uZmllbGRzLnRyYXBuciwgcmVzXy5maWVsZHMuZWMsIF9fTElORV9fKTsgICAg ICAgICAgXAotICAgICAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAic3R1YjogJSJfX3N0cmluZ2lm eShNQVhfSU5TVF9MRU4pInBoXG4iLCAgXAotICAgICAgICAgICAgICAgIHN0dWIuZnVuYyk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYocmVzXy5maWVsZHMudHJhcG5yID09IEVYQ19VRCwgRVhDX1VEKTsg ICAgXAotICAgICAgICBkb21haW5fY3Jhc2goY3VycmVudC0+ZG9tYWluKTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICByYyA9IFg4NkVNVUxfVU5IQU5ETEVBQkxF OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBnb3RvIGRv bmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAotICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgIGlmICggdW5saWtlbHkofnN0dWJfZXhuX2luZm8ucmF3 KSApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBnb3RvIGVtdWxh dGlvbl9zdHViX2ZhaWx1cmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog fSB3aGlsZSAoMCkKICNlbHNlCiAjIGRlZmluZSBpbnZva2Vfc3R1YihwcmUsIHBvc3QsIGNvbnN0 cmFpbnRzLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0zMDAwLDYgKzI5OTAsOSBA QCB4ODZfZW11bGF0ZSgKICAgICBzdHJ1Y3QgZnB1X2luc25fY3R4dCBmaWMgPSB7IC50eXBlID0g WDg2RU1VTF9GUFVfbm9uZSwgLmV4bl9yYWlzZWQgPSAtMSB9OwogICAgIHN0cnVjdCB4ODZfZW11 bGF0ZV9zdHViIHN0dWIgPSB7fTsKICAgICBERUNMQVJFX0FMSUdORUQobW12YWxfdCwgbW12YWwp OworI2lmZGVmIF9fWEVOX18KKyAgICB1bmlvbiBzdHViX2V4Y2VwdGlvbl90b2tlbiBzdHViX2V4 bl9pbmZvOworI2VuZGlmCiAKICAgICBBU1NFUlQob3BzLT5yZWFkKTsKIApAQCAtODAxMiw2ICs4 MDA1LDE4IEBAIHg4Nl9lbXVsYXRlKAogICAgIHB1dF9zdHViKHN0dWIpOwogICAgIHJldHVybiBy YzsKICN1bmRlZiBzdGF0ZQorCisjaWZkZWYgX19YRU5fXworIGVtdWxhdGlvbl9zdHViX2ZhaWx1 cmU6CisgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywgImV4Y2VwdGlvbiAldSAoZWM9JTA0eCkg aW4gZW11bGF0aW9uIHN0dWJcbiIsCisgICAgICAgICAgICBzdHViX2V4bl9pbmZvLmZpZWxkcy50 cmFwbnIsIHN0dWJfZXhuX2luZm8uZmllbGRzLmVjKTsKKyAgICBncHJpbnRrKFhFTkxPR19XQVJO SU5HLCAiICBzdHViOiAlIl9fc3RyaW5naWZ5KE1BWF9JTlNUX0xFTikicGhcbiIsCisgICAgICAg ICAgICBzdHViLmZ1bmMpOworICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihzdHViX2V4bl9pbmZv LmZpZWxkcy50cmFwbnIgPT0gRVhDX1VELCBFWENfVUQpOworICAgIGRvbWFpbl9jcmFzaChjdXJy ZW50LT5kb21haW4pOworICAgIHJjID0gWDg2RU1VTF9VTkhBTkRMRUFCTEU7CisgICAgZ290byBk b25lOworI2VuZGlmCiB9CiAKICN1bmRlZiBvcF9ieXRlcwotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs