From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v3 01/26] ARM: GICv3 ITS: parse and store ITS subnodes from hardware DT Date: Fri, 31 Mar 2017 16:08:23 -0700 (PDT) Message-ID: References: <20170331180525.30038-1-andre.przywara@arm.com> <20170331180525.30038-2-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 1cu5eg-0006aF-EC for xen-devel@lists.xenproject.org; Fri, 31 Mar 2017 23:08:30 +0000 In-Reply-To: <20170331180525.30038-2-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara Cc: xen-devel@lists.xenproject.org, Julien Grall , Stefano Stabellini , Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org T24gRnJpLCAzMSBNYXIgMjAxNywgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gUGFyc2UgdGhlIERU IEdJQyBzdWJub2RlcyB0byBmaW5kIGV2ZXJ5IElUUyBNU0kgY29udHJvbGxlciB0aGUgaGFyZHdh cmUKPiBvZmZlcnMuIFN0b3JlIHRoYXQgaW5mb3JtYXRpb24gaW4gYSBsaXN0IHRvIGJvdGggcHJv cGFnYXRlIGFsbCBvZiB0aGVtCj4gbGF0ZXIgdG8gRG9tMCwgYnV0IGFsc28gdG8gYmUgYWJsZSB0 byBpdGVyYXRlIG92ZXIgYWxsIElUU2VzLgo+IFRoaXMgaW50cm9kdWNlcyBhbiBJVFMgS2NvbmZp ZyBvcHRpb24uCj4gCj4gU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3 YXJhQGFybS5jb20+Cj4gLS0tCj4gIHhlbi9hcmNoL2FybS9LY29uZmlnICAgICAgICAgICAgIHwg IDQgKysrCj4gIHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAgIHwgIDEgKwo+ICB4ZW4v YXJjaC9hcm0vZ2ljLXYzLWl0cy5jICAgICAgICB8IDczICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAgICAgfCAx MCArKystLS0KPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmggfCA2NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNo L2FybS9naWMtdjMtaXRzLmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS1h cm0vZ2ljX3YzX2l0cy5oCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIv eGVuL2FyY2gvYXJtL0tjb25maWcKPiBpbmRleCAyZTAyM2QxLi5iZjY0YzYxIDEwMDY0NAo+IC0t LSBhL3hlbi9hcmNoL2FybS9LY29uZmlnCj4gKysrIGIveGVuL2FyY2gvYXJtL0tjb25maWcKPiBA QCAtNDUsNiArNDUsMTAgQEAgY29uZmlnIEFDUEkKPiAgY29uZmlnIEhBU19HSUNWMwo+ICAJYm9v bAo+ICAKPiArY29uZmlnIEhBU19JVFMKPiArICAgICAgICBib29sICJHSUN2MyBJVFMgTVNJIGNv bnRyb2xsZXIgc3VwcG9ydCIKPiArICAgICAgICBkZXBlbmRzIG9uIEhBU19HSUNWMwo+ICsKPiAg ZW5kbWVudQoKbmVlZHMgZGVwZW5kZW5jeSBvbiBFWFBFUlQKCgo+ICBtZW51ICJBUk0gZXJyYXRh IHdvcmthcm91bmQgdmlhIHRoZSBhbHRlcm5hdGl2ZSBmcmFtZXdvcmsiCj4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+IGluZGV4IDdh ZmI4YTMuLjU0ODYwZTAgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCj4gKysr IGIveGVuL2FyY2gvYXJtL01ha2VmaWxlCj4gQEAgLTE4LDYgKzE4LDcgQEAgb2JqLSQoRUFSTFlf UFJJTlRLKSArPSBlYXJseV9wcmludGsubwo+ICBvYmoteSArPSBnaWMubwo+ICBvYmoteSArPSBn aWMtdjIubwo+ICBvYmotJChDT05GSUdfSEFTX0dJQ1YzKSArPSBnaWMtdjMubwo+ICtvYmotJChD T05GSUdfSEFTX0lUUykgKz0gZ2ljLXYzLWl0cy5vCj4gIG9iai15ICs9IGd1ZXN0Y29weS5vCj4g IG9iai15ICs9IGh2bS5vCj4gIG9iai15ICs9IGlvLm8KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL2dpYy12My1pdHMuYyBiL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjQwNTZlNWIKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwo+IEBAIC0wLDAgKzEsNzMgQEAKPiArLyoKPiAr ICogeGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwo+ICsgKgo+ICsgKiBBUk0gR0lDdjMgSW50ZXJy dXB0IFRyYW5zbGF0aW9uIFNlcnZpY2UgKElUUykgc3VwcG9ydAo+ICsgKgo+ICsgKiBDb3B5cmln aHQgKEMpIDIwMTYsMjAxNyAtIEFSTSBMdGQKPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiArICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdW5kZXIgdmVy c2lvbiAyIG9mIHRoZSBMaWNlbnNlLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAr ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+ICsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsgKi8KPiArCj4gKyNp bmNsdWRlIDx4ZW4vbGliLmg+Cj4gKyNpbmNsdWRlIDxhc20vZ2ljX3YzX2RlZnMuaD4KPiArI2lu Y2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+Cj4gKwo+ICtMSVNUX0hFQUQoaG9zdF9pdHNfbGlzdCk7 Cj4gKwo+ICtib29sIGdpY3YzX2l0c19ob3N0X2hhc19pdHModm9pZCkKPiArewo+ICsgICAgcmV0 dXJuICFsaXN0X2VtcHR5KCZob3N0X2l0c19saXN0KTsKPiArfQo+ICsKPiArLyogU2NhbiB0aGUg RFQgZm9yIGFueSBJVFMgbm9kZXMgYW5kIGNyZWF0ZSBhIGxpc3Qgb2YgaG9zdCBJVFNlcyBvdXQg b2YgaXQuICovCj4gK3ZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qgc3RydWN0IGR0X2Rldmlj ZV9ub2RlICpub2RlKQo+ICt7Cj4gKyAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKml0 cyA9IE5VTEw7Cj4gKyAgICBzdHJ1Y3QgaG9zdF9pdHMgKml0c19kYXRhOwo+ICsKPiArICAgIC8q Cj4gKyAgICAgKiBDaGVjayBmb3IgSVRTIE1TSSBzdWJub2Rlcy4gSWYgYW55LCBhZGQgdGhlIElU UyByZWdpc3Rlcgo+ICsgICAgICogZnJhbWVzIHRvIHRoZSBJVFMgbGlzdC4KPiArICAgICAqLwo+ ICsgICAgZHRfZm9yX2VhY2hfY2hpbGRfbm9kZShub2RlLCBpdHMpCj4gKyAgICB7Cj4gKyAgICAg ICAgdWludDY0X3QgYWRkciwgc2l6ZTsKPiArCj4gKyAgICAgICAgaWYgKCAhZHRfZGV2aWNlX2lz X2NvbXBhdGlibGUoaXRzLCAiYXJtLGdpYy12My1pdHMiKSApCj4gKyAgICAgICAgICAgIGNvbnRp bnVlOwo+ICsKPiArICAgICAgICBpZiAoIGR0X2RldmljZV9nZXRfYWRkcmVzcyhpdHMsIDAsICZh ZGRyLCAmc2l6ZSkgKQo+ICsgICAgICAgICAgICBwYW5pYygiR0lDdjM6IENhbm5vdCBmaW5kIGEg dmFsaWQgSVRTIGZyYW1lIGFkZHJlc3MiKTsKPiArCj4gKyAgICAgICAgaXRzX2RhdGEgPSB4emFs bG9jKHN0cnVjdCBob3N0X2l0cyk7Cj4gKyAgICAgICAgaWYgKCAhaXRzX2RhdGEgKQo+ICsgICAg ICAgICAgICBwYW5pYygiR0lDdjM6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIElUUyBmcmFt ZSIpOwo+ICsKPiArICAgICAgICBpdHNfZGF0YS0+YWRkciA9IGFkZHI7Cj4gKyAgICAgICAgaXRz X2RhdGEtPnNpemUgPSBzaXplOwo+ICsgICAgICAgIGl0c19kYXRhLT5kdF9ub2RlID0gaXRzOwo+ ICsKPiArICAgICAgICBwcmludGsoIkdJQ3YzOiBGb3VuZCBJVFMgQDB4JWx4XG4iLCBhZGRyKTsK PiArCj4gKyAgICAgICAgbGlzdF9hZGRfdGFpbCgmaXRzX2RhdGEtPmVudHJ5LCAmaG9zdF9pdHNf bGlzdCk7Cj4gKyAgICB9Cj4gK30KPiArCj4gKy8qCj4gKyAqIExvY2FsIHZhcmlhYmxlczoKPiAr ICogbW9kZTogQwo+ICsgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCj4gKyAqIGMtYmFzaWMtb2Zmc2V0 OiA0Cj4gKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAo+ICsgKiBFbmQ6Cj4gKyAqLwo+IGRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPiBp bmRleCA5NTU1OTFiLi4xNTEyNTIxIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMu Ywo+ICsrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMuYwo+IEBAIC00Myw2ICs0Myw3IEBACj4gICNp bmNsdWRlIDxhc20vZGV2aWNlLmg+Cj4gICNpbmNsdWRlIDxhc20vZ2ljLmg+Cj4gICNpbmNsdWRl IDxhc20vZ2ljX3YzX2RlZnMuaD4KPiArI2luY2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+Cj4gICNp bmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgo+ICAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KPiAgCj4g QEAgLTEyMjgsMTEgKzEyMjksMTIgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2R0X2luaXQo dm9pZCkKPiAgICAgICAqLwo+ICAgICAgcmVzID0gZHRfZGV2aWNlX2dldF9hZGRyZXNzKG5vZGUs IDEgKyBnaWN2My5yZGlzdF9jb3VudCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmY2Jhc2UsICZjc2l6ZSk7Cj4gLSAgICBpZiAoIHJlcyApCj4gLSAgICAgICAgcmV0dXJuOwo+ ICsgICAgaWYgKCAhcmVzICkKPiArICAgICAgICBkdF9kZXZpY2VfZ2V0X2FkZHJlc3Mobm9kZSwg MSArIGdpY3YzLnJkaXN0X2NvdW50ICsgMiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJnZiYXNlLCAmdnNpemUpOwo+ICAKPiAtICAgIGR0X2RldmljZV9nZXRfYWRkcmVzcyhub2Rl LCAxICsgZ2ljdjMucmRpc3RfY291bnQgKyAyLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICZ2YmFzZSwgJnZzaXplKTsKPiArICAgIC8qIENoZWNrIGZvciBJVFMgY2hpbGQgbm9kZXMgYW5k IGJ1aWxkIHRoZSBob3N0IElUUyBsaXN0IGFjY29yZGluZ2x5LiAqLwo+ICsgICAgZ2ljdjNfaXRz X2R0X2luaXQobm9kZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgZ2ljdjNfaW9tZW1fZGVueV9h Y2Nlc3MoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLWFybS9naWNfdjNfaXRzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNzY1YTY1NQo+IC0tLSAvZGV2 L251bGwKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAo+IEBAIC0wLDAg KzEsNjcgQEAKPiArLyoKPiArICogQVJNIEdJQ3YzIElUUyBzdXBwb3J0Cj4gKyAqCj4gKyAqIEFu ZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+ICsgKiBDb3B5cmlnaHQgKGMp IDIwMTYsMjAxNyBBUk0gTHRkLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ICsgKiBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQo+ICsgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB1bmRlciB2ZXJzaW9uIDIg b2YgdGhlIExpY2Vuc2UuCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKyAq Cj4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCj4gKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBf X0FTTV9BUk1fSVRTX0hfXwo+ICsjZGVmaW5lIF9fQVNNX0FSTV9JVFNfSF9fCj4gKwo+ICsjaW5j bHVkZSA8eGVuL2RldmljZV90cmVlLmg+Cj4gKwo+ICsvKiBkYXRhIHN0cnVjdHVyZSBmb3IgZWFj aCBoYXJkd2FyZSBJVFMgKi8KPiArc3RydWN0IGhvc3RfaXRzIHsKPiArICAgIHN0cnVjdCBsaXN0 X2hlYWQgZW50cnk7Cj4gKyAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmR0X25vZGU7 Cj4gKyAgICBwYWRkcl90IGFkZHI7Cj4gKyAgICBwYWRkcl90IHNpemU7Cj4gK307Cj4gKwo+ICsK PiArI2lmZGVmIENPTkZJR19IQVNfSVRTCj4gKwo+ICtleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBo b3N0X2l0c19saXN0Owo+ICsKPiArLyogUGFyc2UgdGhlIGhvc3QgRFQgYW5kIHBpY2sgdXAgYWxs IGhvc3QgSVRTZXMuICovCj4gK3ZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qgc3RydWN0IGR0 X2RldmljZV9ub2RlICpub2RlKTsKPiArCj4gK2Jvb2wgZ2ljdjNfaXRzX2hvc3RfaGFzX2l0cyh2 b2lkKTsKPiArCj4gKyNlbHNlCj4gKwo+ICtzdGF0aWMgTElTVF9IRUFEKGhvc3RfaXRzX2xpc3Qp Owo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVj dCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKPiArewo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJv b2wgZ2ljdjNfaXRzX2hvc3RfaGFzX2l0cyh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7 Cj4gK30KPiArCj4gKyNlbmRpZiAvKiBDT05GSUdfSEFTX0lUUyAqLwo+ICsKPiArI2VuZGlmCj4g Kwo+ICsvKgo+ICsgKiBMb2NhbCB2YXJpYWJsZXM6Cj4gKyAqIG1vZGU6IEMKPiArICogYy1maWxl LXN0eWxlOiAiQlNEIgo+ICsgKiBjLWJhc2ljLW9mZnNldDogNAo+ICsgKiBpbmRlbnQtdGFicy1t b2RlOiBuaWwKPiArICogRW5kOgo+ICsgKi8KPiAtLSAKPiAyLjkuMAo+IAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==