From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v3 9/9] tools/xen-mceinj: add support of injecting LMCE Date: Thu, 30 Mar 2017 14:20:03 +0800 Message-ID: <20170330062003.9119-10-haozhong.zhang@intel.com> References: <20170330062003.9119-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: <20170330062003.9119-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 List-Id: xen-devel@lists.xenproject.org SWYgb3B0aW9uICctbCcgb3IgJy0tbG1jZScgaXMgc3BlY2lmaWVkIGFuZCB0aGUgaG9zdCBzdXBw b3J0cyBMTUNFLAp4ZW4tbWNlaW5qIHdpbGwgaW5qZWN0IExNQ0UgdG8gQ1BVIHNwZWNpZmllZCBi eSAnLWMnIChvciBDUFUwIGlmICctYycKaXMgbm90IHByZXNlbnQpLgoKU2lnbmVkLW9mZi1ieTog SGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KQWNrZWQtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29u QGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv b2xzL3Rlc3RzL21jZS10ZXN0L3Rvb2xzL3hlbi1tY2VpbmouYyB8IDUwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdHMvbWNlLXRlc3QvdG9vbHMveGVu LW1jZWluai5jIGIvdG9vbHMvdGVzdHMvbWNlLXRlc3QvdG9vbHMveGVuLW1jZWluai5jCmluZGV4 IGJhZTVhNDYuLjM4MGU0MjEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3RzL21jZS10ZXN0L3Rvb2xz L3hlbi1tY2VpbmouYworKysgYi90b29scy90ZXN0cy9tY2UtdGVzdC90b29scy94ZW4tbWNlaW5q LmMKQEAgLTU2LDYgKzU2LDggQEAKICNkZWZpbmUgTVNSX0lBMzJfTUMwX01JU0MgICAgICAgIDB4 MDAwMDA0MDMKICNkZWZpbmUgTVNSX0lBMzJfTUMwX0NUTDIgICAgICAgIDB4MDAwMDAyODAKIAor I2RlZmluZSBNQ0dfU1RBVFVTX0xNQ0UgICAgICAgICAgMHg4CisKIHN0cnVjdCBtY2VfaW5mbyB7 CiAgICAgY29uc3QgY2hhciAqZGVzY3JpcHRpb247CiAgICAgdWludDhfdCBtY2dfc3RhdDsKQEAg LTExMyw2ICsxMTUsNyBAQCBzdGF0aWMgc3RydWN0IG1jZV9pbmZvIG1jZV90YWJsZVtdID0gewog I2RlZmluZSBMT0dGSUxFIHN0ZG91dAogCiBpbnQgZHVtcDsKK2ludCBsbWNlOwogc3RydWN0IHhl bl9tY19tc3JpbmplY3QgbXNyX2luajsKIAogc3RhdGljIHZvaWQgTHByaW50Zihjb25zdCBjaGFy ICpmbXQsIC4uLikKQEAgLTIxMiw2ICsyMTUsMzUgQEAgc3RhdGljIGludCBpbmplY3RfbWNlKHhj X2ludGVyZmFjZSAqeGNfaGFuZGxlLCBpbnQgY3B1X25yKQogICAgIHJldHVybiB4Y19tY2Ffb3Ao eGNfaGFuZGxlLCAmbWMpOwogfQogCitzdGF0aWMgaW50IGluamVjdF9sbWNlKHhjX2ludGVyZmFj ZSAqeGNfaGFuZGxlLCB1bnNpZ25lZCBpbnQgY3B1KQoreworICAgIHVpbnQ4X3QgKmNwdW1hcCA9 IE5VTEw7CisgICAgc2l6ZV90IGNwdW1hcF9zaXplLCBsaW5lLCBzaGlmdDsKKyAgICB1bnNpZ25l ZCBpbnQgbnJfY3B1czsKKyAgICBpbnQgcmV0OworCisgICAgbnJfY3B1cyA9IG1jYV9jcHVpbmZv KHhjX2hhbmRsZSk7CisgICAgaWYgKCAhbnJfY3B1cyApCisgICAgICAgIGVycih4Y19oYW5kbGUs ICJGYWlsZWQgdG8gZ2V0IG1jYV9jcHVpbmZvIik7CisgICAgaWYgKCBjcHUgPj0gbnJfY3B1cyAp CisgICAgICAgIGVycih4Y19oYW5kbGUsICItYyAldSBpcyBsYXJnZXIgdGhhbiAldSIsIGNwdSwg bnJfY3B1cyAtIDEpOworCisgICAgY3B1bWFwX3NpemUgPSAobnJfY3B1cyArIDcpIC8gODsKKyAg ICBjcHVtYXAgPSBtYWxsb2MoY3B1bWFwX3NpemUpOworICAgIGlmICggIWNwdW1hcCApCisgICAg ICAgIGVycih4Y19oYW5kbGUsICJGYWlsZWQgdG8gYWxsb2NhdGUgY3B1bWFwXG4iKTsKKyAgICBt ZW1zZXQoY3B1bWFwLCAwLCBjcHVtYXBfc2l6ZSk7CisgICAgbGluZSA9IGNwdSAvIDg7CisgICAg c2hpZnQgPSBjcHUgJSA4OworICAgIG1lbXNldChjcHVtYXAgKyBsaW5lLCAxIDw8IHNoaWZ0LCAx KTsKKworICAgIHJldCA9IHhjX21jYV9vcF9pbmplY3RfdjIoeGNfaGFuZGxlLCBYRU5fTUNfSU5K RUNUX1RZUEVfTE1DRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdW1hcCwgY3B1 bWFwX3NpemUgKiA4KTsKKworICAgIGZyZWUoY3B1bWFwKTsKKyAgICByZXR1cm4gcmV0OworfQor CiBzdGF0aWMgdWludDY0X3QgYmFua19hZGRyKGludCBiYW5rLCBpbnQgdHlwZSkKIHsKICAgICB1 aW50NjRfdCBhZGRyOwpAQCAtMzMwLDggKzM2MiwxNSBAQCBzdGF0aWMgaW50IGluamVjdCh4Y19p bnRlcmZhY2UgKnhjX2hhbmRsZSwgc3RydWN0IG1jZV9pbmZvICptY2UsCiAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBjcHVfbnIsIHVpbnQzMl90IGRvbWFpbiwgdWludDY0X3QgZ2FkZHIpCiB7 CiAgICAgaW50IHJldCA9IDA7CisgICAgdWludDhfdCBtY2dfc3RhdHVzID0gbWNlLT5tY2dfc3Rh dDsKIAotICAgIHJldCA9IGluamVjdF9tY2dfc3RhdHVzKHhjX2hhbmRsZSwgY3B1X25yLCBtY2Ut Pm1jZ19zdGF0LCBkb21haW4pOworICAgIGlmICggbG1jZSApCisgICAgeworICAgICAgICBpZiAo IG1jZS0+Y21jaSApCisgICAgICAgICAgICBlcnIoeGNfaGFuZGxlLCAiTm8gc3VwcG9ydCB0byBp bmplY3QgQ01DSSBhcyBMTUNFIik7CisgICAgICAgIG1jZ19zdGF0dXMgfD0gTUNHX1NUQVRVU19M TUNFOworICAgIH0KKyAgICByZXQgPSBpbmplY3RfbWNnX3N0YXR1cyh4Y19oYW5kbGUsIGNwdV9u ciwgbWNnX3N0YXR1cywgZG9tYWluKTsKICAgICBpZiAoIHJldCApCiAgICAgICAgIGVycih4Y19o YW5kbGUsICJGYWlsZWQgdG8gaW5qZWN0IE1DR19TVEFUVVMgTVNSIik7CiAKQEAgLTM1NCw2ICsz OTMsOCBAQCBzdGF0aWMgaW50IGluamVjdCh4Y19pbnRlcmZhY2UgKnhjX2hhbmRsZSwgc3RydWN0 IG1jZV9pbmZvICptY2UsCiAgICAgICAgIGVycih4Y19oYW5kbGUsICJGYWlsZWQgdG8gaW5qZWN0 IE1TUiIpOwogICAgIGlmICggbWNlLT5jbWNpICkKICAgICAgICAgcmV0ID0gaW5qZWN0X2NtY2ko eGNfaGFuZGxlLCBjcHVfbnIpOworICAgIGVsc2UgaWYgKCBsbWNlICkKKyAgICAgICAgcmV0ID0g aW5qZWN0X2xtY2UoeGNfaGFuZGxlLCBjcHVfbnIpOwogICAgIGVsc2UKICAgICAgICAgcmV0ID0g aW5qZWN0X21jZSh4Y19oYW5kbGUsIGNwdV9ucik7CiAgICAgaWYgKCByZXQgKQpAQCAtMzkzLDYg KzQzNCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9IHsKICAgICB7ImR1bXAiLCAw LCAwLCAnRCd9LAogICAgIHsiaGVscCIsIDAsIDAsICdoJ30sCiAgICAgeyJwYWdlIiwgMCwgMCwg J3AnfSwKKyAgICB7ImxtY2UiLCAwLCAwLCAnbCd9LAogICAgIHsiIiwgMCwgMCwgJ1wwJ30KIH07 CiAKQEAgLTQwOSw2ICs0NTEsNyBAQCBzdGF0aWMgdm9pZCBoZWxwKHZvaWQpCiAgICAgICAgICAg ICIgIC1kLCAtLWRvbWFpbj1ET01JRCAgIHRhcmdldCBkb21haW4sIHRoZSBkZWZhdWx0IGlzIFhl biBpdHNlbGZcbiIKICAgICAgICAgICAgIiAgLWgsIC0taGVscCAgICAgICAgICAgcHJpbnQgdGhp cyBwYWdlXG4iCiAgICAgICAgICAgICIgIC1wLCAtLXBhZ2U9QUREUiAgICAgIHBoeXNpY2FsIGFk ZHJlc3MgdG8gcmVwb3J0XG4iCisgICAgICAgICAgICIgIC1sLCAtLWxtY2UgICAgICAgICAgIGlu amVjdCBhcyBMTUNFIChJbnRlbCBvbmx5KVxuIgogICAgICAgICAgICAiICAtdCwgLS10eXBlPUVS Uk9SICAgICBlcnJvciB0eXBlXG4iKTsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgTUNFX1RBQkxF X1NJWkU7IGkrKyApCkBAIC00MzgsNyArNDgxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKICAgICB9CiAKICAgICB3aGlsZSAoIDEgKSB7Ci0gICAgICAgIGMgPSBnZXRvcHRf bG9uZyhhcmdjLCBhcmd2LCAiYzpEZDp0OmhwOiIsIG9wdHMsICZvcHRfaW5kZXgpOworICAgICAg ICBjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImM6RGQ6dDpocDpsIiwgb3B0cywgJm9wdF9p bmRleCk7CiAgICAgICAgIGlmICggYyA9PSAtMSApCiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgc3dpdGNoICggYyApIHsKQEAgLTQ2Myw2ICs1MDYsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqYXJndltdKQogICAgICAgICBjYXNlICd0JzoKICAgICAgICAgICAgIHR5cGUgPSBzdHJ0 b2wob3B0YXJnLCBOVUxMLCAwKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICds JzoKKyAgICAgICAgICAgIGxtY2UgPSAxOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh c2UgJ2gnOgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgaGVscCgpOwotLSAKMi4xMC4x CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==