From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC 22/44] x86/mm: Track whether the current cr3 has a short or extended directmap Date: Thu, 4 Jan 2018 20:21:47 +0000 Message-ID: <1515097329-31902-23-git-send-email-andrew.cooper3@citrix.com> References: <1515097329-31902-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: <1515097329-31902-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 List-Id: xen-devel@lists.xenproject.org VGhpcyB3aWxsIGJlIHVzZWQgdG8gcmVtb3ZlIHRoZSBtYXBjYWNoZSBvdmVycmlkZS9jdXJyZW50 IHZjcHUgbWVjaGFuaXNtIHdoZW4KcmV3b3JraW5nIG1hcF9kb21haW5fcGFnZSgpIHRvIGJlIHNh ZmUgaW4gdGhlIG1pZGRsZSBvZiBjb250ZXh0IHN3aXRjaGVzLgoKU2lnbmVkLW9mZi1ieTogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYv bW0uYyAgICAgICAgfCAxMSArKysrKysrKysrKwogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgIHwg IDIgKysKIHhlbi9jb21tb24vZWZpL3J1bnRpbWUuYyB8ICAzICsrKwogeGVuL2luY2x1ZGUvYXNt LXg4Ni9tbS5oIHwgMTEgKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK aW5kZXggNTdiM2UyNS4uN2MwODgwNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysr IGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ5OSw2ICs0OTksNyBAQCB2b2lkIG1ha2VfY3IzKHN0 cnVjdCB2Y3B1ICp2LCBtZm5fdCBtZm4pCiB9CiAKIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxv bmcsIGN1cnJfcHRiYXNlKTsKK0RFRklORV9QRVJfQ1BVKGJvb2wsIGN1cnJfZXh0ZW5kZWRfZGly ZWN0bWFwKTsKIAogdm9pZCBkb193cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYsIGJvb2wgdGxi X21haW50ZW5hbmNlKQogewpAQCAtNTA2LDYgKzUwNyw4IEBAIHZvaWQgZG9fd3JpdGVfcHRiYXNl KHN0cnVjdCB2Y3B1ICp2LCBib29sIHRsYl9tYWludGVuYW5jZSkKICAgICB1bnNpZ25lZCBpbnQg Y3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogICAgIHVuc2lnbmVkIGxvbmcgKnRoaXNfY3Vycl9w dGJhc2UgPSAmcGVyX2NwdShjdXJyX3B0YmFzZSwgY3B1KTsKICAgICBsNF9wZ2VudHJ5X3QgcGVy Y3B1X21hcHBpbmdzID0gcGVyX2NwdShwZXJjcHVfbWFwcGluZ3MsIGNwdSk7CisgICAgYm9vbCAq dGhpc19leHRkX2RpcmVjdG1hcCA9ICZwZXJfY3B1KGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFwLCBj cHUpOworICAgIGJvb2wgbmV3X2V4dGRfZGlyZWN0bWFwID0gcGFnaW5nX21vZGVfZXh0ZXJuYWwo di0+ZG9tYWluKTsKICAgICBsNF9wZ2VudHJ5X3QgKm5ld19sNHQ7CiAgICAgc3RydWN0IHBhZ2Vf aW5mbyAqbmV3X3BnOwogCkBAIC01MjksMTEgKzUzMiwxOSBAQCB2b2lkIGRvX3dyaXRlX3B0YmFz ZShzdHJ1Y3QgdmNwdSAqdiwgYm9vbCB0bGJfbWFpbnRlbmFuY2UpCiAgICAgbmV3X2w0dFtsNF90 YWJsZV9vZmZzZXQoUEVSQ1BVX0xJTkVBUl9TVEFSVCldID0gcGVyY3B1X21hcHBpbmdzOwogICAg IGJhcnJpZXIoKTsKIAorICAgIC8qIElmIHRoZSBuZXcgY3IzIGhhcyBhIHNob3J0IGRpcmVjdG1h cCwgcmVwb3J0IHNvIGJlZm9yZSBzd2l0Y2hpbmcuLi4gKi8KKyAgICBpZiAoICFuZXdfZXh0ZF9k aXJlY3RtYXAgKQorICAgICAgICAqdGhpc19leHRkX2RpcmVjdG1hcCA9IG5ld19leHRkX2RpcmVj dG1hcDsKKwogICAgIGlmICggdGxiX21haW50ZW5hbmNlICkKICAgICAgICAgd3JpdGVfY3IzKG5l d19jcjMpOwogICAgIGVsc2UKICAgICAgICAgYXNtIHZvbGF0aWxlICggIm1vdiAlMCwgJSVjcjMi IDo6ICJyIiAobmV3X2NyMykgOiAibWVtb3J5IiApOwogCisgICAgLyogLi4uIGVsc2UgcmVwb3J0 IGFmdGVyd2FyZHMuICovCisgICAgaWYgKCBuZXdfZXh0ZF9kaXJlY3RtYXAgKQorICAgICAgICAq dGhpc19leHRkX2RpcmVjdG1hcCA9IG5ld19leHRkX2RpcmVjdG1hcDsKKwogICAgIC8qIE1hcmsg dGhlIG9sZCBjcjMgYXMgbm8gbG9uZ2VyIGluIHVzZS4gKi8KICAgICBpZiAoIG5ld19jcjMgIT0g KnRoaXNfY3Vycl9wdGJhc2UgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1 cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggNjYyYzM4My4uODBlZmVmMCAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAg LTI3MCw2ICsyNzAsNyBAQCB2b2lkIGVhcmx5X3N3aXRjaF90b19pZGxlKGJvb2wgYnNwKQogICAg ICAgICAgICAgICAgICAgIDogIm1lbW9yeSIgKTsKIAogICAgIHBlcl9jcHUoY3Vycl9wdGJhc2Us IGNwdSkgPSB2LT5hcmNoLmNyMzsKKyAgICBwZXJfY3B1KGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFw LCBjcHUpID0gdHJ1ZTsKIAogICAgIGxpZHQoJmlkdHIpOwogCkBAIC03MTMsNiArNzE0LDcgQEAg dm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAg ICBpZGxlX3ZjcHVbMF0gPSBjdXJyZW50OwogCiAgICAgcGVyY3B1X2luaXRfYXJlYXMoKTsKKyAg ICBwZXJfY3B1KGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFwLCAwKSA9IHRydWU7CiAKICAgICBpbml0 X2lkdF90cmFwcygpOwogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZWZpL3J1bnRpbWUu YyBiL3hlbi9jb21tb24vZWZpL3J1bnRpbWUuYwppbmRleCAzZGJjMmU4Li5mZTZkM2FmIDEwMDY0 NAotLS0gYS94ZW4vY29tbW9uL2VmaS9ydW50aW1lLmMKKysrIGIveGVuL2NvbW1vbi9lZmkvcnVu dGltZS5jCkBAIC0xMTIsNiArMTEyLDcgQEAgc3RydWN0IGVmaV9yc19zdGF0ZSBlZmlfcnNfZW50 ZXIodm9pZCkKICAgICB9CiAKICAgICB3cml0ZV9jcjModmlydF90b19tYWRkcihlZmlfbDRfcGd0 YWJsZSkpOworICAgIHRoaXNfY3B1KGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFwKSA9IHRydWU7CiAK ICAgICByZXR1cm4gc3RhdGU7CiB9CkBAIC0xMjAsNiArMTIxLDggQEAgdm9pZCBlZmlfcnNfbGVh dmUoc3RydWN0IGVmaV9yc19zdGF0ZSAqc3RhdGUpCiB7CiAgICAgaWYgKCAhc3RhdGUtPmNyMyAp CiAgICAgICAgIHJldHVybjsKKworICAgIHRoaXNfY3B1KGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFw KSA9IHBhZ2luZ19tb2RlX2V4dGVybmFsKGN1cnJlbnQtPmRvbWFpbik7CiAgICAgd3JpdGVfY3Iz KHN0YXRlLT5jcjMpOwogICAgIGlmICggaXNfcHZfdmNwdShjdXJyZW50KSAmJiAhaXNfaWRsZV92 Y3B1KGN1cnJlbnQpICkKICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21t LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKaW5kZXggNjQwNDRjNi4uNTRiNzQ5OSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvbW0uaApAQCAtNTY3LDYgKzU2NywxNyBAQCB2b2lkIGF1ZGl0X2RvbWFpbnModm9pZCk7CiAK IERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBjdXJyX3B0YmFzZSk7CiAKKy8qCisgKiBJ bmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCAlY3IzIGNvbnRhaW5zIGEgc2hvcnQgb3IgZXh0 ZW5kZWQgZGlyZWN0bWFwLgorICogQ2FyZSBuZWVkcyB0byBiZSB0YWtlbiB3aGVuIHVwZGF0aW5n LCBhcyBtYXBfZG9tYWluX3BhZ2UoKSBpcyB1c2VkIGluCisgKiBpbnRlcnJ1cHQvZXhjZXB0aW9u IGNvbnRleHQuICBJdCBpcyBzYWZlIHRvIGluZGljYXRlIHRoYXQgdGhlIGN1cnJlbnQgJWNyMwor ICogaXMgc2hvcnQgd2hlbiBpdCBpcyBhY3R1YWxseSBleHRlbmRlZCAoaW4gd2hpY2ggY2FzZSwg bWFwX2RvbWFpbl9wYWdlKCkKKyAqIHdpbGwgdXNlIGEgbWFwcGluZyBzbG90IHJhdGhlciB0aGFu IHJlZmVyaW5nIHRvIHRoZSBkaXJlY3RtYXApLCBidXQgaXQgaXMKKyAqIG5vdCBzYWZlIHRvIGlu ZGljYXRlIHRoZSBvcHBvc2l0ZSAoaW4gd2hpY2ggY2FzZSwgbWFwX2RvbWFpbl9wYWdlKCkgd2ls bAorICogcmV0dXJuIGEgcG9pbnRlciBpbnRvIDY0Yml0IFBWIGtlcm5lbCBhZGRyZXNzIHNwYWNl KS4KKyAqLworREVDTEFSRV9QRVJfQ1BVKGJvb2wsIGN1cnJfZXh0ZW5kZWRfZGlyZWN0bWFwKTsK Kwogdm9pZCBtYWtlX2NyMyhzdHJ1Y3QgdmNwdSAqdiwgbWZuX3QgbWZuKTsKIHZvaWQgdXBkYXRl X2NyMyhzdHJ1Y3QgdmNwdSAqdik7CiBpbnQgdmNwdV9kZXN0cm95X3BhZ2V0YWJsZXMoc3RydWN0 IHZjcHUgKik7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=