From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC 28/44] x86/xlat: Use the percpu compat translation area Date: Thu, 4 Jan 2018 20:21:53 +0000 Message-ID: <1515097329-31902-29-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 VGhpcyBhbGxvd3Mge3NldHVwLGZyZWV9X2NvbXBhdF9hcmdfeGxhdCgpIHRvIGJlIGRyb3BwZWQu CgpDaGFuZ2luZyBDT01QQVRfQVJHX1hMQVRfVklSVF9CQVNFIHRvIGF2b2lkIHJlZmVyZW5jaW5n IGN1cnJlbnQgaGFzIGEgZmFpcmx5CmxhcmdlIGltcGFjdCBvbiBjb2RlIHNpemUsIGFzIGl0IGlz IGhpZGRlbiB1bmRlcm5lYXRoIHRoZQpjb3B5X3t0byxmcm9tfV9ndWVzdCgpIGxvZ2ljLgoKVGhl IG5ldCBibG9hdC1vLW1ldGVyIHJlcG9ydCBmb3IgdGhpcyBjaGFuZ2UgaXM6CgogIGFkZC9yZW1v dmU6IDAvMiBncm93L3NocmluazogNC8zNSB1cC9kb3duOiA1NzAvLTEyODUgKC03MTUpCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K IHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgICAgICAgICB8ICA4IC0tLS0tLS0tCiB4ZW4v YXJjaC94ODYvcHYvZG9tMF9idWlsZC5jICAgICAgICAgfCAgMiAtLQogeGVuL2FyY2gveDg2L3B2 L2RvbWFpbi5jICAgICAgICAgICAgIHwgMTIgKy0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYveDg2 XzY0L21tLmMgICAgICAgICAgICAgfCAxMyAtLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20t eDg2L2NvbmZpZy5oICAgICAgICAgfCAgNyAtLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3g4 Nl82NC91YWNjZXNzLmggfCAgNiArKy0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5j IGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA3MWZkZGZkLi41ODM2MjY5IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK QEAgLTE1MzMsMTAgKzE1MzMsNiBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNw dSAqdikKIAogICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZlY3RvciA9IEhWTV9F VkVOVF9WRUNUT1JfVU5TRVQ7CiAKLSAgICByYyA9IHNldHVwX2NvbXBhdF9hcmdfeGxhdCh2KTsg LyogdGVhcmRvd246IGZyZWVfY29tcGF0X2FyZ194bGF0KCkgKi8KLSAgICBpZiAoIHJjICE9IDAg KQotICAgICAgICBnb3RvIGZhaWw0OwotCiAgICAgaWYgKCBuZXN0ZWRodm1fZW5hYmxlZChkKQog ICAgICAgICAgJiYgKHJjID0gbmVzdGVkaHZtX3ZjcHVfaW5pdGlhbGlzZSh2KSkgPCAwICkgLyog dGVhcmRvd246IG5lc3RlZGh2bV92Y3B1X2Rlc3Ryb3kgKi8KICAgICAgICAgZ290byBmYWlsNTsK QEAgLTE1NjIsOCArMTU1OCw2IEBAIGludCBodm1fdmNwdV9pbml0aWFsaXNlKHN0cnVjdCB2Y3B1 ICp2KQogIGZhaWw2OgogICAgIG5lc3RlZGh2bV92Y3B1X2Rlc3Ryb3kodik7CiAgZmFpbDU6Ci0g ICAgZnJlZV9jb21wYXRfYXJnX3hsYXQodik7Ci0gZmFpbDQ6CiAgICAgaHZtX2Z1bmNzLnZjcHVf ZGVzdHJveSh2KTsKICBmYWlsMzoKICAgICB2bGFwaWNfZGVzdHJveSh2KTsKQEAgLTE1ODQsOCAr MTU3OCw2IEBAIHZvaWQgaHZtX3ZjcHVfZGVzdHJveShzdHJ1Y3QgdmNwdSAqdikKIAogICAgIG5l c3RlZGh2bV92Y3B1X2Rlc3Ryb3kodik7CiAKLSAgICBmcmVlX2NvbXBhdF9hcmdfeGxhdCh2KTsK LQogICAgIHRhc2tsZXRfa2lsbCgmdi0+YXJjaC5odm1fdmNwdS5hc3NlcnRfZXZ0Y2huX2lycV90 YXNrbGV0KTsKICAgICBodm1fZnVuY3MudmNwdV9kZXN0cm95KHYpOwogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQu YwppbmRleCAzYmFmMzdiLi4zZjVlM2JjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9t MF9idWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKQEAgLTM4NSw4ICsz ODUsNiBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAg ICAgewogICAgICAgICBkLT5hcmNoLmlzXzMyYml0X3B2ID0gZC0+YXJjaC5oYXNfMzJiaXRfc2hp bmZvID0gMTsKICAgICAgICAgdi0+dmNwdV9pbmZvID0gKHZvaWQgKikmZC0+c2hhcmVkX2luZm8t PmNvbXBhdC52Y3B1X2luZm9bMF07Ci0gICAgICAgIGlmICggc2V0dXBfY29tcGF0X2FyZ194bGF0 KHYpICE9IDAgKQotICAgICAgICAgICAgQlVHKCk7CiAgICAgfQogCiAgICAgbnJfcGFnZXMgPSBk b20wX2NvbXB1dGVfbnJfcGFnZXMoZCwgJnBhcm1zLCBpbml0cmRfbGVuKTsKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwppbmRl eCA3ZTQ1NjZkLi40ZTg4YmZkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMK KysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBAIC03Miw4ICs3Miw3IEBAIGludCBzd2l0 Y2hfY29tcGF0KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBmb3JfZWFjaF92Y3B1KCBkLCB2ICkK ICAgICB7Ci0gICAgICAgIGlmICggKHJjID0gc2V0dXBfY29tcGF0X2FyZ194bGF0KHYpKSB8fAot ICAgICAgICAgICAgIChyYyA9IHNldHVwX2NvbXBhdF9sNCh2KSkgKQorICAgICAgICBpZiAoIChy YyA9IHNldHVwX2NvbXBhdF9sNCh2KSkgKQogICAgICAgICAgICAgZ290byB1bmRvX2FuZF9mYWls OwogICAgIH0KIApAQCAtODcsMTAgKzg2LDcgQEAgaW50IHN3aXRjaF9jb21wYXQoc3RydWN0IGRv bWFpbiAqZCkKICB1bmRvX2FuZF9mYWlsOgogICAgIGQtPmFyY2guaXNfMzJiaXRfcHYgPSBkLT5h cmNoLmhhc18zMmJpdF9zaGluZm8gPSAwOwogICAgIGZvcl9lYWNoX3ZjcHUoIGQsIHYgKQotICAg IHsKLSAgICAgICAgZnJlZV9jb21wYXRfYXJnX3hsYXQodik7CiAgICAgICAgIHJlbGVhc2VfY29t cGF0X2w0KHYpOwotICAgIH0KIAogICAgIHJldHVybiByYzsKIH0KQEAgLTExMiwxMCArMTA4LDcg QEAgc3RhdGljIHZvaWQgcHZfZGVzdHJveV9nZHRfbGR0X2wxdGFiKHN0cnVjdCB2Y3B1ICp2KQog dm9pZCBwdl92Y3B1X2Rlc3Ryb3koc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgaWYgKCBpc19wdl8z MmJpdF92Y3B1KHYpICkKLSAgICB7Ci0gICAgICAgIGZyZWVfY29tcGF0X2FyZ194bGF0KHYpOwog ICAgICAgICByZWxlYXNlX2NvbXBhdF9sNCh2KTsKLSAgICB9CiAKICAgICBwdl9kZXN0cm95X2dk dF9sZHRfbDF0YWIodik7CiAgICAgeGZyZWUodi0+YXJjaC5wdl92Y3B1LnRyYXBfY3R4dCk7CkBA IC0xNTIsOSArMTQ1LDYgQEAgaW50IHB2X3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikK IAogICAgIGlmICggaXNfcHZfMzJiaXRfZG9tYWluKGQpICkKICAgICB7Ci0gICAgICAgIGlmICgg KHJjID0gc2V0dXBfY29tcGF0X2FyZ194bGF0KHYpKSApCi0gICAgICAgICAgICBnb3RvIGRvbmU7 Ci0KICAgICAgICAgaWYgKCAocmMgPSBzZXR1cF9jb21wYXRfbDQodikpICkKICAgICAgICAgICAg IGdvdG8gZG9uZTsKICAgICB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMg Yi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKaW5kZXggNjhlZWUzMC4uYWFlNzIxYiAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQv bW0uYwpAQCAtNjk3LDE5ICs2OTcsNiBAQCB2b2lkIF9faW5pdCB6YXBfbG93X21hcHBpbmdzKHZv aWQpCiAgICAgICAgICAgICAgICAgICAgICBfX1BBR0VfSFlQRVJWSVNPUik7CiB9CiAKLWludCBz ZXR1cF9jb21wYXRfYXJnX3hsYXQoc3RydWN0IHZjcHUgKnYpCi17Ci0gICAgcmV0dXJuIGNyZWF0 ZV9wZXJkb21haW5fbWFwcGluZyh2LT5kb21haW4sIEFSR19YTEFUX1NUQVJUKHYpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEZOX1VQKENPTVBBVF9BUkdfWExBVF9TSVpF KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5JTChzdHJ1Y3Qg cGFnZV9pbmZvICopKTsKLX0KLQotdm9pZCBmcmVlX2NvbXBhdF9hcmdfeGxhdChzdHJ1Y3QgdmNw dSAqdikKLXsKLSAgICBkZXN0cm95X3BlcmRvbWFpbl9tYXBwaW5nKHYtPmRvbWFpbiwgQVJHX1hM QVRfU1RBUlQodiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fVVAoQ09NUEFU X0FSR19YTEFUX1NJWkUpKTsKLX0KLQogc3RhdGljIHZvaWQgY2xlYW51cF9mcmFtZV90YWJsZShz dHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQogewogICAgIHVuc2lnbmVkIGxvbmcgc3ZhLCBl dmE7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9jb25maWcuaAppbmRleCAzZDY0MDQ3Li5jNzUwM2FkIDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY29u ZmlnLmgKQEAgLTMxNiwxMyArMzE2LDYgQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgeGVuX3BoeXNf c3RhcnQ7CiAjZGVmaW5lIExEVF9WSVJUX1NUQVJUKHYpICAgIFwKICAgICAoR0RUX1ZJUlRfU1RB UlQodikgKyAoNjQqMTAyNCkpCiAKLS8qIEFyZ3VtZW50IHRyYW5zbGF0aW9uIGFyZWEuIFRoZSB0 aGlyZCBwZXItZG9tYWluLW1hcHBpbmcgc3ViLWFyZWEuICovCi0jZGVmaW5lIEFSR19YTEFUX1ZJ UlRfU1RBUlQgICAgICBQRVJET01BSU5fVklSVF9TTE9UKDIpCi0vKiBBbGxvdyBmb3IgYXQgbGVh c3Qgb25lIGd1YXJkIHBhZ2UgKENPTVBBVF9BUkdfWExBVF9TSVpFIGJlaW5nIDIgcGFnZXMpOiAq LwotI2RlZmluZSBBUkdfWExBVF9WQV9TSElGVCAgICAgICAgKDIgKyBQQUdFX1NISUZUKQotI2Rl ZmluZSBBUkdfWExBVF9TVEFSVCh2KSAgICAgICAgXAotICAgIChBUkdfWExBVF9WSVJUX1NUQVJU ICsgKCh2KS0+dmNwdV9pZCA8PCBBUkdfWExBVF9WQV9TSElGVCkpCi0KICNkZWZpbmUgTkFUSVZF X1ZNX0FTU0lTVF9WQUxJRCAgICgoMVVMIDw8IFZNQVNTVF9UWVBFXzRnYl9zZWdtZW50cykgICAg ICAgIHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgVk1BU1NU X1RZUEVfNGdiX3NlZ21lbnRzX25vdGlmeSkgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKDFVTCA8PCBWTUFTU1RfVFlQRV93cml0YWJsZV9wYWdldGFibGVzKSB8IFwKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3VhY2Nlc3MuaCBiL3hlbi9pbmNs dWRlL2FzbS14ODYveDg2XzY0L3VhY2Nlc3MuaAppbmRleCBkN2RhZDRmLi5jZTg4ZGNlIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC91YWNjZXNzLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni94ODZfNjQvdWFjY2Vzcy5oCkBAIC0xLDExICsxLDkgQEAKICNpZm5kZWYg X19YODZfNjRfVUFDQ0VTU19ICiAjZGVmaW5lIF9fWDg2XzY0X1VBQ0NFU1NfSAogCi0jZGVmaW5l IENPTVBBVF9BUkdfWExBVF9WSVJUX0JBU0UgKCh2b2lkICopQVJHX1hMQVRfU1RBUlQoY3VycmVu dCkpCisjZGVmaW5lIENPTVBBVF9BUkdfWExBVF9WSVJUX0JBU0UgKCh2b2lkICopUEVSQ1BVX1hM QVRfU1RBUlQpCiAjZGVmaW5lIENPTVBBVF9BUkdfWExBVF9TSVpFICAgICAgKDIqUEFHRV9TSVpF KQotc3RydWN0IHZjcHU7Ci1pbnQgc2V0dXBfY29tcGF0X2FyZ194bGF0KHN0cnVjdCB2Y3B1ICp2 KTsKLXZvaWQgZnJlZV9jb21wYXRfYXJnX3hsYXQoc3RydWN0IHZjcHUgKnYpOworCiAjZGVmaW5l IGlzX2NvbXBhdF9hcmdfeGxhdF9yYW5nZShhZGRyLCBzaXplKSAoeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCiAgICAgdW5zaWduZWQgbG9uZyBfX29mZjsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgX19vZmYgPSAodW5z aWduZWQgbG9uZykoYWRkcikgLSAodW5zaWduZWQgbG9uZylDT01QQVRfQVJHX1hMQVRfVklSVF9C QVNFOyBcCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=