From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [RFC PATCH 03/24] ARM: GICv3 ITS: allocate device and collection table Date: Mon, 10 Oct 2016 10:05:50 +0100 Message-ID: <757679c1-d0d1-3d9b-7e27-7f8e6a9fb0b5@arm.com> References: <20160928182457.12433-1-andre.przywara@arm.com> <20160928182457.12433-4-andre.przywara@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 1btWWi-0001vj-CQ for xen-devel@lists.xenproject.org; Mon, 10 Oct 2016 09:05:40 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Vijay Kilari Cc: xen-devel , Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAwOS8xMC8xNiAxNDo1NSwgVmlqYXkgS2lsYXJpIHdyb3RlOgo+IEhpIEFuZHJlLAo+ IAo+ICAgIE9uIFRodW5kZXJ4LCBNQVBEIGNvbW1hbmRzIGFyZSBmYWlsaW5nIHdpdGggZXJyb3Ig MHgxLAo+IHdoaWNoIG1lYW4gREVWSUQgb3V0IG9mIHJhbmdlLgoKTUFQRCBjb21tYW5kcyBmcm9t IERvbTAsIHlvdSBtZWFuPwoKQW5kIHRoYW5rcyBmb3IgZ2l2aW5nIGl0IGEgdHJ5IQoKPiBPbiBX ZWQsIFNlcCAyOCwgMjAxNiBhdCAxMTo1NCBQTSwgQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3 YXJhQGFybS5jb20+IHdyb3RlOgo+PiBFYWNoIElUUyBtYXBzIGEgcGFpciBvZiBhIERldmljZUlE ICh1c3VhbGx5IHRoZSBQQ0kgYi9kL2YgdHJpcGxldCkgYW5kCj4+IGFuIEV2ZW50SUQgKHRoZSBN U0kgcGF5bG9hZCBvciBpbnRlcnJ1cHQgSUQpIHRvIGEgcGFpciBvZiBMUEkgbnVtYmVyCj4+IGFu ZCBjb2xsZWN0aW9uIElELCB3aGljaCBwb2ludHMgdG8gdGhlIHRhcmdldCBDUFUuCj4+IFRoaXMg bWFwcGluZyBpcyBzdG9yZWQgaW4gdGhlIGRldmljZSBhbmQgY29sbGVjdGlvbiB0YWJsZXMsIHdo aWNoIHNvZnR3YXJlCj4+IGhhcyB0byBwcm92aWRlIGZvciB0aGUgSVRTIHRvIHVzZS4KPj4gQWxs b2NhdGUgdGhlIHJlcXVpcmVkIG1lbW9yeSBhbmQgaGFuZCBpdCB0aGUgSVRTLgo+PiBXZSBsaW1p dCB0aGUgbnVtYmVyIG9mIGRldmljZXMgdG8gY292ZXIgNCBQQ0kgYnVzc2VzIGZvciBub3cuCj4+ Cj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29t Pgo+PiAtLS0KPj4gIHhlbi9hcmNoL2FybS9naWMtaXRzLmMgICAgICAgIHwgMTE0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAgeGVuL2FyY2gvYXJtL2dpYy12 My5jICAgICAgICAgfCAgIDUgKysKPj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oIHwg IDQ5ICsrKysrKysrKysrKysrKysrLQo+PiAgMyBmaWxlcyBjaGFuZ2VkLCAxNjcgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy1p dHMuYyBiL3hlbi9hcmNoL2FybS9naWMtaXRzLmMKPj4gaW5kZXggYjUyZGZmMy4uNDAyMzhhMiAx MDA2NDQKPj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy1pdHMuYwo+PiArKysgYi94ZW4vYXJjaC9h cm0vZ2ljLWl0cy5jCj4+IEBAIC0yMSw2ICsyMSw3IEBACj4+ICAjaW5jbHVkZSA8eGVuL2Rldmlj ZV90cmVlLmg+Cj4+ICAjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJmZHQuaD4KPj4gICNpbmNsdWRl IDxhc20vcDJtLmg+Cj4+ICsjaW5jbHVkZSA8YXNtL2lvLmg+Cj4+ICAjaW5jbHVkZSA8YXNtL2dp Yy5oPgo+PiAgI2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgo+PiAgI2luY2x1ZGUgPGFzbS9n aWMtaXRzLmg+Cj4+IEBAIC0zOCw2ICszOSwxMTkgQEAgc3RhdGljIERFRklORV9QRVJfQ1BVKHZv aWQgKiwgcGVuZGluZ190YWJsZSk7Cj4+ICAgICAgICAgIG1pbl90KHVuc2lnbmVkIGludCwgbHBp X2RhdGEuaG9zdF9scGlfYml0cywgQ09ORklHX0hPU1RfTFBJX0JJVFMpCj4+ICAjZGVmaW5lIE1B WF9IT1NUX0xQSVMgICAoQklUKE1BWF9IT1NUX0xQSV9CSVRTKSAtIDgxOTIpCj4+Cj4+ICsjZGVm aW5lIEJBU0VSX0FUVFJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4+ICsgICAgICAgICgoMHgzVUwgPDwgR0lUU19CQVNFUl9TSEFSRUFCSUxJVFlfU0hJ RlQpICAgICAgICAgICAgICAgfCBcCj4+ICsgICAgICAgICAoMHg3VUwgPDwgR0lUU19CQVNFUl9P VVRFUl9DQUNIRUFCSUxJVFlfU0hJRlQpICAgICAgICAgfCBcCj4+ICsgICAgICAgICAoMHg3VUwg PDwgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFCSUxJVFlfU0hJRlQpKQo+PiArI2RlZmluZSBCQVNF Ul9ST19NQVNLICAgKEdFTk1BU0soNTIsIDQ4KSB8IEdFTk1BU0soNTgsIDU2KSkKPj4gKwo+PiAr c3RhdGljIHVpbnQ2NF90IGVuY29kZV9waHlzX2FkZHIocGFkZHJfdCBhZGRyLCBpbnQgcGFnZV9i aXRzKQo+PiArewo+PiArICAgIHVpbnQ2NF90IHJldDsKPj4gKwo+PiArICAgIGlmICggcGFnZV9i aXRzIDwgMTYpCj4+ICsgICAgICAgIHJldHVybiAodWludDY0X3QpYWRkciAmIEdFTk1BU0soNDcs IHBhZ2VfYml0cyk7Cj4+ICsKPj4gKyAgICByZXQgPSBhZGRyICYgR0VOTUFTSyg0NywgMTYpOwo+ PiArICAgIHJldHVybiByZXQgfCAoYWRkciAmIEdFTk1BU0soNTEsIDQ4KSkgPj4gKDQ4IC0gMTIp Owo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IGdpY3YzX21hcF9iYXNlcih2b2lkIF9faW9tZW0g KmJhc2VyZWcsIHVpbnQ2NF90IHJlZ2MsIGludCBucl9pdGVtcykKPj4gK3sKPj4gKyAgICB1aW50 NjRfdCBhdHRyOwo+PiArICAgIGludCBlbnRyeV9zaXplID0gKHJlZ2MgPj4gR0lUU19CQVNFUl9F TlRSWV9TSVpFX1NISUZUKSAmIDB4MWY7Cj4+ICsgICAgaW50IHBhZ2VzejsKPj4gKyAgICBpbnQg b3JkZXI7Cj4+ICsgICAgdm9pZCAqYnVmZmVyID0gTlVMTDsKPj4gKwo+PiArICAgIGF0dHIgID0g R0lDX0JBU0VSX0lubmVyU2hhcmVhYmxlIDw8IEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX1NISUZU Owo+PiArICAgIGF0dHIgfD0gR0lDX0JBU0VSX0NBQ0hFX1NhbWVBc0lubmVyIDw8IEdJVFNfQkFT RVJfT1VURVJfQ0FDSEVBQklMSVRZX1NISUZUOwo+PiArICAgIGF0dHIgfD0gR0lDX0JBU0VSX0NB Q0hFX1JhV2FXYiA8PCBHSVRTX0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9TSElGVDsKPj4gKwo+ PiArICAgIC8qCj4+ICsgICAgICogTG9vcCBvdmVyIHRoZSBwYWdlIHNpemVzICg0SywgMTZLLCA2 NEspIHRvIGZpbmQgb3V0IHdoYXQgdGhlIGhvc3QKPj4gKyAgICAgKiBzdXBwb3J0cy4KPj4gKyAg ICAgKi8KPj4gKyAgICBmb3IgKHBhZ2VzeiA9IDA7IHBhZ2VzeiA8IDM7IHBhZ2VzeisrKQo+PiAr ICAgIHsKPj4gKyAgICAgICAgdWludDY0X3QgcmVnOwo+PiArICAgICAgICBpbnQgbnJfYnl0ZXM7 Cj4+ICsKPj4gKyAgICAgICAgbnJfYnl0ZXMgPSBST1VORFVQKG5yX2l0ZW1zICogZW50cnlfc2l6 ZSwgQklUKHBhZ2VzeiAqIDIgKyAxMikpOwo+PiArICAgICAgICBvcmRlciA9IGdldF9vcmRlcl9m cm9tX2J5dGVzKG5yX2J5dGVzKTsKPj4gKwo+PiArICAgICAgICBpZiAoICFidWZmZXIgKQo+PiAr ICAgICAgICAgICAgYnVmZmVyID0gYWxsb2NfeGVuaGVhcF9wYWdlcyhvcmRlciwgMCk7Cj4+ICsg ICAgICAgIGlmICggIWJ1ZmZlciApCj4+ICsgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4g Kwo+PiArICAgICAgICByZWcgID0gYXR0cjsKPj4gKyAgICAgICAgcmVnIHw9IChwYWdlc3ogPDwg R0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQpOwo+PiArICAgICAgICByZWcgfD0gbnJfYnl0ZXMg Pj4gKHBhZ2VzeiAqIDIgKyAxMik7Cj4+ICsgICAgICAgIHJlZyB8PSByZWdjICYgQkFTRVJfUk9f TUFTSzsKPj4gKyAgICAgICAgcmVnIHw9IEdJVFNfQkFTRVJfVkFMSUQ7Cj4+ICsgICAgICAgIHJl ZyB8PSBlbmNvZGVfcGh5c19hZGRyKHZpcnRfdG9fbWFkZHIoYnVmZmVyKSwgcGFnZXN6ICogMiAr IDEyKTsKPj4gKwo+PiArICAgICAgICB3cml0ZXFfcmVsYXhlZChyZWcsIGJhc2VyZWcpOwo+PiAr ICAgICAgICByZWdjID0gcmVhZGxfcmVsYXhlZChiYXNlcmVnKTsKPj4gKwo+PiArICAgICAgICAv KiBUaGUgaG9zdCBkaWRuJ3QgbGlrZSBvdXIgYXR0cmlidXRlcywganVzdCB1c2Ugd2hhdCBpdCBy ZXR1cm5lZC4gKi8KPj4gKyAgICAgICAgaWYgKCAocmVnYyAmIEJBU0VSX0FUVFJfTUFTSykgIT0g YXR0ciApCj4+ICsgICAgICAgICAgICBhdHRyID0gcmVnYyAmIEJBU0VSX0FUVFJfTUFTSzsKPj4g Kwo+PiArICAgICAgICAvKiBJZiB0aGUgaG9zdCBhY2NlcHRlZCBvdXIgcGFnZSBzaXplLCB3ZSBh cmUgZG9uZS4gKi8KPj4gKyAgICAgICAgaWYgKCAocmVnICYgKDNVTCA8PCBHSVRTX0JBU0VSX1BB R0VfU0laRV9TSElGVCkpID09IHBhZ2VzeiApCj4+ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4g Kwo+PiArICAgICAgICAvKiBDaGVjayB3aGV0aGVyIG91ciBidWZmZXIgaXMgYWxpZ25lZCB0byB0 aGUgbmV4dCBwYWdlIHNpemUgYWxyZWFkeS4gKi8KPj4gKyAgICAgICAgaWYgKCAhKHZpcnRfdG9f bWFkZHIoYnVmZmVyKSAmIChCSVQocGFnZXN6ICogMiArIDEyICsgMikgLSAxKSkgKQo+PiArICAg ICAgICB7Cj4+ICsgICAgICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMoYnVmZmVyLCBvcmRlcik7 Cj4+ICsgICAgICAgICAgICBidWZmZXIgPSBOVUxMOwo+PiArICAgICAgICB9Cj4+ICsgICAgfQo+ PiArCj4+ICsgICAgaWYgKCBidWZmZXIgKQo+PiArICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMo YnVmZmVyLCBvcmRlcik7Cj4+ICsKPj4gKyAgICByZXR1cm4gLUVJTlZBTDsKPj4gK30KPj4gKwo+ PiAraW50IGdpY3YzX2l0c19pbml0KHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzKQo+PiArewo+PiAr ICAgIHVpbnQ2NF90IHJlZzsKPj4gKyAgICBpbnQgaTsKPj4gKwo+PiArICAgIGh3X2l0cy0+aXRz X2Jhc2UgPSBpb3JlbWFwX25vY2FjaGUoaHdfaXRzLT5hZGRyLCBod19pdHMtPnNpemUpOwo+PiAr ICAgIGlmICggIWh3X2l0cy0+aXRzX2Jhc2UgKQo+PiArICAgICAgICByZXR1cm4gLUVOT01FTTsK Pj4gKwo+PiArICAgIGZvciAoaSA9IDA7IGkgPCA4OyBpKyspCj4+ICsgICAgewo+PiArICAgICAg ICB2b2lkIF9faW9tZW0gKmJhc2VyZWcgPSBod19pdHMtPml0c19iYXNlICsgR0lUU19CQVNFUjAg KyBpICogODsKPj4gKyAgICAgICAgaW50IHR5cGU7Cj4+ICsKPj4gKyAgICAgICAgcmVnID0gcmVh ZHFfcmVsYXhlZChiYXNlcmVnKTsKPj4gKyAgICAgICAgdHlwZSA9IChyZWcgPj4gNTYpICYgMHg3 Owo+PiArICAgICAgICBzd2l0Y2ggKCB0eXBlICkKPj4gKyAgICAgICAgewo+PiArICAgICAgICBj YXNlIEdJVFNfQkFTRVJfVFlQRV9OT05FOgo+PiArICAgICAgICAgICAgY29udGludWU7Cj4+ICsg ICAgICAgIGNhc2UgR0lUU19CQVNFUl9UWVBFX0RFVklDRToKPj4gKyAgICAgICAgICAgIC8qIFRP RE86IGZpbmQgc29tZSBiZXR0ZXIgd2F5IG9mIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgZGV2aWNl cyAqLwo+PiArICAgICAgICAgICAgZ2ljdjNfbWFwX2Jhc2VyKGJhc2VyZWcsIHJlZywgMTAyNCk7 Cj4gCj4gVGh1bmRlcnggaGFzIGxhcmdlciBkZXZpY2UgaWQgdmFsdWVzLgo+IENoYW5naW5nIHRv IGh3IHN1cHBvcnRlZCBkZXZpY2UgaWRzIG1ha2VzIE1BUEQgY29tbWFuZHMgdG8gcGFzcwo+IGFu ZCBUaHVuZGVyeCB0byBib290LgoKQWgsIHRoYW5rcyBmb3IgdGhlIGhlYWRzIHVwLgpPYnZpb3Vz bHkgdGhpcyAiMTAyNCIgaXMgYSBoYWNrLgpKdWxpZW4gd2FudGVkIHRvIHVzZSBwbGF0Zm9ybSBz cGVjaWZpYyBjb2RlIGZvciB0aGUgRG9tMCBkZXZpY2UgbWFwcGluZywKd2hpY2ggY291bGQgdGFr ZSBjYXJlIG9mIHRob3NlIGNhc2VzLgpJIGFtIG5vdCBzbyBoYXBweSB3aXRoIHRoaXMsIHNpbmNl IGl0IHJlcXVpcmVzIGNvZGUgZm9yIGVhY2ggYW5kIGV2ZXJ5CnBsYXRmb3JtLiBJbnN0ZWFkIEkg d2FzIHRoaW5raW5nIG9mIHVzaW5nIHRoZSBQViBQQ0kgY2FsbHMgdGhhdCBEb20wCmlzc3VlcyBh bnl3YXkgdG8gZ2V0IGFuIGlkZWEgb2YgaG93IG1hbnkgZGV2aWNlcyB3ZSBuZWVkLCBidXQgdGhp cyBtYXliZQp0b28gbGF0ZSBpbiB0aGUgYm9vdCBwcm9jZXNzLgpXZSB3b3VsZCBuZWVkIHRvIHRh a2UgYSBjbG9zZXIgbG9vayBpbnRvIHRoaXMuCgo+IFlvdSBjYW4gcmVmZXIgdG8gVGh1bmRlcngg YmRmIG51bWJlcnMgaGVyZQo+IGh0dHBzOi8vZ2l0aHViLmNvbS92aWpheWtpbGFyaS9pdHNfdjYv Y29tbWl0L2UxYThlYzgyYWQyYmIwMGIyOTk3MjdkMDg0N2I4OTY3MWU5YmE2NmQKClRoYW5rcyBm b3IgdGhlIGxpbmsuIFRvIGJlIGhvbmVzdCwgSSBkZWxpYmVyYXRlbHkgZGlkbid0IGxvb2sgaW50 byB0aGUKcHJldmlvdXMgcGF0Y2hlcyB0byBnZXQgYSBjbGVhbiBzdGFydC4gSSBndWVzcyBJIHdp bGwgdGFrZSBhIGxvb2sgbm93LgoKU28geW91IG5lZWQgc29tZXRoaW5nIGxpa2UgMjAwLDAwMCBk ZXZpY2VzIHRvIGNvdmVyIHRob3NlICJ0aHJlZSBhbmQKc29tZSIgc2VnbWVudHM/CkkgZ3Vlc3Mg dGhpcyBtZWFucyBubyBleGN1c2UgYW55bW9yZSBmb3IgcG9zdHBvbmluZyBpbmRpcmVjdCBtYXBw aW5nIDstKQoKQ2hlZXJzLApBbmRyZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=