From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [RFC 08/22] xen/arm: p2m: Invalidate the TLBs when write unlocking the p2m Date: Thu, 28 Jul 2016 15:51:31 +0100 Message-ID: <1469717505-8026-9-git-send-email-julien.grall@arm.com> References: <1469717505-8026-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469717505-8026-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: proskurin@sec.in.tum.de, Julien Grall , sstabellini@kernel.org, steve.capper@arm.com, wei.chen@linaro.org List-Id: xen-devel@lists.xenproject.org U29tZXRpbWVzIHRoZSBpbnZhbGlkYXRpb24gb2YgdGhlIFRMQnMgY2FuIGJlIGRlZmVycmVkIHVu dGlsIHRoZSBwMm0gaXMKdW5sb2NrZWQuIFRoaXMgaXMgZm9yIGluc3RhbmNlIHRoZSBjYXNlIHdo ZW4gbXVsdGlwbGUgbWFwcGluZ3MgYXJlCnJlbW92ZWQuIEluIG90aGVyIGNhc2UsIHN1Y2ggYXMg c2hhdHRlcmluZyBhIHN1cGVycGFnZSwgYW4gaW1tZWRpYXRlCmZsdXNoIGlzIHJlcXVpcmVkLgoK S2VlcCB0cmFjayB3aGV0aGVyIGEgZmx1c2ggaXMgbmVlZGVkIGRpcmVjdGx5IGluIHRoZSBwMm1f ZG9tYWluIHN0cnVjdHVyZQp0byBhbGxvdyBzZXJpYWxpemluZyBtdWx0aXBsZSBjaGFuZ2VzLiBU aGUgVExCcyB3aWxsIGJlIGludmFsaWRhdGVkIHdoZW4Kd3JpdGUgdW5sb2NraW5nIHRoZSBwMm0g aWYgbmVjZXNzYXJ5LgoKQWxzbyBhIG5ldyBoZWxwZXIsIHAybV9mbHVzaF9zeW5jLCBoYXMgYmVl biBpbnRyb2R1Y2VkIHRvIGZvcmNlIGEKc3luY2hyb25vdXMgVExCIGludmFsaWRhdGlvbi4KCkZp bmFsbHksIHJlcGxhY2UgdGhlIGNhbGwgdG8gcDJtX2ZsdXNoX3RsYiBieSBwMm1fZmx1c2hfdGxi X3N5bmMgaW4KYXBwbHlfcDJtX2NoYW5nZXMuCgpOb3RlIHRoaXMgcGF0Y2ggaXMgbm90IHVzZWZ1 bCB0b2RheSwgaG93ZXZlciBmb2xsb3ctdXAgcGF0Y2hlcyB3aWxsIG1ha2UKYWR2YW50YWdlIG9m IGl0LgoKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4K LS0tCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIHwgMTEgKysrKysrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCA2YjI5 Y2YwLi5hNmRjZTBjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2Fy Y2gvYXJtL3AybS5jCkBAIC01Miw4ICs1MiwyMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcDJtX3dy aXRlX2xvY2soc3RydWN0IHAybV9kb21haW4gKnAybSkKICAgICB3cml0ZV9sb2NrKCZwMm0tPmxv Y2spOwogfQogCitzdGF0aWMgdm9pZCBwMm1fZmx1c2hfdGxiKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0pOworCiBzdGF0aWMgaW5saW5lIHZvaWQgcDJtX3dyaXRlX3VubG9jayhzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtKQogeworICAgIGlmICggcDJtLT5uZWVkX2ZsdXNoICkKKyAgICB7CisgICAgICAg IHAybS0+bmVlZF9mbHVzaCA9IGZhbHNlOworICAgICAgICAvKgorICAgICAgICAgKiBUaGUgZmlu YWwgZmx1c2ggaXMgZG9uZSB3aXRoIHRoZSBQMk0gd3JpdGUgbG9jayB0YWtlbiB0bworICAgICAg ICAgKiB0byBhdm9pZCBzb21lb25lIGVsc2UgbW9kaWZ5IHRoZSBQMk0gYmVmb3JlIHRoZSBUTEIK KyAgICAgICAgICogaW52YWxpZGF0aW9uIGhhcyBjb21wbGV0ZWQuCisgICAgICAgICAqLworICAg ICAgICBwMm1fZmx1c2hfdGxiKHAybSk7CisgICAgfQorCiAgICAgd3JpdGVfdW5sb2NrKCZwMm0t PmxvY2spOwogfQogCkBAIC03Miw2ICs4NSwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBwMm1faXNf bG9ja2VkKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCiAgICAgcmV0dXJuIHJ3X2lzX2xvY2tlZCgm cDJtLT5sb2NrKTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgcDJtX2lzX3dyaXRlX2xvY2tlZChz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQoreworICAgIHJldHVybiByd19pc193cml0ZV9sb2NrZWQo JnAybS0+bG9jayk7Cit9CisKIHZvaWQgcDJtX2R1bXBfaW5mbyhzdHJ1Y3QgZG9tYWluICpkKQog ewogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSAmZC0+YXJjaC5wMm07CkBAIC0xNjUsNiAr MTgzLDE5IEBAIHN0YXRpYyB2b2lkIHAybV9mbHVzaF90bGIoc3RydWN0IHAybV9kb21haW4gKnAy bSkKIH0KIAogLyoKKyAqIEZvcmNlIGEgc3luY2hyb25vdXMgUDJNIFRMQiBmbHVzaC4KKyAqCisg KiBNdXN0IGJlIGNhbGxlZCB3aXRoIHRoZSBwMm0gbG9jayBoZWxkLgorICovCitzdGF0aWMgdm9p ZCBwMm1fZmx1c2hfdGxiX3N5bmMoc3RydWN0IHAybV9kb21haW4gKnAybSkKK3sKKyAgICBBU1NF UlQocDJtX2lzX3dyaXRlX2xvY2tlZChwMm0pKTsKKworICAgIHAybV9mbHVzaF90bGIocDJtKTsK KyAgICBwMm0tPm5lZWRfZmx1c2ggPSBmYWxzZTsKK30KKworLyoKICAqIExvb2t1cCB0aGUgTUZO IGNvcnJlc3BvbmRpbmcgdG8gYSBkb21haW4ncyBHRk4uCiAgKgogICogVGhlcmUgYXJlIG5vIHBy b2Nlc3NvciBmdW5jdGlvbnMgdG8gZG8gYSBzdGFnZSAyIG9ubHkgbG9va3VwIHRoZXJlZm9yZSB3 ZQpAQCAtMTE0Miw3ICsxMTczLDcgQEAgc3RhdGljIGludCBhcHBseV9wMm1fY2hhbmdlcyhzdHJ1 Y3QgZG9tYWluICpkLAogb3V0OgogICAgIGlmICggZmx1c2ggKQogICAgIHsKLSAgICAgICAgcDJt X2ZsdXNoX3RsYigmZC0+YXJjaC5wMm0pOworICAgICAgICBwMm1fZmx1c2hfdGxiX3N5bmMoJmQt PmFyY2gucDJtKTsKICAgICAgICAgcmV0ID0gaW9tbXVfaW90bGJfZmx1c2goZCwgZ2ZuX3goc2dm biksIG5yKTsKICAgICAgICAgaWYgKCAhcmMgKQogICAgICAgICAgICAgcmMgPSByZXQ7CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9w Mm0uaAppbmRleCAwM2JmZDVlLi5lNmJlM2VhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t YXJtL3AybS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcDJtLmgKQEAgLTUxLDYgKzUxLDE3 IEBAIHN0cnVjdCBwMm1fZG9tYWluIHsKICAgICAvKiBJbmRpY2F0ZSBpZiBpdCBpcyByZXF1aXJl ZCB0byBjbGVhbiB0aGUgY2FjaGUgd2hlbiB3cml0aW5nIGFuIGVudHJ5ICovCiAgICAgYm9vbF90 IGNsZWFuX3B0ZTsKIAorICAgIC8qCisgICAgICogUDJNIHVwZGF0ZXMgbWF5IHJlcXVpcmVkIFRM QnMgdG8gYmUgZmx1c2hlZCAoaW52YWxpZGF0ZWQpLgorICAgICAqCisgICAgICogRmx1c2hlcyBt YXkgYmUgZGVmZXJyZWQgYnkgc2V0dGluZyAnbmVlZF9mbHVzaCcgYW5kIHRoZW4gZmx1c2hpbmcK KyAgICAgKiB3aGVuIHRoZSBwMm0gd3JpdGUgbG9jayBpcyByZWxlYXNlZC4KKyAgICAgKgorICAg ICAqIElmIGFuIGltbWVkaWF0ZSBmbHVzaCBpcyByZXF1aXJlZCAoZS5nLCBpZiBhIHN1cGVyIHBh Z2UgaXMKKyAgICAgKiBzaGF0dGVyZWQpLCBjYWxsIHAybV90bGJfZmx1c2hfc3luYygpLgorICAg ICAqLworICAgIGJvb2wgbmVlZF9mbHVzaDsKKwogICAgIC8qIEdhdGhlciBzb21lIHN0YXRpc3Rp Y3MgZm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzIG9ubHkgKi8KICAgICBzdHJ1Y3QgewogICAgICAg ICAvKiBOdW1iZXIgb2YgbWFwcGluZ3MgYXQgZWFjaCBwMm0gdHJlZSBsZXZlbCAqLwotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK