From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH 13/19] x86/mce_intel: detect and enable LMCE on Intel host Date: Fri, 17 Feb 2017 14:39:30 +0800 Message-ID: <20170217063936.13208-14-haozhong.zhang@intel.com> References: <20170217063936.13208-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: <20170217063936.13208-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 , Christoph Egger , Andrew Cooper , Jan Beulich , Liu Jinsong List-Id: xen-devel@lists.xenproject.org RW5hYmxlIExNQ0UgaWYgaXQncyBzdXBwb3J0ZWQgYnkgdGhlIGhvc3QgQ1BVLiBJZiBYZW4gYm9v dCBwYXJhbWV0ZXIKIm1jZV9mYiA9IDEiIGlzIHByZXNlbnQsIExNQ0Ugd2lsbCBiZSBkaXNhYmxl ZCBmb3JjaWJseS4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFu Z0BpbnRlbC5jb20+Ci0tLQpDYzogQ2hyaXN0b3BoIEVnZ2VyIDxjaGVnZ2VyQGFtYXpvbi5kZT4K Q2M6IExpdSBKaW5zb25nIDxqaW5zb25nLmxpdUBhbGliYWJhLWluYy5jb20+CkNjOiBKYW4gQmV1 bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy M0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5oICAgICAgIHwg IDEgKwogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlX2ludGVsLmMgfCA0NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay94ODZf bWNhLmggICB8ICA1ICsrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oICAgICB8 ICAyICsrCiA0IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmggYi94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay9tY2UuaAppbmRleCAyYzAzM2FmLi40NjExNDFhIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuaAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVj ay9tY2UuaApAQCAtMzgsNiArMzgsNyBAQCBlbnVtIG1jaGVja190eXBlIHsKIH07CiAKIGV4dGVy biB1aW50OF90IGNtY2lfYXBpY192ZWN0b3I7CitleHRlcm4gYm9vbCBsbWNlX3N1cHBvcnQ7CiAK IC8qIEluaXQgZnVuY3Rpb25zICovCiBlbnVtIG1jaGVja190eXBlIGFtZF9tY2hlY2tfaW5pdChz dHJ1Y3QgY3B1aW5mb194ODYgKmMpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svbWNlX2ludGVsLmMgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2VfaW50ZWwuYwppbmRl eCA5ZTVlZTNkLi5iNGNjNDFhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9t Y2VfaW50ZWwuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2VfaW50ZWwuYwpAQCAt MjksNiArMjksOSBAQCBib29sZWFuX3BhcmFtKCJtY2VfZmIiLCBtY2VfZm9yY2VfYnJvYWRjYXN0 KTsKIAogc3RhdGljIGludCBfX3JlYWRfbW9zdGx5IG5yX2ludGVsX2V4dF9tc3JzOwogCisvKiBJ ZiBtY2VfZm9yY2VfYnJvYWRjYXN0ID09IDEsIGxtY2Vfc3VwcG9ydCB3aWxsIGJlIGRpc2FibGVk IGZvcmNpYmx5LiAqLworYm9vbCBfX3JlYWRfbW9zdGx5IGxtY2Vfc3VwcG9ydCA9IDA7CisKIC8q IEludGVsIFNETSBkZWZpbmUgYml0MTV+Yml0MCBvZiBJQTMyX01DaV9TVEFUVVMgYXMgdGhlIE1D IGVycm9yIGNvZGUgKi8KICNkZWZpbmUgSU5URUxfTUNDT0RfTUFTSyAweEZGRkYKIApAQCAtNjc3 LDEwICs2ODAsMzQgQEAgc3RhdGljIGludCBtY2VfaXNfYnJvYWRjYXN0KHN0cnVjdCBjcHVpbmZv X3g4NiAqYykKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfZW5hYmxlX2xt Y2Uodm9pZCkKK3sKKyAgICB1aW50NjRfdCBtc3JfY29udGVudDsKKworICAgIC8qCisgICAgICog U2VjdGlvbiAiRW5hYmxpbmcgTG9jYWwgTWFjaGluZSBDaGVjayIgaW4gSW50ZWwgU0RNIFZvbCAz CisgICAgICogcmVxdWlyZXMgc29mdHdhcmUgbXVzdCBlbnN1cmUgdGhlIExPQ0sgYml0IGFuZCBM TUNFX09OIGJpdAorICAgICAqIG9mIE1TUl9JQTMyX0ZFQVRVUkVfQ09OVFJPTCBhcmUgc2V0IGJl Zm9yZSBzZXR0aW5nCisgICAgICogTVNSX0lBMzJfTUNHX0VYVF9DVEwuTE1DRV9FTi4KKyAgICAg Ki8KKworICAgIGlmICggcmRtc3Jfc2FmZShNU1JfSUEzMl9GRUFUVVJFX0NPTlRST0wsIG1zcl9j b250ZW50KSApCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKCBtc3JfY29udGVudCAmCisg ICAgICAgICAoSUEzMl9GRUFUVVJFX0NPTlRST0xfTE9DSyB8IElBMzJfRkVBVFVSRV9DT05UUk9M X0xNQ0VfT04pICkKKyAgICB7CisgICAgICAgIHdybXNybChNU1JfSUEzMl9NQ0dfRVhUX0NUTCwg TUNHX0VYVF9DVExfTE1DRV9FTik7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIHJl dHVybiAwOworfQorCiAvKiBDaGVjayBhbmQgaW5pdCBNQ0EgKi8KIHN0YXRpYyB2b2lkIGludGVs X2luaXRfbWNhKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKLSAgICBib29sX3QgYnJvYWRjYXN0 LCBjbWNpID0gMCwgc2VyID0gMDsKKyAgICBib29sX3QgYnJvYWRjYXN0LCBjbWNpID0gMCwgc2Vy ID0gMCwgbG1jZSA9IDA7CiAgICAgaW50IGV4dF9udW0gPSAwLCBmaXJzdDsKICAgICB1aW50NjRf dCBtc3JfY29udGVudDsKIApAQCAtNzAwLDI2ICs3MjcsMzEgQEAgc3RhdGljIHZvaWQgaW50ZWxf aW5pdF9tY2Eoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCiAgICAgZmlyc3QgPSBtY2VfZmlyc3Ri YW5rKGMpOwogCisgICAgaWYgKCAhbWNlX2ZvcmNlX2Jyb2FkY2FzdCAmJiAobXNyX2NvbnRlbnQg JiBNQ0dfTE1DRV9QKSApCisgICAgICAgIGxtY2UgPSBpbnRlbF9lbmFibGVfbG1jZSgpOworCiAg ICAgaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSA9PSAwKQogICAgIHsKICAgICAgICAgZHByaW50ayhY RU5MT0dfSU5GTywgIk1DQSBDYXBhYmlsaXR5OiBCQ0FTVCAleCBTRVIgJXgiCi0gICAgICAgICAg ICAgICAgIiBDTUNJICV4IGZpcnN0YmFuayAleCBleHRlbmRlZCBNQ0UgTVNSICV4XG4iLAotICAg ICAgICAgICAgICAgIGJyb2FkY2FzdCwgc2VyLCBjbWNpLCBmaXJzdCwgZXh0X251bSk7CisgICAg ICAgICAgICAgICAgIiBDTUNJICV4IGZpcnN0YmFuayAleCBleHRlbmRlZCBNQ0UgTVNSICV4IExN Q0UgJXhcbiIsCisgICAgICAgICAgICAgICAgYnJvYWRjYXN0LCBzZXIsIGNtY2ksIGZpcnN0LCBl eHRfbnVtLCBsbWNlKTsKIAogICAgICAgICBtY2VfYnJvYWRjYXN0ID0gYnJvYWRjYXN0OwogICAg ICAgICBjbWNpX3N1cHBvcnQgPSBjbWNpOwogICAgICAgICBzZXJfc3VwcG9ydCA9IHNlcjsKICAg ICAgICAgbnJfaW50ZWxfZXh0X21zcnMgPSBleHRfbnVtOwogICAgICAgICBmaXJzdGJhbmsgPSBm aXJzdDsKKyAgICAgICAgbG1jZV9zdXBwb3J0ID0gbG1jZTsKICAgICB9CiAgICAgZWxzZSBpZiAo Y21jaSAhPSBjbWNpX3N1cHBvcnQgfHwgc2VyICE9IHNlcl9zdXBwb3J0IHx8CiAgICAgICAgICAg ICAgYnJvYWRjYXN0ICE9IG1jZV9icm9hZGNhc3QgfHwKLSAgICAgICAgICAgICBmaXJzdCAhPSBm aXJzdGJhbmsgfHwgZXh0X251bSAhPSBucl9pbnRlbF9leHRfbXNycykKKyAgICAgICAgICAgICBm aXJzdCAhPSBmaXJzdGJhbmsgfHwgZXh0X251bSAhPSBucl9pbnRlbF9leHRfbXNycyB8fAorICAg ICAgICAgICAgIGxtY2UgIT0gbG1jZV9zdXBwb3J0KQogICAgIHsKICAgICAgICAgZHByaW50ayhY RU5MT0dfV0FSTklORywKLSAgICAgICAgICAgICAgICAiQ1BVICV1IGhhcyBkaWZmZXJlbnQgTUNB IGNhcGFiaWxpdHkgKCV4LCV4LCV4LCV4LCV4KSIKKyAgICAgICAgICAgICAgICAiQ1BVICV1IGhh cyBkaWZmZXJlbnQgTUNBIGNhcGFiaWxpdHkgKCV4LCV4LCV4LCV4LCV4LCV4KSIKICAgICAgICAg ICAgICAgICAiIHRoYW4gQlNQLCBtYXkgY2F1c2UgdW5kZXRlcm1pbmVkIHJlc3VsdCEhIVxuIiwK LSAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCksIGJyb2FkY2FzdCwgc2VyLCBjbWNp LCBmaXJzdCwgZXh0X251bSk7CisgICAgICAgICAgICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCBi cm9hZGNhc3QsIHNlciwgY21jaSwgZmlyc3QsIGV4dF9udW0sIGxtY2UpOwogICAgIH0KIH0KIApk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2sveDg2X21jYS5oIGIveGVuL2FyY2gv eDg2L2NwdS9tY2hlY2sveDg2X21jYS5oCmluZGV4IDMyMmI3ZDQuLjNiNTA2MGUgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3g4Nl9tY2EuaAorKysgYi94ZW4vYXJjaC94ODYv Y3B1L21jaGVjay94ODZfbWNhLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNkZWZpbmUgTUNHX1RFU19Q ICAgICAgICAgICAgICAgKDFVTEw8PDExKSAvKiBJbnRlbCBzcGVjaWZpYyAqLwogI2RlZmluZSBN Q0dfRVhUX0NOVCAgICAgICAgICAgICAxNiAgICAgICAgIC8qIEludGVsIHNwZWNpZmljICovCiAj ZGVmaW5lIE1DR19TRVJfUCAgICAgICAgICAgICAgICgxVUxMPDwyNCkgLyogSW50ZWwgc3BlY2lm aWMgKi8KKyNkZWZpbmUgTUNHX0xNQ0VfUCAgICAgICAgICAgICAgKDFVTEw8PDI3KSAvKiBJbnRl bCBzcGVjaWZpYyAqLwogLyogT3RoZXIgYml0cyBhcmUgcmVzZXJ2ZWQgKi8KIAogLyogQml0Zmll bGQgb2YgdGhlIE1TUl9JQTMyX01DR19TVEFUVVMgcmVnaXN0ZXIgKi8KQEAgLTQ2LDYgKzQ3LDEw IEBACiAvKiBCaXRzIDMtNjMgYXJlIHJlc2VydmVkIG9uIENQVSBub3Qgc3VwcG9ydGluZyBMTUNF ICovCiAvKiBCaXRzIDQtNjMgYXJlIHJlc2VydmVkIG9uIENQVSBzdXBwb3J0aW5nIExNQ0UgKi8K IAorLyogQml0ZmllbGQgb2YgTVNSX0lBMzJfTUNHX0VYVF9DVEwgcmVnaXN0ZXIgKEludGVsIFNw ZWNpZmljKSAqLworI2RlZmluZSBNQ0dfRVhUX0NUTF9MTUNFX0VOICAgICAoMVVMTDw8MCkKKy8q IE90aGVyIGJpdHMgYXJlIHJlc2VydmVkICovCisKIC8qIEJpdGZpZWxkIG9mIE1TUl9LOF9NQ2lf U1RBVFVTIHJlZ2lzdGVycyAqLwogLyogTUNBIGVycm9yIGNvZGUgKi8KICNkZWZpbmUgTUNpX1NU QVRVU19NQ0EgICAgICAgICAgMHgwMDAwMDAwMDAwMDBmZmZmVUxMCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5k ZXguaAppbmRleCA5OGRiZmYxLi5mMGJjNTc0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L21zci1pbmRleC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAg LTUxLDYgKzUxLDcgQEAKICNkZWZpbmUgTVNSX0lBMzJfTUNHX0NBUAkJMHgwMDAwMDE3OQogI2Rl ZmluZSBNU1JfSUEzMl9NQ0dfU1RBVFVTCQkweDAwMDAwMTdhCiAjZGVmaW5lIE1TUl9JQTMyX01D R19DVEwJCTB4MDAwMDAxN2IKKyNkZWZpbmUgTVNSX0lBMzJfTUNHX0VYVF9DVEwJMHgwMDAwMDRk MAogCiAjZGVmaW5lIE1TUl9JQTMyX1BFQlNfRU5BQkxFCQkweDAwMDAwM2YxCiAjZGVmaW5lIE1T Ul9JQTMyX0RTX0FSRUEJCTB4MDAwMDA2MDAKQEAgLTI5NCw2ICsyOTUsNyBAQAogI2RlZmluZSBJ QTMyX0ZFQVRVUkVfQ09OVFJPTF9TRU5URVJfUEFSQU1fQ1RMICAgICAgICAgMHg3ZjAwCiAjZGVm aW5lIElBMzJfRkVBVFVSRV9DT05UUk9MX0VOQUJMRV9TRU5URVIgICAgICAgICAgICAweDgwMDAK ICNkZWZpbmUgSUEzMl9GRUFUVVJFX0NPTlRST0xfU0dYX0VOQUJMRSAgICAgICAgICAgICAgIDB4 NDAwMDAKKyNkZWZpbmUgSUEzMl9GRUFUVVJFX0NPTlRST0xfTE1DRV9PTiAgICAgICAgICAgICAg ICAgIDB4MTAwMDAwCiAKICNkZWZpbmUgTVNSX0lBMzJfVFNDX0FESlVTVAkJMHgwMDAwMDAzYgog Ci0tIAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK