From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 09/10] x86/cpuid: Drop legacy CPUID infrastructure Date: Mon, 20 Feb 2017 11:00:33 +0000 Message-ID: <1487588434-4359-10-git-send-email-andrew.cooper3@citrix.com> References: <1487588434-4359-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: <1487588434-4359-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 Tm93IHRoYXQgYWxsIGxlYXZlcyBoYXZlIGJlZW4gYWx0ZXJlZCB0byB1c2UgdGhlIGd1ZXN0X2Nw dWlkKCkgcGF0aCwgcmVtb3ZlCmFsbCB0aGUgcmVtYWluaW5nIGxlZ2FjeSBpbmZyYXN0cnVjdHVy ZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j b20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9jcHVpZC5jICAgICAgICB8IDc2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgIHwgNDUgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmggfCAyNyAtLS0t LS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdWlkLmMgYi94ZW4vYXJjaC94ODYv Y3B1aWQuYwppbmRleCBmMWJjZDdkLi5lYWVlYzk3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv Y3B1aWQuYworKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwpAQCAtNTgyLDggKzU4Miw2IEBAIHZv aWQgcmVjYWxjdWxhdGVfY3B1aWRfcG9saWN5KHN0cnVjdCBkb21haW4gKmQpCiAKIGludCBpbml0 X2RvbWFpbl9jcHVpZF9wb2xpY3koc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAgICB1bnNpZ25lZCBp bnQgaTsKLQogICAgIGQtPmFyY2guY3B1aWQgPSB4bWFsbG9jKHN0cnVjdCBjcHVpZF9wb2xpY3kp OwogCiAgICAgaWYgKCAhZC0+YXJjaC5jcHVpZCApCkBAIC01OTYsNzAgKzU5NCw5IEBAIGludCBp bml0X2RvbWFpbl9jcHVpZF9wb2xpY3koc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIHJlY2FsY3Vs YXRlX2NwdWlkX3BvbGljeShkKTsKIAotICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0NQVUlEX0lO UFVUOyBpKysgKQotICAgIHsKLSAgICAgICAgZC0+YXJjaC5jcHVpZC0+bGVnYWN5W2ldLmlucHV0 WzBdID0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRDsKLSAgICAgICAgZC0+YXJjaC5jcHVpZC0+bGVn YWN5W2ldLmlucHV0WzFdID0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRDsKLSAgICB9Ci0KICAgICBy ZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZG9tYWluX2NwdWlkKGNvbnN0IHN0cnVjdCBkb21h aW4gKmQsIHVpbnQzMl90IGxlYWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg c3VibGVhZiwgc3RydWN0IGNwdWlkX2xlYWYgKnJlcykKLXsKLSAgICB1bnNpZ25lZCBpbnQgaTsK LQotICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0NQVUlEX0lOUFVUOyBpKysgKQotICAgIHsKLSAg ICAgICAgeGVuX2RvbWN0bF9jcHVpZF90ICpjcHVpZCA9ICZkLT5hcmNoLmNwdWlkLT5sZWdhY3lb aV07Ci0KLSAgICAgICAgaWYgKCAoY3B1aWQtPmlucHV0WzBdID09IGxlYWYpICYmCi0gICAgICAg ICAgICAgKChjcHVpZC0+aW5wdXRbMV0gPT0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRCkgfHwKLSAg ICAgICAgICAgICAgKGNwdWlkLT5pbnB1dFsxXSA9PSBzdWJsZWFmKSkgKQotICAgICAgICB7Ci0g ICAgICAgICAgICAqcmVzID0gKHN0cnVjdCBjcHVpZF9sZWFmKXsgY3B1aWQtPmVheCwgY3B1aWQt PmVieCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVpZC0+ZWN4 LCBjcHVpZC0+ZWR4IH07Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9Ci19 Ci0KLXN0YXRpYyB2b2lkIHB2X2NwdWlkKHVpbnQzMl90IGxlYWYsIHVpbnQzMl90IHN1YmxlYWYs IHN0cnVjdCBjcHVpZF9sZWFmICpyZXMpCi17Ci0gICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJy ZW50OwotICAgIHN0cnVjdCBkb21haW4gKmN1cnJkID0gY3Vyci0+ZG9tYWluOwotCi0gICAgaWYg KCAhaXNfY29udHJvbF9kb21haW4oY3VycmQpICYmICFpc19oYXJkd2FyZV9kb21haW4oY3VycmQp ICkKLSAgICAgICAgZG9tYWluX2NwdWlkKGN1cnJkLCBsZWFmLCBzdWJsZWFmLCByZXMpOwotICAg IGVsc2UKLSAgICAgICAgY3B1aWRfY291bnRfbGVhZihsZWFmLCBzdWJsZWFmLCByZXMpOwotCi0g ICAgc3dpdGNoICggbGVhZiApCi0gICAgewotICAgIGNhc2UgMHgwIC4uLiBYU1RBVEVfQ1BVSUQ6 Ci0gICAgY2FzZSAweDgwMDAwMDAwIC4uLiAweGZmZmZmZmZmOgotICAgICAgICBBU1NFUlRfVU5S RUFDSEFCTEUoKTsKLSAgICAgICAgLyogTm93IGhhbmRsZWQgaW4gZ3Vlc3RfY3B1aWQoKS4gKi8K LSAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkIGh2bV9jcHVpZCh1aW50MzJfdCBsZWFmLCB1aW50MzJf dCBzdWJsZWFmLCBzdHJ1Y3QgY3B1aWRfbGVhZiAqcmVzKQotewotICAgIHN0cnVjdCB2Y3B1ICp2 ID0gY3VycmVudDsKLSAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwotCi0gICAgZG9t YWluX2NwdWlkKGQsIGxlYWYsIHN1YmxlYWYsIHJlcyk7Ci0KLSAgICBzd2l0Y2ggKCBsZWFmICkK LSAgICB7Ci0gICAgY2FzZSAweDAgLi4uIFhTVEFURV9DUFVJRDoKLSAgICBjYXNlIDB4ODAwMDAw MDAgLi4uIDB4ZmZmZmZmZmY6Ci0gICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwotICAgICAg ICAvKiBOb3cgaGFuZGxlZCBpbiBndWVzdF9jcHVpZCgpLiAqLwotICAgIH0KLX0KLQogdm9pZCBn dWVzdF9jcHVpZChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbGVhZiwKICAgICAgICAg ICAgICAgICAgdWludDMyX3Qgc3VibGVhZiwgc3RydWN0IGNwdWlkX2xlYWYgKnJlcykKIHsKQEAg LTcwOSwxMSArNjQ2LDYgQEAgdm9pZCBndWVzdF9jcHVpZChjb25zdCBzdHJ1Y3QgdmNwdSAqdiwg dWludDMyX3QgbGVhZiwKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6Ci0g ICAgICAgICAgICBnb3RvIGxlZ2FjeTsKLQotICAgICAgICBjYXNlIDB4MCAuLi4gMHgzOgotICAg ICAgICBjYXNlIDB4NSAuLi4gMHg2OgotICAgICAgICBjYXNlIDB4OCAuLi4gMHhjOgogICAgICAg ICAgICAgKnJlcyA9IHAtPmJhc2ljLnJhd1tsZWFmXTsKICAgICAgICAgICAgIGJyZWFrOwogICAg ICAgICB9CkBAIC0xMDM3LDE0ICs5NjksNiBAQCB2b2lkIGd1ZXN0X2NwdWlkKGNvbnN0IHN0cnVj dCB2Y3B1ICp2LCB1aW50MzJfdCBsZWFmLAogICAgICAgICAgICAgcmVzLT5hID0gKHJlcy0+ZCAm IHYtPmFyY2guaHZtX3N2bS5ndWVzdF9sd3BfY2ZnKSB8IDE7CiAgICAgICAgIGJyZWFrOwogICAg IH0KLQotICAgIC8qIERvbmUuICovCi0gICAgcmV0dXJuOwotCi0gbGVnYWN5OgotICAgIC8qIHto dm0scHZ9X2NwdWlkKCkgaGF2ZSB0aGlzIGV4cGVjdGF0aW9uLiAqLwotICAgIEFTU0VSVCh2ID09 IGN1cnJlbnQpOwotICAgIChpc19odm1fZG9tYWluKGQpID8gaHZtX2NwdWlkIDogcHZfY3B1aWQp KGxlYWYsIHN1YmxlYWYsIHJlcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3Vu dXNlZCBidWlsZF9hc3NlcnRpb25zKHZvaWQpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9t Y3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggYWEwZDkxNC4uZTM0NTc2NyAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwu YwpAQCAtNDcsNTEgKzQ3LDEyIEBAIHN0YXRpYyBpbnQgZ2Ric3hfZ3Vlc3RfbWVtX2lvKGRvbWlk X3QgZG9taWQsIHN0cnVjdCB4ZW5fZG9tY3RsX2dkYnN4X21lbWlvICppb3ApCiAgICAgcmV0dXJu IGlvcC0+cmVtYWluID8gLUVGQVVMVCA6IDA7CiB9CiAKLXN0YXRpYyBpbnQgdXBkYXRlX2xlZ2Fj eV9jcHVpZF9hcnJheShzdHJ1Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHhlbl9kb21jdGxfY3B1aWRfdCAqY3RsKQotewotICAgIHhlbl9k b21jdGxfY3B1aWRfdCAqY3B1aWQsICp1bnVzZWQgPSBOVUxMOwotICAgIHVuc2lnbmVkIGludCBp OwotCi0gICAgLyogVHJ5IHRvIGluc2VydCBjdGwgaW50byBkLT5hcmNoLmNwdWlkc1tdICovCi0g ICAgZm9yICggaSA9IDA7IGkgPCBNQVhfQ1BVSURfSU5QVVQ7IGkrKyApCi0gICAgewotICAgICAg ICBjcHVpZCA9ICZkLT5hcmNoLmNwdWlkLT5sZWdhY3lbaV07Ci0KLSAgICAgICAgaWYgKCBjcHVp ZC0+aW5wdXRbMF0gPT0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRCApCi0gICAgICAgIHsKLSAgICAg ICAgICAgIGlmICggIXVudXNlZCApCi0gICAgICAgICAgICAgICAgdW51c2VkID0gY3B1aWQ7Ci0g ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICggKGNwdWlkLT5p bnB1dFswXSA9PSBjdGwtPmlucHV0WzBdKSAmJgotICAgICAgICAgICAgICgoY3B1aWQtPmlucHV0 WzFdID09IFhFTl9DUFVJRF9JTlBVVF9VTlVTRUQpIHx8Ci0gICAgICAgICAgICAgIChjcHVpZC0+ aW5wdXRbMV0gPT0gY3RsLT5pbnB1dFsxXSkpICkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0K LQotICAgIGlmICggIShjdGwtPmVheCB8IGN0bC0+ZWJ4IHwgY3RsLT5lY3ggfCBjdGwtPmVkeCkg KQotICAgIHsKLSAgICAgICAgaWYgKCBpIDwgTUFYX0NQVUlEX0lOUFVUICkKLSAgICAgICAgICAg IGNwdWlkLT5pbnB1dFswXSA9IFhFTl9DUFVJRF9JTlBVVF9VTlVTRUQ7Ci0gICAgfQotICAgIGVs c2UgaWYgKCBpIDwgTUFYX0NQVUlEX0lOUFVUICkKLSAgICAgICAgKmNwdWlkID0gKmN0bDsKLSAg ICBlbHNlIGlmICggdW51c2VkICkKLSAgICAgICAgKnVudXNlZCA9ICpjdGw7Ci0gICAgZWxzZQot ICAgICAgICByZXR1cm4gLUVOT0VOVDsKLQotICAgIHJldHVybiAwOwotfQotCiBzdGF0aWMgaW50 IHVwZGF0ZV9kb21haW5fY3B1aWRfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeGVuX2RvbWN0bF9jcHVpZF90ICpjdGwpCiB7 CiAgICAgc3RydWN0IGNwdWlkX3BvbGljeSAqcCA9IGQtPmFyY2guY3B1aWQ7CiAgICAgY29uc3Qg c3RydWN0IGNwdWlkX2xlYWYgbGVhZiA9IHsgY3RsLT5lYXgsIGN0bC0+ZWJ4LCBjdGwtPmVjeCwg Y3RsLT5lZHggfTsKLSAgICBpbnQgcmMsIG9sZF92ZW5kb3IgPSBwLT54ODZfdmVuZG9yOworICAg IGludCBvbGRfdmVuZG9yID0gcC0+eDg2X3ZlbmRvcjsKIAogICAgIC8qCiAgICAgICogU2tpcCB1 cGRhdGUgZm9yIGxlYXZlcyB3ZSBkb24ndCBjYXJlIGFib3V0LiAgVGhpcyBhdm9pZHMgdGhlIG92 ZXJoZWFkCkBAIC0xMjUsMTAgKzg2LDYgQEAgc3RhdGljIGludCB1cGRhdGVfZG9tYWluX2NwdWlk X2luZm8oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAg cmMgPSB1cGRhdGVfbGVnYWN5X2NwdWlkX2FycmF5KGQsIGN0bCk7Ci0gICAgaWYgKCByYyApCi0g ICAgICAgIHJldHVybiByYzsKLQogICAgIC8qIEluc2VydCBjdGwgZGF0YSBpbnRvIGNwdWlkX3Bv bGljeS4gKi8KICAgICBzd2l0Y2ggKCBjdGwtPmlucHV0WzBdICkKICAgICB7CmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlk LmgKaW5kZXggMTRmYzk1Yy4uOGQ2YTY1MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9jcHVpZC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaApAQCAtNzIsMjkgKzcy LDYgQEAgREVDTEFSRV9QRVJfQ1BVKGJvb2wsIGNwdWlkX2ZhdWx0aW5nX2VuYWJsZWQpOwogCiBz dHJ1Y3QgY3B1aWRfcG9saWN5CiB7Ci0gICAgLyoKLSAgICAgKiBXQVJOSU5HOiBEdXJpbmcgdGhl IENQVUlEIHRyYW5zaXRpb24gcGVyaW9kLCBub3QgYWxsIGluZm9ybWF0aW9uIGhlcmUKLSAgICAg KiBpcyBhY2N1cmF0ZS4gIFRoZSBmb2xsb3dpbmcgaXRlbXMgYXJlIGFjY3VyYXRlLCBhbmQgY2Fu IGJlIHJlbGllZCB1cG9uLgotICAgICAqCi0gICAgICogR2xvYmFsICpfcG9saWN5IG9iamVjdHM6 Ci0gICAgICoKLSAgICAgKiAtIEd1ZXN0IGFjY3VyYXRlOgotICAgICAqICAgLSBBbGwgb2YgdGhl IGZlYXQsIHhzdGF0ZSBhbmQgZXh0ZCB1bmlvbnMKLSAgICAgKiAgIC0gbWF4X3ssc3VifWxlYWYK LSAgICAgKiAgIC0gQWxsIEZFQVRVUkVTRVRfKiB3b3JkcwotICAgICAqICAgLSBTaG9ydCB2ZW5k b3IgaW5mb21hdGlvbgotICAgICAqCi0gICAgICogUGVyLWRvbWFpbiBvYmplY3RzOgotICAgICAq Ci0gICAgICogLSBHdWVzdCBhY2N1cmF0ZToKLSAgICAgKiAgIC0gQWxsIG9mIHRoZSBmZWF0LCB4 c3RhdGUgYW5kIGV4dGQgdW5pb25zCi0gICAgICogICAtIG1heF97LHN1Yn1sZWFmCi0gICAgICog ICAtIEFsbCBGRUFUVVJFU0VUXyogd29yZHMKLSAgICAgKiAgIC0gU2hvcnQgdmVuZG9yIGluZm9t YXRpb24KLSAgICAgKgotICAgICAqIEV2ZXJ5dGhpbmcgZWxzZSBzaG91bGQgYmUgY29uc2lkZXJl ZCBpbmFjY3VyYXRlLCBhbmQgbm90IG5lY2Vzc2VyaWx5IDAuCi0gICAgICovCi0KICNkZWZpbmUg REVDTF9CSVRGSUVMRCh3b3JkKSBfREVDTF9CSVRGSUVMRChGRUFUVVJFU0VUXyAjIyB3b3JkKQog I2RlZmluZSBfREVDTF9CSVRGSUVMRCh4KSAgIF9fREVDTF9CSVRGSUVMRCh4KQogI2RlZmluZSBf X0RFQ0xfQklURklFTEQoeCkgIENQVUlEX0JJVEZJRUxEXyAjIyB4CkBAIC0yMzAsMTAgKzIwNyw2 IEBAIHN0cnVjdCBjcHVpZF9wb2xpY3kKIAogICAgIC8qIFZhbHVlIGNhbGN1bGF0ZWQgZnJvbSBy YXcgZGF0YSBhYm92ZS4gKi8KICAgICB1aW50OF90IHg4Nl92ZW5kb3I7Ci0KLSAgICAvKiBUZW1w b3Jhcnk6IExlZ2FjeSBkYXRhIGFycmF5LiAqLwotI2RlZmluZSBNQVhfQ1BVSURfSU5QVVQgNDAK LSAgICB4ZW5fZG9tY3RsX2NwdWlkX3QgbGVnYWN5W01BWF9DUFVJRF9JTlBVVF07CiB9OwogCiAv KiBGaWxsIGluIGEgZmVhdHVyZXNldCBiaXRtYXAgZnJvbSBhIENQVUlEIHBvbGljeS4gKi8KLS0g CjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==