From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 6/6] x86/emul: dedup hvmemul_cpuid() and pv_emul_cpuid() Date: Mon, 5 Nov 2018 11:21:07 +0000 Message-ID: <1541416867-30253-7-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 VGhleSBhcmUgaWRlbnRpY2FsLCBzbyBwcm92aWRlIGEgc2luZ2xlIHg4NmVtdWxfY3B1aWQoKSBp bnN0ZWFkLgoKQXMgeDg2X2VtdWxhdGUoKSBub3cgb25seSB1c2VzIHRoZSAtPmNwdWlkKCkgaG9v ayBmb3IgcmVhbCBDUFVJRCBpbnN0cnVjdGlvbnMsCnRoZSBob29rIGNhbiBiZSBvbWl0dGVkIGZy b20gYWxsIHNwZWNpYWwtcHVycG9zZSBlbXVsYXRpb24gb3BzLgoKU2lnbmVkLW9mZi1ieTogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGlj aCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgot LS0KIHhlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jICAgICAgICAgICAgIHwgMTMgKystLS0tLS0t LS0tLQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9odm0uYyAgICAgICAgICAgfCAgMSAtCiB4ZW4v YXJjaC94ODYvcHYvZW11bC1wcml2LW9wLmMgICAgICAgICB8IDEwICstLS0tLS0tLS0KIHhlbi9h cmNoL3g4Ni9wdi9yby1wYWdlLWZhdWx0LmMgICAgICAgIHwgIDMgLS0tCiB4ZW4vYXJjaC94ODYv eDg2X2VtdWxhdGUuYyAgICAgICAgICAgICB8ICA4ICsrKysrKysrCiB4ZW4vYXJjaC94ODYveDg2 X2VtdWxhdGUveDg2X2VtdWxhdGUuaCB8ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9l bXVsYXRlLmggICAgICB8ICAyIC0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L21tLmggICAgICAgICAg ICAgICB8ICAyIC0tCiA4IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDI4IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZW11bGF0ZS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9lbXVsYXRlLmMKaW5kZXggOTFmYTlkYi4uM2M0MjM4MSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRl LmMKQEAgLTIxMDcsMTMgKzIxMDcsNiBAQCBzdGF0aWMgaW50IGh2bWVtdWxfd2JpbnZkKAogICAg IHJldHVybiBYODZFTVVMX09LQVk7CiB9CiAKLWludCBodm1lbXVsX2NwdWlkKHVpbnQzMl90IGxl YWYsIHVpbnQzMl90IHN1YmxlYWYsCi0gICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1aWRfbGVh ZiAqcmVzLCBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkKLXsKLSAgICBndWVzdF9jcHVp ZChjdXJyZW50LCBsZWFmLCBzdWJsZWFmLCByZXMpOwotICAgIHJldHVybiBYODZFTVVMX09LQVk7 Ci19Ci0KIHN0YXRpYyBpbnQgaHZtZW11bF9nZXRfZnB1KAogICAgIGVudW0geDg2X2VtdWxhdGVf ZnB1X3R5cGUgdHlwZSwKICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkKQEAgLTIz MTIsNyArMjMwNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzIGh2bV9l bXVsYXRlX29wcyA9IHsKICAgICAucmVhZF9tc3IgICAgICA9IGh2bWVtdWxfcmVhZF9tc3IsCiAg ICAgLndyaXRlX21zciAgICAgPSBodm1lbXVsX3dyaXRlX21zciwKICAgICAud2JpbnZkICAgICAg ICA9IGh2bWVtdWxfd2JpbnZkLAotICAgIC5jcHVpZCAgICAgICAgID0gaHZtZW11bF9jcHVpZCwK KyAgICAuY3B1aWQgICAgICAgICA9IHg4NmVtdWxfY3B1aWQsCiAgICAgLmdldF9mcHUgICAgICAg PSBodm1lbXVsX2dldF9mcHUsCiAgICAgLnB1dF9mcHUgICAgICAgPSBodm1lbXVsX3B1dF9mcHUs CiAgICAgLmludmxwZyAgICAgICAgPSBodm1lbXVsX2ludmxwZywKQEAgLTIzMzksNyArMjMzMiw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzIGh2bV9lbXVsYXRlX29wc19u b193cml0ZSA9IHsKICAgICAucmVhZF9tc3IgICAgICA9IGh2bWVtdWxfcmVhZF9tc3IsCiAgICAg LndyaXRlX21zciAgICAgPSBodm1lbXVsX3dyaXRlX21zcl9kaXNjYXJkLAogICAgIC53YmludmQg ICAgICAgID0gaHZtZW11bF93YmludmRfZGlzY2FyZCwKLSAgICAuY3B1aWQgICAgICAgICA9IGh2 bWVtdWxfY3B1aWQsCisgICAgLmNwdWlkICAgICAgICAgPSB4ODZlbXVsX2NwdWlkLAogICAgIC5n ZXRfZnB1ICAgICAgID0gaHZtZW11bF9nZXRfZnB1LAogICAgIC5wdXRfZnB1ICAgICAgID0gaHZt ZW11bF9wdXRfZnB1LAogICAgIC5pbnZscGcgICAgICAgID0gaHZtZW11bF9pbnZscGcsCkBAIC0y NDI0LDEzICsyNDE3LDExIEBAIGludCBodm1fZW11bGF0ZV9vbmVfbW1pbyh1bnNpZ25lZCBsb25n IG1mbiwgdW5zaWduZWQgbG9uZyBnbGEpCiAgICAgICAgIC5yZWFkICAgICAgID0geDg2ZW11bF91 bmhhbmRsZWFibGVfcncsCiAgICAgICAgIC5pbnNuX2ZldGNoID0gaHZtZW11bF9pbnNuX2ZldGNo LAogICAgICAgICAud3JpdGUgICAgICA9IG1tY2ZnX2ludGVyY2VwdF93cml0ZSwKLSAgICAgICAg LmNwdWlkICAgICAgPSBodm1lbXVsX2NwdWlkLAogICAgIH07CiAgICAgc3RhdGljIGNvbnN0IHN0 cnVjdCB4ODZfZW11bGF0ZV9vcHMgaHZtX3JvX2VtdWxhdGVfb3BzX21taW8gPSB7CiAgICAgICAg IC5yZWFkICAgICAgID0geDg2ZW11bF91bmhhbmRsZWFibGVfcncsCiAgICAgICAgIC5pbnNuX2Zl dGNoID0gaHZtZW11bF9pbnNuX2ZldGNoLAogICAgICAgICAud3JpdGUgICAgICA9IG1taW9fcm9f ZW11bGF0ZWRfd3JpdGUsCi0gICAgICAgIC5jcHVpZCAgICAgID0gaHZtZW11bF9jcHVpZCwKICAg ICB9OwogICAgIHN0cnVjdCBtbWlvX3JvX2VtdWxhdGVfY3R4dCBtbWlvX3JvX2N0eHQgPSB7IC5j cjIgPSBnbGEgfTsKICAgICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCBjdHh0OwpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9odm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cv aHZtLmMKaW5kZXggNGNjNzU5MS4uNTA4N2NkOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21t L3NoYWRvdy9odm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2h2bS5jCkBAIC0yOTcs NyArMjk3LDYgQEAgY29uc3Qgc3RydWN0IHg4Nl9lbXVsYXRlX29wcyBodm1fc2hhZG93X2VtdWxh dG9yX29wcyA9IHsKICAgICAuaW5zbl9mZXRjaCA9IGh2bV9lbXVsYXRlX2luc25fZmV0Y2gsCiAg ICAgLndyaXRlICAgICAgPSBodm1fZW11bGF0ZV93cml0ZSwKICAgICAuY21weGNoZyAgICA9IGh2 bV9lbXVsYXRlX2NtcHhjaGcsCi0gICAgLmNwdWlkICAgICAgPSBodm1lbXVsX2NwdWlkLAogfTsK IAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2VtdWwt cHJpdi1vcC5jIGIveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jCmluZGV4IDU5NjhmOTku LmQ1YTQwNDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYworKysg Yi94ZW4vYXJjaC94ODYvcHYvZW11bC1wcml2LW9wLmMKQEAgLTExNzgsMTQgKzExNzgsNiBAQCBz dGF0aWMgaW50IF93YmludmQoc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCiAgICAgcmV0 dXJuIFg4NkVNVUxfT0tBWTsKIH0KIAotaW50IHB2X2VtdWxfY3B1aWQodWludDMyX3QgbGVhZiwg dWludDMyX3Qgc3VibGVhZiwKLSAgICAgICAgICAgICAgICAgIHN0cnVjdCBjcHVpZF9sZWFmICpy ZXMsIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQotewotICAgIGd1ZXN0X2NwdWlkKGN1 cnJlbnQsIGxlYWYsIHN1YmxlYWYsIHJlcyk7Ci0KLSAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwot fQotCiBzdGF0aWMgaW50IHZhbGlkYXRlKGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9zdGF0ZSAq c3RhdGUsCiAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0 KQogewpAQCAtMTI4OSw3ICsxMjgxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0 ZV9vcHMgcHJpdl9vcF9vcHMgPSB7CiAgICAgLndyaXRlX3hjciAgICAgICAgICAgPSB4ODZlbXVs X3dyaXRlX3hjciwKICAgICAucmVhZF9tc3IgICAgICAgICAgICA9IHJlYWRfbXNyLAogICAgIC53 cml0ZV9tc3IgICAgICAgICAgID0gd3JpdGVfbXNyLAotICAgIC5jcHVpZCAgICAgICAgICAgICAg ID0gcHZfZW11bF9jcHVpZCwKKyAgICAuY3B1aWQgICAgICAgICAgICAgICA9IHg4NmVtdWxfY3B1 aWQsCiAgICAgLndiaW52ZCAgICAgICAgICAgICAgPSBfd2JpbnZkLAogfTsKIApkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L3B2L3JvLXBhZ2UtZmF1bHQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9yby1w YWdlLWZhdWx0LmMKaW5kZXggOWQ0OTEzZC4uZmEzNThhNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3B2L3JvLXBhZ2UtZmF1bHQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvcm8tcGFnZS1mYXVs dC5jCkBAIC0yNTksNyArMjU5LDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9v cHMgcHR3cl9lbXVsYXRlX29wcyA9IHsKICAgICAud3JpdGUgICAgICA9IHB0d3JfZW11bGF0ZWRf d3JpdGUsCiAgICAgLmNtcHhjaGcgICAgPSBwdHdyX2VtdWxhdGVkX2NtcHhjaGcsCiAgICAgLnZh bGlkYXRlICAgPSBwdl9lbXVsX2lzX21lbV93cml0ZSwKLSAgICAuY3B1aWQgICAgICA9IHB2X2Vt dWxfY3B1aWQsCiB9OwogCiAvKiBXcml0ZSBwYWdlIGZhdWx0IGhhbmRsZXI6IGNoZWNrIGlmIGd1 ZXN0IGlzIHRyeWluZyB0byBtb2RpZnkgYSBQVEUuICovCkBAIC0zMDgsNyArMzA3LDYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMgbW1pb19yb19lbXVsYXRlX29wcyA9IHsK ICAgICAuaW5zbl9mZXRjaCA9IHB0d3JfZW11bGF0ZWRfcmVhZCwKICAgICAud3JpdGUgICAgICA9 IG1taW9fcm9fZW11bGF0ZWRfd3JpdGUsCiAgICAgLnZhbGlkYXRlICAgPSBwdl9lbXVsX2lzX21l bV93cml0ZSwKLSAgICAuY3B1aWQgICAgICA9IHB2X2VtdWxfY3B1aWQsCiB9OwogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IHg4Nl9lbXVsYXRlX29wcyBtbWNmZ19pbnRlcmNlcHRfb3BzID0gewpAQCAt MzE2LDcgKzMxNCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzIG1tY2Zn X2ludGVyY2VwdF9vcHMgPSB7CiAgICAgLmluc25fZmV0Y2ggPSBwdHdyX2VtdWxhdGVkX3JlYWQs CiAgICAgLndyaXRlICAgICAgPSBtbWNmZ19pbnRlcmNlcHRfd3JpdGUsCiAgICAgLnZhbGlkYXRl ICAgPSBwdl9lbXVsX2lzX21lbV93cml0ZSwKLSAgICAuY3B1aWQgICAgICA9IHB2X2VtdWxfY3B1 aWQsCiB9OwogCiAvKiBDaGVjayBpZiBndWVzdCBpcyB0cnlpbmcgdG8gbW9kaWZ5IGEgci9vIE1N SU8gcGFnZS4gKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS5jIGIveGVu L2FyY2gveDg2L3g4Nl9lbXVsYXRlLmMKaW5kZXggODg2YmQ4Ny4uNjBmNzNkMCAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVs YXRlLmMKQEAgLTE1Niw2ICsxNTYsMTQgQEAgaW50IHg4NmVtdWxfd3JpdGVfZHIodW5zaWduZWQg aW50IHJlZywgdW5zaWduZWQgbG9uZyB2YWwsCiAgICAgfQogfQogCitpbnQgeDg2ZW11bF9jcHVp ZCh1aW50MzJfdCBsZWFmLCB1aW50MzJfdCBzdWJsZWFmLAorICAgICAgICAgICAgICAgICAgc3Ry dWN0IGNwdWlkX2xlYWYgKnJlcywgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQpCit7Cisg ICAgZ3Vlc3RfY3B1aWQoY3VycmVudCwgbGVhZiwgc3VibGVhZiwgcmVzKTsKKworICAgIHJldHVy biBYODZFTVVMX09LQVk7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBD CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuaCBiL3hl bi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oCmluZGV4IDAzOTdjMWQuLjczMjAx YjkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oCisr KyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oCkBAIC03MjQsNiArNzI0 LDggQEAgaW50IHg4NmVtdWxfcmVhZF9kcih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25n ICp2YWwsCiAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0 KTsKIGludCB4ODZlbXVsX3dyaXRlX2RyKHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGxvbmcg dmFsLAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQgKmN0eHQp OworaW50IHg4NmVtdWxfY3B1aWQodWludDMyX3QgbGVhZiwgdWludDMyX3Qgc3VibGVhZiwKKyAg ICAgICAgICAgICAgICAgIHN0cnVjdCBjcHVpZF9sZWFmICpyZXMsIHN0cnVjdCB4ODZfZW11bGF0 ZV9jdHh0ICpjdHh0KTsKIAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL2VtdWxhdGUuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2VtdWxhdGUuaAppbmRl eCAyNmEwMWU4Li5iMzlhMWEwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9l bXVsYXRlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZW11bGF0ZS5oCkBAIC03Niw4 ICs3Niw2IEBAIHZvaWQgaHZtX2VtdWxhdGVfaW5pdF9wZXJfaW5zbigKICAgICB1bnNpZ25lZCBp bnQgaW5zbl9ieXRlcyk7CiB2b2lkIGh2bV9lbXVsYXRlX3dyaXRlYmFjaygKICAgICBzdHJ1Y3Qg aHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0KTsKLWludCBodm1lbXVsX2NwdWlkKHVpbnQz Ml90IGxlYWYsIHVpbnQzMl90IHN1YmxlYWYsCi0gICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1 aWRfbGVhZiAqcmVzLCBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCk7CiBzdHJ1Y3Qgc2Vn bWVudF9yZWdpc3RlciAqaHZtZW11bF9nZXRfc2VnX3JlZygKICAgICBlbnVtIHg4Nl9zZWdtZW50 IHNlZywKICAgICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0KTsKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0u aAppbmRleCA2ZTQ1NjUxLi5jZGE3M2UyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC01MjgsOCArNTI4LDYgQEAg ZXh0ZXJuIGludCBtbWNmZ19pbnRlcmNlcHRfd3JpdGUoZW51bSB4ODZfc2VnbWVudCBzZWcsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpwX2RhdGEsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXMsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCk7Ci1pbnQg cHZfZW11bF9jcHVpZCh1aW50MzJfdCBsZWFmLCB1aW50MzJfdCBzdWJsZWFmLAotICAgICAgICAg ICAgICAgICAgc3RydWN0IGNwdWlkX2xlYWYgKnJlcywgc3RydWN0IHg4Nl9lbXVsYXRlX2N0eHQg KmN0eHQpOwogCiBpbnQgYXVkaXRfYWRqdXN0X3BndGFibGVzKHN0cnVjdCBkb21haW4gKmQsIGlu dCBkaXIsIGludCBub2lzeSk7CiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==