From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v3 5/9] x86/vmce: enable injecting LMCE to guest on Intel host Date: Thu, 30 Mar 2017 14:19:59 +0800 Message-ID: <20170330062003.9119-6-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 , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org SW5qZWN0IExNQ0UgdG8gZ3Vlc3QgaWYgdGhlIGhvc3QgTUNFIGlzIExNQ0UgYW5kIHRoZSBhZmZl Y3RlZCB2Y3B1IGlzCmtub3duLiBPdGhlcndpc2UsIGJyb2FkY2FzdCBNQ0UgdG8gYWxsIHZjcHVz IG9uIEludGVsIGhvc3QuCgpTaWduZWQtb2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcu emhhbmdAaW50ZWwuY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K Q2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgpDaGFuZ2VzIGlu IHYzOgogKiBBZGp1c3QgYSBjaGVjayBpbiBtY19tZW1lcnJfZGhhbmRsZXIoKSBhbmQgYWRkIGNv ZGUgY29tbWVudCBmb3IgaXQuCi0tLQogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNhY3Rpb24u YyB8IDIzICsrKysrKysrKysrKysrKystLS0tLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay92 bWNlLmMgICAgIHwgMTEgKysrKysrKysrKy0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2Uu aCAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA5IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMg Yi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jCmluZGV4IGNhMTdkMjIuLjI1NTZi YjAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMKKysrIGIv eGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNhY3Rpb24uYwpAQCAtNDQsNiArNDQsNyBAQCBtY19t ZW1lcnJfZGhhbmRsZXIoc3RydWN0IG1jYV9iaW5mbyAqYmluZm8sCiAgICAgdW5zaWduZWQgbG9u ZyBtZm4sIGdmbjsKICAgICB1aW50MzJfdCBzdGF0dXM7CiAgICAgaW50IHZtY2VfdmNwdWlkOwor ICAgIHVpbnQxNl90IG1jX3ZjcHVpZDsKIAogICAgIGlmICghbWNfY2hlY2tfYWRkcihiYW5rLT5t Y19zdGF0dXMsIGJhbmstPm1jX21pc2MsIE1DX0FERFJfUEhZU0lDQUwpKSB7CiAgICAgICAgIGRw cmludGsoWEVOTE9HX1dBUk5JTkcsCkBAIC04OCwxOCArODksMjYgQEAgbWNfbWVtZXJyX2RoYW5k bGVyKHN0cnVjdCBtY2FfYmluZm8gKmJpbmZvLAogICAgICAgICAgICAgICAgICAgICBnb3RvIHZt Y2VfZmFpbGVkOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmIChib290 X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCB8fAotICAgICAgICAgICAg ICAgICAgICBnbG9iYWwtPm1jX3ZjcHVpZCA9PSBYRU5fTUNfVkNQVUlEX0lOVkFMSUQpCisgICAg ICAgICAgICAgICAgbWNfdmNwdWlkID0gZ2xvYmFsLT5tY192Y3B1aWQ7CisgICAgICAgICAgICAg ICAgaWYgKG1jX3ZjcHVpZCA9PSBYRU5fTUNfVkNQVUlEX0lOVkFMSUQgfHwKKyAgICAgICAgICAg ICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgICAgICogQmVjYXVzZSBNQyMgbWF5IGhhcHBl biBhc3luY2hyb25vdXNseSB3aXRoIHRoZSBhY3R1YWwKKyAgICAgICAgICAgICAgICAgICAgICog b3BlcmF0aW9uIHRoYXQgdHJpZ2dlcnMgdGhlIGVycm9yLCB0aGUgZG9tYWluIElEIGFzCisgICAg ICAgICAgICAgICAgICAgICAqIHdlbGwgYXMgdGhlIHZDUFUgSUQgY29sbGVjdGVkIGluICdnbG9i YWwnIGF0IE1DIyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICogbm90IGFsd2F5cyBwcmVjaXNl LiBJbiB0aGF0IGNhc2UsIGZhbGxiYWNrIHRvIGJyb2FkY2FzdC4KKyAgICAgICAgICAgICAgICAg ICAgICovCisgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+bWNfZG9taWQgIT0gYmFuay0+bWNf ZG9taWQgfHwKKyAgICAgICAgICAgICAgICAgICAgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9 PSBYODZfVkVORE9SX0lOVEVMICYmCisgICAgICAgICAgICAgICAgICAgICAoIShnbG9iYWwtPm1j X2dzdGF0dXMgJiBNQ0dfU1RBVFVTX0xNQ0UpIHx8CisgICAgICAgICAgICAgICAgICAgICAgIShk LT52Y3B1W21jX3ZjcHVpZF0tPmFyY2gudm1jZS5tY2dfZXh0X2N0bCAmCisgICAgICAgICAgICAg ICAgICAgICAgICBNQ0dfRVhUX0NUTF9MTUNFX0VOKSkpKQogICAgICAgICAgICAgICAgICAgICB2 bWNlX3ZjcHVpZCA9IFZNQ0VfSU5KRUNUX0JST0FEQ0FTVDsKICAgICAgICAgICAgICAgICBlbHNl Ci0gICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID0gZ2xvYmFsLT5tY192Y3B1aWQ7Cisg ICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID0gbWNfdmNwdWlkOwogCiAgICAgICAgICAg ICAgICAgYmFuay0+bWNfYWRkciA9IGdmbiA8PCBQQUdFX1NISUZUIHwKICAgICAgICAgICAgICAg ICAgIChiYW5rLT5tY19hZGRyICYgKFBBR0VfU0laRSAtMSApKTsKLSAgICAgICAgICAgICAgICAv KiBUT0RPOiBzdXBwb3J0IGluamVjdGluZyBMTUNFICovCi0gICAgICAgICAgICAgICAgaWYgKGZp bGxfdm1zcl9kYXRhKGJhbmssIGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdsb2JhbC0+bWNfZ3N0YXR1cyAmIH5NQ0dfU1RBVFVTX0xNQ0UsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID09IFZNQ0VfSU5KRUNUX0JST0FEQ0FTVCkp CisgICAgICAgICAgICAgICAgaWYgKGZpbGxfdm1zcl9kYXRhKGJhbmssIGQsIGdsb2JhbC0+bWNf Z3N0YXR1cywgdm1jZV92Y3B1aWQpKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgbWNlX3ByaW50ayhNQ0VfUVVJRVQsICJGaWxsIHZNQ0UjIGRhdGEgZm9yIERPTSVkICIK ICAgICAgICAgICAgICAgICAgICAgICAiZmFpbGVkXG4iLCBiYW5rLT5tY19kb21pZCk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMgYi94ZW4vYXJjaC94ODYvY3B1 L21jaGVjay92bWNlLmMKaW5kZXggMjEwNjcwNi4uZTE5YmU2OSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2NwdS9tY2hlY2svdm1jZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3Zt Y2UuYwpAQCAtNDY0LDE0ICs0NjQsMjMgQEAgc3RhdGljIGludCB2Y3B1X2ZpbGxfbWNfbXNycyhz dHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgbWNnX3N0YXR1cywKIH0KIAogaW50IGZpbGxfdm1zcl9k YXRhKHN0cnVjdCBtY2luZm9fYmFuayAqbWNfYmFuaywgc3RydWN0IGRvbWFpbiAqZCwKLSAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCBnc3RhdHVzLCBib29sIGJyb2FkY2FzdCkKKyAgICAgICAg ICAgICAgICAgICB1aW50NjRfdCBnc3RhdHVzLCBpbnQgdm1jZV92Y3B1aWQpCiB7CiAgICAgc3Ry dWN0IHZjcHUgKnYgPSBkLT52Y3B1WzBdOworICAgIGJvb2wgYnJvYWRjYXN0ID0gKHZtY2VfdmNw dWlkID09IFZNQ0VfSU5KRUNUX0JST0FEQ0FTVCk7CiAgICAgaW50IHJldCwgZXJyOwogCiAgICAg aWYgKCBtY19iYW5rLT5tY19kb21pZCA9PSBET01JRF9JTlZBTElEICkKICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CiAKKyAgICBpZiAoIGJyb2FkY2FzdCApCisgICAgICAgIGdzdGF0dXMgJj0gfk1D R19TVEFUVVNfTE1DRTsKKyAgICBlbHNlIGlmICggZ3N0YXR1cyAmIE1DR19TVEFUVVNfTE1DRSAp CisgICAgeworICAgICAgICBBU1NFUlQodm1jZV92Y3B1aWQgPj0wICYmIHZtY2VfdmNwdWlkIDwg ZC0+bWF4X3ZjcHVzKTsKKyAgICAgICAgdiA9IGQtPnZjcHVbdm1jZV92Y3B1aWRdOworICAgIH0K KwogICAgIC8qCiAgICAgICogdk1DRSB3aXRoIHRoZSBhY3R1YWwgZXJyb3IgaW5mb3JtYXRpb24g aXMgaW5qZWN0ZWQgdG8gdkNQVTAsCiAgICAgICogYW5kLCBpZiBicm9hZGNhc3QgaXMgcmVxdWly ZWQsIHdlIGNob29zZSB0byBpbmplY3QgbGVzcyBzZXZlcmUKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9jcHUvbWNoZWNrL3ZtY2UuaCBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuaApp bmRleCA3NGY2MzgxLi4yNzk3ZTAwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVj ay92bWNlLmgKKysrIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5oCkBAIC0xNyw3ICsx Nyw3IEBAIGludCB2bWNlX2FtZF9yZG1zcihjb25zdCBzdHJ1Y3QgdmNwdSAqLCB1aW50MzJfdCBt c3IsIHVpbnQ2NF90ICp2YWwpOwogaW50IHZtY2VfYW1kX3dybXNyKHN0cnVjdCB2Y3B1ICosIHVp bnQzMl90IG1zciwgdWludDY0X3QgdmFsKTsKIAogaW50IGZpbGxfdm1zcl9kYXRhKHN0cnVjdCBt Y2luZm9fYmFuayAqbWNfYmFuaywgc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBnc3RhdHVzLCBib29sIGJyb2FkY2FzdCk7CisgICAgICAgICAgICAgICAgICAg dWludDY0X3QgZ3N0YXR1cywgaW50IHZtY2VfdmNwdWlkKTsKIAogI2RlZmluZSBWTUNFX0lOSkVD VF9CUk9BRENBU1QgKC0xKQogaW50IGluamVjdF92bWNlKHN0cnVjdCBkb21haW4gKmQsIGludCB2 Y3B1KTsKLS0gCjIuMTAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=