From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v4 2/4] iommu: set correct IOMMU entries when iommu_hap_pt_share == 0 Date: Wed, 4 Jun 2014 12:06:19 +0200 Message-ID: <1401876381-42977-3-git-send-email-roger.pau@citrix.com> References: <1401876381-42977-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Ws85b-00086i-Br for xen-devel@lists.xenproject.org; Wed, 04 Jun 2014 10:06:35 +0000 In-Reply-To: <1401876381-42977-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Tim Deegan , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SWYgdGhlIG1lbW9yeSBtYXAgaXMgbm90IHNoYXJlZCBiZXR3ZWVuIEhBUCBhbmQgSU9NTVUgd2Ug ZmFpbCB0byBzZXQKY29ycmVjdCBJT01NVSBtYXBwaW5ncyBmb3IgbWVtb3J5IHR5cGVzIG90aGVy IHRoYW4gcDJtX3JhbV9ydy4KClRoaXMgcGF0Y2hzIGFkZHMgSU9NTVUgc3VwcG9ydCBmb3IgdGhl IGZvbGxvd2luZyBtZW1vcnkgdHlwZXM6CnAybV9ncmFudF9tYXBfcncsIHAybV9tYXBfZm9yZWln biwgcDJtX3JhbV9ybywgcDJtX2dyYW50X21hcF9ybyBhbmQKcDJtX3JhbV9sb2dkaXJ0eS4KClNp Z25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpSZXZp ZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogVGlt IERlZWdhbiA8dGltQHhlbi5vcmc+ClRlc3RlZC1ieTogRGF2aWQgWmh1YW5nIDxkYXZpZC56aHVh bmdAb3JhY2xlLmNvbT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzogSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKIC0gTW92ZSB0aGUg cDJtIHR5cGUgc3dpdGNoIHRvIElPTU1VIGZsYWdzIHRvIGFuIGlubGluZSBmdW5jdGlvbiB0aGF0 CiAgIGlzIHNoYXJlZCBiZXR3ZWVuIHAybS1lcHQgYW5kIHAybS1wdC4KIC0gTWFrZSBwMm1fc2V0 X2VudHJ5IGFsc28gdXNlIHAybV9nZXRfaW9tbXVfZmxhZ3MuCi0tLQogeGVuL2FyY2gveDg2L21t L3AybS1lcHQuYyB8ICAgIDcgKysrKy0tLQogeGVuL2FyY2gveDg2L21tL3AybS1wdC5jICB8ICAg MTEgKysrKystLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggfCAgIDI3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94 ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCmluZGV4IDlmZGEyOGQuLjE1YzZlODMgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1l cHQuYwpAQCAtNzc2LDEwICs3NzYsMTEgQEAgb3V0OgogICAgICAgICAgICAgaW9tbXVfcHRlX2Zs dXNoKGQsIGdmbiwgJmVwdF9lbnRyeS0+ZXB0ZSwgb3JkZXIsIHZ0ZF9wdGVfcHJlc2VudCk7CiAg ICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCBwMm10ID09IHAybV9yYW1f cncgKQorICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzID0gcDJtX2dldF9pb21tdV9mbGFn cyhwMm10KTsKKworICAgICAgICAgICAgaWYgKCBmbGFncyAhPSAwICkKICAgICAgICAgICAgICAg ICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IG9yZGVyKTsgaSsrICkKLSAgICAgICAgICAgICAgICAg ICAgaW9tbXVfbWFwX3BhZ2UoZCwgZ2ZuICsgaSwgbWZuX3gobWZuKSArIGksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZSB8IElPTU1VRl93cml0YWJs ZSk7CisgICAgICAgICAgICAgICAgICAgIGlvbW11X21hcF9wYWdlKGQsIGdmbiArIGksIG1mbl94 KG1mbikgKyBpLCBmbGFncyk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgZm9y ICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCiAgICAgICAgICAgICAgICAgICAgIGlv bW11X3VubWFwX3BhZ2UoZCwgZ2ZuICsgaSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0v cDJtLXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKaW5kZXggYTE3OTRkMC4uMDg1YWI2 ZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9tbS9wMm0tcHQuYwpAQCAtNDkxLDkgKzQ5MSw3IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0 IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4sIG1mbl90IG1mbiwKICAgICBsMl9w Z2VudHJ5X3QgbDJlX2NvbnRlbnQ7CiAgICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50OwogICAg IGludCByYzsKLSAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gKHAybXQgPT0gcDJt X3JhbV9ydykgPwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVh ZGFibGV8SU9NTVVGX3dyaXRhYmxlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAwOyAKKyAgICB1bnNpZ25lZCBpbnQgaW9tbXVfcHRlX2ZsYWdzID0gcDJtX2dldF9pb21tdV9m bGFncyhwMm10KTsKICAgICB1bnNpZ25lZCBsb25nIG9sZF9tZm4gPSAwOwogCiAgICAgaWYgKCB0 Yl9pbml0X2RvbmUgKQpAQCAtNjYyLDEwICs2NjAsMTEgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1 Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogICAgICAg ICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCBwMm10ID09IHAy bV9yYW1fcncgKQorICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzID0gcDJtX2dldF9pb21t dV9mbGFncyhwMm10KTsKKworICAgICAgICAgICAgaWYgKCBmbGFncyAhPSAwICkKICAgICAgICAg ICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRlcik7IGkrKyApCi0gICAg ICAgICAgICAgICAgICAgIGlvbW11X21hcF9wYWdlKHAybS0+ZG9tYWluLCBnZm4raSwgbWZuX3go bWZuKStpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFi bGV8SU9NTVVGX3dyaXRhYmxlKTsKKyAgICAgICAgICAgICAgICAgICAgaW9tbXVfbWFwX3BhZ2Uo cDJtLT5kb21haW4sIGdmbitpLCBtZm5feChtZm4pK2ksIGZsYWdzKTsKICAgICAgICAgICAgIGVs c2UKICAgICAgICAgICAgICAgICBmb3IgKCBpbnQgaSA9IDA7IGkgPCAoMVVMIDw8IHBhZ2Vfb3Jk ZXIpOyBpKysgKQogICAgICAgICAgICAgICAgICAgICBpb21tdV91bm1hcF9wYWdlKHAybS0+ZG9t YWluLCBnZm4raSk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAppbmRleCBkMGNmZGFjLi4wZGRiYWRiIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJt LmgKQEAgLTY5MSw2ICs2OTEsMzMgQEAgdm9pZCBwMm1fZmx1c2hfbmVzdGVkcDJtKHN0cnVjdCBk b21haW4gKmQpOwogdm9pZCBuZXN0ZWRwMm1fd3JpdGVfcDJtX2VudHJ5KHN0cnVjdCBwMm1fZG9t YWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgIGwxX3BnZW50cnlfdCAqcCwgbDFfcGdl bnRyeV90IG5ldywgdW5zaWduZWQgaW50IGxldmVsKTsKIAorLyoKKyAqIHAybSB0eXBlIHRvIElP TU1VIGZsYWdzCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHAybV9nZXRfaW9tbXVf ZmxhZ3MocDJtX3R5cGVfdCBwMm10KQoreworICAgIHVuc2lnbmVkIGludCBmbGFnczsKKworICAg IHN3aXRjaCggcDJtdCApCisgICAgeworICAgIGNhc2UgcDJtX3JhbV9ydzoKKyAgICBjYXNlIHAy bV9ncmFudF9tYXBfcnc6CisgICAgY2FzZSBwMm1fcmFtX2xvZ2RpcnR5OgorICAgIGNhc2UgcDJt X21hcF9mb3JlaWduOgorICAgICAgICBmbGFncyA9ICBJT01NVUZfcmVhZGFibGUgfCBJT01NVUZf d3JpdGFibGU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgcDJtX3JhbV9ybzoKKyAgICBjYXNl IHAybV9ncmFudF9tYXBfcm86CisgICAgICAgIGZsYWdzID0gSU9NTVVGX3JlYWRhYmxlOworICAg ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBmbGFncyA9IDA7CisgICAgICAgIGJy ZWFrOworICAgIH0KKworICAgIHJldHVybiBmbGFnczsKK30KKwogI2VuZGlmIC8qIF9YRU5fUDJN X0ggKi8KIAogLyoKLS0gCjEuNy43LjUgKEFwcGxlIEdpdC0yNikKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=