From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petre Ovidiu PIRCALABU Subject: Re: [PATCH v3] x86/emul: Fix the handling of unimplemented Grp7 instructions Date: Tue, 5 Sep 2017 17:02:06 +0000 Message-ID: <1504630926.4551.41.camel@bitdefender.com> References: <1504545661-24626-1-git-send-email-andrew.cooper3@citrix.com> <1504600919-22861-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: <1504600919-22861-1-git-send-email-andrew.cooper3@citrix.com> Content-Language: en-US Content-ID: <822D714F522C0049A0168C4018163A68@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "andrew.cooper3@citrix.com" , "xen-devel@lists.xen.org" Cc: "JBeulich@suse.com" List-Id: xen-devel@lists.xenproject.org UmV2aWV3ZWQtYnk6IFBldHJlIFBpcmNhbGFidSA8cHBpcmNhbGFidUBiaXRkZWZlbmRlci5jb20+ DQoNCk9uIE1hLCAyMDE3LTA5LTA1IGF0IDA5OjQxICswMTAwLCBBbmRyZXcgQ29vcGVyIHdyb3Rl Og0KPiBHcnA3IGlzIGFibm9ybWFsbHkgY29tcGxpY2F0ZWQgdG8gZGVjb2RlLCBldmVuIGJ5IHg4 NidzIHN0YW5kYXJkcywNCj4gd2l0aA0KPiB7cyxsfW1zdyBiZWluZyB0aGUgcHJvYmxlbWF0aWMg Y2FzZXMuDQo+DQo+IFByZXZpb3VzbHksIGFueSB2YWx1ZSB3aGljaCBmZWxsIHRocm91Z2ggdGhl IGZpcnN0IHN3aXRjaCBzdGF0ZW1lbnQNCj4gKGxvb2tpbmcNCj4gZm9yIGluc3RydWN0aW9ucyB3 aXRoIGVudGlyZWx5IGltcGxpY2l0IG9wZXJhbmRzKSB3b3VsZCBiZQ0KPiBpbnRlcnByZXRlZCBi eSB0aGUNCj4gc2Vjb25kIHN3aXRjaCBzdGF0ZW1lbnQgKGhhbmRsaW5nIGluc3RydWN0aW9ucyB3 aXRoIG1lbW9yeSBvcGVyYW5kcykuDQo+DQo+IFVuaW1wbGVtZW50ZWQgaW5zdHJ1Y3Rpb25zIHdv dWxkIHRoZW4gaGl0IHRoZSAjVUQgY2FzZSBmb3IgaGF2aW5nIGENCj4gbm9uLW1lbW9yeQ0KPiBv cGVyYW5kLCByYXRoZXIgdGhhbiB0YWtpbmcgdGhlIGNhbm5vdF9lbXVsYXRlIHBhdGguDQo+DQo+ IENvbnNvbGlkYXRlIHRoZSB0d28gc3dpdGNoIHN0YXRlbWVudHMgaW50byBhIHNpbmdsZSBvbmUs IHVzaW5nIHJhbmdlcw0KPiB0byBjb3Zlcg0KPiB0aGUgaW5zdHJ1Y3Rpb25zIHdpdGggbWVtb3J5 IG9wZXJhbmRzLg0KPg0KPiBUaGlzIGFsc28gZml4ZXMgdGhlIGVtdWxhdGlvbiBvZiB4ZW5kLCB3 aGljaCB3b3VsZCBoaXQgdGhlICNVRCBwYXRoDQo+IHdoZW4gaXQNCj4gc2hvdWxkIGNvbXBsZXRl IHdpdGggbm8gc2lkZSBlZmZlY3RzLg0KPg0KPiBSZXBvcnRlZC1ieTogUGV0cmUgUGlyY2FsYWJ1 IDxwcGlyY2FsYWJ1QGJpdGRlZmVuZGVyLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gLS0tDQo+IENDOiBKYW4gQmV1bGlj aCA8SkJldWxpY2hAc3VzZS5jb20+DQo+IENDOiBQZXRyZSBQaXJjYWxhYnUgPHBwaXJjYWxhYnVA Yml0ZGVmZW5kZXIuY29tPg0KPg0KPiB2MzoNCj4gICogVXNlIGEgc2luZ2xlIHN3aXRjaCBzdGF0 ZW1lbnQuDQo+DQo+IHYyOg0KPiAgKiBVc2UgYnJlYWsgcmF0aGVyIHRoYW4gZ290byBjb21wbGV0 ZV9pbnNuIGZvciBpbXBsaWNpdA0KPiBpbnN0cnVjdGlvbnMuDQo+ICAqIE5vdGUgdGhhdCB3ZSBh Y3R1YWxseSBmaXggdGhlIGJlaGF2aW91ciBvZiB4ZW5kLg0KPg0KPiBSRkMgYXMgSSd2ZSBvbmx5 IGRvbmUgbGlnaHQgdGVzdGluZyBzbyBmYXIuDQo+IC0tLQ0KPiAgeGVuL2FyY2gveDg2L3g4Nl9l bXVsYXRlL3g4Nl9lbXVsYXRlLmMgfCA0OSArKysrKysrKysrKysrKysrKysrKystLS0NCj4gLS0t LS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9u cygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVs YXRlLmMNCj4gYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYw0KPiBpbmRl eCAyMjAxODUyLi40M2UwZTAwIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxh dGUveDg2X2VtdWxhdGUuYw0KPiArKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2Vt dWxhdGUuYw0KPiBAQCAtNDk4Nyw5ICs0OTg3LDEyIEBAIHg4Nl9lbXVsYXRlKA0KPiAgICAgICAg ICB9DQo+ICAgICAgICAgIGJyZWFrOw0KPg0KPiAtICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZiwg MHgwMSk6IC8qIEdycDcgKi8gew0KPiArICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgwZiwgMHgwMSk6 IC8qIEdycDcgKi8NCj4gKyAgICB7DQo+ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYmFzZSwgbGlt aXQsIGNyMCwgY3IwdzsNCj4NCj4gKyAgICAgICAgc2VnID0gKG1vZHJtX3JlZyAmIDEpID8geDg2 X3NlZ19pZHRyIDogeDg2X3NlZ19nZHRyOw0KPiArDQo+ICAgICAgICAgIHN3aXRjaCggbW9kcm0g KQ0KPiAgICAgICAgICB7DQo+ICAgICAgICAgIGNhc2UgMHhjYTogLyogY2xhYyAqLw0KPiBAQCAt NTAwMCw3ICs1MDAzLDcgQEAgeDg2X2VtdWxhdGUoDQo+ICAgICAgICAgICAgICBfcmVncy5lZmxh Z3MgJj0gflg4Nl9FRkxBR1NfQUM7DQo+ICAgICAgICAgICAgICBpZiAoIG1vZHJtID09IDB4Y2Ig KQ0KPiAgICAgICAgICAgICAgICAgIF9yZWdzLmVmbGFncyB8PSBYODZfRUZMQUdTX0FDOw0KPiAt ICAgICAgICAgICAgZ290byBjb21wbGV0ZV9pbnNuOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ DQo+ICAjaWZkZWYgX19YRU5fXw0KPiAgICAgICAgICBjYXNlIDB4ZDE6IC8qIHhzZXRidiAqLw0K PiBAQCAtNTAxMiw3ICs1MDE1LDcgQEAgeDg2X2VtdWxhdGUoDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaGFuZGxlX3hzZXRidihfcmVncy5lY3gsDQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfcmVncy5lYXggfA0KPiAoX3Jl Z3MucmR4IDw8IDMyKSksDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhD X0dQLCAwKTsNCj4gLSAgICAgICAgICAgIGdvdG8gY29tcGxldGVfaW5zbjsNCj4gKyAgICAgICAg ICAgIGJyZWFrOw0KPiAgI2VuZGlmDQo+DQo+ICAgICAgICAgIGNhc2UgMHhkNDogLyogdm1mdW5j ICovDQo+IEBAIC01MDIwLDcgKzUwMjMsNyBAQCB4ODZfZW11bGF0ZSgNCj4gICAgICAgICAgICAg IGZhaWxfaWYoIW9wcy0+dm1mdW5jKTsNCj4gICAgICAgICAgICAgIGlmICggKHJjID0gb3BzLT52 bWZ1bmMoY3R4dCkpICE9IFg4NkVNVUxfT0tBWSApDQo+ICAgICAgICAgICAgICAgICAgZ290byBk b25lOw0KPiAtICAgICAgICAgICAgZ290byBjb21wbGV0ZV9pbnNuOw0KPiArICAgICAgICAgICAg YnJlYWs7DQo+DQo+ICAgICAgICAgIGNhc2UgMHhkNTogLyogeGVuZCAqLw0KPiAgICAgICAgICAg ICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC5wZngsIEVYQ19VRCk7DQo+IEBAIC01MDM0LDcg KzUwMzcsNyBAQCB4ODZfZW11bGF0ZSgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFWENfVUQpOw0KPiAgICAgICAgICAgICAgLyogTmVpdGhlciBITEUgbm9yIFJUTSBjYW4g YmUgYWN0aXZlIHdoZW4gd2UgZ2V0IGhlcmUuDQo+ICovDQo+ICAgICAgICAgICAgICBfcmVncy5l ZmxhZ3MgfD0gWDg2X0VGTEFHU19aRjsNCj4gLSAgICAgICAgICAgIGdvdG8gY29tcGxldGVfaW5z bjsNCj4gKyAgICAgICAgICAgIGJyZWFrOw0KPg0KPiAgICAgICAgICBjYXNlIDB4ZGY6IC8qIGlu dmxwZ2EgKi8NCj4gICAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZighaW5fcHJvdG1v ZGUoY3R4dCwgb3BzKSwgRVhDX1VEKTsNCj4gQEAgLTUwNDMsNyArNTA0Niw3IEBAIHg4Nl9lbXVs YXRlKA0KPiAgICAgICAgICAgICAgaWYgKCAocmMgPSBvcHMtPmludmxwZyh4ODZfc2VnX25vbmUs DQo+IHRydW5jYXRlX2VhKF9yZWdzLnIoYXgpKSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3R4dCkpICkNCj4gICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+IC0g ICAgICAgICAgICBnb3RvIGNvbXBsZXRlX2luc247DQo+ICsgICAgICAgICAgICBicmVhazsNCj4N Cj4gICAgICAgICAgY2FzZSAweGY5OiAvKiByZHRzY3AgKi8NCj4gICAgICAgICAgICAgIGZhaWxf aWYob3BzLT5yZWFkX21zciA9PSBOVUxMKTsNCj4gQEAgLTUwOTEsMTYgKzUwOTQsMTYgQEAgeDg2 X2VtdWxhdGUoDQo+ICAgICAgICAgICAgICAgICAgYmFzZSArPSBzaXplb2YoemVybyk7DQo+ICAg ICAgICAgICAgICAgICAgbGltaXQgLT0gc2l6ZW9mKHplcm8pOw0KPiAgICAgICAgICAgICAgfQ0K PiAtICAgICAgICAgICAgZ290byBjb21wbGV0ZV9pbnNuOw0KPiAtICAgICAgICB9DQo+ICsgICAg ICAgICAgICBicmVhazsNCj4gICAgICAgICAgfQ0KPg0KPiAtICAgICAgICBzZWcgPSAobW9kcm1f cmVnICYgMSkgPyB4ODZfc2VnX2lkdHIgOiB4ODZfc2VnX2dkdHI7DQo+ICsjZGVmaW5lIF9HUlA3 KG1vZCwgcmVnKSBcDQo+ICsgICAgICAgICAgICAoKChtb2QpIDw8IDYpIHwgKChyZWcpIDw8IDMp KSAuLi4gKCgobW9kKSA8PCA2KSB8ICgocmVnKQ0KPiA8PCAzKSB8IDcpDQo+ICsjZGVmaW5lIEdS UDdfTUVNKHJlZykgX0dSUDcoMCwgcmVnKTogY2FzZSBfR1JQNygxLCByZWcpOiBjYXNlDQo+IF9H UlA3KDIsIHJlZykNCj4gKyNkZWZpbmUgR1JQN19BTEwocmVnKSBHUlA3X01FTShyZWcpOiBjYXNl IF9HUlA3KDMsIHJlZykNCj4NCj4gLSAgICAgICAgc3dpdGNoICggbW9kcm1fcmVnICYgNyApDQo+ IC0gICAgICAgIHsNCj4gLSAgICAgICAgY2FzZSAwOiAvKiBzZ2R0ICovDQo+IC0gICAgICAgIGNh c2UgMTogLyogc2lkdCAqLw0KPiArICAgICAgICBjYXNlIEdSUDdfTUVNKDApOiAvKiBzZ2R0ICov DQo+ICsgICAgICAgIGNhc2UgR1JQN19NRU0oMSk6IC8qIHNpZHQgKi8NCj4gICAgICAgICAgICAg IGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhDX1VEKTsNCj4gICAg ICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZih1bWlwX2FjdGl2ZShjdHh0LCBvcHMpLCBF WENfR1AsDQo+IDApOw0KPiAgICAgICAgICAgICAgZmFpbF9pZighb3BzLT5yZWFkX3NlZ21lbnQg fHwgIW9wcy0+d3JpdGUpOw0KPiBAQCAtNTExOSw4ICs1MTIyLDkgQEAgeDg2X2VtdWxhdGUoDQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfYnl0ZXMsIGN0eHQpKSAhPSBY ODZFTVVMX09LQVkgKQ0KPiAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsNCj4gICAgICAgICAg ICAgIGJyZWFrOw0KPiAtICAgICAgICBjYXNlIDI6IC8qIGxnZHQgKi8NCj4gLSAgICAgICAgY2Fz ZSAzOiAvKiBsaWR0ICovDQo+ICsNCj4gKyAgICAgICAgY2FzZSBHUlA3X01FTSgyKTogLyogbGdk dCAqLw0KPiArICAgICAgICBjYXNlIEdSUDdfTUVNKDMpOiAvKiBsaWR0ICovDQo+ICAgICAgICAg ICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIW1vZGVfcmluZzAoKSwgRVhDX0dQLCAwKTsNCj4g ICAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhD X1VEKTsNCj4gICAgICAgICAgICAgIGZhaWxfaWYob3BzLT53cml0ZV9zZWdtZW50ID09IE5VTEwp Ow0KPiBAQCAtNTEzOCw3ICs1MTQyLDggQEAgeDg2X2VtdWxhdGUoDQo+ICAgICAgICAgICAgICBp ZiAoIChyYyA9IG9wcy0+d3JpdGVfc2VnbWVudChzZWcsICZzcmVnLCBjdHh0KSkgKQ0KPiAgICAg ICAgICAgICAgICAgIGdvdG8gZG9uZTsNCj4gICAgICAgICAgICAgIGJyZWFrOw0KPiAtICAgICAg ICBjYXNlIDQ6IC8qIHNtc3cgKi8NCj4gKw0KPiArICAgICAgICBjYXNlIEdSUDdfQUxMKDQpOiAv KiBzbXN3ICovDQo+ICAgICAgICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYodW1pcF9hY3Rp dmUoY3R4dCwgb3BzKSwgRVhDX0dQLA0KPiAwKTsNCj4gICAgICAgICAgICAgIGlmICggZWEudHlw ZSA9PSBPUF9NRU0gKQ0KPiAgICAgICAgICAgICAgew0KPiBAQCAtNTE1Myw3ICs1MTU4LDggQEAg eDg2X2VtdWxhdGUoDQo+ICAgICAgICAgICAgICBpZiAoIChyYyA9IG9wcy0+cmVhZF9jcigwLCAm ZHN0LnZhbCwgY3R4dCkpICkNCj4gICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7DQo+ICAgICAg ICAgICAgICBicmVhazsNCj4gLSAgICAgICAgY2FzZSA2OiAvKiBsbXN3ICovDQo+ICsNCj4gKyAg ICAgICAgY2FzZSBHUlA3X0FMTCg2KTogLyogbG1zdyAqLw0KPiAgICAgICAgICAgICAgZmFpbF9p ZihvcHMtPnJlYWRfY3IgPT0gTlVMTCk7DQo+ICAgICAgICAgICAgICBmYWlsX2lmKG9wcy0+d3Jp dGVfY3IgPT0gTlVMTCk7DQo+ICAgICAgICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIW1v ZGVfcmluZzAoKSwgRVhDX0dQLCAwKTsNCj4gQEAgLTUxNjksMTYgKzUxNzUsMjMgQEAgeDg2X2Vt dWxhdGUoDQo+ICAgICAgICAgICAgICBpZiAoIChyYyA9IG9wcy0+d3JpdGVfY3IoMCwgY3IwLCBj dHh0KSkgKQ0KPiAgICAgICAgICAgICAgICAgIGdvdG8gZG9uZTsNCj4gICAgICAgICAgICAgIGJy ZWFrOw0KPiAtICAgICAgICBjYXNlIDc6IC8qIGludmxwZyAqLw0KPiArDQo+ICsgICAgICAgIGNh c2UgR1JQN19NRU0oNyk6IC8qIGludmxwZyAqLw0KPiAgICAgICAgICAgICAgZ2VuZXJhdGVfZXhj ZXB0aW9uX2lmKCFtb2RlX3JpbmcwKCksIEVYQ19HUCwgMCk7DQo+ICAgICAgICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoZWEudHlwZSAhPSBPUF9NRU0sIEVYQ19VRCk7DQo+ICAgICAgICAg ICAgICBmYWlsX2lmKG9wcy0+aW52bHBnID09IE5VTEwpOw0KPiAgICAgICAgICAgICAgaWYgKCAo cmMgPSBvcHMtPmludmxwZyhlYS5tZW0uc2VnLCBlYS5tZW0ub2ZmLCBjdHh0KSkgKQ0KPiAgICAg ICAgICAgICAgICAgIGdvdG8gZG9uZTsNCj4gICAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICAg ICAgICAgIGRlZmF1bHQ6DQo+ICAgICAgICAgICAgICBnb3RvIGNhbm5vdF9lbXVsYXRlOw0KPiAg ICAgICAgICB9DQo+ICsNCj4gKyN1bmRlZiBHUlA3X0FMTA0KPiArI3VuZGVmIEdSUDdfTUVNDQo+ ICsjdW5kZWYgX0dSUDcNCj4gKw0KPiAgICAgICAgICBicmVhazsNCj4gICAgICB9DQo+DQoNCl9f X19fX19fX19fX19fX19fX19fX19fXw0KVGhpcyBlbWFpbCB3YXMgc2Nhbm5lZCBieSBCaXRkZWZl bmRlcg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==