From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 05/28] xen/x86: Collect more cpuid feature leaves Date: Tue, 15 Mar 2016 15:35:01 +0000 Message-ID: <1458056124-8024-6-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-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: <1458056124-8024-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 aXguY29tPgpBY2tlZC1ieTogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgotLS0KCnYy OgogKiBSZWx5IG9uIG9yZGVyaW5nIG9mIGdlbmVyaWNfaWRlbnRpZnkoKSB0byBzaW1wbGlmeSBp bml0X2FtZCgpCiAqIFJlbW92ZSBvcGVuY29kZWQgRUZSTyBtYW5pcHVsYXRpb24gYXMgd2VsbAot LS0KIHhlbi9hcmNoL3g4Ni9jcHUvYW1kLmMgICAgfCAyMSArKystLS0tLS0tLS0tLS0tLS0tLS0K IHhlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMgfCAgNiArKysrKysKIHhlbi9hcmNoL3g4Ni9jcHUv aW50ZWwuYyAgfCAgMiArLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICB8ICAyICstCiA0IGZp bGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCmluZGV4 IGE0YmVmMjEuLjQ3YTM4YzYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKKysr IGIveGVuL2FyY2gveDg2L2NwdS9hbWQuYwpAQCAtMjk0LDIxICsyOTQsNiBAQCBpbnQgY3B1X2hh c19hbWRfZXJyYXR1bShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmNwdSwgaW50IG9zdndfaWQs IC4uLikKIAlyZXR1cm4gMDsKIH0KIAotLyogQ2FuIHRoaXMgc3lzdGVtIHN1ZmZlciBmcm9tIFRT QyBkcmlmdCBkdWUgdG8gQzEgY2xvY2sgcmFtcGluZz8gKi8KLXN0YXRpYyBpbnQgYzFfcmFtcGlu Z19tYXlfY2F1c2VfY2xvY2tfZHJpZnQoc3RydWN0IGNwdWluZm9feDg2ICpjKSAKLXsgCi0JaWYg KGNwdWlkX2VkeCgweDgwMDAwMDA3KSAmICgxPDw4KSkgewotCQkvKgotCQkgKiBDUFVJRC5BZHZQ b3dlck1nbXRJbmZvLlRzY0ludmFyaWFudAotCQkgKiBFRFggYml0IDgsIDgwMDBfMDAwNwotCQkg KiBJbnZhcmlhbnQgVFNDIG9uIDh0aCBHZW4gb3IgbmV3ZXIsIHVzZSBpdAotCQkgKiAoYXNzdW1l IGFsbCBjb3JlcyBoYXZlIGludmFyaWFudCBUU0MpCi0JCSAqLwotCQlyZXR1cm4gMDsKLQl9Ci0J cmV0dXJuIDE7Ci19Ci0KIC8qCiAgKiBEaXNhYmxlIEMxLUNsb2NrIHJhbXBpbmcgaWYgZW5hYmxl ZCBpbiBQTU03LkNwdUxvd1B3ckVuaCBvbiA4dGgtZ2VuZXJhdGlvbgogICogY29yZXMgb25seS4g QXNzdW1lIEJJT1MgaGFzIHNldHVwIGFsbCBOb3J0aGJyaWRnZXMgZXF1aXZhbGVudGx5LgpAQCAt NDc1LDcgKzQ2MCw3IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq YykKIAl9CiAKIAlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNykgewot CQlpZiAoY3B1aWRfZWR4KDB4ODAwMDAwMDcpICYgKDE8PDgpKSB7CisJCWlmIChjcHVfaGFzKGMs IFg4Nl9GRUFUVVJFX0lUU0MpKSB7CiAJCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfQ09OU1RBTlRf VFNDLCBjLT54ODZfY2FwYWJpbGl0eSk7CiAJCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfTk9OU1RP UF9UU0MsIGMtPng4Nl9jYXBhYmlsaXR5KTsKIAkJCWlmIChjLT54ODYgIT0gMHgxMSkKQEAgLTYw MCwxNCArNTg1LDE0IEBAIHN0YXRpYyB2b2lkIGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAq YykKIAkJd3Jtc3JsKE1TUl9LN19QRVJGQ1RSMywgMCk7CiAJfQogCi0JaWYgKGNwdWlkX2VkeCgw eDgwMDAwMDA3KSAmICgxIDw8IDEwKSkgeworCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0VG Uk8pKSB7CiAJCXJkbXNyKE1TUl9LN19IV0NSLCBsLCBoKTsKIAkJbCB8PSAoMSA8PCAyNyk7IC8q IEVuYWJsZSByZWFkLW9ubHkgQVBFUkYvTVBFUkYgYml0ICovCiAJCXdybXNyKE1TUl9LN19IV0NS LCBsLCBoKTsKIAl9CiAKIAkvKiBQcmV2ZW50IFRTQyBkcmlmdCBpbiBub24gc2luZ2xlLXByb2Nl c3Nvciwgc2luZ2xlLWNvcmUgcGxhdGZvcm1zLiAqLwotCWlmICgoc21wX3Byb2Nlc3Nvcl9pZCgp ID09IDEpICYmIGMxX3JhbXBpbmdfbWF5X2NhdXNlX2Nsb2NrX2RyaWZ0KGMpKQorCWlmICgoc21w X3Byb2Nlc3Nvcl9pZCgpID09IDEpICYmICFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0lUU0MpKQog CQlkaXNhYmxlX2MxX3JhbXBpbmcoKTsKIAogCXNldF9jcHVpZG1hc2soYyk7CmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwpp bmRleCA4Yjk0YzFiLi4xYTI3OGIxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1v bi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKQEAgLTI2OSw2ICsyNjksMTIgQEAg c3RhdGljIHZvaWQgZ2VuZXJpY19pZGVudGlmeShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAKIAlp ZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNCkKIAkJZ2V0X21vZGVsX25h bWUoYyk7IC8qIERlZmF1bHQgbmFtZSAqLworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+ PSAweDgwMDAwMDA3KQorCQljLT54ODZfY2FwYWJpbGl0eVtjcHVmZWF0X3dvcmQoWDg2X0ZFQVRV UkVfSVRTQyldCisJCQk9IGNwdWlkX2VkeCgweDgwMDAwMDA3KTsKKwlpZiAoYy0+ZXh0ZW5kZWRf Y3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKKwkJYy0+eDg2X2NhcGFiaWxpdHlbY3B1ZmVhdF93 b3JkKFg4Nl9GRUFUVVJFX0NMWkVSTyldCisJCQk9IGNwdWlkX2VieCgweDgwMDAwMDA4KTsKIAog CS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDcgKi8KIAlpZiAoIGMtPmNw dWlkX2xldmVsID49IDB4MDAwMDAwMDcgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9p bnRlbC5jIGIveGVuL2FyY2gveDg2L2NwdS9pbnRlbC5jCmluZGV4IGQ0ZjU3NGIuLmJkZjg5ZjYg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvaW50ZWwuYworKysgYi94ZW4vYXJjaC94ODYv Y3B1L2ludGVsLmMKQEAgLTI4MSw3ICsyODEsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2ludGVsKHN0 cnVjdCBjcHVpbmZvX3g4NiAqYykKIAlpZiAoKGMtPng4NiA9PSAweGYgJiYgYy0+eDg2X21vZGVs ID49IDB4MDMpIHx8CiAJCShjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweDBlKSkK IAkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQywgYy0+eDg2X2NhcGFiaWxpdHkp OwotCWlmIChjcHVpZF9lZHgoMHg4MDAwMDAwNykgJiAoMXU8PDgpKSB7CisJaWYgKGNwdV9oYXMo YywgWDg2X0ZFQVRVUkVfSVRTQykpIHsKIAkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX0NPTlNUQU5U X1RTQywgYy0+eDg2X2NhcGFiaWxpdHkpOwogCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfTk9OU1RP UF9UU0MsIGMtPng4Nl9jYXBhYmlsaXR5KTsKIAkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX1RTQ19S RUxJQUJMRSwgYy0+eDg2X2NhcGFiaWxpdHkpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Rv bWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGE2ZDcyMWIuLjI3ZmNhZTEgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWlu LmMKQEAgLTI2MTUsNyArMjYxNSw3IEBAIHZvaWQgZG9tYWluX2NwdWlkKAogICAgICAgICAgICAg ICovCiAgICAgICAgICAgICBpZiAoIChpbnB1dCA9PSAweDgwMDAwMDA3KSAmJiAvKiBBZHZhbmNl ZCBQb3dlciBNYW5hZ2VtZW50ICovCiAgICAgICAgICAgICAgICAgICFkLT5kaXNhYmxlX21pZ3Jh dGUgJiYgIWQtPmFyY2gudnRzYyApCi0gICAgICAgICAgICAgICAgKmVkeCAmPSB+KDF1PDw4KTsg LyogVFNDIEludmFyaWFudCAqLworICAgICAgICAgICAgICAgICplZHggJj0gfmNwdWZlYXRfbWFz ayhYODZfRkVBVFVSRV9JVFNDKTsKIAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0t IAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==