From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [PATCH v2 15/27] ARM: vITS: introduce translation table walks Date: Mon, 3 Apr 2017 19:25:12 +0100 Message-ID: References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-16-andre.przywara@arm.com> <66a32eeb-dea1-e0b5-e3f7-960151e0520e@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cv6dE-0003lj-8v for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 18:23:12 +0000 In-Reply-To: <66a32eeb-dea1-e0b5-e3f7-960151e0520e@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAyNC8wMy8xNyAxMzowMCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIEFuZHJlLAo+ IAo+IE9uIDAzLzE2LzIwMTcgMTE6MjAgQU0sIEFuZHJlIFByenl3YXJhIHdyb3RlOgo+PiBUaGUg SVRTIHN0b3JlcyB0aGUgdGFyZ2V0ICh2KUNQVSBhbmQgdGhlICh2aXJ0dWFsKSBMUEkgbnVtYmVy IGluIHRhYmxlcy4KPj4gSW50cm9kdWNlIGZ1bmN0aW9ucyB0byB3YWxrIHRob3NlIHRhYmxlcyBh bmQgdHJhbnNsYXRlIGFuIGRldmljZSBJRCAtCj4+IGV2ZW50IElEIHBhaXIgaW50byBhIHBhaXIg b2YgdmlydHVhbCBMUEkgYW5kIHZDUFUuCj4+IFNpbmNlIHRoZSBmaW5hbCBpbnRlcnJ1cHQgdHJh bnNsYXRpb24gdGFibGVzIGNhbiBiZSBzbWFsbGVyIHRoYW4gYSBwYWdlLAo+PiB3ZSBtYXAgdGhl bSBvbiBkZW1hbmQgKHdoaWNoIGlzIGNoZWFwIG9uIGFybTY0KS4gQWxzbyB3ZSB0YWtlIGNhcmUg b2YKPj4gdGhlIGxvY2tpbmcgb24gdGhlIHdheSwgc2luY2Ugd2UgY2FuJ3QgZWFzaWx5IHByb3Rl Y3QgdGhvc2UgSVRUcyBmcm9tCj4+IGJlaW5nIGFsdGVyZWQgYnkgdGhlIGd1ZXN0Lgo+Pgo+PiBU byBhbGxvdyBjb21waWxpbmcgd2l0aG91dCB3YXJuaW5ncywgd2UgZGVjbGFyZSB0d28gZnVuY3Rp b25zIGFzCj4+IG5vbi1zdGF0aWMgZm9yIHRoZSBtb21lbnQuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6 IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+PiAtLS0KPj4gIHhlbi9h cmNoL2FybS92Z2ljLXYzLWl0cy5jIHwgMTM1Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+PiAgMSBmaWxlIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCsp Cj4+Cj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYyBiL3hlbi9hcmNo L2FybS92Z2ljLXYzLWl0cy5jCj4+IGluZGV4IDUzMzc2MzguLjI2N2E1NzMgMTAwNjQ0Cj4+IC0t LSBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jCj4+ICsrKyBiL3hlbi9hcmNoL2FybS92Z2lj LXYzLWl0cy5jCj4+IEBAIC02Miw2ICs2MiwxNDEgQEAgc3RydWN0IHZpdHNfaXR0ZQo+PiAgICAg IHVpbnQxNl90IGNvbGxlY3Rpb247Cj4+ICB9Owo+Pgo+PiArI2RlZmluZSBVTk1BUFBFRF9DT0xM RUNUSU9OICAgICAgKCh1aW50MTZfdCl+MCkKPj4gKwo+PiArLyogTXVzdCBiZSBjYWxsZWQgd2l0 aCB0aGUgSVRTIGxvY2sgaGVsZC4gKi8KPiAKPiBUaGlzIGlzIGEgY2FsbCBmb3IgYW4gQVNTRVJU IGluIHRoZSBmdW5jdGlvbi4KPiAKPj4gK3N0YXRpYyBzdHJ1Y3QgdmNwdSAqZ2V0X3ZjcHVfZnJv bV9jb2xsZWN0aW9uKHN0cnVjdCB2aXJ0X2l0cyAqaXRzLAo+PiBpbnQgY29sbGlkKQo+IAo+IHMv aW50L3Vuc2lnbmVkIGludC8KCkZpeGVkIGluIHY0LgoKPj4gK3sKPj4gKyAgICB1aW50MTZfdCB2 Y3B1X2lkOwo+PiArCj4+ICsgICAgaWYgKCBjb2xsaWQgPj0gaXRzLT5tYXhfY29sbGVjdGlvbnMg KQo+PiArICAgICAgICByZXR1cm4gTlVMTDsKPj4gKwo+PiArICAgIHZjcHVfaWQgPSBpdHMtPmNv bGxfdGFibGVbY29sbGlkXTsKPj4gKyAgICBpZiAoIHZjcHVfaWQgPT0gVU5NQVBQRURfQ09MTEVD VElPTiB8fCB2Y3B1X2lkID49Cj4+IGl0cy0+ZC0+bWF4X3ZjcHVzICkKPj4gKyAgICAgICAgcmV0 dXJuIE5VTEw7Cj4+ICsKPj4gKyAgICByZXR1cm4gaXRzLT5kLT52Y3B1W3ZjcHVfaWRdOwo+PiAr fQo+PiArCj4+ICsjZGVmaW5lIERFVl9UQUJMRV9JVFRfQUREUih4KSAoKHgpICYgR0VOTUFTSyg1 MSwgOCkpCj4+ICsjZGVmaW5lIERFVl9UQUJMRV9JVFRfU0laRSh4KSAoQklUKCgoeCkgJiBHRU5N QVNLKDcsIDApKSArIDEpKQo+PiArI2RlZmluZSBERVZfVEFCTEVfRU5UUlkoYWRkciwgYml0cykg ICAgICAgICAgICAgICAgICAgICBcCj4+ICsgICAgICAgICgoKGFkZHIpICYgR0VOTUFTSyg1MSwg OCkpIHwgKCgoYml0cykgLSAxKSAmIEdFTk1BU0soNywgMCkpKQo+IAo+IFRoZSBsYXlvdXQgb2Yg ZGV2X3RhYmxlWy4uLl0gcmVhbGx5IG5lZWRzIHRvIGJlIGV4cGxhaW5lZC4gSXQgdG9vayBtZQo+ IHF1aXRlIGEgd2hpbGUgdG8gdW5kZXJzdGFuZCBob3cgaXQgd29ya3MuIEZvciBpbnN0YW5jZSB3 aHkgeW91IHNraXAgdGhlCj4gZmlyc3QgOCBiaXRzIGZvciB0aGUgYWRkcmVzcy4uLgoKRml4ZWQg aW4gdjMuCgo+PiArCj4+ICtzdGF0aWMgcGFkZHJfdCBnZXRfaXR0ZV9hZGRyZXNzKHN0cnVjdCB2 aXJ0X2l0cyAqaXRzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBkZXZpZCwgdWludDMyX3QgZXZpZCkKPj4gK3sKPiAKPiBJIHdhcyBleHBlY3RlZCB0byBzZWUg dGhlIHN1cHBvcnQgb2YgdHdvLWxldmVsIHBhZ2UgdGFibGUgZm9yIHRoZSB2SVRTLgo+IEFueSBw bGFuIGZvciB0aGF0Pwo+IAo+PiArICAgIHBhZGRyX3QgYWRkcjsKPj4gKwo+PiArICAgIGlmICgg ZGV2aWQgPj0gaXRzLT5tYXhfZGV2aWNlcyApCj4+ICsgICAgICAgIHJldHVybiB+MDsKPiAKPiBQ bGVhc2UgZG9uJ3QgaGFyZGNvZGUgaW52YWxpZCBhZGRyZXNzIGFuZCB1c2UgSU5WQUxJRF9QQURE Ui4KPiAKPj4gKwo+PiArICAgIGlmICggZXZpZCA+PSBERVZfVEFCTEVfSVRUX1NJWkUoaXRzLT5k ZXZfdGFibGVbZGV2aWRdKSApCj4+ICsgICAgICAgIHJldHVybiB+MDsKPiAKPiBEaXR0by4KCkZp eGVkIGluIHYzLgoKPj4gKwo+PiArICAgIGFkZHIgPSBERVZfVEFCTEVfSVRUX0FERFIoaXRzLT5k ZXZfdGFibGVbZGV2aWRdKTsKPiAKPiBZb3UgcmVhZCBkZXZfdGFibGVbLi4uXSBtdWx0aXBsZSB0 aW1lLiBXaGF0IHByZXZlbnRzIHNvbWVvbmUgdG8gbW9kaWZ5Cj4gZGV2X3RhYmxlIGFmdGVyIHlv dSBkaWQgc29tZW9uZSBzYW5pdHkgY2hlY2s/Cj4gCj4gSXQgd291bGQgYmUgc2FmZXIgdG8gZG8g YSByZWFkX2F0b21pYyguLikgYXQgdGhlIGJlZ2lubmluZyBhbmQgdXNlIGEKPiB0ZW1wb3Jhcnkg dmFyaWFibGUuCgpGaXhlZCBpbiB2NC4KCj4gCj4+ICsKPj4gKyAgICByZXR1cm4gYWRkciArIGV2 aWQgKiBzaXplb2Yoc3RydWN0IHZpdHNfaXR0ZSk7Cj4+ICt9Cj4+ICsKPj4gKy8qCj4+ICsgKiBM b29rcyB1cCBhIGdpdmVuIGRldmljZUlEL2V2ZW50SUQgcGFpciBvbiBhbiBJVFMgYW5kIHJldHVy bnMgYQo+PiBwb2ludGVyIHRvCj4+ICsgKiB0aGUgY29ycmVzcG9uZGluZyBJVFRFLiBUaGlzIG1h cHMgdGhlIHJlc3BlY3RpdmUgZ3Vlc3QgcGFnZSBpbnRvIFhlbi4KPj4gKyAqIE9uY2UgZmluaXNo ZWQgd2l0aCBoYW5kbGluZyB0aGUgSVRURSwgY2FsbCBwdXRfZGV2aWRfZXZpZCgpIHRvIHVubWFw Cj4+ICsgKiB0aGUgcGFnZSBhZ2Fpbi4KPj4gKyAqIE11c3QgYmUgY2FsbGVkIHdpdGggdGhlIElU UyBsb2NrIGhlbGQuCj4gCj4gVGhpcyBpcyBhIGNhbGwgZm9yIGFuIEFTU0VSVCBpbiB0aGUgY29k ZS4KPiAKPj4gKyAqLwo+PiArc3RhdGljIHN0cnVjdCB2aXRzX2l0dGUgKmdldF9kZXZpZF9ldmlk KHN0cnVjdCB2aXJ0X2l0cyAqaXRzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmlkKQo+IAo+IFRoZSBuYW1pbmcg b2YgdGhlIGZ1bmN0aW9uIGlzIGNvbmZ1c2luZy4gSXQgZG9lc24ndCBsb29rIHVwIGEgZGV2aWNl Cj4gSUQvZXZlbnQgSUQgYnV0IGFuIElJVC4gU28gSSB3b3VsZCByZW5hbWUgaXQgdG8gZmluZF9p dHRlLgoKRml4ZWQgaW4gdjMuCgo+PiArewo+PiArICAgIHBhZGRyX3QgYWRkciA9IGdldF9pdHRl X2FkZHJlc3MoaXRzLCBkZXZpZCwgZXZpZCk7Cj4+ICsKPj4gKyAgICBpZiAoIGFkZHIgPT0gfjAg KQo+IAo+IAo+IFBsZWFzZSB1c2UgSU5WQUxJRF9QQUREUi4KCkZpeGVkIGluIHYzLgoKPj4gKyAg ICAgICAgcmV0dXJuIE5VTEw7Cj4+ICsKPj4gKyAgICByZXR1cm4gbWFwX2d1ZXN0X3BhZ2VzKGl0 cy0+ZCwgYWRkciwgMSk7Cj4+ICt9Cj4+ICsKPj4gKy8qIE11c3QgYmUgY2FsbGVkIHdpdGggdGhl IElUUyBsb2NrIGhlbGQuICovCj4+ICtzdGF0aWMgdm9pZCBwdXRfZGV2aWRfZXZpZChzdHJ1Y3Qg dmlydF9pdHMgKml0cywgc3RydWN0IHZpdHNfaXR0ZSAqaXR0ZSkKPj4gK3sKPj4gKyAgICB1bm1h cF9ndWVzdF9wYWdlcyhpdHRlLCAxKTsKPj4gK30KPj4gKwo+PiArLyoKPj4gKyAqIFF1ZXJpZXMg dGhlIGNvbGxlY3Rpb24gYW5kIGRldmljZSB0YWJsZXMgdG8gZ2V0IHRoZSB2Q1BVIGFuZCB2aXJ0 dWFsCj4+ICsgKiBMUEkgbnVtYmVyIGZvciBhIGdpdmVuIGd1ZXN0IGV2ZW50LiBUaGlzIHRha2Vz IGNhcmUgb2YgbWFwcGluZyB0aGUKPj4gKyAqIHJlc3BlY3RpdmUgdGFibGVzIGFuZCB2YWxpZGF0 aW5nIHRoZSB2YWx1ZXMsIHNpbmNlIHdlIGNhbid0Cj4+IGVmZmljaWVudGx5Cj4+ICsgKiBwcm90 ZWN0IHRoZSBJVFRzIHdpdGggdGhlaXIgbGVzcy10aGFuLXBhZ2Utc2l6ZSBncmFudWxhcml0eS4K Pj4gKyAqIFRha2VzIGFuZCBkcm9wcyB0aGUgaXRzX2xvY2suCj4gCj4gSSBhbSBub3Qgc3VyZSB0 byB1bmRlcnN0YW5kIHRoZSB1c2VmdWxuZXNzIG9mICJ0YWtlcyBhbmQgZHJvcHMgdGhlCj4gaXRz X2xvY2siLgoKSXQgdGVsbHMgcGVvcGxlIHRoYXQgdGhleSBzaG91bGQgbm90IGhvbGQgdGhlIGl0 c19sb2NrIHdoZW4gY2FsbGluZyB0aGlzCmZ1bmN0aW9uLCBhcyB0aGlzIG1pZ2h0IGRlYWRsb2Nr LiBBbHNvIGl0IG1lYW5zIHRoYXQgdGhpcyBmdW5jdGlvbiB0YWtlcwpjYXJlIGFib3V0IGxvY2tp bmcgaXRzZWxmLgpJbXByb3ZlZCB0aGUgd29yZGluZyBpbiB2NC4KCj4+ICsgKi8KPj4gK2Jvb2wg cmVhZF9pdHRlKHN0cnVjdCB2aXJ0X2l0cyAqaXRzLCB1aW50MzJfdCBkZXZpZCwgdWludDMyX3Qg ZXZpZCwKPj4gKyAgICAgICAgICAgICAgIHN0cnVjdCB2Y3B1ICoqdmNwdSwgdWludDMyX3QgKnZs cGkpCj4+ICt7Cj4+ICsgICAgc3RydWN0IHZpdHNfaXR0ZSAqaXR0ZTsKPj4gKyAgICBpbnQgY29s bGlkOwo+PiArICAgIHVpbnQzMl90IF92bHBpOwo+PiArICAgIHN0cnVjdCB2Y3B1ICpfdmNwdTsK Pj4gKwo+PiArICAgIHNwaW5fbG9jaygmaXRzLT5pdHNfbG9jayk7Cj4gCj4gRG8gd2UgZXhwZWN0 IG11bHRpcGxlIHZDUFUgY2FsbGluZyByZWFkX2l0dGUgYXQgdGhlIHNhbWUgdGltZT8gVGhpcwo+ IG5lZWRzIHRvIGJlIGNsYXJpZnkgaW4gdGhlIGNvbW1lbnRzIGJlY2F1c2UgdGhpcyBjdXJyZW50 IGZ1bmN0aW9uIGlzIG5vdAo+IHNjYWxhYmxlLgoKV2UgbmVlZCB0aGlzIGxvY2sgaGVyZSBiZWNh dXNlIHRoaXMgcHJvdGVjdHMgb3VyIGRhdGEgc3RydWN0dXJlcy4KQSBndWVzdCBsb2NrcyBhY2Nl c3NlcyB0byB0aGUgSVRTIGNvbW1hbmQgcXVldWUgYW55d2F5IChvdGhlcndyaXRlCm11bHRpcGxl IFZDUFVzIHdvdWxkIHJhY2UgZm9yIENXUklURVIgYW5kIENSRUFEUiksIHNvIEkgZG9uJ3Qgc2Vl IGEgcmVhbApwcm9ibGVtLiBBbmQgdGhpcyBsb2NrIGlzIHByZSBJVFMsIG5vdCBwZXIgZ3Vlc3Qu Cgo+PiArICAgIGl0dGUgPSBnZXRfZGV2aWRfZXZpZChpdHMsIGRldmlkLCBldmlkKTsKPj4gKyAg ICBpZiAoICFpdHRlICkKPj4gKyAgICB7Cj4+ICsgICAgICAgIHNwaW5fdW5sb2NrKCZpdHMtPml0 c19sb2NrKTsKPj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOwo+PiArICAgIH0KPj4gKyAgICBjb2xs aWQgPSBpdHRlLT5jb2xsZWN0aW9uOwo+PiArICAgIF92bHBpID0gaXR0ZS0+dmxwaTsKPj4gKyAg ICBwdXRfZGV2aWRfZXZpZChpdHMsIGl0dGUpOwo+PiArCj4+ICsgICAgX3ZjcHUgPSBnZXRfdmNw dV9mcm9tX2NvbGxlY3Rpb24oaXRzLCBjb2xsaWQpOwo+PiArICAgIHNwaW5fdW5sb2NrKCZpdHMt Pml0c19sb2NrKTsKPj4gKwo+PiArICAgIGlmICggIV92Y3B1ICkKPj4gKyAgICAgICAgcmV0dXJu IGZhbHNlOwo+PiArCj4+ICsgICAgaWYgKCBjb2xsaWQgPj0gaXRzLT5tYXhfY29sbGVjdGlvbnMg KQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7Cj4gCj4gTm8gbmVlZCBmb3IgdGhpcyBjaGVjay4g SXQgaXMgYWxyZWFkeSBkb25lIGluIGdldF92Y3B1X2Zyb21fY29sbGVjdGlvbi4KCkdvb2QgcG9p bnQsIGRyb3BwZWQgaW4gdjQuCgo+PiArCj4+ICsgICAgKnZjcHUgPSBfdmNwdTsKPj4gKyAgICAq dmxwaSA9IF92bHBpOwo+PiArCj4+ICsgICAgcmV0dXJuIHRydWU7Cj4+ICt9Cj4+ICsKPj4gKyNk ZWZpbmUgU0tJUF9MUElfVVBEQVRFIDEKPj4gK2Jvb2wgd3JpdGVfaXR0ZShzdHJ1Y3QgdmlydF9p dHMgKml0cywgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2aWQsCj4+ICsgICAgICAgICAgICAg ICAgdWludDMyX3QgY29sbGlkLCB1aW50MzJfdCB2bHBpLCBzdHJ1Y3QgdmNwdSAqKnZjcHUpCj4+ ICt7Cj4+ICsgICAgc3RydWN0IHZpdHNfaXR0ZSAqaXR0ZTsKPj4gKwo+PiArICAgIGlmICggY29s bGlkID49IGl0cy0+bWF4X2NvbGxlY3Rpb25zICkKPj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOwo+ PiArCj4+ICsgICAgLyogVE9ETzogdmFsaWRhdGUgdmxwaSAqLwo+IAo+IFRoaXMgVE9ETyBuZWVk cyB0byBiZSBmaXhlZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoKRG9uZSBpbiB2My4KCkNoZWVycywK QW5kcmUuCgoKPj4gKwo+PiArICAgIHNwaW5fbG9jaygmaXRzLT5pdHNfbG9jayk7Cj4+ICsgICAg aXR0ZSA9IGdldF9kZXZpZF9ldmlkKGl0cywgZGV2aWQsIGV2aWQpOwo+PiArICAgIGlmICggIWl0 dGUgKQo+PiArICAgIHsKPj4gKyAgICAgICAgc3Bpbl91bmxvY2soJml0cy0+aXRzX2xvY2spOwo+ PiArICAgICAgICByZXR1cm4gZmFsc2U7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgaXR0ZS0+Y29s bGVjdGlvbiA9IGNvbGxpZDsKPj4gKyAgICBpZiAoIHZscGkgIT0gU0tJUF9MUElfVVBEQVRFICkK Pj4gKyAgICAgICAgaXR0ZS0+dmxwaSA9IHZscGk7Cj4+ICsKPj4gKyAgICBpZiAoIHZjcHUgKQo+ PiArICAgICAgICAqdmNwdSA9IGdldF92Y3B1X2Zyb21fY29sbGVjdGlvbihpdHMsIGNvbGxpZCk7 Cj4+ICsKPj4gKyAgICBwdXRfZGV2aWRfZXZpZChpdHMsIGl0dGUpOwo+PiArICAgIHNwaW5fdW5s b2NrKCZpdHMtPml0c19sb2NrKTsKPj4gKwo+PiArICAgIHJldHVybiB0cnVlOwo+PiArfQo+PiAr Cj4+ICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gICAqIEZ1bmN0 aW9ucyB0aGF0IGhhbmRsZSBJVFMgY29tbWFuZHMgKgo+PiAgICoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqLwo+Pgo+IAo+IENoZWVycywKPiAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=