From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: [PATCH v3 3/5] x86/paravirt: Add paravirt_{read, write}_msr Date: Fri, 11 Mar 2016 11:06:48 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: X86 ML Cc: KVM list , Peter Zijlstra , Linus Torvalds , "linux-kernel@vger.kernel.org" , xen-devel , Andy Lutomirski , Paolo Bonzini , Andrew Morton , Arjan van de Ven List-Id: xen-devel@lists.xenproject.org VGhpcyBhZGRzIHBhcmF2aXJ0IGhvb2tzIGZvciB1bnNhZmUgTVNSIGFjY2Vzcy4gIE9uIG5hdGl2 ZSwgdGhleQpjYWxsIG5hdGl2ZV97cmVhZCx3cml0ZX1fbXNyLiAgT24gWGVuLCB0aGV5IHVzZQp4 ZW5fe3JlYWQsd3JpdGV9X21zcl9zYWZlLgoKTm90aGluZyB1c2VzIHRoZW0geWV0IGZvciBlYXNl IG9mIGJpc2VjdGlvbi4gIFRoZSBuZXh0IHBhdGNoIHdpbGwKdXNlIHRoZW0gaW4gcmRtc3JsLCB3 cm1zcmwsIGV0Yy4KCkkgaW50ZW50aW9uYWxseSBkaWRuJ3QgbWFrZSB0aGVtIE9PUFMgb24gI0dQ IG9uIFhlbi4gIEkgdGhpbmsgdGhhdApzaG91bGQgYmUgZG9uZSBzZXBhcmF0ZWx5IGJ5IHRoZSBY ZW4gbWFpbnRhaW5lcnMuCgpTaWduZWQtb2ZmLWJ5OiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2Vy bmVsLm9yZz4KLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9tc3IuaCAgICAgICAgICAgIHwgIDUg KysrLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmggICAgICAgfCAxMSArKysrKysr KysrKwogYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaCB8IDEwICsrKysrKysr LS0KIGFyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jICAgICAgICAgICAgfCAgMiArKwogYXJjaC94 ODYveGVuL2VubGlnaHRlbi5jICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysr KysrCiA1IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vbXNyLmggYi9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9tc3IuaAppbmRleCAxNDg3MDU0YTFhNzAuLjEzZGEzNTk4ODFkNyAxMDA2NDQKLS0tIGEv YXJjaC94ODYvaW5jbHVkZS9hc20vbXNyLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vbXNy LmgKQEAgLTExOSw4ICsxMTksOSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBu YXRpdmVfcmVhZF9tc3Jfc2FmZSh1bnNpZ25lZCBpbnQgbXNyLAogCXJldHVybiBFQVhfRURYX1ZB TCh2YWwsIGxvdywgaGlnaCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBuYXRpdmVfd3JpdGVf bXNyKHVuc2lnbmVkIGludCBtc3IsCi0JCQkJICAgIHVuc2lnbmVkIGxvdywgdW5zaWduZWQgaGln aCkKKy8qIENhbiBiZSB1bmlubGluZWQgYmVjYXVzZSByZWZlcmVuY2VkIGJ5IHBhcmF2aXJ0ICov Citub3RyYWNlIHN0YXRpYyBpbmxpbmUgdm9pZCBuYXRpdmVfd3JpdGVfbXNyKHVuc2lnbmVkIGlu dCBtc3IsCisJCQkJCSAgICB1bnNpZ25lZCBsb3csIHVuc2lnbmVkIGhpZ2gpCiB7CiAJYXNtIHZv bGF0aWxlKCIxOiB3cm1zclxuIgogCQkgICAgICIyOlxuIgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYv aW5jbHVkZS9hc20vcGFyYXZpcnQuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmgK aW5kZXggMmU0OTIyOGVkOWEzLi42ODI5N2Q4N2U4NWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3BhcmF2aXJ0LmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQu aApAQCAtMTI5LDYgKzEyOSwxNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgd2JpbnZkKHZvaWQpCiAK ICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgKHB2X2luZm8ua2VybmVsX3JwbCkKIAorc3RhdGlj IGlubGluZSB1NjQgcGFyYXZpcnRfcmVhZF9tc3IodW5zaWduZWQgbXNyKQoreworCXJldHVybiBQ Vk9QX0NBTEwxKHU2NCwgcHZfY3B1X29wcy5yZWFkX21zciwgbXNyKTsKK30KKworc3RhdGljIGlu bGluZSB2b2lkIHBhcmF2aXJ0X3dyaXRlX21zcih1bnNpZ25lZCBtc3IsCisJCQkJICAgICAgdW5z aWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQoreworCXJldHVybiBQVk9QX1ZDQUxMMyhwdl9jcHVf b3BzLndyaXRlX21zciwgbXNyLCBsb3csIGhpZ2gpOworfQorCiBzdGF0aWMgaW5saW5lIHU2NCBw YXJhdmlydF9yZWFkX21zcl9zYWZlKHVuc2lnbmVkIG1zciwgaW50ICplcnIpCiB7CiAJcmV0dXJu IFBWT1BfQ0FMTDIodTY0LCBwdl9jcHVfb3BzLnJlYWRfbXNyX3NhZmUsIG1zciwgZXJyKTsKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmggYi9hcmNoL3g4 Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oCmluZGV4IDVhMDZjY2NkMzZmMC4uYjg1YWVj NDVhMWI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5o CisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKQEAgLTE1NSw4ICsx NTUsMTQgQEAgc3RydWN0IHB2X2NwdV9vcHMgewogCXZvaWQgKCpjcHVpZCkodW5zaWduZWQgaW50 ICplYXgsIHVuc2lnbmVkIGludCAqZWJ4LAogCQkgICAgICB1bnNpZ25lZCBpbnQgKmVjeCwgdW5z aWduZWQgaW50ICplZHgpOwogCi0JLyogTVNSIG9wZXJhdGlvbnMuCi0JICAgZXJyID0gMC8tRUlP LiAgd3Jtc3IgcmV0dXJucyAwLy1FSU8uICovCisJLyogVW5zYWZlIE1TUiBvcGVyYXRpb25zLiAg VGhlc2Ugd2lsbCB3YXJuIG9yIHBhbmljIG9uIGZhaWx1cmUuICovCisJdTY0ICgqcmVhZF9tc3Ip KHVuc2lnbmVkIGludCBtc3IpOworCXZvaWQgKCp3cml0ZV9tc3IpKHVuc2lnbmVkIGludCBtc3Is IHVuc2lnbmVkIGxvdywgdW5zaWduZWQgaGlnaCk7CisKKwkvKgorCSAqIFNhZmUgTVNSIG9wZXJh dGlvbnMuCisJICogcmVhZCBzZXRzIGVyciB0byAwIG9yIC1FSU8uICB3cml0ZSByZXR1cm5zIDAg b3IgLUVJTy4KKwkgKi8KIAl1NjQgKCpyZWFkX21zcl9zYWZlKSh1bnNpZ25lZCBpbnQgbXNyLCBp bnQgKmVycik7CiAJaW50ICgqd3JpdGVfbXNyX3NhZmUpKHVuc2lnbmVkIGludCBtc3IsIHVuc2ln bmVkIGxvdywgdW5zaWduZWQgaGlnaCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9w YXJhdmlydC5jIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMKaW5kZXggOGFhZDk1NDc4YWU1 Li5mOTU4MzkxN2M3YzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCisr KyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCkBAIC0zMzksNiArMzM5LDggQEAgX192aXNp YmxlIHN0cnVjdCBwdl9jcHVfb3BzIHB2X2NwdV9vcHMgPSB7CiAJLndyaXRlX2NyOCA9IG5hdGl2 ZV93cml0ZV9jcjgsCiAjZW5kaWYKIAkud2JpbnZkID0gbmF0aXZlX3diaW52ZCwKKwkucmVhZF9t c3IgPSBuYXRpdmVfcmVhZF9tc3IsCisJLndyaXRlX21zciA9IG5hdGl2ZV93cml0ZV9tc3IsCiAJ LnJlYWRfbXNyX3NhZmUgPSBuYXRpdmVfcmVhZF9tc3Jfc2FmZSwKIAkud3JpdGVfbXNyX3NhZmUg PSBuYXRpdmVfd3JpdGVfbXNyX3NhZmUsCiAJLnJlYWRfcG1jID0gbmF0aXZlX3JlYWRfcG1jLApk aWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGln aHRlbi5jCmluZGV4IGZmMmRmMjBkMDA2Ny4uNTQ4Y2QzZTAyYjllIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0x MDkyLDYgKzEwOTIsMjYgQEAgc3RhdGljIGludCB4ZW5fd3JpdGVfbXNyX3NhZmUodW5zaWduZWQg aW50IG1zciwgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQogCXJldHVybiByZXQ7CiB9CiAK K3N0YXRpYyB1NjQgeGVuX3JlYWRfbXNyKHVuc2lnbmVkIGludCBtc3IpCit7CisJLyoKKwkgKiBU aGlzIHdpbGwgc2lsZW50bHkgc3dhbGxvdyBhICNHUCBmcm9tIFJETVNSLiAgSXQgbWF5IGJlIHdv cnRoCisJICogY2hhbmdpbmcgdGhhdC4KKwkgKi8KKwlpbnQgZXJyOworCisJcmV0dXJuIHhlbl9y ZWFkX21zcl9zYWZlKG1zciwgJmVycik7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl93cml0ZV9tc3Io dW5zaWduZWQgaW50IG1zciwgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKQoreworCS8qCisJ ICogVGhpcyB3aWxsIHNpbGVudGx5IHN3YWxsb3cgYSAjR1AgZnJvbSBXUk1TUi4gIEl0IG1heSBi ZSB3b3J0aAorCSAqIGNoYW5naW5nIHRoYXQuCisJICovCisJeGVuX3dyaXRlX21zcl9zYWZlKG1z ciwgbG93LCBoaWdoKTsKK30KKwogdm9pZCB4ZW5fc2V0dXBfc2hhcmVkX2luZm8odm9pZCkKIHsK IAlpZiAoIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKSB7CkBA IC0xMjIyLDYgKzEyNDIsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2NwdV9vcHMgeGVuX2Nw dV9vcHMgX19pbml0Y29uc3QgPSB7CiAKIAkud2JpbnZkID0gbmF0aXZlX3diaW52ZCwKIAorCS5y ZWFkX21zciA9IHhlbl9yZWFkX21zciwKKwkud3JpdGVfbXNyID0geGVuX3dyaXRlX21zciwKKwog CS5yZWFkX21zcl9zYWZlID0geGVuX3JlYWRfbXNyX3NhZmUsCiAJLndyaXRlX21zcl9zYWZlID0g eGVuX3dyaXRlX21zcl9zYWZlLAogCi0tIAoyLjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==