From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v2 4/7] x86/vmce: fill MSR_IA32_MCG_STATUS on all vcpus in broadcast case Date: Mon, 27 Feb 2017 13:09:09 +0800 Message-ID: <20170227050912.28824-5-haozhong.zhang@intel.com> References: <20170227050912.28824-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: <20170227050912.28824-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 b2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhhbmdAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KQ2M6IENocmlzdG9waCBF Z2dlciA8Y2hlZ2dlckBhbWF6b24uZGU+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhl bi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMgfCAxNiArKysrLS0tLS0KIHhlbi9hcmNo L3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYyAgICAgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5oICAgICB8ICAyICst CiAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMgYi94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay9tY2FjdGlvbi5jCmluZGV4IDMyMDU2ZjIuLmRhYjllYWMgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jYWN0aW9uLmMKKysrIGIveGVuL2FyY2gveDg2 L2NwdS9tY2hlY2svbWNhY3Rpb24uYwpAQCAtODgsMjIgKzg4LDIyIEBAIG1jX21lbWVycl9kaGFu ZGxlcihzdHJ1Y3QgbWNhX2JpbmZvICpiaW5mbywKICAgICAgICAgICAgICAgICAgICAgZ290byB2 bWNlX2ZhaWxlZDsKICAgICAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgICAgICBpZiAoYm9v dF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwgfHwKKyAgICAgICAgICAg ICAgICAgICAgZ2xvYmFsLT5tY192Y3B1aWQgPT0gWEVOX01DX1ZDUFVJRF9JTlZBTElEKQorICAg ICAgICAgICAgICAgICAgICB2bWNlX3ZjcHVpZCA9IFZNQ0VfSU5KRUNUX0JST0FEQ0FTVDsKKyAg ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHZtY2VfdmNwdWlkID0gZ2xv YmFsLT5tY192Y3B1aWQ7CisKICAgICAgICAgICAgICAgICBiYW5rLT5tY19hZGRyID0gZ2ZuIDw8 IFBBR0VfU0hJRlQgfAogICAgICAgICAgICAgICAgICAgKGJhbmstPm1jX2FkZHIgJiAoUEFHRV9T SVpFIC0xICkpOwotICAgICAgICAgICAgICAgIGlmICggZmlsbF92bXNyX2RhdGEoYmFuaywgZCwK LSAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPm1jX2dzdGF0dXMpID09IC0xICkKKyAgICAg ICAgICAgICAgICBpZiAoZmlsbF92bXNyX2RhdGEoYmFuaywgZCwgZ2xvYmFsLT5tY19nc3RhdHVz LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bWNlX3ZjcHVpZCA9PSBWTUNF X0lOSkVDVF9CUk9BRENBU1QpKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgbWNlX3ByaW50ayhNQ0VfUVVJRVQsICJGaWxsIHZNQ0UjIGRhdGEgZm9yIERPTSVkICIKICAg ICAgICAgICAgICAgICAgICAgICAiZmFpbGVkXG4iLCBiYW5rLT5tY19kb21pZCk7CiAgICAgICAg ICAgICAgICAgICAgIGdvdG8gdm1jZV9mYWlsZWQ7CiAgICAgICAgICAgICAgICAgfQogCi0gICAg ICAgICAgICAgICAgaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lO VEVMIHx8Ci0gICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+bWNfdmNwdWlkID09IFhFTl9NQ19W Q1BVSURfSU5WQUxJRCkKLSAgICAgICAgICAgICAgICAgICAgdm1jZV92Y3B1aWQgPSBWTUNFX0lO SkVDVF9CUk9BRENBU1Q7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg ICB2bWNlX3ZjcHVpZCA9IGdsb2JhbC0+bWNfdmNwdWlkOwotCiAgICAgICAgICAgICAgICAgLyog V2Ugd2lsbCBpbmplY3Qgdk1DRSB0byBET01VKi8KICAgICAgICAgICAgICAgICBpZiAoIGluamVj dF92bWNlKGQsIHZtY2VfdmNwdWlkKSA8IDAgKQogICAgICAgICAgICAgICAgIHsKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNo ZWNrL3ZtY2UuYwppbmRleCAxM2I2OTJjLi4yY2FjY2FlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay92bWNlLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5j CkBAIC0zODEsMzggKzM4MSw2NiBAQCBpbnQgaW5qZWN0X3ZtY2Uoc3RydWN0IGRvbWFpbiAqZCwg aW50IHZjcHUpCiAgICAgcmV0dXJuIHJldDsKIH0KIAotaW50IGZpbGxfdm1zcl9kYXRhKHN0cnVj dCBtY2luZm9fYmFuayAqbWNfYmFuaywgc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCBnc3RhdHVzKQorc3RhdGljIGludCB2Y3B1X2ZpbGxfbWNfbXNycyhzdHJ1 Y3QgdmNwdSAqdiwgdWludDY0X3QgbWNnX3N0YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgbWNpX3N0YXR1cywgdWludDY0X3QgbWNpX2FkZHIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG1jaV9taXNjKQogewotICAgIHN0cnVjdCB2Y3B1 ICp2ID0gZC0+dmNwdVswXTsKLQotICAgIGlmICggbWNfYmFuay0+bWNfZG9taWQgIT0gRE9NSURf SU5WQUxJRCApCisgICAgaWYgKCB2LT5hcmNoLnZtY2UubWNnX3N0YXR1cyAmIE1DR19TVEFUVVNf TUNJUCApCiAgICAgewotICAgICAgICBpZiAoIHYtPmFyY2gudm1jZS5tY2dfc3RhdHVzICYgTUNH X1NUQVRVU19NQ0lQICkKLSAgICAgICAgewotICAgICAgICAgICAgbWNlX3ByaW50ayhNQ0VfUVVJ RVQsICJNQ0U6IGd1ZXN0IGhhcyBub3QgaGFuZGxlZCBwcmV2aW91cyIKLSAgICAgICAgICAgICAg ICAgICAgICAgIiB2TUNFIHlldCFcbiIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAg ICB9CisgICAgICAgIG1jZV9wcmludGsoTUNFX1FVSUVULCAiTUNFOiAlcHY6IGd1ZXN0IGhhcyBu b3QgaGFuZGxlZCBwcmV2aW91cyIKKyAgICAgICAgICAgICAgICAgICAiIHZNQ0UgeWV0IVxuIiwg dik7CisgICAgICAgIHJldHVybiAtRUJVU1k7CisgICAgfQogCi0gICAgICAgIHNwaW5fbG9jaygm di0+YXJjaC52bWNlLmxvY2spOworICAgIHNwaW5fbG9jaygmdi0+YXJjaC52bWNlLmxvY2spOwog Ci0gICAgICAgIHYtPmFyY2gudm1jZS5tY2dfc3RhdHVzID0gZ3N0YXR1czsKLSAgICAgICAgLyoK LSAgICAgICAgICogMS4gU2tpcCBiYW5rIDAgdG8gYXZvaWQgJ2JhbmsgMCBxdWlyaycgb2Ygb2xk IHByb2Nlc3NvcnMKLSAgICAgICAgICogMi4gRmlsdGVyIE1DaV9TVEFUVVMgTVNDT0QgbW9kZWwg c3BlY2lmaWMgZXJyb3IgY29kZSB0byBndWVzdAotICAgICAgICAgKi8KLSAgICAgICAgdi0+YXJj aC52bWNlLmJhbmtbMV0ubWNpX3N0YXR1cyA9IG1jX2JhbmstPm1jX3N0YXR1cyAmCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUNpX1NUQVRVU19NU0NPRF9N QVNLOwotICAgICAgICB2LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lfYWRkciA9IG1jX2JhbmstPm1j X2FkZHI7Ci0gICAgICAgIHYtPmFyY2gudm1jZS5iYW5rWzFdLm1jaV9taXNjID0gbWNfYmFuay0+ bWNfbWlzYzsKKyAgICB2LT5hcmNoLnZtY2UubWNnX3N0YXR1cyA9IG1jZ19zdGF0dXM7CisgICAg LyoKKyAgICAgKiAxLiBTa2lwIGJhbmsgMCB0byBhdm9pZCAnYmFuayAwIHF1aXJrJyBvZiBvbGQg cHJvY2Vzc29ycworICAgICAqIDIuIEZpbHRlciBNQ2lfU1RBVFVTIE1TQ09EIG1vZGVsIHNwZWNp ZmljIGVycm9yIGNvZGUgdG8gZ3Vlc3QKKyAgICAgKi8KKyAgICB2LT5hcmNoLnZtY2UuYmFua1sx XS5tY2lfc3RhdHVzID0gbWNpX3N0YXR1cyAmIE1DaV9TVEFUVVNfTVNDT0RfTUFTSzsKKyAgICB2 LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lfYWRkciA9IG1jaV9hZGRyOworICAgIHYtPmFyY2gudm1j ZS5iYW5rWzFdLm1jaV9taXNjID0gbWNpX21pc2M7CiAKLSAgICAgICAgc3Bpbl91bmxvY2soJnYt PmFyY2gudm1jZS5sb2NrKTsKLSAgICB9CisgICAgc3Bpbl91bmxvY2soJnYtPmFyY2gudm1jZS5s b2NrKTsKIAogICAgIHJldHVybiAwOwogfQogCitpbnQgZmlsbF92bXNyX2RhdGEoc3RydWN0IG1j aW5mb19iYW5rICptY19iYW5rLCBzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90IGdzdGF0dXMsIGJvb2wgYnJvYWRjYXN0KQoreworICAgIHN0cnVjdCB2Y3B1ICp2 ID0gZC0+dmNwdVswXTsKKyAgICBpbnQgcmV0LCBlcnI7CisKKyAgICBpZiAoIG1jX2JhbmstPm1j X2RvbWlkID09IERPTUlEX0lOVkFMSUQgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAg IC8qCisgICAgICogdk1DRSB3aXRoIHRoZSBhY3R1YWwgZXJyb3IgaW5mb3JtYXRpb24gaXMgaW5q ZWN0ZWQgdG8gdkNQVTAsCisgICAgICogYW5kLCBpZiBicm9hZGNhc3QgaXMgcmVxdWlyZWQsIHdl IGNob29zZSB0byBpbmplY3QgbGVzcyBzZXZlcmUKKyAgICAgKiB2TUNFcyB0byBvdGhlciB2Q1BV cy4gVGh1cyBndWVzdCBjYW4gYWx3YXlzIGdldCB0aGUgc2V2ZXJlc3QKKyAgICAgKiBlcnJvciAo aS5lLiB0aGUgYWN0dWFsIG9uZSkgb24gdkNQVTAuIElmIGd1ZXN0IGNhbiByZWNvdmVyIGZyb20K KyAgICAgKiB0aGUgc2V2ZXJlc3QgZXJyb3Igb24gdkNQVTAsIHRoZSBsZXNzIHNldmVyZSBlcnJv cnMgb24gb3RoZXIKKyAgICAgKiB2Q1BVcyB3aWxsIG5vdCBwcmV2ZW50IGd1ZXN0IGZyb20gcmVj b3ZlcmluZyBvbiB0aG9zZSB2Q1BVcy4KKyAgICAgKi8KKyAgICByZXQgPSB2Y3B1X2ZpbGxfbWNf bXNycyh2LCBnc3RhdHVzLCBtY19iYW5rLT5tY19zdGF0dXMsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWNfYmFuay0+bWNfYWRkciwgbWNfYmFuay0+bWNfbWlzYyk7CisgICAgaWYgKCBi cm9hZGNhc3QgKQorICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCisgICAgICAgIHsKKyAg ICAgICAgICAgIGlmICggIXYtPnZjcHVfaWQgKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor ICAgICAgICAgICAgZXJyID0gdmNwdV9maWxsX21jX21zcnModiwgTUNHX1NUQVRVU19NQ0lQIHwg TUNHX1NUQVRVU19SSVBWLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg MCwgMCk7CisgICAgICAgICAgICBpZiAoIGVyciApCisgICAgICAgICAgICAgICAgcmV0ID0gZXJy OworICAgICAgICB9CisKKyAgICByZXR1cm4gcmV0OworfQorCiAvKiBJdCdzIHNhaWQgc29tZSBy YW0gaXMgc2V0dXAgYXMgbW1pb19kaXJlY3QgZm9yIFVDIGNhY2hlIGF0dHJpYnV0ZSAqLwogI2Rl ZmluZSBQMk1fVU5NQVBfVFlQRVMgKHAybV90b19tYXNrKHAybV9yYW1fcncpIFwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFzayhwMm1fcmFtX2xvZ2RpcnR5KSBc CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNlLmggYi94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay92bWNlLmgKaW5kZXggMTYzY2UzYy4uNzRmNjM4MSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNo ZWNrL3ZtY2UuaApAQCAtMTcsNyArMTcsNyBAQCBpbnQgdm1jZV9hbWRfcmRtc3IoY29uc3Qgc3Ry dWN0IHZjcHUgKiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKTsKIGludCB2bWNlX2FtZF93 cm1zcihzdHJ1Y3QgdmNwdSAqLCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCk7CiAKIGludCBm aWxsX3Ztc3JfZGF0YShzdHJ1Y3QgbWNpbmZvX2JhbmsgKm1jX2JhbmssIHN0cnVjdCBkb21haW4g KmQsCi0gICAgdWludDY0X3QgZ3N0YXR1cyk7CisgICAgICAgICAgICAgICAgICAgdWludDY0X3Qg Z3N0YXR1cywgYm9vbCBicm9hZGNhc3QpOwogCiAjZGVmaW5lIFZNQ0VfSU5KRUNUX0JST0FEQ0FT VCAoLTEpCiBpbnQgaW5qZWN0X3ZtY2Uoc3RydWN0IGRvbWFpbiAqZCwgaW50IHZjcHUpOwotLSAK Mi4xMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==