From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sergej Proskurin Subject: [PATCH 11/18] arm/altp2m: Make flush_tlb_domain ready for altp2m. Date: Mon, 4 Jul 2016 13:45:40 +0200 Message-ID: <20160704114605.10086-12-proskurin@sec.in.tum.de> References: <20160704114605.10086-1-proskurin@sec.in.tum.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bK2Kb-0007ys-Bw for xen-devel@lists.xenproject.org; Mon, 04 Jul 2016 11:46:29 +0000 In-Reply-To: <20160704114605.10086-1-proskurin@sec.in.tum.de> 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: Sergej Proskurin , Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhpcyBjb21taXQgbWFrZXMgc3VyZSB0aGF0IHRoZSBUTEIgb2YgYSBkb21haW4gY29uc2lkZXJz IGZsdXNoaW5nIGFsbApvZiB0aGUgYXNzb2NpYXRlZCBhbHRwMm0gdmlld3MuIFRoZXJlZm9yZSwg aW4gY2FzZSBhIGRpZmZlcmVudCBkb21haW4KKG5vdCB0aGUgY3VycmVudGx5IGFjdGl2ZSBkb21h aW4pIHNoYWxsIGZsdXNoIGl0cyBUTEJzLCB0aGUgY3VycmVudAppbXBsZW1lbnRhdGlvbiBsb29w cyBvdmVyIGFsbCBWVFRCUnMgb2YgdGhlIGRpZmZlcmVudCBhbHRwMm0gbWFwcGluZ3MKcGVyIHZD UFUgYW5kIGZsdXNoZXMgdGhlIFRMQnMuIFRoaXMgd2F5LCBhIGNoYW5nZSBvZiBvbmUgb2YgdGhl IGFsdHAybQptYXBwaW5nIGlzIGNvbnNpZGVyZWQuICBBdCB0aGlzIHBvaW50LCBpdCBtdXN0IGJl IGNvbnNpZGVyZWQgdGhhdCB0aGUKZG9tYWluIC0td2hvc2UgVExCcyBhcmUgdG8gYmUgZmx1c2hl ZC0tIGlzIG5vdCBsb2NrZWQuCgpTaWduZWQtb2ZmLWJ5OiBTZXJnZWogUHJvc2t1cmluIDxwcm9z a3VyaW5Ac2VjLmluLnR1bS5kZT4KLS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxs aW5pQGtlcm5lbC5vcmc+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgot LS0KIHhlbi9hcmNoL2FybS9wMm0uYyB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYzIGluc2VydGlvbnMo KyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3AybS5jIGIveGVu L2FyY2gvYXJtL3AybS5jCmluZGV4IDdlNzIxZjkuLjAxOWYxMGUgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL2FybS9wMm0uYworKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKQEAgLTE1LDYgKzE1LDggQEAK ICNpbmNsdWRlIDxhc20vaGFyZGlycS5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKKyNpbmNs dWRlIDxhc20vYWx0cDJtLmg+CisKICNpZmRlZiBDT05GSUdfQVJNXzY0CiBzdGF0aWMgdW5zaWdu ZWQgaW50IF9fcmVhZF9tb3N0bHkgcDJtX3Jvb3Rfb3JkZXI7CiBzdGF0aWMgdW5zaWduZWQgaW50 IF9fcmVhZF9tb3N0bHkgcDJtX3Jvb3RfbGV2ZWw7CkBAIC03OSwxMiArODEsNDEgQEAgdm9pZCBk dW1wX3AybV9sb29rdXAoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBhZGRyKQogICAgICAgICAg ICAgICAgICBQMk1fUk9PVF9MRVZFTCwgUDJNX1JPT1RfUEFHRVMpOwogfQogCitzdGF0aWMgdWlu dDY0X3QgcDJtX2dldF9hbHRwMm1fdnR0YnIoc3RydWN0IHZjcHUgKnYpCit7CisgICAgc3RydWN0 IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAgICB1aW50MTZfdCBpbmRleCA9IHZjcHVfYWx0cDJt KHYpLnAybWlkeDsKKworICAgIGlmICggaW5kZXggPT0gSU5WQUxJRF9BTFRQMk0gKQorICAgICAg ICByZXR1cm4gSU5WQUxJRF9NRk47CisKKyAgICBCVUdfT04oaW5kZXggPj0gTUFYX0FMVFAyTSk7 CisKKyAgICByZXR1cm4gZC0+YXJjaC5hbHRwMm1fdnR0YnJbaW5kZXhdOworfQorCitzdGF0aWMg dm9pZCBwMm1fbG9hZF9hbHRwMm1fVlRUQlIoc3RydWN0IHZjcHUgKnYpCit7CisgICAgc3RydWN0 IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAgICB1aW50NjRfdCB2dHRiciA9IHAybV9nZXRfYWx0 cDJtX3Z0dGJyKHYpOworCisgICAgaWYgKCBpc19pZGxlX2RvbWFpbihkKSApCisgICAgICAgIHJl dHVybjsKKworICAgIEJVR19PTih2dHRiciA9PSBJTlZBTElEX01GTik7CisgICAgV1JJVEVfU1lT UkVHNjQodnR0YnIsIFZUVEJSX0VMMik7CisKKyAgICBpc2IoKTsgLyogRW5zdXJlIHVwZGF0ZSBp cyB2aXNpYmxlICovCit9CisKIHN0YXRpYyB2b2lkIHAybV9sb2FkX1ZUVEJSKHN0cnVjdCBkb21h aW4gKmQpCiB7CiAgICAgaWYgKCBpc19pZGxlX2RvbWFpbihkKSApCiAgICAgICAgIHJldHVybjsK KwogICAgIEJVR19PTighZC0+YXJjaC52dHRicik7CiAgICAgV1JJVEVfU1lTUkVHNjQoZC0+YXJj aC52dHRiciwgVlRUQlJfRUwyKTsKKwogICAgIGlzYigpOyAvKiBFbnN1cmUgdXBkYXRlIGlzIHZp c2libGUgKi8KIH0KIApAQCAtMTAxLDcgKzEzMiwxMSBAQCB2b2lkIHAybV9yZXN0b3JlX3N0YXRl KHN0cnVjdCB2Y3B1ICpuKQogICAgIFdSSVRFX1NZU1JFRyhoY3IgJiB+SENSX1ZNLCBIQ1JfRUwy KTsKICAgICBpc2IoKTsKIAotICAgIHAybV9sb2FkX1ZUVEJSKG4tPmRvbWFpbik7CisgICAgaWYg KCBhbHRwMm1fYWN0aXZlKG4tPmRvbWFpbikgKQorICAgICAgICBwMm1fbG9hZF9hbHRwMm1fVlRU QlIobik7CisgICAgZWxzZQorICAgICAgICBwMm1fbG9hZF9WVFRCUihuLT5kb21haW4pOworCiAg ICAgaXNiKCk7CiAKICAgICBpZiAoIGlzXzMyYml0X2RvbWFpbihuLT5kb21haW4pICkKQEAgLTEx OSwyMiArMTU0LDQyIEBAIHZvaWQgcDJtX3Jlc3RvcmVfc3RhdGUoc3RydWN0IHZjcHUgKm4pCiB2 b2lkIGZsdXNoX3RsYl9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICB1bnNpZ25lZCBs b25nIGZsYWdzID0gMDsKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IE5VTEw7CiAKLSAgICAvKiBVcGRh dGUgdGhlIFZUVEJSIGlmIG5lY2Vzc2FyeSB3aXRoIHRoZSBkb21haW4gZC4gSW4gdGhpcyBjYXNl LAotICAgICAqIGl0J3Mgb25seSBuZWNlc3NhcnkgdG8gZmx1c2ggVExCcyBvbiBldmVyeSBDUFVz IHdpdGggdGhlIGN1cnJlbnQgVk1JRAotICAgICAqIChvdXIgZG9tYWluKS4KKyAgICAvKgorICAg ICAqIFVwZGF0ZSB0aGUgVlRUQlIgaWYgbmVjZXNzYXJ5IHdpdGggdGhlIGRvbWFpbiBkLiBJbiB0 aGlzIGNhc2UsIGl0IGlzIG9ubHkKKyAgICAgKiBuZWNlc3NhcnkgdG8gZmx1c2ggVExCcyBvbiBl dmVyeSBDUFVzIHdpdGggdGhlIGN1cnJlbnQgVk1JRCAob3VyCisgICAgICogZG9tYWluKS4KICAg ICAgKi8KICAgICBpZiAoIGQgIT0gY3VycmVudC0+ZG9tYWluICkKICAgICB7CiAgICAgICAgIGxv Y2FsX2lycV9zYXZlKGZsYWdzKTsKLSAgICAgICAgcDJtX2xvYWRfVlRUQlIoZCk7Ci0gICAgfQog Ci0gICAgZmx1c2hfdGxiKCk7CisgICAgICAgIC8qIElmIGFsdHAybSBpcyBhY3RpdmUsIHVwZGF0 ZSBWVFRCUiBhbmQgZmx1c2ggVExCcyBvZiBldmVyeSBWQ1BVICovCisgICAgICAgIGlmICggYWx0 cDJtX2FjdGl2ZShkKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvcl9lYWNoX3ZjcHUoIGQs IHYgKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHAybV9sb2FkX2FsdHAybV9WVFRC Uih2KTsKKyAgICAgICAgICAgICAgICBmbHVzaF90bGIoKTsKKyAgICAgICAgICAgIH0KKyAgICAg ICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIHAybV9sb2FkX1ZUVEJS KGQpOworICAgICAgICAgICAgZmx1c2hfdGxiKCk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxz ZQorICAgICAgICBmbHVzaF90bGIoKTsKIAogICAgIGlmICggZCAhPSBjdXJyZW50LT5kb21haW4g KQogICAgIHsKLSAgICAgICAgcDJtX2xvYWRfVlRUQlIoY3VycmVudC0+ZG9tYWluKTsKKyAgICAg ICAgLyogTWFrZSBzdXJlIGFsdHAybSBtYXBwaW5nIGlzIHZhbGlkLiAqLworICAgICAgICBpZiAo IGFsdHAybV9hY3RpdmUoY3VycmVudC0+ZG9tYWluKSApCisgICAgICAgICAgICBwMm1fbG9hZF9h bHRwMm1fVlRUQlIoY3VycmVudCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHAybV9sb2Fk X1ZUVEJSKGN1cnJlbnQtPmRvbWFpbik7CiAgICAgICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdz KTsKICAgICB9CiB9Ci0tIAoyLjguMwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==