From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 4/4] x86/hvm: Move hvm_hypervisor_cpuid_leaf() handling into cpuid_hypervisor_leaves() Date: Mon, 5 Dec 2016 18:24:40 +0000 Message-ID: <1480962280-29787-5-git-send-email-andrew.cooper3@citrix.com> References: <1480962280-29787-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: <1480962280-29787-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 , Kevin Tian , Jun Nakajima , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyByZWR1Y2VzIHRoZSBuZXQgY29tcGxleGl0eSBvZiBDUFVJRCBoYW5kbGluZyBieSBoYXZp bmcgYWxsIGFkanVzdG1lbnRzIGluCmF0IHRoZSBzYW1lIHBsYWNlLiAgUmVtb3ZlIHRoZSBub3ct dW51c2VkIGh2bV9mdW5jcy5oeXBlcnZpc29yX2NwdWlkX2xlYWYoKQppbmZyYXN0cnVjdHVyZS4K ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogSnVuIE5ha2FqaW1h IDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRl bC5jb20+Cgp2MjoKICogUmVvcmRlciB0aGUgcG9zaXRpb24gb2YgdGhlIGJsYW5rZXQgemVybwot LS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgIHwgMjIgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgfCAxOSAtLS0tLS0tLS0tLS0tLS0t LS0tCiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oIHwgIDcg LS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2 bS9odm0uYwppbmRleCA2NTJhNDk2Li5jNWRmZDZlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv aHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTM0MDEsMjggKzM0MDEs NiBAQCB1bnNpZ25lZCBsb25nIGNvcHlfZnJvbV91c2VyX2h2bSh2b2lkICp0bywgY29uc3Qgdm9p ZCAqZnJvbSwgdW5zaWduZWQgbGVuKQogICAgIHJldHVybiByYyA/IGxlbiA6IDA7IC8qIGZha2Ug YSBjb3B5X2Zyb21fdXNlcigpIHJldHVybiBjb2RlICovCiB9CiAKLXZvaWQgaHZtX2h5cGVydmlz b3JfY3B1aWRfbGVhZih1aW50MzJfdCBzdWJfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90ICplYXgsIHVpbnQzMl90ICplYngsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgKmVjeCwgdWludDMyX3QgKmVkeCkKLXsKLSAgICAqZWF4ID0g KmVieCA9ICplY3ggPSAqZWR4ID0gMDsKLSAgICBpZiAoIGh2bV9mdW5jcy5oeXBlcnZpc29yX2Nw dWlkX2xlYWYgKQotICAgICAgICBodm1fZnVuY3MuaHlwZXJ2aXNvcl9jcHVpZF9sZWFmKHN1Yl9p ZHgsIGVheCwgZWJ4LCBlY3gsIGVkeCk7Ci0KLSAgICBpZiAoIHN1Yl9pZHggPT0gMCApCi0gICAg ewotICAgICAgICAvKgotICAgICAgICAgKiBJbmRpY2F0ZSB0aGF0IG1lbW9yeSBtYXBwZWQgZnJv bSBvdGhlciBkb21haW5zIChlaXRoZXIgZ3JhbnRzIG9yCi0gICAgICAgICAqIGZvcmVpZ24gcGFn ZXMpIGhhcyB2YWxpZCBJT01NVSBlbnRyaWVzLgotICAgICAgICAgKi8KLSAgICAgICAgKmVheCB8 PSBYRU5fSFZNX0NQVUlEX0lPTU1VX01BUFBJTkdTOwotCi0gICAgICAgIC8qIEluZGljYXRlIHBy ZXNlbmNlIG9mIHZjcHUgaWQgYW5kIHNldCBpdCBpbiBlYnggKi8KLSAgICAgICAgKmVheCB8PSBY RU5fSFZNX0NQVUlEX1ZDUFVfSURfUFJFU0VOVDsKLSAgICAgICAgKmVieCA9IGN1cnJlbnQtPnZj cHVfaWQ7Ci0gICAgfQotfQotCiB2b2lkIGh2bV9jcHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVu c2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVuc2lnbmVkIGludCAqZWR4KQogewpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZt L3ZteC92bXguYwppbmRleCA0OTliMzAwLi4zNTBiOTQ1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtMTkw OCwyNCArMTkwOCw2IEBAIHN0YXRpYyB2b2lkIHZteF9oYW5kbGVfZW9pKHU4IHZlY3RvcikKICAg ICBfX3Ztd3JpdGUoR1VFU1RfSU5UUl9TVEFUVVMsIHN0YXR1cyk7CiB9CiAKLXZvaWQgdm14X2h5 cGVydmlzb3JfY3B1aWRfbGVhZih1aW50MzJfdCBzdWJfaWR4LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90ICplYXgsIHVpbnQzMl90ICplYngsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVjeCwgdWludDMyX3QgKmVkeCkKLXsKLSAgICBp ZiAoIHN1Yl9pZHggIT0gMCApCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAoIGNwdV9oYXNfdm14 X2FwaWNfcmVnX3ZpcnQgKQotICAgICAgICAqZWF4IHw9IFhFTl9IVk1fQ1BVSURfQVBJQ19BQ0NF U1NfVklSVDsKLSAgICAvKgotICAgICAqIFdlIHdhbnQgdG8gY2xhaW0gdGhhdCB4MkFQSUMgaXMg dmlydHVhbGl6ZWQgaWYgQVBJQyBNU1IgYWNjZXNzZXMgYXJlCi0gICAgICogbm90IGludGVyY2Vw dGVkLiBXaGVuIGFsbCB0aHJlZSBvZiB0aGVzZSBhcmUgdHJ1ZSBib3RoIHJkbXNyIGFuZCB3cm1z cgotICAgICAqIGluIHRoZSBndWVzdCB3aWxsIHJ1biB3aXRob3V0IFZNRVhJVHMgKHNlZSB2bXhf dmxhcGljX21zcl9jaGFuZ2VkKCkpLgotICAgICAqLwotICAgIGlmICggY3B1X2hhc192bXhfdmly dHVhbGl6ZV94MmFwaWNfbW9kZSAmJiBjcHVfaGFzX3ZteF9hcGljX3JlZ192aXJ0ICYmCi0gICAg ICAgICBjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgKQotICAgICAgICAqZWF4IHw9 IFhFTl9IVk1fQ1BVSURfWDJBUElDX1ZJUlQ7Ci19Ci0KIHN0YXRpYyB2b2lkIHZteF9lbmFibGVf bXNyX2ludGVyY2VwdGlvbihzdHJ1Y3QgZG9tYWluICpkLCB1aW50MzJfdCBtc3IpCiB7CiAgICAg c3RydWN0IHZjcHUgKnY7CkBAIC0yMTI2LDcgKzIxMDgsNiBAQCBzdGF0aWMgc3RydWN0IGh2bV9m dW5jdGlvbl90YWJsZSBfX2luaXRkYXRhIHZteF9mdW5jdGlvbl90YWJsZSA9IHsKICAgICAuc3lu Y19waXJfdG9faXJyICAgICAgPSB2bXhfc3luY19waXJfdG9faXJyLAogICAgIC5oYW5kbGVfZW9p ICAgICAgICAgICA9IHZteF9oYW5kbGVfZW9pLAogICAgIC5uaHZtX2hhcF93YWxrX0wxX3AybSA9 IG52bXhfaGFwX3dhbGtfTDFfcDJtLAotICAgIC5oeXBlcnZpc29yX2NwdWlkX2xlYWYgPSB2bXhf aHlwZXJ2aXNvcl9jcHVpZF9sZWFmLAogICAgIC5lbmFibGVfbXNyX2ludGVyY2VwdGlvbiA9IHZt eF9lbmFibGVfbXNyX2ludGVyY2VwdGlvbiwKICAgICAuaXNfc2luZ2xlc3RlcF9zdXBwb3J0ZWQg PSB2bXhfaXNfc2luZ2xlc3RlcF9zdXBwb3J0ZWQsCiAgICAgLnNldF9tb2RlID0gdm14X3NldF9t b2RlLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYvdHJh cHMuYwppbmRleCA2MzhkOGZmLi41ZGRjNDA4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvdHJh cHMuYworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpAQCAtOTA3LDcgKzkwNyw4IEBAIGludCB3 cm1zcl9oeXBlcnZpc29yX3JlZ3ModWludDMyX3QgaWR4LCB1aW50NjRfdCB2YWwpCiBpbnQgY3B1 aWRfaHlwZXJ2aXNvcl9sZWF2ZXMoIHVpbnQzMl90IGlkeCwgdWludDMyX3Qgc3ViX2lkeCwKICAg ICAgICAgICAgICAgIHVpbnQzMl90ICplYXgsIHVpbnQzMl90ICplYngsIHVpbnQzMl90ICplY3gs IHVpbnQzMl90ICplZHgpCiB7Ci0gICAgc3RydWN0IGRvbWFpbiAqY3VycmQgPSBjdXJyZW50LT5k b21haW47CisgICAgc3RydWN0IHZjcHUgKmN1cnIgPSBjdXJyZW50OworICAgIHN0cnVjdCBkb21h aW4gKmN1cnJkID0gY3Vyci0+ZG9tYWluOwogICAgIC8qIE9wdGlvbmFsbHkgc2hpZnQgb3V0IG9m IHRoZSB3YXkgb2YgVmlyaWRpYW4gYXJjaGl0ZWN0dXJhbCBsZWF2ZXMuICovCiAgICAgdWludDMy X3QgYmFzZSA9IGlzX3ZpcmlkaWFuX2RvbWFpbihjdXJyZCkgPyAweDQwMDAwMTAwIDogMHg0MDAw MDAwMDsKICAgICB1aW50MzJfdCBsaW1pdCwgZHVtbXk7CkBAIC05OTksMTMgKzEwMDAsMzUgQEAg aW50IGNwdWlkX2h5cGVydmlzb3JfbGVhdmVzKCB1aW50MzJfdCBpZHgsIHVpbnQzMl90IHN1Yl9p ZHgsCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIDQ6Ci0gICAgICAgIGlm ICggIWhhc19odm1fY29udGFpbmVyX2RvbWFpbihjdXJyZCkgKQotICAgICAgICB7Ci0gICAgICAg ICAgICAqZWF4ID0gKmVieCA9ICplY3ggPSAqZWR4ID0gMDsKKyAgICBjYXNlIDQ6IC8qIEhWTSBo eXBlcnZpc29yIGxlYWYuICovCisgICAgICAgICplYXggPSAqZWJ4ID0gKmVjeCA9ICplZHggPSAw OworCisgICAgICAgIGlmICggIWhhc19odm1fY29udGFpbmVyX2RvbWFpbihjdXJyZCkgfHwgc3Vi X2lkeCAhPSAwICkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGh2bV9o eXBlcnZpc29yX2NwdWlkX2xlYWYoc3ViX2lkeCwgZWF4LCBlYngsIGVjeCwgZWR4KTsKKworICAg ICAgICBpZiAoIGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQgKQorICAgICAgICAgICAgKmVheCB8 PSBYRU5fSFZNX0NQVUlEX0FQSUNfQUNDRVNTX1ZJUlQ7CisKKyAgICAgICAgLyoKKyAgICAgICAg ICogV2Ugd2FudCB0byBjbGFpbSB0aGF0IHgyQVBJQyBpcyB2aXJ0dWFsaXplZCBpZiBBUElDIE1T UiBhY2Nlc3NlcworICAgICAgICAgKiBhcmUgbm90IGludGVyY2VwdGVkLiBXaGVuIGFsbCB0aHJl ZSBvZiB0aGVzZSBhcmUgdHJ1ZSBib3RoIHJkbXNyCisgICAgICAgICAqIGFuZCB3cm1zciBpbiB0 aGUgZ3Vlc3Qgd2lsbCBydW4gd2l0aG91dCBWTUVYSVRzIChzZWUKKyAgICAgICAgICogdm14X3Zs YXBpY19tc3JfY2hhbmdlZCgpKS4KKyAgICAgICAgICovCisgICAgICAgIGlmICggY3B1X2hhc192 bXhfdmlydHVhbGl6ZV94MmFwaWNfbW9kZSAmJgorICAgICAgICAgICAgIGNwdV9oYXNfdm14X2Fw aWNfcmVnX3ZpcnQgJiYKKyAgICAgICAgICAgICBjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVs aXZlcnkgKQorICAgICAgICAgICAgKmVheCB8PSBYRU5fSFZNX0NQVUlEX1gyQVBJQ19WSVJUOwor CisgICAgICAgIC8qCisgICAgICAgICAqIEluZGljYXRlIHRoYXQgbWVtb3J5IG1hcHBlZCBmcm9t IG90aGVyIGRvbWFpbnMgKGVpdGhlciBncmFudHMgb3IKKyAgICAgICAgICogZm9yZWlnbiBwYWdl cykgaGFzIHZhbGlkIElPTU1VIGVudHJpZXMuCisgICAgICAgICAqLworICAgICAgICAqZWF4IHw9 IFhFTl9IVk1fQ1BVSURfSU9NTVVfTUFQUElOR1M7CisKKyAgICAgICAgLyogSW5kaWNhdGUgcHJl c2VuY2Ugb2YgdmNwdSBpZCBhbmQgc2V0IGl0IGluIGVieCAqLworICAgICAgICAqZWF4IHw9IFhF Tl9IVk1fQ1BVSURfVkNQVV9JRF9QUkVTRU5UOworICAgICAgICAqZWJ4ID0gY3Vyci0+dmNwdV9p ZDsKICAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vaHZtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaAppbmRl eCAxYWJlNzQzLi5iODliMjA5IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9o dm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9odm0uaApAQCAtMTk4LDEwICsxOTgs NiBAQCBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDhfdCAqcDJtX2FjYywgYm9vbF90IGFjY2Vzc19yLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBib29sX3QgYWNjZXNzX3csIGJvb2xfdCBhY2Nlc3NfeCk7CiAK LSAgICB2b2lkICgqaHlwZXJ2aXNvcl9jcHVpZF9sZWFmKSh1aW50MzJfdCBzdWJfaWR4LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICplYXgsIHVpbnQzMl90ICpl YngsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVjeCwgdWlu dDMyX3QgKmVkeCk7Ci0KICAgICB2b2lkICgqZW5hYmxlX21zcl9pbnRlcmNlcHRpb24pKHN0cnVj dCBkb21haW4gKmQsIHVpbnQzMl90IG1zcik7CiAgICAgYm9vbF90ICgqaXNfc2luZ2xlc3RlcF9z dXBwb3J0ZWQpKHZvaWQpOwogICAgIGludCAoKnNldF9tb2RlKShzdHJ1Y3QgdmNwdSAqdiwgaW50 IG1vZGUpOwpAQCAtMzg4LDkgKzM4NCw2IEBAIGJvb2wgaHZtX3NldF9ndWVzdF9ibmRjZmdzKHN0 cnVjdCB2Y3B1ICp2LCB1NjQgdmFsKTsKICNkZWZpbmUgaGFzX3ZpcmlkaWFuX2FwaWNfYXNzaXN0 KGQpIFwKICAgICAoaXNfdmlyaWRpYW5fZG9tYWluKGQpICYmICh2aXJpZGlhbl9mZWF0dXJlX21h c2soZCkgJiBIVk1QVl9hcGljX2Fzc2lzdCkpCiAKLXZvaWQgaHZtX2h5cGVydmlzb3JfY3B1aWRf bGVhZih1aW50MzJfdCBzdWJfaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90ICplYXgsIHVpbnQzMl90ICplYngsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgKmVjeCwgdWludDMyX3QgKmVkeCk7CiB2b2lkIGh2bV9jcHVpZCh1bnNpZ25l ZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVuc2lnbmVk IGludCAqZWR4KTsKIGJvb2wgaHZtX2NoZWNrX2NwdWlkX2ZhdWx0aW5nKHN0cnVjdCB2Y3B1ICp2 KTsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==