From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH 09/19] x86/vmce: fill MSR_IA32_MCG_STATUS on all vcpus in broadcast case Date: Fri, 17 Feb 2017 14:39:26 +0800 Message-ID: <20170217063936.13208-10-haozhong.zhang@intel.com> References: <20170217063936.13208-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: <20170217063936.13208-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 , Andrew Cooper , Jan Beulich , Liu Jinsong List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb25seSBmaWxscyBNQyBNU1JzIG9uIHZjcHUwIGFu ZCBsZWF2ZXMgTUMKTVNScyBvbiBvdGhlciB2Y3B1cyBlbXB0eSBpbiB0aGUgYnJvYWRjYXN0IGNh c2UuIFdoZW4gZ3Vlc3QgcmVhZHMgMApmcm9tIE1TUl9JQTMyX01DR19TVEFUVVMgb24gdmNwdU4g KE4gPiAwKSwgaXQgbWF5IHRoaW5rIGl0J3Mgbm90CnBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIGV4 ZWN1dGlvbiBvbiB0aGF0IHZjcHUgYW5kIHRoZW4gZ2V0IHBhbmljLAphbHRob3VnaCBNU1JfSUEz Ml9NQ0dfU1RBVFVTIGZpbGxlZCBvbiB2Y3B1MCBtYXkgaW1wbHkgdGhlIGluamVjdGVkCnZNQ0Ug aXMgYWN0dWFsbHkgcmVjb3ZlcmFibGUuIFRvIGF2b2lkIHN1Y2ggdW5uZWNlc3NhcnkgZ3Vlc3Qg cGFuaWMsCnNldCBNU1JfSUEzMl9NQ0dfU1RBVFVTIG9uIHZjcHVOIChOID4gMCkgdG8gTUNHX1NU QVRVU19NQ0lQIHwKTUNHX1NUQVRVU19SSVBWLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhh bmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0tCkNjOiBDaHJpc3RvcGggRWdnZXIgPGNo ZWdnZXJAYW1hem9uLmRlPgpDYzogTGl1IEppbnNvbmcgPGppbnNvbmcubGl1QGFsaWJhYmEtaW5j LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svbWNhY3Rpb24uYyB8IDE0ICsrKystLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNl LmMgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHhlbi9h cmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuaCAgICAgfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA1 MyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNhY3Rp b24uYwppbmRleCBjYzkwZTdjLi44YjJiODM0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1 L21jaGVjay9tY2FjdGlvbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9u LmMKQEAgLTg4LDIxICs4OCwyMSBAQCBtY19tZW1lcnJfZGhhbmRsZXIoc3RydWN0IG1jYV9iaW5m byAqYmluZm8sCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gdm1jZV9mYWlsZWQ7CiAgICAgICAg ICAgICAgICAgfQogCisgICAgICAgICAgICAgICAgaWYgKCBib290X2NwdV9kYXRhLng4Nl92ZW5k b3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCApCisgICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlk ID0gVk1DRV9JTkpFQ1RfQlJPQURDQVNUOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg ICAgICAgICAgICAgdm1jZV92Y3B1aWQgPSBnbG9iYWwtPm1jX3ZjcHVpZDsKKwogICAgICAgICAg ICAgICAgIGJhbmstPm1jX2FkZHIgPSBnZm4gPDwgUEFHRV9TSElGVCB8CiAgICAgICAgICAgICAg ICAgICAoYmFuay0+bWNfYWRkciAmIChQQUdFX1NJWkUgLTEgKSk7Ci0gICAgICAgICAgICAgICAg aWYgKCBmaWxsX3Ztc3JfZGF0YShiYW5rLCBkLAotICAgICAgICAgICAgICAgICAgICAgIGdsb2Jh bC0+bWNfZ3N0YXR1cykgPT0gLTEgKQorICAgICAgICAgICAgICAgIGlmICggZmlsbF92bXNyX2Rh dGEoYmFuaywgZCwgZ2xvYmFsLT5tY19nc3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdm1jZV92Y3B1aWQgPT0gVk1DRV9JTkpFQ1RfQlJPQURDQVNUKSA9PSAtMSAp CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBtY2VfcHJpbnRrKE1DRV9R VUlFVCwgIkZpbGwgdk1DRSMgZGF0YSBmb3IgRE9NJWQgIgogICAgICAgICAgICAgICAgICAgICAg ICJmYWlsZWRcbiIsIGJhbmstPm1jX2RvbWlkKTsKICAgICAgICAgICAgICAgICAgICAgZ290byB2 bWNlX2ZhaWxlZDsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBpZiAoIGJv b3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMICkKLSAgICAgICAgICAg ICAgICAgICAgdm1jZV92Y3B1aWQgPSBWTUNFX0lOSkVDVF9CUk9BRENBU1Q7Ci0gICAgICAgICAg ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICB2bWNlX3ZjcHVpZCA9IGdsb2JhbC0+bWNf dmNwdWlkOwotCiAgICAgICAgICAgICAgICAgLyogV2Ugd2lsbCBpbmplY3Qgdk1DRSB0byBET01V Ki8KICAgICAgICAgICAgICAgICBpZiAoIGluamVjdF92bWNlKGQsIHZtY2VfdmNwdWlkKSA8IDAg KQogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNr L3ZtY2UuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYwppbmRleCBkODNhM2YyLi40 NTZkNmYzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmMKKysrIGIv eGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5jCkBAIC0zODYsMzYgKzM4Niw1OSBAQCBpbnQg aW5qZWN0X3ZtY2Uoc3RydWN0IGRvbWFpbiAqZCwgaW50IHZjcHUpCiAgICAgcmV0dXJuIHJldDsK IH0KIAorc3RhdGljIGludCB2Y3B1X2ZpbGxfbWNfbXNycyhzdHJ1Y3QgdmNwdSAqdiwgdWludDY0 X3QgbWNnX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgbWNp X3N0YXR1cywgdWludDY0X3QgbWNpX2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90IG1jaV9taXNjKQoreworICAgIGlmICggdi0+YXJjaC52bWNlLm1jZ19zdGF0dXMg JiBNQ0dfU1RBVFVTX01DSVAgKQorICAgIHsKKyAgICAgICAgbWNlX3ByaW50ayhNQ0VfUVVJRVQs ICJNQ0U6ICVwdjogZ3Vlc3QgaGFzIG5vdCBoYW5kbGVkIHByZXZpb3VzIgorICAgICAgICAgICAg ICAgICAgICIgdk1DRSB5ZXQhXG4iLCB2KTsKKyAgICAgICAgcmV0dXJuIC1FQlVTWTsKKyAgICB9 CisKKyAgICBzcGluX2xvY2soJnYtPmFyY2gudm1jZS5sb2NrKTsKKworICAgIHYtPmFyY2gudm1j ZS5tY2dfc3RhdHVzID0gbWNnX3N0YXR1czsKKyAgICAvKgorICAgICAqIDEuIFNraXAgYmFuayAw IHRvIGF2b2lkICdiYW5rIDAgcXVpcmsnIG9mIG9sZCBwcm9jZXNzb3JzCisgICAgICogMi4gRmls dGVyIE1DaV9TVEFUVVMgTVNDT0QgbW9kZWwgc3BlY2lmaWMgZXJyb3IgY29kZSB0byBndWVzdAor ICAgICAqLworICAgIHYtPmFyY2gudm1jZS5iYW5rWzFdLm1jaV9zdGF0dXMgPSBtY2lfc3RhdHVz ICYgTUNpX1NUQVRVU19NU0NPRF9NQVNLOworICAgIHYtPmFyY2gudm1jZS5iYW5rWzFdLm1jaV9h ZGRyID0gbWNpX2FkZHI7CisgICAgdi0+YXJjaC52bWNlLmJhbmtbMV0ubWNpX21pc2MgPSBtY2lf bWlzYzsKKworICAgIHNwaW5fdW5sb2NrKCZ2LT5hcmNoLnZtY2UubG9jayk7CisKKyAgICByZXR1 cm4gMDsKK30KKwogaW50IGZpbGxfdm1zcl9kYXRhKHN0cnVjdCBtY2luZm9fYmFuayAqbWNfYmFu aywgc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBnc3RhdHVz KQorICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdzdGF0dXMsIGJvb2wgYnJvYWRjYXN0KQog ewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gZC0+dmNwdVswXTsKKyAgICBpbnQgcmV0OwogCi0gICAg aWYgKCBtY19iYW5rLT5tY19kb21pZCAhPSAodWludDE2X3QpfjAgKQotICAgIHsKLSAgICAgICAg aWYgKCB2LT5hcmNoLnZtY2UubWNnX3N0YXR1cyAmIE1DR19TVEFUVVNfTUNJUCApCi0gICAgICAg IHsKLSAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1FVSUVULCAiTUNFOiBndWVzdCBoYXMgbm90 IGhhbmRsZWQgcHJldmlvdXMiCi0gICAgICAgICAgICAgICAgICAgICAgICIgdk1DRSB5ZXQhXG4i KTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotCi0gICAgICAgIHNwaW5fbG9j aygmdi0+YXJjaC52bWNlLmxvY2spOworICAgIGlmICggbWNfYmFuay0+bWNfZG9taWQgPT0gKHVp bnQxNl90KX4wICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICAgICAgdi0+YXJjaC52 bWNlLm1jZ19zdGF0dXMgPSBnc3RhdHVzOwotICAgICAgICAvKgotICAgICAgICAgKiAxLiBTa2lw IGJhbmsgMCB0byBhdm9pZCAnYmFuayAwIHF1aXJrJyBvZiBvbGQgcHJvY2Vzc29ycwotICAgICAg ICAgKiAyLiBGaWx0ZXIgTUNpX1NUQVRVUyBNU0NPRCBtb2RlbCBzcGVjaWZpYyBlcnJvciBjb2Rl IHRvIGd1ZXN0Ci0gICAgICAgICAqLwotICAgICAgICB2LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lf c3RhdHVzID0gbWNfYmFuay0+bWNfc3RhdHVzICYKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNQ2lfU1RBVFVTX01TQ09EX01BU0s7Ci0gICAgICAgIHYtPmFy Y2gudm1jZS5iYW5rWzFdLm1jaV9hZGRyID0gbWNfYmFuay0+bWNfYWRkcjsKLSAgICAgICAgdi0+ YXJjaC52bWNlLmJhbmtbMV0ubWNpX21pc2MgPSBtY19iYW5rLT5tY19taXNjOworICAgIHJldCA9 IHZjcHVfZmlsbF9tY19tc3JzKHYsIGdzdGF0dXMsIG1jX2JhbmstPm1jX3N0YXR1cywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtY19iYW5rLT5tY19hZGRyLCBtY19iYW5rLT5tY19taXNj KTsKKyAgICBpZiAoIHJldCB8fCAhYnJvYWRjYXN0ICkKKyAgICAgICAgZ290byBvdXQ7CiAKLSAg ICAgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudm1jZS5sb2NrKTsKKyAgICBmb3JfZWFjaF92Y3B1 ICggZCwgdiApCisgICAgeworICAgICAgICBpZiAoIHYgPT0gZC0+dmNwdVswXSApCisgICAgICAg ICAgICBjb250aW51ZTsKKyAgICAgICAgcmV0ID0gdmNwdV9maWxsX21jX21zcnModiwgTUNHX1NU QVRVU19NQ0lQIHwgTUNHX1NUQVRVU19SSVBWLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwLCAwLCAwKTsKKyAgICAgICAgaWYgKCByZXQgKQorICAgICAgICAgICAgYnJlYWs7CiAg ICAgfQogCi0gICAgcmV0dXJuIDA7Cisgb3V0OgorICAgIHJldHVybiByZXQ7CiB9CiAKIC8qIEl0 J3Mgc2FpZCBzb21lIHJhbSBpcyBzZXR1cCBhcyBtbWlvX2RpcmVjdCBmb3IgVUMgY2FjaGUgYXR0 cmlidXRlICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmggYi94 ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmgKaW5kZXggMTYzY2UzYy4uNzRmNjM4MSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5oCisrKyBiL3hlbi9hcmNoL3g4 Ni9jcHUvbWNoZWNrL3ZtY2UuaApAQCAtMTcsNyArMTcsNyBAQCBpbnQgdm1jZV9hbWRfcmRtc3Io Y29uc3Qgc3RydWN0IHZjcHUgKiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKTsKIGludCB2 bWNlX2FtZF93cm1zcihzdHJ1Y3QgdmNwdSAqLCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCk7 CiAKIGludCBmaWxsX3Ztc3JfZGF0YShzdHJ1Y3QgbWNpbmZvX2JhbmsgKm1jX2JhbmssIHN0cnVj dCBkb21haW4gKmQsCi0gICAgdWludDY0X3QgZ3N0YXR1cyk7CisgICAgICAgICAgICAgICAgICAg dWludDY0X3QgZ3N0YXR1cywgYm9vbCBicm9hZGNhc3QpOwogCiAjZGVmaW5lIFZNQ0VfSU5KRUNU X0JST0FEQ0FTVCAoLTEpCiBpbnQgaW5qZWN0X3ZtY2Uoc3RydWN0IGRvbWFpbiAqZCwgaW50IHZj cHUpOwotLSAKMi4xMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==