From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: [PATCH v3 1/5] x86/paravirt: Add _safe to the read_msr and write_msr PV hooks Date: Fri, 11 Mar 2016 11:06:46 -0800 Message-ID: <7e72cd6ce08b946872a462fad13eca1810b8671d.1457723023.git.luto__26022.646300453$1457723350$gmane$org@kernel.org> 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 VGhlc2UgaG9va3MgbWF0Y2ggdGhlIF9zYWZlIHZhcmlhbnRzLCBzbyBuYW1lIHRoZW0gYWNjb3Jk aW5nbHkuClRoaXMgd2lsbCBtYWtlIHJvb20gZm9yIHVuc2FmZSBQViBob29rcy4KClNpZ25lZC1v ZmYtYnk6IEFuZHkgTHV0b21pcnNraSA8bHV0b0BrZXJuZWwub3JnPgotLS0KIGFyY2gveDg2L2lu Y2x1ZGUvYXNtL3BhcmF2aXJ0LmggICAgICAgfCAzMyArKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmggfCAgOCArKysr LS0tLQogYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMgICAgICAgICAgICB8ICA0ICsrLS0KIGFy Y2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyAgICAgICAgICAgICAgfCAgNCArKy0tCiA0IGZpbGVzIGNo YW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJh dmlydC5oCmluZGV4IGY2MTkyNTAyMTQ5ZS4uMmU0OTIyOGVkOWEzIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Bh cmF2aXJ0LmgKQEAgLTEyOSwzNCArMTI5LDM1IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB3YmludmQo dm9pZCkKIAogI2RlZmluZSBnZXRfa2VybmVsX3JwbCgpICAocHZfaW5mby5rZXJuZWxfcnBsKQog Ci1zdGF0aWMgaW5saW5lIHU2NCBwYXJhdmlydF9yZWFkX21zcih1bnNpZ25lZCBtc3IsIGludCAq ZXJyKQorc3RhdGljIGlubGluZSB1NjQgcGFyYXZpcnRfcmVhZF9tc3Jfc2FmZSh1bnNpZ25lZCBt c3IsIGludCAqZXJyKQogewotCXJldHVybiBQVk9QX0NBTEwyKHU2NCwgcHZfY3B1X29wcy5yZWFk X21zciwgbXNyLCBlcnIpOworCXJldHVybiBQVk9QX0NBTEwyKHU2NCwgcHZfY3B1X29wcy5yZWFk X21zcl9zYWZlLCBtc3IsIGVycik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHBhcmF2aXJ0X3dy aXRlX21zcih1bnNpZ25lZCBtc3IsIHVuc2lnbmVkIGxvdywgdW5zaWduZWQgaGlnaCkKK3N0YXRp YyBpbmxpbmUgaW50IHBhcmF2aXJ0X3dyaXRlX21zcl9zYWZlKHVuc2lnbmVkIG1zciwKKwkJCQkJ ICB1bnNpZ25lZCBsb3csIHVuc2lnbmVkIGhpZ2gpCiB7Ci0JcmV0dXJuIFBWT1BfQ0FMTDMoaW50 LCBwdl9jcHVfb3BzLndyaXRlX21zciwgbXNyLCBsb3csIGhpZ2gpOworCXJldHVybiBQVk9QX0NB TEwzKGludCwgcHZfY3B1X29wcy53cml0ZV9tc3Jfc2FmZSwgbXNyLCBsb3csIGhpZ2gpOwogfQog CiAvKiBUaGVzZSBzaG91bGQgYWxsIGRvIEJVR19PTihfZXJyKSwgYnV0IG91ciBoZWFkZXJzIGFy ZSB0b28gdGFuZ2xlZC4gKi8KICNkZWZpbmUgcmRtc3IobXNyLCB2YWwxLCB2YWwyKQkJCVwKIGRv IHsJCQkJCQlcCiAJaW50IF9lcnI7CQkJCVwKLQl1NjQgX2wgPSBwYXJhdmlydF9yZWFkX21zciht c3IsICZfZXJyKTsJXAorCXU2NCBfbCA9IHBhcmF2aXJ0X3JlYWRfbXNyX3NhZmUobXNyLCAmX2Vy cik7CVwKIAl2YWwxID0gKHUzMilfbDsJCQkJXAogCXZhbDIgPSBfbCA+PiAzMjsJCQlcCiB9IHdo aWxlICgwKQogCiAjZGVmaW5lIHdybXNyKG1zciwgdmFsMSwgdmFsMikJCQlcCiBkbyB7CQkJCQkJ XAotCXBhcmF2aXJ0X3dyaXRlX21zcihtc3IsIHZhbDEsIHZhbDIpOwlcCisJcGFyYXZpcnRfd3Jp dGVfbXNyX3NhZmUobXNyLCB2YWwxLCB2YWwyKTsJXAogfSB3aGlsZSAoMCkKIAogI2RlZmluZSBy ZG1zcmwobXNyLCB2YWwpCQkJXAogZG8gewkJCQkJCVwKIAlpbnQgX2VycjsJCQkJXAotCXZhbCA9 IHBhcmF2aXJ0X3JlYWRfbXNyKG1zciwgJl9lcnIpOwlcCisJdmFsID0gcGFyYXZpcnRfcmVhZF9t c3Jfc2FmZShtc3IsICZfZXJyKTsJXAogfSB3aGlsZSAoMCkKIAogc3RhdGljIGlubGluZSB2b2lk IHdybXNybCh1bnNpZ25lZCBtc3IsIHU2NCB2YWwpCkBAIC0xNjQsMjMgKzE2NSwyMyBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgd3Jtc3JsKHVuc2lnbmVkIG1zciwgdTY0IHZhbCkKIAl3cm1zcihtc3Is ICh1MzIpdmFsLCAodTMyKSh2YWw+PjMyKSk7CiB9CiAKLSNkZWZpbmUgd3Jtc3Jfc2FmZShtc3Is IGEsIGIpCXBhcmF2aXJ0X3dyaXRlX21zcihtc3IsIGEsIGIpCisjZGVmaW5lIHdybXNyX3NhZmUo bXNyLCBhLCBiKQlwYXJhdmlydF93cml0ZV9tc3Jfc2FmZShtc3IsIGEsIGIpCiAKIC8qIHJkbXNy IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nICovCi0jZGVmaW5lIHJkbXNyX3NhZmUobXNyLCBhLCBi KQkJCVwKLSh7CQkJCQkJXAotCWludCBfZXJyOwkJCQlcCi0JdTY0IF9sID0gcGFyYXZpcnRfcmVh ZF9tc3IobXNyLCAmX2Vycik7CVwKLQkoKmEpID0gKHUzMilfbDsJCQkJXAotCSgqYikgPSBfbCA+ PiAzMjsJCQlcCi0JX2VycjsJCQkJCVwKKyNkZWZpbmUgcmRtc3Jfc2FmZShtc3IsIGEsIGIpCQkJ CVwKKyh7CQkJCQkJCVwKKwlpbnQgX2VycjsJCQkJCVwKKwl1NjQgX2wgPSBwYXJhdmlydF9yZWFk X21zcl9zYWZlKG1zciwgJl9lcnIpOwlcCisJKCphKSA9ICh1MzIpX2w7CQkJCQlcCisJKCpiKSA9 IF9sID4+IDMyOwkJCQlcCisJX2VycjsJCQkJCQlcCiB9KQogCiBzdGF0aWMgaW5saW5lIGludCBy ZG1zcmxfc2FmZSh1bnNpZ25lZCBtc3IsIHVuc2lnbmVkIGxvbmcgbG9uZyAqcCkKIHsKIAlpbnQg ZXJyOwogCi0JKnAgPSBwYXJhdmlydF9yZWFkX21zcihtc3IsICZlcnIpOworCSpwID0gcGFyYXZp cnRfcmVhZF9tc3Jfc2FmZShtc3IsICZlcnIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdp dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmggYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9wYXJhdmlydF90eXBlcy5oCmluZGV4IDc3ZGI1NjE2YTQ3My4uNWEwNmNjY2QzNmYw IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oCisrKyBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKQEAgLTE1NSwxMCArMTU1LDEw IEBAIHN0cnVjdCBwdl9jcHVfb3BzIHsKIAl2b2lkICgqY3B1aWQpKHVuc2lnbmVkIGludCAqZWF4 LCB1bnNpZ25lZCBpbnQgKmVieCwKIAkJICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVuc2lnbmVk IGludCAqZWR4KTsKIAotCS8qIE1TUiwgUE1DIGFuZCBUU1Igb3BlcmF0aW9ucy4KLQkgICBlcnIg PSAwLy1FRkFVTFQuICB3cm1zciByZXR1cm5zIDAvLUVGQVVMVC4gKi8KLQl1NjQgKCpyZWFkX21z cikodW5zaWduZWQgaW50IG1zciwgaW50ICplcnIpOwotCWludCAoKndyaXRlX21zcikodW5zaWdu ZWQgaW50IG1zciwgdW5zaWduZWQgbG93LCB1bnNpZ25lZCBoaWdoKTsKKwkvKiBNU1Igb3BlcmF0 aW9ucy4KKwkgICBlcnIgPSAwLy1FSU8uICB3cm1zciByZXR1cm5zIDAvLUVJTy4gKi8KKwl1NjQg KCpyZWFkX21zcl9zYWZlKSh1bnNpZ25lZCBpbnQgbXNyLCBpbnQgKmVycik7CisJaW50ICgqd3Jp dGVfbXNyX3NhZmUpKHVuc2lnbmVkIGludCBtc3IsIHVuc2lnbmVkIGxvdywgdW5zaWduZWQgaGln aCk7CiAKIAl1NjQgKCpyZWFkX3BtYykoaW50IGNvdW50ZXIpOwogCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9rZXJuZWwvcGFyYXZpcnQuYyBiL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCmluZGV4 IGYwOGFjMjhiODEzNi4uOGFhZDk1NDc4YWU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwv cGFyYXZpcnQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnQuYwpAQCAtMzM5LDggKzMz OSw4IEBAIF9fdmlzaWJsZSBzdHJ1Y3QgcHZfY3B1X29wcyBwdl9jcHVfb3BzID0gewogCS53cml0 ZV9jcjggPSBuYXRpdmVfd3JpdGVfY3I4LAogI2VuZGlmCiAJLndiaW52ZCA9IG5hdGl2ZV93Ymlu dmQsCi0JLnJlYWRfbXNyID0gbmF0aXZlX3JlYWRfbXNyX3NhZmUsCi0JLndyaXRlX21zciA9IG5h dGl2ZV93cml0ZV9tc3Jfc2FmZSwKKwkucmVhZF9tc3Jfc2FmZSA9IG5hdGl2ZV9yZWFkX21zcl9z YWZlLAorCS53cml0ZV9tc3Jfc2FmZSA9IG5hdGl2ZV93cml0ZV9tc3Jfc2FmZSwKIAkucmVhZF9w bWMgPSBuYXRpdmVfcmVhZF9wbWMsCiAJLmxvYWRfdHJfZGVzYyA9IG5hdGl2ZV9sb2FkX3RyX2Rl c2MsCiAJLnNldF9sZHQgPSBuYXRpdmVfc2V0X2xkdCwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hl bi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCBkMDllNGM5ZDdj YzUuLmZmMmRmMjBkMDA2NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCisr KyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpAQCAtMTIyMiw4ICsxMjIyLDggQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBwdl9jcHVfb3BzIHhlbl9jcHVfb3BzIF9faW5pdGNvbnN0ID0gewogCiAJ LndiaW52ZCA9IG5hdGl2ZV93YmludmQsCiAKLQkucmVhZF9tc3IgPSB4ZW5fcmVhZF9tc3Jfc2Fm ZSwKLQkud3JpdGVfbXNyID0geGVuX3dyaXRlX21zcl9zYWZlLAorCS5yZWFkX21zcl9zYWZlID0g eGVuX3JlYWRfbXNyX3NhZmUsCisJLndyaXRlX21zcl9zYWZlID0geGVuX3dyaXRlX21zcl9zYWZl LAogCiAJLnJlYWRfcG1jID0geGVuX3JlYWRfcG1jLAogCi0tIAoyLjUuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==