From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 13/27] x86/vvmx: Use hvm_cr4_guest_valid_bits() to calculate MSR_IA32_VMX_CR4_FIXED1 Date: Wed, 4 Jan 2017 12:39:30 +0000 Message-ID: <1483533584-8015-14-git-send-email-andrew.cooper3@citrix.com> References: <1483533584-8015-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: <1483533584-8015-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich List-Id: xen-devel@lists.xenproject.org UmV1c2UgdGhlIGxvZ2ljIGluIGh2bV9jcjRfZ3Vlc3RfdmFsaWRfYml0cygpIGluc3RlYWQgb2Yg ZHVwbGljYXRpbmcgaXQuCgpUaGlzIGZpeGVzIGEgYnVnIHRvIGRvIHdpdGggdGhlIGhhbmRsaW5n IG9mIFg4Nl9DUjRfUENFLiAgVGhlIFJEUE1DCmluc3RydWN0aW9uIHByZWRhdGUgdGhlIGFyY2hp dGVjdHVyYWwgcGVyZm9ybWFuY2UgZmVhdHVyZSwgYW5kIGhhcyBiZWVuIGFyb3VuZApzaW5jZSB0 aGUgUDYuICBYODZfQ1I0X1BDRSBpcyBsaWtlIFg4Nl9DUjRfVFNEIGFuZCBvbmx5IGNvbnRyb2xz IHdoZXRoZXIgUkRQTUMKaXMgYXZhaWxhYmxlIGF0IGNwbCE9MCwgbm90IHdoZXRoZXIgUkRQTUMg aXMgZ2VuZXJhbGx5IHVuYXZhaWxhYmxlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hA c3VzZS5jb20+CkNDOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CkNDOiBL ZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3Zt eC92dm14LmMgfCA1OCArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0v dm14L3Z2bXguYwppbmRleCBkNTNjNTc2Li4wYTI5OGM3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBAIC0x ODQ5LDE2ICsxODQ5LDEyIEBAIGludCBudm14X2hhbmRsZV9pbnZ2cGlkKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogaW50IG52bXhfbXNyX3JlYWRfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBt c3IsIHU2NCAqbXNyX2NvbnRlbnQpCiB7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Owot ICAgIHVuc2lnbmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHg7CisgICAgc3RydWN0IGRvbWFpbiAq ZCA9IHYtPmRvbWFpbjsKICAgICB1NjQgZGF0YSA9IDAsIGhvc3RfZGF0YSA9IDA7CiAgICAgaW50 IHIgPSAxOwogCi0gICAgaWYgKCAhbmVzdGVkaHZtX2VuYWJsZWQodi0+ZG9tYWluKSApCi0gICAg ICAgIHJldHVybiAwOwotCiAgICAgLyogVk1YIGNhcGFibGl0eSBNU1JzIGFyZSBhdmFpbGFibGUg b25seSB3aGVuIGd1ZXN0IHN1cHBvcnRzIFZNWC4gKi8KLSAgICBodm1fY3B1aWQoMHgxLCBOVUxM LCBOVUxMLCAmZWN4LCAmZWR4KTsKLSAgICBpZiAoICEoZWN4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9G RUFUVVJFX1ZNWCkpICkKKyAgICBpZiAoICFuZXN0ZWRodm1fZW5hYmxlZChkKSB8fCAhZC0+YXJj aC5jcHVpZC0+YmFzaWMudm14ICkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAvKgpAQCAtMjAw NCw1NSArMjAwMCw3IEBAIGludCBudm14X21zcl9yZWFkX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQg bXNyLCB1NjQgKm1zcl9jb250ZW50KQogICAgICAgICBkYXRhID0gWDg2X0NSNF9WTVhFOwogICAg ICAgICBicmVhazsKICAgICBjYXNlIE1TUl9JQTMyX1ZNWF9DUjRfRklYRUQxOgotICAgICAgICBp ZiAoIGVkeCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9WTUUpICkKLSAgICAgICAgICAgIGRh dGEgfD0gWDg2X0NSNF9WTUUgfCBYODZfQ1I0X1BWSTsKLSAgICAgICAgaWYgKCBlZHggJiBjcHVm ZWF0X21hc2soWDg2X0ZFQVRVUkVfVFNDKSApCi0gICAgICAgICAgICBkYXRhIHw9IFg4Nl9DUjRf VFNEOwotICAgICAgICBpZiAoIGVkeCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9ERSkgKQot ICAgICAgICAgICAgZGF0YSB8PSBYODZfQ1I0X0RFOwotICAgICAgICBpZiAoIGVkeCAmIGNwdWZl YXRfbWFzayhYODZfRkVBVFVSRV9QU0UpICkKLSAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9Q U0U7Ci0gICAgICAgIGlmICggZWR4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1BBRSkgKQot ICAgICAgICAgICAgZGF0YSB8PSBYODZfQ1I0X1BBRTsKLSAgICAgICAgaWYgKCBlZHggJiBjcHVm ZWF0X21hc2soWDg2X0ZFQVRVUkVfTUNFKSApCi0gICAgICAgICAgICBkYXRhIHw9IFg4Nl9DUjRf TUNFOwotICAgICAgICBpZiAoIGVkeCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9QR0UpICkK LSAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9QR0U7Ci0gICAgICAgIGlmICggZWR4ICYgY3B1 ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0ZYU1IpICkKLSAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NS NF9PU0ZYU1I7Ci0gICAgICAgIGlmICggZWR4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NT RSkgKQotICAgICAgICAgICAgZGF0YSB8PSBYODZfQ1I0X09TWE1NRVhDUFQ7Ci0gICAgICAgIGlm ICggZWN4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1ZNWCkgKQotICAgICAgICAgICAgZGF0 YSB8PSBYODZfQ1I0X1ZNWEU7Ci0gICAgICAgIGlmICggZWN4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9G RUFUVVJFX1NNWCkgKQotICAgICAgICAgICAgZGF0YSB8PSBYODZfQ1I0X1NNWEU7Ci0gICAgICAg IGlmICggZWN4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1BDSUQpICkKLSAgICAgICAgICAg IGRhdGEgfD0gWDg2X0NSNF9QQ0lERTsKLSAgICAgICAgaWYgKCBlY3ggJiBjcHVmZWF0X21hc2so WDg2X0ZFQVRVUkVfWFNBVkUpICkKLSAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9PU1hTQVZF OwotCi0gICAgICAgIGh2bV9jcHVpZCgweDAsICZlYXgsIE5VTEwsIE5VTEwsIE5VTEwpOwotICAg ICAgICBzd2l0Y2ggKCBlYXggKQotICAgICAgICB7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg ICAgICBodm1fY3B1aWQoMHhhLCAmZWF4LCBOVUxMLCBOVUxMLCBOVUxMKTsKLSAgICAgICAgICAg IC8qIENoZWNrIHdoZXRoZXIgZ3Vlc3QgaGFzIHRoZSBwZXJmIG1vbml0b3IgZmVhdHVyZS4gKi8K LSAgICAgICAgICAgIGlmICggKGVheCAmIDB4ZmYpICYmIChlYXggJiAweGZmMDApICkKLSAgICAg ICAgICAgICAgICBkYXRhIHw9IFg4Nl9DUjRfUENFOwotICAgICAgICAgICAgLyogZmFsbCB0aHJv dWdoICovCi0gICAgICAgIGNhc2UgMHg3IC4uLiAweDk6Ci0gICAgICAgICAgICBlY3ggPSAwOwot ICAgICAgICAgICAgaHZtX2NwdWlkKDB4NywgTlVMTCwgJmVieCwgJmVjeCwgTlVMTCk7Ci0gICAg ICAgICAgICBpZiAoIGVieCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9GU0dTQkFTRSkgKQot ICAgICAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9GU0dTQkFTRTsKLSAgICAgICAgICAgIGlm ICggZWJ4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NNRVApICkKLSAgICAgICAgICAgICAg ICBkYXRhIHw9IFg4Nl9DUjRfU01FUDsKLSAgICAgICAgICAgIGlmICggZWJ4ICYgY3B1ZmVhdF9t YXNrKFg4Nl9GRUFUVVJFX1NNQVApICkKLSAgICAgICAgICAgICAgICBkYXRhIHw9IFg4Nl9DUjRf U01BUDsKLSAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwotICAgICAgICBjYXNlIDB4MCAu Li4gMHg2OgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICAgICAgZGF0YSA9IGh2 bV9jcjRfZ3Vlc3RfdmFsaWRfYml0cyh2LCAwKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBN U1JfSUEzMl9WTVhfTUlTQzoKICAgICAgICAgLyogRG8gbm90IHN1cHBvcnQgQ1IzLXRhcmdldCBm ZWF0dXJlIG5vdyAqLwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK