From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/9] x86/vmx: Factor locate_msr_entry() out of vmx_find_msr() and vmx_add_msr() Date: Tue, 22 May 2018 12:20:40 +0100 Message-ID: <1526988046-22948-4-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 SW5zdGVhZCBvZiBoYXZpbmcgbXVsdGlwbGUgYWxnb3JpdGhtcyBzZWFyY2hpbmcgdGhlIE1TUiBs aXN0cywgaW1wbGVtZW50IGEKc2luZ2xlIG9uZS4gIEl0IGhhcyB0aGUgc2VtYW50aWNzIHJlcXVp cmVkIGJ5IHZteF9hZGRfbXNyKCksIHRvIGlkZW50aWZ5IHRoZQpwb3NpdGlvbiBpbiB3aGljaCBh biBNU1Igc2hvdWxkIGxpdmUsIGlmIGl0IGlzbid0IGFscmVhZHkgcHJlc2VudC4KClRoZXJlIHdp bGwgYmUgYSBtYXJnaW5hbCBpbXByb3ZlbWVudCBmb3Igdm14X2ZpbmRfbXNyKCkgYnkgYXZvaWRp bmcgdGhlCmZ1bmN0aW9uIHBvaW50ZXIgY2FsbHMgdG8gdm14X21zcl9lbnRyeV9rZXlfY21wKCks IGFuZCBhIG1ham9yIGltcHJvdmVtZW50IGZvcgp2bXhfYWRkX21zcigpIGJ5IHVzaW5nIGEgYmlu YXJ5IHNlYXJjaCBpbnN0ZWFkIG9mIGEgbGluZWFyIHNlYXJjaC4KClNpZ25lZC1vZmYtYnk6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxp Y2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50 ZWwuY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNDOiBXZWkgTGl1 IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp dHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jIHwgNDIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjggaW5z ZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS92bXgvdm1jcy5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCmluZGV4IGY1NTc4NTcu LmU0YWNkYzEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTEyNzYsMjQgKzEyNzYsMzYgQEAgc3RhdGlj IGludCBjb25zdHJ1Y3Rfdm1jcyhzdHJ1Y3QgdmNwdSAqdikKICAgICByZXR1cm4gMDsKIH0KIAot c3RhdGljIGludCB2bXhfbXNyX2VudHJ5X2tleV9jbXAoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2 b2lkICplbHQpCisvKgorICogU2VhcmNoIGFuIE1TUiBsaXN0IGxvb2tpbmcgZm9yIGFuIE1TUiBl bnRyeSwgb3IgdGhlIHNsb3QgaW4gd2hpY2ggaXQgc2hvdWxkCisgKiBsaXZlICh0byBrZWVwIHRo ZSBkYXRhIHNvcnRlZCkgaWYgYW4gZW50cnkgaXMgbm90IGZvdW5kLgorICoKKyAqIFRoZSByZXR1 cm4gcG9pbnRlciBpcyBndWFyZW50ZWVkIHRvIGJlIGJvdW5kZWQgYnkgc3RhcnQgYW5kIGVuZC4g IEhvd2V2ZXIsCisgKiBpdCBtYXkgcG9pbnQgYXQgZW5kLCBhbmQgbWF5IGJlIGludmFsaWQgZm9y IHRoZSBjYWxsZXIgdG8gZGVyZWZlcmVuY2UuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgdm14X21zcl9l bnRyeSAqbG9jYXRlX21zcl9lbnRyeSgKKyAgICBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqc3RhcnQs IHN0cnVjdCB2bXhfbXNyX2VudHJ5ICplbmQsIHVpbnQzMl90IG1zcikKIHsKLSAgICBjb25zdCB1 MzIgKm1zciA9IGtleTsKLSAgICBjb25zdCBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqZW50cnkgPSBl bHQ7CisgICAgd2hpbGUgKCBzdGFydCA8IGVuZCApCisgICAgeworICAgICAgICBzdHJ1Y3Qgdm14 X21zcl9lbnRyeSAqbWlkID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpIC8gMjsKIAotICAgIGlmICgg Km1zciA+IGVudHJ5LT5pbmRleCApCi0gICAgICAgIHJldHVybiAxOwotICAgIGlmICggKm1zciA8 IGVudHJ5LT5pbmRleCApCi0gICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKCBtc3IgPCBt aWQtPmluZGV4ICkKKyAgICAgICAgICAgIGVuZCA9IG1pZDsKKyAgICAgICAgZWxzZSBpZiAoIG1z ciA+IG1pZC0+aW5kZXggKQorICAgICAgICAgICAgc3RhcnQgPSBtaWQgKyAxOworICAgICAgICBl bHNlCisgICAgICAgICAgICByZXR1cm4gbWlkOworICAgIH0KIAotICAgIHJldHVybiAwOworICAg IHJldHVybiBzdGFydDsKIH0KIAogc3RydWN0IHZteF9tc3JfZW50cnkgKnZteF9maW5kX21zcih1 aW50MzJfdCBtc3IsIGVudW0gdm14X21zcl9saXN0X3R5cGUgdHlwZSkKIHsKICAgICBzdHJ1Y3Qg dmNwdSAqY3VyciA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IGFyY2hfdm14X3N0cnVjdCAqYXJjaF92 bXggPSAmY3Vyci0+YXJjaC5odm1fdm14OwotICAgIHN0cnVjdCB2bXhfbXNyX2VudHJ5ICpzdGFy dCA9IE5VTEw7CisgICAgc3RydWN0IHZteF9tc3JfZW50cnkgKnN0YXJ0ID0gTlVMTCwgKmVudCwg KmVuZDsKICAgICB1bnNpZ25lZCBpbnQgdG90YWw7CiAKICAgICBzd2l0Y2ggKCB0eXBlICkKQEAg LTEzMTUsOCArMTMyNywxMCBAQCBzdHJ1Y3Qgdm14X21zcl9lbnRyeSAqdm14X2ZpbmRfbXNyKHVp bnQzMl90IG1zciwgZW51bSB2bXhfbXNyX2xpc3RfdHlwZSB0eXBlKQogICAgIGlmICggIXN0YXJ0 ICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXR1cm4gYnNlYXJjaCgmbXNyLCBzdGFy dCwgdG90YWwsIHNpemVvZihzdHJ1Y3Qgdm14X21zcl9lbnRyeSksCi0gICAgICAgICAgICAgICAg ICAgdm14X21zcl9lbnRyeV9rZXlfY21wKTsKKyAgICBlbmQgPSBzdGFydCArIHRvdGFsOworICAg IGVudCA9IGxvY2F0ZV9tc3JfZW50cnkoc3RhcnQsIGVuZCwgbXNyKTsKKworICAgIHJldHVybiAo KGVudCA8IGVuZCkgJiYgKGVudC0+aW5kZXggPT0gbXNyKSkgPyBlbnQgOiBOVUxMOwogfQogCiBp bnQgdm14X2FkZF9tc3IodWludDMyX3QgbXNyLCBlbnVtIHZteF9tc3JfbGlzdF90eXBlIHR5cGUp CkBAIC0xMzY4LDEwICsxMzgyLDEwIEBAIGludCB2bXhfYWRkX21zcih1aW50MzJfdCBtc3IsIGVu dW0gdm14X21zcl9saXN0X3R5cGUgdHlwZSkKIAogICAgIHN0YXJ0ID0gKnB0cjsKICAgICBlbmQg ICA9IHN0YXJ0ICsgdG90YWw7CisgICAgZW50ICAgPSBsb2NhdGVfbXNyX2VudHJ5KHN0YXJ0LCBl bmQsIG1zcik7CiAKLSAgICBmb3IgKCBlbnQgPSBzdGFydDsgZW50IDwgZW5kICYmIGVudC0+aW5k ZXggPD0gbXNyOyArK2VudCApCi0gICAgICAgIGlmICggZW50LT5pbmRleCA9PSBtc3IgKQotICAg ICAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCAoZW50IDwgZW5kKSAmJiAoZW50LT5pbmRleCA9 PSBtc3IpICkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoIHRvdGFsID09IChQQUdFX1NJ WkUgLyBzaXplb2YoKmVudCkpICkKICAgICAgICAgcmV0dXJuIC1FTk9TUEM7Ci0tIAoyLjEuNAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=