From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 14/22] xen/arm: p2m: Re-implement p2m_cache_flush using p2m_get_entry Date: Tue, 6 Sep 2016 15:56:56 +0100 Message-ID: References: <1469717505-8026-1-git-send-email-julien.grall@arm.com> <1469717505-8026-15-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: proskurin@sec.in.tum.de, wei.chen@linaro.org, steve.capper@arm.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCk9uIDA1LzA5LzE2IDIyOjEzLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6 Cj4gT24gVGh1LCAyOCBKdWwgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBUaGUgZnVuY3Rp b24gcDJtX2NhY2hlX2ZsdXNoIGNhbiBiZSByZS1pbXBsZW1lbnRlZCB1c2luZyB0aGUgZ2VuZXJp Ywo+PiBmdW5jdGlvbiBwMm1fZ2V0X2VudHJ5IGJ5IGl0ZXJhdGluZyBvdmVyIHRoZSByYW5nZSBh bmQgdXNpbmcgdGhlIG1hcHBpbmcKPj4gb3JkZXIgZ2l2ZW4gYnkgdGhlIGNhbGxlZS4KPj4KPj4g QXMgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIG5vIHByZWVtcHRpb24gaXMgaW1wbGVtZW50 ZWQsIGFsdGhvdWdoCj4+IHRoZSBjb21tZW50IGluIHRoZSBjdXJyZW50IGNvZGUgY2xhaW1lZCBp dC4gQXMgdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBieQo+PiBhIERPTUNUTCB3aXRoIGEgcmVnaW9u IG9mIDFHQiBtYXhpbXVtLCBJIHRoaW5rIHRoZSBwcmVlbXB0aW9uIGNhbiBiZQo+PiBsZWZ0IHVu aW1wbGVtZW50ZWQgZm9yIG5vdy4KPj4KPj4gRmluYWxseSBkcm9wIHRoZSBvcGVyYXRpb24gQ0FD SEVGTFVTSCBpbiBhcHBseV9vbmVfbGV2ZWwgYXMgbm9ib2R5IGlzCj4+IHVzaW5nIGl0IGFueW1v cmUuIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gY291bGQgaGF2ZSBiZWVuIGRyb3BwZWQgaW4gb25l Cj4+IGdvIGF0IHRoZSBlbmQsIGhvd2V2ZXIgSSBmaW5kIGVhc2llciB0byBkcm9wIHRoZSBvcGVy YXRpb25zIG9uZSBieSBvbmUKPj4gYXZvaWRpbmcgYSBiaWcgZGVsZXRpb24gaW4gdGhlIHBhdGNo IHRoYXQgY29udmVydCB0aGUgbGFzdCBvcGVyYXRpb24uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4+Cj4+IC0tLQo+PiAgICAgVGhlIGxv b3AgcGF0dGVybiB3aWxsIGJlIHZlcnkgZm9yIHRoZSByZWxpcXVpc2ggZnVuY3Rpb24uIEl0IG1p Z2h0Cj4+ICAgICBiZSBwb3NzaWJsZSB0byBleHRyYWN0IGl0IGluIGEgc2VwYXJhdGUgZnVuY3Rp b24uCj4+IC0tLQo+PiAgeGVuL2FyY2gvYXJtL3AybS5jIHwgNjcgKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwg MzQgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJtLmMKPj4gaW5kZXggOWE5Yzg1Yy4uZTc2 OTdiYiAxMDA2NDQKPj4gLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jCj4+ICsrKyBiL3hlbi9hcmNo L2FybS9wMm0uYwo+PiBAQCAtNzIyLDcgKzcyMiw2IEBAIGVudW0gcDJtX29wZXJhdGlvbiB7Cj4+ ICAgICAgSU5TRVJULAo+PiAgICAgIFJFTU9WRSwKPj4gICAgICBSRUxJTlFVSVNILAo+PiAtICAg IENBQ0hFRkxVU0gsCj4+ICAgICAgTUVNQUNDRVNTLAo+PiAgfTsKPj4KPj4gQEAgLTk3OCwzNiAr OTc3LDYgQEAgc3RhdGljIGludCBhcHBseV9vbmVfbGV2ZWwoc3RydWN0IGRvbWFpbiAqZCwKPj4g ICAgICAgICAgICovCj4+ICAgICAgICAgIHJldHVybiBQMk1fT05FX1BST0dSRVNTOwo+Pgo+PiAt ICAgIGNhc2UgQ0FDSEVGTFVTSDoKPj4gLSAgICAgICAgaWYgKCAhcDJtX3ZhbGlkKG9yaWdfcHRl KSApCj4+IC0gICAgICAgIHsKPj4gLSAgICAgICAgICAgICphZGRyID0gKCphZGRyICsgbGV2ZWxf c2l6ZSkgJiBsZXZlbF9tYXNrOwo+PiAtICAgICAgICAgICAgcmV0dXJuIFAyTV9PTkVfUFJPR1JF U1NfTk9QOwo+PiAtICAgICAgICB9Cj4+IC0KPj4gLSAgICAgICAgaWYgKCBsZXZlbCA8IDMgJiYg cDJtX3RhYmxlKG9yaWdfcHRlKSApCj4+IC0gICAgICAgICAgICByZXR1cm4gUDJNX09ORV9ERVND RU5EOwo+PiAtCj4+IC0gICAgICAgIC8qCj4+IC0gICAgICAgICAqIGNvdWxkIGZsdXNoIHVwIHRv IHRoZSBuZXh0IHN1cGVycGFnZSBib3VuZGFyeSwgYnV0IHdvdWxkCj4+IC0gICAgICAgICAqIG5l ZWQgdG8gYmUgY2FyZWZ1bCBhYm91dCBwcmVlbXB0aW9uLCBzbyBqdXN0IGRvIG9uZSA0SyBwYWdl Cj4+IC0gICAgICAgICAqIG5vdyBhbmQgcmV0dXJuIFAyTV9PTkVfUFJPR1JFU1N7LF9OT1B9IHNv IHRoYXQgdGhlIGNhbGxlciB3aWxsCj4+IC0gICAgICAgICAqIGNvbnRpbnVlIHRvIGxvb3Agb3Zl ciB0aGUgcmVzdCBvZiB0aGUgcmFuZ2UuCj4+IC0gICAgICAgICAqLwo+PiAtICAgICAgICBpZiAo IHAybV9pc19yYW0ob3JpZ19wdGUucDJtLnR5cGUpICkKPj4gLSAgICAgICAgewo+PiAtICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSBwYWRkcl90b19wZm4oKmFkZHIgJiB+bGV2ZWxf bWFzayk7Cj4+IC0gICAgICAgICAgICBmbHVzaF9wYWdlX3RvX3JhbShvcmlnX3B0ZS5wMm0uYmFz ZSArIG9mZnNldCk7Cj4+IC0KPj4gLSAgICAgICAgICAgICphZGRyICs9IFBBR0VfU0laRTsKPj4g LSAgICAgICAgICAgIHJldHVybiBQMk1fT05FX1BST0dSRVNTOwo+PiAtICAgICAgICB9Cj4+IC0g ICAgICAgIGVsc2UKPj4gLSAgICAgICAgewo+PiAtICAgICAgICAgICAgKmFkZHIgKz0gUEFHRV9T SVpFOwo+PiAtICAgICAgICAgICAgcmV0dXJuIFAyTV9PTkVfUFJPR1JFU1NfTk9QOwo+PiAtICAg ICAgICB9Cj4+IC0KPj4gICAgICBjYXNlIE1FTUFDQ0VTUzoKPj4gICAgICAgICAgaWYgKCBsZXZl bCA8IDMgKQo+PiAgICAgICAgICB7Cj4+IEBAIC0xNTU1LDEyICsxNTI0LDQ0IEBAIGludCBwMm1f Y2FjaGVfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3Qgc3RhcnQsIHVuc2lnbmVkIGxvbmcg bnIpCj4+ICB7Cj4+ICAgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9ICZkLT5hcmNoLnAybTsK Pj4gICAgICBnZm5fdCBlbmQgPSBnZm5fYWRkKHN0YXJ0LCBucik7Cj4+ICsgICAgcDJtX3R5cGVf dCB0Owo+PiArICAgIHVuc2lnbmVkIGludCBvcmRlcjsKPj4KPj4gICAgICBzdGFydCA9IGdmbl9t YXgoc3RhcnQsIHAybS0+bG93ZXN0X21hcHBlZF9nZm4pOwo+PiAgICAgIGVuZCA9IGdmbl9taW4o ZW5kLCBwMm0tPm1heF9tYXBwZWRfZ2ZuKTsKPj4KPj4gLSAgICByZXR1cm4gYXBwbHlfcDJtX2No YW5nZXMoZCwgQ0FDSEVGTFVTSCwgc3RhcnQsIG5yLCBJTlZBTElEX01GTiwKPj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgcDJtX2ludmFsaWQsIGQtPmFyY2gucDJtLmRlZmF1bHRf YWNjZXNzKTsKPj4gKyAgICAvKiBYWFg6IFNob3VsZCB3ZSB1c2Ugd3JpdGUgbG9jayBoZXJlPyAq Lwo+Cj4gR29vZCBxdWVzdGlvbi4gQXMgdGhlIHAybSBpcyBsZWZ0IHVuY2hhbmdlZCBieSB0aGlz IGZ1bmN0aW9uLCBJIHRoaW5rCj4gdGhhdCB0aGUgcmVhZCBsb2NrIGlzIHN1ZmZpY2llbnQuCgpJ dCBpcyB3aGF0IEkgdGhvdWdodC4gSSB3aWxsIHJlcGxhY2UgdGhlIHRvZG8gYnkgYSBjb21tZW50 IGV4cGxhaW4gd2h5IApyZWFkLWxvY2sgaXMgdXNlZCBoZXJlLgoKPgo+Cj4+ICsgICAgcDJtX3Jl YWRfbG9jayhwMm0pOwo+PiArCj4+ICsgICAgZm9yICggOyBnZm5feChzdGFydCkgPCBnZm5feChl bmQpOyBzdGFydCA9IGdmbl9hZGQoc3RhcnQsIDFVTCA8PCBvcmRlcikgKQo+PiArICAgIHsKPj4g KyAgICAgICAgbWZuX3QgbWZuID0gcDJtX2dldF9lbnRyeShwMm0sIHN0YXJ0LCAmdCwgTlVMTCwg Jm9yZGVyKTsKPj4gKwo+PiArICAgICAgICAvKiBTa2lwIGhvbGUgYW5kIG5vbi1SQU0gcGFnZSAq Lwo+PiArICAgICAgICBpZiAoIG1mbl9lcShtZm4sIElOVkFMSURfTUZOKSB8fCAhcDJtX2lzX3Jh bSh0KSApCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgICAgIC8qCj4+ICsgICAgICAgICAgICAg KiB0aGUgb3JkZXIgY29ycmVzcG9uZHMgdG8gdGhlIG9yZGVyIG9mIHRoZSBtYXBwaW5nIGluIHRo ZQo+PiArICAgICAgICAgICAgICogcGFnZSB0YWJsZS4gc28gd2UgbmVlZCB0byBhbGlnbiB0aGUg Z2ZuIGJlZm9yZQo+PiArICAgICAgICAgICAgICogaW5jcmVtZW50aW5nLgo+PiArICAgICAgICAg ICAgICovCj4+ICsgICAgICAgICAgICBzdGFydCA9IF9nZm4oZ2ZuX3goc3RhcnQpICYgfigoMVVM IDw8IG9yZGVyKSAtIDEpKTsKPj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+PiArICAgICAgICB9 Cj4+ICsKPj4gKyAgICAgICAgLyoKPj4gKyAgICAgICAgICogQ291bGQgZmx1c2ggdXAgdG8gdGhl IG5leHQgc3VwZXJwYWdlIGJvdW5kYXJ5LCBidXQgd2Ugd291bGQKPj4gKyAgICAgICAgICogbmVl ZCB0byBiZSBjYXJlZnVsIGFib3V0IHByZWVtcHRpb24sIHNvIGp1c3QgZG8gb25lIDRLIHBhZ2UK Pj4gKyAgICAgICAgICogbm93Lgo+Cj4gSSB0aGluayB0aGF0IGV2ZW4gd2l0aG91dCBwcmVlbXB0 aW9uIHlvdSBzaG91bGQgaW1wbGVtZW50IGZsdXNoaW5nIHVwIHRvCj4gdGhlIG5leHQgc3VwZXJw YWdlIGJvdW5kYXJ5IChidXQgbm90IGJleW9uZCAiZW5kIikuIFlvdSBjYW4gc3RpbGwgZG8gaXQK PiA0SyBhdCBhIHRpbWUsIGJ1dCBvbmx5IGNhbGwgcDJtX2dldF9lbnRyeSBvbmNlIHBlciAib3Jk ZXIiLiBDb3VsZCBiZSBhCj4gZGVjZW50IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IGFzIGNhY2hl Zmx1c2ggaXMgYSBwZXJmb3JtYW5jZSBjcml0aWNhbAo+IGh5cGVyY2FsbC4KCkdvb2QgcG9pbnQu IEkgd2lsbCBnaXZlIGEgbG9vayBmb3IgdGhlIG5leHQgdmVyc2lvbi4KClJlZ2FyZHMsCgotLSAK SnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK