From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 7/9] x86/vmx: Support load-only guest MSR list entries Date: Tue, 22 May 2018 12:20:44 +0100 Message-ID: <1526988046-22948-8-git-send-email-andrew.cooper3@citrix.com> References: <1526988046-22948-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1526988046-22948-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Wei Liu , Jan Beulich , Andrew Cooper , Jun Nakajima , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCB0aGUgVk1YX01TUl9HVUVTVCB0eXBlIG1haW50YWlucyBjb21wbGV0ZWx5IHN5 bW1ldHJpYyBndWVzdCBsb2FkCmFuZCBzYXZlIGxpc3RzLCBieSBwb2ludGluZyBWTV9FWElUX01T Ul9TVE9SRV9BRERSIGFuZCBWTV9FTlRSWV9NU1JfTE9BRF9BRERSCmF0IHRoZSBzYW1lIHBhZ2Us IGFuZCBzZXR0aW5nIFZNX0VYSVRfTVNSX1NUT1JFX0NPVU5UIGFuZApWTV9FTlRSWV9NU1JfTE9B RF9DT1VOVCB0byB0aGUgc2FtZSB2YWx1ZS4KCkhvd2V2ZXIsIGZvciBNU1JzIHdoaWNoIHdlIHdv bid0IGxldCB0aGUgZ3Vlc3QgaGF2ZSBkaXJlY3QgYWNjZXNzIHRvLCBoYXZpbmcKaGFyZHdhcmUg c2F2ZSB0aGUgY3VycmVudCB2YWx1ZSBvbiBWTUV4aXQgaXMgdW5uZWNlc3Nhcnkgb3ZlcmhlYWQu CgpUbyBhdm9pZCB0aGlzIG92ZXJoZWFkLCB3ZSBtdXN0IG1ha2UgdGhlIGxvYWQgYW5kIHNhdmUg bGlzdHMgYXN5bW1ldHJpYy4gIEJ5Cm1ha2luZyB0aGUgZW50cnkgbG9hZCBjb3VudCBncmVhdGVy IHRoYW4gdGhlIGV4aXQgc3RvcmUgY291bnQsIHdlIGNhbiBtYWludGFpbgp0d28gYWRqYWNlbnQg bGlzdHMgb2YgTVNScywgdGhlIGZpcnN0IG9mIHdoaWNoIGlzIHNhdmVkIGFuZCByZXN0b3JlZCwg YW5kIHRoZQpzZWNvbmQgb2Ygd2hpY2ggaXMgb25seSByZXN0b3JlZCBvbiBWTUVudHJ5LgoKRm9y IHNpbXBsaWNpdHk6CiAqIEJvdGggYWRqYWNlbnQgbGlzdHMgYXJlIHN0aWxsIHNvcnRlZCBieSBN U1IgaW5kZXguCiAqIEl0IHVuZGVmaW5lZCBiZWhhdmlvdXIgdG8gaW5zZXJ0IHRoZSBzYW1lIE1T UiBpbnRvIGJvdGggbGlzdHMuCiAqIFRoZSB0b3RhbCBzaXplIG9mIGJvdGggbGlzdHMgaXMgc3Rp bGwgbGltaXRlZCBhdCAyNTYgZW50cmllcyAob25lIDRrIHBhZ2UpLgoKU3BsaXQgdGhlIGN1cnJl bnQgbXNyX2NvdW50IGZpZWxkIGludG8gbXNyX3tsb2FkLHNhdmV9X2NvdW50LCBhbmQgaW50cm9k dWNlIGEKbmV3IFZNWF9NU1JfR1VFU1RfTE9BRE9OTFkgdHlwZSwgYW5kIHVwZGF0ZSB2bXhfe2Fk ZCxmaW5kfV9tc3IoKSB0byBjYWxjdWxhdGUKd2hpY2ggc3VibGlzdCB0byBzZWFyY2gsIGJhc2Vk IG9uIHR5cGUuICBWTVhfTVNSX0hPU1QgaGFzIG5vIGxvZ2ljYWwgc3VibGlzdCwKd2hlcmVhcyBW TVhfTVNSX0dVRVNUIGhhcyBhIHN1Ymxpc3QgYmV0d2VlbiAwIGFuZCB0aGUgc2F2ZSBjb3VudCwg d2hpbGUKVk1YX01TUl9HVUVTVF9MT0FET05MWSBoYXMgYSBzdWJsaXN0IGJldHdlZW4gdGhlIHNh dmUgY291bnQgYW5kIHRoZSBsb2FkCmNvdW50LgoKT25lIHN1YnRsZSBwb2ludCBpcyB0aGF0IGlu c2VydGluZyBhbiBNU1IgaW50byB0aGUgbG9hZC1zYXZlIGxpc3QgaW52b2x2ZXMKbW92aW5nIHRo ZSBlbnRpcmUgbG9hZC1vbmx5IGxpc3QsIGFuZCB1cGRhdGluZyBib3RoIGNvdW50cy4KClNpZ25l ZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpD QzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogSnVuIE5ha2FqaW1hIDxqdW4u bmFrYWppbWFAaW50ZWwuY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8 cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICAg ICAgICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB4ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYyAgICAgICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYv aHZtL3ZteC92bWNzLmggfCAgNCArKystCiAzIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMo KyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Zt Y3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYwppbmRleCBiNzVjYzkwLi43YmYxOWEw IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS92bXgvdm1jcy5jCkBAIC0xMzEzLDcgKzEzMTMsNyBAQCBzdHJ1Y3Qgdm14X21zcl9l bnRyeSAqdm14X2ZpbmRfbXNyKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBtc3IsCiB7CiAgICAg c3RydWN0IGFyY2hfdm14X3N0cnVjdCAqYXJjaF92bXggPSAmdi0+YXJjaC5odm1fdm14OwogICAg IHN0cnVjdCB2bXhfbXNyX2VudHJ5ICpzdGFydCA9IE5VTEwsICplbnQsICplbmQ7Ci0gICAgdW5z aWduZWQgaW50IHRvdGFsOworICAgIHVuc2lnbmVkIGludCBzdWJzdGFydCwgc3ViZW5kLCB0b3Rh bDsKIAogICAgIEFTU0VSVCh2ID09IGN1cnJlbnQgfHwgIXZjcHVfcnVubmFibGUodikpOwogCkBA IC0xMzIxLDEyICsxMzIxLDIzIEBAIHN0cnVjdCB2bXhfbXNyX2VudHJ5ICp2bXhfZmluZF9tc3Io c3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwKICAgICB7CiAgICAgY2FzZSBWTVhfTVNSX0hP U1Q6CiAgICAgICAgIHN0YXJ0ICAgID0gYXJjaF92bXgtPmhvc3RfbXNyX2FyZWE7Ci0gICAgICAg IHRvdGFsICAgID0gYXJjaF92bXgtPmhvc3RfbXNyX2NvdW50OworICAgICAgICBzdWJzdGFydCA9 IDA7CisgICAgICAgIHN1YmVuZCAgID0gYXJjaF92bXgtPmhvc3RfbXNyX2NvdW50OworICAgICAg ICB0b3RhbCAgICA9IHN1YmVuZDsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFZNWF9NU1Jf R1VFU1Q6CiAgICAgICAgIHN0YXJ0ICAgID0gYXJjaF92bXgtPm1zcl9hcmVhOwotICAgICAgICB0 b3RhbCAgICA9IGFyY2hfdm14LT5tc3JfY291bnQ7CisgICAgICAgIHN1YnN0YXJ0ID0gMDsKKyAg ICAgICAgc3ViZW5kICAgPSBhcmNoX3ZteC0+bXNyX3NhdmVfY291bnQ7CisgICAgICAgIHRvdGFs ICAgID0gYXJjaF92bXgtPm1zcl9sb2FkX2NvdW50OworICAgICAgICBicmVhazsKKworICAgIGNh c2UgVk1YX01TUl9HVUVTVF9MT0FET05MWToKKyAgICAgICAgc3RhcnQgICAgPSBhcmNoX3ZteC0+ bXNyX2FyZWE7CisgICAgICAgIHN1YnN0YXJ0ID0gYXJjaF92bXgtPm1zcl9zYXZlX2NvdW50Owor ICAgICAgICBzdWJlbmQgICA9IGFyY2hfdm14LT5tc3JfbG9hZF9jb3VudDsKKyAgICAgICAgdG90 YWwgICAgPSBzdWJlbmQ7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKQEAgLTEzMzcs NyArMTM0OCw3IEBAIHN0cnVjdCB2bXhfbXNyX2VudHJ5ICp2bXhfZmluZF9tc3Ioc3RydWN0IHZj cHUgKnYsIHVpbnQzMl90IG1zciwKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBlbmQgPSBz dGFydCArIHRvdGFsOwotICAgIGVudCA9IGxvY2F0ZV9tc3JfZW50cnkoc3RhcnQsIGVuZCwgbXNy KTsKKyAgICBlbnQgPSBsb2NhdGVfbXNyX2VudHJ5KHN0YXJ0ICsgc3Vic3RhcnQsIHN0YXJ0ICsg c3ViZW5kLCBtc3IpOwogCiAgICAgcmV0dXJuICgoZW50IDwgZW5kKSAmJiAoZW50LT5pbmRleCA9 PSBtc3IpKSA/IGVudCA6IE5VTEw7CiB9CkBAIC0xMzQ3LDcgKzEzNTgsNyBAQCBpbnQgdm14X2Fk ZF9tc3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgdWludDY0X3QgdmFsLAogewogICAg IHN0cnVjdCBhcmNoX3ZteF9zdHJ1Y3QgKmFyY2hfdm14ID0gJnYtPmFyY2guaHZtX3ZteDsKICAg ICBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqKnB0ciwgKnN0YXJ0ID0gTlVMTCwgKmVudCwgKmVuZDsK LSAgICB1bnNpZ25lZCBpbnQgdG90YWw7CisgICAgdW5zaWduZWQgaW50IHN1YnN0YXJ0LCBzdWJl bmQsIHRvdGFsOwogICAgIGludCByYzsKIAogICAgIEFTU0VSVCh2ID09IGN1cnJlbnQgfHwgIXZj cHVfcnVubmFibGUodikpOwpAQCAtMTM1NiwxMiArMTM2NywyMyBAQCBpbnQgdm14X2FkZF9tc3Io c3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgdWludDY0X3QgdmFsLAogICAgIHsKICAgICBj YXNlIFZNWF9NU1JfSE9TVDoKICAgICAgICAgcHRyICAgICAgPSAmYXJjaF92bXgtPmhvc3RfbXNy X2FyZWE7Ci0gICAgICAgIHRvdGFsICAgID0gYXJjaF92bXgtPmhvc3RfbXNyX2NvdW50OworICAg ICAgICBzdWJzdGFydCA9IDA7CisgICAgICAgIHN1YmVuZCAgID0gYXJjaF92bXgtPmhvc3RfbXNy X2NvdW50OworICAgICAgICB0b3RhbCAgICA9IHN1YmVuZDsKICAgICAgICAgYnJlYWs7CiAKICAg ICBjYXNlIFZNWF9NU1JfR1VFU1Q6CiAgICAgICAgIHB0ciAgICAgID0gJmFyY2hfdm14LT5tc3Jf YXJlYTsKLSAgICAgICAgdG90YWwgICAgPSBhcmNoX3ZteC0+bXNyX2NvdW50OworICAgICAgICBz dWJzdGFydCA9IDA7CisgICAgICAgIHN1YmVuZCAgID0gYXJjaF92bXgtPm1zcl9zYXZlX2NvdW50 OworICAgICAgICB0b3RhbCAgICA9IGFyY2hfdm14LT5tc3JfbG9hZF9jb3VudDsKKyAgICAgICAg YnJlYWs7CisKKyAgICBjYXNlIFZNWF9NU1JfR1VFU1RfTE9BRE9OTFk6CisgICAgICAgIHB0ciAg ICAgID0gJmFyY2hfdm14LT5tc3JfYXJlYTsKKyAgICAgICAgc3Vic3RhcnQgPSBhcmNoX3ZteC0+ bXNyX3NhdmVfY291bnQ7CisgICAgICAgIHN1YmVuZCAgID0gYXJjaF92bXgtPm1zcl9sb2FkX2Nv dW50OworICAgICAgICB0b3RhbCAgICA9IHN1YmVuZDsKICAgICAgICAgYnJlYWs7CiAKICAgICBk ZWZhdWx0OgpAQCAtMTM5MSw2ICsxNDEzLDcgQEAgaW50IHZteF9hZGRfbXNyKHN0cnVjdCB2Y3B1 ICp2LCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90IHZhbCwKICAgICAgICAgICAgIGJyZWFrOwogCiAg ICAgICAgIGNhc2UgVk1YX01TUl9HVUVTVDoKKyAgICAgICAgY2FzZSBWTVhfTVNSX0dVRVNUX0xP QURPTkxZOgogICAgICAgICAgICAgX192bXdyaXRlKFZNX0VYSVRfTVNSX1NUT1JFX0FERFIsIGFk ZHIpOwogICAgICAgICAgICAgX192bXdyaXRlKFZNX0VOVFJZX01TUl9MT0FEX0FERFIsIGFkZHIp OwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMzk5LDcgKzE0MjIsNyBAQCBpbnQgdm14X2FkZF9t c3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgdWludDY0X3QgdmFsLAogCiAgICAgc3Rh cnQgPSAqcHRyOwogICAgIGVuZCAgID0gc3RhcnQgKyB0b3RhbDsKLSAgICBlbnQgICA9IGxvY2F0 ZV9tc3JfZW50cnkoc3RhcnQsIGVuZCwgbXNyKTsKKyAgICBlbnQgICA9IGxvY2F0ZV9tc3JfZW50 cnkoc3RhcnQgKyBzdWJzdGFydCwgc3RhcnQgKyBzdWJlbmQsIG1zcik7CiAKICAgICBpZiAoIChl bnQgPCBlbmQpICYmIChlbnQtPmluZGV4ID09IG1zcikgKQogICAgICAgICBnb3RvIGZvdW5kOwpA QCAtMTQyMyw4ICsxNDQ2LDExIEBAIGludCB2bXhfYWRkX21zcihzdHJ1Y3QgdmNwdSAqdiwgdWlu dDMyX3QgbXNyLCB1aW50NjRfdCB2YWwsCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBWTVhf TVNSX0dVRVNUOgotICAgICAgICBfX3Ztd3JpdGUoVk1fRVhJVF9NU1JfU1RPUkVfQ09VTlQsICsr YXJjaF92bXgtPm1zcl9jb3VudCk7Ci0gICAgICAgIF9fdm13cml0ZShWTV9FTlRSWV9NU1JfTE9B RF9DT1VOVCwgYXJjaF92bXgtPm1zcl9jb3VudCk7CisgICAgICAgIF9fdm13cml0ZShWTV9FWElU X01TUl9TVE9SRV9DT1VOVCwgKythcmNoX3ZteC0+bXNyX3NhdmVfY291bnQpOworCisgICAgICAg IC8qIEZhbGx0aHJvdWdoICovCisgICAgY2FzZSBWTVhfTVNSX0dVRVNUX0xPQURPTkxZOgorICAg ICAgICBfX3Ztd3JpdGUoVk1fRU5UUllfTVNSX0xPQURfQ09VTlQsICsrYXJjaF92bXgtPm1zcl9s b2FkX2NvdW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IDE3 ODNjZDguLjI2ZTQyMDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC00MTYwLDcgKzQxNjAsNyBAQCB2b2lk IHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHN0YXRpYyB2 b2lkIGxicl90c3hfZml4dXAodm9pZCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJl bnQ7Ci0gICAgdW5zaWduZWQgaW50IG1zcl9jb3VudCA9IGN1cnItPmFyY2guaHZtX3ZteC5tc3Jf Y291bnQ7CisgICAgdW5zaWduZWQgaW50IG1zcl9jb3VudCA9IGN1cnItPmFyY2guaHZtX3ZteC5t c3Jfc2F2ZV9jb3VudDsKICAgICBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqbXNyX2FyZWEgPSBjdXJy LT5hcmNoLmh2bV92bXgubXNyX2FyZWE7CiAgICAgc3RydWN0IHZteF9tc3JfZW50cnkgKm1zcjsK IApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKaW5kZXggYWNjZDZmYi4uYjBmY2NkMiAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oCkBAIC0xMzksNyArMTM5LDggQEAgc3RydWN0IGFy Y2hfdm14X3N0cnVjdCB7CiAgICAgICovCiAgICAgc3RydWN0IHZteF9tc3JfZW50cnkgKm1zcl9h cmVhOwogICAgIHN0cnVjdCB2bXhfbXNyX2VudHJ5ICpob3N0X21zcl9hcmVhOwotICAgIHVuc2ln bmVkIGludCAgICAgICAgIG1zcl9jb3VudDsKKyAgICB1bnNpZ25lZCBpbnQgICAgICAgICBtc3Jf bG9hZF9jb3VudDsKKyAgICB1bnNpZ25lZCBpbnQgICAgICAgICBtc3Jfc2F2ZV9jb3VudDsKICAg ICB1bnNpZ25lZCBpbnQgICAgICAgICBob3N0X21zcl9jb3VudDsKIAogICAgIHVuc2lnbmVkIGxv bmcgICAgICAgIGVvaV9leGl0bWFwX2NoYW5nZWQ7CkBAIC01NDIsNiArNTQzLDcgQEAgZW51bSB2 bXhfaW5zbl9lcnJubwogZW51bSB2bXhfbXNyX2xpc3RfdHlwZSB7CiAgICAgVk1YX01TUl9IT1NU LAogICAgIFZNWF9NU1JfR1VFU1QsCisgICAgVk1YX01TUl9HVUVTVF9MT0FET05MWSwKIH07CiAK IGludCB2bXhfYWRkX21zcihzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCB2 YWwsCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=