From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 3/3] x86: Clean up the Xen MSR infrastructure Date: Tue, 11 Sep 2018 19:56:17 +0100 Message-ID: <1536692177-15675-4-git-send-email-andrew.cooper3@citrix.com> References: <1536692177-15675-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: <1536692177-15675-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: Andrew Cooper , Sergey Dyasli , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org UmVuYW1lIHRoZW0gdG8gZ3Vlc3Rfe3JkLHdyfW1zcl94ZW4oKSBmb3IgY29uc2lzdGVuY3ksIGFu ZCBiZWNhdXNlIHRoZSBfcmVncwpzdWZmaXggaXNuJ3QgdmVyeSBhcHByb3ByaWF0ZS4KClVwZGF0 ZSB0aGVtIHRvIHRha2UgYSB2Y3B1IHBvaW50ZXIgcmF0aGVyIHRoYW4gcHJlc3VtaW5nIHRoYXQg dGhleSBhY3Qgb24KY3VycmVudCwgYW5kIHN3aXRjaCB0byB1c2luZyBYODZFTVVMXyogcmV0dXJu IHZhbHVlcy4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp dHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2Vp IExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh dUBjaXRyaXguY29tPgpDQzogU2VyZ2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRyaXguY29t PgoKdjM6CiAqIENsZWFuIHVwIGFmdGVyIHNwbGl0dGluZyB0aGUgc2VyaWVzLgotLS0KIHhlbi9h cmNoL3g4Ni9tc3IuYyAgICAgICAgICAgICAgfCAgNiArKy0tLS0KIHhlbi9hcmNoL3g4Ni90cmFw cy5jICAgICAgICAgICAgfCAyOSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCB8ICA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTcg aW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21zci5jIGIveGVuL2FyY2gveDg2L21zci5jCmluZGV4IGNmMGRjMjcuLjhmMDJhODkgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tc3IuYworKysgYi94ZW4vYXJjaC94ODYvbXNyLmMKQEAgLTE1 Niw4ICsxNTYsNyBAQCBpbnQgZ3Vlc3RfcmRtc3IoY29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQz Ml90IG1zciwgdWludDY0X3QgKnZhbCkKIAogICAgICAgICAvKiBGYWxsdGhyb3VnaC4gKi8KICAg ICBjYXNlIDB4NDAwMDAyMDAgLi4uIDB4NDAwMDAyZmY6Ci0gICAgICAgIHJldCA9IChyZG1zcl9o eXBlcnZpc29yX3JlZ3MobXNyLCB2YWwpCi0gICAgICAgICAgICAgICA/IFg4NkVNVUxfT0tBWSA6 IFg4NkVNVUxfRVhDRVBUSU9OKTsKKyAgICAgICAgcmV0ID0gZ3Vlc3RfcmRtc3JfeGVuKHYsIG1z ciwgdmFsKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgpAQCAtMjc3LDggKzI3Niw3 IEBAIGludCBndWVzdF93cm1zcihzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRf dCB2YWwpCiAKICAgICAgICAgLyogRmFsbHRocm91Z2guICovCiAgICAgY2FzZSAweDQwMDAwMjAw IC4uLiAweDQwMDAwMmZmOgotICAgICAgICByZXQgPSAod3Jtc3JfaHlwZXJ2aXNvcl9yZWdzKG1z ciwgdmFsKSA9PSAxCi0gICAgICAgICAgICAgICA/IFg4NkVNVUxfT0tBWSA6IFg4NkVNVUxfRVhD RVBUSU9OKTsKKyAgICAgICAgcmV0ID0gZ3Vlc3Rfd3Jtc3JfeGVuKHYsIG1zciwgdmFsKTsKICAg ICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Ry YXBzLmMgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwppbmRleCA3YzE3ODA2Li4zOTg4NzUzIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpA QCAtNzY4LDI5ICs3NjgsMjUgQEAgc3RhdGljIHZvaWQgZG9fdHJhcChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncykKICAgICAgICAgICB0cmFwbnIsIHRyYXBzdHIodHJhcG5yKSwgcmVncy0+ZXJy b3JfY29kZSk7CiB9CiAKLS8qIFJldHVybnMgMCBpZiBub3QgaGFuZGxlZCwgYW5kIG5vbi0wIGZv ciBzdWNjZXNzLiAqLwotaW50IHJkbXNyX2h5cGVydmlzb3JfcmVncyh1aW50MzJfdCBpZHgsIHVp bnQ2NF90ICp2YWwpCitpbnQgZ3Vlc3RfcmRtc3JfeGVuKGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCB1 aW50MzJfdCBpZHgsIHVpbnQ2NF90ICp2YWwpCiB7Ci0gICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1 cnJlbnQtPmRvbWFpbjsKKyAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwog ICAgIC8qIE9wdGlvbmFsbHkgc2hpZnQgb3V0IG9mIHRoZSB3YXkgb2YgVmlyaWRpYW4gYXJjaGl0 ZWN0dXJhbCBNU1JzLiAqLwogICAgIHVpbnQzMl90IGJhc2UgPSBpc192aXJpZGlhbl9kb21haW4o ZCkgPyAweDQwMDAwMjAwIDogMHg0MDAwMDAwMDsKIAogICAgIHN3aXRjaCAoIGlkeCAtIGJhc2Ug KQogICAgIHsKICAgICBjYXNlIDA6IC8qIFdyaXRlIGh5cGVyY2FsbCBwYWdlIE1TUi4gIFJlYWQg YXMgemVyby4gKi8KLSAgICB7CiAgICAgICAgICp2YWwgPSAwOwotICAgICAgICByZXR1cm4gMTsK LSAgICB9CisgICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CiAgICAgfQogCi0gICAgcmV0dXJu IDA7CisgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOwogfQogCi0vKiBSZXR1cm5zIDEgaWYg aGFuZGxlZCwgMCBpZiBub3QgYW5kIC1FeHggZm9yIGVycm9yLiAqLwotaW50IHdybXNyX2h5cGVy dmlzb3JfcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90IHZhbCkKK2ludCBndWVzdF93cm1zcl94 ZW4oc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IGlkeCwgdWludDY0X3QgdmFsKQogewotICAgIHN0 cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47CisgICAgc3RydWN0IGRvbWFpbiAqZCA9 IHYtPmRvbWFpbjsKICAgICAvKiBPcHRpb25hbGx5IHNoaWZ0IG91dCBvZiB0aGUgd2F5IG9mIFZp cmlkaWFuIGFyY2hpdGVjdHVyYWwgTVNScy4gKi8KICAgICB1aW50MzJfdCBiYXNlID0gaXNfdmly aWRpYW5fZG9tYWluKGQpID8gMHg0MDAwMDIwMCA6IDB4NDAwMDAwMDA7CiAKQEAgLTgwOSw3ICs4 MDUsNyBAQCBpbnQgd3Jtc3JfaHlwZXJ2aXNvcl9yZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3Qg dmFsKQogICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCiAgICAgICAgICAgICAg ICAgICAgICAid3Jtc3IgaHlwZXJjYWxsIHBhZ2UgaW5kZXggJSN4IHVuc3VwcG9ydGVkXG4iLAog ICAgICAgICAgICAgICAgICAgICAgcGFnZV9pbmRleCk7Ci0gICAgICAgICAgICByZXR1cm4gMDsK KyAgICAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQVElPTjsKICAgICAgICAgfQogCiAgICAg ICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dmbihkLCBnbWZuLCAmdCwgUDJNX0FMTE9DKTsKQEAg LTgyMiwxMyArODE4LDEzIEBAIGludCB3cm1zcl9oeXBlcnZpc29yX3JlZ3ModWludDMyX3QgaWR4 LCB1aW50NjRfdCB2YWwpCiAgICAgICAgICAgICBpZiAoIHAybV9pc19wYWdpbmcodCkgKQogICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgIHAybV9tZW1fcGFnaW5nX3BvcHVsYXRlKGQsIGdt Zm4pOwotICAgICAgICAgICAgICAgIHJldHVybiAtRVJFU1RBUlQ7CisgICAgICAgICAgICAgICAg cmV0dXJuIFg4NkVNVUxfUkVUUlk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGdkcHJp bnRrKFhFTkxPR19XQVJOSU5HLAogICAgICAgICAgICAgICAgICAgICAgIkJhZCBHTUZOICVseCAo TUZOICUjIlBSSV9tZm4iKSB0byBNU1IgJTA4eFxuIiwKICAgICAgICAgICAgICAgICAgICAgIGdt Zm4sIG1mbl94KHBhZ2UgPyBwYWdlX3RvX21mbihwYWdlKSA6IElOVkFMSURfTUZOKSwgYmFzZSk7 Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBYODZFTVVMX0VYQ0VQ VElPTjsKICAgICAgICAgfQogCiAgICAgICAgIGh5cGVyY2FsbF9wYWdlID0gX19tYXBfZG9tYWlu X3BhZ2UocGFnZSk7CkBAIC04MzYsMTEgKzgzMiwxMiBAQCBpbnQgd3Jtc3JfaHlwZXJ2aXNvcl9y ZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3QgdmFsKQogICAgICAgICB1bm1hcF9kb21haW5fcGFn ZShoeXBlcmNhbGxfcGFnZSk7CiAKICAgICAgICAgcHV0X3BhZ2VfYW5kX3R5cGUocGFnZSk7Ci0g ICAgICAgIHJldHVybiAxOwotICAgIH0KKyAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKICAg ICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gWDg2RU1V TF9FWENFUFRJT047CisgICAgfQogfQogCiB2b2lkIGNwdWlkX2h5cGVydmlzb3JfbGVhdmVzKGNv bnN0IHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBsZWFmLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgK aW5kZXggYTE2NjgwMi4uMDM1NTVlMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9w cm9jZXNzb3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCkBAIC01NTQs OCArNTU0LDggQEAgdW5zaWduZWQgbG9uZyBhbGxvY19zdHViX3BhZ2UodW5zaWduZWQgaW50IGNw dSwgdW5zaWduZWQgbG9uZyAqbWZuKTsKIAogdm9pZCBjcHVpZF9oeXBlcnZpc29yX2xlYXZlcyhj b25zdCBzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgbGVhZiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3Qgc3VibGVhZiwgc3RydWN0IGNwdWlkX2xlYWYgKnJlcyk7Ci1pbnQg cmRtc3JfaHlwZXJ2aXNvcl9yZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3QgKnZhbCk7Ci1pbnQg d3Jtc3JfaHlwZXJ2aXNvcl9yZWdzKHVpbnQzMl90IGlkeCwgdWludDY0X3QgdmFsKTsKK2ludCBn dWVzdF9yZG1zcl94ZW4oY29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IGlkeCwgdWludDY0 X3QgKnZhbCk7CitpbnQgZ3Vlc3Rfd3Jtc3JfeGVuKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCBp ZHgsIHVpbnQ2NF90IHZhbCk7CiAKIHZvaWQgbWljcm9jb2RlX3NldF9tb2R1bGUodW5zaWduZWQg aW50KTsKIGludCBtaWNyb2NvZGVfdXBkYXRlKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oY29uc3Rf dm9pZCksIHVuc2lnbmVkIGxvbmcgbGVuKTsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==