From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/6] x86/emul: Pass a full cpuid_policy into x86_emulate() Date: Mon, 5 Nov 2018 11:21:05 +0000 Message-ID: <1541416867-30253-5-git-send-email-andrew.cooper3@citrix.com> References: <1541416867-30253-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: <1541416867-30253-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 List-Id: xen-devel@lists.xenproject.org VGhpcyB3aWxsIGJlIHVzZWQgdG8gc2ltcGxpZnkgZmVhdHVyZSBjaGVja2luZy4KClNpZ25lZC1v ZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzog SmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0 cml4LmNvbT4KLS0tCiB0b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9mdXp6LWVt dWwuYyB8IDEgKwogdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMg ICAgfCAyICstCiB4ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyAgICAgICAgICAgICAgICAgICAg ICB8IDIgKy0KIHhlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgICAgICAgICAgICAgICAg IHwgMiArLQogeGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jICAgICAgICAgICAgICAgICAg fCAyICstCiB4ZW4vYXJjaC94ODYvcHYvcm8tcGFnZS1mYXVsdC5jICAgICAgICAgICAgICAgICB8 IDIgKy0KIHhlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jICAgICAgICAgIHwg NyArKysrLS0tCiB4ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuaCAgICAgICAg ICB8IDQgKystLQogOCBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9m dXp6LWVtdWwuYyBiL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11 bC5jCmluZGV4IDBmZmQwZmIuLjhkMGVhMDIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Z1enoveDg2X2lu c3RydWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCisrKyBiL3Rvb2xzL2Z1enoveDg2X2luc3Ry dWN0aW9uX2VtdWxhdG9yL2Z1enotZW11bC5jCkBAIC04MjcsNiArODI3LDcgQEAgaW50IExMVk1G dXp6ZXJUZXN0T25lSW5wdXQoY29uc3QgdWludDhfdCAqZGF0YV9wLCBzaXplX3Qgc2l6ZSkKICAg ICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCBjdHh0ID0gewogICAgICAgICAuZGF0YSA9ICZzdGF0 ZSwKICAgICAgICAgLnJlZ3MgPSAmaW5wdXQucmVncywKKyAgICAgICAgLmNwdWlkID0gJmNwLAog ICAgICAgICAuYWRkcl9zaXplID0gOCAqIHNpemVvZih2b2lkICopLAogICAgICAgICAuc3Bfc2l6 ZSA9IDggKiBzaXplb2Yodm9pZCAqKSwKICAgICB9OwpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdHMv eDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMgYi90b29scy90ZXN0cy94ODZfZW11bGF0 b3IvdGVzdF94ODZfZW11bGF0b3IuYwppbmRleCBlZDVhM2Q4Li4yODZhYmI3IDEwMDY0NAotLS0g YS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYworKysgYi90b29s cy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYwpAQCAtNDM0LDcgKzQzNCw3 IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogICAgIGN0eHQucmVncyA9ICZy ZWdzOwogICAgIGN0eHQuZm9yY2Vfd3JpdGViYWNrID0gMDsKLSAgICBjdHh0LnZlbmRvciAgICA9 IFg4Nl9WRU5ET1JfVU5LTk9XTjsKKyAgICBjdHh0LmNwdWlkICAgICA9ICZjcDsKICAgICBjdHh0 LmxtYSAgICAgICA9IHNpemVvZih2b2lkICopID09IDg7CiAgICAgY3R4dC5hZGRyX3NpemUgPSA4 ICogc2l6ZW9mKHZvaWQgKik7CiAgICAgY3R4dC5zcF9zaXplICAgPSA4ICogc2l6ZW9mKHZvaWQg Kik7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jCmluZGV4IDllN2RlYWEuLjkxZmE5ZGIgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9odm0vZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jCkBA IC0yNTQzLDcgKzI1NDMsNyBAQCB2b2lkIGh2bV9lbXVsYXRlX2luaXRfb25jZSgKIAogICAgIGh2 bWVtdWxfY3R4dC0+dmFsaWRhdGUgPSB2YWxpZGF0ZTsKICAgICBodm1lbXVsX2N0eHQtPmN0eHQu cmVncyA9IHJlZ3M7Ci0gICAgaHZtZW11bF9jdHh0LT5jdHh0LnZlbmRvciA9IGN1cnItPmRvbWFp bi0+YXJjaC5jcHVpZC0+eDg2X3ZlbmRvcjsKKyAgICBodm1lbXVsX2N0eHQtPmN0eHQuY3B1aWQg PSBjdXJyLT5kb21haW4tPmFyY2guY3B1aWQ7CiAgICAgaHZtZW11bF9jdHh0LT5jdHh0LmZvcmNl X3dyaXRlYmFjayA9IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvY29tbW9uLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IGQ1NGE4 NDguLjQ1MjYwNTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMK KysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMTQwLDcgKzE0MCw3IEBA IGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMgKnNoYWRvd19pbml0X2VtdWxhdGlvbigKICAg ICBtZW1zZXQoc2hfY3R4dCwgMCwgc2l6ZW9mKCpzaF9jdHh0KSk7CiAKICAgICBzaF9jdHh0LT5j dHh0LnJlZ3MgPSByZWdzOwotICAgIHNoX2N0eHQtPmN0eHQudmVuZG9yID0gdi0+ZG9tYWluLT5h cmNoLmNwdWlkLT54ODZfdmVuZG9yOworICAgIHNoX2N0eHQtPmN0eHQuY3B1aWQgPSB2LT5kb21h aW4tPmFyY2guY3B1aWQ7CiAgICAgc2hfY3R4dC0+Y3R4dC5sbWEgPSBodm1fbG9uZ19tb2RlX2Fj dGl2ZSh2KTsKIAogICAgIC8qIFNlZ21lbnQgY2FjaGUgaW5pdGlhbGlzYXRpb24uIFByaW1lZCB3 aXRoIENTLiAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jIGIv eGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jCmluZGV4IGY3M2VhNGEuLjU5NjhmOTkgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYworKysgYi94ZW4vYXJjaC94 ODYvcHYvZW11bC1wcml2LW9wLmMKQEAgLTEyOTksNyArMTI5OSw3IEBAIGludCBwdl9lbXVsYXRl X3ByaXZpbGVnZWRfb3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgc3RydWN0IGRv bWFpbiAqY3VycmQgPSBjdXJyLT5kb21haW47CiAgICAgc3RydWN0IHByaXZfb3BfY3R4dCBjdHh0 ID0gewogICAgICAgICAuY3R4dC5yZWdzID0gcmVncywKLSAgICAgICAgLmN0eHQudmVuZG9yID0g Y3VycmQtPmFyY2guY3B1aWQtPng4Nl92ZW5kb3IsCisgICAgICAgIC5jdHh0LmNwdWlkID0gY3Vy cmQtPmFyY2guY3B1aWQsCiAgICAgICAgIC5jdHh0LmxtYSA9ICFpc19wdl8zMmJpdF9kb21haW4o Y3VycmQpLAogICAgIH07CiAgICAgaW50IHJjOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2 L3JvLXBhZ2UtZmF1bHQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9yby1wYWdlLWZhdWx0LmMKaW5kZXgg ZTdhNzE3OS4uOWQ0OTEzZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L3JvLXBhZ2UtZmF1 bHQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvcm8tcGFnZS1mYXVsdC5jCkBAIC0zNTEsNyArMzUx LDcgQEAgaW50IHB2X3JvX3BhZ2VfZmF1bHQodW5zaWduZWQgbG9uZyBhZGRyLCBzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKICAgICB1bnNpZ25lZCBpbnQgYWRkcl9zaXplID0gaXNfcHZfMzJi aXRfZG9tYWluKGN1cnJkKSA/IDMyIDogQklUU19QRVJfTE9ORzsKICAgICBzdHJ1Y3QgeDg2X2Vt dWxhdGVfY3R4dCBjdHh0ID0gewogICAgICAgICAucmVncyAgICAgID0gcmVncywKLSAgICAgICAg LnZlbmRvciAgICA9IGN1cnJkLT5hcmNoLmNwdWlkLT54ODZfdmVuZG9yLAorICAgICAgICAuY3B1 aWQgICAgID0gY3VycmQtPmFyY2guY3B1aWQsCiAgICAgICAgIC5hZGRyX3NpemUgPSBhZGRyX3Np emUsCiAgICAgICAgIC5zcF9zaXplICAgPSBhZGRyX3NpemUsCiAgICAgICAgIC5sbWEgICAgICAg PSBhZGRyX3NpemUgPiAzMiwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94 ODZfZW11bGF0ZS5jIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKaW5k ZXggZTY5ZGZkZC4uOGJmZjAyYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRl L3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRl LmMKQEAgLTE4MzgsNiArMTgzOCw3IEBAIHByb3Rtb2RlX2xvYWRfc2VnKAogICAgIHN0cnVjdCB4 ODZfZW11bGF0ZV9jdHh0ICpjdHh0LAogICAgIGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMg Km9wcykKIHsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1aWRfcG9saWN5ICpjcCA9IGN0eHQtPmNwdWlk OwogICAgIGVudW0geDg2X3NlZ21lbnQgc2VsX3NlZyA9IChzZWwgJiA0KSA/IHg4Nl9zZWdfbGR0 ciA6IHg4Nl9zZWdfZ2R0cjsKICAgICBzdHJ1Y3QgeyB1aW50MzJfdCBhLCBiOyB9IGRlc2MsIGRl c2NfaGkgPSB7fTsKICAgICB1aW50OF90IGRwbCwgcnBsOwpAQCAtMTg2Miw3ICsxODYzLDcgQEAg cHJvdG1vZGVfbG9hZF9zZWcoCiAgICAgICAgIGNhc2UgeDg2X3NlZ190cjoKICAgICAgICAgICAg IGdvdG8gcmFpc2VfZXhuOwogICAgICAgICB9Ci0gICAgICAgIGlmICggY3R4dC0+dmVuZG9yICE9 IFg4Nl9WRU5ET1JfQU1EIHx8ICFvcHMtPnJlYWRfc2VnbWVudCB8fAorICAgICAgICBpZiAoIGNw LT54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfQU1EIHx8ICFvcHMtPnJlYWRfc2VnbWVudCB8fAog ICAgICAgICAgICAgIG9wcy0+cmVhZF9zZWdtZW50KHNlZywgc3JlZywgY3R4dCkgIT0gWDg2RU1V TF9PS0FZICkKICAgICAgICAgICAgIG1lbXNldChzcmVnLCAwLCBzaXplb2YoKnNyZWcpKTsKICAg ICAgICAgZWxzZQpAQCAtMTk4OSw3ICsxOTkwLDcgQEAgcHJvdG1vZGVfbG9hZF9zZWcoCiAgICAg ICAgICAqLwogICAgICAgICBib29sIHdpZGUgPSBkZXNjLmIgJiAweDEwMDAKICAgICAgICAgICAg ICAgICAgICAgPyBmYWxzZSA6IChkZXNjLmIgJiAweGYwMCkgIT0gMHhjMDAgJiYKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjdHh0LT52ZW5kb3IgIT0gWDg2X1ZFTkRPUl9BTUQKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcC0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9S X0FNRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbW9kZV82NGJpdCgpIDogY3R4 dC0+bG1hOwogCiAgICAgICAgIGlmICggd2lkZSApCkBAIC0yMDA3LDcgKzIwMDgsNyBAQCBwcm90 bW9kZV9sb2FkX3NlZygKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0 dXJuIHJjOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCAhbW9kZV82NGJpdCgpICYm IGN0eHQtPnZlbmRvciA9PSBYODZfVkVORE9SX0FNRCAmJgorICAgICAgICAgICAgaWYgKCAhbW9k ZV82NGJpdCgpICYmIGNwLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICYmCiAgICAgICAg ICAgICAgICAgIChkZXNjLmIgJiAweGYwMCkgIT0gMHhjMDAgKQogICAgICAgICAgICAgICAgIGRl c2NfaGkuYiA9IGRlc2NfaGkuYSA9IDA7CiAgICAgICAgICAgICBpZiAoIChkZXNjX2hpLmIgJiAw eDAwMDAxZjAwKSB8fApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9l bXVsYXRlLmggYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuaAppbmRleCAz NzUwZjBjLi4wMzk3YzFkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2 X2VtdWxhdGUuaAorKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuaApA QCAtNTAxLDggKzUwMSw4IEBAIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0CiAgICAgICogSW5wdXQt b25seSBzdGF0ZToKICAgICAgKi8KIAotICAgIC8qIENQVSB2ZW5kb3IgKFg4Nl9WRU5ET1JfVU5L Tk9XTiBmb3IgImRvbid0IGNhcmUiKSAqLwotICAgIHVuc2lnbmVkIGNoYXIgdmVuZG9yOworICAg IC8qIENQVUlEIFBvbGljeSBmb3IgdGhlIGRvbWFpbi4gKi8KKyAgICBjb25zdCBzdHJ1Y3QgY3B1 aWRfcG9saWN5ICpjcHVpZDsKIAogICAgIC8qIFNldCB0aGlzIGlmIHdyaXRlcyBtYXkgaGF2ZSBz aWRlIGVmZmVjdHMuICovCiAgICAgYm9vbCBmb3JjZV93cml0ZWJhY2s7Ci0tIAoyLjEuNAoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=