From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH] x86/emul: Split exception handling out of invoke_stub() Date: Thu, 25 Jan 2018 03:49:31 -0700 Message-ID: <5A69C44B02000078001A24B1@prv-mh.provo.novell.com> References: <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: In-Reply-To: <1516817805-13702-1-git-send-email-andrew.cooper3@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Andrew Cooper Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDI0LjAxLjE4IGF0IDE5OjE2LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gRm9yIGEgcmVsZWFzZSBidWlsZCwgYmxvYXQtby1tZXRlciByZXBvcnRzOgo+IAo+ICAg YWRkL3JlbW92ZTogMC8wIGdyb3cvc2hyaW5rOiAwLzEgdXAvZG93bjogMC8tNTExMSAoLTUxMTEp Cj4gICBmdW5jdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgICAg IG5ldyAgIGRlbHRhCj4gICB4ODZfZW11bGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAxMjY0NTggIDEyMTM0NyAgIC01MTExCj4gCj4gb3IgaW4gb3RoZXIgd29yZHMsIGEgNCUgcmVk dW5jdGlvbiBpbiBjb2RlIHNpemUgZnJvbSB0aGlzIGNoYW5nZSBhbG9uZS4KPiAKPiBXaGlsZSBz aHVmZmxpbmcgdGhpbmdzIGFyb3VuZCwgZHJvcCB0aGUgdXNlIG9mIF9fTElORV9fLAoKV2hpbGUg dGhlIHJlc3Qgb2YgdGhlIGNoYW5nZSBpcyBmaW5lLCBJIGNvbnRpbnVlIHRvIG9iamVjdCB0byB0 aGUKcmVtb3ZhbCBvZiBfX0xJTkVfXyBoZXJlIC0gYWZhaWN0IGl0IGlzIGF3a3dhcmQgdG8gcmVj b25zdHJ1Y3QgdGhlCmxpbmUgbnVtYmVyIHdoZW4gYmVpbmcgcHJlc2VudGVkIGp1c3QgdGhlIGFk ZHJlc3MuIEF0IHRoZSB2ZXJ5CmxlYXN0IHlvdSdkIGhhdmUgdG8gcnVuIGEgdG9vbCBsaWtlIGFk ZHIybGluZSwgd2hpY2ggYXNzdW1lcyB5b3UKaGF2ZSB0aGUgY29ycmVjdCBiaW5hcnkgdG8gaGFu ZCAod2hpY2ggaXMgbm90IHZlcnkgbGlrZWx5IGJhc2VkIG9uCm15IGV4cGVyaWVuY2UpLiBIb3dl dmVyIG11Y2ggSSBjYW4gYWdyZWUgdGhhdCBsaW5lIG51bWJlcnMgZ2V0CmluIHRoZSB3YXkgb2Yg bGl2ZSBwYXRjaGluZywgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHByb2JsZW0KYW5hbHlzaXMgaXMg cXVpdGUgYSBiaXQgaGFyZGVyIHdpdGhvdXQgdGhlbS4gQW5kIHRoaXMgaXMgYW4gZXhhbXBsZQp0 aGVyZW9mLgoKSmFuCgo+IGFuZCBwcmludCB0aGUgaW5zdHJ1Y3Rpb24gc3RyZWFtIGhleGR1bXAg YXQgV0FSTklORyBhcyB3ZWxsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4gLS0tCj4gQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGlj aEBzdXNlLmNvbT4KPiAKPiBJIHN0dWJsZWQgb250byB0aGlzIHdoaWxlIGxvb2tpbmcgYXQgdGhl IGRvbWFpbl9jcmFzaCgpIHNpZGUgb2YgdGhpbmdzLiAgSXQKPiBhcHBlYXJzIHRoYXQgeW91ciBB Vlggc2VyaWVzIG1ha2VzIHRoZSBwcm9ibGVtIG1vcmUgcHJvbm91bmNlZCwgZHVlIHRvIG1vcmUK PiBjb2RlcGF0aHMgdXNpbmcgaW52b2tlX3N0dWIoKS4KPiAtLS0KPiAgeGVuL2FyY2gveDg2L3g4 Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMgfCAzMyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUu YyAKPiBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCj4gaW5kZXggZmYw YTAwMy4uNmRjY2Y0ZSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2 X2VtdWxhdGUuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5j Cj4gQEAgLTg2Niw3ICs4NjYsNyBAQCBzdGF0aWMgaW5saW5lIGludCBta2VjKHVpbnQ4X3QgZSwg aW50MzJfdCBlYywgLi4uKQo+ICAKPiAgI2lmZGVmIF9fWEVOX18KPiAgIyBkZWZpbmUgaW52b2tl X3N0dWIocHJlLCBwb3N0LCBjb25zdHJhaW50cy4uLikgZG8geyAgICAgICAgICAgICAgICAgICAg XAo+IC0gICAgdW5pb24gc3R1Yl9leGNlcHRpb25fdG9rZW4gcmVzXyA9IHsgLnJhdyA9IH4wIH07 ICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICBzdHViX2V4bl9pbmZvID0gKHVuaW9uIHN0dWJf ZXhjZXB0aW9uX3Rva2VuKSB7IC5yYXcgPSB+MCB9OyAgICAgICAgIFwKPiAgICAgIGFzbSB2b2xh dGlsZSAoIHByZSAiXG5cdElORElSRUNUX0NBTEwgJVtzdHViXVxuXHQiIHBvc3QgIlxuIiAgICAg ICAgXAo+ICAgICAgICAgICAgICAgICAgICAgIi5McmV0JT06XG5cdCIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAgICAgICAgICAgICAiLnB1c2hzZWN0 aW9uIC5maXh1cCxcImF4XCJcbiIgICAgICAgICAgICAgICAgICAgICAgIFwKPiBAQCAtODc1LDIx ICs4NzUsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgbWtlYyh1aW50OF90IGUsIGludDMyX3QgZWMs IC4uLikKPiAgICAgICAgICAgICAgICAgICAgICJqbXAgLkxyZXQlPVxuXHQiICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgICAgICAgICAgIi5wb3BzZWN0 aW9uXG5cdCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAg ICAgICAgICAgICBfQVNNX0VYVEFCTEUoLkxyZXQlPSwgLkxmaXglPSkgICAgICAgICAgICAgICAg ICAgICAgIFwKPiAtICAgICAgICAgICAgICAgICAgIDogW2V4bl0gIitnIiAocmVzXyksIGNvbnN0 cmFpbnRzLCAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgICAgICAgICAgICAgOiBbZXhu XSAiK2ciIChzdHViX2V4bl9pbmZvKSwgY29uc3RyYWludHMsICAgICAgICAgICBcCj4gICAgICAg ICAgICAgICAgICAgICAgIFtzdHViXSAiciIgKHN0dWIuZnVuYyksICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiAgICAgICAgICAgICAgICAgICAgICAgIm0iICgqKHVpbnQ4X3QoKilbTUFY X0lOU1RfTEVOICsgMV0pc3R1Yi5wdHIpICk7ICAgXAo+IC0gICAgaWYgKCB1bmxpa2VseSh+cmVz Xy5yYXcpICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gLSAg ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKPiAtICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJOSU5HLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+IC0gICAgICAgICAgICAgICAgImV4 Y2VwdGlvbiAldSAoZWM9JTA0eCkgaW4gZW11bGF0aW9uIHN0dWIgKGxpbmUgJXUpXG4iLCBcCj4g LSAgICAgICAgICAgICAgICByZXNfLmZpZWxkcy50cmFwbnIsIHJlc18uZmllbGRzLmVjLCBfX0xJ TkVfXyk7ICAgICAgICAgIFwKPiAtICAgICAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAic3R1Yjog JSJfX3N0cmluZ2lmeShNQVhfSU5TVF9MRU4pInBoXG4iLCAgXAo+IC0gICAgICAgICAgICAgICAg c3R1Yi5mdW5jKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Cj4gLSAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHJlc18uZmllbGRzLnRyYXBuciA9PSBF WENfVUQsIEVYQ19VRCk7ICAgIFwKPiAtICAgICAgICBkb21haW5fY3Jhc2goY3VycmVudC0+ZG9t YWluKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+IC0gICAgICAgIHJjID0g WDg2RU1VTF9VTkhBTkRMRUFCTEU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gLSAgICAgICAgZ290byBkb25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiAtICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgaWYgKCB1 bmxpa2VseSh+c3R1Yl9leG5faW5mby5yYXcpICkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gKyAgICAgICAgZ290byBlbXVsYXRpb25fc3R1Yl9mYWlsdXJlOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgfSB3aGlsZSAoMCkKPiAgI2Vsc2UKPiAgIyBk ZWZpbmUgaW52b2tlX3N0dWIocHJlLCBwb3N0LCBjb25zdHJhaW50cy4uLikgICAgICAgICAgICAg ICAgICAgICAgICAgXAo+IEBAIC0zMDAwLDYgKzI5OTAsOSBAQCB4ODZfZW11bGF0ZSgKPiAgICAg IHN0cnVjdCBmcHVfaW5zbl9jdHh0IGZpYyA9IHsgLnR5cGUgPSBYODZFTVVMX0ZQVV9ub25lLCAu ZXhuX3JhaXNlZCA9IC0xIAo+IH07Cj4gICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfc3R1YiBzdHVi ID0ge307Cj4gICAgICBERUNMQVJFX0FMSUdORUQobW12YWxfdCwgbW12YWwpOwo+ICsjaWZkZWYg X19YRU5fXwo+ICsgICAgdW5pb24gc3R1Yl9leGNlcHRpb25fdG9rZW4gc3R1Yl9leG5faW5mbzsK PiArI2VuZGlmCj4gIAo+ICAgICAgQVNTRVJUKG9wcy0+cmVhZCk7Cj4gIAo+IEBAIC04MDEyLDYg KzgwMDUsMTggQEAgeDg2X2VtdWxhdGUoCj4gICAgICBwdXRfc3R1YihzdHViKTsKPiAgICAgIHJl dHVybiByYzsKPiAgI3VuZGVmIHN0YXRlCj4gKwo+ICsjaWZkZWYgX19YRU5fXwo+ICsgZW11bGF0 aW9uX3N0dWJfZmFpbHVyZToKPiArICAgIGdwcmludGsoWEVOTE9HX1dBUk5JTkcsICJleGNlcHRp b24gJXUgKGVjPSUwNHgpIGluIGVtdWxhdGlvbiBzdHViXG4iLAo+ICsgICAgICAgICAgICBzdHVi X2V4bl9pbmZvLmZpZWxkcy50cmFwbnIsIHN0dWJfZXhuX2luZm8uZmllbGRzLmVjKTsKPiArICAg IGdwcmludGsoWEVOTE9HX1dBUk5JTkcsICIgIHN0dWI6ICUiX19zdHJpbmdpZnkoTUFYX0lOU1Rf TEVOKSJwaFxuIiwKPiArICAgICAgICAgICAgc3R1Yi5mdW5jKTsKPiArICAgIGdlbmVyYXRlX2V4 Y2VwdGlvbl9pZihzdHViX2V4bl9pbmZvLmZpZWxkcy50cmFwbnIgPT0gRVhDX1VELCBFWENfVUQp Owo+ICsgICAgZG9tYWluX2NyYXNoKGN1cnJlbnQtPmRvbWFpbik7Cj4gKyAgICByYyA9IFg4NkVN VUxfVU5IQU5ETEVBQkxFOwo+ICsgICAgZ290byBkb25lOwo+ICsjZW5kaWYKPiAgfQo+ICAKPiAg I3VuZGVmIG9wX2J5dGVzCj4gLS0gCj4gMi4xLjQKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==