From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergey Dyasli Subject: [PATCH v3 4/6] x86/msr: add VMX MSRs into HVM_max domain policy Date: Fri, 13 Oct 2017 13:35:10 +0100 Message-ID: <20171013123512.26102-5-sergey.dyasli@citrix.com> References: <20171013123512.26102-1-sergey.dyasli@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171013123512.26102-1-sergey.dyasli@citrix.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: Andrew Cooper , Kevin Tian , Jan Beulich , Jun Nakajima , Sergey Dyasli List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCB3aGVuIG5lc3RlZCB2aXJ0IGlzIGVuYWJsZWQsIHRoZSBzZXQgb2YgTDEgVk1Y IGZlYXR1cmVzCmlzIGZpeGVkIGFuZCBjYWxjdWxhdGVkIGJ5IG52bXhfbXNyX3JlYWRfaW50ZXJj ZXB0KCkgYXMgYW4gaW50ZXJzZWN0aW9uCmJldHdlZW4gdGhlIGZ1bGwgc2V0IG9mIFhlbidzIHN1 cHBvcnRlZCBMMSBWTVggZmVhdHVyZXMsIHRoZSBzZXQgb2YKYWN0dWFsIEgvVyBmZWF0dXJlcyBh bmQsIGZvciBNU1JfSUEzMl9WTVhfRVBUX1ZQSURfQ0FQLCB0aGUgc2V0IG9mCmZlYXR1cmVzIHRo YXQgWGVuIHVzZXMuCgpBZGQgY2FsY3VsYXRlX2h2bV9tYXhfdm14X3BvbGljeSgpIHdoaWNoIHdp bGwgc2F2ZSB0aGUgZW5kIHJlc3VsdCBvZgpudm14X21zcl9yZWFkX2ludGVyY2VwdCgpIG9uIGN1 cnJlbnQgSC9XIGludG8gSFZNX21heCBkb21haW4gcG9saWN5LgpUaGVyZSB3aWxsIGJlIG5vIGZ1 bmN0aW9uYWwgY2hhbmdlIHRvIHdoYXQgTDEgc2VlcyBpbiBWTVggTVNScy4gQnV0IHRoZQphY3R1 YWwgdXNlIG9mIEhWTV9tYXggZG9tYWluIHBvbGljeSB3aWxsIGhhcHBlbiBsYXRlciwgd2hlbiBW TVggTVNScwphcmUgaGFuZGxlZCBieSBndWVzdF9yZC93cm1zcigpLgoKU2lnbmVkLW9mZi1ieTog U2VyZ2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4 Ni9tc3IuYyB8IDE0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L21zci5jIGIveGVuL2FyY2gveDg2L21zci5jCmluZGV4IDk1NWFiYTA4 NDkuLjM4OGYxOWU1MGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tc3IuYworKysgYi94ZW4v YXJjaC94ODYvbXNyLmMKQEAgLTEyOSw2ICsxMjksMTQ0IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBj YWxjdWxhdGVfaG9zdF9wb2xpY3kodm9pZCkKICAgICAqZHAgPSByYXdfbXNyX2RvbWFpbl9wb2xp Y3k7CiB9CiAKKyNkZWZpbmUgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIG1zciwgZmllbGQpICAg ICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBkcC0+bXNyLnUuYWxsb3dlZF8xLmZpZWxk ID0gICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGhvc3RfbXNyX2RvbWFp bl9wb2xpY3kubXNyLnUuYWxsb3dlZF8xLmZpZWxkOyAgICBcCisgICAgICAgIGRwLT5tc3IudS5h bGxvd2VkXzAuZmllbGQgPSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg aG9zdF9tc3JfZG9tYWluX3BvbGljeS5tc3IudS5hbGxvd2VkXzAuZmllbGQ7ICAgIFwKKyAgICB9 IHdoaWxlICgwKQorCitzdGF0aWMgdm9pZCBfX2luaXQgY2FsY3VsYXRlX2h2bV9tYXhfdm14X3Bv bGljeShzdHJ1Y3QgbXNyX2RvbWFpbl9wb2xpY3kgKmRwKQoreworICAgIGlmICggIWNwdV9oYXNf dm14ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgZHAtPnZteF9iYXNpYy5hdmFpbGFibGUgPSB0 cnVlOworICAgIGRwLT52bXhfYmFzaWMudS5yYXcgPSBob3N0X21zcl9kb21haW5fcG9saWN5LnZt eF9iYXNpYy51LnJhdzsKKworICAgIGRwLT52bXhfcGluYmFzZWRfY3Rscy5hdmFpbGFibGUgPSB0 cnVlOworICAgIGRwLT52bXhfcGluYmFzZWRfY3Rscy51LnJhdyA9CisgICAgICAgICgodWludDY0 X3QpIFZNWF9QSU5CQVNFRF9DVExTX0RFRkFVTFQxIDw8IDMyKSB8CisgICAgICAgIFZNWF9QSU5C QVNFRF9DVExTX0RFRkFVTFQxOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfcGlu YmFzZWRfY3RscywgZXh0X2ludHJfZXhpdGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHko ZHAsIHZteF9waW5iYXNlZF9jdGxzLCBubWlfZXhpdGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dl ZF9jcHkoZHAsIHZteF9waW5iYXNlZF9jdGxzLCBwcmVlbXB0X3RpbWVyKTsKKworICAgIGRwLT52 bXhfcHJvY2Jhc2VkX2N0bHMuYXZhaWxhYmxlID0gdHJ1ZTsKKyAgICBkcC0+dm14X3Byb2NiYXNl ZF9jdGxzLnUucmF3ID0KKyAgICAgICAgKCh1aW50NjRfdCkgVk1YX1BST0NCQVNFRF9DVExTX0RF RkFVTFQxIDw8IDMyKSB8CisgICAgICAgIFZNWF9QUk9DQkFTRURfQ1RMU19ERUZBVUxUMTsKKyAg ICB2bXhfaG9zdF9hbGxvd2VkX2NweShkcCwgdm14X3Byb2NiYXNlZF9jdGxzLCB2aXJ0dWFsX2lu dHJfcGVuZGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRf Y3RscywgdXNlX3RzY19vZmZzZXRpbmcpOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2 bXhfcHJvY2Jhc2VkX2N0bHMsIGhsdF9leGl0aW5nKTsKKyAgICB2bXhfaG9zdF9hbGxvd2VkX2Nw eShkcCwgdm14X3Byb2NiYXNlZF9jdGxzLCBpbnZscGdfZXhpdGluZyk7CisgICAgdm14X2hvc3Rf YWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RscywgbXdhaXRfZXhpdGluZyk7CisgICAg dm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RscywgcmRwbWNfZXhpdGlu Zyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RscywgcmR0 c2NfZXhpdGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRf Y3RscywgY3I4X2xvYWRfZXhpdGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZt eF9wcm9jYmFzZWRfY3RscywgY3I4X3N0b3JlX2V4aXRpbmcpOworICAgIHZteF9ob3N0X2FsbG93 ZWRfY3B5KGRwLCB2bXhfcHJvY2Jhc2VkX2N0bHMsIHRwcl9zaGFkb3cpOworICAgIHZteF9ob3N0 X2FsbG93ZWRfY3B5KGRwLCB2bXhfcHJvY2Jhc2VkX2N0bHMsIHZpcnR1YWxfbm1pX3BlbmRpbmcp OworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfcHJvY2Jhc2VkX2N0bHMsIG1vdl9k cl9leGl0aW5nKTsKKyAgICB2bXhfaG9zdF9hbGxvd2VkX2NweShkcCwgdm14X3Byb2NiYXNlZF9j dGxzLCB1bmNvbmRfaW9fZXhpdGluZyk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZt eF9wcm9jYmFzZWRfY3RscywgYWN0aXZhdGVfaW9fYml0bWFwKTsKKyAgICB2bXhfaG9zdF9hbGxv d2VkX2NweShkcCwgdm14X3Byb2NiYXNlZF9jdGxzLCBtb25pdG9yX3RyYXBfZmxhZyk7CisgICAg dm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RscywgYWN0aXZhdGVfbXNy X2JpdG1hcCk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3Rs cywgbW9uaXRvcl9leGl0aW5nKTsKKyAgICB2bXhfaG9zdF9hbGxvd2VkX2NweShkcCwgdm14X3By b2NiYXNlZF9jdGxzLCBwYXVzZV9leGl0aW5nKTsKKyAgICB2bXhfaG9zdF9hbGxvd2VkX2NweShk cCwgdm14X3Byb2NiYXNlZF9jdGxzLCBhY3RpdmF0ZV9zZWNvbmRhcnlfY29udHJvbHMpOworCisg ICAgZHAtPnZteF9leGl0X2N0bHMuYXZhaWxhYmxlID0gdHJ1ZTsKKyAgICBkcC0+dm14X2V4aXRf Y3Rscy51LnJhdyA9CisgICAgICAgICgodWludDY0X3QpIFZNWF9FWElUX0NUTFNfREVGQVVMVDEg PDwgMzIpIHwKKyAgICAgICAgVk1YX0VYSVRfQ1RMU19ERUZBVUxUMTsKKyAgICB2bXhfaG9zdF9h bGxvd2VkX2NweShkcCwgdm14X2V4aXRfY3RscywgaWEzMmVfbW9kZSk7CisgICAgdm14X2hvc3Rf YWxsb3dlZF9jcHkoZHAsIHZteF9leGl0X2N0bHMsIGxvYWRfcGVyZl9nbG9iYWxfY3RybCk7Cisg ICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9leGl0X2N0bHMsIGFja19pbnRyX29uX2V4 aXQpOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfZXhpdF9jdGxzLCBzYXZlX2d1 ZXN0X3BhdCk7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9leGl0X2N0bHMsIGxv YWRfaG9zdF9wYXQpOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfZXhpdF9jdGxz LCBzYXZlX2d1ZXN0X2VmZXIpOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfZXhp dF9jdGxzLCBsb2FkX2hvc3RfZWZlcik7CisgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZt eF9leGl0X2N0bHMsIHNhdmVfcHJlZW1wdF90aW1lcik7CisKKyAgICBkcC0+dm14X2VudHJ5X2N0 bHMuYXZhaWxhYmxlID0gdHJ1ZTsKKyAgICBkcC0+dm14X2VudHJ5X2N0bHMudS5yYXcgPQorICAg ICAgICAoKHVpbnQ2NF90KSBWTVhfRU5UUllfQ1RMU19ERUZBVUxUMSA8PCAzMikgfAorICAgICAg ICBWTVhfRU5UUllfQ1RMU19ERUZBVUxUMTsKKyAgICB2bXhfaG9zdF9hbGxvd2VkX2NweShkcCwg dm14X2VudHJ5X2N0bHMsIGlhMzJlX21vZGUpOworICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5KGRw LCB2bXhfZW50cnlfY3RscywgbG9hZF9wZXJmX2dsb2JhbF9jdHJsKTsKKyAgICB2bXhfaG9zdF9h bGxvd2VkX2NweShkcCwgdm14X2VudHJ5X2N0bHMsIGxvYWRfZ3Vlc3RfcGF0KTsKKyAgICB2bXhf aG9zdF9hbGxvd2VkX2NweShkcCwgdm14X2VudHJ5X2N0bHMsIGxvYWRfZ3Vlc3RfZWZlcik7CisK KyAgICBkcC0+dm14X21pc2MuYXZhaWxhYmxlID0gdHJ1ZTsKKyAgICBkcC0+dm14X21pc2MudS5y YXcgPSBob3N0X21zcl9kb21haW5fcG9saWN5LnZteF9taXNjLnUucmF3OworICAgIC8qIERvIG5v dCBzdXBwb3J0IENSMy10YXJnZXQgZmVhdHVyZSBub3cgKi8KKyAgICBkcC0+dm14X21pc2MudS5j cjNfdGFyZ2V0ID0gZmFsc2U7CisKKyAgICBkcC0+dm14X2NyMF9maXhlZDAuYXZhaWxhYmxlID0g dHJ1ZTsKKyAgICAvKiBQRywgUEUgYml0cyBtdXN0IGJlIDEgaW4gVk1YIG9wZXJhdGlvbiAqLwor ICAgIGRwLT52bXhfY3IwX2ZpeGVkMC51LmFsbG93ZWRfMC5wZSA9IHRydWU7CisgICAgZHAtPnZt eF9jcjBfZml4ZWQwLnUuYWxsb3dlZF8wLnBnID0gdHJ1ZTsKKworICAgIGRwLT52bXhfY3IwX2Zp eGVkMS5hdmFpbGFibGUgPSB0cnVlOworICAgIC8qIGFsbG93IDAtc2V0dGluZ3MgZm9yIGFsbCBi aXRzICovCisgICAgZHAtPnZteF9jcjBfZml4ZWQxLnUucmF3ID0gMHhmZmZmZmZmZjsKKworICAg IGRwLT52bXhfY3I0X2ZpeGVkMC5hdmFpbGFibGUgPSB0cnVlOworICAgIC8qIFZNWEUgYml0IG11 c3QgYmUgMSBpbiBWTVggb3BlcmF0aW9uICovCisgICAgZHAtPnZteF9jcjRfZml4ZWQwLnUuYWxs b3dlZF8wLnZteGUgPSB0cnVlOworCisgICAgZHAtPnZteF9jcjRfZml4ZWQxLmF2YWlsYWJsZSA9 IHRydWU7CisgICAgLyoKKyAgICAgKiBBbGxvd2VkIENSNCBiaXRzIHdpbGwgYmUgdXBkYXRlZCBk dXJpbmcgZG9tYWluIGNyZWF0aW9uIGJ5CisgICAgICogaHZtX2NyNF9ndWVzdF92YWxpZF9iaXRz KCkKKyAgICAgKi8KKyAgICBkcC0+dm14X2NyNF9maXhlZDEudS5yYXcgPSBob3N0X21zcl9kb21h aW5fcG9saWN5LnZteF9jcjRfZml4ZWQxLnUucmF3OworCisgICAgZHAtPnZteF92bWNzX2VudW0u YXZhaWxhYmxlID0gdHJ1ZTsKKyAgICAvKiBUaGUgbWF4IGluZGV4IG9mIFZWTUNTIGVuY29kaW5n IGlzIDB4MWYuICovCisgICAgZHAtPnZteF92bWNzX2VudW0udS52bWNzX2VuY29kaW5nX21heF9p ZHggPSAweDFmOworCisgICAgaWYgKCBkcC0+dm14X3Byb2NiYXNlZF9jdGxzLnUuYWxsb3dlZF8x LmFjdGl2YXRlX3NlY29uZGFyeV9jb250cm9scyApCisgICAgeworICAgICAgICBkcC0+dm14X3By b2NiYXNlZF9jdGxzMi5hdmFpbGFibGUgPSB0cnVlOworICAgICAgICB2bXhfaG9zdF9hbGxvd2Vk X2NweShkcCwgdm14X3Byb2NiYXNlZF9jdGxzMiwgdmlydHVhbGl6ZV9hcGljX2FjY2Vzc2VzKTsK KyAgICAgICAgdm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RsczIsIGVu YWJsZV9lcHQpOworICAgICAgICB2bXhfaG9zdF9hbGxvd2VkX2NweShkcCwgdm14X3Byb2NiYXNl ZF9jdGxzMiwgZGVzY3JpcHRvcl90YWJsZV9leGl0aW5nKTsKKyAgICAgICAgdm14X2hvc3RfYWxs b3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RsczIsIGVuYWJsZV92cGlkKTsKKyAgICAgICAg dm14X2hvc3RfYWxsb3dlZF9jcHkoZHAsIHZteF9wcm9jYmFzZWRfY3RsczIsIHVucmVzdHJpY3Rl ZF9ndWVzdCk7CisKKyAgICAgICAgaWYgKCBkcC0+dm14X3Byb2NiYXNlZF9jdGxzMi51LmFsbG93 ZWRfMS5lbmFibGVfZXB0IHx8CisgICAgICAgICAgICAgZHAtPnZteF9wcm9jYmFzZWRfY3RsczIu dS5hbGxvd2VkXzEuZW5hYmxlX3ZwaWQgKQorICAgICAgICB7CisgICAgICAgICAgICBkcC0+dm14 X2VwdF92cGlkX2NhcC5hdmFpbGFibGUgPSB0cnVlOworICAgICAgICAgICAgZHAtPnZteF9lcHRf dnBpZF9jYXAudS5yYXcgPSBuZXB0X2dldF9lcHRfdnBpZF9jYXAoKTsKKyAgICAgICAgfQorICAg IH0KKworICAgIGlmICggZHAtPnZteF9iYXNpYy51LmRlZmF1bHQxX3plcm8gKQorICAgIHsKKyAg ICAgICAgZHAtPnZteF90cnVlX3BpbmJhc2VkX2N0bHMuYXZhaWxhYmxlID0gdHJ1ZTsKKyAgICAg ICAgZHAtPnZteF90cnVlX3BpbmJhc2VkX2N0bHMudS5yYXcgPSBkcC0+dm14X3BpbmJhc2VkX2N0 bHMudS5yYXc7CisKKyAgICAgICAgZHAtPnZteF90cnVlX3Byb2NiYXNlZF9jdGxzLmF2YWlsYWJs ZSA9IHRydWU7CisgICAgICAgIGRwLT52bXhfdHJ1ZV9wcm9jYmFzZWRfY3Rscy51LnJhdyA9IGRw LT52bXhfcHJvY2Jhc2VkX2N0bHMudS5yYXc7CisgICAgICAgIHZteF9ob3N0X2FsbG93ZWRfY3B5 KGRwLCB2bXhfdHJ1ZV9wcm9jYmFzZWRfY3RscywgY3IzX2xvYWRfZXhpdGluZyk7CisgICAgICAg IHZteF9ob3N0X2FsbG93ZWRfY3B5KGRwLCB2bXhfdHJ1ZV9wcm9jYmFzZWRfY3RscywgY3IzX3N0 b3JlX2V4aXRpbmcpOworCisgICAgICAgIGRwLT52bXhfdHJ1ZV9leGl0X2N0bHMuYXZhaWxhYmxl ID0gdHJ1ZTsKKyAgICAgICAgZHAtPnZteF90cnVlX2V4aXRfY3Rscy51LnJhdyA9IGRwLT52bXhf ZXhpdF9jdGxzLnUucmF3OworCisgICAgICAgIGRwLT52bXhfdHJ1ZV9lbnRyeV9jdGxzLmF2YWls YWJsZSA9IHRydWU7CisgICAgICAgIGRwLT52bXhfdHJ1ZV9lbnRyeV9jdGxzLnUucmF3ID0gZHAt PnZteF9lbnRyeV9jdGxzLnUucmF3OworICAgIH0KKworICAgIGRwLT52bXhfdm1mdW5jLmF2YWls YWJsZSA9IGZhbHNlOworfQorCisjdW5kZWYgdm14X2hvc3RfYWxsb3dlZF9jcHkKKwogc3RhdGlj IHZvaWQgX19pbml0IGNhbGN1bGF0ZV9odm1fbWF4X3BvbGljeSh2b2lkKQogewogICAgIHN0cnVj dCBtc3JfZG9tYWluX3BvbGljeSAqZHAgPSAmaHZtX21heF9tc3JfZG9tYWluX3BvbGljeTsKQEAg LTE0Niw2ICsyODQsOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgY2FsY3VsYXRlX2h2bV9tYXhfcG9s aWN5KHZvaWQpCiAKICAgICAvKiAweDAwMDAwMTQwICBNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19F TkFCTEVTICovCiAgICAgdnAtPm1pc2NfZmVhdHVyZXNfZW5hYmxlcy5hdmFpbGFibGUgPSBkcC0+ cGxhZm9ybV9pbmZvLmF2YWlsYWJsZTsKKworICAgIGNhbGN1bGF0ZV9odm1fbWF4X3ZteF9wb2xp Y3koZHApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgY2FsY3VsYXRlX3B2X21heF9wb2xpY3ko dm9pZCkKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=