From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH RFC v2 07/12] x86: allow per-domain mappings without NX bit or with specific mfn Date: Mon, 22 Jan 2018 13:32:51 +0100 Message-ID: <20180122123256.1431-8-jgross@suse.com> References: <20180122123256.1431-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 1edbI4-0008T5-Kn for xen-devel@lists.xenproject.org; Mon, 22 Jan 2018 12:33:32 +0000 In-Reply-To: <20180122123256.1431-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 , wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Rm9yIHN1cHBvcnQgb2YgcGVyLXZjcHUgc3RhY2tzIHdlIG5lZWQgcGVyLXZjcHUgdHJhbXBvbGlu ZXMuIFRvIGJlCmFibGUgdG8gcHV0IHRob3NlIGludG8gdGhlIHBlci1kb21haW4gbWFwcGluZ3Mg dGhlIHVwcGVyIGxldmVscwpwYWdlIHRhYmxlcyBtdXN0IG5vdCBoYXZlIE5YIHNldCBmb3IgcGVy LWRvbWFpbiBtYXBwaW5ncy4KCkluIG9yZGVyIHRvIGJlIGFibGUgdG8gcmVzZXQgdGhlIE5YIGJp dCBmb3IgYSBwZXItZG9tYWluIG1hcHBpbmcgYWRkCmEgaGVscGVyIGZsaXBmbGFnc19wZXJkb21h aW5fbWFwcGluZygpIGZvciBmbGlwcGluZyBwYWdlIHRhYmxlIGZsYWdzCm9mIGEgc3BlY2lmaWMg bWFwcGVkIHBhZ2UuCgpUbyBiZSBhYmxlIHRvIHVzZSBhIHBhZ2UgZnJvbSB4ZW4gaGVhcCBmb3Ig dGhlIGxhc3QgcGVyLXZjcHUgc3RhY2sKcGFnZSBhZGQgYSBoZWxwZXIgdG8gbWFwIGFuIGFyYml0 cmFyeSBtZm4gaW4gdGhlIHBlcmRvbWFpbiBhcmVhLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBH cm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICB8IDgx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDMgKysKIDIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hl bi9hcmNoL3g4Ni9tbS5jCmluZGV4IDc0Y2RiNmUxNGQuLmFiOTkwY2M2NjcgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC0xNTY4LDcgKzE1 NjgsNyBAQCB2b2lkIGluaXRfeGVuX2w0X3Nsb3RzKGw0X3BnZW50cnlfdCAqbDR0LCBtZm5fdCBs NG1mbiwKIAogICAgIC8qIFNsb3QgMjYwOiBQZXItZG9tYWluIG1hcHBpbmdzIChpZiBhcHBsaWNh YmxlKS4gKi8KICAgICBsNHRbbDRfdGFibGVfb2Zmc2V0KFBFUkRPTUFJTl9WSVJUX1NUQVJUKV0g PQotICAgICAgICBkID8gbDRlX2Zyb21fcGFnZShkLT5hcmNoLnBlcmRvbWFpbl9sM19wZywgX19Q QUdFX0hZUEVSVklTT1JfUlcpCisgICAgICAgIGQgPyBsNGVfZnJvbV9wYWdlKGQtPmFyY2gucGVy ZG9tYWluX2wzX3BnLCBfX1BBR0VfSFlQRVJWSVNPUikKICAgICAgICAgICA6IGw0ZV9lbXB0eSgp OwogCiAgICAgLyogU2xvdCAyNjEtOiB0ZXh0L2RhdGEvYnNzLCBSVyBNMlAsIHZtYXAsIGZyYW1l dGFibGUsIGRpcmVjdG1hcC4gKi8KQEAgLTUyNjksNyArNTI2OSw3IEBAIGludCBjcmVhdGVfcGVy ZG9tYWluX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyB2YSwKICAgICAg ICAgfQogICAgICAgICBsMnRhYiA9IF9fbWFwX2RvbWFpbl9wYWdlKHBnKTsKICAgICAgICAgY2xl YXJfcGFnZShsMnRhYik7Ci0gICAgICAgIGwzdGFiW2wzX3RhYmxlX29mZnNldCh2YSldID0gbDNl X2Zyb21fcGFnZShwZywgX19QQUdFX0hZUEVSVklTT1JfUlcpOworICAgICAgICBsM3RhYltsM190 YWJsZV9vZmZzZXQodmEpXSA9IGwzZV9mcm9tX3BhZ2UocGcsIF9fUEFHRV9IWVBFUlZJU09SKTsK ICAgICB9CiAgICAgZWxzZQogICAgICAgICBsMnRhYiA9IG1hcF9sMnRfZnJvbV9sM2UobDN0YWJb bDNfdGFibGVfb2Zmc2V0KHZhKV0pOwpAQCAtNTMxMSw3ICs1MzExLDcgQEAgaW50IGNyZWF0ZV9w ZXJkb21haW5fbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHZhLAogICAg ICAgICAgICAgICAgIGwxdGFiID0gX19tYXBfZG9tYWluX3BhZ2UocGcpOwogICAgICAgICAgICAg fQogICAgICAgICAgICAgY2xlYXJfcGFnZShsMXRhYik7Ci0gICAgICAgICAgICAqcGwyZSA9IGwy ZV9mcm9tX3BhZ2UocGcsIF9fUEFHRV9IWVBFUlZJU09SX1JXKTsKKyAgICAgICAgICAgICpwbDJl ID0gbDJlX2Zyb21fcGFnZShwZywgX19QQUdFX0hZUEVSVklTT1IpOwogICAgICAgICB9CiAgICAg ICAgIGVsc2UgaWYgKCAhbDF0YWIgKQogICAgICAgICAgICAgbDF0YWIgPSBtYXBfbDF0X2Zyb21f bDJlKCpwbDJlKTsKQEAgLTU0MDEsNiArNTQwMSw4MSBAQCB2b2lkIGRlc3Ryb3lfcGVyZG9tYWlu X21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyB2YSwKICAgICB1bm1hcF9k b21haW5fcGFnZShsM3RhYik7CiB9CiAKK3ZvaWQgZmxpcGZsYWdzX3BlcmRvbWFpbl9tYXBwaW5n KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgdmEsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisgICAgY29uc3QgbDNfcGdlbnRy eV90ICpsM3RhYiwgKnBsM2U7CisKKyAgICBBU1NFUlQodmEgPj0gUEVSRE9NQUlOX1ZJUlRfU1RB UlQgJiYKKyAgICAgICAgICAgdmEgPCBQRVJET01BSU5fVklSVF9TTE9UKFBFUkRPTUFJTl9TTE9U UykpOworCisgICAgaWYgKCAhZC0+YXJjaC5wZXJkb21haW5fbDNfcGcgKQorICAgICAgICByZXR1 cm47CisKKyAgICBsM3RhYiA9IF9fbWFwX2RvbWFpbl9wYWdlKGQtPmFyY2gucGVyZG9tYWluX2wz X3BnKTsKKyAgICBwbDNlID0gbDN0YWIgKyBsM190YWJsZV9vZmZzZXQodmEpOworCisgICAgaWYg KCBsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAmIF9QQUdFX1BSRVNFTlQgKQorICAgIHsKKyAgICAgICAg Y29uc3QgbDJfcGdlbnRyeV90ICpsMnRhYiA9IG1hcF9sMnRfZnJvbV9sM2UoKnBsM2UpOworICAg ICAgICBjb25zdCBsMl9wZ2VudHJ5X3QgKnBsMmUgPSBsMnRhYiArIGwyX3RhYmxlX29mZnNldCh2 YSk7CisKKyAgICAgICAgaWYgKCBsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQg KQorICAgICAgICB7CisgICAgICAgICAgICBsMV9wZ2VudHJ5X3QgKmwxdGFiID0gbWFwX2wxdF9m cm9tX2wyZSgqcGwyZSk7CisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2ZmID0gbDFfdGFibGVf b2Zmc2V0KHZhKTsKKworICAgICAgICAgICAgaWYgKCAobDFlX2dldF9mbGFncyhsMXRhYltvZmZd KSAmIChfUEFHRV9QUkVTRU5UIHwgX1BBR0VfQVZBSUwwKSkgPT0KKyAgICAgICAgICAgICAgICAg KF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9BVkFJTDApICkKKyAgICAgICAgICAgICAgICBsMWVfZmxp cF9mbGFncyhsMXRhYltvZmZdLCBmbGFncyk7CisKKyAgICAgICAgICAgIHVubWFwX2RvbWFpbl9w YWdlKGwxdGFiKTsKKyAgICAgICAgfQorCisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwydGFi KTsKKyAgICB9CisKKyAgICB1bm1hcF9kb21haW5fcGFnZShsM3RhYik7Cit9CisKK3ZvaWQgYWRk bWZuX3RvX3BlcmRvbWFpbl9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg dmEsIG1mbl90IG1mbikKK3sKKyAgICBjb25zdCBsM19wZ2VudHJ5X3QgKmwzdGFiLCAqcGwzZTsK KworICAgIEFTU0VSVCh2YSA+PSBQRVJET01BSU5fVklSVF9TVEFSVCAmJgorICAgICAgICAgICB2 YSA8IFBFUkRPTUFJTl9WSVJUX1NMT1QoUEVSRE9NQUlOX1NMT1RTKSk7CisKKyAgICBpZiAoICFk LT5hcmNoLnBlcmRvbWFpbl9sM19wZyApCisgICAgICAgIHJldHVybjsKKworICAgIGwzdGFiID0g X19tYXBfZG9tYWluX3BhZ2UoZC0+YXJjaC5wZXJkb21haW5fbDNfcGcpOworICAgIHBsM2UgPSBs M3RhYiArIGwzX3RhYmxlX29mZnNldCh2YSk7CisKKyAgICBpZiAoIGwzZV9nZXRfZmxhZ3MoKnBs M2UpICYgX1BBR0VfUFJFU0VOVCApCisgICAgeworICAgICAgICBjb25zdCBsMl9wZ2VudHJ5X3Qg KmwydGFiID0gbWFwX2wydF9mcm9tX2wzZSgqcGwzZSk7CisgICAgICAgIGNvbnN0IGwyX3BnZW50 cnlfdCAqcGwyZSA9IGwydGFiICsgbDJfdGFibGVfb2Zmc2V0KHZhKTsKKworICAgICAgICBpZiAo IGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCApCisgICAgICAgIHsKKyAgICAg ICAgICAgIGwxX3BnZW50cnlfdCAqbDF0YWIgPSBtYXBfbDF0X2Zyb21fbDJlKCpwbDJlKTsKKyAg ICAgICAgICAgIHVuc2lnbmVkIGludCBvZmYgPSBsMV90YWJsZV9vZmZzZXQodmEpOworCisgICAg ICAgICAgICBpZiAoIChsMWVfZ2V0X2ZsYWdzKGwxdGFiW29mZl0pICYgKF9QQUdFX1BSRVNFTlQg fCBfUEFHRV9BVkFJTDApKSA9PQorICAgICAgICAgICAgICAgICAoX1BBR0VfUFJFU0VOVCB8IF9Q QUdFX0FWQUlMMCkgKQorICAgICAgICAgICAgICAgIGZyZWVfZG9taGVhcF9wYWdlKGwxZV9nZXRf cGFnZShsMXRhYltvZmZdKSk7CisKKyAgICAgICAgICAgIGwxdGFiW29mZl0gPSBsMWVfZnJvbV9t Zm4obWZuLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7CisKKyAgICAgICAgICAgIHVubWFwX2RvbWFp bl9wYWdlKGwxdGFiKTsKKyAgICAgICAgfQorCisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwy dGFiKTsKKyAgICB9CisKKyAgICB1bm1hcF9kb21haW5fcGFnZShsM3RhYik7Cit9CisKIHZvaWQg ZnJlZV9wZXJkb21haW5fbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBsM19wZ2Vu dHJ5X3QgKmwzdGFiOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9tbS5oCmluZGV4IDMwMTNjMjY2ZmUuLmZhMTU4YmQ5NmEgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L21tLmgKQEAgLTU4Miw2ICs1ODIsOSBAQCBpbnQgY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKHN0 cnVjdCBkb21haW4gKiwgdW5zaWduZWQgbG9uZyB2YSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqKik7CiB2b2lkIGRlc3Ryb3lfcGVyZG9tYWluX21hcHBp bmcoc3RydWN0IGRvbWFpbiAqLCB1bnNpZ25lZCBsb25nIHZhLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBucik7Cit2b2lkIGZsaXBmbGFnc19wZXJkb21haW5f bWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHZhLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKK3ZvaWQgYWRkbWZuX3Rv X3BlcmRvbWFpbl9tYXBwaW5nKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgdmEsIG1m bl90IG1mbik7CiB2b2lkIGZyZWVfcGVyZG9tYWluX21hcHBpbmdzKHN0cnVjdCBkb21haW4gKik7 CiAKIGV4dGVybiBpbnQgbWVtb3J5X2FkZCh1bnNpZ25lZCBsb25nIHNwZm4sIHVuc2lnbmVkIGxv bmcgZXBmbiwgdW5zaWduZWQgaW50IHB4bSk7Ci0tIAoyLjEzLjYKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs