From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 06/27] ARM: GICv3 ITS: introduce device mapping Date: Mon, 3 Apr 2017 21:41:19 +0100 Message-ID: <5bcb1efd-5bd4-4fcc-c514-e0f2df059af9@arm.com> References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-7-andre.przywara@arm.com> <3a044833-4b61-d807-600c-cf88d6e1901a@arm.com> <88ac5ba2-ef0b-f8cb-3737-c6b29defa1bd@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 1cv8n0-0001TF-AI for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 20:41:26 +0000 In-Reply-To: <88ac5ba2-ef0b-f8cb-3737-c6b29defa1bd@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org CgpPbiAwNC8wMy8yMDE3IDA5OjA4IFBNLCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPiBIaSwKCkhp IEFuZHJlLAoKPiBPbiAyMi8wMy8xNyAxNzoyOSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+Pj4gK2lu dCBnaWN2M19pdHNfbWFwX2d1ZXN0X2RldmljZShzdHJ1Y3QgZG9tYWluICpkLAo+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGhvc3RfZG9vcmJlbGwsIHVpbnQzMl90 Cj4+PiBob3N0X2RldmlkLAo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRk cl90IGd1ZXN0X2Rvb3JiZWxsLCB1aW50MzJfdAo+Pj4gZ3Vlc3RfZGV2aWQsCj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IG5yX2V2ZW50cywgYm9vbCB2YWxpZCkK Pj4+ICt7Cj4+PiArICAgIHZvaWQgKml0dF9hZGRyID0gTlVMTDsKPj4+ICsgICAgc3RydWN0IGhv c3RfaXRzICpod19pdHM7Cj4+PiArICAgIHN0cnVjdCBpdHNfZGV2aWNlcyAqZGV2ID0gTlVMTCwg KnRlbXA7Cj4+PiArICAgIHN0cnVjdCByYl9ub2RlICoqbmV3ID0gJmQtPmFyY2gudmdpYy5pdHNf ZGV2aWNlcy5yYl9ub2RlLCAqcGFyZW50Cj4+PiA9IE5VTEw7Cj4+PiArICAgIGludCByZXQgPSAt RU5PRU5UOwo+Pj4gKwo+Pj4gKyAgICBod19pdHMgPSBnaWN2M19pdHNfZmluZF9ieV9kb29yYmVs bChob3N0X2Rvb3JiZWxsKTsKPj4+ICsgICAgaWYgKCAhaHdfaXRzICkKPj4+ICsgICAgICAgIHJl dHVybiByZXQ7Cj4+PiArCj4+PiArICAgIC8qIGNoZWNrIGZvciBhbHJlYWR5IGV4aXN0aW5nIG1h cHBpbmdzICovCj4+PiArICAgIHNwaW5fbG9jaygmZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzX2xv Y2spOwo+Pj4gKyAgICB3aGlsZSAoICpuZXcgKQo+Pj4gKyAgICB7Cj4+PiArICAgICAgICB0ZW1w ID0gcmJfZW50cnkoKm5ldywgc3RydWN0IGl0c19kZXZpY2VzLCByYm5vZGUpOwo+Pj4gKwo+Pj4g KyAgICAgICAgcGFyZW50ID0gKm5ldzsKPj4+ICsgICAgICAgIGlmICggIWNvbXBhcmVfaXRzX2d1 ZXN0X2RldmljZXModGVtcCwgZ3Vlc3RfZG9vcmJlbGwsCj4+PiBndWVzdF9kZXZpZCkgKQo+Pj4g KyAgICAgICAgewo+Pj4gKyAgICAgICAgICAgIGlmICggIXZhbGlkICkKPj4+ICsgICAgICAgICAg ICAgICAgcmJfZXJhc2UoJnRlbXAtPnJibm9kZSwgJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlcyk7 Cj4+PiArCj4+PiArICAgICAgICAgICAgc3Bpbl91bmxvY2soJmQtPmFyY2gudmdpYy5pdHNfZGV2 aWNlc19sb2NrKTsKPj4+ICsKPj4+ICsgICAgICAgICAgICBpZiAoIHZhbGlkICkKPj4KPj4gQWdh aW4sIGEgcHJpbnRrKFhFTkxPR19HVUVTVC4uLikgaGVyZSB3b3VsZCBiZSB1c2VmdWwgdG8ga25v dyB3aGljaCBob3N0Cj4+IERldmljZUlEIHdhcyBhc3NvY2lhdGVkIHRvIHRoZSBndWVzdCBEZXZp Y2VJRC4KPgo+IEkgYWRkZWQgYSBncHJpbnRrKFhFTkxPR19ERUJVRywgKSwgd2hpY2ggSSB0aGlu ayBpcyBtb3JlIGFwcHJvcHJpYXRlIChhcwo+IGl0IG1heSBzcGFtIHRoZSBjb25zb2xlIHdoZW4g c29tZSBzdHVwaWQgZ3Vlc3QgaXMgcnVubmluZykuIExldCBtZSBrbm93Cj4gaWYgeW91IHdhbnQg dG8gaGF2ZSBhIGRpZmZlcmVudCBsb2dsZXZlbC4KCkkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBtb3Jl IGFwcHJvcHJpYXRlLiBncHJpbnRrIHdpbGwgcHJpbnQgdGhlIGRvbWFpbiBJRCAKb2YgdGhlIGN1 cnJlbnQgZG9tYWluLCB3aGlsc3QgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBieSB0aGUg CnRvb2xzdGFjayBpbiB0aGUgZnV0dXJlLgoKRnVydGhlbW9yZSwgaWYgeW91IGxvb2sgYXQgdGhl IGltcGxlbWVudGF0aW9uIG9mIGdwcmludGsgeW91IHdpbGwgbm90aWNlIAp0aGF0IGl0IGlzIGJh c2ljYWxseSB0dXJuaW5nIGludG8gcHJpbnRrKFhFTkxPR19HVUVTVC4uLikgYW5kIGFkZGluZyAK aW5mb3JtYXRpb24gb2YgdGhlIGN1cnJlbnQgdkNQVS4KCldoYXQgbWF0dGVycyBmb3IgcmF0ZWxp bWl0aW5nIGlzIFhFTkxPR19HVUVTVC4KCj4KPj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIC1F QlVTWTsKPj4+ICsKPj4+ICsgICAgICAgICAgICByZXR1cm4gcmVtb3ZlX21hcHBlZF9ndWVzdF9k ZXZpY2UodGVtcCk7Cj4+Cj4+IEp1c3QgYWJvdmUgeW91IHJlbW92ZWQgdGhlIGRldmljZSBmcm9t IHRoZSBSQi10cmVlIGJ1dCB0aGlzIGZ1bmN0aW9uIG1heQo+PiBmYWlsIGFuZCBuZXZlciBmcmVl IHRoZSBtZW1vcnkuIFRoaXMgbWVhbnMgdGhhdCBtZW1vcnkgd2lsbCBiZSBsZWFrZWQKPj4gbGVh ZGluZyB0byBhIHBvdGVudGlhbCBkZW5pYWwgb2Ygc2VydmljZS4KPgo+IFNvIEkgZml4ZWQgdGhp cyBjYXNlIGluIHY0LCB0aG91Z2ggdGhlcmUgaXMgc3RpbGwgYSB0aW55IGNoYW5jZSBvZiBhCj4g bWVtbGVhazogaWYgdGhlIE1BUEQoVj0wKSBjb21tYW5kIGZhaWxzLiBXZSBjYW4ndCBmcmVlIHRo ZSBJVFQgdGFibGUKPiB0aGVuLCByZWFsbHksIGJlY2F1c2UgaXQgc3RpbGwgYmVsb25ncyB0byB0 aGUgSVRTLiBJIGRvbid0IHRoaW5rIHdlIGNhbgo+IGRvIG11Y2ggYWJvdXQgaXQsIHRob3VnaC4K ClRoaXMgaXMgYSBsZWFrIGFuZCBldmVuIHRpbnkgaXMgcXVpdGUgd29ycnlpbmcuIEhvdyBkbyB5 b3UgcGxhbiB0byAKYWRkcmVzcyB0aGlzIGluIHRoZSBmdXR1cmU/IFdoYXQgaXMgdGhlIGJlc3Qg dGhpbmcgdG8gZG8/Cgo+IEkgZnJlZSB0aGUgb3RoZXIgYWxsb2NhdGlvbnMgb2YgdGhlIG1lbW9y eSBub3csIGFueXdheS4KPgo+Pj4gKyAgICAgICAgfQo+Pj4gKwo+Pj4gKyAgICAgICAgaWYgKCBj b21wYXJlX2l0c19ndWVzdF9kZXZpY2VzKHRlbXAsIGd1ZXN0X2Rvb3JiZWxsLAo+Pj4gZ3Vlc3Rf ZGV2aWQpID4gMCApCj4+PiArICAgICAgICAgICAgbmV3ID0gJigoKm5ldyktPnJiX2xlZnQpOwo+ Pj4gKyAgICAgICAgZWxzZQo+Pj4gKyAgICAgICAgICAgIG5ldyA9ICYoKCpuZXcpLT5yYl9yaWdo dCk7Cj4+PiArICAgIH0KPj4+ICsKPj4+ICsgICAgaWYgKCAhdmFsaWQgKQo+Pj4gKyAgICAgICAg Z290byBvdXRfdW5sb2NrOwo+Pj4gKwo+Pj4gKyAgICByZXQgPSAtRU5PTUVNOwo+Pj4gKwo+Pj4g KyAgICAvKiBBbiBJbnRlcnJ1cHQgVHJhbnNsYXRpb24gVGFibGUgbmVlZHMgdG8gYmUgMjU2LWJ5 dGUgYWxpZ25lZC4gKi8KPj4+ICsgICAgaXR0X2FkZHIgPSBfeHphbGxvYyhucl9ldmVudHMgKiBo d19pdHMtPml0dGVfc2l6ZSwgMjU2KTsKPj4+ICsgICAgaWYgKCAhaXR0X2FkZHIgKQo+Pj4gKyAg ICAgICAgZ290byBvdXRfdW5sb2NrOwo+Pj4gKwo+Pj4gKyAgICBkZXYgPSB4emFsbG9jKHN0cnVj dCBpdHNfZGV2aWNlcyk7Cj4+PiArICAgIGlmICggIWRldiApCj4+PiArICAgICAgICBnb3RvIG91 dF91bmxvY2s7Cj4+PiArCj4+PiArICAgIHJldCA9IGl0c19zZW5kX2NtZF9tYXBkKGh3X2l0cywg aG9zdF9kZXZpZCwgZmxzKG5yX2V2ZW50cyAtIDEpIC0gMSwKPj4KPj4gSSBkb24ndCB1bmRlcnN0 YW5kIHdoeSBucl9ldmVudHMgLSAxLiBDYW4geW91IGV4cGxhaW4/Cj4KPiBYZW4gbGFja3MgYW4g aWxvZzIsIHNvICJmbHMiIGlzIHRoZSBjbG9zZXN0IEkgY291bGQgZmluZC4gImZscyIgaGFzIHRo aXMKPiBzbGlnaHRseSB3ZWlyZCBzZW1hbnRpYyAoZnJvbSB0aGUgTGludXggc291cmNlKToKPiAi Tm90ZSBmbHMoMCkgPSAwLCBmbHMoMSkgPSAxLCBmbHMoMHg4MDAwMDAwMCkgPSAzMi4iCj4gSSB0 aGluayB0aGlzIHRyYW5zbGF0ZXMgaW50bzogIkhvdyBtYW55IGJpdHMgZG8gSSBuZWVkIHRvIGV4 cHJlc3MgdGhpcwo+IG51bWJlcj8iLiBGb3Igb3VyIGNhc2UgdGhlIGhpZ2hlc3QgZXZlbnQgbnVt YmVyIHdlIG5lZWQgdG8gZW5jb2RlIGlzCj4gIm5yX2V2ZW50cyAtIDEiLCBoZW5jZSB0aGUgc3Vi dHJhY3Rpb24uCj4gU28gaXMgaXQgd29ydGggdG8gaW50cm9kdWNlIGE6Cj4gCXN0YXRpYyBpbmxp bmUgaW50IGlsb2cyXzY0KHVpbnQ2NF90IG4pIC4uLgo+IGluIHhlbi9pbmNsdWRlL2FzbS1hcm0v Yml0b3BzLmggdG8gZG9jdW1lbnQgdGhpcz8KClRoaXMgbWlnaHQgbWFrZSBlYXNpZXIgdG8gcmVh ZCB0aGUgY29kZS4KCj4+Cj4+IFsuLi5dCj4+Cj4+PiArLyogUmVtb3ZpbmcgYW55IGNvbm5lY3Rp b25zIGEgZG9tYWluIGhhZCB0byBhbnkgSVRTIGluIHRoZSBzeXN0ZW0uICovCj4+PiArdm9pZCBn aWN2M19pdHNfdW5tYXBfYWxsX2RldmljZXMoc3RydWN0IGRvbWFpbiAqZCkKPj4+ICt7Cj4+PiAr ICAgIHN0cnVjdCByYl9ub2RlICp2aWN0aW07Cj4+PiArICAgIHN0cnVjdCBpdHNfZGV2aWNlcyAq ZGV2Owo+Pj4gKwo+Pj4gKyAgICAvKgo+Pj4gKyAgICAgKiBUaGlzIGlzIGFuIGVhc2lseSByZWFk YWJsZSwgeWV0IGluZWZmaWNpZW50IGltcGxlbWVudGF0aW9uLgo+Pj4gKyAgICAgKiBJdCB1c2Vz IHRoZSBwcm92aWRlZCBpdGVyYXRpb24gd3JhcHBlciBhbmQgZXJhc2VzIGVhY2ggbm9kZSwKPj4+ IHdoaWNoCj4+PiArICAgICAqIHBvc3NpYmx5IHRyaWdnZXJzIHJlYmFsYW5jaW5nLgo+Pj4gKyAg ICAgKiBUaGlzIHNlZW1zIG92ZXJraWxsIHNpbmNlIHdlIGFyZSBnb2luZyB0byBhYm9saXNoIHRo ZSB3aG9sZQo+Pj4gdHJlZSwgYnV0Cj4+PiArICAgICAqIGF2b2lkcyBhbiBvcGVuLWNvZGVkIHJl LWltcGxlbWVudGF0aW9uIG9mIHRoZSB0cmF2ZXJzYWwKPj4+IGZ1bmN0aW9ucyB3aXRoCj4+PiAr ICAgICAqIHNvbWUgcmVjdXJzaXZlIGZ1bmN0aW9uIGNhbGxzLgo+Pj4gKyAgICAgKiBQZXJmb3Jt YW5jZSBkb2VzIG5vdCBtYXR0ZXIgaGVyZSwgc2luY2Ugd2UgYXJlIGRlc3Ryb3lpbmcgYQo+Pj4g ZG9tYWluLgo+Pgo+PiBBZ2FpbiwgdGhpcyBpcyBzbGlnaHRseSB1bnRydWUuIFBlcmZvcm1hbmNl IG1hdHRlciB3aGVuIGRlc3Ryb3lpbmcgYQo+PiBkb21haW4gYXMgWGVuIGNhbm5vdCBiZSBwcmVl bXB0ZWQuIFNvIGlmIGl0IHRha2VzIHRvbyBsb25nLCB5b3Ugd2lsbAo+PiBoYXZlIGFuIGltcGFj dCBvbiB0aGUgb3ZlcmFsbCBzeXN0ZW0uCj4KPiBJIHJld29yZGVkIHRoaXMgc2VudGVuY2UgaW4g djMsIHNpbmNlIHlvdSBhcHBhcmVudGx5IG1pc3VuZGVyc3Rvb2QgbWUuCj4gQnkgaW5lZmZpY2ll bnQgSSBtZWFudCBzdWItb3B0aW1hbCwgYnV0IHRoaXMgaXMgbm90IGEgX2NyaXRpY2FsXyBwYXRo LAo+IHNvIHdlIGRvbid0IGNhcmUgdG9vIG11Y2guIFRoZSBleGVjdXRpb24gdGltZSBpcyBjbGVh cmx5IGJvdW5kZWQgYnkgdGhlCj4gbnVtYmVyIG9mIGRldmljZXMuIFdlIHNpbXBseSBzaG91bGRu J3QgYWxsb3cgZ2F6aWxsaW9uIG9mIGRldmljZXMgb24gYQo+IERvbVUgaWYgd2UgY2FyZSBhYm91 dCB0aG9zZSB0aGluZ3MuCgpUaGlzIGlzIGEgdmVyeSBuYWl2ZSB3YXkgb2YgdGhpbmtpbmcgaG93 IGRvbWFpbiBkZXN0cnVjdGlvbiBpcyB3b3JraW5nIApvbiBYZW4uIERvbWFpbiBkZXN0cnVjdGlv biBpcyBsaWtlbHkgdG8gZ2V0IHRpbWUsIHlvdSBoYXZlIHRvIHJlbGVhc2UgCmFsbCB0aGUgcmVz b3VyY2VzIChtZW1vcnksIGRldmljZXMuLi4pLiBTbyB3ZSB1c3VhbGx5IHNwbGl0IGluIHNtYWxs ZXIgCnBpZWNlcyB0byBiZSBhYmxlIHRvIGhhbmRsZSBpbnRlcnJ1cHRzIG9yIGFsbG93aW5nIHBy ZWVtcHRpb24uCgo+Cj4+IEhvd2V2ZXIsIEkgdGhpbmsgaXQgd291bGQgYmUgZmFpciB0byBhc3N1 bWUgdGhhdCBhbGwgZGV2aWNlIHdpbGwgYmUKPj4gZGVhc3NpZ25lZCBiZWZvcmUgdGhlIElUUyBp cyBkZXN0cm95ZWQuIFNvIEkgd291bGQganVzdCBkcm9wIHRoaXMKPj4gZnVuY3Rpb24uIE5vdGUg dGhhdCB3ZSBoYXZlIHRoZSBzYW1lIGFzc3VtcHRpb24gaW4gdGhlIFNNTVUgZHJpdmVyLgo+Cj4g V2VsbCwgd2h5IG5vdCBrZWVwIGl0IGFzIGEgc2FmZWd1YXJkLCB0aGVuPyBJZiBhIGRvbWFpbiBn ZXRzIGRlc3Ryb3llZCwKPiBhcmVuJ3Qgd2Ugc3VwcG9zZWQgdG8gY2xlYW4gdXA/CgpTZWUgYWJv dmUuIFdlIHVzZSBBU1NFUlQoLi4uLikgaW4gdGhlIFNNTVUgY29kZSB0byBjaGVjayB0aGlzIGFz c3VtcHRpb24uCgo+Pj4KPj4+ICAgICAgICAgIHByaW50aygiR0lDdjM6IEZvdW5kIElUUyBAMHgl bHhcbiIsIGFkZHIpOwo+Pj4KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy12My5j IGIveGVuL2FyY2gvYXJtL3ZnaWMtdjMuYwo+Pj4gaW5kZXggZDYxNDc5ZC4uMWZhZGIwMCAxMDA2 NDQKPj4+IC0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKPj4+ICsrKyBiL3hlbi9hcmNoL2Fy bS92Z2ljLXYzLmMKPj4+IEBAIC0xNDUwLDYgKzE0NTAsOSBAQCBzdGF0aWMgaW50IHZnaWNfdjNf ZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKPj4+ICAgICAgZC0+YXJjaC52Z2ljLm5yX3Jl Z2lvbnMgPSByZGlzdF9jb3VudDsKPj4+ICAgICAgZC0+YXJjaC52Z2ljLnJkaXN0X3JlZ2lvbnMg PSByZGlzdF9yZWdpb25zOwo+Pj4KPj4+ICsgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmFyY2gudmdp Yy5pdHNfZGV2aWNlc19sb2NrKTsKPj4+ICsgICAgZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzID0g UkJfUk9PVDsKPj4KPj4gQWdhaW4sIHRoZSBwbGFjZW1lbnQgb2YgdGhvc2UgMiBsaW5lcyBhcmUg bGlrZWx5IHdyb25nLiBUaGlzIHNob3VsZAo+PiBiZWxvbmcgdG8gdGhlIHZJVFMgYW5kIG5vdCB0 aGUgdmdpYy12My4KPgo+IFdlbGwsIGl0J3MgYSAiZG9tYWluIHdoaWNoIGhhcyBhbiBJVFMiIHRo aW5nLCBhcyB0aGlzIGlzIG5vdCBwZXIgSVRTLiBTbwo+IGZhciB3ZSBvbmx5IGhhdmUgYW4gcGVy LUlUUyBpbml0IGZ1bmN0aW9uLCBhcyB3ZSBkb24ndCBpdGVyYXRlIG92ZXIgdGhlCj4gaG9zdCBJ VFNlcyB0aGVyZSBhbnltb3JlLgo+IFNvIEkgcmVmcmFpbmVkIGZyb20gYWRkaW5nIGEgc2VwYXJh dGUgZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGVzZQo+IHNpbXBsZSBhbmQgZ2VuZXJpYyBkYXRh IHN0cnVjdHVyZXMuIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgaW5zaXN0IG9uCj4gc29tZSBJ VFMtcGVyLWRvbWFpbiBpbml0IGZ1bmN0aW9uLgoKV2hlcmUgaXMgdGhlIGxpbWl0IHRvIHJlZnJh aW4gZnJvbSBjcmVhdGluZyBmdW5jdGlvbiB0aGVuPyBXaGF0IG1hdHRlciAKaXMgbG9naWMuLi4K CkNoZWVycywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=