From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v2 09/12] x86/vmce, tools/libxl: expose LMCE capability in guest MSR_IA32_MCG_CAP Date: Fri, 17 Mar 2017 14:46:11 +0800 Message-ID: <20170317064614.23539-10-haozhong.zhang@intel.com> References: <20170317064614.23539-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170317064614.23539-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Ian Jackson , Wei Liu , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org SWYgTE1DRSBpcyBzdXBwb3J0ZWQgYnkgaG9zdCBhbmQgJyBtY2FfY2FwcyA9IFsgImxtY2UiIF0g JyBpcyBwcmVzZW50CmluIHhsIGNvbmZpZywgdGhlIExNQ0UgY2FwYWJpbGl0eSB3aWxsIGJlIGV4 cG9zZWQgaW4gZ3Vlc3QgTVNSX0lBMzJfTUNHX0NBUC4KQnkgZGVmYXVsdCwgTE1DRSBpcyBub3Qg ZXhwb3NlZCB0byBndWVzdCBzbyBhcyB0byBrZWVwIHRoZSBiYWNrd2FyZHMgbWlncmF0aW9uCmNv bXBhdGliaWxpdHkuCgpTaWduZWQtb2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhh bmdAaW50ZWwuY29tPgotLS0KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXgu Y29tPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+CgpDaGFuZ2VzIGluIHYyOgogKiBBbGxvdyByZXN0b3JlIGFuIExNQ0UgZW5hYmxlZCBn dWVzdCBvbiBhbiBMTUNFLWluY2FwYWJsZSBob3N0LgogKiBDaGFuZ2UgeGwgY29uZmlnIHRvICJt Y2FfY2FwcyA9IFsgImxtY2UiIF0iLCB3aGljaCBjYW4gYmUgZXh0ZW5kZWQgdG8KICAgc3VwcG9y dCBvdGhlciBNQ0EgY2FwYWJpbGl0aWVzIGluIHRoZSBmdXR1cmUuCi0tLQogZG9jcy9tYW4veGwu Y2ZnLnBvZC41LmluICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwogdG9vbHMv bGlieGwvbGlieGxfZG9tLmMgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICB8ICAxICsKIHRvb2xzL3hsL3hs X3BhcnNlLmMgICAgICAgICAgICAgfCAgNCArKysrCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay92 bWNlLmMgIHwgMTkgKysrKysrKysrKysrKysrKysrLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAg ICAgICAgICB8ICA1ICsrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L21jZS5oICAgICAgIHwgIDEg KwogeGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaCB8ICA3ICsrKysrKy0KIDggZmlsZXMg Y2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k b2NzL21hbi94bC5jZmcucG9kLjUuaW4gYi9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KaW5kZXgg NTA1YzExMS4uZDc1ZGNkMiAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCisr KyBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgpAQCAtMjAyMSw2ICsyMDIxLDMwIEBAIG5hdGl2 ZWx5IG9yIHZpYSBoYXJkd2FyZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBzdXBwb3J0LgogCiA9 YmFjawogCis9aGVhZDMgeDg2CisKKz1vdmVyIDQKKworPWl0ZW0gQjxtY2FfY2Fwcz1bICJDQVAi LCAiQ0FQIiwgLi4uIF0+CisKKyhIVk0gb25seSkgRW5hYmxlIE1DQSBjYXBhYmlsaXRpZXMgYmVz aWRlcyBkZWZhdWx0IG9uZXMgZW5hYmxlZAorYnkgWGVuIGh5cGVydmlzb3IgZm9yIHRoZSBIVk0g ZG9tYWluLiAiQ0FQIiBjYW4gYmUgb25lIGluIHRoZQorZm9sbG93aW5nIGxpc3Q6CisKKz1vdmVy IDQKKworPWl0ZW0gQjwibG1jZSI+CisKK0ludGVsIGxvY2FsIE1DRQorCis9aXRlbSBCPGRlZmF1 bHQ+CisKK05vIE1DQSBjYXBhYmlsaXRpZXMgaW4gYWJvdmUgbGlzdCBhcmUgZW5hYmxlZC4KKwor PWJhY2sKKworPWJhY2sKKwogPWhlYWQxIFNFRSBBTFNPCiAKID1vdmVyIDQKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXgg ZDUxOWM4ZC4uOTFiMmYwOCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKQEAgLTI3NSw2ICsyNzUsMzIgQEAgZXJyOgogICAg IGxpYnhsX2JpdG1hcF9kaXNwb3NlKCZlbmxpZ2h0ZW5tZW50cyk7CiAgICAgcmV0dXJuIEVSUk9S X0ZBSUw7CiB9CisKK3N0YXRpYyBpbnQgaHZtX3NldF9tY2FfY2FwYWJpbGl0aWVzKGxpYnhsX19n YyAqZ2MsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmNvbnN0IGluZm8pCit7CisgICAgaW50IGksIHJj ID0gMDsKKyAgICBjb25zdCBsaWJ4bF9zdHJpbmdfbGlzdCB4bF9jYXBzID0gaW5mby0+dS5odm0u bWNhX2NhcHM7CisgICAgdW5zaWduZWQgbG9uZyBjYXBzID0gMDsKKworICAgIGlmICgheGxfY2Fw cykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmb3IgKGkgPSAwOyB4bF9jYXBzW2ldICE9IE5V TEw7IGkrKykgeworICAgICAgICBpZiAoIXN0cmNtcCh4bF9jYXBzW2ldLCAibG1jZSIpKQorICAg ICAgICAgICAgY2FwcyB8PSBIVk1NQ0FfQ0FQX0xNQ0U7CisgICAgICAgIGVsc2UgeworICAgICAg ICAgICAgTE9HKEVSUk9SLCAiVW5zdXBwb3J0ZWQgTUNBIGNhcGFiaWxpdHkgJXMiLCB4bF9jYXBz W2ldKTsKKyAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFyYykKKyAgICAgICAgcmMgPSB4Y19odm1fcGFy YW1fc2V0KENUWC0+eGNoLCBkb21pZCwgSFZNX1BBUkFNX01DQV9DQVAsIGNhcHMpOworCisgICAg cmV0dXJuIHJjOworfQogI2VuZGlmCiAKIHN0YXRpYyB2b2lkIGh2bV9zZXRfY29uZl9wYXJhbXMo eGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLApAQCAtNDM4LDYgKzQ2NCwxMCBA QCBpbnQgbGlieGxfX2J1aWxkX3ByZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAg ICAgICAgcmMgPSBodm1fc2V0X3ZpcmlkaWFuX2ZlYXR1cmVzKGdjLCBkb21pZCwgaW5mbyk7CiAg ICAgICAgIGlmIChyYykKICAgICAgICAgICAgIHJldHVybiByYzsKKworICAgICAgICByYyA9IGh2 bV9zZXRfbWNhX2NhcGFiaWxpdGllcyhnYywgZG9taWQsIGluZm8pOworICAgICAgICBpZiAocmMp CisgICAgICAgICAgICByZXR1cm4gcmM7CiAjZW5kaWYKICAgICB9CiAKZGlmZiAtLWdpdCBhL3Rv b2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApp bmRleCBhNjEyZDFmLi43MWM2YzMzIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBl cy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC01NTAsNiArNTUwLDcg QEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBTdHJ1Y3QoImRvbWFpbl9idWlsZF9pbmZvIixb CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInNlcmlhbF9saXN0Iiwg ICAgICBsaWJ4bF9zdHJpbmdfbGlzdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJkbSIsIGxpYnhsX3JkbV9yZXNlcnZlKSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgicmRtX21lbV9ib3VuZGFyeV9tZW1rYiIsIE1lbUtCKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgibWNhX2NhcHMiLCAgICAgICAg IGxpYnhsX3N0cmluZ19saXN0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF0pKSwKICAgICAgICAgICAgICAgICAgKCJwdiIsIFN0cnVjdChOb25lLCBbKCJrZXJuZWwi LCBzdHJpbmcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInNsYWNr X21lbWtiIiwgTWVtS0IpLApkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFyc2UuYyBiL3Rvb2xz L3hsL3hsX3BhcnNlLmMKaW5kZXggMWVmMGMyNy4uMTFhOWY1MSAxMDA2NDQKLS0tIGEvdG9vbHMv eGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94bF9wYXJzZS5jCkBAIC0xMDg0LDYgKzEwODQs MTAgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAog CiAgICAgICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmlnLCAicmRtX21lbV9ib3VuZGFy eSIsICZsLCAwKSkKICAgICAgICAgICAgIGJfaW5mby0+dS5odm0ucmRtX21lbV9ib3VuZGFyeV9t ZW1rYiA9IGwgKiAxMDI0OworCisgICAgICAgIHhsdV9jZmdfZ2V0X2xpc3RfYXNfc3RyaW5nX2xp c3QoY29uZmlnLCAibWNhX2NhcHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZiX2luZm8tPnUuaHZtLm1jYV9jYXBzLCBmYWxzZSk7CisKICAgICAgICAgYnJlYWs7 CiAgICAgY2FzZSBMSUJYTF9ET01BSU5fVFlQRV9QVjoKICAgICB7CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNl LmMKaW5kZXggOTk0YTUwZS4uNWRjNzkwZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9t Y2hlY2svdm1jZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYwpAQCAtNzQs NyArNzQsNyBAQCBpbnQgdm1jZV9yZXN0b3JlX3ZjcHUoc3RydWN0IHZjcHUgKnYsIGNvbnN0IHN0 cnVjdCBodm1fdm1jZV92Y3B1ICpjdHh0KQogICAgIHVuc2lnbmVkIGxvbmcgZ3Vlc3RfbWNnX2Nh cDsKIAogICAgIGlmICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5U RUwgKQotICAgICAgICBndWVzdF9tY2dfY2FwID0gSU5URUxfR1VFU1RfTUNHX0NBUDsKKyAgICAg ICAgZ3Vlc3RfbWNnX2NhcCA9IElOVEVMX0dVRVNUX01DR19DQVAgfCBNQ0dfTE1DRV9QOwogICAg IGVsc2UKICAgICAgICAgZ3Vlc3RfbWNnX2NhcCA9IEFNRF9HVUVTVF9NQ0dfQ0FQOwogCkBAIC01 NDYsMyArNTQ2LDIwIEBAIGludCB1bm1tYXBfYnJva2VuX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwg bWZuX3QgbWZuLCB1bnNpZ25lZCBsb25nIGdmbikKICAgICByZXR1cm4gcmM7CiB9CiAKK2ludCB2 bWNlX2VuYWJsZV9tY2FfY2FwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGNhcCkKK3sKKyAg ICBzdHJ1Y3QgdmNwdSAqdjsKKworICAgIGlmICggY2FwICYgfkhWTU1DQV9DQVBfTUFTSyApCisg ICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgaWYgKCBjYXAgJiBIVk1NQ0FfQ0FQX0xNQ0Ug KQorICAgIHsKKyAgICAgICAgaWYgKCAhbG1jZV9zdXBwb3J0ICkKKyAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOworICAgICAgICBmb3JfZWFjaF92Y3B1KGQsIHYpCisgICAgICAgICAgICB2LT5h cmNoLnZtY2UubWNnX2NhcCB8PSBNQ0dfTE1DRV9QOworICAgIH0KKworICAgIHJldHVybiAwOwor fQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMKaW5kZXggY2NmYWU0Zi4uMDAwN2UzZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC00MDQ1LDYgKzQwNDUsNyBA QCBzdGF0aWMgaW50IGh2bV9hbGxvd19zZXRfcGFyYW0oc3RydWN0IGRvbWFpbiAqZCwKICAgICBj YXNlIEhWTV9QQVJBTV9JT1JFUV9TRVJWRVJfUEZOOgogICAgIGNhc2UgSFZNX1BBUkFNX05SX0lP UkVRX1NFUlZFUl9QQUdFUzoKICAgICBjYXNlIEhWTV9QQVJBTV9BTFRQMk06CisgICAgY2FzZSBI Vk1fUEFSQU1fTUNBX0NBUDoKICAgICAgICAgaWYgKCB2YWx1ZSAhPSAwICYmIGEtPnZhbHVlICE9 IHZhbHVlICkKICAgICAgICAgICAgIHJjID0gLUVFWElTVDsKICAgICAgICAgYnJlYWs7CkBAIC00 MjU3LDYgKzQyNTgsMTAgQEAgc3RhdGljIGludCBodm1vcF9zZXRfcGFyYW0oCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDEwMDAwIC8gOCkgKyAxKSA8 PCAzMik7CiAgICAgICAgIGEudmFsdWUgfD0gVk04Nl9UU1NfVVBEQVRFRDsKICAgICAgICAgYnJl YWs7CisKKyAgICBjYXNlIEhWTV9QQVJBTV9NQ0FfQ0FQOgorICAgICAgICByYyA9IHZtY2VfZW5h YmxlX21jYV9jYXAoZCwgYS52YWx1ZSk7CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGlm ICggcmMgIT0gMCApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21jZS5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9tY2UuaAppbmRleCBkZWU2NmIzLi43MGViNTBjIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L21jZS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbWNl LmgKQEAgLTM4LDYgKzM4LDcgQEAgZXh0ZXJuIGludCB2bWNlX3Jlc3RvcmVfdmNwdShzdHJ1Y3Qg dmNwdSAqLCBjb25zdCBzdHJ1Y3QgaHZtX3ZtY2VfdmNwdSAqKTsKIGV4dGVybiBpbnQgdm1jZV93 cm1zcih1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCk7CiBleHRlcm4gaW50IHZtY2VfcmRtc3Io dWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKTsKIGV4dGVybiBib29sIHZtY2Vfc3VwcG9ydF9s bWNlKGNvbnN0IHN0cnVjdCB2Y3B1ICp2KTsKK2V4dGVybiBpbnQgdm1jZV9lbmFibGVfbWNhX2Nh cChzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBjYXApOwogCiBleHRlcm4gdW5zaWduZWQgaW50 IG5yX21jZV9iYW5rczsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJh bXMuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKaW5kZXggNThjODQ3OC4uMjY2 YzEyMyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAorKysgYi94 ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCkBAIC0yNTksNiArMjU5LDExIEBACiAgKi8K ICNkZWZpbmUgSFZNX1BBUkFNX1ZNODZfVFNTX1NJWkVEIDM3CiAKLSNkZWZpbmUgSFZNX05SX1BB UkFNUyAzOAorLyogRW5hYmxlIE1DQSBjYXBhYmlsaXRpZXMuICovCisjZGVmaW5lIEhWTV9QQVJB TV9NQ0FfQ0FQIDM4CisjZGVmaW5lIEhWTU1DQV9DQVBfTE1DRSAgICgxVUwgPDwgMjcpCisjZGVm aW5lIEhWTU1DQV9DQVBfTUFTSyAgIEhWTU1DQV9DQVBfTE1DRQorCisjZGVmaW5lIEhWTV9OUl9Q QVJBTVMgMzkKIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19IVk1fUEFSQU1TX0hfXyAqLwotLSAK Mi4xMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==