From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [RFC 14/22] xen/arm: p2m: Re-implement p2m_cache_flush using p2m_get_entry Date: Thu, 28 Jul 2016 15:51:37 +0100 Message-ID: <1469717505-8026-15-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 VGhlIGZ1bmN0aW9uIHAybV9jYWNoZV9mbHVzaCBjYW4gYmUgcmUtaW1wbGVtZW50ZWQgdXNpbmcg dGhlIGdlbmVyaWMKZnVuY3Rpb24gcDJtX2dldF9lbnRyeSBieSBpdGVyYXRpbmcgb3ZlciB0aGUg cmFuZ2UgYW5kIHVzaW5nIHRoZSBtYXBwaW5nCm9yZGVyIGdpdmVuIGJ5IHRoZSBjYWxsZWUuCgpB cyB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiwgbm8gcHJlZW1wdGlvbiBpcyBpbXBsZW1lbnRl ZCwgYWx0aG91Z2gKdGhlIGNvbW1lbnQgaW4gdGhlIGN1cnJlbnQgY29kZSBjbGFpbWVkIGl0LiBB cyB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5CmEgRE9NQ1RMIHdpdGggYSByZWdpb24gb2YgMUdC IG1heGltdW0sIEkgdGhpbmsgdGhlIHByZWVtcHRpb24gY2FuIGJlCmxlZnQgdW5pbXBsZW1lbnRl ZCBmb3Igbm93LgoKRmluYWxseSBkcm9wIHRoZSBvcGVyYXRpb24gQ0FDSEVGTFVTSCBpbiBhcHBs eV9vbmVfbGV2ZWwgYXMgbm9ib2R5IGlzCnVzaW5nIGl0IGFueW1vcmUuIE5vdGUgdGhhdCB0aGUg ZnVuY3Rpb24gY291bGQgaGF2ZSBiZWVuIGRyb3BwZWQgaW4gb25lCmdvIGF0IHRoZSBlbmQsIGhv d2V2ZXIgSSBmaW5kIGVhc2llciB0byBkcm9wIHRoZSBvcGVyYXRpb25zIG9uZSBieSBvbmUKYXZv aWRpbmcgYSBiaWcgZGVsZXRpb24gaW4gdGhlIHBhdGNoIHRoYXQgY29udmVydCB0aGUgbGFzdCBv cGVyYXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0u Y29tPgoKLS0tCiAgICBUaGUgbG9vcCBwYXR0ZXJuIHdpbGwgYmUgdmVyeSBmb3IgdGhlIHJlbGlx dWlzaCBmdW5jdGlvbi4gSXQgbWlnaHQKICAgIGJlIHBvc3NpYmxlIHRvIGV4dHJhY3QgaXQgaW4g YSBzZXBhcmF0ZSBmdW5jdGlvbi4KLS0tCiB4ZW4vYXJjaC9hcm0vcDJtLmMgfCA2NyArKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKaW5kZXggOWE5Yzg1Yy4uZTc2 OTdiYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9w Mm0uYwpAQCAtNzIyLDcgKzcyMiw2IEBAIGVudW0gcDJtX29wZXJhdGlvbiB7CiAgICAgSU5TRVJU LAogICAgIFJFTU9WRSwKICAgICBSRUxJTlFVSVNILAotICAgIENBQ0hFRkxVU0gsCiAgICAgTUVN QUNDRVNTLAogfTsKIApAQCAtOTc4LDM2ICs5NzcsNiBAQCBzdGF0aWMgaW50IGFwcGx5X29uZV9s ZXZlbChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgKi8KICAgICAgICAgcmV0dXJuIFAyTV9P TkVfUFJPR1JFU1M7CiAKLSAgICBjYXNlIENBQ0hFRkxVU0g6Ci0gICAgICAgIGlmICggIXAybV92 YWxpZChvcmlnX3B0ZSkgKQotICAgICAgICB7Ci0gICAgICAgICAgICAqYWRkciA9ICgqYWRkciAr IGxldmVsX3NpemUpICYgbGV2ZWxfbWFzazsKLSAgICAgICAgICAgIHJldHVybiBQMk1fT05FX1BS T0dSRVNTX05PUDsKLSAgICAgICAgfQotCi0gICAgICAgIGlmICggbGV2ZWwgPCAzICYmIHAybV90 YWJsZShvcmlnX3B0ZSkgKQotICAgICAgICAgICAgcmV0dXJuIFAyTV9PTkVfREVTQ0VORDsKLQot ICAgICAgICAvKgotICAgICAgICAgKiBjb3VsZCBmbHVzaCB1cCB0byB0aGUgbmV4dCBzdXBlcnBh Z2UgYm91bmRhcnksIGJ1dCB3b3VsZAotICAgICAgICAgKiBuZWVkIHRvIGJlIGNhcmVmdWwgYWJv dXQgcHJlZW1wdGlvbiwgc28ganVzdCBkbyBvbmUgNEsgcGFnZQotICAgICAgICAgKiBub3cgYW5k IHJldHVybiBQMk1fT05FX1BST0dSRVNTeyxfTk9QfSBzbyB0aGF0IHRoZSBjYWxsZXIgd2lsbAot ICAgICAgICAgKiBjb250aW51ZSB0byBsb29wIG92ZXIgdGhlIHJlc3Qgb2YgdGhlIHJhbmdlLgot ICAgICAgICAgKi8KLSAgICAgICAgaWYgKCBwMm1faXNfcmFtKG9yaWdfcHRlLnAybS50eXBlKSAp Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gcGFkZHJfdG9f cGZuKCphZGRyICYgfmxldmVsX21hc2spOwotICAgICAgICAgICAgZmx1c2hfcGFnZV90b19yYW0o b3JpZ19wdGUucDJtLmJhc2UgKyBvZmZzZXQpOwotCi0gICAgICAgICAgICAqYWRkciArPSBQQUdF X1NJWkU7Ci0gICAgICAgICAgICByZXR1cm4gUDJNX09ORV9QUk9HUkVTUzsKLSAgICAgICAgfQot ICAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICAgICphZGRyICs9IFBBR0VfU0laRTsK LSAgICAgICAgICAgIHJldHVybiBQMk1fT05FX1BST0dSRVNTX05PUDsKLSAgICAgICAgfQotCiAg ICAgY2FzZSBNRU1BQ0NFU1M6CiAgICAgICAgIGlmICggbGV2ZWwgPCAzICkKICAgICAgICAgewpA QCAtMTU1NSwxMiArMTUyNCw0NCBAQCBpbnQgcDJtX2NhY2hlX2ZsdXNoKHN0cnVjdCBkb21haW4g KmQsIGdmbl90IHN0YXJ0LCB1bnNpZ25lZCBsb25nIG5yKQogewogICAgIHN0cnVjdCBwMm1fZG9t YWluICpwMm0gPSAmZC0+YXJjaC5wMm07CiAgICAgZ2ZuX3QgZW5kID0gZ2ZuX2FkZChzdGFydCwg bnIpOworICAgIHAybV90eXBlX3QgdDsKKyAgICB1bnNpZ25lZCBpbnQgb3JkZXI7CiAKICAgICBz dGFydCA9IGdmbl9tYXgoc3RhcnQsIHAybS0+bG93ZXN0X21hcHBlZF9nZm4pOwogICAgIGVuZCA9 IGdmbl9taW4oZW5kLCBwMm0tPm1heF9tYXBwZWRfZ2ZuKTsKIAotICAgIHJldHVybiBhcHBseV9w Mm1fY2hhbmdlcyhkLCBDQUNIRUZMVVNILCBzdGFydCwgbnIsIElOVkFMSURfTUZOLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLCBwMm1faW52YWxpZCwgZC0+YXJjaC5wMm0uZGVmYXVs dF9hY2Nlc3MpOworICAgIC8qIFhYWDogU2hvdWxkIHdlIHVzZSB3cml0ZSBsb2NrIGhlcmU/ICov CisgICAgcDJtX3JlYWRfbG9jayhwMm0pOworCisgICAgZm9yICggOyBnZm5feChzdGFydCkgPCBn Zm5feChlbmQpOyBzdGFydCA9IGdmbl9hZGQoc3RhcnQsIDFVTCA8PCBvcmRlcikgKQorICAgIHsK KyAgICAgICAgbWZuX3QgbWZuID0gcDJtX2dldF9lbnRyeShwMm0sIHN0YXJ0LCAmdCwgTlVMTCwg Jm9yZGVyKTsKKworICAgICAgICAvKiBTa2lwIGhvbGUgYW5kIG5vbi1SQU0gcGFnZSAqLworICAg ICAgICBpZiAoIG1mbl9lcShtZm4sIElOVkFMSURfTUZOKSB8fCAhcDJtX2lzX3JhbSh0KSApCisg ICAgICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiB0aGUgb3JkZXIgY29ycmVz cG9uZHMgdG8gdGhlIG9yZGVyIG9mIHRoZSBtYXBwaW5nIGluIHRoZQorICAgICAgICAgICAgICog cGFnZSB0YWJsZS4gc28gd2UgbmVlZCB0byBhbGlnbiB0aGUgZ2ZuIGJlZm9yZQorICAgICAgICAg ICAgICogaW5jcmVtZW50aW5nLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBzdGFydCA9 IF9nZm4oZ2ZuX3goc3RhcnQpICYgfigoMVVMIDw8IG9yZGVyKSAtIDEpKTsKKyAgICAgICAgICAg IGNvbnRpbnVlOworICAgICAgICB9CisKKyAgICAgICAgLyoKKyAgICAgICAgICogQ291bGQgZmx1 c2ggdXAgdG8gdGhlIG5leHQgc3VwZXJwYWdlIGJvdW5kYXJ5LCBidXQgd2Ugd291bGQKKyAgICAg ICAgICogbmVlZCB0byBiZSBjYXJlZnVsIGFib3V0IHByZWVtcHRpb24sIHNvIGp1c3QgZG8gb25l IDRLIHBhZ2UKKyAgICAgICAgICogbm93LgorICAgICAgICAgKiBYWFg6IEltcGxlbWVudCBwcmVl bXB0aW9uLgorICAgICAgICAgKi8KKyAgICAgICAgZmx1c2hfcGFnZV90b19yYW0obWZuX3gobWZu KSk7CisgICAgICAgIG9yZGVyID0gMDsKKyAgICB9CisKKyAgICBwMm1fcmVhZF91bmxvY2socDJt KTsKKworICAgIHJldHVybiAwOwogfQogCiBtZm5fdCBnZm5fdG9fbWZuKHN0cnVjdCBkb21haW4g KmQsIGdmbl90IGdmbikKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==