From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/6] x86/cpuid: Handle leaf 0x80000000 in guest_cpuid() Date: Wed, 18 Jan 2017 19:40:56 +0000 Message-ID: <1484768458-13117-5-git-send-email-andrew.cooper3@citrix.com> References: <1484768458-13117-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: <1484768458-13117-1-git-send-email-andrew.cooper3@citrix.com> 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 VGhlIGNhbGN1bGF0aW9ucyBmb3IgcC0+ZXh0ZC5tYXhfbGVhZiBhcmUgcmV3b3JrZWQgdG8gZm9y Y2UgYSB2YWx1ZSBvZiBhdApsZWFzdCAweDgwMDAwMDAwLCBhbmQgdG8gdGFrZSB0aGUgZG9tYWlu cyBjaG9zZW4gdmVuZG9yIGludG8gYWNjb3VudCB3aGVuCmNsYW1waW5nIG1heGltdW0gdmFsdWUu CgpUaGUgaGlnaCBzaG9ydCB2ZW5kb3IgaW5mb3JtYXRpb24gaXMgY2xvYmJlcmVkIG9yIGR1cGxp Y2F0ZWQgYWNjb3JkaW5nIHRvIHRoZQpjaG9zZW4gdmVuZG9yLgoKU2lnbmVkLW9mZi1ieTogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGlj aCA8SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2NwdWlkLmMgICAgICAgIHwg NDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiB4ZW4vaW5j bHVkZS9hc20teDg2L2NwdWlkLmggfCAgNiArKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDUgaW5z ZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1 aWQuYyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCmluZGV4IDg1YzgyOWQuLmRjNzZjZjQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHVpZC5jCkBA IC0xNjMsNiArMTYzLDI0IEBAIHN0YXRpYyB2b2lkIHJlY2FsY3VsYXRlX3hzdGF0ZShzdHJ1Y3Qg Y3B1aWRfcG9saWN5ICpwKQogICAgIH0KIH0KIAorc3RhdGljIHZvaWQgcmVjYWxjdWxhdGVfY29t bW9uKHN0cnVjdCBjcHVpZF9wb2xpY3kgKnApCit7CisgICAgc3dpdGNoICggcC0+eDg2X3ZlbmRv ciApCisgICAgeworICAgIGNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKKyAgICAgICAgcC0+ZXh0ZC52 ZW5kb3JfZWJ4ID0gMDsKKyAgICAgICAgcC0+ZXh0ZC52ZW5kb3JfZWN4ID0gMDsKKyAgICAgICAg cC0+ZXh0ZC52ZW5kb3JfZWR4ID0gMDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFg4Nl9W RU5ET1JfQU1EOgorICAgICAgICBwLT5leHRkLnZlbmRvcl9lYnggPSBwLT5iYXNpYy52ZW5kb3Jf ZWJ4OworICAgICAgICBwLT5leHRkLnZlbmRvcl9lY3ggPSBwLT5iYXNpYy52ZW5kb3JfZWN4Owor ICAgICAgICBwLT5leHRkLnZlbmRvcl9lZHggPSBwLT5iYXNpYy52ZW5kb3JfZWR4OworICAgICAg ICBicmVhazsKKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBjYWxjdWxhdGVfcmF3X3Bv bGljeSh2b2lkKQogewogICAgIHN0cnVjdCBjcHVpZF9wb2xpY3kgKnAgPSAmcmF3X3BvbGljeTsK QEAgLTIyNywxMiArMjQ1LDEyIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBjYWxjdWxhdGVfaG9zdF9w b2xpY3kodm9pZCkKICAgICAgICAgbWluX3QodWludDMyX3QsIHAtPmJhc2ljLm1heF9sZWFmLCAg IEFSUkFZX1NJWkUocC0+YmFzaWMucmF3KSAtIDEpOwogICAgIHAtPmZlYXQubWF4X3N1YmxlYWYg PQogICAgICAgICBtaW5fdCh1aW50MzJfdCwgcC0+ZmVhdC5tYXhfc3VibGVhZiwgQVJSQVlfU0la RShwLT5mZWF0LnJhdykgLSAxKTsKLSAgICBwLT5leHRkLm1heF9sZWFmID0KLSAgICAgICAgbWlu X3QodWludDMyX3QsIHAtPmV4dGQubWF4X2xlYWYsCi0gICAgICAgICAgICAgIDB4ODAwMDAwMDB1 ICsgQVJSQVlfU0laRShwLT5leHRkLnJhdykgLSAxKTsKKyAgICBwLT5leHRkLm1heF9sZWFmID0g MHg4MDAwMDAwMCB8IG1pbl90KHVpbnQzMl90LCBwLT5leHRkLm1heF9sZWFmICYgMHhmZmZmLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShwLT5l eHRkLnJhdykgLSAxKTsKIAogICAgIGNwdWlkX2ZlYXR1cmVzZXRfdG9fcG9saWN5KGJvb3RfY3B1 X2RhdGEueDg2X2NhcGFiaWxpdHksIHApOwogICAgIHJlY2FsY3VsYXRlX3hzdGF0ZShwKTsKKyAg ICByZWNhbGN1bGF0ZV9jb21tb24ocCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBjYWxjdWxh dGVfcHZfbWF4X3BvbGljeSh2b2lkKQpAQCAtMzYwLDcgKzM3OCwxMCBAQCB2b2lkIHJlY2FsY3Vs YXRlX2NwdWlkX3BvbGljeShzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgcC0+YmFzaWMubWF4X2xl YWYgICA9IG1pbihwLT5iYXNpYy5tYXhfbGVhZiwgICBtYXgtPmJhc2ljLm1heF9sZWFmKTsKICAg ICBwLT5mZWF0Lm1heF9zdWJsZWFmID0gbWluKHAtPmZlYXQubWF4X3N1YmxlYWYsIG1heC0+ZmVh dC5tYXhfc3VibGVhZik7Ci0gICAgcC0+ZXh0ZC5tYXhfbGVhZiAgICA9IG1pbihwLT5leHRkLm1h eF9sZWFmLCAgICBtYXgtPmV4dGQubWF4X2xlYWYpOworICAgIHAtPmV4dGQubWF4X2xlYWYgICAg PSAweDgwMDAwMDAwIHwgbWluKHAtPmV4dGQubWF4X2xlYWYgJiAweGZmZmYsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHAtPng4Nl92ZW5kb3IgPT0gWDg2X1ZF TkRPUl9BTUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBD UFVJRF9HVUVTVF9OUl9FWFREX0FNRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6IENQVUlEX0dVRVNUX05SX0VYVERfSU5URUwpIC0gMSk7CiAKICAgICBjcHVp ZF9wb2xpY3lfdG9fZmVhdHVyZXNldChwLCBmcyk7CiAgICAgY3B1aWRfcG9saWN5X3RvX2ZlYXR1 cmVzZXQobWF4LCBtYXhfZnMpOwpAQCAtNDI4LDYgKzQ0OSw3IEBAIHZvaWQgcmVjYWxjdWxhdGVf Y3B1aWRfcG9saWN5KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBjcHVpZF9mZWF0dXJlc2V0X3Rv X3BvbGljeShmcywgcCk7CiAgICAgcmVjYWxjdWxhdGVfeHN0YXRlKHApOworICAgIHJlY2FsY3Vs YXRlX2NvbW1vbihwKTsKIH0KIAogaW50IGluaXRfZG9tYWluX2NwdWlkX3BvbGljeShzdHJ1Y3Qg ZG9tYWluICpkKQpAQCAtNjgzLDYgKzcwNSw3IEBAIHN0YXRpYyB2b2lkIHB2X2NwdWlkKHVpbnQz Ml90IGxlYWYsIHVpbnQzMl90IHN1YmxlYWYsIHN0cnVjdCBjcHVpZF9sZWFmICpyZXMpCiAgICAg Y2FzZSAweDA6CiAgICAgY2FzZSAweDc6CiAgICAgY2FzZSBYU1RBVEVfQ1BVSUQ6CisgICAgY2Fz ZSAweDgwMDAwMDAwOgogICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgLyog Tm93IGhhbmRsZWQgaW4gZ3Vlc3RfY3B1aWQoKS4gKi8KICAgICB9CkBAIC04MzIsNiArODU1LDcg QEAgc3RhdGljIHZvaWQgaHZtX2NwdWlkKHVpbnQzMl90IGxlYWYsIHVpbnQzMl90IHN1YmxlYWYs IHN0cnVjdCBjcHVpZF9sZWFmICpyZXMpCiAgICAgY2FzZSAweDA6CiAgICAgY2FzZSAweDc6CiAg ICAgY2FzZSBYU1RBVEVfQ1BVSUQ6CisgICAgY2FzZSAweDgwMDAwMDAwOgogICAgICAgICBBU1NF UlRfVU5SRUFDSEFCTEUoKTsKICAgICAgICAgLyogTm93IGhhbmRsZWQgaW4gZ3Vlc3RfY3B1aWQo KS4gKi8KICAgICB9CkBAIC05MDEsOSArOTI1LDIxIEBAIHZvaWQgZ3Vlc3RfY3B1aWQoY29uc3Qg c3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IGxlYWYsCiAgICAgICAgIHJldHVybiBjcHVpZF9oeXBl cnZpc29yX2xlYXZlcyh2LCBsZWFmLCBzdWJsZWFmLCByZXMpOwogCiAgICAgY2FzZSAweDgwMDAw MDAwIC4uLiAweDgwMDAwMDAwICsgQ1BVSURfR1VFU1RfTlJfRVhURCAtIDE6Ci0gICAgICAgIGlm ICggbGVhZiA+IHAtPmV4dGQubWF4X2xlYWYgKQorICAgICAgICBBU1NFUlQoKHAtPmV4dGQubWF4 X2xlYWYgJiAweGZmZmYpIDwgQVJSQVlfU0laRShwLT5leHRkLnJhdykpOworICAgICAgICBpZiAo IChsZWFmICYgMHhmZmZmKSA+IG1pbl90KHVpbnQzMl90LCBwLT5leHRkLm1heF9sZWFmICYgMHhm ZmZmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUocC0+ ZXh0ZC5yYXcpIC0gMSkgKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBnb3RvIGxlZ2Fj eTsKKworICAgICAgICBzd2l0Y2ggKCBsZWFmICkKKyAgICAgICAgeworICAgICAgICBkZWZhdWx0 OgorICAgICAgICAgICAgZ290byBsZWdhY3k7CisKKyAgICAgICAgY2FzZSAweDgwMDAwMDAwOgor ICAgICAgICAgICAgKnJlcyA9IHAtPmV4dGQucmF3W2xlYWYgJiAweGZmZmZdOworICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgogICAg ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmgKaW5kZXggMjk5YTAyNi4uNDcxMmI3MyAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVpZC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvY3B1aWQuaApAQCAtODEsNyArODEsNyBAQCBzdHJ1Y3QgY3B1aWRfcG9saWN5CiAgICAgICog ICAtIEFsbCBvZiB0aGUgZmVhdCBhbmQgeHN0YXRlIHVuaW9ucwogICAgICAqICAgLSBtYXhfeyxz dWJ9bGVhZgogICAgICAqICAgLSBBbGwgRkVBVFVSRVNFVF8qIHdvcmRzCi0gICAgICogICAtIExv dyBzaG9ydCB2ZW5kb3IgaW5mb21hdGlvbgorICAgICAqICAgLSBTaG9ydCB2ZW5kb3IgaW5mb21h dGlvbgogICAgICAqCiAgICAgICogUGVyLWRvbWFpbiBvYmplY3RzOgogICAgICAqCkBAIC04OSw3 ICs4OSw3IEBAIHN0cnVjdCBjcHVpZF9wb2xpY3kKICAgICAgKiAgIC0gQWxsIG9mIHRoZSBmZWF0 IGFuZCB4c3RhdGUgdW5pb25zCiAgICAgICogICAtIG1heF97LHN1Yn1sZWFmCiAgICAgICogICAt IEFsbCBGRUFUVVJFU0VUXyogd29yZHMKLSAgICAgKiAgIC0gTG93IHNob3J0IHZlbmRvciBpbmZv bWF0aW9uCisgICAgICogICAtIFNob3J0IHZlbmRvciBpbmZvbWF0aW9uCiAgICAgICoKICAgICAg KiBFdmVyeXRoaW5nIGVsc2Ugc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW5hY2N1cmF0ZSwgYW5kIG5v dCBuZWNlc3NlcmlseSAwLgogICAgICAqLwpAQCAtMTY4LDcgKzE2OCw3IEBAIHN0cnVjdCBjcHVp ZF9wb2xpY3kKICAgICAgICAgc3RydWN0IGNwdWlkX2xlYWYgcmF3W0NQVUlEX0dVRVNUX05SX0VY VERdOwogICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgLyogTGVhZiAweDgwMDAwMDAwIC0g TWF4IGFuZCB2ZW5kb3IuICovCi0gICAgICAgICAgICB1aW50MzJfdCBtYXhfbGVhZiwgLyogYiAq LzozMiwgLyogYyAqLzozMiwgLyogZCAqLzozMjsKKyAgICAgICAgICAgIHVpbnQzMl90IG1heF9s ZWFmLCB2ZW5kb3JfZWJ4LCB2ZW5kb3JfZWN4LCB2ZW5kb3JfZWR4OwogCiAgICAgICAgICAgICAv KiBMZWFmIDB4ODAwMDAwMDEgLSBGYW1pbHkvbW9kZWwvc3RlcHBpbmcgYW5kIGZlYXR1cmVzLiAq LwogICAgICAgICAgICAgdWludDMyX3QgLyogYSAqLzozMiwgLyogYiAqLzozMjsKLS0gCjIuMS40 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==