From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/6] x86/vpmu: Use vmx_{clear, set}_msr_intercept() rather than opencoding them Date: Wed, 19 Jul 2017 12:57:53 +0100 Message-ID: <1500465477-23793-3-git-send-email-andrew.cooper3@citrix.com> References: <1500465477-23793-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: <1500465477-23793-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: Boris Ostrovsky , Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNl LmNvbT4KQ0M6IEp1biBOYWthamltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KQ0M6IEtldmlu IFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5v c3Ryb3Zza3lAb3JhY2xlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwuYyB8 IDY0ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9pbnRl bC5jCmluZGV4IDZkNzY4Y2IuLmQ1OGVjYTMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUv dnBtdV9pbnRlbC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9pbnRlbC5jCkBAIC0yMzEs NjggKzIzMSw1MCBAQCBzdGF0aWMgaW5saW5lIGludCBtc3JhZGRyX3RvX2JpdHBvcyhpbnQgeCkK ICAgICByZXR1cm4geDsKIH0KIAotc3RhdGljIHZvaWQgY29yZTJfdnBtdV9zZXRfbXNyX2JpdG1h cCh1bnNpZ25lZCBsb25nICptc3JfYml0bWFwKQorc3RhdGljIHZvaWQgY29yZTJfdnBtdV9zZXRf bXNyX2JpdG1hcChzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBpbnQgaTsKKyAgICB1bnNpZ25lZCBp bnQgaTsKIAogICAgIC8qIEFsbG93IFJlYWQvV3JpdGUgUE1VIENvdW50ZXJzIE1TUiBEaXJlY3Rs eS4gKi8KICAgICBmb3IgKCBpID0gMDsgaSA8IGZpeGVkX3BtY19jbnQ7IGkrKyApCi0gICAgewot ICAgICAgICBjbGVhcl9iaXQobXNyYWRkcl90b19iaXRwb3MoTVNSX0NPUkVfUEVSRl9GSVhFRF9D VFIwICsgaSksIG1zcl9iaXRtYXApOwotICAgICAgICBjbGVhcl9iaXQobXNyYWRkcl90b19iaXRw b3MoTVNSX0NPUkVfUEVSRl9GSVhFRF9DVFIwICsgaSksCi0gICAgICAgICAgICAgICAgICBtc3Jf Yml0bWFwICsgMHg4MDAvQllURVNfUEVSX0xPTkcpOwotICAgIH0KKyAgICAgICAgdm14X2NsZWFy X21zcl9pbnRlcmNlcHQodiwgTVNSX0NPUkVfUEVSRl9GSVhFRF9DVFIwICsgaSwgVk1YX01TUl9S Vyk7CisKICAgICBmb3IgKCBpID0gMDsgaSA8IGFyY2hfcG1jX2NudDsgaSsrICkKICAgICB7Ci0g ICAgICAgIGNsZWFyX2JpdChtc3JhZGRyX3RvX2JpdHBvcyhNU1JfSUEzMl9QRVJGQ1RSMCtpKSwg bXNyX2JpdG1hcCk7Ci0gICAgICAgIGNsZWFyX2JpdChtc3JhZGRyX3RvX2JpdHBvcyhNU1JfSUEz Ml9QRVJGQ1RSMCtpKSwKLSAgICAgICAgICAgICAgICAgIG1zcl9iaXRtYXAgKyAweDgwMC9CWVRF U19QRVJfTE9ORyk7CisgICAgICAgIHZteF9jbGVhcl9tc3JfaW50ZXJjZXB0KHYsIE1TUl9JQTMy X1BFUkZDVFIwICsgaSwgVk1YX01TUl9SVyk7CiAKICAgICAgICAgaWYgKCBmdWxsX3dpZHRoX3dy aXRlICkKLSAgICAgICAgewotICAgICAgICAgICAgY2xlYXJfYml0KG1zcmFkZHJfdG9fYml0cG9z KE1TUl9JQTMyX0FfUEVSRkNUUjAgKyBpKSwgbXNyX2JpdG1hcCk7Ci0gICAgICAgICAgICBjbGVh cl9iaXQobXNyYWRkcl90b19iaXRwb3MoTVNSX0lBMzJfQV9QRVJGQ1RSMCArIGkpLAotICAgICAg ICAgICAgICAgICAgICAgIG1zcl9iaXRtYXAgKyAweDgwMC9CWVRFU19QRVJfTE9ORyk7Ci0gICAg ICAgIH0KKyAgICAgICAgICAgIHZteF9jbGVhcl9tc3JfaW50ZXJjZXB0KHYsIE1TUl9JQTMyX0Ff UEVSRkNUUjAgKyBpLCBWTVhfTVNSX1JXKTsKICAgICB9CiAKICAgICAvKiBBbGxvdyBSZWFkIFBN VSBOb24tZ2xvYmFsIENvbnRyb2xzIERpcmVjdGx5LiAqLwogICAgIGZvciAoIGkgPSAwOyBpIDwg YXJjaF9wbWNfY250OyBpKysgKQotICAgICAgICAgY2xlYXJfYml0KG1zcmFkZHJfdG9fYml0cG9z KE1TUl9QNl9FVk5UU0VMKGkpKSwgbXNyX2JpdG1hcCk7CisgICAgICAgIHZteF9jbGVhcl9tc3Jf aW50ZXJjZXB0KHYsIE1TUl9QNl9FVk5UU0VMKGkpLCBWTVhfTVNSX1IpOwogCi0gICAgY2xlYXJf Yml0KG1zcmFkZHJfdG9fYml0cG9zKE1TUl9DT1JFX1BFUkZfRklYRURfQ1RSX0NUUkwpLCBtc3Jf Yml0bWFwKTsKLSAgICBjbGVhcl9iaXQobXNyYWRkcl90b19iaXRwb3MoTVNSX0lBMzJfRFNfQVJF QSksIG1zcl9iaXRtYXApOworICAgIHZteF9jbGVhcl9tc3JfaW50ZXJjZXB0KHYsIE1TUl9DT1JF X1BFUkZfRklYRURfQ1RSX0NUUkwsIFZNWF9NU1JfUik7CisgICAgdm14X2NsZWFyX21zcl9pbnRl cmNlcHQodiwgTVNSX0lBMzJfRFNfQVJFQSwgVk1YX01TUl9SKTsKIH0KIAotc3RhdGljIHZvaWQg Y29yZTJfdnBtdV91bnNldF9tc3JfYml0bWFwKHVuc2lnbmVkIGxvbmcgKm1zcl9iaXRtYXApCitz dGF0aWMgdm9pZCBjb3JlMl92cG11X3Vuc2V0X21zcl9iaXRtYXAoc3RydWN0IHZjcHUgKnYpCiB7 Ci0gICAgaW50IGk7CisgICAgdW5zaWduZWQgaW50IGk7CiAKICAgICBmb3IgKCBpID0gMDsgaSA8 IGZpeGVkX3BtY19jbnQ7IGkrKyApCi0gICAgewotICAgICAgICBzZXRfYml0KG1zcmFkZHJfdG9f Yml0cG9zKE1TUl9DT1JFX1BFUkZfRklYRURfQ1RSMCArIGkpLCBtc3JfYml0bWFwKTsKLSAgICAg ICAgc2V0X2JpdChtc3JhZGRyX3RvX2JpdHBvcyhNU1JfQ09SRV9QRVJGX0ZJWEVEX0NUUjAgKyBp KSwKLSAgICAgICAgICAgICAgICBtc3JfYml0bWFwICsgMHg4MDAvQllURVNfUEVSX0xPTkcpOwot ICAgIH0KKyAgICAgICAgdm14X3NldF9tc3JfaW50ZXJjZXB0KHYsIE1TUl9DT1JFX1BFUkZfRklY RURfQ1RSMCArIGksIFZNWF9NU1JfUlcpOworCiAgICAgZm9yICggaSA9IDA7IGkgPCBhcmNoX3Bt Y19jbnQ7IGkrKyApCiAgICAgewotICAgICAgICBzZXRfYml0KG1zcmFkZHJfdG9fYml0cG9zKE1T Ul9JQTMyX1BFUkZDVFIwICsgaSksIG1zcl9iaXRtYXApOwotICAgICAgICBzZXRfYml0KG1zcmFk ZHJfdG9fYml0cG9zKE1TUl9JQTMyX1BFUkZDVFIwICsgaSksCi0gICAgICAgICAgICAgICAgbXNy X2JpdG1hcCArIDB4ODAwL0JZVEVTX1BFUl9MT05HKTsKKyAgICAgICAgdm14X3NldF9tc3JfaW50 ZXJjZXB0KHYsIE1TUl9JQTMyX1BFUkZDVFIwICsgaSwgVk1YX01TUl9SVyk7CiAKICAgICAgICAg aWYgKCBmdWxsX3dpZHRoX3dyaXRlICkKLSAgICAgICAgewotICAgICAgICAgICAgc2V0X2JpdCht c3JhZGRyX3RvX2JpdHBvcyhNU1JfSUEzMl9BX1BFUkZDVFIwICsgaSksIG1zcl9iaXRtYXApOwot ICAgICAgICAgICAgc2V0X2JpdChtc3JhZGRyX3RvX2JpdHBvcyhNU1JfSUEzMl9BX1BFUkZDVFIw ICsgaSksCi0gICAgICAgICAgICAgICAgICAgICAgbXNyX2JpdG1hcCArIDB4ODAwL0JZVEVTX1BF Ul9MT05HKTsKLSAgICAgICAgfQorICAgICAgICAgICAgdm14X3NldF9tc3JfaW50ZXJjZXB0KHYs IE1TUl9JQTMyX0FfUEVSRkNUUjAgKyBpLCBWTVhfTVNSX1JXKTsKICAgICB9CiAKICAgICBmb3Ig KCBpID0gMDsgaSA8IGFyY2hfcG1jX2NudDsgaSsrICkKLSAgICAgICAgc2V0X2JpdChtc3JhZGRy X3RvX2JpdHBvcyhNU1JfUDZfRVZOVFNFTChpKSksIG1zcl9iaXRtYXApOworICAgICAgICB2bXhf c2V0X21zcl9pbnRlcmNlcHQodiwgTVNSX1A2X0VWTlRTRUwoaSksIFZNWF9NU1JfUik7CiAKLSAg ICBzZXRfYml0KG1zcmFkZHJfdG9fYml0cG9zKE1TUl9DT1JFX1BFUkZfRklYRURfQ1RSX0NUUkwp LCBtc3JfYml0bWFwKTsKLSAgICBzZXRfYml0KG1zcmFkZHJfdG9fYml0cG9zKE1TUl9JQTMyX0RT X0FSRUEpLCBtc3JfYml0bWFwKTsKKyAgICB2bXhfc2V0X21zcl9pbnRlcmNlcHQodiwgTVNSX0NP UkVfUEVSRl9GSVhFRF9DVFJfQ1RSTCwgVk1YX01TUl9SKTsKKyAgICB2bXhfc2V0X21zcl9pbnRl cmNlcHQodiwgTVNSX0lBMzJfRFNfQVJFQSwgVk1YX01TUl9SKTsKIH0KIAogc3RhdGljIGlubGlu ZSB2b2lkIF9fY29yZTJfdnBtdV9zYXZlKHN0cnVjdCB2Y3B1ICp2KQpAQCAtMzI3LDcgKzMwOSw3 IEBAIHN0YXRpYyBpbnQgY29yZTJfdnBtdV9zYXZlKHN0cnVjdCB2Y3B1ICp2LCBib29sX3QgdG9f Z3Vlc3QpCiAgICAgLyogVW5zZXQgUE1VIE1TUiBiaXRtYXAgdG8gdHJhcCBsYXp5IGxvYWQuICov CiAgICAgaWYgKCAhdnBtdV9pc19zZXQodnBtdSwgVlBNVV9SVU5OSU5HKSAmJiBpc19odm1fdmNw dSh2KSAmJgogICAgICAgICAgY3B1X2hhc192bXhfbXNyX2JpdG1hcCApCi0gICAgICAgIGNvcmUy X3ZwbXVfdW5zZXRfbXNyX2JpdG1hcCh2LT5hcmNoLmh2bV92bXgubXNyX2JpdG1hcCk7CisgICAg ICAgIGNvcmUyX3ZwbXVfdW5zZXRfbXNyX2JpdG1hcCh2KTsKIAogICAgIGlmICggdG9fZ3Vlc3Qg KQogICAgIHsKQEAgLTU0MSw5ICs1MjMsOSBAQCBzdGF0aWMgaW50IGNvcmUyX3ZwbXVfbXNyX2Nv bW1vbl9jaGVjayh1MzIgbXNyX2luZGV4LCBpbnQgKnR5cGUsIGludCAqaW5kZXgpCiAgICAgewog ICAgICAgICBfX2NvcmUyX3ZwbXVfbG9hZChjdXJyZW50KTsKICAgICAgICAgdnBtdV9zZXQodnBt dSwgVlBNVV9DT05URVhUX0xPQURFRCk7Ci0gICAgICAgIGlmICggaXNfaHZtX3ZjcHUoY3VycmVu dCkgJiYKLSAgICAgICAgICAgICBjcHVfaGFzX3ZteF9tc3JfYml0bWFwICkKLSAgICAgICAgICAg IGNvcmUyX3ZwbXVfc2V0X21zcl9iaXRtYXAoY3VycmVudC0+YXJjaC5odm1fdm14Lm1zcl9iaXRt YXApOworCisgICAgICAgIGlmICggaXNfaHZtX3ZjcHUoY3VycmVudCkgJiYgY3B1X2hhc192bXhf bXNyX2JpdG1hcCApCisgICAgICAgICAgICBjb3JlMl92cG11X3NldF9tc3JfYml0bWFwKGN1cnJl bnQpOwogICAgIH0KICAgICByZXR1cm4gMTsKIH0KQEAgLTg2MCw3ICs4NDIsNyBAQCBzdGF0aWMg dm9pZCBjb3JlMl92cG11X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYpCiAgICAgeGZyZWUodnBtdS0+ cHJpdl9jb250ZXh0KTsKICAgICB2cG11LT5wcml2X2NvbnRleHQgPSBOVUxMOwogICAgIGlmICgg aXNfaHZtX3ZjcHUodikgJiYgY3B1X2hhc192bXhfbXNyX2JpdG1hcCApCi0gICAgICAgIGNvcmUy X3ZwbXVfdW5zZXRfbXNyX2JpdG1hcCh2LT5hcmNoLmh2bV92bXgubXNyX2JpdG1hcCk7CisgICAg ICAgIGNvcmUyX3ZwbXVfdW5zZXRfbXNyX2JpdG1hcCh2KTsKICAgICByZWxlYXNlX3BtdV9vd25l cnNoaXAoUE1VX09XTkVSX0hWTSk7CiAgICAgdnBtdV9jbGVhcih2cG11KTsKIH0KLS0gCjIuMS40 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==