From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?utf-8?B?TW9ubsOp?= Subject: Re: [PATCH v1] x86/hvm: Generic instruction re-execution mechanism for execute faults Date: Mon, 19 Nov 2018 16:08:24 +0100 Message-ID: <20181119150824.lfquw2j2ehhvjbhk@mac> References: <20181116100624.21977-1-aisaila@bitdefender.com> <20181116170412.xrwuun3cqxll22l3@mac> <3d3ae38a-bfae-9908-dac6-163216f900e3@bitdefender.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.89) (envelope-from ) id 1gOlBW-000639-JG for xen-devel@lists.xenproject.org; Mon, 19 Nov 2018 15:09:58 +0000 Content-Disposition: inline In-Reply-To: <3d3ae38a-bfae-9908-dac6-163216f900e3@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Alexandru Stefan ISAILA Cc: "kevin.tian@intel.com" , "tamas@tklengyel.com" , "wei.liu2@citrix.com" , "jbeulich@suse.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , Mihai =?utf-8?B?RG9uyJt1?= , Andrei Vlad LUTAS , "jun.nakajima@intel.com" , "xen-devel@lists.xenproject.org" , Anshul Makkar List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBOb3YgMTksIDIwMTggYXQgMDE6MzA6MDlQTSArMDAwMCwgQWxleGFuZHJ1IFN0ZWZh biBJU0FJTEEgd3JvdGU6Cj4gPj4gKyAgICAvKiBOb3cgdHJhbnNmb3JtIG91ciBSV1ggdmFsdWVz IGluIGEgWEVOTUVNX2FjY2Vzc18qIGNvbnN0YW50LiAqLwo+ID4+ICsgICAgaWYgKCByID09IDAg JiYgdyA9PSAwICYmIHggPT0gMCApCj4gPj4gKyAgICAgICAgbmV3X2FjY2VzcyA9IFhFTk1FTV9h Y2Nlc3NfbjsKPiA+PiArICAgIGVsc2UgaWYgKCByID09IDAgJiYgdyA9PSAwICYmIHggPT0gMSAp Cj4gPj4gKyAgICAgICAgbmV3X2FjY2VzcyA9IFhFTk1FTV9hY2Nlc3NfeDsKPiA+PiArICAgIGVs c2UgaWYgKCByID09IDAgJiYgdyA9PSAxICYmIHggPT0gMCApCj4gPj4gKyAgICAgICAgbmV3X2Fj Y2VzcyA9IFhFTk1FTV9hY2Nlc3NfdzsKPiA+PiArICAgIGVsc2UgaWYgKCByID09IDAgJiYgdyA9 PSAxICYmIHggPT0gMSApCj4gPj4gKyAgICAgICAgbmV3X2FjY2VzcyA9IFhFTk1FTV9hY2Nlc3Nf d3g7Cj4gPj4gKyAgICBlbHNlIGlmICggciA9PSAxICYmIHcgPT0gMCAmJiB4ID09IDAgKQo+ID4+ ICsgICAgICAgIG5ld19hY2Nlc3MgPSBYRU5NRU1fYWNjZXNzX3I7Cj4gPj4gKyAgICBlbHNlIGlm ICggciA9PSAxICYmIHcgPT0gMCAmJiB4ID09IDEgKQo+ID4+ICsgICAgICAgIG5ld19hY2Nlc3Mg PSBYRU5NRU1fYWNjZXNzX3J4Owo+ID4+ICsgICAgZWxzZSBpZiAoIHIgPT0gMSAmJiB3ID09IDEg JiYgeCA9PSAwICkKPiA+PiArICAgICAgICBuZXdfYWNjZXNzID0gWEVOTUVNX2FjY2Vzc19ydzsK PiA+PiArICAgIGVsc2UgaWYgKCByID09IDEgJiYgdyA9PSAxICYmIHggPT0gMSApCj4gPj4gKyAg ICAgICAgbmV3X2FjY2VzcyA9IFhFTk1FTV9hY2Nlc3Nfcnd4Owo+ID4+ICsgICAgZWxzZQo+ID4+ ICsgICAgICAgIG5ld19hY2Nlc3MgPSByZXF1aXJlZF9hY2Nlc3M7IC8qIFNob3VsZCBuZXZlciBn ZXQgaGVyZS4gKi8KPiA+IAo+ID4gVGhlcmUgc2VlbXMgdG8gYmUgYSBsb3Qgb2YgdHJhbnNsYXRp b24gZnJvbSB4ZW5tZW1fYWNjZXNzX3QgdG8gYm9vbAo+ID4gZmllbGRzIGFuZCB0aGVuIHRvIHhl bm1lbV9hY2Nlc3NfdCBhZ2Fpbi4gQ2FuJ3QgeW91IGp1c3QgYXZvaWQgdGhlCj4gPiBib29sZWFu cz8KPiAKPiBUaGUgdHJhbnNsYXRpb24gaXMgZG9uZSBiZWNhdXNlIHRoZSByaWdodHMgYXJlIGN1 bXVsYXRpdmUgYW5kIEkgdGhpbmsgCj4gdGhpcyBpcyB0aGUgY2xlYXIgd2F5IHRvIGRvIHRoaXMu CgpTbyB0aGUgc3dpdGNoIGNvbnZlcnRzIHJlcXVpcmVkX2FjY2VzcyB1c2luZyB0aGUgZm9sbG93 aW5nIHJlbGF0aW9uOgoKX3IgICAtPiByID0gMSB3ID0gMCB4ID0gMApfdyAgIC0+IHIgPSAwIHcg PSAxIHggPSAwCl94ICAgLT4gciA9IDAgdyA9IDAgeCA9IDEKX3J4ICAtPiByID0gMSB3ID0gMSB4 ID0gMApfd3ggIC0+IHIgPSAwIHcgPSAxIHggPSAxCl9ydyAgLT4gciA9IDEgdyA9IDEgeCA9IDAK X3J3eCAtPiByID0gMSB3ID0gMSB4ID0gMQoKVGhlbiB0aGUgaWYgYmVsb3cgcGVyZm9ybXMgdGhl IGZvbGxvd2luZyB0cmFuc2Zvcm1hdGlvbjoKCnIgPSAwIHcgPSAwIHggPSAwIC0+IF9uCnIgPSAx IHcgPSAwIHggPSAwIC0+IF9yCnIgPSAwIHcgPSAxIHggPSAwIC0+IF93CnIgPSAwIHcgPSAwIHgg PSAxIC0+IF94CnIgPSAxIHcgPSAxIHggPSAwIC0+IF9ydwpyID0gMCB3ID0gMSB4ID0gMSAtPiBf d3gKciA9IDEgdyA9IDEgeCA9IDAgLT4gX3J3CnIgPSAxIHcgPSAxIHggPSAxIC0+IF9yd3gKCkkn bSBub3Qgc3VyZSBJIHVuZGVyc3RhbmQgdGhpcyBjaHVuayBvZiBjb2RlLCBiZWNhdXNlIHlvdSBl bmQgdXAKZ2V0dGluZyBleGFjdGx5IHRoZSBzYW1lIHR5cGUgdGhhdCB5b3UgaGF2ZSBhcyB0aGUg aW5wdXQsIGFuZCBhIHR5cGUKbm90IGxpc3RlZCBoZXJlIGlzIGp1c3Qgc2lsZW50bHkgcGFzc2Vk IHRocm91Z2gsIHNvIEkgZG9uJ3Qgc2VlIHRoZQpwb2ludCBpbiBkb2luZyB0aGlzIHRyYW5zZm9y bWF0aW9uLgoKPiAKPiA+PiAgICAgICBpZiAoIHZtX2V2ZW50X2NoZWNrX3JpbmcoZC0+dm1fZXZl bnRfbW9uaXRvcikgJiYKPiA+PiAgICAgICAgICAgIGQtPmFyY2gubW9uaXRvci5pbmd1ZXN0X3Bh Z2VmYXVsdF9kaXNhYmxlZCAmJgo+ID4+IC0gICAgICAgICBucGZlYy5raW5kICE9IG5wZmVjX2tp bmRfd2l0aF9nbGEgKSAvKiBkb24ndCBzZW5kIGEgbWVtX2V2ZW50ICovCj4gPj4gKyAgICAgICAg IG5wZmVjLmtpbmQgIT0gbnBmZWNfa2luZF93aXRoX2dsYSAmJgo+ID4+ICsgICAgICAgICBodm1f ZnVuY3Muc3RhcnRfcmVleGVjdXRlX2luc3RydWN0aW9uICkgLyogZG9uJ3Qgc2VuZCBhIG1lbV9l dmVudCAqLwo+ID4+ICAgICAgIHsKPiA+PiAtICAgICAgICBodm1fZW11bGF0ZV9vbmVfdm1fZXZl bnQoRU1VTF9LSU5EX05PUk1BTCwgVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMpOwo+ ID4+IC0KPiA+PiArICAgICAgICB2LT5hcmNoLnZtX2V2ZW50LT5lbXVsYXRlX2ZsYWdzID0gMDsK PiA+PiArICAgICAgICBodm1fZnVuY3Muc3RhcnRfcmVleGVjdXRlX2luc3RydWN0aW9uKHYsIGdw YSwgWEVOTUVNX2FjY2Vzc19ydyk7Cj4gPj4gICAgICAgICAgIHJldHVybiB0cnVlOwo+ID4+ICAg ICAgIH0KPiA+IAo+ID4gRG9uJ3QgeW91IG5lZWQgdG8gZmFsbGJhY2sgdG8gdXNpbmcgaHZtX2Vt dWxhdGVfb25lX3ZtX2V2ZW50IGlmCj4gPiBzdGFydF9yZWV4ZWN1dGVfaW5zdHJ1Y3Rpb24gaXMg bm90IGF2YWlsYWJsZT8KPiAKPiBGYWxsYmFjayB3aXRoIGh2bV9lbXVsYXRlX29uZV92bV9ldmVu dCBjYW4gcmVzdWx0IGluIGxvb3NpbmcgZXZlbnRzLgoKQnV0IGJ5IGNoYW5naW5nIHRoaXMgaGVy ZSB1bmNvbmRpdGlvbmFsbHkgeW91IGFyZSByZW1vdmluZyB0aGlzCmZ1bmN0aW9uYWxpdHkgb24g QU1EIGhhcmR3YXJlLCB3aGljaCBpdCB1c2VkIHRvIGhhdmUgYmVmb3JlIGJ5IG1ha2luZwp1c2Ug b2YgaHZtX2VtdWxhdGVfb25lX3ZtX2V2ZW50LgoKSSB0aGluayB0aGlzIG5lZWRzIHRvIGF0IGxl YXN0IGJlIHdyaXR0ZW4gaW4gdGhlIGNvbW1pdCBtZXNzYWdlLgoKPiA+PiArICAgICAgICBmb3Jf ZWFjaF92Y3B1KGQsIHYpCj4gPj4gKyAgICAgICAgewo+ID4+ICsgICAgICAgICAgICBpZiAoICF2 LT5hcmNoLnJleGVjX2xldmVsICkKPiA+PiArICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4+ ICsKPiA+PiArICAgICAgICAgICAgZm9yICggaSA9IHYtPmFyY2gucmV4ZWNfbGV2ZWwgLSAxOyBp ID49IDA7IGktLSApCj4gPiAKPiA+IElzIHRoZXJlIGFueSByZWFzb24gdGhpcyBoYXMgdG8gYmUg ZG9uZSBiYWNrd2FyZHM/Cj4gPiAKPiA+IElmIHlvdSBkbyBpdCBmcm9tIDAgdG8gdi0+YXJjaC5y ZXhlY19sZXZlbCB5b3UgY291bGQgdXNlIGFuIHVuc2lnbmVkCj4gPiBpbnQgYXMgdGhlIGluZGV4 Lgo+IAo+IFRoaXMgaXMgZG9uZSBiYWNrd2FyZHMgYmVjYXVzZSBvZiB0aGUgY29ycmVzcG9uZGlu ZyBjb2RlIGluIAo+IHZteF9zdG9wX3JlZXhlY3V0ZV9pbnN0cnVjdGlvbigpIGJ1dCBoZXJlIGl0 IGNhbiBiZSB0dXJuZWQgdGhlIG90aGVyIHdheSAKPiBpZiB5b3UgaW5zaXN0IG9uIGkgdG8gYmUg dW5zaWduZWQuCgpZZXMsIEphbiBoYXMgYWxzbyBzdWdnZXN0ZWQgYSB3YXkgdG8gbWFrZSBpIHVu c2lnbmVkIHdoaWxlIGtlZXBpbmcgdGhlCmxvb3AgYmFja3dhcmRzLCBidXQgSSBkb24ndCBzZWUg dGhlIHBvaW50IG9mIHBlcmZvcm1pbmcgdGhlIGxvb3AKYmFja3dhcmRzIGlmIHRoZXJlJ3Mgbm8g bmVlZC4KClRoYW5rcywgUm9nZXIuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs