From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH 12/19] x86/mce: handle LMCE locally Date: Fri, 17 Feb 2017 14:39:29 +0800 Message-ID: <20170217063936.13208-13-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 TE1DRSBpcyBzZW50IHRvIG9ubHkgb25lIENQVSB0aHJlYWQsIHNvIE1DRSBoYW5kbGVyLCBiYXJy aWVycyBhbmQKc29mdGlycSBoYW5kbGVyIHNob3VsZCBnbyB3aXRob3V0IHdhaXRpbmcgZm9yIG90 aGVyIENQVXMsIHdoZW4KaGFuZGxpbmcgTE1DRS4gTm90ZSBMTUNFIGlzIHN0aWxsIGJyb2FkY2Fz dCB0byBhbGwgdmNwdXMgYXMgcmVndWxhcgpNQ0Ugb24gSW50ZWwgQ1BVIHJpZ2h0IG5vdy4KClNp Z25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0t LQpDYzogQ2hyaXN0b3BoIEVnZ2VyIDxjaGVnZ2VyQGFtYXpvbi5kZT4KQ2M6IExpdSBKaW5zb25n IDxqaW5zb25nLmxpdUBhbGliYWJhLWluYy5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgot LS0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2JhcnJpZXIuYyAgfCAgNCArKy0tCiB4ZW4vYXJj aC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jIHwgIDQgKysrLQogeGVuL2FyY2gveDg2L2NwdS9t Y2hlY2svbWNlLmMgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9hcmNo L3g4Ni9jcHUvbWNoZWNrL21jZS5oICAgICAgfCAgMyArKysKIHhlbi9hcmNoL3g4Ni9jcHUvbWNo ZWNrL3g4Nl9tY2EuaCAgfCAgNCArKystCiA1IGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2sv YmFycmllci5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5jCmluZGV4IDVkY2Ux ZmIuLjg2OWZkMjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2JhcnJpZXIu YworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMKQEAgLTIwLDcgKzIwLDcg QEAgdm9pZCBtY2VfYmFycmllcl9lbnRlcihzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqYmFy KQogewogICAgIGludCBnZW47CiAKLSAgICBpZiAoIW1jZV9icm9hZGNhc3QpCisgICAgaWYgKCAh bWNlX2Jyb2FkY2FzdCB8fCBfX2dldF9jcHVfdmFyKGxtY2VfaW5fcHJvY2VzcykgKQogICAgICAg ICByZXR1cm47CiAgICAgYXRvbWljX2luYygmYmFyLT5pbmdlbik7CiAgICAgZ2VuID0gYXRvbWlj X3JlYWQoJmJhci0+b3V0Z2VuKTsKQEAgLTM4LDcgKzM4LDcgQEAgdm9pZCBtY2VfYmFycmllcl9l eGl0KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiB7CiAgICAgaW50IGdlbjsKIAot ICAgIGlmICggIW1jZV9icm9hZGNhc3QgKQorICAgIGlmICggIW1jZV9icm9hZGNhc3QgfHwgX19n ZXRfY3B1X3ZhcihsbWNlX2luX3Byb2Nlc3MpICkKICAgICAgICAgcmV0dXJuOwogICAgIGF0b21p Y19pbmMoJmJhci0+b3V0Z2VuKTsKICAgICBnZW4gPSBhdG9taWNfcmVhZCgmYmFyLT5pbmdlbik7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jIGIveGVuL2Fy Y2gveDg2L2NwdS9tY2hlY2svbWNhY3Rpb24uYwppbmRleCA4YjJiODM0Li45MGM2OGZmIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jCisrKyBiL3hlbi9hcmNo L3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMKQEAgLTk1LDcgKzk1LDkgQEAgbWNfbWVtZXJyX2Ro YW5kbGVyKHN0cnVjdCBtY2FfYmluZm8gKmJpbmZvLAogCiAgICAgICAgICAgICAgICAgYmFuay0+ bWNfYWRkciA9IGdmbiA8PCBQQUdFX1NISUZUIHwKICAgICAgICAgICAgICAgICAgIChiYW5rLT5t Y19hZGRyICYgKFBBR0VfU0laRSAtMSApKTsKLSAgICAgICAgICAgICAgICBpZiAoIGZpbGxfdm1z cl9kYXRhKGJhbmssIGQsIGdsb2JhbC0+bWNfZ3N0YXR1cywKKyAgICAgICAgICAgICAgICAvKiBU T0RPOiBzdXBwb3J0IGluamVjdGluZyBMTUNFICovCisgICAgICAgICAgICAgICAgaWYgKCBmaWxs X3Ztc3JfZGF0YShiYW5rLCBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z2xvYmFsLT5tY19nc3RhdHVzICYgfk1DR19TVEFUVVNfTE1DRSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID09IFZNQ0VfSU5KRUNUX0JST0FEQ0FTVCkg PT0gLTEgKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgbWNlX3ByaW50 ayhNQ0VfUVVJRVQsICJGaWxsIHZNQ0UjIGRhdGEgZm9yIERPTSVkICIKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZS5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNl LmMKaW5kZXggOTVhOWRhMy4uMmQ2OTIyMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9t Y2hlY2svbWNlLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMKQEAgLTQyLDYg KzQyLDE3IEBAIERFRklORV9QRVJfQ1BVX1JFQURfTU9TVExZKHN0cnVjdCBtY2FfYmFua3MgKiwg cG9sbF9iYW5rbWFzayk7CiBERUZJTkVfUEVSX0NQVV9SRUFEX01PU1RMWShzdHJ1Y3QgbWNhX2Jh bmtzICosIG5vX2NtY2lfYmFua3MpOwogREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkoc3RydWN0 IG1jYV9iYW5rcyAqLCBtY2VfY2xlYXJfYmFua3MpOwogCisvKgorICogRmxhZyB0byBpbmRpY2F0 ZSB3aGV0aGVyIHRoZSBjdXJyZW50IE1DRSBvbiB0aGlzIENQVSBpcyBhIExNQ0UuCisgKgorICog VGhlIE1DRSBoYW5kbGVyIHNob3VsZCBzZXQvY2xlYXIgdGhpcyBmbGFnIGJlZm9yZSBlbnRlcmlu ZyBhbnkgTUNFCisgKiBiYXJyaWVycyBhbmQgcmFpc2luZyBNQ0Ugc29mdGlycS4gTUNFIGJhcnJp ZXJzIHJlbHkgb24gdGhpcyBmbGFnIHRvCisgKiBkZWNpZGUgd2hldGhlciB0aGV5IG5lZWQgdG8g d2FpdCBmb3Igb3RoZXIgQ1BVcy4gTUNFIHNvZnRpcnEgaGFuZGxlcgorICogcmVsaWVzIG9uIHRo aXMgZmxhZyB0byBkZWNpZGUgd2hldGhlciBpdCBuZWVkcyB0byBoYW5kbGUgcGVuZGluZworICog TUNFcyBvbiBvdGhlciBDUFVzLgorICovCitERUZJTkVfUEVSX0NQVShib29sLCBsbWNlX2luX3By b2Nlc3MpOworCiBzdGF0aWMgdm9pZCBpbnRwb3NlX2luaXQodm9pZCk7CiBzdGF0aWMgdm9pZCBt Y2luZm9fY2xlYXIoc3RydWN0IG1jX2luZm8gKik7CiBzdHJ1Y3QgbWNhX2JhbmtzICptY2FfYWxs YmFua3M7CkBAIC0zOTksNiArNDEwLDcgQEAgbWNoZWNrX21jYV9sb2dvdXQoZW51bSBtY2Ffc291 cmNlIHdobywgc3RydWN0IG1jYV9iYW5rcyAqYmFua21hc2ssCiAgICAgICAgIHNwLT5lcnJjbnQg PSBlcnJjbnQ7CiAgICAgICAgIHNwLT5yaXB2ID0gKGdzdGF0dXMgJiBNQ0dfU1RBVFVTX1JJUFYp ICE9IDA7CiAgICAgICAgIHNwLT5laXB2ID0gKGdzdGF0dXMgJiBNQ0dfU1RBVFVTX0VJUFYpICE9 IDA7CisgICAgICAgIHNwLT5sbWNlID0gKGdzdGF0dXMgJiBNQ0dfU1RBVFVTX0xNQ0UpICE9IDA7 CiAgICAgICAgIHNwLT51YyA9IHVjOwogICAgICAgICBzcC0+cGNjID0gcGNjOwogICAgICAgICBz cC0+cmVjb3ZlcmFibGUgPSByZWNvdmVyOwpAQCAtNDYyLDYgKzQ3NCw3IEBAIHZvaWQgbWNoZWNr X2Ntbl9oYW5kbGVyKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHVpbnQ2 NF90IGdzdGF0dXM7CiAgICAgbWN0ZWxlbV9jb29raWVfdCBtY3RjID0gTlVMTDsKICAgICBzdHJ1 Y3QgbWNhX3N1bW1hcnkgYnM7CisgICAgYm9vbCAqbG1jZV9pbl9wcm9jZXNzID0gJl9fZ2V0X2Nw dV92YXIobG1jZV9pbl9wcm9jZXNzKTsKIAogICAgIG1jZV9zcGluX2xvY2soJm1jZV9sb2dvdXRf bG9jayk7CiAKQEAgLTUwNSw2ICs1MTgsOCBAQCB2b2lkIG1jaGVja19jbW5faGFuZGxlcihjb25z dCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICB9CiAgICAgbWNlX3NwaW5fdW5sb2Nr KCZtY2VfbG9nb3V0X2xvY2spOwogCisgICAgKmxtY2VfaW5fcHJvY2VzcyA9IGJzLmxtY2U7CisK ICAgICBtY2VfYmFycmllcl9lbnRlcigmbWNlX3RyYXBfYmFyKTsKICAgICBpZiAoIG1jdGMgIT0g TlVMTCAmJiBtY2VfdXJnZW50X2FjdGlvbihyZWdzLCBtY3RjKSkKICAgICAgICAgY3B1bWFza19z ZXRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSwgJm1jZV9mYXRhbF9jcHVzKTsKQEAgLTE3MDksNiAr MTcyNCw3IEBAIHN0YXRpYyB2b2lkIG1jZV9zb2Z0aXJxKHZvaWQpCiB7CiAgICAgaW50IGNwdSA9 IHNtcF9wcm9jZXNzb3JfaWQoKTsKICAgICB1bnNpZ25lZCBpbnQgd29ya2NwdTsKKyAgICBib29s IGxtY2UgPSBwZXJfY3B1KGxtY2VfaW5fcHJvY2VzcywgY3B1KTsKIAogICAgIG1jZV9wcmludGso TUNFX1ZFUkJPU0UsICJDUFUlZCBlbnRlciBzb2Z0aXJxXG4iLCBjcHUpOwogCkBAIC0xNzM4LDkg KzE3NTQsMTIgQEAgc3RhdGljIHZvaWQgbWNlX3NvZnRpcnEodm9pZCkKICAgICAgICAgLyogU3Rl cDE6IEZpbGwgRE9NMCBMT0cgYnVmZmVyLCB2TUNFIGluamVjdGlvbiBidWZmZXIgYW5kCiAgICAg ICAgICAqIHZNQ0UgTVNScyB2aXJ0dWFsaXphdGlvbiBidWZmZXIKICAgICAgICAgICovCi0gICAg ICAgIGZvcl9lYWNoX29ubGluZV9jcHUod29ya2NwdSkgewotICAgICAgICAgICAgbWN0ZWxlbV9w cm9jZXNzX2RlZmVycmVkKHdvcmtjcHUsIG1jZV9kZWxheWVkX2FjdGlvbik7Ci0gICAgICAgIH0K KyAgICAgICAgaWYgKCBsbWNlICkKKyAgICAgICAgICAgIG1jdGVsZW1fcHJvY2Vzc19kZWZlcnJl ZChjcHUsIG1jZV9kZWxheWVkX2FjdGlvbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZv cl9lYWNoX29ubGluZV9jcHUod29ya2NwdSkgeworICAgICAgICAgICAgICAgIG1jdGVsZW1fcHJv Y2Vzc19kZWZlcnJlZCh3b3JrY3B1LCBtY2VfZGVsYXllZF9hY3Rpb24pOworICAgICAgICAgICAg fQogCiAgICAgICAgIC8qIFN0ZXAyOiBTZW5kIExvZyB0byBET00wIHRocm91Z2ggdklSUSAqLwog ICAgICAgICBpZiAoZG9tMF92bWNlX2VuYWJsZWQoKSkgewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2NwdS9tY2hlY2svbWNlLmggYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuaAppbmRl eCAyZjRlN2E0Li4yYzAzM2FmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9t Y2UuaAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuaApAQCAtMTEwLDEyICsxMTAs MTUgQEAgc3RydWN0IG1jYV9zdW1tYXJ5IHsKICAgICBib29sX3QgICAgICB1YzsgICAgIC8qIFVD IGZsYWcgKi8KICAgICBib29sX3QgICAgICBwY2M7ICAgIC8qIFBDQyBmbGFnICovCiAgICAgYm9v bF90ICAgICAgcmVjb3ZlcmFibGU7IC8qIHNvZnR3YXJlIGVycm9yIHJlY292ZXJhYmxlIGZsYWcg Ki8KKyAgICBib29sX3QgICAgICBsbWNlOyAgIC8qIExNQ0UgZmxhZyAoSW50ZWwgc3BlY2lmaWMp ICovCiB9OwogCiBERUNMQVJFX1BFUl9DUFUoc3RydWN0IG1jYV9iYW5rcyAqLCBwb2xsX2Jhbmtt YXNrKTsKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgbWNhX2JhbmtzICosIG5vX2NtY2lfYmFua3Mp OwogREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCBtY2FfYmFua3MgKiwgbWNlX2NsZWFyX2JhbmtzKTsK IAorREVDTEFSRV9QRVJfQ1BVKGJvb2wsIGxtY2VfaW5fcHJvY2Vzcyk7CisKIGV4dGVybiBib29s X3QgY21jaV9zdXBwb3J0OwogZXh0ZXJuIGJvb2xfdCBpc19tY19wYW5pYzsKIGV4dGVybiBib29s X3QgbWNlX2Jyb2FkY2FzdDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3g4 Nl9tY2EuaCBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3g4Nl9tY2EuaAppbmRleCBlMjVkNjE5 Li4zMjJiN2Q0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay94ODZfbWNhLmgK KysrIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2sveDg2X21jYS5oCkBAIC00Miw3ICs0Miw5IEBA CiAjZGVmaW5lIE1DR19TVEFUVVNfUklQViAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDAwMVVMTAog I2RlZmluZSBNQ0dfU1RBVFVTX0VJUFYgICAgICAgICAweDAwMDAwMDAwMDAwMDAwMDJVTEwKICNk ZWZpbmUgTUNHX1NUQVRVU19NQ0lQICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDA0VUxMCi0vKiBC aXRzIDMtNjMgYXJlIHJlc2VydmVkICovCisjZGVmaW5lIE1DR19TVEFUVVNfTE1DRSAgICAgICAg IDB4MDAwMDAwMDAwMDAwMDAwOFVMTCAgLyogSW50ZWwgc3BlY2lmaWMgKi8KKy8qIEJpdHMgMy02 MyBhcmUgcmVzZXJ2ZWQgb24gQ1BVIG5vdCBzdXBwb3J0aW5nIExNQ0UgKi8KKy8qIEJpdHMgNC02 MyBhcmUgcmVzZXJ2ZWQgb24gQ1BVIHN1cHBvcnRpbmcgTE1DRSAqLwogCiAvKiBCaXRmaWVsZCBv ZiBNU1JfSzhfTUNpX1NUQVRVUyByZWdpc3RlcnMgKi8KIC8qIE1DQSBlcnJvciBjb2RlICovCi0t IAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK