From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH 7/8] x86/emul: Support CPUID fauilting via a speculative MSR read Date: Mon, 5 Dec 2016 13:06:53 +0000 Message-ID: <9a7acf76d496499a9c1a418add1db284@AMSPEX02CL03.citrite.net> References: <1480932571-23547-1-git-send-email-andrew.cooper3@citrix.com> <1480932571-23547-8-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: <1480932571-23547-8-git-send-email-andrew.cooper3@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEFuZHJldyBDb29wZXIgW21haWx0 bzphbmRyZXcuY29vcGVyM0BjaXRyaXguY29tXQo+IFNlbnQ6IDA1IERlY2VtYmVyIDIwMTYgMTA6 MTAKPiBUbzogWGVuLWRldmVsIDx4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZz4KPiBDYzogQW5kcmV3 IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT47IEphbiBCZXVsaWNoCj4gPEpCZXVs aWNoQHN1c2UuY29tPjsgUGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiBT dWJqZWN0OiBbUEFUQ0ggNy84XSB4ODYvZW11bDogU3VwcG9ydCBDUFVJRCBmYXVpbHRpbmcgdmlh IGEgc3BlY3VsYXRpdmUKPiBNU1IgcmVhZAo+IAo+IFVzZSB0aGUgbmV3IHNwZWN1bGF0aXZlIHJl YWQgc3VwcG9ydCB0byBxdWVyeSBNU1JfSU5URUxfTUlTQ19GRUFUVVJFUwo+IGZvcgo+IGFjdGl2 ZSBDUFVJRCBmYXVsdGluZywgd2l0aG91dCByYWlzaW5nICNHUCBhcyBhIHNpZGUgZWZmZWN0Lgo+ IAo+IFRoaXMgcmVtb3ZlcyB0aGUgbmVlZCBmb3IgZXZlcnkgY3B1aWQoKSBlbXVsYXRpb24gaG9v ayB0byBpbmRpdmlkdWFsbHkKPiBzdXBwb3J0Cj4gQ1BVSUQgZmF1bHRpbmcuCj4gCj4gU2lnbmVk LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KPiAtLS0K PiBDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgo+IENDOiBQYXVsIER1cnJhbnQg PHBhdWwuZHVycmFudEBjaXRyaXguY29tPgoKUmV2aWV3ZWQtYnk6IFBhdWwgRHVycmFudCA8cGF1 bC5kdXJyYW50QGNpdHJpeC5jb20+Cgo+IAo+IEphbjogUHJvYmFibHkgd29ydGggd2FpdGluZyB0 byByZWJhc2Ugb3ZlciB5b3VyIGNoYW5nZXMgbW92aW5nIHRoZQo+IGFyY2hpdGVjdHJ1YWwgZGVm aW5lcyBlbHNld2hlcmUKPiAtLS0KPiAgeGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMgICAgICAg ICAgICAgfCAgOSAtLS0tLS0tLS0KPiAgeGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVs YXRlLmMgfCAxNiArKysrKysrKysrKysrLS0tCj4gIHhlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94 ODZfZW11bGF0ZS5oIHwgIDcgKy0tLS0tLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKyksIDE4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZt L2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCj4gaW5kZXggYmNlMGIwMC4u MWExMzJlNyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwo+ICsrKyBi L3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCj4gQEAgLTE1NjcsMTUgKzE1NjcsNiBAQCBpbnQg aHZtZW11bF9jcHVpZCgKPiAgICAgIHVuc2lnbmVkIGludCAqZWR4LAo+ICAgICAgc3RydWN0IHg4 Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCj4gIHsKPiAtICAgIC8qCj4gLSAgICAgKiB4ODZfZW11bGF0 ZSB1c2VzIHRoaXMgZnVuY3Rpb24gdG8gcXVlcnkgQ1BVIGZlYXR1cmVzIGZvciBpdHMgb3duCj4g aW50ZXJuYWwKPiAtICAgICAqIHVzZS4gTWFrZSBzdXJlIHdlJ3JlIGFjdHVhbGx5IGVtdWxhdGlu ZyBDUFVJRCBiZWZvcmUgZW11bGF0aW5nIENQVUlECj4gLSAgICAgKiBmYXVsdGluZy4KPiAtICAg ICAqLwo+IC0gICAgaWYgKCBjdHh0LT5vcGNvZGUgPT0gWDg2RU1VTF9PUEMoMHgwZiwgMHhhMikg JiYKPiAtICAgICAgICAgaHZtX2NoZWNrX2NwdWlkX2ZhdWx0aW5nKGN1cnJlbnQpICkKPiAtICAg ICAgICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047Cj4gLQo+ICAgICAgaHZtX2Z1bmNzLmNwdWlk X2ludGVyY2VwdChlYXgsIGVieCwgZWN4LCBlZHgpOwo+ICAgICAgcmV0dXJuIFg4NkVNVUxfT0tB WTsKPiAgfQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxh dGUuYwo+IGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKPiBpbmRleCA1 Y2JhN2VjLi42NzQ5NWViIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94 ODZfZW11bGF0ZS5jCj4gKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRl LmMKPiBAQCAtNDA2LDYgKzQwNiw4IEBAIHR5cGVkZWYgdW5pb24gewo+IAo+ICAvKiBNU1JzLiAq Lwo+ICAjZGVmaW5lIE1TUl9UU0MgICAgICAgICAgMHgwMDAwMDAxMAo+ICsjZGVmaW5lIE1TUl9J TlRFTF9NSVNDX0ZFQVRVUkVTIDB4MDAwMDAxNDAKPiArI2RlZmluZSBNSVNDX0ZFQVRVUkVTX0NQ VUlEX0ZBVUxUSU5HICgxIDw8IDApCj4gICNkZWZpbmUgTVNSX1NZU0VOVEVSX0NTICAweDAwMDAw MTc0Cj4gICNkZWZpbmUgTVNSX1NZU0VOVEVSX0VTUCAweDAwMDAwMTc1Cj4gICNkZWZpbmUgTVNS X1NZU0VOVEVSX0VJUCAweDAwMDAwMTc2Cj4gQEAgLTUwNDQsMTMgKzUwNDYsMjEgQEAgeDg2X2Vt dWxhdGUoCj4gICAgICAgICAgc3JjLnZhbCA9IHg4Nl9zZWdfZnM7Cj4gICAgICAgICAgZ290byBw b3Bfc2VnOwo+IAo+IC0gICAgY2FzZSBYODZFTVVMX09QQygweDBmLCAweGEyKTogLyogY3B1aWQg Ki8gewo+ICsgICAgY2FzZSBYODZFTVVMX09QQygweDBmLCAweGEyKTogLyogY3B1aWQgKi8KPiAr ICAgIHsKPiAgICAgICAgICB1bnNpZ25lZCBpbnQgZWF4ID0gX3JlZ3MuZWF4LCBlYnggPSBfcmVn cy5lYng7Cj4gICAgICAgICAgdW5zaWduZWQgaW50IGVjeCA9IF9yZWdzLmVjeCwgZWR4ID0gX3Jl Z3MuZWR4Owo+ICsgICAgICAgIHVpbnQ2NF90IG1pc2NfZmVhdHVyZXM7Cj4gKwo+ICAgICAgICAg IGZhaWxfaWYob3BzLT5jcHVpZCA9PSBOVUxMKTsKPiArICAgICAgICBnZW5lcmF0ZV9leGNlcHRp b25faWYoCj4gKyAgICAgICAgICAgIG9wcy0+cmVhZF9tc3IgJiYKPiArICAgICAgICAgICAgb3Bz LT5yZWFkX21zcihNU1JfSU5URUxfTUlTQ19GRUFUVVJFUywKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAmbWlzY19mZWF0dXJlcywgdHJ1ZSwgY3R4dCkgPT0gWDg2RU1VTF9PS0FZICYmCj4g KyAgICAgICAgICAgIChtaXNjX2ZlYXR1cmVzICYgTUlTQ19GRUFUVVJFU19DUFVJRF9GQVVMVElO RykgJiYKPiArICAgICAgICAgICAgIW1vZGVfcmluZzAoKSwgRVhDX0dQLCAwKTsgLyogQ1BVSUQg RmF1bHRpbmc/ICovCj4gKwo+ICAgICAgICAgIHJjID0gb3BzLT5jcHVpZCgmZWF4LCAmZWJ4LCAm ZWN4LCAmZWR4LCBjdHh0KTsKPiAtICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYocmMgPT0g WDg2RU1VTF9FWENFUFRJT04sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYQ19H UCwgMCk7IC8qIENQVUlEIEZhdWx0aW5nPyAqLwo+ICAgICAgICAgIGlmICggcmMgIT0gWDg2RU1V TF9PS0FZICkKPiAgICAgICAgICAgICAgZ290byBkb25lOwo+ICAgICAgICAgIF9yZWdzLmVheCA9 IGVheDsgX3JlZ3MuZWJ4ID0gZWJ4Owo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2X2Vt dWxhdGUveDg2X2VtdWxhdGUuaAo+IGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVs YXRlLmgKPiBpbmRleCA4OWNmMjBkLi40NmM4NjNmIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4 Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oCj4gKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVs YXRlL3g4Nl9lbXVsYXRlLmgKPiBAQCAtMzk1LDEyICszOTUsNyBAQCBzdHJ1Y3QgeDg2X2VtdWxh dGVfb3BzCj4gICAgICBpbnQgKCp3YmludmQpKAo+ICAgICAgICAgIHN0cnVjdCB4ODZfZW11bGF0 ZV9jdHh0ICpjdHh0KTsKPiAKPiAtICAgIC8qCj4gLSAgICAgKiBjcHVpZDogRW11bGF0ZSBDUFVJ RCB2aWEgZ2l2ZW4gc2V0IG9mIEVBWC1FRFggaW5wdXRzL291dHB1dHMuCj4gLSAgICAgKgo+IC0g ICAgICogTWF5IHJldHVybiBYODZFTVVMX0VYQ0VQVElPTiwgd2hpY2ggY2F1c2VzIHRoZSBlbXVs YXRvciB0byBpbmplY3QKPiAtICAgICAqICNHUFswXS4gIFVzZWQgdG8gaW1wbGVtZW50IENQVUlE IGZhdWx0aW5nLgo+IC0gICAgICovCj4gKyAgICAvKiBjcHVpZDogRW11bGF0ZSBDUFVJRCB2aWEg Z2l2ZW4gc2V0IG9mIEVBWC1FRFggaW5wdXRzL291dHB1dHMuICovCj4gICAgICBpbnQgKCpjcHVp ZCkoCj4gICAgICAgICAgdW5zaWduZWQgaW50ICplYXgsCj4gICAgICAgICAgdW5zaWduZWQgaW50 ICplYngsCj4gLS0KPiAyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=