From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH 15/19] x86/vmce: emulate MSR_IA32_MCG_EXT_CTL Date: Fri, 17 Feb 2017 14:39:32 +0800 Message-ID: <20170217063936.13208-16-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 SWYgTUNHX0xNQ0VfUCBpcyBwcmVzZW50IGluIGd1ZXN0IE1TUl9JQTMyX01DR19DQVAsIHRoZW4g YWxsb3cgZ3Vlc3QKdG8gcmVhZC93cml0ZSBNU1JfSUEzMl9NQ0dfRVhUX0NUTC4KClNpZ25lZC1v ZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzog Q2hyaXN0b3BoIEVnZ2VyIDxjaGVnZ2VyQGFtYXpvbi5kZT4KQ2M6IExpdSBKaW5zb25nIDxqaW5z b25nLmxpdUBhbGliYWJhLWluYy5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhl bi9hcmNoL3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYyAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbWNlLmggICAgICAgICAgICAg IHwgIDEgKwogeGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZlLmggfCAgMiArKwog MyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svdm1jZS5jIGIveGVuL2FyY2gveDg2L2NwdS9t Y2hlY2svdm1jZS5jCmluZGV4IDQ1NmQ2ZjMuLjEyNzg4MzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9jcHUvbWNoZWNrL3ZtY2UuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay92bWNl LmMKQEAgLTkwLDYgKzkwLDcgQEAgaW50IHZtY2VfcmVzdG9yZV92Y3B1KHN0cnVjdCB2Y3B1ICp2 LCBjb25zdCBzdHJ1Y3QgaHZtX3ZtY2VfdmNwdSAqY3R4dCkKICAgICB2LT5hcmNoLnZtY2UubWNn X2NhcCA9IGN0eHQtPmNhcHM7CiAgICAgdi0+YXJjaC52bWNlLmJhbmtbMF0ubWNpX2N0bDIgPSBj dHh0LT5tY2lfY3RsMl9iYW5rMDsKICAgICB2LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lfY3RsMiA9 IGN0eHQtPm1jaV9jdGwyX2JhbmsxOworICAgIHYtPmFyY2gudm1jZS5sbWNlX2VuYWJsZWQgPSBj dHh0LT5sbWNlX2VuYWJsZWQ7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTE5MCw2ICsxOTEsMjUg QEAgaW50IHZtY2VfcmRtc3IodWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKQogICAgICAgICAg ICAgKnZhbCA9IH4wVUxMOwogICAgICAgICBtY2VfcHJpbnRrKE1DRV9WRVJCT1NFLCAiTUNFOiAl cHY6IHJkIE1DR19DVEwgJSMiUFJJeDY0IlxuIiwgY3VyLCAqdmFsKTsKICAgICAgICAgYnJlYWs7 CisgICAgY2FzZSBNU1JfSUEzMl9NQ0dfRVhUX0NUTDoKKyAgICAgICAgLyoKKyAgICAgICAgICog SWYgTUNHX0xNQ0VfUCBpcyBwcmVzZW50IGluIGd1ZXN0IE1TUl9JQTMyX01DR19DQVAsIHRoZSBM TUNFIGFuZCBMT0NLCisgICAgICAgICAqIGJpdHMgYXJlIGFsd2F5cyBzZXQgaW4gZ3Vlc3QgTVNS X0lBMzJfRkVBVFVSRV9DT05UUk9MIGJ5IFhlbiAsIHNvIGl0CisgICAgICAgICAqIGRvZXMgbm90 IG5lZWQgdG8gY2hlY2sgdGhlbSBoZXJlLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhKGN1 ci0+YXJjaC52bWNlLm1jZ19jYXAgJiBNQ0dfTE1DRV9QKSApCisgICAgICAgIHsKKyAgICAgICAg ICAgIHJldCA9IC0xOworICAgICAgICAgICAgbWNlX3ByaW50ayhNQ0VfVkVSQk9TRSwgIk1DRTog JXB2OiByZCBNQ0dfRVhUX0NUTCwgbm90IHN1cHBvcnRlZFxuIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgY3VyKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAg ICAgICp2YWwgPSBjdXItPmFyY2gudm1jZS5sbWNlX2VuYWJsZWQgPyBNQ0dfRVhUX0NUTF9MTUNF X0VOIDogMDsKKyAgICAgICAgICAgIG1jZV9wcmludGsoTUNFX1ZFUkJPU0UsICJNQ0U6ICVwdjog cmQgTUNHX0VYVF9DVEwgJSMiUFJJeDY0IlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgY3Vy LCAqdmFsKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAg ICByZXQgPSBtY2VfYmFua19tc3IoY3VyLCBtc3IpID8gYmFua19tY2VfcmRtc3IoY3VyLCBtc3Is IHZhbCkgOiAwOwogICAgICAgICBicmVhazsKQEAgLTI5MCw2ICszMTAsMTUgQEAgaW50IHZtY2Vf d3Jtc3IodWludDMyX3QgbXNyLCB1aW50NjRfdCB2YWwpCiAgICAgICAgICAqLwogICAgICAgICBt Y2VfcHJpbnRrKE1DRV9WRVJCT1NFLCAiTUNFOiAlcHY6IE1DR19DQVAgaXMgci9vXG4iLCBjdXIp OwogICAgICAgICBicmVhazsKKyAgICBjYXNlIE1TUl9JQTMyX01DR19FWFRfQ1RMOgorICAgICAg ICBpZiAoICEoY3VyLT5hcmNoLnZtY2UubWNnX2NhcCAmIE1DR19MTUNFX1ApIHx8CisgICAgICAg ICAgICAgKHZhbCAmIH5NQ0dfRVhUX0NUTF9MTUNFX0VOKSApCisgICAgICAgICAgICByZXQgPSAt MTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY3VyLT5hcmNoLnZtY2UubG1jZV9lbmFibGVk ID0gISEodmFsICYgTUNHX0VYVF9DVExfTE1DRV9FTik7CisgICAgICAgIG1jZV9wcmludGsoTUNF X1ZFUkJPU0UsICJNQ0U6ICVwdjogd3IgTUNHX0VYVF9DVEwgJSJQUkl4NjQiJXNcbiIsCisgICAg ICAgICAgICAgICAgICAgY3VyLCB2YWwsIChyZXQgPT0gLTEpID8gIiwgbm90IHN1cHBvcnRlZCIg OiAiIik7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldCA9IG1jZV9i YW5rX21zcihjdXIsIG1zcikgPyBiYW5rX21jZV93cm1zcihjdXIsIG1zciwgdmFsKSA6IDA7CiAg ICAgICAgIGJyZWFrOwpAQCAtMzA4LDcgKzMzNyw4IEBAIHN0YXRpYyBpbnQgdm1jZV9zYXZlX3Zj cHVfY3R4dChzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICAg ICAgc3RydWN0IGh2bV92bWNlX3ZjcHUgY3R4dCA9IHsKICAgICAgICAgICAgIC5jYXBzID0gdi0+ YXJjaC52bWNlLm1jZ19jYXAsCiAgICAgICAgICAgICAubWNpX2N0bDJfYmFuazAgPSB2LT5hcmNo LnZtY2UuYmFua1swXS5tY2lfY3RsMiwKLSAgICAgICAgICAgIC5tY2lfY3RsMl9iYW5rMSA9IHYt PmFyY2gudm1jZS5iYW5rWzFdLm1jaV9jdGwyCisgICAgICAgICAgICAubWNpX2N0bDJfYmFuazEg PSB2LT5hcmNoLnZtY2UuYmFua1sxXS5tY2lfY3RsMiwKKyAgICAgICAgICAgIC5sbWNlX2VuYWJs ZWQgPSB2LT5hcmNoLnZtY2UubG1jZV9lbmFibGVkLAogICAgICAgICB9OwogCiAgICAgICAgIGVy ciA9IGh2bV9zYXZlX2VudHJ5KFZNQ0VfVkNQVSwgdi0+dmNwdV9pZCwgaCwgJmN0eHQpOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tY2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv bWNlLmgKaW5kZXggNmI4MjdlZi4uNTI1YTllOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9tY2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21jZS5oCkBAIC0yOSw2ICsyOSw3 IEBAIHN0cnVjdCB2bWNlIHsKICAgICB1aW50NjRfdCBtY2dfc3RhdHVzOwogICAgIHNwaW5sb2Nr X3QgbG9jazsKICAgICBzdHJ1Y3Qgdm1jZV9iYW5rIGJhbmtbR1VFU1RfTUNfQkFOS19OVU1dOwor ICAgIGJvb2wgbG1jZV9lbmFibGVkOwogfTsKIAogLyogR3Vlc3Qgdk1DRSBNU1JzIHZpcnR1YWxp emF0aW9uICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvaHZtL3Nh dmUuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0vc2F2ZS5oCmluZGV4IDhkNzNi NTEuLjJkNjJlYzMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0v c2F2ZS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9odm0vc2F2ZS5oCkBAIC01 OTksNiArNTk5LDggQEAgc3RydWN0IGh2bV92bWNlX3ZjcHUgewogICAgIHVpbnQ2NF90IGNhcHM7 CiAgICAgdWludDY0X3QgbWNpX2N0bDJfYmFuazA7CiAgICAgdWludDY0X3QgbWNpX2N0bDJfYmFu azE7CisgICAgdWludDhfdCAgbG1jZV9lbmFibGVkOworICAgIHVpbnQ4X3QgIF9wYWRbN107CiB9 OwogCiBERUNMQVJFX0hWTV9TQVZFX1RZUEUoVk1DRV9WQ1BVLCAxOCwgc3RydWN0IGh2bV92bWNl X3ZjcHUpOwotLSAKMi4xMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==