From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 6/9] x86/vmx: Pass an MSR value into vmx_msr_add() Date: Tue, 22 May 2018 12:20:43 +0100 Message-ID: <1526988046-22948-7-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 VGhlIG1haW4gcHVycG9zZSBvZiB0aGlzIGNoYW5nZSBpcyB0byBhbGxvdyB1cyB0byBzZXQgYSBz cGVjaWZpYyBNU1IgdmFsdWUsCndpdGhvdXQgbmVlZGluZyB0byBrbm93IHdoZXRoZXIgdGhlcmUg aXMgYWxyZWFkeSBhIGxvYWQvc2F2ZSBsaXN0IHNsb3QgZm9yIGl0LgpQcmV2aW91c2x5LCBjYWxs ZXJzIHdhbnRpbmcgdGhpcyBwcm9wZXJ0eSBuZWVkZWQgdG8gY2FsbCBib3RoIHZteF9hZGRfKl9t c3IoKQphbmQgdm14X3dyaXRlXypfbXNyKCkgdG8gY292ZXIgYm90aCBjYXNlcy4KCkFzIGEgcmVz dWx0IG9mIHRoaXMgQVBJIGltcHJvdmVtZW50LCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgZ3Vlc3Qg TVNScyBuZWVkIG5vdApiZSAwLCBhbmQgdGhlIGRlZmF1bHQgZm9yIGhvc3QgTVNScyBuZWVkIG5v dCBiZSBwYXNzZWQgdmlhIGhhcmR3YXJlIHJlZ2lzdGVyLgpJbiBwcmFjdGljZSwgdGhpcyBjbGVh bnMgdXAgdGhlIFZQTVUgYWxsb2NhdGlvbiBsb2dpYywgYW5kIGF2b2lkcyBhbiBNU1IgcmVhZAph cyBwYXJ0IG9mIHZjcHUgY29uc3RydWN0aW9uLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxp Y2hAc3VzZS5jb20+CkNDOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CkND OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUy QGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K LS0tCiB4ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwuYyAgICAgIHwgIDYgKystLS0tCiB4ZW4v YXJjaC94ODYvaHZtL3ZteC92bWNzLmMgICAgICAgIHwgMTcgKysrKysrKysrLS0tLS0tLS0KIHhl bi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jICAgICAgICAgfCAgMiArLQogeGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vdm14L3ZtY3MuaCB8IDEzICsrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwg MTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2NwdS92cG11X2ludGVsLmMgYi94ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwuYwppbmRl eCBjNDk5ZTY5Li4xZmM3OWM5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50 ZWwuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwuYwpAQCAtNDU0LDEzICs0NTQs MTEgQEAgc3RhdGljIGludCBjb3JlMl92cG11X2FsbG9jX3Jlc291cmNlKHN0cnVjdCB2Y3B1ICp2 KQogCiAgICAgaWYgKCBpc19odm1fdmNwdSh2KSApCiAgICAgewotICAgICAgICB3cm1zcmwoTVNS X0NPUkVfUEVSRl9HTE9CQUxfQ1RSTCwgMCk7Ci0gICAgICAgIGlmICggdm14X2FkZF9ob3N0X2xv YWRfbXNyKHYsIE1TUl9DT1JFX1BFUkZfR0xPQkFMX0NUUkwpICkKKyAgICAgICAgaWYgKCB2bXhf YWRkX2hvc3RfbG9hZF9tc3IodiwgTVNSX0NPUkVfUEVSRl9HTE9CQUxfQ1RSTCwgMCkgKQogICAg ICAgICAgICAgZ290byBvdXRfZXJyOwogCi0gICAgICAgIGlmICggdm14X2FkZF9ndWVzdF9tc3Io diwgTVNSX0NPUkVfUEVSRl9HTE9CQUxfQ1RSTCkgKQorICAgICAgICBpZiAoIHZteF9hZGRfZ3Vl c3RfbXNyKHYsIE1TUl9DT1JFX1BFUkZfR0xPQkFMX0NUUkwsIDApICkKICAgICAgICAgICAgIGdv dG8gb3V0X2VycjsKLSAgICAgICAgdm14X3dyaXRlX2d1ZXN0X21zcih2LCBNU1JfQ09SRV9QRVJG X0dMT0JBTF9DVFJMLCAwKTsKICAgICB9CiAKICAgICBjb3JlMl92cG11X2N4dCA9IHh6YWxsb2Nf Ynl0ZXMoc2l6ZW9mKCpjb3JlMl92cG11X2N4dCkgKwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS92bXgvdm1jcy5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCmluZGV4IDIwMzVh NmQuLmI3NWNjOTAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTEyNjksNyArMTI2OSw4IEBAIHN0YXRp YyBpbnQgY29uc3RydWN0X3ZtY3Moc3RydWN0IHZjcHUgKnYpCiAKICAgICAvKiBJZiB1c2luZyBo b3N0IGRlYnVnZ2luZywgcmVzdG9yZSBYZW4ncyBzZXR0aW5nIG9uIHZtZXhpdC4gKi8KICAgICBp ZiAoIHRoaXNfY3B1KGxlcl9tc3IpICYmCi0gICAgICAgICAocmMgPSB2bXhfYWRkX2hvc3RfbG9h ZF9tc3IodiwgTVNSX0lBMzJfREVCVUdDVExNU1IpKSAgKQorICAgICAgICAgKHJjID0gdm14X2Fk ZF9ob3N0X2xvYWRfbXNyKHYsIE1TUl9JQTMyX0RFQlVHQ1RMTVNSLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElBMzJfREVCVUdDVExNU1JfTEJSKSkgICkKICAgICAgICAg cmV0dXJuIHJjOwogCiAgICAgdm14X3ZtY3NfZXhpdCh2KTsKQEAgLTEzNDEsNyArMTM0Miw4IEBA IHN0cnVjdCB2bXhfbXNyX2VudHJ5ICp2bXhfZmluZF9tc3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQz Ml90IG1zciwKICAgICByZXR1cm4gKChlbnQgPCBlbmQpICYmIChlbnQtPmluZGV4ID09IG1zcikp ID8gZW50IDogTlVMTDsKIH0KIAotaW50IHZteF9hZGRfbXNyKHN0cnVjdCB2Y3B1ICp2LCB1aW50 MzJfdCBtc3IsIGVudW0gdm14X21zcl9saXN0X3R5cGUgdHlwZSkKK2ludCB2bXhfYWRkX21zcihz dHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCB2YWwsCisgICAgICAgICAgICAg ICAgZW51bSB2bXhfbXNyX2xpc3RfdHlwZSB0eXBlKQogewogICAgIHN0cnVjdCBhcmNoX3ZteF9z dHJ1Y3QgKmFyY2hfdm14ID0gJnYtPmFyY2guaHZtX3ZteDsKICAgICBzdHJ1Y3Qgdm14X21zcl9l bnRyeSAqKnB0ciwgKnN0YXJ0ID0gTlVMTCwgKmVudCwgKmVuZDsKQEAgLTE0MDAsMTEgKzE0MDIs OSBAQCBpbnQgdm14X2FkZF9tc3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgZW51bSB2 bXhfbXNyX2xpc3RfdHlwZSB0eXBlKQogICAgIGVudCAgID0gbG9jYXRlX21zcl9lbnRyeShzdGFy dCwgZW5kLCBtc3IpOwogCiAgICAgaWYgKCAoZW50IDwgZW5kKSAmJiAoZW50LT5pbmRleCA9PSBt c3IpICkKLSAgICB7Ci0gICAgICAgIHJjID0gMDsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQor ICAgICAgICBnb3RvIGZvdW5kOwogCisgICAgLyogSWYgdGhlcmUgaXNuJ3QgYW4gZXhpc3Rpbmcg ZW50cnkgZm9yIG1zciwgaW5zZXJ0IHJvb20gZm9yIG9uZS4gKi8KICAgICBpZiAoIHRvdGFsID09 IChQQUdFX1NJWkUgLyBzaXplb2YoKmVudCkpICkKICAgICB7CiAgICAgICAgIHJjID0gLUVOT1NQ QzsKQEAgLTE0MTksMTcgKzE0MTksMTggQEAgaW50IHZteF9hZGRfbXNyKHN0cnVjdCB2Y3B1ICp2 LCB1aW50MzJfdCBtc3IsIGVudW0gdm14X21zcl9saXN0X3R5cGUgdHlwZSkKICAgICBzd2l0Y2gg KCB0eXBlICkKICAgICB7CiAgICAgY2FzZSBWTVhfTVNSX0hPU1Q6Ci0gICAgICAgIHJkbXNybCht c3IsIGVudC0+ZGF0YSk7CiAgICAgICAgIF9fdm13cml0ZShWTV9FWElUX01TUl9MT0FEX0NPVU5U LCArK2FyY2hfdm14LT5ob3N0X21zcl9jb3VudCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz ZSBWTVhfTVNSX0dVRVNUOgotICAgICAgICBlbnQtPmRhdGEgPSAwOwogICAgICAgICBfX3Ztd3Jp dGUoVk1fRVhJVF9NU1JfU1RPUkVfQ09VTlQsICsrYXJjaF92bXgtPm1zcl9jb3VudCk7CiAgICAg ICAgIF9fdm13cml0ZShWTV9FTlRSWV9NU1JfTE9BRF9DT1VOVCwgYXJjaF92bXgtPm1zcl9jb3Vu dCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorICAgIC8qIFNldCB0aGUgbXNyJ3MgdmFsdWUu ICovCisgZm91bmQ6CisgICAgZW50LT5kYXRhID0gdmFsOwogICAgIHJjID0gMDsKIAogIG91dDoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2 bS92bXgvdm14LmMKaW5kZXggZjljZmI2ZC4uMTc4M2NkOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTMx MDksNyArMzEwOSw3IEBAIHN0YXRpYyBpbnQgdm14X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWdu ZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRlbnQpCiAKICAgICAgICAgICAgIGZvciAoIDsg KHJjID09IDApICYmIGxici0+Y291bnQ7IGxicisrICkKICAgICAgICAgICAgICAgICBmb3IgKCBp ID0gMDsgKHJjID09IDApICYmIChpIDwgbGJyLT5jb3VudCk7IGkrKyApCi0gICAgICAgICAgICAg ICAgICAgIGlmICggKHJjID0gdm14X2FkZF9ndWVzdF9tc3IodiwgbGJyLT5iYXNlICsgaSkpID09 IDAgKQorICAgICAgICAgICAgICAgICAgICBpZiAoIChyYyA9IHZteF9hZGRfZ3Vlc3RfbXNyKHYs IGxici0+YmFzZSArIGksIDApKSA9PSAwICkKICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgdm14X2NsZWFyX21zcl9pbnRlcmNlcHQodiwgbGJyLT5iYXNlICsg aSwgVk1YX01TUl9SVyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGxicl90c3hfZml4 dXBfbmVlZGVkICkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNz LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm1jcy5oCmluZGV4IGY2NmYxMjEuLmFj Y2Q2ZmIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bWNzLmgKKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZtY3MuaApAQCAtNTQ0LDE2ICs1NDQsMTcg QEAgZW51bSB2bXhfbXNyX2xpc3RfdHlwZSB7CiAgICAgVk1YX01TUl9HVUVTVCwKIH07CiAKLWlu dCB2bXhfYWRkX21zcihzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCBlbnVtIHZteF9tc3Jf bGlzdF90eXBlIHR5cGUpOworaW50IHZteF9hZGRfbXNyKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJf dCBtc3IsIHVpbnQ2NF90IHZhbCwKKyAgICAgICAgICAgICAgICBlbnVtIHZteF9tc3JfbGlzdF90 eXBlIHR5cGUpOwogCi1zdGF0aWMgaW5saW5lIGludCB2bXhfYWRkX2d1ZXN0X21zcihzdHJ1Y3Qg dmNwdSAqdiwgdWludDMyX3QgbXNyKQorc3RhdGljIGlubGluZSBpbnQgdm14X2FkZF9ndWVzdF9t c3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgdWludDY0X3QgdmFsKQogewotICAgIHJl dHVybiB2bXhfYWRkX21zcih2LCBtc3IsIFZNWF9NU1JfR1VFU1QpOworICAgIHJldHVybiB2bXhf YWRkX21zcih2LCBtc3IsIHZhbCwgVk1YX01TUl9HVUVTVCk7CiB9Ci0KLXN0YXRpYyBpbmxpbmUg aW50IHZteF9hZGRfaG9zdF9sb2FkX21zcihzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyKQor c3RhdGljIGlubGluZSBpbnQgdm14X2FkZF9ob3N0X2xvYWRfbXNyKHN0cnVjdCB2Y3B1ICp2LCB1 aW50MzJfdCBtc3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDY0X3QgdmFsKQogewotICAgIHJldHVybiB2bXhfYWRkX21zcih2LCBtc3IsIFZNWF9NU1JfSE9T VCk7CisgICAgcmV0dXJuIHZteF9hZGRfbXNyKHYsIG1zciwgdmFsLCBWTVhfTVNSX0hPU1QpOwog fQogCiBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqdm14X2ZpbmRfbXNyKHN0cnVjdCB2Y3B1ICp2LCB1 aW50MzJfdCBtc3IsCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=