From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luwei Kang Subject: [PATCH] x86/cpuid: AVX-512 Feature Detection Date: Tue, 28 Jun 2016 13:51:46 +0800 Message-ID: <1467093106-3444-1-git-send-email-luwei.kang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: andrew.cooper3@citrix.com, chao.p.peng@intel.com, Luwei Kang , yong.y.wang@intel.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org QVZYLTUxMiBpcyBhbiBleHRlbnRpb24gb2YgQVZYMi4gSXRzIHNwZWMgY2FuIGJlIGZvdW5kIGF0 OgpodHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL21hbmFnZWQv YjQvM2EvMzE5NDMzLTAyNC5wZGYKVGhpcyBwYXRjaCBkZXRlY3RzIEFWWC01MTIgZmVhdHVyZXMg YnkgQ1BVSUQuCgpTaWduZWQtb2ZmLWJ5OiBMdXdlaSBLYW5nIDxsdXdlaS5rYW5nQGludGVsLmNv bT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDgg KysrKysrKysKIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAx NyArKysrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1 cmVzZXQuaCB8ICA5ICsrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggYzg5YWI2ZS4uNjkzYWZkNSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0z NDc0LDYgKzM0NzQsMTQgQEAgdm9pZCBodm1fY3B1aWQodW5zaWduZWQgaW50IGlucHV0LCB1bnNp Z25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeHN0YXRlX3NpemVzW19YU1RBVEVfQk5EQ1NSXSk7CiAgICAgICAgICAgICB9 CiAKKyAgICAgICAgICAgIGlmICggX2VieCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9BVlg1 MTJGKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeGZlYXR1cmVfbWFzayB8PSBY U1RBVEVfT1BNQVNLIHwgWFNUQVRFX1pNTSB8IFhTVEFURV9ISV9aTU07CisgICAgICAgICAgICAg ICAgeHN0YXRlX3NpemUgPSBtYXgoeHN0YXRlX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeHN0YXRlX29mZnNldHNbX1hTVEFURV9ISV9aTU1dICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9ISV9aTU1dKTsKKyAg ICAgICAgICAgIH0KKwogICAgICAgICAgICAgaWYgKCBfZWN4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9G RUFUVVJFX1BLVSkgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHhmZWF0dXJlX21h c2sgfD0gWFNUQVRFX1BLUlU7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hl bi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4IDc2N2QwYjAuLjFjNzVlOTMgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC05NzUsNyAr OTc1LDcgQEAgdm9pZCBwdl9jcHVpZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogICAg IHN3aXRjaCAoIGxlYWYgKQogICAgIHsKLSAgICAgICAgdWludDMyX3QgdG1wLCBfZWN4OworICAg ICAgICB1aW50MzJfdCB0bXAsIF9lY3gsIF9lYng7CiAKICAgICBjYXNlIDB4MDAwMDAwMDE6CiAg ICAgICAgIGMgJj0gcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzFjXTsKQEAgLTExMzYsOSArMTEz NiwxNiBAQCB2b2lkIHB2X2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGNh c2UgWFNUQVRFX0NQVUlEOgogCiAgICAgICAgIGlmICggIWlzX2NvbnRyb2xfZG9tYWluKGN1cnJk KSAmJiAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJkKSApCisgICAgICAgIHsKICAgICAgICAgICAg IGRvbWFpbl9jcHVpZChjdXJyZCwgMSwgMCwgJnRtcCwgJnRtcCwgJl9lY3gsICZ0bXApOworICAg ICAgICAgICAgZG9tYWluX2NwdWlkKGN1cnJkLCAweDA3LCAwLCAmdG1wLCAmX2VieCwgJnRtcCwg JnRtcCk7CisgICAgICAgIH0KICAgICAgICAgZWxzZQorICAgICAgICB7CiAgICAgICAgICAgICBf ZWN4ID0gY3B1aWRfZWN4KDEpOworICAgICAgICAgICAgY3B1aWRfY291bnQoMHgwNywgMCwgJnRt cCwgJl9lYngsICZ0bXAsICZ0bXApOworICAgICAgICB9CisKICAgICAgICAgX2VjeCAmPSBwdl9m ZWF0dXJlc2V0W0ZFQVRVUkVTRVRfMWNdOwogCiAgICAgICAgIGlmICggIShfZWN4ICYgY3B1ZmVh dF9tYXNrKFg4Nl9GRUFUVVJFX1hTQVZFKSkgfHwgc3VibGVhZiA+PSA2MyApCkBAIC0xMTU3LDYg KzExNjQsMTQgQEAgdm9pZCBwdl9jcHVpZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9ZTU1dKTsK ICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgaWYgKCBfZWJ4ICYgY3B1ZmVhdF9tYXNrKFg4 Nl9GRUFUVVJFX0FWWDUxMkYpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB4ZmVh dHVyZV9tYXNrIHw9IFhTVEFURV9PUE1BU0sgfCBYU1RBVEVfWk1NIHwgWFNUQVRFX0hJX1pNTTsK KyAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0hJX1pNTV0g KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRF X0hJX1pNTV0pOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBhID0gKHVpbnQzMl90KXhm ZWF0dXJlX21hc2s7CiAgICAgICAgICAgICBkID0gKHVpbnQzMl90KSh4ZmVhdHVyZV9tYXNrID4+ IDMyKTsKICAgICAgICAgICAgIGMgPSB4c3RhdGVfc2l6ZTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMv YXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCmluZGV4IDM5YWNmOGMuLjkzMjBjOWUgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVu L2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaApAQCAtMjA2LDE1ICsyMDYs MjQgQEAgWEVOX0NQVUZFQVRVUkUoUFFNLCAgICAgICAgICAgNSozMisxMikgLyogICBQbGF0Zm9y bSBRb1MgTW9uaXRvcmluZyAqLwogWEVOX0NQVUZFQVRVUkUoTk9fRlBVX1NFTCwgICAgNSozMisx MykgLyohICBGUFUgQ1MvRFMgc3RvcmVkIGFzIHplcm8gKi8KIFhFTl9DUFVGRUFUVVJFKE1QWCwg ICAgICAgICAgIDUqMzIrMTQpIC8qUyAgTWVtb3J5IFByb3RlY3Rpb24gRXh0ZW5zaW9ucyAqLwog WEVOX0NQVUZFQVRVUkUoUFFFLCAgICAgICAgICAgNSozMisxNSkgLyogICBQbGF0Zm9ybSBRb1Mg RW5mb3JjZW1lbnQgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWDUxMkYsICAgICAgIDUqMzIrMTYpIC8q QSAgQVZYLTUxMiBGb3VuZGF0aW9uIEluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoQVZY NTEyRFEsICAgICAgNSozMisxNykgLypBICBBVlgtNTEyIERvdWJsZXdvcmQgJiBRdWFkd29yZCBJ bnN0cnMgKi8KIFhFTl9DUFVGRUFUVVJFKFJEU0VFRCwgICAgICAgIDUqMzIrMTgpIC8qQSAgUkRT RUVEIGluc3RydWN0aW9uICovCiBYRU5fQ1BVRkVBVFVSRShBRFgsICAgICAgICAgICA1KjMyKzE5 KSAvKkEgIEFEQ1gsIEFET1ggaW5zdHJ1Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVSRShTTUFQLCAg ICAgICAgICA1KjMyKzIwKSAvKlMgIFN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAq LworWEVOX0NQVUZFQVRVUkUoQVZYNTEySUZNQSwgICAgNSozMisyMSkgLypBICBBVlgtNTEyIElu dGVnZXIgRnVzZWQgTXVsdGlwbHkgQWRkICovCiBYRU5fQ1BVRkVBVFVSRShDTEZMVVNIT1BULCAg ICA1KjMyKzIzKSAvKkEgIENMRkxVU0hPUFQgaW5zdHJ1Y3Rpb24gKi8KIFhFTl9DUFVGRUFUVVJF KENMV0IsICAgICAgICAgIDUqMzIrMjQpIC8qQSAgQ0xXQiBpbnN0cnVjdGlvbiAqLworWEVOX0NQ VUZFQVRVUkUoQVZYNTEyUEYsICAgICAgNSozMisyNikgLypBICBBVlgtNTEyIFByZWZldGNoIElu c3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEyRVIsICAgICAgNSozMisyNykgLypB ICBBVlgtNTEyIEV4cG9uZW50ICYgUmVjaXByb2NhbCBJbnN0cnMgKi8KK1hFTl9DUFVGRUFUVVJF KEFWWDUxMkNELCAgICAgIDUqMzIrMjgpIC8qQSAgQVZYLTUxMiBDb25mbGljdCBEZXRlY3Rpb24g SW5zdHJzICovCiBYRU5fQ1BVRkVBVFVSRShTSEEsICAgICAgICAgICA1KjMyKzI5KSAvKkEgIFNI QTEgJiBTSEEyNTYgaW5zdHJ1Y3Rpb25zICovCitYRU5fQ1BVRkVBVFVSRShBVlg1MTJCVywgICAg ICA1KjMyKzMwKSAvKkEgIEFWWC01MTIgQnl0ZSBhbmQgV29yZCBJbnN0cnVjdGlvbnMgKi8KK1hF Tl9DUFVGRUFUVVJFKEFWWDUxMlZMLCAgICAgIDUqMzIrMzEpIC8qQSAgQVZYLTUxMiBWZWN0b3Ig TGVuZ3RoIEV4dGVuc2lvbnMgKi8KIAogLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQ VUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lY3gsIHdvcmQgNiAqLwogWEVOX0NQVUZFQVRVUkUoUFJF RkVUQ0hXVDEsICAgNiozMisgMCkgLypBICBQUkVGRVRDSFdUMSBpbnN0cnVjdGlvbiAqLworWEVO X0NQVUZFQVRVUkUoQVZYNTEyVkJNSSwgICAgNiozMisgMSkgLypBICBBVlgtNTEyIFZlY3RvciBC eXRlIE1hbmlwdWxhdGlvbiBJbnN0cnMgKi8KIFhFTl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAg IDYqMzIrIDMpIC8qSCAgUHJvdGVjdGlvbiBLZXlzIGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVG RUFUVVJFKE9TUEtFLCAgICAgICAgIDYqMzIrIDQpIC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVu YWJsZSAqLwogCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==