From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 03/26] xen/x86: Collect more cpuid feature leaves Date: Wed, 23 Mar 2016 16:36:06 +0000 Message-ID: <1458750989-28967-4-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-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: <1458750989-28967-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 List-Id: xen-devel@lists.xenproject.org TmV3IHdvcmRzIGFyZToKICogMHg4MDAwMDAwNy5lZHggLSBDb250YWlucyBJbnZhcmllbnQgVFND CiAqIDB4ODAwMDAwMDguZWJ4IC0gTmV3bHkgdXNlZCBmb3IgQU1EIFplbiBwcm9jZXNzb3JzCgpJ biBhZGRpdGlvbiwgcmVwbGFjZSBzb21lIG9wZW4tY29kZWQgSVRTQyBhbmQgRUZSTyBtYW5pcHVs YXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgpBY2tlZC1ieTogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdl ZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgotLS0K djI6CiAqIFJlbHkgb24gb3JkZXJpbmcgb2YgZ2VuZXJpY19pZGVudGlmeSgpIHRvIHNpbXBsaWZ5 IGluaXRfYW1kKCkKICogUmVtb3ZlIG9wZW5jb2RlZCBFRlJPIG1hbmlwdWxhdGlvbiBhcyB3ZWxs Ci0tLQogeGVuL2FyY2gveDg2L2NwdS9hbWQuYyAgICB8IDIxICsrKy0tLS0tLS0tLS0tLS0tLS0t LQogeGVuL2FyY2gveDg2L2NwdS9jb21tb24uYyB8ICA2ICsrKysrKwogeGVuL2FyY2gveDg2L2Nw dS9pbnRlbC5jICB8ICAyICstCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgIHwgIDIgKy0KIDQg ZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKaW5k ZXggYTRiZWYyMS4uNDdhMzhjNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYwor KysgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCkBAIC0yOTQsMjEgKzI5NCw2IEBAIGludCBjcHVf aGFzX2FtZF9lcnJhdHVtKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqY3B1LCBpbnQgb3N2d19p ZCwgLi4uKQogCXJldHVybiAwOwogfQogCi0vKiBDYW4gdGhpcyBzeXN0ZW0gc3VmZmVyIGZyb20g VFNDIGRyaWZ0IGR1ZSB0byBDMSBjbG9jayByYW1waW5nPyAqLwotc3RhdGljIGludCBjMV9yYW1w aW5nX21heV9jYXVzZV9jbG9ja19kcmlmdChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpIAoteyAKLQlp ZiAoY3B1aWRfZWR4KDB4ODAwMDAwMDcpICYgKDE8PDgpKSB7Ci0JCS8qCi0JCSAqIENQVUlELkFk dlBvd2VyTWdtdEluZm8uVHNjSW52YXJpYW50Ci0JCSAqIEVEWCBiaXQgOCwgODAwMF8wMDA3Ci0J CSAqIEludmFyaWFudCBUU0Mgb24gOHRoIEdlbiBvciBuZXdlciwgdXNlIGl0Ci0JCSAqIChhc3N1 bWUgYWxsIGNvcmVzIGhhdmUgaW52YXJpYW50IFRTQykKLQkJICovCi0JCXJldHVybiAwOwotCX0K LQlyZXR1cm4gMTsKLX0KLQogLyoKICAqIERpc2FibGUgQzEtQ2xvY2sgcmFtcGluZyBpZiBlbmFi bGVkIGluIFBNTTcuQ3B1TG93UHdyRW5oIG9uIDh0aC1nZW5lcmF0aW9uCiAgKiBjb3JlcyBvbmx5 LiBBc3N1bWUgQklPUyBoYXMgc2V0dXAgYWxsIE5vcnRoYnJpZGdlcyBlcXVpdmFsZW50bHkuCkBA IC00NzUsNyArNDYwLDcgQEAgc3RhdGljIHZvaWQgaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2 ICpjKQogCX0KIAogCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KSB7 Ci0JCWlmIChjcHVpZF9lZHgoMHg4MDAwMDAwNykgJiAoMTw8OCkpIHsKKwkJaWYgKGNwdV9oYXMo YywgWDg2X0ZFQVRVUkVfSVRTQykpIHsKIAkJCV9fc2V0X2JpdChYODZfRkVBVFVSRV9DT05TVEFO VF9UU0MsIGMtPng4Nl9jYXBhYmlsaXR5KTsKIAkJCV9fc2V0X2JpdChYODZfRkVBVFVSRV9OT05T VE9QX1RTQywgYy0+eDg2X2NhcGFiaWxpdHkpOwogCQkJaWYgKGMtPng4NiAhPSAweDExKQpAQCAt NjAwLDE0ICs1ODUsMTQgQEAgc3RhdGljIHZvaWQgaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2 ICpjKQogCQl3cm1zcmwoTVNSX0s3X1BFUkZDVFIzLCAwKTsKIAl9CiAKLQlpZiAoY3B1aWRfZWR4 KDB4ODAwMDAwMDcpICYgKDEgPDwgMTApKSB7CisJaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVf RUZSTykpIHsKIAkJcmRtc3IoTVNSX0s3X0hXQ1IsIGwsIGgpOwogCQlsIHw9ICgxIDw8IDI3KTsg LyogRW5hYmxlIHJlYWQtb25seSBBUEVSRi9NUEVSRiBiaXQgKi8KIAkJd3Jtc3IoTVNSX0s3X0hX Q1IsIGwsIGgpOwogCX0KIAogCS8qIFByZXZlbnQgVFNDIGRyaWZ0IGluIG5vbiBzaW5nbGUtcHJv Y2Vzc29yLCBzaW5nbGUtY29yZSBwbGF0Zm9ybXMuICovCi0JaWYgKChzbXBfcHJvY2Vzc29yX2lk KCkgPT0gMSkgJiYgYzFfcmFtcGluZ19tYXlfY2F1c2VfY2xvY2tfZHJpZnQoYykpCisJaWYgKChz bXBfcHJvY2Vzc29yX2lkKCkgPT0gMSkgJiYgIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSVRTQykp CiAJCWRpc2FibGVfYzFfcmFtcGluZygpOwogCiAJc2V0X2NwdWlkbWFzayhjKTsKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMgYi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5j CmluZGV4IDhiOTRjMWIuLjFhMjc4YjEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvY29t bW9uLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwpAQCAtMjY5LDYgKzI2OSwxMiBA QCBzdGF0aWMgdm9pZCBnZW5lcmljX2lkZW50aWZ5KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAog CWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA0KQogCQlnZXRfbW9kZWxf bmFtZShjKTsgLyogRGVmYXVsdCBuYW1lICovCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVs ID49IDB4ODAwMDAwMDcpCisJCWMtPng4Nl9jYXBhYmlsaXR5W2NwdWZlYXRfd29yZChYODZfRkVB VFVSRV9JVFNDKV0KKwkJCT0gY3B1aWRfZWR4KDB4ODAwMDAwMDcpOworCWlmIChjLT5leHRlbmRl ZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4KQorCQljLT54ODZfY2FwYWJpbGl0eVtjcHVmZWF0 X3dvcmQoWDg2X0ZFQVRVUkVfQ0xaRVJPKV0KKwkJCT0gY3B1aWRfZWJ4KDB4ODAwMDAwMDgpOwog CiAJLyogSW50ZWwtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHgwMDAwMDAwNyAqLwogCWlmICggYy0+ Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwNyApCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1 L2ludGVsLmMgYi94ZW4vYXJjaC94ODYvY3B1L2ludGVsLmMKaW5kZXggZDRmNTc0Yi4uYmRmODlm NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9pbnRlbC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9jcHUvaW50ZWwuYwpAQCAtMjgxLDcgKzI4MSw3IEBAIHN0YXRpYyB2b2lkIGluaXRfaW50ZWwo c3RydWN0IGNwdWluZm9feDg2ICpjKQogCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9k ZWwgPj0gMHgwMykgfHwKIAkJKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUp KQogCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDLCBjLT54ODZfY2FwYWJpbGl0 eSk7Ci0JaWYgKGNwdWlkX2VkeCgweDgwMDAwMDA3KSAmICgxdTw8OCkpIHsKKwlpZiAoY3B1X2hh cyhjLCBYODZfRkVBVFVSRV9JVFNDKSkgewogCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfQ09OU1RB TlRfVFNDLCBjLT54ODZfY2FwYWJpbGl0eSk7CiAJCV9fc2V0X2JpdChYODZfRkVBVFVSRV9OT05T VE9QX1RTQywgYy0+eDg2X2NhcGFiaWxpdHkpOwogCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfVFND X1JFTElBQkxFLCBjLT54ODZfY2FwYWJpbGl0eSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv ZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggYTMzZjk3NS4uNmVjNzU1NCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21h aW4uYwpAQCAtMjYxNCw3ICsyNjE0LDcgQEAgdm9pZCBkb21haW5fY3B1aWQoCiAgICAgICAgICAg ICAgKi8KICAgICAgICAgICAgIGlmICggKGlucHV0ID09IDB4ODAwMDAwMDcpICYmIC8qIEFkdmFu Y2VkIFBvd2VyIE1hbmFnZW1lbnQgKi8KICAgICAgICAgICAgICAgICAgIWQtPmRpc2FibGVfbWln cmF0ZSAmJiAhZC0+YXJjaC52dHNjICkKLSAgICAgICAgICAgICAgICAqZWR4ICY9IH4oMXU8PDgp OyAvKiBUU0MgSW52YXJpYW50ICovCisgICAgICAgICAgICAgICAgKmVkeCAmPSB+Y3B1ZmVhdF9t YXNrKFg4Nl9GRUFUVVJFX0lUU0MpOwogCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK