From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/9] x86/cpuid: Extend the cpuid= command line option to support all named features Date: Mon, 3 Dec 2018 16:18:16 +0000 Message-ID: <1543853902-6257-4-git-send-email-andrew.cooper3@citrix.com> References: <1543853902-6257-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: <1543853902-6257-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org Rm9yIGdlbi1jcHVpZC5weSwgZml4IGEgY29tbWVudCBkZXNjcmliaW5nIHNlbGYubmFtZXMsIGFu ZCBnZW5lcmF0ZSB0aGUKcmV2ZXJzZSBtYXBwaW5nIGluIHNlbGYudmFsdWVzLiAgV3JpdGUgb3V0 IElOSVRfRkVBVFVSRV9OQU1FUyB3aGljaCBtYXBzIGEKc3RyaW5nIG5hbWUgdG8gYSBiaXQgcG9z aXRpb24uCgpGb3IgcGFyc2VfY3B1aWQoKSwgaW50cm9kdWNlIGEgc2xpZ2h0bHkgZnV6enkgc3Ry Y21wKCkgdG8gYWNjZXB0IGNoYW5nZXMgaW4KcHVuY3R1YXRpb24sIGFuZCBwZXJmb3JtIGEgYmlu YXJ5IHNlYXJjaCBvdmVyIElOSVRfRkVBVFVSRV9OQU1FUy4KClNpZ25lZC1vZmYtYnk6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2gg PEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6 IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKU2xpZ2h0bHkgUkZDLCBi ZWNhdXNlIEknbSBub3QgZW50aXJlbHkgY2VydGFpbiBpZiB0aGlzIGlzIGEgZ29vZCBpZGVhIG9y IG5vdC4KLS0tCiB4ZW4vYXJjaC94ODYvY3B1aWQuYyAgIHwgOTEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIHhlbi90b29scy9nZW4tY3B1aWQucHkg fCAyMiArKysrKysrKysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdWlkLmMgYi94ZW4vYXJj aC94ODYvY3B1aWQuYwppbmRleCAwNTkxYTdkLi5lYjg2YTg2IDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvY3B1aWQuYworKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwpAQCAtMTgsOSArMTgsMzQg QEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGh2bV9zaGFkb3dfZmVhdHVyZW1hc2tbXSA9IElOSVRf SFZNX1NIQURPV19GRUFUVVJFUzsKIHN0YXRpYyBjb25zdCB1aW50MzJfdCBodm1faGFwX2ZlYXR1 cmVtYXNrW10gPSBJTklUX0hWTV9IQVBfRkVBVFVSRVM7CiBzdGF0aWMgY29uc3QgdWludDMyX3Qg ZGVlcF9mZWF0dXJlc1tdID0gSU5JVF9ERUVQX0ZFQVRVUkVTOwogCisvKgorICogV29ya3MgbGlr ZSBzdHJjbXAoKSwgYnV0IGN1c3RvbWlzZWQgc3BlY2lmaWNhbGx5IGZvciB0aGlzIHVzZWNhc2Uu ICAnbmFtZScKKyAqIGlzIGEgTlVMIHRlcm1pbmF0ZWQgc3RyaW5nLiAgJ3MnIGlzIGNvbnNpZGVy ZWQgdG8gbWF0Y2ggJ25hbWUnIGlmIHRoZSBOVUwKKyAqIHRlcm1pbmF0b3Igb2YgJ25hbWUnIG1h dGNoIHB1bmN0aWF0aW9uIGluICdzJy4KKyAqLworc3RhdGljIGludCBfX2luaXQgY3B1aWRfbmFt ZV9jbXAoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICBpbnQgcmVzOwor CisgICAgLyogQmFzaWMgc3RyY21wKCkuICovCisgICAgZm9yICggOyAqbmFtZSAhPSAnXDAnOyAr K25hbWUsICsrcyApCisgICAgICAgIGlmICggKHJlcyA9ICgqcyAtICpuYW1lKSkgIT0gMCApCisg ICAgICAgICAgICBicmVhazsKKworICAgIC8qIElmIGEgZmFpbHVyZSwgYnV0IG9ubHkgYmVjYXVz ZSAnPScgb3IgJywnLCBvdmVycmlkZSB0byBzdWNjZXNzLiAqLworICAgIGlmICggcmVzICYmICpu YW1lID09ICdcMCcgJiYgKCpzID09ICc9JyB8fCAqcyA9PSAnLCcpICkKKyAgICAgICAgcmVzID0g MDsKKworICAgIHJldHVybiByZXM7Cit9CisKIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX3hlbl9j cHVpZChjb25zdCBjaGFyICpzKQogewotICAgIGNvbnN0IGNoYXIgKnNzOworICAgIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZmVhdHVyZSB7CisgICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7CisgICAgICAg IHVuc2lnbmVkIGludCBiaXQ7CisgICAgfSBmZWF0dXJlc1tdIF9faW5pdGNvbnN0ID0gSU5JVF9G RUFUVVJFX05BTUVTLCAqbGhzLCAqbWlkLCAqcmhzOworICAgIGNvbnN0IGNoYXIgKnNzLCAqZmVh dDsKICAgICBpbnQgdmFsLCByYyA9IDA7CiAKICAgICBkbyB7CkBAIC0yOCwzMiArNTMsNDggQEAg c3RhdGljIGludCBfX2luaXQgcGFyc2VfeGVuX2NwdWlkKGNvbnN0IGNoYXIgKnMpCiAgICAgICAg IGlmICggIXNzICkKICAgICAgICAgICAgIHNzID0gc3RyY2hyKHMsICdcMCcpOwogCi0gICAgICAg IGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oImlicGIiLCBzLCBzcykpID49IDAgKQotICAgICAg ICB7Ci0gICAgICAgICAgICBpZiAoICF2YWwgKQotICAgICAgICAgICAgICAgIHNldHVwX2NsZWFy X2NwdV9jYXAoWDg2X0ZFQVRVUkVfSUJQQik7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAo ICh2YWwgPSBwYXJzZV9ib29sZWFuKCJpYnJzYiIsIHMsIHNzKSkgPj0gMCApCi0gICAgICAgIHsK LSAgICAgICAgICAgIGlmICggIXZhbCApCi0gICAgICAgICAgICAgICAgc2V0dXBfY2xlYXJfY3B1 X2NhcChYODZfRkVBVFVSRV9JQlJTQik7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoICh2 YWwgPSBwYXJzZV9ib29sZWFuKCJzdGlicCIsIHMsIHNzKSkgPj0gMCApCi0gICAgICAgIHsKLSAg ICAgICAgICAgIGlmICggIXZhbCApCi0gICAgICAgICAgICAgICAgc2V0dXBfY2xlYXJfY3B1X2Nh cChYODZfRkVBVFVSRV9TVElCUCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoICh2YWwg PSBwYXJzZV9ib29sZWFuKCJsMWQtZmx1c2giLCBzLCBzcykpID49IDAgKQotICAgICAgICB7Ci0g ICAgICAgICAgICBpZiAoICF2YWwgKQotICAgICAgICAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9j YXAoWDg2X0ZFQVRVUkVfTDFEX0ZMVVNIKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIGlmICgg KHZhbCA9IHBhcnNlX2Jvb2xlYW4oInNzYmQiLCBzLCBzcykpID49IDAgKQorICAgICAgICAvKiBT a2lwIHRoZSAnbm8tJyBwcmVmaXggZm9yIG5hbWUgY29tcGFyaXNvbnMuICovCisgICAgICAgIGZl YXQgPSBzOworICAgICAgICBpZiAoIHN0cm5jbXAocywgIm5vLSIsIDMpID09IDAgKQorICAgICAg ICAgICAgZmVhdCArPSAzOworCisgICAgICAgIC8qIChSZSlpbml0YWxpc2UgbGhzIGFuZCByaHMg Zm9yIGJpbmFyeSBzZWFyY2guICovCisgICAgICAgIGxocyA9IGZlYXR1cmVzOworICAgICAgICBy aHMgPSBmZWF0dXJlcyArIEFSUkFZX1NJWkUoZmVhdHVyZXMpOworCisgICAgICAgIHdoaWxlICgg bGhzIDwgcmhzICkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCAhdmFsICkKLSAgICAgICAg ICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1NTQkQpOworICAgICAgICAg ICAgaW50IHJlczsKKworICAgICAgICAgICAgbWlkID0gbGhzICsgKHJocyAtIGxocykgLyAyOwor ICAgICAgICAgICAgcmVzID0gY3B1aWRfbmFtZV9jbXAoZmVhdCwgbWlkLT5uYW1lKTsKKworICAg ICAgICAgICAgaWYgKCByZXMgPCAwICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBy aHMgPSBtaWQ7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAg ICAgICAgICBpZiAoIHJlcyA+IDAgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGxo cyA9IG1pZCArIDE7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisK KyAgICAgICAgICAgIGlmICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4obWlkLT5uYW1lLCBzLCBzcykp ID49IDAgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICggIXZhbCApCisgICAg ICAgICAgICAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAobWlkLT5iaXQpOworICAgICAgICAg ICAgICAgIG1pZCA9IE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICB9Ci0gICAgICAgIGVsc2UKKworICAgICAgICAvKgorICAgICAgICAgKiBNaWQgYmVp bmcgTlVMTCBtZWFucyB0aGF0IHRoZSBuYW1lIHNlYXJjaCBmYWlsZWQsIG9yIHRoYXQKKyAgICAg ICAgICogcGFyc2VfYm9vbGVhbigpIGZhaWxlZC4KKyAgICAgICAgICovCisgICAgICAgIGlmICgg bWlkICkKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKIAogICAgICAgICBzID0gc3MgKyAxOwpk aWZmIC0tZ2l0IGEveGVuL3Rvb2xzL2dlbi1jcHVpZC5weSBiL3hlbi90b29scy9nZW4tY3B1aWQu cHkKaW5kZXggMjc1NjliZC4uMDAyZGU2ZiAxMDA3NTUKLS0tIGEveGVuL3Rvb2xzL2dlbi1jcHVp ZC5weQorKysgYi94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CkBAIC0xOSw3ICsxOSw4IEBAIGNsYXNz IFN0YXRlKG9iamVjdCk6CiAgICAgICAgIHNlbGYub3V0cHV0ID0gb3Blbl9maWxlX29yX2ZkKG91 dHB1dCwgInciLCAyKQogCiAgICAgICAgICMgU3RhdGUgcGFyc2VkIGZyb20gaW5wdXQKLSAgICAg ICAgc2VsZi5uYW1lcyA9IHt9ICMgTmFtZSA9PiB2YWx1ZSBtYXBwaW5nCisgICAgICAgIHNlbGYu bmFtZXMgPSB7fSAgIyBWYWx1ZSA9PiBOYW1lIG1hcHBpbmcKKyAgICAgICAgc2VsZi52YWx1ZXMg PSB7fSAjIE5hbWUgPT4gVmFsdWUgbWFwcGluZwogICAgICAgICBzZWxmLnJhd19zcGVjaWFsID0g c2V0KCkKICAgICAgICAgc2VsZi5yYXdfcHYgPSBzZXQoKQogICAgICAgICBzZWxmLnJhd19odm1f c2hhZG93ID0gc2V0KCkKQEAgLTc2LDggKzc3LDkgQEAgZGVmIHBhcnNlX2RlZmluaXRpb25zKHN0 YXRlKToKICAgICAgICAgICAgIHRoaXNfbmFtZSA9IG5hbWUKICAgICAgICAgc2V0YXR0cih0aGlz LCB0aGlzX25hbWUsIHZhbCkKIAotICAgICAgICAjIENvbnN0cnVjdCBhIHJldmVyc2UgbWFwcGlu ZyBvZiB2YWx1ZSB0byBuYW1lCisgICAgICAgICMgQ29uc3RydWN0IGZvcndhcmQgYW5kIHJldmVy c2UgbWFwcGluZ3MgYmV0d2VlbiBuYW1lIGFuZCB2YWx1ZQogICAgICAgICBzdGF0ZS5uYW1lc1t2 YWxdID0gbmFtZQorICAgICAgICBzdGF0ZS52YWx1ZXNbbmFtZS5sb3dlcigpLnJlcGxhY2UoIl8i LCAiLSIpXSA9IHZhbAogCiAgICAgICAgIGZvciBhIGluIGF0dHI6CiAKQEAgLTM5Myw2ICszOTUs MjIgQEAgZGVmIHdyaXRlX3Jlc3VsdHMoc3RhdGUpOgogICAgIHN0YXRlLm91dHB1dC53cml0ZSgK ICIiIn0KIAorI2RlZmluZSBJTklUX0ZFQVRVUkVfTkFNRVMgeyBcXAorIiIiKQorCisgICAgdHJ5 OgorICAgICAgICBfdG1wID0gc3RhdGUudmFsdWVzLml0ZXJpdGVtcygpCisgICAgZXhjZXB0IEF0 dHJpYnV0ZUVycm9yOgorICAgICAgICBfdG1wID0gc3RhdGUudmFsdWVzLml0ZW1zKCkKKworICAg IGZvciBuYW1lLCBiaXQgaW4gc29ydGVkKF90bXApOgorICAgICAgICBzdGF0ZS5vdXRwdXQud3Jp dGUoCisgICAgICAgICAgICAnICAgIHsgIiVzIiwgJXNVIH0sXFxcbicgJSAobmFtZSwgYml0KQor ICAgICAgICAgICAgKQorCisgICAgc3RhdGUub3V0cHV0LndyaXRlKAorIiIifQorCiAiIiIpCiAK ICAgICBmb3IgaWR4LCB0ZXh0IGluIGVudW1lcmF0ZShzdGF0ZS5iaXRmaWVsZHMpOgotLSAKMi4x LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs