From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: Re: [PATCH] x86: avoid #GP for PV guest MSR accesses Date: Fri, 22 Sep 2017 10:32:11 +0000 Message-ID: <1506076331.3246.2.camel@citrix.com> References: <59C4EEA3020000780017E6DE@prv-mh.provo.novell.com> <59C4EEA3020000780017E6DE@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dvLFp-0005UC-C2 for xen-devel@lists.xenproject.org; Fri, 22 Sep 2017 10:32:17 +0000 In-Reply-To: <59C4EEA3020000780017E6DE@prv-mh.provo.novell.com> Content-Language: en-US Content-ID: <5226DC4ACAA6A04AAF35E9034ABAC343@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "JBeulich@suse.com" Cc: Sergey Dyasli , "xen-devel@lists.xenproject.org" , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gRnJpLCAyMDE3LTA5LTIyIGF0IDAzOjA2IC0wNjAwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4g SGFsZndheSByZWNlbnQgTGludXgga2VybmVscyBwcm9iZSBNSVNDX0ZFQVRVUkVTX0VOQUJMRVMg b24gYWxsIENQVXMsDQo+IGxlYWRpbmcgdG8gdWdseSByZWNvdmVyZWQgI0dQIGZhdWx0IG1lc3Nh Z2VzIHdpdGggZGVidWcgYnVpbGRzIG9uIG9sZGVyDQo+IHN5c3RlbXMuIFdlIGNhbiBkbyBiZXR0 ZXIsIHNvIGludHJvZHVjZSBzeW50aGV0aWMgZmVhdHVyZSBmbGFncyBmb3INCj4gYm90aCB0aGlz IGFuZCBQTEFURk9STV9JTkZPIHRvIGF2b2lkIHRoZSByZG1zcl9zYWZlKCkgYWx0b2dldGhlci4N Cj4gDQo+IFRoZSByZG1zcl9zYWZlKCkgdXNlcyBmb3IgTUlTQ19FTkFCTEUgYXJlIGxlZnQgaW4g cGxhY2UgYXMgYmVuaWduIC0gaXQNCj4gZXhpc3RzIGZvciBhbGwgNjQtYml0IGNhcGFibGUgSW50 ZWwgQ1BVcyAoc2VlIGUuZy4gZWFybHlfaW5pdF9pbnRlbCgpKS4NCj4gDQo+IFNpZ25lZC1vZmYt Ynk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhlIGludGVudCBvZiB0aGlz IHBhdGNoIChhbmQgdGhlIHJlbGF0ZWQgIlZNWDogUExBVEZPUk1fSU5GTyBNU1IgaXMNCnIvbyIp IGlzIHNvbWV3aGF0IGludGVyc2VjdHMgd2l0aCBteSBzZXJpZXMgIkdlbmVyaWMgTVNSIHBvbGlj eToNCmluZnJhc3RydWN0dXJlICsgY3B1aWRfZmF1bHRpbmciLiBJTUhPIGl0J3MgYmV0dGVyIHRv IGZpeCBNU1ItcmVsYXRlZA0KaXNzdWVzIGluIHRoZSBzY29wZSBvZiB0aGUgTVNSIHBvbGljeSB3 b3JrLg0KDQpBbHNvLCBJIGhhdmUgb25lIHF1ZXN0aW9uIGJlbG93Lg0KDQo+IA0KPiAtLS0gYS94 ZW4vYXJjaC94ODYvY3B1L2ludGVsLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L2NwdS9pbnRlbC5j DQo+IEBAIC0yMSwxMCArMjEsMTkgQEAgc3RhdGljIGJvb2wgX19pbml0IHByb2JlX2ludGVsX2Nw dWlkX2ZhdQ0KPiAgew0KPiAgCXVpbnQ2NF90IHg7DQo+ICANCj4gLQlpZiAocmRtc3Jfc2FmZShN U1JfSU5URUxfUExBVEZPUk1fSU5GTywgeCkgfHwNCj4gLQkgICAgISh4ICYgTVNSX1BMQVRGT1JN X0lORk9fQ1BVSURfRkFVTFRJTkcpKQ0KPiArCWlmIChyZG1zcl9zYWZlKE1TUl9JTlRFTF9QTEFU Rk9STV9JTkZPLCB4KSkNCj4gIAkJcmV0dXJuIDA7DQo+ICANCj4gKwlzZXR1cF9mb3JjZV9jcHVf Y2FwKFg4Nl9GRUFUVVJFX01TUl9QTEFURk9STV9JTkZPKTsNCj4gKw0KPiArCWlmICghKHggJiBN U1JfUExBVEZPUk1fSU5GT19DUFVJRF9GQVVMVElORykpIHsNCj4gKwkJaWYgKCFyZG1zcl9zYWZl KE1TUl9JTlRFTF9NSVNDX0ZFQVRVUkVTX0VOQUJMRVMsIHgpKQ0KPiArCQkJc2V0dXBfZm9yY2Vf Y3B1X2NhcChYODZfRkVBVFVSRV9NU1JfTUlTQ19GRUFUVVJFUyk7DQo+ICsJCXJldHVybiAwOw0K PiArCX0NCj4gKw0KPiArCXNldHVwX2ZvcmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfTVNSX01JU0Nf RkVBVFVSRVMpOw0KPiArDQo+ICAJZXhwZWN0ZWRfbGV2ZWxsaW5nX2NhcCB8PSBMQ0FQX2ZhdWx0 aW5nOw0KPiAgCWxldmVsbGluZ19jYXBzIHw9ICBMQ0FQX2ZhdWx0aW5nOw0KPiAgCXNldHVwX2Zv cmNlX2NwdV9jYXAoWDg2X0ZFQVRVUkVfQ1BVSURfRkFVTFRJTkcpOw0KPiAtLS0gYS94ZW4vYXJj aC94ODYvcHYvZW11bC1wcml2LW9wLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJp di1vcC5jDQo+IEBAIC05NDEsOCArOTQxLDcgQEAgc3RhdGljIGludCByZWFkX21zcih1bnNpZ25l ZCBpbnQgcmVnLCB1aQ0KPiAgICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOw0KPiAgDQo+ICAg ICAgY2FzZSBNU1JfSU5URUxfUExBVEZPUk1fSU5GTzoNCj4gLSAgICAgICAgaWYgKCBib290X2Nw dV9kYXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCB8fA0KPiAtICAgICAgICAgICAg IHJkbXNyX3NhZmUoTVNSX0lOVEVMX1BMQVRGT1JNX0lORk8sICp2YWwpICkNCj4gKyAgICAgICAg aWYgKCAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX01TUl9QTEFURk9STV9JTkZPKSApDQo+ICAg ICAgICAgICAgICBicmVhazsNCj4gICAgICAgICAgKnZhbCA9IDA7DQo+ICAgICAgICAgIGlmICgg dGhpc19jcHUoY3B1aWRfZmF1bHRpbmdfZW5hYmxlZCkgKQ0KPiBAQCAtOTUwLDggKzk0OSw3IEBA IHN0YXRpYyBpbnQgcmVhZF9tc3IodW5zaWduZWQgaW50IHJlZywgdWkNCj4gICAgICAgICAgcmV0 dXJuIFg4NkVNVUxfT0tBWTsNCj4gIA0KPiAgICAgIGNhc2UgTVNSX0lOVEVMX01JU0NfRkVBVFVS RVNfRU5BQkxFUzoNCj4gLSAgICAgICAgaWYgKCBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgIT0g WDg2X1ZFTkRPUl9JTlRFTCB8fA0KPiAtICAgICAgICAgICAgIHJkbXNyX3NhZmUoTVNSX0lOVEVM X01JU0NfRkVBVFVSRVNfRU5BQkxFUywgKnZhbCkgKQ0KPiArICAgICAgICBpZiAoICFib290X2Nw dV9oYXMoWDg2X0ZFQVRVUkVfTVNSX01JU0NfRkVBVFVSRVMpICkNCj4gICAgICAgICAgICAgIGJy ZWFrOw0KPiAgICAgICAgICAqdmFsID0gMDsNCj4gICAgICAgICAgaWYgKCBjdXJyLT5hcmNoLmNw dWlkX2ZhdWx0aW5nICkNCj4gQEAgLTExNDcsMTUgKzExNDUsMTMgQEAgc3RhdGljIGludCB3cml0 ZV9tc3IodW5zaWduZWQgaW50IHJlZywgdQ0KPiAgICAgICAgICByZXR1cm4gWDg2RU1VTF9PS0FZ Ow0KPiAgDQo+ICAgICAgY2FzZSBNU1JfSU5URUxfUExBVEZPUk1fSU5GTzoNCj4gLSAgICAgICAg aWYgKCBib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9JTlRFTCB8fA0KPiAt ICAgICAgICAgICAgIHZhbCB8fCByZG1zcl9zYWZlKE1TUl9JTlRFTF9QTEFURk9STV9JTkZPLCB2 YWwpICkNCj4gKyAgICAgICAgaWYgKCAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX01TUl9QTEFU Rk9STV9JTkZPKSB8fCB2YWwgKQ0KPiAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgIHJl dHVybiBYODZFTVVMX09LQVk7DQoNCldoeSB3cml0ZXMgdG8gTVNSX0lOVEVMX1BMQVRGT1JNX0lO Rk8gc2hvdWxkbid0IHByb2R1Y2UgI0dQIGZhdWx0cyBmb3INClBWIGd1ZXN0cz8NCg0KPiAgDQo+ ICAgICAgY2FzZSBNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19FTkFCTEVTOg0KPiAtICAgICAgICBp ZiAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMIHx8DQo+IC0g ICAgICAgICAgICAgKHZhbCAmIH5NU1JfTUlTQ19GRUFUVVJFU19DUFVJRF9GQVVMVElORykgfHwN Cj4gLSAgICAgICAgICAgICByZG1zcl9zYWZlKE1TUl9JTlRFTF9NSVNDX0ZFQVRVUkVTX0VOQUJM RVMsIHRlbXApICkNCj4gKyAgICAgICAgaWYgKCAhYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX01T Ul9NSVNDX0ZFQVRVUkVTKSB8fA0KPiArICAgICAgICAgICAgICh2YWwgJiB+TVNSX01JU0NfRkVB VFVSRVNfQ1BVSURfRkFVTFRJTkcpICkNCj4gICAgICAgICAgICAgIGJyZWFrOw0KPiAgICAgICAg ICBpZiAoICh2YWwgJiBNU1JfTUlTQ19GRUFUVVJFU19DUFVJRF9GQVVMVElORykgJiYNCj4gICAg ICAgICAgICAgICAhdGhpc19jcHUoY3B1aWRfZmF1bHRpbmdfZW5hYmxlZCkgKQ0KPiAtLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmgNCj4gKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9jcHVmZWF0dXJlcy5oDQo+IEBAIC0yMiwzICsyMiw1IEBAIFhFTl9DUFVGRUFUVVJFKEFQ RVJGTVBFUkYsICAgICAgKEZTQ0FQSU4NCj4gIFhFTl9DUFVGRUFUVVJFKE1GRU5DRV9SRFRTQywg ICAgKEZTQ0FQSU5UUyswKSozMisgOSkgLyogTUZFTkNFIHN5bmNocm9uaXplcyBSRFRTQyAqLw0K PiAgWEVOX0NQVUZFQVRVUkUoWEVOX1NNRVAsICAgICAgICAoRlNDQVBJTlRTKzApKjMyKzEwKSAv KiBTTUVQIGdldHMgdXNlZCBieSBYZW4gaXRzZWxmICovDQo+ICBYRU5fQ1BVRkVBVFVSRShYRU5f U01BUCwgICAgICAgIChGU0NBUElOVFMrMCkqMzIrMTEpIC8qIFNNQVAgZ2V0cyB1c2VkIGJ5IFhl biBpdHNlbGYgKi8NCj4gK1hFTl9DUFVGRUFUVVJFKE1TUl9QTEFURk9STV9JTkZPLCAoRlNDQVBJ TlRTKzApKjMyKzEyKSAvKiBQTEFURk9STV9JTkZPIE1TUiBwcmVzZW50ICovDQo+ICtYRU5fQ1BV RkVBVFVSRShNU1JfTUlTQ19GRUFUVVJFUywgKEZTQ0FQSU5UUyswKSozMisxMykgLyogTUlTQ19G RUFUVVJFU19FTkFCTEVTIE1TUiBwcmVzZW50ICovDQo+IA0KPiANCj4gDQo+IA0KPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBYZW4tZGV2ZWwgbWFp bGluZyBsaXN0DQo+IFhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnDQo+IGh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwNCi0tIA0KVGhhbmtzLA0KU2VyZ2V5Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=