From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v2 12/12] tools/xen-mceinj: add support of injecting LMCE Date: Fri, 17 Mar 2017 14:46:14 +0800 Message-ID: <20170317064614.23539-13-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 , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org SWYgb3B0aW9uICctbCcgb3IgJy0tbG1jZScgaXMgc3BlY2lmaWVkIGFuZCB0aGUgaG9zdCBzdXBw b3J0cyBMTUNFLAp4ZW4tbWNlaW5qIHdpbGwgaW5qZWN0IExNQ0UgdG8gQ1BVIHNwZWNpZmllZCBi eSAnLWMnIChvciBDUFUwIGlmICctYycKaXMgbm90IHByZXNlbnQpLgoKU2lnbmVkLW9mZi1ieTog SGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0tCkNjOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNp dHJpeC5jb20+CgpDaGFuZ2VzIGluIHYyOgogKiBTZXBhcmF0ZSB0aGUgeGVuLW1jZWluaiBjaGFu Z2VzIGZyb20gdjEgcGF0Y2ggMTkgdG8gdGhpcyBvbmUuCi0tLQogdG9vbHMvdGVzdHMvbWNlLXRl c3QvdG9vbHMveGVuLW1jZWluai5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS90b29scy90ZXN0cy9tY2UtdGVzdC90b29scy94ZW4tbWNlaW5qLmMgYi90b29s cy90ZXN0cy9tY2UtdGVzdC90b29scy94ZW4tbWNlaW5qLmMKaW5kZXggYmFlNWE0Ni4uMzgwZTQy MSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdHMvbWNlLXRlc3QvdG9vbHMveGVuLW1jZWluai5jCisr KyBiL3Rvb2xzL3Rlc3RzL21jZS10ZXN0L3Rvb2xzL3hlbi1tY2VpbmouYwpAQCAtNTYsNiArNTYs OCBAQAogI2RlZmluZSBNU1JfSUEzMl9NQzBfTUlTQyAgICAgICAgMHgwMDAwMDQwMwogI2RlZmlu ZSBNU1JfSUEzMl9NQzBfQ1RMMiAgICAgICAgMHgwMDAwMDI4MAogCisjZGVmaW5lIE1DR19TVEFU VVNfTE1DRSAgICAgICAgICAweDgKKwogc3RydWN0IG1jZV9pbmZvIHsKICAgICBjb25zdCBjaGFy ICpkZXNjcmlwdGlvbjsKICAgICB1aW50OF90IG1jZ19zdGF0OwpAQCAtMTEzLDYgKzExNSw3IEBA IHN0YXRpYyBzdHJ1Y3QgbWNlX2luZm8gbWNlX3RhYmxlW10gPSB7CiAjZGVmaW5lIExPR0ZJTEUg c3Rkb3V0CiAKIGludCBkdW1wOworaW50IGxtY2U7CiBzdHJ1Y3QgeGVuX21jX21zcmluamVjdCBt c3JfaW5qOwogCiBzdGF0aWMgdm9pZCBMcHJpbnRmKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQpAQCAt MjEyLDYgKzIxNSwzNSBAQCBzdGF0aWMgaW50IGluamVjdF9tY2UoeGNfaW50ZXJmYWNlICp4Y19o YW5kbGUsIGludCBjcHVfbnIpCiAgICAgcmV0dXJuIHhjX21jYV9vcCh4Y19oYW5kbGUsICZtYyk7 CiB9CiAKK3N0YXRpYyBpbnQgaW5qZWN0X2xtY2UoeGNfaW50ZXJmYWNlICp4Y19oYW5kbGUsIHVu c2lnbmVkIGludCBjcHUpCit7CisgICAgdWludDhfdCAqY3B1bWFwID0gTlVMTDsKKyAgICBzaXpl X3QgY3B1bWFwX3NpemUsIGxpbmUsIHNoaWZ0OworICAgIHVuc2lnbmVkIGludCBucl9jcHVzOwor ICAgIGludCByZXQ7CisKKyAgICBucl9jcHVzID0gbWNhX2NwdWluZm8oeGNfaGFuZGxlKTsKKyAg ICBpZiAoICFucl9jcHVzICkKKyAgICAgICAgZXJyKHhjX2hhbmRsZSwgIkZhaWxlZCB0byBnZXQg bWNhX2NwdWluZm8iKTsKKyAgICBpZiAoIGNwdSA+PSBucl9jcHVzICkKKyAgICAgICAgZXJyKHhj X2hhbmRsZSwgIi1jICV1IGlzIGxhcmdlciB0aGFuICV1IiwgY3B1LCBucl9jcHVzIC0gMSk7CisK KyAgICBjcHVtYXBfc2l6ZSA9IChucl9jcHVzICsgNykgLyA4OworICAgIGNwdW1hcCA9IG1hbGxv YyhjcHVtYXBfc2l6ZSk7CisgICAgaWYgKCAhY3B1bWFwICkKKyAgICAgICAgZXJyKHhjX2hhbmRs ZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSBjcHVtYXBcbiIpOworICAgIG1lbXNldChjcHVtYXAsIDAs IGNwdW1hcF9zaXplKTsKKyAgICBsaW5lID0gY3B1IC8gODsKKyAgICBzaGlmdCA9IGNwdSAlIDg7 CisgICAgbWVtc2V0KGNwdW1hcCArIGxpbmUsIDEgPDwgc2hpZnQsIDEpOworCisgICAgcmV0ID0g eGNfbWNhX29wX2luamVjdF92Mih4Y19oYW5kbGUsIFhFTl9NQ19JTkpFQ1RfVFlQRV9MTUNFLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1bWFwLCBjcHVtYXBfc2l6ZSAqIDgpOwor CisgICAgZnJlZShjcHVtYXApOworICAgIHJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB1aW50NjRf dCBiYW5rX2FkZHIoaW50IGJhbmssIGludCB0eXBlKQogewogICAgIHVpbnQ2NF90IGFkZHI7CkBA IC0zMzAsOCArMzYyLDE1IEBAIHN0YXRpYyBpbnQgaW5qZWN0KHhjX2ludGVyZmFjZSAqeGNfaGFu ZGxlLCBzdHJ1Y3QgbWNlX2luZm8gKm1jZSwKICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGNw dV9uciwgdWludDMyX3QgZG9tYWluLCB1aW50NjRfdCBnYWRkcikKIHsKICAgICBpbnQgcmV0ID0g MDsKKyAgICB1aW50OF90IG1jZ19zdGF0dXMgPSBtY2UtPm1jZ19zdGF0OwogCi0gICAgcmV0ID0g aW5qZWN0X21jZ19zdGF0dXMoeGNfaGFuZGxlLCBjcHVfbnIsIG1jZS0+bWNnX3N0YXQsIGRvbWFp bik7CisgICAgaWYgKCBsbWNlICkKKyAgICB7CisgICAgICAgIGlmICggbWNlLT5jbWNpICkKKyAg ICAgICAgICAgIGVycih4Y19oYW5kbGUsICJObyBzdXBwb3J0IHRvIGluamVjdCBDTUNJIGFzIExN Q0UiKTsKKyAgICAgICAgbWNnX3N0YXR1cyB8PSBNQ0dfU1RBVFVTX0xNQ0U7CisgICAgfQorICAg IHJldCA9IGluamVjdF9tY2dfc3RhdHVzKHhjX2hhbmRsZSwgY3B1X25yLCBtY2dfc3RhdHVzLCBk b21haW4pOwogICAgIGlmICggcmV0ICkKICAgICAgICAgZXJyKHhjX2hhbmRsZSwgIkZhaWxlZCB0 byBpbmplY3QgTUNHX1NUQVRVUyBNU1IiKTsKIApAQCAtMzU0LDYgKzM5Myw4IEBAIHN0YXRpYyBp bnQgaW5qZWN0KHhjX2ludGVyZmFjZSAqeGNfaGFuZGxlLCBzdHJ1Y3QgbWNlX2luZm8gKm1jZSwK ICAgICAgICAgZXJyKHhjX2hhbmRsZSwgIkZhaWxlZCB0byBpbmplY3QgTVNSIik7CiAgICAgaWYg KCBtY2UtPmNtY2kgKQogICAgICAgICByZXQgPSBpbmplY3RfY21jaSh4Y19oYW5kbGUsIGNwdV9u cik7CisgICAgZWxzZSBpZiAoIGxtY2UgKQorICAgICAgICByZXQgPSBpbmplY3RfbG1jZSh4Y19o YW5kbGUsIGNwdV9ucik7CiAgICAgZWxzZQogICAgICAgICByZXQgPSBpbmplY3RfbWNlKHhjX2hh bmRsZSwgY3B1X25yKTsKICAgICBpZiAoIHJldCApCkBAIC0zOTMsNiArNDM0LDcgQEAgc3RhdGlj IHN0cnVjdCBvcHRpb24gb3B0c1tdID0gewogICAgIHsiZHVtcCIsIDAsIDAsICdEJ30sCiAgICAg eyJoZWxwIiwgMCwgMCwgJ2gnfSwKICAgICB7InBhZ2UiLCAwLCAwLCAncCd9LAorICAgIHsibG1j ZSIsIDAsIDAsICdsJ30sCiAgICAgeyIiLCAwLCAwLCAnXDAnfQogfTsKIApAQCAtNDA5LDYgKzQ1 MSw3IEBAIHN0YXRpYyB2b2lkIGhlbHAodm9pZCkKICAgICAgICAgICAgIiAgLWQsIC0tZG9tYWlu PURPTUlEICAgdGFyZ2V0IGRvbWFpbiwgdGhlIGRlZmF1bHQgaXMgWGVuIGl0c2VsZlxuIgogICAg ICAgICAgICAiICAtaCwgLS1oZWxwICAgICAgICAgICBwcmludCB0aGlzIHBhZ2VcbiIKICAgICAg ICAgICAgIiAgLXAsIC0tcGFnZT1BRERSICAgICAgcGh5c2ljYWwgYWRkcmVzcyB0byByZXBvcnRc biIKKyAgICAgICAgICAgIiAgLWwsIC0tbG1jZSAgICAgICAgICAgaW5qZWN0IGFzIExNQ0UgKElu dGVsIG9ubHkpXG4iCiAgICAgICAgICAgICIgIC10LCAtLXR5cGU9RVJST1IgICAgIGVycm9yIHR5 cGVcbiIpOwogCiAgICAgZm9yICggaSA9IDA7IGkgPCBNQ0VfVEFCTEVfU0laRTsgaSsrICkKQEAg LTQzOCw3ICs0ODEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIH0K IAogICAgIHdoaWxlICggMSApIHsKLSAgICAgICAgYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3Ys ICJjOkRkOnQ6aHA6Iiwgb3B0cywgJm9wdF9pbmRleCk7CisgICAgICAgIGMgPSBnZXRvcHRfbG9u ZyhhcmdjLCBhcmd2LCAiYzpEZDp0OmhwOmwiLCBvcHRzLCAmb3B0X2luZGV4KTsKICAgICAgICAg aWYgKCBjID09IC0xICkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzd2l0Y2ggKCBjICkg ewpAQCAtNDYzLDYgKzUwNiw5IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAg ICAgICAgIGNhc2UgJ3QnOgogICAgICAgICAgICAgdHlwZSA9IHN0cnRvbChvcHRhcmcsIE5VTEws IDApOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ2wnOgorICAgICAgICAgICAg bG1jZSA9IDE7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAnaCc6CiAgICAgICAg IGRlZmF1bHQ6CiAgICAgICAgICAgICBoZWxwKCk7Ci0tIAoyLjEwLjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK