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: Thu, 10 Nov 2016 15:32:04 +0000 Message-ID: <7f49b054-edfb-97db-635c-70ca2e79894f@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 1c4rKE-0004nI-Eu for xen-devel@lists.xenproject.org; Thu, 10 Nov 2016 15:31:38 +0000 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: xen-devel@lists.xenproject.org, Julien Grall List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAyNi8xMC8xNiAyMzo1NywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+IE9uIFdl ZCwgMjggU2VwIDIwMTYsIEFuZHJlIFByenl3YXJhIHdyb3RlOgo+PiBFYWNoIElUUyBtYXBzIGEg cGFpciBvZiBhIERldmljZUlEICh1c3VhbGx5IHRoZSBQQ0kgYi9kL2YgdHJpcGxldCkgYW5kCj4+ IGFuIEV2ZW50SUQgKHRoZSBNU0kgcGF5bG9hZCBvciBpbnRlcnJ1cHQgSUQpIHRvIGEgcGFpciBv ZiBMUEkgbnVtYmVyCj4+IGFuZCBjb2xsZWN0aW9uIElELCB3aGljaCBwb2ludHMgdG8gdGhlIHRh cmdldCBDUFUuCj4+IFRoaXMgbWFwcGluZyBpcyBzdG9yZWQgaW4gdGhlIGRldmljZSBhbmQgY29s bGVjdGlvbiB0YWJsZXMsIHdoaWNoIHNvZnR3YXJlCj4+IGhhcyB0byBwcm92aWRlIGZvciB0aGUg SVRTIHRvIHVzZS4KPj4gQWxsb2NhdGUgdGhlIHJlcXVpcmVkIG1lbW9yeSBhbmQgaGFuZCBpdCB0 aGUgSVRTLgo+PiBXZSBsaW1pdCB0aGUgbnVtYmVyIG9mIGRldmljZXMgdG8gY292ZXIgNCBQQ0kg YnVzc2VzIGZvciBub3cuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRy ZS5wcnp5d2FyYUBhcm0uY29tPgo+PiAtLS0KPj4gIHhlbi9hcmNoL2FybS9naWMtaXRzLmMgICAg ICAgIHwgMTE0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiAg eGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAgfCAgIDUgKysKPj4gIHhlbi9pbmNsdWRlL2Fz bS1hcm0vZ2ljLWl0cy5oIHwgIDQ5ICsrKysrKysrKysrKysrKysrLQo+PiAgMyBmaWxlcyBjaGFu Z2VkLCAxNjcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEv eGVuL2FyY2gvYXJtL2dpYy1pdHMuYyBiL3hlbi9hcmNoL2FybS9naWMtaXRzLmMKPj4gaW5kZXgg YjUyZGZmMy4uNDAyMzhhMiAxMDA2NDQKPj4gLS0tIGEveGVuL2FyY2gvYXJtL2dpYy1pdHMuYwo+ PiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jCj4+IEBAIC0yMSw2ICsyMSw3IEBACj4+ICAj aW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+Cj4+ICAjaW5jbHVkZSA8eGVuL2xpYmZkdC9saWJm ZHQuaD4KPj4gICNpbmNsdWRlIDxhc20vcDJtLmg+Cj4+ICsjaW5jbHVkZSA8YXNtL2lvLmg+Cj4+ ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+PiAgI2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgo+ PiAgI2luY2x1ZGUgPGFzbS9naWMtaXRzLmg+Cj4+IEBAIC0zOCw2ICszOSwxMTkgQEAgc3RhdGlj IERFRklORV9QRVJfQ1BVKHZvaWQgKiwgcGVuZGluZ190YWJsZSk7Cj4+ICAgICAgICAgIG1pbl90 KHVuc2lnbmVkIGludCwgbHBpX2RhdGEuaG9zdF9scGlfYml0cywgQ09ORklHX0hPU1RfTFBJX0JJ VFMpCj4+ICAjZGVmaW5lIE1BWF9IT1NUX0xQSVMgICAoQklUKE1BWF9IT1NUX0xQSV9CSVRTKSAt IDgxOTIpCj4+ICAKPj4gKyNkZWZpbmUgQkFTRVJfQVRUUl9NQVNLICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4gKyAgICAgICAgKCgweDNVTCA8PCBHSVRTX0JB U0VSX1NIQVJFQUJJTElUWV9TSElGVCkgICAgICAgICAgICAgICB8IFwKPj4gKyAgICAgICAgICgw eDdVTCA8PCBHSVRTX0JBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElGVCkgICAgICAgICB8IFwK Pj4gKyAgICAgICAgICgweDdVTCA8PCBHSVRTX0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9TSElG VCkpCj4+ICsjZGVmaW5lIEJBU0VSX1JPX01BU0sgICAoR0VOTUFTSyg1MiwgNDgpIHwgR0VOTUFT Syg1OCwgNTYpKQo+PiArCj4+ICtzdGF0aWMgdWludDY0X3QgZW5jb2RlX3BoeXNfYWRkcihwYWRk cl90IGFkZHIsIGludCBwYWdlX2JpdHMpCj4+ICt7Cj4+ICsgICAgdWludDY0X3QgcmV0Owo+PiAr Cj4+ICsgICAgaWYgKCBwYWdlX2JpdHMgPCAxNikKPj4gKyAgICAgICAgcmV0dXJuICh1aW50NjRf dClhZGRyICYgR0VOTUFTSyg0NywgcGFnZV9iaXRzKTsKPj4gKwo+PiArICAgIHJldCA9IGFkZHIg JiBHRU5NQVNLKDQ3LCAxNik7Cj4+ICsgICAgcmV0dXJuIHJldCB8IChhZGRyICYgR0VOTUFTSyg1 MSwgNDgpKSA+PiAoNDggLSAxMik7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgZ2ljdjNfbWFw X2Jhc2VyKHZvaWQgX19pb21lbSAqYmFzZXJlZywgdWludDY0X3QgcmVnYywgaW50IG5yX2l0ZW1z KQo+IAo+IFNob3VsZG4ndCB0aGlzIGJlIGNhbGxlZCBpdHNfbWFwX2Jhc2VyPwoKWWVzLCB0aGUg QkFTRVIgcmVnaXN0ZXJzIGFyZSBhbiBJVFMgcHJvcGVydHkuCgo+PiArewo+PiArICAgIHVpbnQ2 NF90IGF0dHI7Cj4+ICsgICAgaW50IGVudHJ5X3NpemUgPSAocmVnYyA+PiBHSVRTX0JBU0VSX0VO VFJZX1NJWkVfU0hJRlQpICYgMHgxZjsKPiAKPiBUaGUgc3BlYyBzYXlzICJUaGlzIGZpZWxkIGlz IHJlYWQtb25seSBhbmQgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YKPiBieXRlcyBwZXIgZW50cnks IG1pbnVzIG9uZS4iIERvIHdlIG5lZWQgdG8gaW5jcmVtZW50IGl0IGJ5IDE/CgpNbWgsIGxvb2tz IHNvLiBJIGd1ZXNzIGl0IHdvcmtlZCBiZWNhdXNlIHRoZSBudW1iZXIgZ2V0cyBkd2FyZmVkIGJ5 IHRoZQpwYWdlIHNpemUgcm91bmQgdXAgYmVsb3cuCgo+PiArICAgIGludCBwYWdlc3o7Cj4+ICsg ICAgaW50IG9yZGVyOwo+PiArICAgIHZvaWQgKmJ1ZmZlciA9IE5VTEw7Cj4+ICsKPj4gKyAgICBh dHRyICA9IEdJQ19CQVNFUl9Jbm5lclNoYXJlYWJsZSA8PCBHSVRTX0JBU0VSX1NIQVJFQUJJTElU WV9TSElGVDsKPj4gKyAgICBhdHRyIHw9IEdJQ19CQVNFUl9DQUNIRV9TYW1lQXNJbm5lciA8PCBH SVRTX0JBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElGVDsKPj4gKyAgICBhdHRyIHw9IEdJQ19C QVNFUl9DQUNIRV9SYVdhV2IgPDwgR0lUU19CQVNFUl9JTk5FUl9DQUNIRUFCSUxJVFlfU0hJRlQ7 Cj4+ICsKPj4gKyAgICAvKgo+PiArICAgICAqIExvb3Agb3ZlciB0aGUgcGFnZSBzaXplcyAoNEss IDE2SywgNjRLKSB0byBmaW5kIG91dCB3aGF0IHRoZSBob3N0Cj4+ICsgICAgICogc3VwcG9ydHMu Cj4+ICsgICAgICovCj4gCj4gSXMgdGhpcyByZWFsbHkgdGhlIGJlc3Qgd2F5IHRvIGRvIGl0PyBD YW4ndCB3ZSBhc3N1bWUgSVRTIHN1cHBvcnRzIDRLLAo+IGdpdmVuIHRoYXQgWGVuIHJlcXVpcmVz IDRLIHBhZ2VzIGF0IHRoZSBtb21lbnQ/CgpUaGUgSVRTIHBhZ2VzIGFyZSB0b3RhbGx5IGluZGVw ZW5kZW50IGZyb20gdGhlIGNvcmUncyBNTVUgcGFnZSBzaXplLgpTbyB0aGUgc3BlYyBzYXlzOiAi SWYgdGhlIEdJQyBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBvbmx5IGEgc2luZ2xlLApmaXhlZCBw YWdlIHNpemUsIHRoaXMgZmllbGQgbWlnaHQgYmUgUk8uIgpJIHRha2UgaXQgdGhhdCB0aGlzIG1l YW5zIHRoYXQgdGhlIG9ubHkgaW1wbGVtZW50ZWQgcGFnZSBzaXplIGNvdWxkIGJlCjY0SywgZm9y IGluc3RhbmNlLiBBbmQgaW4gZmFjdCB0aGUgS1ZNIElUUyBlbXVsYXRpb24gYWR2ZXJ0aXNlcyBl eGFjdGx5CnRoaXMgdG8gYSBndWVzdC4KCj4gSXMgaXQgYWN0dWFsbHkgcG9zc2libGUKPiB0byBm aW5kIGhhcmR3YXJlIHRoYXQgc3VwcG9ydHMgNEsgYnV0IHdpdGggYW4gSVRTIHRoYXQgb25seSBz dXBwb3J0IDY0Swo+IG9yIDE2SyBwYWdlcz8gSXQgc2VlbXMgaW5zYW5lIHRvIG1lLiBPdGhlcndp c2UgY2FuJ3Qgd2UgcHJvYmUgdGhlIHBhZ2UKPiBzaXplIHNvbWVob3c/CgpXZSBjYW4gcHJvYmUg Ynkgd3JpdGluZyBhbmQgc2VlaW5nIGlmIGl0IHN0aWNrcyAtIHRoYXQncyB3aGF0IHRoZSBjb2Rl CmRvZXMuIElzIGl0IHJlYWxseSBzbyBob3JyaWJsZT8gSSBhZ3JlZSBpdCdzIG5hc3R5LCBidXQg aXNuJ3QgaXQKYmFzaWNhbGx5IGEgbG9vcCBhcm91bmQgdGhlIGNvZGUgbmVlZGVkIGFueXdheT8K ClllcyB0byB0aGUgcmVzdCBvZiB0aGUgY29tbWVudHMuCgpDaGVlcnMsCkFuZHJlLgoKPj4gKyAg ICBmb3IgKHBhZ2VzeiA9IDA7IHBhZ2VzeiA8IDM7IHBhZ2VzeisrKQo+PiArICAgIHsKPj4gKyAg ICAgICAgdWludDY0X3QgcmVnOwo+PiArICAgICAgICBpbnQgbnJfYnl0ZXM7Cj4+ICsKPj4gKyAg ICAgICAgbnJfYnl0ZXMgPSBST1VORFVQKG5yX2l0ZW1zICogZW50cnlfc2l6ZSwgQklUKHBhZ2Vz eiAqIDIgKyAxMikpOwo+PiArICAgICAgICBvcmRlciA9IGdldF9vcmRlcl9mcm9tX2J5dGVzKG5y X2J5dGVzKTsKPj4gKwo+PiArICAgICAgICBpZiAoICFidWZmZXIgKQo+PiArICAgICAgICAgICAg YnVmZmVyID0gYWxsb2NfeGVuaGVhcF9wYWdlcyhvcmRlciwgMCk7Cj4+ICsgICAgICAgIGlmICgg IWJ1ZmZlciApCj4+ICsgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArICAgICAg ICByZWcgID0gYXR0cjsKPj4gKyAgICAgICAgcmVnIHw9IChwYWdlc3ogPDwgR0lUU19CQVNFUl9Q QUdFX1NJWkVfU0hJRlQpOwo+PiArICAgICAgICByZWcgfD0gbnJfYnl0ZXMgPj4gKHBhZ2VzeiAq IDIgKyAxMik7Cj4+ICsgICAgICAgIHJlZyB8PSByZWdjICYgQkFTRVJfUk9fTUFTSzsKPj4gKyAg ICAgICAgcmVnIHw9IEdJVFNfQkFTRVJfVkFMSUQ7Cj4+ICsgICAgICAgIHJlZyB8PSBlbmNvZGVf cGh5c19hZGRyKHZpcnRfdG9fbWFkZHIoYnVmZmVyKSwgcGFnZXN6ICogMiArIDEyKTsKPj4gKwo+ PiArICAgICAgICB3cml0ZXFfcmVsYXhlZChyZWcsIGJhc2VyZWcpOwo+PiArICAgICAgICByZWdj ID0gcmVhZGxfcmVsYXhlZChiYXNlcmVnKTsKPj4gKwo+PiArICAgICAgICAvKiBUaGUgaG9zdCBk aWRuJ3QgbGlrZSBvdXIgYXR0cmlidXRlcywganVzdCB1c2Ugd2hhdCBpdCByZXR1cm5lZC4gKi8K Pj4gKyAgICAgICAgaWYgKCAocmVnYyAmIEJBU0VSX0FUVFJfTUFTSykgIT0gYXR0ciApCj4+ICsg ICAgICAgICAgICBhdHRyID0gcmVnYyAmIEJBU0VSX0FUVFJfTUFTSzsKPj4gKwo+PiArICAgICAg ICAvKiBJZiB0aGUgaG9zdCBhY2NlcHRlZCBvdXIgcGFnZSBzaXplLCB3ZSBhcmUgZG9uZS4gKi8K Pj4gKyAgICAgICAgaWYgKCAocmVnICYgKDNVTCA8PCBHSVRTX0JBU0VSX1BBR0VfU0laRV9TSElG VCkpID09IHBhZ2VzeiApCj4+ICsgICAgICAgICAgICByZXR1cm4gMDsKPj4gKwo+PiArICAgICAg ICAvKiBDaGVjayB3aGV0aGVyIG91ciBidWZmZXIgaXMgYWxpZ25lZCB0byB0aGUgbmV4dCBwYWdl IHNpemUgYWxyZWFkeS4gKi8KPj4gKyAgICAgICAgaWYgKCAhKHZpcnRfdG9fbWFkZHIoYnVmZmVy KSAmIChCSVQocGFnZXN6ICogMiArIDEyICsgMikgLSAxKSkgKQo+PiArICAgICAgICB7Cj4+ICsg ICAgICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMoYnVmZmVyLCBvcmRlcik7Cj4+ICsgICAgICAg ICAgICBidWZmZXIgPSBOVUxMOwo+PiArICAgICAgICB9Cj4+ICsgICAgfQo+PiArCj4+ICsgICAg aWYgKCBidWZmZXIgKQo+PiArICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZXMoYnVmZmVyLCBvcmRl cik7Cj4+ICsKPj4gKyAgICByZXR1cm4gLUVJTlZBTDsKPj4gK30KPj4gKwo+PiAraW50IGdpY3Yz X2l0c19pbml0KHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzKQo+PiArewo+PiArICAgIHVpbnQ2NF90 IHJlZzsKPj4gKyAgICBpbnQgaTsKPj4gKwo+PiArICAgIGh3X2l0cy0+aXRzX2Jhc2UgPSBpb3Jl bWFwX25vY2FjaGUoaHdfaXRzLT5hZGRyLCBod19pdHMtPnNpemUpOwo+PiArICAgIGlmICggIWh3 X2l0cy0+aXRzX2Jhc2UgKQo+PiArICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArICAg IGZvciAoaSA9IDA7IGkgPCA4OyBpKyspCj4gCj4gQ29kZSBzdHlsZS4gVW5mb3J0dW5hdGVseSB3 ZSBkb24ndCBoYXZlIGEgc2NyaXB0IHRvIGNoZWNrLCBidXQgcGxlYXNlCj4gcmVmZXIgdG8gQ09E SU5HX1NUWUxFLiBJJ2QgcHJlZmVyIGlmIGV2ZXJ5IG51bWJlciB3YXMgI2RlZmluZSdlZCwKPiBp bmNsdWRpbmcgYDgnIChzb21ldGhpbmcgbGlrZSBHSVRTX0JBU0VSX01BWCkuCj4gCj4gCj4+ICsg ICAgewo+PiArICAgICAgICB2b2lkIF9faW9tZW0gKmJhc2VyZWcgPSBod19pdHMtPml0c19iYXNl ICsgR0lUU19CQVNFUjAgKyBpICogODsKPj4gKyAgICAgICAgaW50IHR5cGU7Cj4+ICsKPj4gKyAg ICAgICAgcmVnID0gcmVhZHFfcmVsYXhlZChiYXNlcmVnKTsKPj4gKyAgICAgICAgdHlwZSA9IChy ZWcgPj4gNTYpICYgMHg3Owo+IAo+IFBsZWFzZSAjZGVmaW5lIDU2IGFuZCAweDcKPiAKPiAKPj4g KyAgICAgICAgc3dpdGNoICggdHlwZSApCj4+ICsgICAgICAgIHsKPj4gKyAgICAgICAgY2FzZSBH SVRTX0JBU0VSX1RZUEVfTk9ORToKPj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+PiArICAgICAg ICBjYXNlIEdJVFNfQkFTRVJfVFlQRV9ERVZJQ0U6Cj4+ICsgICAgICAgICAgICAvKiBUT0RPOiBm aW5kIHNvbWUgYmV0dGVyIHdheSBvZiBsaW1pdGluZyB0aGUgbnVtYmVyIG9mIGRldmljZXMgKi8K Pj4gKyAgICAgICAgICAgIGdpY3YzX21hcF9iYXNlcihiYXNlcmVnLCByZWcsIDEwMjQpOwo+IAo+ IEFuIGhhcmRjb2RlZCBtYXggdmFsdWUgbWlnaHQgYmUgT0ssIGJ1dCBwbGVhc2UgI2RlZmluZSBp dC4KPiAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=