From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v4 11/11] tools/xen-mceinj: add support of injecting LMCE Date: Mon, 26 Jun 2017 17:16:25 +0800 Message-ID: <20170626091625.19655-12-haozhong.zhang@intel.com> References: <20170626091625.19655-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: <20170626091625.19655-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 IGJhZTVhNDZlYjUuLjM4MGU0MjE5MGMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3RzL21jZS10ZXN0 L3Rvb2xzL3hlbi1tY2VpbmouYworKysgYi90b29scy90ZXN0cy9tY2UtdGVzdC90b29scy94ZW4t bWNlaW5qLmMKQEAgLTU2LDYgKzU2LDggQEAKICNkZWZpbmUgTVNSX0lBMzJfTUMwX01JU0MgICAg ICAgIDB4MDAwMDA0MDMKICNkZWZpbmUgTVNSX0lBMzJfTUMwX0NUTDIgICAgICAgIDB4MDAwMDAy ODAKIAorI2RlZmluZSBNQ0dfU1RBVFVTX0xNQ0UgICAgICAgICAgMHg4CisKIHN0cnVjdCBtY2Vf aW5mbyB7CiAgICAgY29uc3QgY2hhciAqZGVzY3JpcHRpb247CiAgICAgdWludDhfdCBtY2dfc3Rh dDsKQEAgLTExMyw2ICsxMTUsNyBAQCBzdGF0aWMgc3RydWN0IG1jZV9pbmZvIG1jZV90YWJsZVtd ID0gewogI2RlZmluZSBMT0dGSUxFIHN0ZG91dAogCiBpbnQgZHVtcDsKK2ludCBsbWNlOwogc3Ry dWN0IHhlbl9tY19tc3JpbmplY3QgbXNyX2luajsKIAogc3RhdGljIHZvaWQgTHByaW50Zihjb25z dCBjaGFyICpmbXQsIC4uLikKQEAgLTIxMiw2ICsyMTUsMzUgQEAgc3RhdGljIGludCBpbmplY3Rf bWNlKHhjX2ludGVyZmFjZSAqeGNfaGFuZGxlLCBpbnQgY3B1X25yKQogICAgIHJldHVybiB4Y19t Y2Ffb3AoeGNfaGFuZGxlLCAmbWMpOwogfQogCitzdGF0aWMgaW50IGluamVjdF9sbWNlKHhjX2lu dGVyZmFjZSAqeGNfaGFuZGxlLCB1bnNpZ25lZCBpbnQgY3B1KQoreworICAgIHVpbnQ4X3QgKmNw dW1hcCA9IE5VTEw7CisgICAgc2l6ZV90IGNwdW1hcF9zaXplLCBsaW5lLCBzaGlmdDsKKyAgICB1 bnNpZ25lZCBpbnQgbnJfY3B1czsKKyAgICBpbnQgcmV0OworCisgICAgbnJfY3B1cyA9IG1jYV9j cHVpbmZvKHhjX2hhbmRsZSk7CisgICAgaWYgKCAhbnJfY3B1cyApCisgICAgICAgIGVycih4Y19o YW5kbGUsICJGYWlsZWQgdG8gZ2V0IG1jYV9jcHVpbmZvIik7CisgICAgaWYgKCBjcHUgPj0gbnJf Y3B1cyApCisgICAgICAgIGVycih4Y19oYW5kbGUsICItYyAldSBpcyBsYXJnZXIgdGhhbiAldSIs IGNwdSwgbnJfY3B1cyAtIDEpOworCisgICAgY3B1bWFwX3NpemUgPSAobnJfY3B1cyArIDcpIC8g ODsKKyAgICBjcHVtYXAgPSBtYWxsb2MoY3B1bWFwX3NpemUpOworICAgIGlmICggIWNwdW1hcCAp CisgICAgICAgIGVycih4Y19oYW5kbGUsICJGYWlsZWQgdG8gYWxsb2NhdGUgY3B1bWFwXG4iKTsK KyAgICBtZW1zZXQoY3B1bWFwLCAwLCBjcHVtYXBfc2l6ZSk7CisgICAgbGluZSA9IGNwdSAvIDg7 CisgICAgc2hpZnQgPSBjcHUgJSA4OworICAgIG1lbXNldChjcHVtYXAgKyBsaW5lLCAxIDw8IHNo aWZ0LCAxKTsKKworICAgIHJldCA9IHhjX21jYV9vcF9pbmplY3RfdjIoeGNfaGFuZGxlLCBYRU5f TUNfSU5KRUNUX1RZUEVfTE1DRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdW1h cCwgY3B1bWFwX3NpemUgKiA4KTsKKworICAgIGZyZWUoY3B1bWFwKTsKKyAgICByZXR1cm4gcmV0 OworfQorCiBzdGF0aWMgdWludDY0X3QgYmFua19hZGRyKGludCBiYW5rLCBpbnQgdHlwZSkKIHsK ICAgICB1aW50NjRfdCBhZGRyOwpAQCAtMzMwLDggKzM2MiwxNSBAQCBzdGF0aWMgaW50IGluamVj dCh4Y19pbnRlcmZhY2UgKnhjX2hhbmRsZSwgc3RydWN0IG1jZV9pbmZvICptY2UsCiAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBjcHVfbnIsIHVpbnQzMl90IGRvbWFpbiwgdWludDY0X3QgZ2Fk ZHIpCiB7CiAgICAgaW50IHJldCA9IDA7CisgICAgdWludDhfdCBtY2dfc3RhdHVzID0gbWNlLT5t Y2dfc3RhdDsKIAotICAgIHJldCA9IGluamVjdF9tY2dfc3RhdHVzKHhjX2hhbmRsZSwgY3B1X25y LCBtY2UtPm1jZ19zdGF0LCBkb21haW4pOworICAgIGlmICggbG1jZSApCisgICAgeworICAgICAg ICBpZiAoIG1jZS0+Y21jaSApCisgICAgICAgICAgICBlcnIoeGNfaGFuZGxlLCAiTm8gc3VwcG9y dCB0byBpbmplY3QgQ01DSSBhcyBMTUNFIik7CisgICAgICAgIG1jZ19zdGF0dXMgfD0gTUNHX1NU QVRVU19MTUNFOworICAgIH0KKyAgICByZXQgPSBpbmplY3RfbWNnX3N0YXR1cyh4Y19oYW5kbGUs IGNwdV9uciwgbWNnX3N0YXR1cywgZG9tYWluKTsKICAgICBpZiAoIHJldCApCiAgICAgICAgIGVy cih4Y19oYW5kbGUsICJGYWlsZWQgdG8gaW5qZWN0IE1DR19TVEFUVVMgTVNSIik7CiAKQEAgLTM1 NCw2ICszOTMsOCBAQCBzdGF0aWMgaW50IGluamVjdCh4Y19pbnRlcmZhY2UgKnhjX2hhbmRsZSwg c3RydWN0IG1jZV9pbmZvICptY2UsCiAgICAgICAgIGVycih4Y19oYW5kbGUsICJGYWlsZWQgdG8g aW5qZWN0IE1TUiIpOwogICAgIGlmICggbWNlLT5jbWNpICkKICAgICAgICAgcmV0ID0gaW5qZWN0 X2NtY2koeGNfaGFuZGxlLCBjcHVfbnIpOworICAgIGVsc2UgaWYgKCBsbWNlICkKKyAgICAgICAg cmV0ID0gaW5qZWN0X2xtY2UoeGNfaGFuZGxlLCBjcHVfbnIpOwogICAgIGVsc2UKICAgICAgICAg cmV0ID0gaW5qZWN0X21jZSh4Y19oYW5kbGUsIGNwdV9ucik7CiAgICAgaWYgKCByZXQgKQpAQCAt MzkzLDYgKzQzNCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIG9wdHNbXSA9IHsKICAgICB7ImR1 bXAiLCAwLCAwLCAnRCd9LAogICAgIHsiaGVscCIsIDAsIDAsICdoJ30sCiAgICAgeyJwYWdlIiwg MCwgMCwgJ3AnfSwKKyAgICB7ImxtY2UiLCAwLCAwLCAnbCd9LAogICAgIHsiIiwgMCwgMCwgJ1ww J30KIH07CiAKQEAgLTQwOSw2ICs0NTEsNyBAQCBzdGF0aWMgdm9pZCBoZWxwKHZvaWQpCiAgICAg ICAgICAgICIgIC1kLCAtLWRvbWFpbj1ET01JRCAgIHRhcmdldCBkb21haW4sIHRoZSBkZWZhdWx0 IGlzIFhlbiBpdHNlbGZcbiIKICAgICAgICAgICAgIiAgLWgsIC0taGVscCAgICAgICAgICAgcHJp bnQgdGhpcyBwYWdlXG4iCiAgICAgICAgICAgICIgIC1wLCAtLXBhZ2U9QUREUiAgICAgIHBoeXNp Y2FsIGFkZHJlc3MgdG8gcmVwb3J0XG4iCisgICAgICAgICAgICIgIC1sLCAtLWxtY2UgICAgICAg ICAgIGluamVjdCBhcyBMTUNFIChJbnRlbCBvbmx5KVxuIgogICAgICAgICAgICAiICAtdCwgLS10 eXBlPUVSUk9SICAgICBlcnJvciB0eXBlXG4iKTsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwgTUNF X1RBQkxFX1NJWkU7IGkrKyApCkBAIC00MzgsNyArNDgxLDcgQEAgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKICAgICB9CiAKICAgICB3aGlsZSAoIDEgKSB7Ci0gICAgICAgIGMgPSBn ZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYzpEZDp0OmhwOiIsIG9wdHMsICZvcHRfaW5kZXgpOwor ICAgICAgICBjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImM6RGQ6dDpocDpsIiwgb3B0cywg Jm9wdF9pbmRleCk7CiAgICAgICAgIGlmICggYyA9PSAtMSApCiAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgc3dpdGNoICggYyApIHsKQEAgLTQ2Myw2ICs1MDYsOSBAQCBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQogICAgICAgICBjYXNlICd0JzoKICAgICAgICAgICAgIHR5cGUg PSBzdHJ0b2wob3B0YXJnLCBOVUxMLCAwKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj YXNlICdsJzoKKyAgICAgICAgICAgIGxtY2UgPSAxOworICAgICAgICAgICAgYnJlYWs7CiAgICAg ICAgIGNhc2UgJ2gnOgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgaGVscCgpOwotLSAK Mi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==