From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v5 2/9] x86/iommu: add IOMMU entries for p2m_mmio_direct pages Date: Thu, 19 Jan 2017 17:29:34 +0000 Message-ID: <20170119172941.65642-3-roger.pau@citrix.com> References: <20170119172941.65642-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cUGX8-0005je-J2 for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 17:29:58 +0000 In-Reply-To: <20170119172941.65642-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Kevin Tian , Jan Beulich , konrad.wilk@oracle.com, George Dunlap , Andrew Cooper , Jun Nakajima , boris.ostrovsky@oracle.com, Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VGhlcmUncyBub3RoaW5nIHdyb25nIHdpdGggYWxsb3dpbmcgdGhlIGRvbWFpbiB0byBwZXJmb3Jt IERNQSB0cmFuc2ZlcnMgdG8KTU1JTyBhcmVhcyB0aGF0IGl0IGFscmVhZHkgY2FuIGFjY2VzcyBm cm9tIHRoZSBDUFUsIGFuZCB0aGlzIGFsbG93cyB1cyB0bwpyZW1vdmUgdGhlIGhhY2sgaW4gc2V0 X2lkZW50aXR5X3AybV9lbnRyeSBmb3IgUFZIIERvbTAuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNjOiBKdW4gTmFrYWppbWEgPGp1 bi5uYWthamltYUBpbnRlbC5jb20+CkNjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNv bT4KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j b29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHY0OgogLSBDaGVjayBmb3IgbW1p b19yb19yYW5nZXMsIHRoaXMgcmVxdWlyZXMgcGFzc2luZyB0aGUgbWZuIHRvIHRoZSBmdW5jdGlv biwgYW5kCiAgIGZpeGluZyB0aGUgY2FsbGVycy4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLWVw dC5jIHwgIDUgKysrLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAgfCAxNyArKysrKysrKysr LS0tLS0tLQogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICB8ICA5IC0tLS0tLS0tLQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wMm0uaCB8ICA2ICsrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNl cnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0v cDJtLWVwdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwppbmRleCAxM2NhYjI0Li4wZTMx NmJhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0tZXB0LmMKQEAgLTY3Miw3ICs2NzIsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVj dCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCiAgICAgdWlu dDhfdCBpcGF0ID0gMDsKICAgICBib29sX3QgbmVlZF9tb2RpZnlfdnRkX3RhYmxlID0gMTsKICAg ICBib29sX3QgdnRkX3B0ZV9wcmVzZW50ID0gMDsKLSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfZmxh Z3MgPSBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybXQpOworICAgIHVuc2lnbmVkIGludCBpb21tdV9m bGFncyA9IHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtdCwgbWZuKTsKICAgICBib29sX3QgbmVlZHNf c3luYyA9IDE7CiAgICAgZXB0X2VudHJ5X3Qgb2xkX2VudHJ5ID0geyAuZXB0ZSA9IDAgfTsKICAg ICBlcHRfZW50cnlfdCBuZXdfZW50cnkgPSB7IC5lcHRlID0gMCB9OwpAQCAtNzk4LDcgKzc5OCw4 IEBAIGVwdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBn Zm4sIG1mbl90IG1mbiwKIAogICAgICAgICAvKiBTYWZlIHRvIHJlYWQtdGhlbi13cml0ZSBiZWNh dXNlIHdlIGhvbGQgdGhlIHAybSBsb2NrICovCiAgICAgICAgIGlmICggZXB0X2VudHJ5LT5tZm4g PT0gbmV3X2VudHJ5Lm1mbiAmJgotICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MoZXB0 X2VudHJ5LT5zYV9wMm10KSA9PSBpb21tdV9mbGFncyApCisgICAgICAgICAgICAgcDJtX2dldF9p b21tdV9mbGFncyhlcHRfZW50cnktPnNhX3AybXQsIF9tZm4oZXB0X2VudHJ5LT5tZm4pKSA9PQor ICAgICAgICAgICAgIGlvbW11X2ZsYWdzICkKICAgICAgICAgICAgIG5lZWRfbW9kaWZ5X3Z0ZF90 YWJsZSA9IDA7CiAKICAgICAgICAgZXB0X3AybV90eXBlX3RvX2ZsYWdzKHAybSwgJm5ld19lbnRy eSwgcDJtdCwgcDJtYSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMgYi94 ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKaW5kZXggM2IwMjVkNS4uYTIzZDBiZCAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQu YwpAQCAtNDk5LDcgKzQ5OSw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4g KnAybSwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90IG1mbiwKICAgICBsMl9wZ2VudHJ5X3QgbDJl X2NvbnRlbnQ7CiAgICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50OwogICAgIGludCByYzsKLSAg ICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9mbGFncyhwMm10 KTsKKyAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9mbGFn cyhwMm10LCBtZm4pOwogICAgIC8qCiAgICAgICogb2xkX21mbiBhbmQgaW9tbXVfb2xkX2ZsYWdz IGNvbnRyb2wgcG9zc2libGUgZmx1c2gvdXBkYXRlIG5lZWRzIG9uIHRoZQogICAgICAqIElPTU1V OiBXZSBuZWVkIHRvIGZsdXNoIHdoZW4gTUZOIG9yIGZsYWdzIChpLmUuIHBlcm1pc3Npb25zKSBj aGFuZ2UuCkBAIC01NjUsOSArNTY1LDEwIEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9k b21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90IG1mbiwKICAgICAgICAgewogICAg ICAgICAgICAgaWYgKCBmbGFncyAmIF9QQUdFX1BTRSApCiAgICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0KLSAgICAgICAgICAgICAgICAgICAgcDJtX2dldF9p b21tdV9mbGFncyhwMm1fZmxhZ3NfdG9fdHlwZShmbGFncykpOwogICAgICAgICAgICAgICAgIG9s ZF9tZm4gPSBsMWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsKKyAgICAgICAgICAgICAgICBpb21tdV9v bGRfZmxhZ3MgPQorICAgICAgICAgICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9m bGFnc190b190eXBlKGZsYWdzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBfbWZuKG9sZF9tZm4pKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAg ICAgICAgICAgIHsKQEAgLTYwOSw5ICs2MTAsMTAgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAgICBw Mm1fZW50cnkgPSBwMm1fZmluZF9lbnRyeSh0YWJsZSwgJmdmbl9yZW1haW5kZXIsIGdmbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgTDFfUEFHRVRBQkxFX0VOVFJJRVMp OwogICAgICAgICBBU1NFUlQocDJtX2VudHJ5KTsKLSAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0K LSAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdzX3RvX3R5cGUobDFlX2dl dF9mbGFncygqcDJtX2VudHJ5KSkpOwogICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAy bV9lbnRyeSk7CisgICAgICAgIGlvbW11X29sZF9mbGFncyA9CisgICAgICAgICAgICBwMm1fZ2V0 X2lvbW11X2ZsYWdzKHAybV9mbGFnc190b190eXBlKGwxZV9nZXRfZmxhZ3MoKnAybV9lbnRyeSkp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZuKG9sZF9tZm4pKTsKIAogICAg ICAgICBpZiAoIG1mbl92YWxpZChtZm4pIHx8IHAybV9hbGxvd3NfaW52YWxpZF9tZm4ocDJtdCkg KQogICAgICAgICAgICAgZW50cnlfY29udGVudCA9IHAybV9sMWVfZnJvbV9wZm4obWZuX3gobWZu KSwKQEAgLTYzNyw5ICs2MzksMTAgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFp biAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAgICB7CiAgICAgICAg ICAgICBpZiAoIGZsYWdzICYgX1BBR0VfUFNFICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg ICAgICBpb21tdV9vbGRfZmxhZ3MgPQotICAgICAgICAgICAgICAgICAgICBwMm1fZ2V0X2lvbW11 X2ZsYWdzKHAybV9mbGFnc190b190eXBlKGZsYWdzKSk7CiAgICAgICAgICAgICAgICAgb2xkX21m biA9IGwxZV9nZXRfcGZuKCpwMm1fZW50cnkpOworICAgICAgICAgICAgICAgIGlvbW11X29sZF9m bGFncyA9CisgICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdz X3RvX3R5cGUoZmxhZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9tZm4ob2xkX21mbikpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAg ICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2 L21tL3AybS5jCmluZGV4IDZhNDUxODUuLjdlMzNhYjYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTEwNTMsMTYgKzEwNTMs NyBAQCBpbnQgc2V0X2lkZW50aXR5X3AybV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBsb25nIGdmbiwKICAgICAgICAgcmV0ID0gcDJtX3NldF9lbnRyeShwMm0sIGdmbiwgX21mbihn Zm4pLCBQQUdFX09SREVSXzRLLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV9tbWlv X2RpcmVjdCwgcDJtYSk7CiAgICAgZWxzZSBpZiAoIG1mbl94KG1mbikgPT0gZ2ZuICYmIHAybXQg PT0gcDJtX21taW9fZGlyZWN0ICYmIGEgPT0gcDJtYSApCi0gICAgewogICAgICAgICByZXQgPSAw OwotICAgICAgICAvKgotICAgICAgICAgKiBQVkggZml4bWU6IGR1cmluZyBEb20wIFBWSCBjb25z dHJ1Y3Rpb24sIHAybSBlbnRyaWVzIGFyZSBiZWluZyBzZXQKLSAgICAgICAgICogYnV0IGlvbWVt IHJlZ2lvbnMgYXJlIG5vdCBtYXBwZWQgd2l0aCBJT01NVS4gVGhpcyBtYWtlcyBzdXJlIHRoYXQK LSAgICAgICAgICogUk1SUnMgYXJlIGNvcnJlY3RseSBtYXBwZWQgd2l0aCBJT01NVS4KLSAgICAg ICAgICovCi0gICAgICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpICYmICFpb21tdV91c2Vf aGFwX3B0KGQpICkKLSAgICAgICAgICAgIHJldCA9IGlvbW11X21hcF9wYWdlKGQsIGdmbiwgZ2Zu LCBJT01NVUZfcmVhZGFibGV8SU9NTVVGX3dyaXRhYmxlKTsKLSAgICB9CiAgICAgZWxzZQogICAg IHsKICAgICAgICAgaWYgKCBmbGFnICYgWEVOX0RPTUNUTF9ERVZfUkRNX1JFTEFYRUQgKQpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cDJtLmgKaW5kZXggNzAzNTg2MC4uMjcxZDM3OSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCkBAIC04MjQsNyArODI0 LDcgQEAgdm9pZCBwMm1fYWx0cDJtX3Byb3BhZ2F0ZV9jaGFuZ2Uoc3RydWN0IGRvbWFpbiAqZCwg Z2ZuX3QgZ2ZuLAogLyoKICAqIHAybSB0eXBlIHRvIElPTU1VIGZsYWdzCiAgKi8KLXN0YXRpYyBp bmxpbmUgdW5zaWduZWQgaW50IHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX3R5cGVfdCBwMm10KQor c3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2dldF9pb21tdV9mbGFncyhwMm1fdHlwZV90 IHAybXQsIG1mbl90IG1mbikKIHsKICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAKQEAgLTg0MCw2 ICs4NDAsMTAgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcDJtX2dldF9pb21tdV9mbGFn cyhwMm1fdHlwZV90IHAybXQpCiAgICAgY2FzZSBwMm1fZ3JhbnRfbWFwX3JvOgogICAgICAgICBm bGFncyA9IElPTU1VRl9yZWFkYWJsZTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBwMm1fbW1p b19kaXJlY3Q6CisgICAgICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOworICAgICAgICBpZiAo IHJhbmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbWZuX3gobWZuKSkg KQorICAgICAgICAgICAgZmxhZ3MgfD0gSU9NTVVGX3dyaXRhYmxlOwogICAgIGRlZmF1bHQ6CiAg ICAgICAgIGZsYWdzID0gMDsKICAgICAgICAgYnJlYWs7Ci0tIAoyLjEwLjEgKEFwcGxlIEdpdC03 OCkKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK