From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 06/15] xen/arm: p2m: Introduce p2m_{read, write}_{, un}lock helpers Date: Thu, 28 Jul 2016 15:20:11 +0100 Message-ID: <1469715620-4670-7-git-send-email-julien.grall@arm.com> References: <1469715620-4670-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: <1469715620-4670-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 U29tZSBmdW5jdGlvbnMgaW4gdGhlIHAybSBjb2RlIGRvIG5vdCByZXF1aXJlIHRvIG1vZGlmeSB0 aGUgUDJNIGNvZGUuCkRvY3VtZW50IGl0IGJ5IGludHJvZHVjaW5nIHNlcGFyYXRlIGhlbHBlcnMg dG8gbG9jayB0aGUgcDJtLgoKVGhpcyBwYXRjaCBkb2VzIG5vdCBjaGFuZ2UgdGhlIGxvY2suIFRo aXMgd2lsbCBiZSBkb25lIGluIGEgc3Vic2VxdWVudApwYXRjaC4KClNpZ25lZC1vZmYtYnk6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ClJldmlld2VkLWJ5OiBTdGVmYW5vIFN0 YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CgotLS0KICAgIENoYW5nZXMgaW4gdjI6 CiAgICAgICAgLSBBZGQgU3RlZmFubydzIHJldmlld2VkLWJ5Ci0tLQogeGVuL2FyY2gvYXJtL3Ay bS5jIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCBi Y2NjYWE0Li41YzY3MDkwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVu L2FyY2gvYXJtL3AybS5jCkBAIC00NywxMSArNDcsMzYgQEAgc3RhdGljIGJvb2xfdCBwMm1fbWFw cGluZyhscGFlX3QgcHRlKQogICAgIHJldHVybiBwMm1fdmFsaWQocHRlKSAmJiAhcHRlLnAybS50 YWJsZTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHAybV93cml0ZV9sb2NrKHN0cnVjdCBwMm1f ZG9tYWluICpwMm0pCit7CisgICAgc3Bpbl9sb2NrKCZwMm0tPmxvY2spOworfQorCitzdGF0aWMg aW5saW5lIHZvaWQgcDJtX3dyaXRlX3VubG9jayhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQorewor ICAgIHNwaW5fdW5sb2NrKCZwMm0tPmxvY2spOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcDJt X3JlYWRfbG9jayhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQoreworICAgIHNwaW5fbG9jaygmcDJt LT5sb2NrKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHAybV9yZWFkX3VubG9jayhzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtKQoreworICAgIHNwaW5fdW5sb2NrKCZwMm0tPmxvY2spOworfQorCitz dGF0aWMgaW5saW5lIGludCBwMm1faXNfbG9ja2VkKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pCit7 CisgICAgcmV0dXJuIHNwaW5faXNfbG9ja2VkKCZwMm0tPmxvY2spOworfQorCiB2b2lkIHAybV9k dW1wX2luZm8oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJt ID0gJmQtPmFyY2gucDJtOwogCi0gICAgc3Bpbl9sb2NrKCZwMm0tPmxvY2spOworICAgIHAybV9y ZWFkX2xvY2socDJtKTsKICAgICBwcmludGsoInAybSBtYXBwaW5ncyBmb3IgZG9tYWluICVkICh2 bWlkICVkKTpcbiIsCiAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwgcDJtLT52bWlkKTsKICAgICBC VUdfT04ocDJtLT5zdGF0cy5tYXBwaW5nc1swXSB8fCBwMm0tPnN0YXRzLnNoYXR0ZXJlZFswXSk7 CkBAIC02MCw3ICs4NSw3IEBAIHZvaWQgcDJtX2R1bXBfaW5mbyhzdHJ1Y3QgZG9tYWluICpkKQog ICAgIHByaW50aygiICAyTSBtYXBwaW5nczogJWxkIChzaGF0dGVyZWQgJWxkKVxuIiwKICAgICAg ICAgICAgcDJtLT5zdGF0cy5tYXBwaW5nc1syXSwgcDJtLT5zdGF0cy5zaGF0dGVyZWRbMl0pOwog ICAgIHByaW50aygiICA0SyBtYXBwaW5nczogJWxkXG4iLCBwMm0tPnN0YXRzLm1hcHBpbmdzWzNd KTsKLSAgICBzcGluX3VubG9jaygmcDJtLT5sb2NrKTsKKyAgICBwMm1fcmVhZF91bmxvY2socDJt KTsKIH0KIAogdm9pZCBtZW1vcnlfdHlwZV9jaGFuZ2VkKHN0cnVjdCBkb21haW4gKmQpCkBAIC0x NjYsNyArMTkxLDcgQEAgc3RhdGljIG1mbl90IF9fcDJtX2xvb2t1cChzdHJ1Y3QgZG9tYWluICpk LCBnZm5fdCBnZm4sIHAybV90eXBlX3QgKnQpCiAgICAgcDJtX3R5cGVfdCBfdDsKICAgICB1bnNp Z25lZCBpbnQgbGV2ZWwsIHJvb3RfdGFibGU7CiAKLSAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQo JnAybS0+bG9jaykpOworICAgIEFTU0VSVChwMm1faXNfbG9ja2VkKHAybSkpOwogICAgIEJVSUxE X0JVR19PTihUSElSRF9NQVNLICE9IFBBR0VfTUFTSyk7CiAKICAgICAvKiBBbGxvdyB0IHRvIGJl IE5VTEwgKi8KQEAgLTIzMyw5ICsyNTgsOSBAQCBtZm5fdCBwMm1fbG9va3VwKHN0cnVjdCBkb21h aW4gKmQsIGdmbl90IGdmbiwgcDJtX3R5cGVfdCAqdCkKICAgICBtZm5fdCByZXQ7CiAgICAgc3Ry dWN0IHAybV9kb21haW4gKnAybSA9ICZkLT5hcmNoLnAybTsKIAotICAgIHNwaW5fbG9jaygmcDJt LT5sb2NrKTsKKyAgICBwMm1fcmVhZF9sb2NrKHAybSk7CiAgICAgcmV0ID0gX19wMm1fbG9va3Vw KGQsIGdmbiwgdCk7Ci0gICAgc3Bpbl91bmxvY2soJnAybS0+bG9jayk7CisgICAgcDJtX3JlYWRf dW5sb2NrKHAybSk7CiAKICAgICByZXR1cm4gcmV0OwogfQpAQCAtNDc1LDcgKzUwMCw3IEBAIHN0 YXRpYyBpbnQgX19wMm1fZ2V0X21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2Zu LAogI3VuZGVmIEFDQ0VTUwogICAgIH07CiAKLSAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoJnAy bS0+bG9jaykpOworICAgIEFTU0VSVChwMm1faXNfbG9ja2VkKHAybSkpOwogCiAgICAgLyogSWYg bm8gc2V0dGluZyB3YXMgZXZlciBzZXQsIGp1c3QgcmV0dXJuIHJ3eC4gKi8KICAgICBpZiAoICFw Mm0tPm1lbV9hY2Nlc3NfZW5hYmxlZCApCkBAIC05NDQsNyArOTY5LDcgQEAgc3RhdGljIGludCBh cHBseV9wMm1fY2hhbmdlcyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAqLwogICAgIGZsdXNoX3B0 ID0gaW9tbXVfZW5hYmxlZCAmJiAhaW9tbXVfaGFzX2ZlYXR1cmUoZCwgSU9NTVVfRkVBVF9DT0hF UkVOVF9XQUxLKTsKIAotICAgIHNwaW5fbG9jaygmcDJtLT5sb2NrKTsKKyAgICBwMm1fd3JpdGVf bG9jayhwMm0pOwogCiAgICAgLyogU3RhdGljIG1hcHBpbmcuIFAyTV9ST09UX1BBR0VTID4gMSBh cmUgaGFuZGxlZCBiZWxvdyAqLwogICAgIGlmICggUDJNX1JPT1RfUEFHRVMgPT0gMSApCkBAIC0x MTQ4LDcgKzExNzMsNyBAQCBvdXQ6CiAgICAgICAgICAgICB1bm1hcF9kb21haW5fcGFnZShtYXBw aW5nc1tsZXZlbF0pOwogICAgIH0KIAotICAgIHNwaW5fdW5sb2NrKCZwMm0tPmxvY2spOworICAg IHAybV93cml0ZV91bmxvY2socDJtKTsKIAogICAgIGlmICggcmMgPCAwICYmICggb3AgPT0gSU5T RVJUICkgJiYKICAgICAgICAgIGFkZHIgIT0gc3RhcnRfZ3BhZGRyICkKQEAgLTE1MjksNyArMTU1 NCw3IEBAIHN0cnVjdCBwYWdlX2luZm8gKmdldF9wYWdlX2Zyb21fZ3ZhKHN0cnVjdCB2Y3B1ICp2 LCB2YWRkcl90IHZhLAogICAgIGlmICggdiAhPSBjdXJyZW50ICkKICAgICAgICAgcmV0dXJuIE5V TEw7CiAKLSAgICBzcGluX2xvY2soJnAybS0+bG9jayk7CisgICAgcDJtX3JlYWRfbG9jayhwMm0p OwogCiAgICAgcmMgPSBndmlydF90b19tYWRkcih2YSwgJm1hZGRyLCBmbGFncyk7CiAKQEAgLTE1 NDksNyArMTU3NCw3IEBAIGVycjoKICAgICBpZiAoICFwYWdlICYmIHAybS0+bWVtX2FjY2Vzc19l bmFibGVkICkKICAgICAgICAgcGFnZSA9IHAybV9tZW1fYWNjZXNzX2NoZWNrX2FuZF9nZXRfcGFn ZSh2YSwgZmxhZ3MpOwogCi0gICAgc3Bpbl91bmxvY2soJnAybS0+bG9jayk7CisgICAgcDJtX3Jl YWRfdW5sb2NrKHAybSk7CiAKICAgICByZXR1cm4gcGFnZTsKIH0KQEAgLTE4MjMsOSArMTg0OCw5 IEBAIGludCBwMm1fZ2V0X21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLAog ICAgIGludCByZXQ7CiAgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAy bShkKTsKIAotICAgIHNwaW5fbG9jaygmcDJtLT5sb2NrKTsKKyAgICBwMm1fcmVhZF9sb2NrKHAy bSk7CiAgICAgcmV0ID0gX19wMm1fZ2V0X21lbV9hY2Nlc3MoZCwgZ2ZuLCBhY2Nlc3MpOwotICAg IHNwaW5fdW5sb2NrKCZwMm0tPmxvY2spOworICAgIHAybV9yZWFkX3VubG9jayhwMm0pOwogCiAg ICAgcmV0dXJuIHJldDsKIH0KLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==