From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH 4/7] x86/vmce: fill MSR_IA32_MCG_STATUS on all vcpus in broadcast case Date: Fri, 24 Feb 2017 18:52:53 +0800 Message-ID: <20170224105256.24668-5-haozhong.zhang@intel.com> References: <20170224105256.24668-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: <20170224105256.24668-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 , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb25seSBmaWxscyBNQyBNU1JzIG9uIHZjcHUwIGFu ZCBsZWF2ZXMgTUMKTVNScyBvbiBvdGhlciB2Y3B1cyBlbXB0eSBpbiB0aGUgYnJvYWRjYXN0IGNh c2UuIFdoZW4gZ3Vlc3QgcmVhZHMgMApmcm9tIE1TUl9JQTMyX01DR19TVEFUVVMgb24gdmNwdU4g KE4gPiAwKSwgaXQgbWF5IHRoaW5rIGl0J3Mgbm90CnBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIGV4 ZWN1dGlvbiBvbiB0aGF0IHZjcHUgYW5kIHRoZW4gZ2V0IHBhbmljLAphbHRob3VnaCBNU1JfSUEz Ml9NQ0dfU1RBVFVTIGZpbGxlZCBvbiB2Y3B1MCBtYXkgaW1wbHkgdGhlIGluamVjdGVkCnZNQ0Ug aXMgYWN0dWFsbHkgcmVjb3ZlcmFibGUuIFRvIGF2b2lkIHN1Y2ggdW5uZWNlc3NhcnkgZ3Vlc3Qg cGFuaWMsCnNldCBNU1JfSUEzMl9NQ0dfU1RBVFVTIG9uIHZjcHVOIChOID4gMCkgdG8gTUNHX1NU QVRVU19NQ0lQfE1DR19TVEFUVVNfUklQVi4KCkluIGFkZGl0aW9uLCBmaWxsX3Ztc3JfZGF0YSht Y19iYW5rLCAuLi4pIGlzIGNoYW5nZWQgdG8gcmV0dXJuIC1FSU5WQUwKcmF0aGVyIHRoYW4gMCwg aWYgYW4gaW52YWxpZCBkb21haW4gSUQgaXMgY29udGFpbmVkIGluIG1jX2JhbmsuCgpTaWduZWQt b2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhhbmdAaW50ZWwuY29tPgotLS0KQ2M6 IENocmlzdG9waCBFZ2dlciA8Y2hlZ2dlckBhbWF6b24uZGU+CkNjOiBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPgoKQ2hhbmdlczoKICogRml4IHRoZSByZXR1cm4gdmFsdWUgY2hlY2sgb2YgZmlsbF92bXNy X2RhdGEoKSBpbiBtY19tZW1lcnJfZGhhbmRsZXIoKS4KICogSW5jbHVkZSB0aGUgYmVoYXZpb3Ig Y2hhbmdlIGluIHRoZSBjb21taXQgbWVzc2FnZS4KICogQ29tcGFyZSBieSB2Y3B1IGlkIHJhdGhl ciB0aGFuIHZjcHUgc3RydWN0dXJlIGluIGZpbGxfdm1zcl9kYXRhKCkKICogRXhscGFpbiB2TUNF cyBpbmplY3RlZCB0byBlYWNoIHZDUFUgaW4gdGhlIGNvZGUgY29tbWVudC4KICogVXBkYXRlIE1D IE1TUnMgZm9yICphbGwqIHZDUFVzIGFuZCByZXR1cm4gdGhlIGxhc3QgZXJyb3IgKGlmIGFueSku CiAqIFJlbW92ZSAiZ290byIgaW4gZmlsbF92bXNyX2RhdGEoKS4KLS0tCiB4ZW4vYXJjaC94ODYv Y3B1L21jaGVjay9tY2FjdGlvbi5jIHwgMTYgKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21j aGVjay92bWNlLmMgICAgIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuaCAgICAgfCAgMiArLQogMyBmaWxlcyBj aGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svbWNhY3Rpb24uYwppbmRleCAzMjA1NmYyLi5kYWI5ZWFjIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNr L21jYWN0aW9uLmMKQEAgLTg4LDIyICs4OCwyMiBAQCBtY19tZW1lcnJfZGhhbmRsZXIoc3RydWN0 IG1jYV9iaW5mbyAqYmluZm8sCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gdm1jZV9mYWlsZWQ7 CiAgICAgICAgICAgICAgICAgfQogCisgICAgICAgICAgICAgICAgaWYgKGJvb3RfY3B1X2RhdGEu eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMIHx8CisgICAgICAgICAgICAgICAgICAgIGds b2JhbC0+bWNfdmNwdWlkID09IFhFTl9NQ19WQ1BVSURfSU5WQUxJRCkKKyAgICAgICAgICAgICAg ICAgICAgdm1jZV92Y3B1aWQgPSBWTUNFX0lOSkVDVF9CUk9BRENBU1Q7CisgICAgICAgICAgICAg ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB2bWNlX3ZjcHVpZCA9IGdsb2JhbC0+bWNfdmNw dWlkOworCiAgICAgICAgICAgICAgICAgYmFuay0+bWNfYWRkciA9IGdmbiA8PCBQQUdFX1NISUZU IHwKICAgICAgICAgICAgICAgICAgIChiYW5rLT5tY19hZGRyICYgKFBBR0VfU0laRSAtMSApKTsK LSAgICAgICAgICAgICAgICBpZiAoIGZpbGxfdm1zcl9kYXRhKGJhbmssIGQsCi0gICAgICAgICAg ICAgICAgICAgICAgZ2xvYmFsLT5tY19nc3RhdHVzKSA9PSAtMSApCisgICAgICAgICAgICAgICAg aWYgKGZpbGxfdm1zcl9kYXRhKGJhbmssIGQsIGdsb2JhbC0+bWNfZ3N0YXR1cywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm1jZV92Y3B1aWQgPT0gVk1DRV9JTkpFQ1RfQlJP QURDQVNUKSkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIG1jZV9wcmlu dGsoTUNFX1FVSUVULCAiRmlsbCB2TUNFIyBkYXRhIGZvciBET00lZCAiCiAgICAgICAgICAgICAg ICAgICAgICAgImZhaWxlZFxuIiwgYmFuay0+bWNfZG9taWQpOwogICAgICAgICAgICAgICAgICAg ICBnb3RvIHZtY2VfZmFpbGVkOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAg IGlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCB8fAotICAg ICAgICAgICAgICAgICAgICBnbG9iYWwtPm1jX3ZjcHVpZCA9PSBYRU5fTUNfVkNQVUlEX0lOVkFM SUQpCi0gICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID0gVk1DRV9JTkpFQ1RfQlJPQURD QVNUOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdm1jZV92Y3B1 aWQgPSBnbG9iYWwtPm1jX3ZjcHVpZDsKLQogICAgICAgICAgICAgICAgIC8qIFdlIHdpbGwgaW5q ZWN0IHZNQ0UgdG8gRE9NVSovCiAgICAgICAgICAgICAgICAgaWYgKCBpbmplY3Rfdm1jZShkLCB2 bWNlX3ZjcHVpZCkgPCAwICkKICAgICAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvY3B1L21jaGVjay92bWNlLmMgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMK aW5kZXggMTNiNjkyYy4uMmNhY2NhZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svdm1jZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYwpAQCAtMzgxLDM4 ICszODEsNjYgQEAgaW50IGluamVjdF92bWNlKHN0cnVjdCBkb21haW4gKmQsIGludCB2Y3B1KQog ICAgIHJldHVybiByZXQ7CiB9CiAKLWludCBmaWxsX3Ztc3JfZGF0YShzdHJ1Y3QgbWNpbmZvX2Jh bmsgKm1jX2JhbmssIHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgdWludDY0 X3QgZ3N0YXR1cykKK3N0YXRpYyBpbnQgdmNwdV9maWxsX21jX21zcnMoc3RydWN0IHZjcHUgKnYs IHVpbnQ2NF90IG1jZ19zdGF0dXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IG1jaV9zdGF0dXMsIHVpbnQ2NF90IG1jaV9hZGRyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50NjRfdCBtY2lfbWlzYykKIHsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGQtPnZj cHVbMF07Ci0KLSAgICBpZiAoIG1jX2JhbmstPm1jX2RvbWlkICE9IERPTUlEX0lOVkFMSUQgKQor ICAgIGlmICggdi0+YXJjaC52bWNlLm1jZ19zdGF0dXMgJiBNQ0dfU1RBVFVTX01DSVAgKQogICAg IHsKLSAgICAgICAgaWYgKCB2LT5hcmNoLnZtY2UubWNnX3N0YXR1cyAmIE1DR19TVEFUVVNfTUNJ UCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1FVSUVULCAiTUNFOiBn dWVzdCBoYXMgbm90IGhhbmRsZWQgcHJldmlvdXMiCi0gICAgICAgICAgICAgICAgICAgICAgICIg dk1DRSB5ZXQhXG4iKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQorICAgICAg ICBtY2VfcHJpbnRrKE1DRV9RVUlFVCwgIk1DRTogJXB2OiBndWVzdCBoYXMgbm90IGhhbmRsZWQg cHJldmlvdXMiCisgICAgICAgICAgICAgICAgICAgIiB2TUNFIHlldCFcbiIsIHYpOworICAgICAg ICByZXR1cm4gLUVCVVNZOworICAgIH0KIAotICAgICAgICBzcGluX2xvY2soJnYtPmFyY2gudm1j ZS5sb2NrKTsKKyAgICBzcGluX2xvY2soJnYtPmFyY2gudm1jZS5sb2NrKTsKIAotICAgICAgICB2 LT5hcmNoLnZtY2UubWNnX3N0YXR1cyA9IGdzdGF0dXM7Ci0gICAgICAgIC8qCi0gICAgICAgICAq IDEuIFNraXAgYmFuayAwIHRvIGF2b2lkICdiYW5rIDAgcXVpcmsnIG9mIG9sZCBwcm9jZXNzb3Jz Ci0gICAgICAgICAqIDIuIEZpbHRlciBNQ2lfU1RBVFVTIE1TQ09EIG1vZGVsIHNwZWNpZmljIGVy cm9yIGNvZGUgdG8gZ3Vlc3QKLSAgICAgICAgICovCi0gICAgICAgIHYtPmFyY2gudm1jZS5iYW5r WzFdLm1jaV9zdGF0dXMgPSBtY19iYW5rLT5tY19zdGF0dXMgJgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1DaV9TVEFUVVNfTVNDT0RfTUFTSzsKLSAgICAg ICAgdi0+YXJjaC52bWNlLmJhbmtbMV0ubWNpX2FkZHIgPSBtY19iYW5rLT5tY19hZGRyOwotICAg ICAgICB2LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lfbWlzYyA9IG1jX2JhbmstPm1jX21pc2M7Cisg ICAgdi0+YXJjaC52bWNlLm1jZ19zdGF0dXMgPSBtY2dfc3RhdHVzOworICAgIC8qCisgICAgICog MS4gU2tpcCBiYW5rIDAgdG8gYXZvaWQgJ2JhbmsgMCBxdWlyaycgb2Ygb2xkIHByb2Nlc3NvcnMK KyAgICAgKiAyLiBGaWx0ZXIgTUNpX1NUQVRVUyBNU0NPRCBtb2RlbCBzcGVjaWZpYyBlcnJvciBj b2RlIHRvIGd1ZXN0CisgICAgICovCisgICAgdi0+YXJjaC52bWNlLmJhbmtbMV0ubWNpX3N0YXR1 cyA9IG1jaV9zdGF0dXMgJiBNQ2lfU1RBVFVTX01TQ09EX01BU0s7CisgICAgdi0+YXJjaC52bWNl LmJhbmtbMV0ubWNpX2FkZHIgPSBtY2lfYWRkcjsKKyAgICB2LT5hcmNoLnZtY2UuYmFua1sxXS5t Y2lfbWlzYyA9IG1jaV9taXNjOwogCi0gICAgICAgIHNwaW5fdW5sb2NrKCZ2LT5hcmNoLnZtY2Uu bG9jayk7Ci0gICAgfQorICAgIHNwaW5fdW5sb2NrKCZ2LT5hcmNoLnZtY2UubG9jayk7CiAKICAg ICByZXR1cm4gMDsKIH0KIAoraW50IGZpbGxfdm1zcl9kYXRhKHN0cnVjdCBtY2luZm9fYmFuayAq bWNfYmFuaywgc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBn c3RhdHVzLCBib29sIGJyb2FkY2FzdCkKK3sKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGQtPnZjcHVb MF07CisgICAgaW50IHJldCwgZXJyOworCisgICAgaWYgKCBtY19iYW5rLT5tY19kb21pZCA9PSBE T01JRF9JTlZBTElEICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAvKgorICAgICAq IHZNQ0Ugd2l0aCB0aGUgYWN0dWFsIGVycm9yIGluZm9ybWF0aW9uIGlzIGluamVjdGVkIHRvIHZD UFUwLAorICAgICAqIGFuZCwgaWYgYnJvYWRjYXN0IGlzIHJlcXVpcmVkLCB3ZSBjaG9vc2UgdG8g aW5qZWN0IGxlc3Mgc2V2ZXJlCisgICAgICogdk1DRXMgdG8gb3RoZXIgdkNQVXMuIFRodXMgZ3Vl c3QgY2FuIGFsd2F5cyBnZXQgdGhlIHNldmVyZXN0CisgICAgICogZXJyb3IgKGkuZS4gdGhlIGFj dHVhbCBvbmUpIG9uIHZDUFUwLiBJZiBndWVzdCBjYW4gcmVjb3ZlciBmcm9tCisgICAgICogdGhl IHNldmVyZXN0IGVycm9yIG9uIHZDUFUwLCB0aGUgbGVzcyBzZXZlcmUgZXJyb3JzIG9uIG90aGVy CisgICAgICogdkNQVXMgd2lsbCBub3QgcHJldmVudCBndWVzdCBmcm9tIHJlY292ZXJpbmcgb24g dGhvc2UgdkNQVXMuCisgICAgICovCisgICAgcmV0ID0gdmNwdV9maWxsX21jX21zcnModiwgZ3N0 YXR1cywgbWNfYmFuay0+bWNfc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1j X2JhbmstPm1jX2FkZHIsIG1jX2JhbmstPm1jX21pc2MpOworICAgIGlmICggYnJvYWRjYXN0ICkK KyAgICAgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQorICAgICAgICB7CisgICAgICAgICAgICBp ZiAoICF2LT52Y3B1X2lkICkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg IGVyciA9IHZjcHVfZmlsbF9tY19tc3JzKHYsIE1DR19TVEFUVVNfTUNJUCB8IE1DR19TVEFUVVNf UklQViwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDApOworICAg ICAgICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgICAgIHJldCA9IGVycjsKKyAgICAgICAg fQorCisgICAgcmV0dXJuIHJldDsKK30KKwogLyogSXQncyBzYWlkIHNvbWUgcmFtIGlzIHNldHVw IGFzIG1taW9fZGlyZWN0IGZvciBVQyBjYWNoZSBhdHRyaWJ1dGUgKi8KICNkZWZpbmUgUDJNX1VO TUFQX1RZUEVTIChwMm1fdG9fbWFzayhwMm1fcmFtX3J3KSBcCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgcDJtX3RvX21hc2socDJtX3JhbV9sb2dkaXJ0eSkgXApkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5oIGIveGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svdm1jZS5oCmluZGV4IDE2M2NlM2MuLjc0ZjYzODEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9jcHUvbWNoZWNrL3ZtY2UuaAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmgK QEAgLTE3LDcgKzE3LDcgQEAgaW50IHZtY2VfYW1kX3JkbXNyKGNvbnN0IHN0cnVjdCB2Y3B1ICos IHVpbnQzMl90IG1zciwgdWludDY0X3QgKnZhbCk7CiBpbnQgdm1jZV9hbWRfd3Jtc3Ioc3RydWN0 IHZjcHUgKiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCB2YWwpOwogCiBpbnQgZmlsbF92bXNyX2Rh dGEoc3RydWN0IG1jaW5mb19iYW5rICptY19iYW5rLCBzdHJ1Y3QgZG9tYWluICpkLAotICAgIHVp bnQ2NF90IGdzdGF0dXMpOworICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdzdGF0dXMsIGJv b2wgYnJvYWRjYXN0KTsKIAogI2RlZmluZSBWTUNFX0lOSkVDVF9CUk9BRENBU1QgKC0xKQogaW50 IGluamVjdF92bWNlKHN0cnVjdCBkb21haW4gKmQsIGludCB2Y3B1KTsKLS0gCjIuMTAuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=