From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 6/6] x86/hvm: Move hvm_hypervisor_cpuid_leaf() handling into cpuid_hypervisor_leaves() Date: Wed, 16 Nov 2016 12:31:50 +0000 Message-ID: <1479299510-700-7-git-send-email-andrew.cooper3@citrix.com> References: <1479299510-700-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: <1479299510-700-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+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgfCAyMiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICB8IDE5IC0tLS0tLS0t LS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgIHwgMzQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgg fCAgNyAtLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDUyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4vYXJjaC94 ODYvaHZtL2h2bS5jCmluZGV4IDg2MmFiNzYuLjVhZTgyNzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtMzM3NiwyOCAr MzM3Niw2IEBAIHVuc2lnbmVkIGxvbmcgY29weV9mcm9tX3VzZXJfaHZtKHZvaWQgKnRvLCBjb25z dCB2b2lkICpmcm9tLCB1bnNpZ25lZCBsZW4pCiAgICAgcmV0dXJuIHJjID8gbGVuIDogMDsgLyog ZmFrZSBhIGNvcHlfZnJvbV91c2VyKCkgcmV0dXJuIGNvZGUgKi8KIH0KIAotdm9pZCBodm1faHlw ZXJ2aXNvcl9jcHVpZF9sZWFmKHVpbnQzMl90IHN1Yl9pZHgsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgKmVheCwgdWludDMyX3QgKmVieCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZWN4LCB1aW50MzJfdCAqZWR4KQotewotICAgICpl YXggPSAqZWJ4ID0gKmVjeCA9ICplZHggPSAwOwotICAgIGlmICggaHZtX2Z1bmNzLmh5cGVydmlz b3JfY3B1aWRfbGVhZiApCi0gICAgICAgIGh2bV9mdW5jcy5oeXBlcnZpc29yX2NwdWlkX2xlYWYo c3ViX2lkeCwgZWF4LCBlYngsIGVjeCwgZWR4KTsKLQotICAgIGlmICggc3ViX2lkeCA9PSAwICkK LSAgICB7Ci0gICAgICAgIC8qCi0gICAgICAgICAqIEluZGljYXRlIHRoYXQgbWVtb3J5IG1hcHBl ZCBmcm9tIG90aGVyIGRvbWFpbnMgKGVpdGhlciBncmFudHMgb3IKLSAgICAgICAgICogZm9yZWln biBwYWdlcykgaGFzIHZhbGlkIElPTU1VIGVudHJpZXMuCi0gICAgICAgICAqLwotICAgICAgICAq ZWF4IHw9IFhFTl9IVk1fQ1BVSURfSU9NTVVfTUFQUElOR1M7Ci0KLSAgICAgICAgLyogSW5kaWNh dGUgcHJlc2VuY2Ugb2YgdmNwdSBpZCBhbmQgc2V0IGl0IGluIGVieCAqLwotICAgICAgICAqZWF4 IHw9IFhFTl9IVk1fQ1BVSURfVkNQVV9JRF9QUkVTRU5UOwotICAgICAgICAqZWJ4ID0gY3VycmVu dC0+dmNwdV9pZDsKLSAgICB9Ci19Ci0KIHZvaWQgaHZtX2NwdWlkKHVuc2lnbmVkIGludCBpbnB1 dCwgdW5zaWduZWQgaW50ICplYXgsIHVuc2lnbmVkIGludCAqZWJ4LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmVjeCwgdW5zaWduZWQgaW50ICplZHgp CiB7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4 Ni9odm0vdm14L3ZteC5jCmluZGV4IDVhNzMwNzYuLjJhNTU1MWQgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBA IC0xOTY5LDI0ICsxOTY5LDYgQEAgc3RhdGljIHZvaWQgdm14X2hhbmRsZV9lb2kodTggdmVjdG9y KQogICAgIF9fdm13cml0ZShHVUVTVF9JTlRSX1NUQVRVUywgc3RhdHVzKTsKIH0KIAotdm9pZCB2 bXhfaHlwZXJ2aXNvcl9jcHVpZF9sZWFmKHVpbnQzMl90IHN1Yl9pZHgsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVheCwgdWludDMyX3QgKmVieCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZWN4LCB1aW50MzJfdCAqZWR4KQotewot ICAgIGlmICggc3ViX2lkeCAhPSAwICkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICggY3B1X2hh c192bXhfYXBpY19yZWdfdmlydCApCi0gICAgICAgICplYXggfD0gWEVOX0hWTV9DUFVJRF9BUElD X0FDQ0VTU19WSVJUOwotICAgIC8qCi0gICAgICogV2Ugd2FudCB0byBjbGFpbSB0aGF0IHgyQVBJ QyBpcyB2aXJ0dWFsaXplZCBpZiBBUElDIE1TUiBhY2Nlc3NlcyBhcmUKLSAgICAgKiBub3QgaW50 ZXJjZXB0ZWQuIFdoZW4gYWxsIHRocmVlIG9mIHRoZXNlIGFyZSB0cnVlIGJvdGggcmRtc3IgYW5k IHdybXNyCi0gICAgICogaW4gdGhlIGd1ZXN0IHdpbGwgcnVuIHdpdGhvdXQgVk1FWElUcyAoc2Vl IHZteF92bGFwaWNfbXNyX2NoYW5nZWQoKSkuCi0gICAgICovCi0gICAgaWYgKCBjcHVfaGFzX3Zt eF92aXJ0dWFsaXplX3gyYXBpY19tb2RlICYmIGNwdV9oYXNfdm14X2FwaWNfcmVnX3ZpcnQgJiYK LSAgICAgICAgIGNwdV9oYXNfdm14X3ZpcnR1YWxfaW50cl9kZWxpdmVyeSApCi0gICAgICAgICpl YXggfD0gWEVOX0hWTV9DUFVJRF9YMkFQSUNfVklSVDsKLX0KLQogc3RhdGljIHZvaWQgdm14X2Vu YWJsZV9tc3JfaW50ZXJjZXB0aW9uKHN0cnVjdCBkb21haW4gKmQsIHVpbnQzMl90IG1zcikKIHsK ICAgICBzdHJ1Y3QgdmNwdSAqdjsKQEAgLTIxODcsNyArMjE2OSw2IEBAIHN0YXRpYyBzdHJ1Y3Qg aHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5pdGRhdGEgdm14X2Z1bmN0aW9uX3RhYmxlID0gewogICAg IC5zeW5jX3Bpcl90b19pcnIgICAgICA9IHZteF9zeW5jX3Bpcl90b19pcnIsCiAgICAgLmhhbmRs ZV9lb2kgICAgICAgICAgID0gdm14X2hhbmRsZV9lb2ksCiAgICAgLm5odm1faGFwX3dhbGtfTDFf cDJtID0gbnZteF9oYXBfd2Fsa19MMV9wMm0sCi0gICAgLmh5cGVydmlzb3JfY3B1aWRfbGVhZiA9 IHZteF9oeXBlcnZpc29yX2NwdWlkX2xlYWYsCiAgICAgLmVuYWJsZV9tc3JfaW50ZXJjZXB0aW9u ID0gdm14X2VuYWJsZV9tc3JfaW50ZXJjZXB0aW9uLAogICAgIC5pc19zaW5nbGVzdGVwX3N1cHBv cnRlZCA9IHZteF9pc19zaW5nbGVzdGVwX3N1cHBvcnRlZCwKICAgICAuc2V0X21vZGUgPSB2bXhf c2V0X21vZGUsCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCmluZGV4IDliZTlmZTMuLjU5ZmU5OGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC04NjksNyArODY5LDggQEAg aW50IHdybXNyX2h5cGVydmlzb3JfcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90IHZhbCkKIGlu dCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyggdWludDMyX3QgaWR4LCB1aW50MzJfdCBzdWJfaWR4 LAogICAgICAgICAgICAgICAgdWludDMyX3QgKmVheCwgdWludDMyX3QgKmVieCwgdWludDMyX3Qg KmVjeCwgdWludDMyX3QgKmVkeCkKIHsKLSAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJl bnQtPmRvbWFpbjsKKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisgICAgc3RydWN0 IGRvbWFpbiAqY3VycmQgPSBjdXJyLT5kb21haW47CiAgICAgLyogT3B0aW9uYWxseSBzaGlmdCBv dXQgb2YgdGhlIHdheSBvZiBWaXJpZGlhbiBhcmNoaXRlY3R1cmFsIGxlYXZlcy4gKi8KICAgICB1 aW50MzJfdCBiYXNlID0gaXNfdmlyaWRpYW5fZG9tYWluKGN1cnJkKSA/IDB4NDAwMDAxMDAgOiAw eDQwMDAwMDAwOwogICAgIHVpbnQzMl90IGxpbWl0LCBkdW1teTsKQEAgLTk2MSwxMyArOTYyLDM4 IEBAIGludCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyggdWludDMyX3QgaWR4LCB1aW50MzJfdCBz dWJfaWR4LAogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSA0OgotICAgICAg ICBpZiAoICFoYXNfaHZtX2NvbnRhaW5lcl9kb21haW4oY3VycmQpICkKKyAgICBjYXNlIDQ6IC8q IEhWTSBoeXBlcnZpc29yIGxlYWYuICovCisgICAgICAgIGlmICggIWhhc19odm1fY29udGFpbmVy X2RvbWFpbihjdXJyZCkgfHwgc3ViX2lkeCAhPSAwICkKICAgICAgICAgewogICAgICAgICAgICAg KmVheCA9ICplYnggPSAqZWN4ID0gKmVkeCA9IDA7CiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgfQotICAgICAgICBodm1faHlwZXJ2aXNvcl9jcHVpZF9sZWFmKHN1Yl9pZHgsIGVheCwgZWJ4 LCBlY3gsIGVkeCk7CisKKyAgICAgICAgaWYgKCBjcHVfaGFzX3ZteF9hcGljX3JlZ192aXJ0ICkK KyAgICAgICAgICAgICplYXggfD0gWEVOX0hWTV9DUFVJRF9BUElDX0FDQ0VTU19WSVJUOworCisg ICAgICAgIC8qCisgICAgICAgICAqIFdlIHdhbnQgdG8gY2xhaW0gdGhhdCB4MkFQSUMgaXMgdmly dHVhbGl6ZWQgaWYgQVBJQyBNU1IgYWNjZXNzZXMKKyAgICAgICAgICogYXJlIG5vdCBpbnRlcmNl cHRlZC4gV2hlbiBhbGwgdGhyZWUgb2YgdGhlc2UgYXJlIHRydWUgYm90aCByZG1zcgorICAgICAg ICAgKiBhbmQgd3Jtc3IgaW4gdGhlIGd1ZXN0IHdpbGwgcnVuIHdpdGhvdXQgVk1FWElUcyAoc2Vl CisgICAgICAgICAqIHZteF92bGFwaWNfbXNyX2NoYW5nZWQoKSkuCisgICAgICAgICAqLworICAg ICAgICBpZiAoIGNwdV9oYXNfdm14X3ZpcnR1YWxpemVfeDJhcGljX21vZGUgJiYKKyAgICAgICAg ICAgICBjcHVfaGFzX3ZteF9hcGljX3JlZ192aXJ0ICYmCisgICAgICAgICAgICAgY3B1X2hhc192 bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICkKKyAgICAgICAgICAgICplYXggfD0gWEVOX0hWTV9D UFVJRF9YMkFQSUNfVklSVDsKKworICAgICAgICAvKgorICAgICAgICAgKiBJbmRpY2F0ZSB0aGF0 IG1lbW9yeSBtYXBwZWQgZnJvbSBvdGhlciBkb21haW5zIChlaXRoZXIgZ3JhbnRzIG9yCisgICAg ICAgICAqIGZvcmVpZ24gcGFnZXMpIGhhcyB2YWxpZCBJT01NVSBlbnRyaWVzLgorICAgICAgICAg Ki8KKyAgICAgICAgKmVheCB8PSBYRU5fSFZNX0NQVUlEX0lPTU1VX01BUFBJTkdTOworCisgICAg ICAgIC8qIEluZGljYXRlIHByZXNlbmNlIG9mIHZjcHUgaWQgYW5kIHNldCBpdCBpbiBlYnggKi8K KyAgICAgICAgKmVheCB8PSBYRU5fSFZNX0NQVUlEX1ZDUFVfSURfUFJFU0VOVDsKKyAgICAgICAg KmVieCA9IGN1cnItPnZjcHVfaWQ7CisKKyAgICAgICAgKmVjeCA9ICplZHggPSAwOwogICAgICAg ICBicmVhazsKIAogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9odm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCmluZGV4IDhlMzY2YzAu LjFiOWJiYWEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oCkBAIC0yMDcsMTAgKzIwNyw2IEBAIHN0cnVj dCBodm1fZnVuY3Rpb25fdGFibGUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50OF90ICpwMm1fYWNjLCBib29sX3QgYWNjZXNzX3IsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2xfdCBhY2Nlc3NfdywgYm9vbF90IGFjY2Vzc194KTsKIAotICAgIHZvaWQg KCpoeXBlcnZpc29yX2NwdWlkX2xlYWYpKHVpbnQzMl90IHN1Yl9pZHgsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVheCwgdWludDMyX3QgKmVieCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqZWN4LCB1aW50MzJfdCAqZWR4 KTsKLQogICAgIHZvaWQgKCplbmFibGVfbXNyX2ludGVyY2VwdGlvbikoc3RydWN0IGRvbWFpbiAq ZCwgdWludDMyX3QgbXNyKTsKICAgICBib29sX3QgKCppc19zaW5nbGVzdGVwX3N1cHBvcnRlZCko dm9pZCk7CiAgICAgaW50ICgqc2V0X21vZGUpKHN0cnVjdCB2Y3B1ICp2LCBpbnQgbW9kZSk7CkBA IC00MDYsOSArNDAyLDYgQEAgYm9vbCBodm1fc2V0X2d1ZXN0X2JuZGNmZ3Moc3RydWN0IHZjcHUg KnYsIHU2NCB2YWwpOwogI2RlZmluZSBoYXNfdmlyaWRpYW5fYXBpY19hc3Npc3QoZCkgXAogICAg IChpc192aXJpZGlhbl9kb21haW4oZCkgJiYgKHZpcmlkaWFuX2ZlYXR1cmVfbWFzayhkKSAmIEhW TVBWX2FwaWNfYXNzaXN0KSkKIAotdm9pZCBodm1faHlwZXJ2aXNvcl9jcHVpZF9sZWFmKHVpbnQz Ml90IHN1Yl9pZHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmVh eCwgdWludDMyX3QgKmVieCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqZWN4LCB1aW50MzJfdCAqZWR4KTsKIHZvaWQgaHZtX2NwdWlkKHVuc2lnbmVkIGludCBpbnB1 dCwgdW5zaWduZWQgaW50ICplYXgsIHVuc2lnbmVkIGludCAqZWJ4LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmVjeCwgdW5zaWduZWQgaW50ICplZHgp OwogYm9vbCBodm1fY2hlY2tfY3B1aWRfZmF1bHRpbmcoc3RydWN0IHZjcHUgKnYpOwotLSAKMi4x LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK