From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luwei Kang Subject: [PATCH] x86/cpuid: AVX-512 Feature Detection Date: Wed, 29 Jun 2016 10:20:04 +0800 Message-ID: <1467166804-9748-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 bT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTQg KysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgICAgICAgICAgICAg ICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14 ODYvY3B1ZmVhdHVyZXNldC5oIHwgIDkgKysrKysrKysrCiB4ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5 ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9o dm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggYzg5YWI2ZS4uNzY5NmIxZSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2 bS5jCkBAIC0zNDc0LDYgKzM0NzQsMjAgQEAgdm9pZCBodm1fY3B1aWQodW5zaWduZWQgaW50IGlu cHV0LCB1bnNpZ25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19YU1RBVEVfQk5EQ1NSXSk7CiAgICAg ICAgICAgICB9CiAKKyAgICAgICAgICAgIGlmICggX2VieCAmIGNwdWZlYXRfbWFzayhYODZfRkVB VFVSRV9BVlg1MTJGKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeGZlYXR1cmVf bWFzayB8PSBYU1RBVEVfT1BNQVNLIHwgWFNUQVRFX1pNTSB8IFhTVEFURV9ISV9aTU07CisgICAg ICAgICAgICAgICAgeHN0YXRlX3NpemUgPSBtYXgoeHN0YXRlX3NpemUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX29mZnNldHNbX1hTVEFURV9PUE1BU0tdICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9PUE1B U0tdKTsKKyAgICAgICAgICAgICAgICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX1pN TV0gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNU QVRFX1pNTV0pOworICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplID0gbWF4KHhzdGF0ZV9zaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19YU1RB VEVfSElfWk1NXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3Np emVzW19YU1RBVEVfSElfWk1NXSk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGlmICgg X2VjeCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9QS1UpICkKICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICB4ZmVhdHVyZV9tYXNrIHw9IFhTVEFURV9QS1JVOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwppbmRleCA3NjdkMGIw Li44ZmI2OTdiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMuYworKysgYi94ZW4vYXJj aC94ODYvdHJhcHMuYwpAQCAtOTc1LDcgKzk3NSw3IEBAIHZvaWQgcHZfY3B1aWQoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpCiAKICAgICBzd2l0Y2ggKCBsZWFmICkKICAgICB7Ci0gICAgICAg IHVpbnQzMl90IHRtcCwgX2VjeDsKKyAgICAgICAgdWludDMyX3QgdG1wLCBfZWN4LCBfZWJ4Owog CiAgICAgY2FzZSAweDAwMDAwMDAxOgogICAgICAgICBjICY9IHB2X2ZlYXR1cmVzZXRbRkVBVFVS RVNFVF8xY107CkBAIC0xMTU3LDYgKzExNTcsMjYgQEAgdm9pZCBwdl9jcHVpZChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4c3RhdGVf c2l6ZXNbX1hTVEFURV9ZTU1dKTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgaWYgKCAh aXNfY29udHJvbF9kb21haW4oY3VycmQpICYmICFpc19oYXJkd2FyZV9kb21haW4oY3VycmQpICkK KyAgICAgICAgICAgICAgICBkb21haW5fY3B1aWQoY3VycmQsIDcsIDAsICZ0bXAsICZfZWJ4LCAm dG1wLCAmdG1wKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBjcHVpZF9jb3Vu dCg3LCAwLCAmdG1wLCAmX2VieCwgJnRtcCwgJnRtcCk7CisgICAgICAgICAgICBfZWJ4ICY9IHB2 X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF83YjBdOworCisgICAgICAgICAgICBpZiAoIF9lYnggJiBj cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfQVZYNTEyRikgKQorICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgIHhmZWF0dXJlX21hc2sgfD0gWFNUQVRFX09QTUFTSyB8IFhTVEFURV9aTU0gfCBY U1RBVEVfSElfWk1NOworICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplID0gbWF4KHhzdGF0ZV9z aXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhzdGF0ZV9vZmZzZXRzW19Y U1RBVEVfT1BNQVNLXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRl X3NpemVzW19YU1RBVEVfT1BNQVNLXSk7CisgICAgICAgICAgICAgICAgeHN0YXRlX3NpemUgPSBt YXgoeHN0YXRlX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRl X29mZnNldHNbX1hTVEFURV9aTU1dICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4c3RhdGVfc2l6ZXNbX1hTVEFURV9aTU1dKTsKKyAgICAgICAgICAgICAgICB4c3RhdGVfc2l6 ZSA9IG1heCh4c3RhdGVfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 c3RhdGVfb2Zmc2V0c1tfWFNUQVRFX0hJX1pNTV0gKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHhzdGF0ZV9zaXplc1tfWFNUQVRFX0hJX1pNTV0pOworICAgICAgICAgICAgfQor CiAgICAgICAgICAgICBhID0gKHVpbnQzMl90KXhmZWF0dXJlX21hc2s7CiAgICAgICAgICAgICBk ID0gKHVpbnQzMl90KSh4ZmVhdHVyZV9tYXNrID4+IDMyKTsKICAgICAgICAgICAgIGMgPSB4c3Rh dGVfc2l6ZTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0 dXJlc2V0LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCmlu ZGV4IDM5YWNmOGMuLjkzMjBjOWUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNo LXg4Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2Nw dWZlYXR1cmVzZXQuaApAQCAtMjA2LDE1ICsyMDYsMjQgQEAgWEVOX0NQVUZFQVRVUkUoUFFNLCAg ICAgICAgICAgNSozMisxMikgLyogICBQbGF0Zm9ybSBRb1MgTW9uaXRvcmluZyAqLwogWEVOX0NQ VUZFQVRVUkUoTk9fRlBVX1NFTCwgICAgNSozMisxMykgLyohICBGUFUgQ1MvRFMgc3RvcmVkIGFz IHplcm8gKi8KIFhFTl9DUFVGRUFUVVJFKE1QWCwgICAgICAgICAgIDUqMzIrMTQpIC8qUyAgTWVt b3J5IFByb3RlY3Rpb24gRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoUFFFLCAgICAgICAg ICAgNSozMisxNSkgLyogICBQbGF0Zm9ybSBRb1MgRW5mb3JjZW1lbnQgKi8KK1hFTl9DUFVGRUFU VVJFKEFWWDUxMkYsICAgICAgIDUqMzIrMTYpIC8qQSAgQVZYLTUxMiBGb3VuZGF0aW9uIEluc3Ry dWN0aW9ucyAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEyRFEsICAgICAgNSozMisxNykgLypBICBB VlgtNTEyIERvdWJsZXdvcmQgJiBRdWFkd29yZCBJbnN0cnMgKi8KIFhFTl9DUFVGRUFUVVJFKFJE U0VFRCwgICAgICAgIDUqMzIrMTgpIC8qQSAgUkRTRUVEIGluc3RydWN0aW9uICovCiBYRU5fQ1BV RkVBVFVSRShBRFgsICAgICAgICAgICA1KjMyKzE5KSAvKkEgIEFEQ1gsIEFET1ggaW5zdHJ1Y3Rp b25zICovCiBYRU5fQ1BVRkVBVFVSRShTTUFQLCAgICAgICAgICA1KjMyKzIwKSAvKlMgIFN1cGVy dmlzb3IgTW9kZSBBY2Nlc3MgUHJldmVudGlvbiAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEySUZN QSwgICAgNSozMisyMSkgLypBICBBVlgtNTEyIEludGVnZXIgRnVzZWQgTXVsdGlwbHkgQWRkICov CiBYRU5fQ1BVRkVBVFVSRShDTEZMVVNIT1BULCAgICA1KjMyKzIzKSAvKkEgIENMRkxVU0hPUFQg aW5zdHJ1Y3Rpb24gKi8KIFhFTl9DUFVGRUFUVVJFKENMV0IsICAgICAgICAgIDUqMzIrMjQpIC8q QSAgQ0xXQiBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEyUEYsICAgICAgNSoz MisyNikgLypBICBBVlgtNTEyIFByZWZldGNoIEluc3RydWN0aW9ucyAqLworWEVOX0NQVUZFQVRV UkUoQVZYNTEyRVIsICAgICAgNSozMisyNykgLypBICBBVlgtNTEyIEV4cG9uZW50ICYgUmVjaXBy b2NhbCBJbnN0cnMgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWDUxMkNELCAgICAgIDUqMzIrMjgpIC8q QSAgQVZYLTUxMiBDb25mbGljdCBEZXRlY3Rpb24gSW5zdHJzICovCiBYRU5fQ1BVRkVBVFVSRShT SEEsICAgICAgICAgICA1KjMyKzI5KSAvKkEgIFNIQTEgJiBTSEEyNTYgaW5zdHJ1Y3Rpb25zICov CitYRU5fQ1BVRkVBVFVSRShBVlg1MTJCVywgICAgICA1KjMyKzMwKSAvKkEgIEFWWC01MTIgQnl0 ZSBhbmQgV29yZCBJbnN0cnVjdGlvbnMgKi8KK1hFTl9DUFVGRUFUVVJFKEFWWDUxMlZMLCAgICAg IDUqMzIrMzEpIC8qQSAgQVZYLTUxMiBWZWN0b3IgTGVuZ3RoIEV4dGVuc2lvbnMgKi8KIAogLyog SW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lY3gs IHdvcmQgNiAqLwogWEVOX0NQVUZFQVRVUkUoUFJFRkVUQ0hXVDEsICAgNiozMisgMCkgLypBICBQ UkVGRVRDSFdUMSBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEyVkJNSSwgICAg NiozMisgMSkgLypBICBBVlgtNTEyIFZlY3RvciBCeXRlIE1hbmlwdWxhdGlvbiBJbnN0cnMgKi8K IFhFTl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qSCAgUHJvdGVjdGlvbiBL ZXlzIGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVGRUFUVVJFKE9TUEtFLCAgICAgICAgIDYqMzIr IDQpIC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAqLwogCmRpZmYgLS1naXQgYS94ZW4v dG9vbHMvZ2VuLWNwdWlkLnB5IGIveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQppbmRleCA3YzQ1ZWNh Li44OTdlNjYwIDEwMDc1NQotLS0gYS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CisrKyBiL3hlbi90 b29scy9nZW4tY3B1aWQucHkKQEAgLTIzNSw2ICsyMzUsMTAgQEAgZGVmIGNydW5jaF9udW1iZXJz KHN0YXRlKToKICAgICAgICAgIyBzdWJzZXF1ZW50IGluc3RydWN0aW9uIGdyb3VwcyBtYXkgb25s eSBiZSBWRVggZW5jb2RlZC4KICAgICAgICAgQVZYOiBbRk1BLCBGTUE0LCBGMTZDLCBBVlgyLCBY T1BdLAogCisgICAgICAgICMgQVZYLTUxMiBpcyBhbiBleHRlbnRpb24gb2YgQVZYMiBhbmQgaXQg ZGVwZW5kcyBvbiBBVlgyIGF2YWlsYWJsZS4KKyAgICAgICAgQVZYMjogW0FWWDUxMkYsIEFWWDUx MkRRLCBBVlg1MTJJRk1BLCBBVlg1MTJQRiwgQVZYNTEyRVIsIEFWWDUxMkNELAorICAgICAgICAg ICAgICAgIEFWWDUxMkJXLCBBVlg1MTJWTCwgQVZYNTEyVkJNSV0sCisKICAgICAgICAgIyBDWDE2 IGlzIG9ubHkgZW5jb2RhYmxlIGluIExvbmcgTW9kZS4gIExBSEZfTE0gaW5kaWNhdGVzIHRoYXQg dGhlCiAgICAgICAgICMgU0FIRi9MQUhGIGluc3RydWN0aW9ucyBhcmUgcmVpbnRyb2R1Y2VkIGlu IExvbmcgTW9kZS4gIDFHQgogICAgICAgICAjIHN1cGVycGFnZXMsIFBDSUQgYW5kIFBLVSBhcmUg b25seSBhdmFpbGFibGUgaW4gNCBsZXZlbCBwYWdpbmcuCi0tIAoyLjcuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==