From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 16/17] x86: do page table switching when entering/leaving hypervisor Date: Fri, 9 Feb 2018 15:01:50 +0100 Message-ID: <20180209140151.24714-17-jgross@suse.com> References: <20180209140151.24714-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ek9HT-0003zu-VR for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:03:59 +0000 In-Reply-To: <20180209140151.24714-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Rm9yIFhQVEkgZW5hYmxlZCBkb21haW5zIGRvIHBhZ2UgdGFibGUgc3dpdGNoaW5nIHdoZW4gZW50 ZXJpbmcgb3IKbGVhdmluZyB0aGUgaHlwZXJ2aXNvci4gVGhpcyByZXF1aXJlcyBib3RoICVjcjMg dmFsdWVzIHRvIGJlIHN0b3JlZAppbiB0aGUgcGVyLXZjcHUgc3RhY2sgcmVnaW9ucyBhbmQgYWRk aW5nIHRoZSBzd2l0Y2hpbmcgY29kZSB0byB0aGUKbWFjcm9zIHVzZWQgdG8gc3dpdGNoIHN0YWNr cy4KClRoZSBoeXBlcnZpc29yIHdpbGwgcnVuIG9uIHRoZSBvcmlnaW5hbCBMNCBwYWdlIHRhYmxl IHN1cHBsaWVkIGJ5IHRoZQpndWVzdCwgd2hpbGUgdGhlIGd1ZXN0IHdpbGwgdXNlIHRoZSBzaGFk b3cuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQog eGVuL2FyY2gveDg2L3B2L3hwdGkuYyAgICAgICAgICAgIHwgMTcgKysrKysrKysrKysrLS0tLS0K IHhlbi9hcmNoL3g4Ni90cmFwcy5jICAgICAgICAgICAgICB8ICAzICsrLQogeGVuL2FyY2gveDg2 L3g4Nl82NC9hc20tb2Zmc2V0cy5jIHwgIDIgKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2Rl Zm5zLmggICB8IDE3ICsrKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJl bnQuaCAgICAgfCAgNCArKystCiA1IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L3hwdGkuYyBiL3hlbi9h cmNoL3g4Ni9wdi94cHRpLmMKaW5kZXggZGE4MzMzOTU2My4uZTA4YWE3ODJiZiAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L3B2L3hwdGkuYworKysgYi94ZW4vYXJjaC94ODYvcHYveHB0aS5jCkBA IC00NDEsMTkgKzQ0MSwyNiBAQCB2b2lkIHhwdGlfdXBkYXRlX2w0KGNvbnN0IHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGxvbmcgbWZuLAogdm9pZCB4cHRpX21ha2VfY3IzKHN0cnVjdCB2Y3B1 ICp2LCB1bnNpZ25lZCBsb25nIG1mbikKIHsKICAgICBzdHJ1Y3QgeHB0aV9kb21haW4gKnhkID0g di0+ZG9tYWluLT5hcmNoLnB2X2RvbWFpbi54cHRpOworICAgIHN0cnVjdCBjcHVfaW5mbyAqY3B1 X2luZm87CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKLSAgICB1bnNpZ25lZCBpbnQgaWR4Owor ICAgIHVuc2lnbmVkIGludCBvbGQsIG5ldzsKKworICAgIGNwdV9pbmZvID0gKHN0cnVjdCBjcHVf aW5mbyAqKXYtPmFyY2gucHZfdmNwdS5zdGFja19yZWdzOwogCiAgICAgc3Bpbl9sb2NrX2lycXNh dmUoJnhkLT5sb2NrLCBmbGFncyk7CiAKLSAgICBpZHggPSB2LT5hcmNoLnB2X3ZjcHUueGVuX2Ny M19zaGFkb3c7CisgICAgb2xkID0gdi0+YXJjaC5wdl92Y3B1Lnhlbl9jcjNfc2hhZG93OwogCiAg ICAgLyogRmlyc3QgYWN0aXZhdGUgbmV3IHNoYWRvdy4gKi8KLSAgICB2LT5hcmNoLnB2X3ZjcHUu eGVuX2NyM19zaGFkb3cgPSB4cHRpX3NoYWRvd19hY3RpdmF0ZSh4ZCwgbWZuKTsKKyAgICBuZXcg PSB4cHRpX3NoYWRvd19hY3RpdmF0ZSh4ZCwgbWZuKTsKKyAgICB2LT5hcmNoLnB2X3ZjcHUueGVu X2NyM19zaGFkb3cgPSBuZXc7CiAKICAgICAvKiBEZWFjdGl2YXRlIG9sZCBzaGFkb3cgaWYgYXBw bGljYWJsZS4gKi8KLSAgICBpZiAoIGlkeCAhPSBMNF9JTlZBTElEICkKLSAgICAgICAgeHB0aV9z aGFkb3dfZGVhY3RpdmF0ZSh4ZCwgaWR4KTsKKyAgICBpZiAoIG9sZCAhPSBMNF9JTlZBTElEICkK KyAgICAgICAgeHB0aV9zaGFkb3dfZGVhY3RpdmF0ZSh4ZCwgb2xkKTsKKworICAgIGNwdV9pbmZv LT54ZW5fY3IzID0gbWZuIDw8IFBBR0VfU0hJRlQ7CisgICAgY3B1X2luZm8tPmd1ZXN0X2NyMyA9 IHhkLT5sNHBnW25ld10ueGVuX21mbiA8PCBQQUdFX1NISUZUOwogCiAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmeGQtPmxvY2ssIGZsYWdzKTsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni90cmFwcy5jIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKaW5kZXggOWIyOTAxNGUyYy4uOTNiMjI4 ZGNlZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RyYXBzLmMKKysrIGIveGVuL2FyY2gveDg2 L3RyYXBzLmMKQEAgLTMwNSw5ICszMDUsMTAgQEAgc3RhdGljIHZvaWQgc2hvd19ndWVzdF9zdGFj ayhzdHJ1Y3QgdmNwdSAqdiwgY29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAg aWYgKCB2ICE9IGN1cnJlbnQgKQogICAgIHsKICAgICAgICAgc3RydWN0IHZjcHUgKnZjcHU7Cisg ICAgICAgIHVuc2lnbmVkIGxvbmcgY3IzID0gcmVhZF9jcjMoKTsKIAogICAgICAgICBBU1NFUlQo Z3Vlc3Rfa2VybmVsX21vZGUodiwgcmVncykpOwotICAgICAgICB2Y3B1ID0gbWFkZHJfZ2V0X293 bmVyKHJlYWRfY3IzKCkpID09IHYtPmRvbWFpbiA/IHYgOiBOVUxMOworICAgICAgICB2Y3B1ID0g bWFkZHJfZ2V0X293bmVyKGNyMykgPT0gdi0+ZG9tYWluID8gdiA6IE5VTEw7CiAgICAgICAgIGlm ICggIXZjcHUgKQogICAgICAgICB7CiAgICAgICAgICAgICBzdGFjayA9IGRvX3BhZ2Vfd2Fsayh2 LCAodW5zaWduZWQgbG9uZylzdGFjayk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0 L2FzbS1vZmZzZXRzLmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKaW5kZXgg YjAwNjBiZTI2MS4uMjg1NWZlYWZhMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9h c20tb2Zmc2V0cy5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwpAQCAt MTQxLDYgKzE0MSw4IEBAIHZvaWQgX19kdW1teV9fKHZvaWQpCiAgICAgT0ZGU0VUKENQVUlORk9f c2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCBzaGFkb3dfc3BlY19jdHJsKTsKICAg ICBPRkZTRVQoQ1BVSU5GT191c2Vfc2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCB1 c2Vfc2hhZG93X3NwZWNfY3RybCk7CiAgICAgT0ZGU0VUKENQVUlORk9fYnRpX2lzdF9pbmZvLCBz dHJ1Y3QgY3B1X2luZm8sIGJ0aV9pc3RfaW5mbyk7CisgICAgT0ZGU0VUKENQVUlORk9fZ3Vlc3Rf Y3IzLCBzdHJ1Y3QgY3B1X2luZm8sIGd1ZXN0X2NyMyk7CisgICAgT0ZGU0VUKENQVUlORk9feGVu X2NyMywgc3RydWN0IGNwdV9pbmZvLCB4ZW5fY3IzKTsKICAgICBPRkZTRVQoQ1BVSU5GT19zdGFj a19ib3R0b21fY3B1LCBzdHJ1Y3QgY3B1X2luZm8sIHN0YWNrX2JvdHRvbV9jcHUpOwogICAgIE9G RlNFVChDUFVJTkZPX2ZsYWdzLCBzdHJ1Y3QgY3B1X2luZm8sIGZsYWdzKTsKICAgICBERUZJTkUo Q1BVSU5GT19zaXplb2YsIHNpemVvZihzdHJ1Y3QgY3B1X2luZm8pKTsKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9k ZWZucy5oCmluZGV4IGY2MjZjYzYxMzQuLmY2OWQxNTAxZmIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvYXNtX2RlZm5zLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVm bnMuaApAQCAtMTQxLDYgKzE0MSw4IEBAIHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsKICAgICAg ICAgR0VUX1NUQUNLX0VORChheCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCiAgICAgICAgIHRlc3RiICRPTl9WQ1BVU1RBQ0ssIFNUQUNLX0NQVUlORk9f RklFTEQoZmxhZ3MpKCVyYXgpOyAgICAgICAgICAgXAogICAgICAgICBqeiAgICAxZjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgbW92cSAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmF4KSwgJXJjeDsgICAgICAg ICAgICAgICAgICBcCisgICAgICAgIG1vdiAgICVyY3gsICVjcjM7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBtb3ZxICBTVEFDS19DUFVJ TkZPX0ZJRUxEKHN0YWNrX2JvdHRvbV9jcHUpKCVyYXgpLCAlcnNwOyAgICAgICAgIFwKIDE6CiAK QEAgLTE0OCwxMiArMTUwLDI1IEBAIHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsKICAgICAgICAg R0VUX1NUQUNLX0VORChheCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgIHRlc3RiICRPTl9WQ1BVU1RBQ0ssIFNUQUNLX0NQVUlORk9fRklF TEQoZmxhZ3MpKCVyYXgpOyAgICAgICAgICAgXAogICAgICAgICBqeiAgICAxZjsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg bW92cSAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmF4KSwgJXJjeDsgICAgICAgICAg ICAgICAgICBcCisgICAgICAgIG1vdiAgICVyY3gsICVjcjM7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBzdWIgICAkKFNUQUNLX1NJWkUg LSAxIC0gaXN0ICogUEFHRV9TSVpFKSwgJXJheDsgICAgICAgICAgICAgICAgIFwKICAgICAgICAg bW92ICAgJXJheCwgJXJzcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAxOgogCiAjZGVmaW5lIFNXSVRDSF9UT19WQ1BVX1NUQUNLICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBtb3YgICAlcjEyLCAl cnNwCisgICAgICAgIG1vdiAgICVyMTIsICVyc3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBHRVRfU1RBQ0tfRU5EKGF4KTsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdGVzdGIg JE9OX1ZDUFVTVEFDSywgU1RBQ0tfQ1BVSU5GT19GSUVMRChmbGFncykoJXJheCk7ICAgICAgICAg ICBcCisgICAgICAgIGp6ICAgIDFmOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtb3YgICAlY3I0LCAlcjg7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbW92ICAg JXI4LCAlcjk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCisgICAgICAgIGFuZCAgICR+WDg2X0NSNF9QR0UsICVyODsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtb3YgICAlcjgsICVjcjQ7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbW92cSAg U1RBQ0tfQ1BVSU5GT19GSUVMRChndWVzdF9jcjMpKCVyYXgpLCAlcmN4OyAgICAgICAgICAgICAg ICBcCisgICAgICAgIG1vdiAgICVyY3gsICVjcjM7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtb3YgICAlcjksICVjcjQ7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKzE6CiAKICNpZm5kZWYg TkRFQlVHCiAjZGVmaW5lIEFTU0VSVF9OT1RfSU5fQVRPTUlDICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9jdXJyZW50LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaAppbmRleCBlMTI4YzEz YTFlLi44MmQ3NmEzNzQ2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaApAQCAtNjcsNyArNjcsOSBAQCBz dHJ1Y3QgY3B1X2luZm8gewogICAgICAgICB9OwogICAgICAgICAvKiBwZXIgdmNwdSBtYXBwaW5n ICh4cHRpKSAqLwogICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB2 X3BhZFs0XTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdl9wYWRbMl07CisgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIGd1ZXN0X2NyMzsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgeGVu X2NyMzsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhY2tfYm90dG9tX2NwdTsKICAgICAg ICAgfTsKICAgICB9OwotLSAKMi4xMy42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==