From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [RFC 15/22] xen/arm: p2m: Re-implement relinquish_p2m_mapping using p2m_get_entry Date: Thu, 28 Jul 2016 15:51:38 +0100 Message-ID: <1469717505-8026-16-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 VGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgcmVsaW5xdWlzaF9wMm1fbWFwcGluZyBpcyBt b2RpZnlpbmcgdGhlCnBhZ2UgdGFibGUgdG8gZXJhc2UgdGhlIGVudHJ5IG9uZSBieSBvbmUuIEhv d2V2ZXIsIHRoaXMgaXMgbm90IG5lY2Vzc2FyeQpiZWNhdXNlIHRoZSBkb21haW4gaXMgbm90IHJ1 bm5pbmcgYW55bW9yZSBhbmQgdGhlcmVmb3JlIHdpbGwgc3BlZWQgdXAKdGhlIGRvbWFpbiBkZXN0 cnVjdGlvbi4KClRoZSBmdW5jdGlvbiByZWxpbnF1aXNoX3AybV9tYXBwaW5nIGNhbiBiZSByZS1p bXBsZW1lbnRlZCB1c2luZwpwMm1fZ2V0X2VudHJ5IGJ5IGl0ZXJhdGluZyBvdmVyIHRoZSByYW5n ZSBtYXBwZWQgYW5kIHVzaW5nIHRoZSBtYXBwaW5nCm9yZGVyIGdpdmVuIGJ5IHRoZSBjYWxsZWUu CgpHaXZlbiB0aGF0IHRoZSBwcmVlbXB0aW9uIHdhcyBjaG9zZW4gYXJiaXRyYXJpbHksIGl0IGlz IG5vIGRvbmUgb24gZXZlcnkKNTEyIGl0ZXJhdGlvbnMuIE1lYW5pbmcgdGhhdCBYZW4gbWF5IGNo ZWNrIG1vcmUgb2Z0ZW4gaWYgdGhlIGZ1bmN0aW9uIGlzCnByZWVtcHRlZCB3aGVuIHRoZXJlIGFy ZSBubyBtYXBwaW5ncy4KCkZpbmFsbHkgZHJvcCB0aGUgb3BlcmF0aW9uIFJFTElOUVVJU0ggaW4g YXBwbHlfKiBhcyBub2JvZHkgaXMgdXNpbmcgaXQKYW55bW9yZS4gTm90ZSB0aGF0IHRoZSBmdW5j dGlvbnMgY291bGQgaGF2ZSBiZWVuIGRyb3BwZWQgaW4gb25lIGdvIGF0CnRoZSBlbmQsIGhvd2V2 ZXIgSSBmaW5kIGVhc2llciB0byBkcm9wIHRoZSBvcGVyYXRpb25zIG9uZSBieSBvbmUKYXZvaWRp bmcgYSBiaWcgZGVsZXRpb24gaW4gdGhlIHBhdGNoIHRoYXQgcmVtb3ZlIHRoZSBsYXN0IG9wZXJh dGlvbi4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ CgotLS0KICAgIEZ1cnRoZXIgaW52ZXN0aWdhdGlvbiBuZWVkcyB0byBiZSBkb25lIGJlZm9yZSBh cHBseWluZyB0aGlzIHBhdGNoIHRvCiAgICBjaGVjayBpZiBzb21lb25lIGNvdWxkIHRha2UgYWR2 YW50YWdlIG9mIHRoaXMgY2hhbmdlIChzdWNoCiAgICBtb2RpZnlpbmcgYW4gZW50cnkgd2hpY2gg d2FzIHJlbGlucXVpc2hlZCkuCi0tLQogeGVuL2FyY2gvYXJtL3AybS5jIHwgNzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCmluZGV4IGU3Njk3YmIuLmQwYWJh NWIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wMm0uYworKysgYi94ZW4vYXJjaC9hcm0vcDJt LmMKQEAgLTcyMSw3ICs3MjEsNiBAQCBzdGF0aWMgaW50IHAybV9tZW1fYWNjZXNzX3JhZGl4X3Nl dChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm4sCiBlbnVtIHAybV9vcGVyYXRpb24g ewogICAgIElOU0VSVCwKICAgICBSRU1PVkUsCi0gICAgUkVMSU5RVUlTSCwKICAgICBNRU1BQ0NF U1MsCiB9OwogCkBAIC05MDgsNyArOTA3LDYgQEAgc3RhdGljIGludCBhcHBseV9vbmVfbGV2ZWwo c3RydWN0IGRvbWFpbiAqZCwKIAogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgUkVMSU5RVUlT SDoKICAgICBjYXNlIFJFTU9WRToKICAgICAgICAgaWYgKCAhcDJtX3ZhbGlkKG9yaWdfcHRlKSAp CiAgICAgICAgIHsKQEAgLTEwOTIsMTcgKzEwOTAsNiBAQCBzdGF0aWMgaW50IGFwcGx5X3AybV9j aGFuZ2VzKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAo IG9wICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgUkVMSU5RVUlTSDoKLSAgICAg ICAgICAgICAgICAvKgotICAgICAgICAgICAgICAgICAqIEFyYml0cmFyaWx5LCBwcmVlbXB0IGV2 ZXJ5IDUxMiBvcGVyYXRpb25zIG9yIDgxOTIgbm9wcy4KLSAgICAgICAgICAgICAgICAgKiA1MTIq UDJNX09ORV9QUk9HUkVTUyA9PSA4MTkyKlAyTV9PTkVfUFJPR1JFU1NfTk9QID09IDB4MjAwMAot ICAgICAgICAgICAgICAgICAqIFRoaXMgaXMgc2V0IGluIHByZWVtcHRfY291bnRfbGltaXQuCi0g ICAgICAgICAgICAgICAgICoKLSAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICBw Mm0tPmxvd2VzdF9tYXBwZWRfZ2ZuID0gX2dmbihhZGRyID4+IFBBR0VfU0hJRlQpOwotICAgICAg ICAgICAgICAgIHJjID0gLUVSRVNUQVJUOwotICAgICAgICAgICAgICAgIGdvdG8gb3V0OwotCiAg ICAgICAgICAgICBjYXNlIE1FTUFDQ0VTUzoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAvKgpAQCAtMTUwOCwxNiArMTQ5NSw2MyBAQCBpbnQgcDJtX2luaXQoc3RydWN0IGRvbWFpbiAq ZCkKICAgICByZXR1cm4gcmM7CiB9CiAKKy8qCisgKiBUaGUgZnVuY3Rpb24gd2lsbCBnbyB0aHJv dWdoIHRoZSBwMm0gYW5kIHJlbW92ZSBwYWdlIHJlZmVyZW5jZSB3aGVuIGl0CisgKiBpcyByZXF1 aXJlZC4KKyAqIFRoZSBtYXBwaW5nIGFyZSBsZWZ0IGludGFjdCBpbiB0aGUgcDJtLiBUaGlzIGlz IGZpbmUgYmVjYXVzZSB0aGUKKyAqIGRvbWFpbiB3aWxsIG5ldmVyIHJ1biBhdCB0aGF0IHBvaW50 LgorICoKKyAqIFhYWDogQ2hlY2sgd2hhdCBkb2VzIGl0IG1lYW4gZm9yIG90aGVyIHBhcnQgKHN1 Y2ggYXMgbG9va3VwKQorICovCiBpbnQgcmVsaW5xdWlzaF9wMm1fbWFwcGluZyhzdHJ1Y3QgZG9t YWluICpkKQogewogICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSAmZC0+YXJjaC5wMm07Ci0g ICAgdW5zaWduZWQgbG9uZyBucjsKKyAgICB1bnNpZ25lZCBsb25nIGNvdW50ID0gMDsKKyAgICBw Mm1fdHlwZV90IHQ7CisgICAgaW50IHJjID0gMDsKKyAgICB1bnNpZ25lZCBpbnQgb3JkZXI7CisK KyAgICAvKiBDb252ZW5pZW5jZSBhbGlhcyAqLworICAgIGdmbl90IHN0YXJ0ID0gcDJtLT5sb3dl c3RfbWFwcGVkX2dmbjsKKyAgICBnZm5fdCBlbmQgPSBwMm0tPm1heF9tYXBwZWRfZ2ZuOwogCi0g ICAgbnIgPSBnZm5feChwMm0tPm1heF9tYXBwZWRfZ2ZuKSAtIGdmbl94KHAybS0+bG93ZXN0X21h cHBlZF9nZm4pOworICAgIHAybV93cml0ZV9sb2NrKHAybSk7CiAKLSAgICByZXR1cm4gYXBwbHlf cDJtX2NoYW5nZXMoZCwgUkVMSU5RVUlTSCwgcDJtLT5sb3dlc3RfbWFwcGVkX2dmbiwgbnIsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVkFMSURfTUZOLCAwLCBwMm1faW52YWxpZCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC0+YXJjaC5wMm0uZGVmYXVsdF9hY2Nlc3Mp OworICAgIGZvciAoIDsgZ2ZuX3goc3RhcnQpIDwgZ2ZuX3goZW5kKTsgc3RhcnQgPSBnZm5fYWRk KHN0YXJ0LCAxVUwgPDwgb3JkZXIpICkKKyAgICB7CisgICAgICAgIG1mbl90IG1mbiA9IHAybV9n ZXRfZW50cnkocDJtLCBzdGFydCwgJnQsIE5VTEwsICZvcmRlcik7CisKKyAgICAgICAgY291bnQr KzsKKyAgICAgICAgLyoKKyAgICAgICAgICogQXJiaXRyYXJpbHkgcHJlZW1wdCBldmVyeSA1MTIg aXRlcmF0aW9ucy4KKyAgICAgICAgICovCisgICAgICAgIGlmICggIShjb3VudCAlIDUxMikgJiYg aHlwZXJjYWxsX3ByZWVtcHRfY2hlY2soKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHJjID0g LUVSRVNUQVJUOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvKiBT a2lwIGhvbGUgYW5kIGFueSBzdXBlcnBhZ2UgKi8KKyAgICAgICAgaWYgKCBtZm5fZXEobWZuLCBJ TlZBTElEX01GTikgfHwgb3JkZXIgIT0gMCApCisgICAgICAgICAgICAvKgorICAgICAgICAgICAg ICogVGhlIG9yZGVyIGNvcnJlc3BvbmRzIHRvIHRoZSBvcmRlciBvZiB0aGUgbWFwcGluZyBpbiB0 aGUKKyAgICAgICAgICAgICAqIHBhZ2UgdGFibGUuIFNvIHdlIG5lZWQgdG8gYWxpZ24gdGhlIEdG TiBiZWZvcmUKKyAgICAgICAgICAgICAqIGluY3JlbWVudGluZy4KKyAgICAgICAgICAgICAqLwor ICAgICAgICAgICAgc3RhcnQgPSBfZ2ZuKGdmbl94KHN0YXJ0KSAmIH4oKDFVTCA8PCBvcmRlcikg LSAxKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHAybV9wdXRfbDNfcGFnZShtZm4sIHQp OworICAgIH0KKworICAgIC8qCisgICAgICogVXBkYXRlIGxvd2VzdF9tYXBwZWRfZ2ZuIHNvIG9u IHRoZSBuZXh0IGNhbGwgd2Ugc3RpbGwgc3RhcnQgd2hlcmUKKyAgICAgKiB3ZSBzdG9wcGVkLgor ICAgICAqLworICAgIHAybS0+bG93ZXN0X21hcHBlZF9nZm4gPSBzdGFydDsKKworICAgIHAybV93 cml0ZV91bmxvY2socDJtKTsKKworICAgIHJldHVybiByYzsKIH0KIAogaW50IHAybV9jYWNoZV9m bHVzaChzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBzdGFydCwgdW5zaWduZWQgbG9uZyBucikKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==