From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v2 05/12] x86/mce_intel: detect and enable LMCE on Intel host Date: Fri, 17 Mar 2017 14:46:07 +0800 Message-ID: <20170317064614.23539-6-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 , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org RW5hYmxlIExNQ0UgaWYgaXQncyBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgQ1BVLiBJZiBYZW4gYm9v dCBwYXJhbWV0ZXIKIm1jZV9mYiA9IDEiIGlzIHByZXNlbnQsIExNQ0Ugd2lsbCBiZSBkaXNhYmxl ZCBmb3JjaWJseS4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFu Z0BpbnRlbC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzog QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KCkNoYW5nZXMgaW4gdjI6 CiAqIChCeSBwYXRjaCAxKSBDb252ZXJ0IGFsbCBib29sX3QgdG8gYm9vbCwgYW5kIHVzZSB0cnVl IGFuZCBmYWxzZS4KICogRml4IHRoZSBjaGVjayBvZiBNU1JfSUEzMl9GRUFUVVJFX0NPTlRST0wg aW4gaW50ZWxfZW5hYmxlX2xtY2UoKS4KICogKEJ5IHBhdGNoIDIpIEFkanVzdCB0aGUgb3V0cHV0 IG1lc3NhZ2VzIG9mIE1DQSBjYXBhYmlsaXRpZXMuCiAqIEZvciBhZGRpdGlvbnMgaW4gZXhpc3Rp bmcgZnVuY3Rpb24sIHVzZSB0aGUgY29kaW5nIHN0eWxlIGFyb3VuZC4KICAgRm9yIG5ldyBhZGRl ZCBmdW5jdGlvbnMsIHVzZSB0aGUgY29kaW5nIHN0eWxlIG9mIFhlbiBoeXBlcnZpc29yLgotLS0K IHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5oICAgICAgIHwgIDEgKwogeGVuL2FyY2gveDg2 L2NwdS9tY2hlY2svbWNlX2ludGVsLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay94ODZfbWNhLmggICB8ICA1ICsrKysK IHhlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmggICAgIHwgIDIgKysKIDQgZmlsZXMgY2hh bmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L21jaGVjay9tY2UuaCBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5o CmluZGV4IDkzNDdlYjkuLmVjNThhOTEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNo ZWNrL21jZS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5oCkBAIC0zOCw2ICsz OCw3IEBAIGVudW0gbWNoZWNrX3R5cGUgewogfTsKIAogZXh0ZXJuIHVpbnQ4X3QgY21jaV9hcGlj X3ZlY3RvcjsKK2V4dGVybiBib29sIGxtY2Vfc3VwcG9ydDsKIAogLyogSW5pdCBmdW5jdGlvbnMg Ki8KIGVudW0gbWNoZWNrX3R5cGUgYW1kX21jaGVja19pbml0KHN0cnVjdCBjcHVpbmZvX3g4NiAq Yyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2VfaW50ZWwuYyBiL3hl bi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZV9pbnRlbC5jCmluZGV4IGZlOTI3ZjYuLmY4Y2Y1ZTYg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZV9pbnRlbC5jCisrKyBiL3hl bi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZV9pbnRlbC5jCkBAIC0yOSw2ICsyOSw5IEBAIGJvb2xl YW5fcGFyYW0oIm1jZV9mYiIsIG1jZV9mb3JjZV9icm9hZGNhc3QpOwogCiBzdGF0aWMgaW50IF9f cmVhZF9tb3N0bHkgbnJfaW50ZWxfZXh0X21zcnM7CiAKKy8qIElmIG1jZV9mb3JjZV9icm9hZGNh c3QgPT0gMSwgbG1jZV9zdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQgZm9yY2libHkuICovCitib29s IF9fcmVhZF9tb3N0bHkgbG1jZV9zdXBwb3J0OworCiAvKiBJbnRlbCBTRE0gZGVmaW5lIGJpdDE1 fmJpdDAgb2YgSUEzMl9NQ2lfU1RBVFVTIGFzIHRoZSBNQyBlcnJvciBjb2RlICovCiAjZGVmaW5l IElOVEVMX01DQ09EX01BU0sgMHhGRkZGCiAKQEAgLTcwNCwxMCArNzA3LDM0IEBAIHN0YXRpYyBi b29sIG1jZV9pc19icm9hZGNhc3Qoc3RydWN0IGNwdWluZm9feDg2ICpjKQogICAgIHJldHVybiBm YWxzZTsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfZW5hYmxlX2xtY2Uodm9pZCkKK3sKKyAgICB1 aW50NjRfdCBtc3JfY29udGVudDsKKworICAgIC8qCisgICAgICogU2VjdGlvbiAiRW5hYmxpbmcg TG9jYWwgTWFjaGluZSBDaGVjayIgaW4gSW50ZWwgU0RNIFZvbCAzCisgICAgICogcmVxdWlyZXMg c29mdHdhcmUgbXVzdCBlbnN1cmUgdGhlIExPQ0sgYml0IGFuZCBMTUNFX09OIGJpdAorICAgICAq IG9mIE1TUl9JQTMyX0ZFQVRVUkVfQ09OVFJPTCBhcmUgc2V0IGJlZm9yZSBzZXR0aW5nCisgICAg ICogTVNSX0lBMzJfTUNHX0VYVF9DVEwuTE1DRV9FTi4KKyAgICAgKi8KKworICAgIGlmICggcmRt c3Jfc2FmZShNU1JfSUEzMl9GRUFUVVJFX0NPTlRST0wsIG1zcl9jb250ZW50KSApCisgICAgICAg IHJldHVybiBmYWxzZTsKKworICAgIGlmICggKG1zcl9jb250ZW50ICYgSUEzMl9GRUFUVVJFX0NP TlRST0xfTE9DSykgJiYKKyAgICAgICAgIChtc3JfY29udGVudCAmIElBMzJfRkVBVFVSRV9DT05U Uk9MX0xNQ0VfT04pICkKKyAgICB7CisgICAgICAgIHdybXNybChNU1JfSUEzMl9NQ0dfRVhUX0NU TCwgTUNHX0VYVF9DVExfTE1DRV9FTik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor ICAgIHJldHVybiBmYWxzZTsKK30KKwogLyogQ2hlY2sgYW5kIGluaXQgTUNBICovCiBzdGF0aWMg dm9pZCBpbnRlbF9pbml0X21jYShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0gICAgYm9vbCBi cm9hZGNhc3QsIGNtY2kgPSBmYWxzZSwgc2VyID0gZmFsc2U7CisgICAgYm9vbCBicm9hZGNhc3Qs IGNtY2kgPSBmYWxzZSwgc2VyID0gZmFsc2UsIGxtY2UgPSBmYWxzZTsKICAgICBpbnQgZXh0X251 bSA9IDAsIGZpcnN0OwogICAgIHVpbnQ2NF90IG1zcl9jb250ZW50OwogCkBAIC03MjcsMzMgKzc1 NCw0MCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X21jYShzdHJ1Y3QgY3B1aW5mb194ODYgKmMp CiAKICAgICBmaXJzdCA9IG1jZV9maXJzdGJhbmsoYyk7CiAKKyAgICBpZiAoIW1jZV9mb3JjZV9i cm9hZGNhc3QgJiYgKG1zcl9jb250ZW50ICYgTUNHX0xNQ0VfUCkpCisgICAgICAgIGxtY2UgPSBp bnRlbF9lbmFibGVfbG1jZSgpOworCiAjZGVmaW5lIENBUChlbmFibGVkLCBuYW1lKSAoKGVuYWJs ZWQpID8gIiwgIm5hbWUgOiAiIikKICAgICBpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpID09IDApCiAg ICAgewogICAgICAgICBkcHJpbnRrKFhFTkxPR19JTkZPLAotICAgICAgICAgICAgICAgICJNQ0Eg Q2FwYWJpbGl0eTogZmlyc3RiYW5rICVkLCBleHRlbmRlZCBNQ0UgTVNSICVkJXMlcyVzXG4iLAor ICAgICAgICAgICAgICAgICJNQ0EgQ2FwYWJpbGl0eTogZmlyc3RiYW5rICVkLCBleHRlbmRlZCBN Q0UgTVNSICVkJXMlcyVzJXNcbiIsCiAgICAgICAgICAgICAgICAgZmlyc3QsIGV4dF9udW0sCiAg ICAgICAgICAgICAgICAgQ0FQKGJyb2FkY2FzdCwgIkJDQVNUIiksCiAgICAgICAgICAgICAgICAg Q0FQKHNlciwgIlNFUiIpLAotICAgICAgICAgICAgICAgIENBUChjbWNpLCAiQ01DSSIpKTsKKyAg ICAgICAgICAgICAgICBDQVAoY21jaSwgIkNNQ0kiKSwKKyAgICAgICAgICAgICAgICBDQVAobG1j ZSwgIkxNQ0UiKSk7CiAKICAgICAgICAgbWNlX2Jyb2FkY2FzdCA9IGJyb2FkY2FzdDsKICAgICAg ICAgY21jaV9zdXBwb3J0ID0gY21jaTsKICAgICAgICAgc2VyX3N1cHBvcnQgPSBzZXI7CisgICAg ICAgIGxtY2Vfc3VwcG9ydCA9IGxtY2U7CiAgICAgICAgIG5yX2ludGVsX2V4dF9tc3JzID0gZXh0 X251bTsKICAgICAgICAgZmlyc3RiYW5rID0gZmlyc3Q7CiAgICAgfQogICAgIGVsc2UgaWYgKGNt Y2kgIT0gY21jaV9zdXBwb3J0IHx8IHNlciAhPSBzZXJfc3VwcG9ydCB8fAogICAgICAgICAgICAg IGJyb2FkY2FzdCAhPSBtY2VfYnJvYWRjYXN0IHx8Ci0gICAgICAgICAgICAgZmlyc3QgIT0gZmly c3RiYW5rIHx8IGV4dF9udW0gIT0gbnJfaW50ZWxfZXh0X21zcnMpCisgICAgICAgICAgICAgZmly c3QgIT0gZmlyc3RiYW5rIHx8IGV4dF9udW0gIT0gbnJfaW50ZWxfZXh0X21zcnMgfHwKKyAgICAg ICAgICAgICBsbWNlICE9IGxtY2Vfc3VwcG9ydCkKICAgICAgICAgZHByaW50ayhYRU5MT0dfV0FS TklORywKICAgICAgICAgICAgICAgICAiQ1BVICV1IGhhcyBkaWZmZXJlbnQgTUNBIGNhcGFiaWxp dHkgIgotICAgICAgICAgICAgICAgICIoZmlyc3RiYW5rICVkLCBleHRlbmRlZCBNQ0UgTVNSICVk JXMlcyVzKSIKKyAgICAgICAgICAgICAgICAiKGZpcnN0YmFuayAlZCwgZXh0ZW5kZWQgTUNFIE1T UiAlZCVzJXMlcyVzKSIKICAgICAgICAgICAgICAgICAiIHRoYW4gQlNQLCBtYXkgY2F1c2UgdW5k ZXRlcm1pbmVkIHJlc3VsdCEhIVxuIiwKICAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lk KCksIGZpcnN0LCBleHRfbnVtLAogICAgICAgICAgICAgICAgIENBUChicm9hZGNhc3QsICJCQ0FT VCIpLAogICAgICAgICAgICAgICAgIENBUChzZXIsICJTRVIiKSwKLSAgICAgICAgICAgICAgICBD QVAoY21jaSwgIkNNQ0kiKSk7CisgICAgICAgICAgICAgICAgQ0FQKGNtY2ksICJDTUNJIiksCisg ICAgICAgICAgICAgICAgQ0FQKGxtY2UsICJMTUNFIikpOwogI3VuZGVmIENBUAogfQogCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay94ODZfbWNhLmggYi94ZW4vYXJjaC94ODYv Y3B1L21jaGVjay94ODZfbWNhLmgKaW5kZXggZGUwM2Y4Mi4uMGY4N2JjZiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2NwdS9tY2hlY2sveDg2X21jYS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUv bWNoZWNrL3g4Nl9tY2EuaApAQCAtMzYsNiArMzYsNyBAQAogI2RlZmluZSBNQ0dfVEVTX1AgICAg ICAgICAgICAgICAoMVVMTDw8MTEpIC8qIEludGVsIHNwZWNpZmljICovCiAjZGVmaW5lIE1DR19F WFRfQ05UICAgICAgICAgICAgIDE2ICAgICAgICAgLyogSW50ZWwgc3BlY2lmaWMgKi8KICNkZWZp bmUgTUNHX1NFUl9QICAgICAgICAgICAgICAgKDFVTEw8PDI0KSAvKiBJbnRlbCBzcGVjaWZpYyAq LworI2RlZmluZSBNQ0dfTE1DRV9QICAgICAgICAgICAgICAoMVVMTDw8MjcpIC8qIEludGVsIHNw ZWNpZmljICovCiAvKiBPdGhlciBiaXRzIGFyZSByZXNlcnZlZCAqLwogCiAvKiBCaXRmaWVsZCBv ZiB0aGUgTVNSX0lBMzJfTUNHX1NUQVRVUyByZWdpc3RlciAqLwpAQCAtNDYsNiArNDcsMTAgQEAK IC8qIEJpdHMgMy02MyBhcmUgcmVzZXJ2ZWQgb24gQ1BVIG5vdCBzdXBwb3J0aW5nIExNQ0UgKi8K IC8qIEJpdHMgNC02MyBhcmUgcmVzZXJ2ZWQgb24gQ1BVIHN1cHBvcnRpbmcgTE1DRSAqLwogCisv KiBCaXRmaWVsZCBvZiBNU1JfSUEzMl9NQ0dfRVhUX0NUTCByZWdpc3RlciAoSW50ZWwgU3BlY2lm aWMpICovCisjZGVmaW5lIE1DR19FWFRfQ1RMX0xNQ0VfRU4gICAgICgxVUxMPDwwKQorLyogT3Ro ZXIgYml0cyBhcmUgcmVzZXJ2ZWQgKi8KKwogLyogQml0ZmllbGQgb2YgTVNSX0s4X01DaV9TVEFU VVMgcmVnaXN0ZXJzICovCiAvKiBNQ0EgZXJyb3IgY29kZSAqLwogI2RlZmluZSBNQ2lfU1RBVFVT X01DQSAgICAgICAgICAweDAwMDAwMDAwMDAwMGZmZmZVTEwKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvbXNyLWluZGV4LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5o CmluZGV4IDc3MWU3NTAuLjc1NmIyM2QgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv bXNyLWluZGV4LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaApAQCAtNTEs NiArNTEsNyBAQAogI2RlZmluZSBNU1JfSUEzMl9NQ0dfQ0FQCQkweDAwMDAwMTc5CiAjZGVmaW5l IE1TUl9JQTMyX01DR19TVEFUVVMJCTB4MDAwMDAxN2EKICNkZWZpbmUgTVNSX0lBMzJfTUNHX0NU TAkJMHgwMDAwMDE3YgorI2RlZmluZSBNU1JfSUEzMl9NQ0dfRVhUX0NUTAkweDAwMDAwNGQwCiAK ICNkZWZpbmUgTVNSX0lBMzJfUEVCU19FTkFCTEUJCTB4MDAwMDAzZjEKICNkZWZpbmUgTVNSX0lB MzJfRFNfQVJFQQkJMHgwMDAwMDYwMApAQCAtMjk2LDYgKzI5Nyw3IEBACiAjZGVmaW5lIElBMzJf RkVBVFVSRV9DT05UUk9MX1NFTlRFUl9QQVJBTV9DVEwgICAgICAgICAweDdmMDAKICNkZWZpbmUg SUEzMl9GRUFUVVJFX0NPTlRST0xfRU5BQkxFX1NFTlRFUiAgICAgICAgICAgIDB4ODAwMAogI2Rl ZmluZSBJQTMyX0ZFQVRVUkVfQ09OVFJPTF9TR1hfRU5BQkxFICAgICAgICAgICAgICAgMHg0MDAw MAorI2RlZmluZSBJQTMyX0ZFQVRVUkVfQ09OVFJPTF9MTUNFX09OICAgICAgICAgICAgICAgICAg MHgxMDAwMDAKIAogI2RlZmluZSBNU1JfSUEzMl9UU0NfQURKVVNUCQkweDAwMDAwMDNiCiAKLS0g CjIuMTAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=