From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v5 03/30] ARM: GICv3 ITS: parse and store ITS subnodes from hardware DT Date: Wed, 5 Apr 2017 16:26:34 -0700 (PDT) Message-ID: References: <1491434362-30310-1-git-send-email-andre.przywara@arm.com> <1491434362-30310-4-git-send-email-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 1cvuK1-0008Mu-M0 for xen-devel@lists.xenproject.org; Wed, 05 Apr 2017 23:26:41 +0000 In-Reply-To: <1491434362-30310-4-git-send-email-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 T24gVGh1LCA2IEFwciAyMDE3LCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPiBQYXJzZSB0aGUgR0lD IHN1Ym5vZGVzIGluIHRoZSBkZXZpY2UgdHJlZSB0byBmaW5kIGV2ZXJ5IElUUyBNU0kgY29udHJv bGxlcgo+IHRoZSBoYXJkd2FyZSBvZmZlcnMuIFN0b3JlIHRoYXQgaW5mb3JtYXRpb24gaW4gYSBs aXN0IHRvIGJvdGggcHJvcGFnYXRlCj4gYWxsIG9mIHRoZW0gbGF0ZXIgdG8gRG9tMCwgYnV0IGFs c28gdG8gYmUgYWJsZSB0byBpdGVyYXRlIG92ZXIgYWxsIElUU2VzLgo+IFRoaXMgaW50cm9kdWNl cyBhbiBJVFMgS2NvbmZpZyBvcHRpb24gKGFzIGFuIEVYUEVSVCBvcHRpb24pLCB1c2UKPiBYRU5f Q09ORklHX0VYUEVSVD15IG9uIHRoZSBtYWtlIGNvbW1hbmQgbGluZSB0byBzZWUgYW5kIHVzZSB0 aGUgb3B0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5 d2FyYUBhcm0uY29tPgo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICAgICB8 ICA1ICsrKwo+ICB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgICAgICB8ICAxICsKPiAgeGVu L2FyY2gvYXJtL2dpYy12My1pdHMuYyAgICAgICAgfCA3NyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIHhlbi9hcmNoL2FybS9naWMtdjMuYyAgICAgICAgICAgIHwg MTAgKysrLS0tCj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oIHwgNjcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gv YXJtL2dpYy12My1pdHMuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvYXNtLWFy bS9naWNfdjNfaXRzLmgKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94 ZW4vYXJjaC9hcm0vS2NvbmZpZwo+IGluZGV4IDQzMTIzZTYuLmQ0NmI5OGMgMTAwNjQ0Cj4gLS0t IGEveGVuL2FyY2gvYXJtL0tjb25maWcKPiArKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwo+IEBA IC00NSw2ICs0NSwxMSBAQCBjb25maWcgQUNQSQo+ICBjb25maWcgSEFTX0dJQ1YzCj4gIAlib29s Cj4gIAo+ICtjb25maWcgSEFTX0lUUwo+ICsgICAgICAgIGJvb2wKPiArICAgICAgICBwcm9tcHQg IkdJQ3YzIElUUyBNU0kgY29udHJvbGxlciBzdXBwb3J0IiBpZiBFWFBFUlQgPSAieSIKPiArICAg ICAgICBkZXBlbmRzIG9uIEhBU19HSUNWMwo+ICsKPiAgZW5kbWVudQo+ICAKPiAgbWVudSAiQVJN IGVycmF0YSB3b3JrYXJvdW5kIHZpYSB0aGUgYWx0ZXJuYXRpdmUgZnJhbWV3b3JrIgo+IGRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKPiBp bmRleCAwY2U5NGE4Li4zOWMwYTAzIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9NYWtlZmls ZQo+ICsrKyBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+IEBAIC0xOCw2ICsxOCw3IEBAIG9iai0k KEVBUkxZX1BSSU5USykgKz0gZWFybHlfcHJpbnRrLm8KPiAgb2JqLXkgKz0gZ2ljLm8KPiAgb2Jq LXkgKz0gZ2ljLXYyLm8KPiAgb2JqLSQoQ09ORklHX0hBU19HSUNWMykgKz0gZ2ljLXYzLm8KPiAr b2JqLSQoQ09ORklHX0hBU19JVFMpICs9IGdpYy12My1pdHMubwo+ICBvYmoteSArPSBndWVzdGNv cHkubwo+ICBvYmoteSArPSBodm0ubwo+ICBvYmoteSArPSBpby5vCj4gZGlmZiAtLWdpdCBhL3hl bi9hcmNoL2FybS9naWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi42YjAyMzQ5Cj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiBAQCAtMCwwICsxLDc3IEBACj4g Ky8qCj4gKyAqIHhlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiArICoKPiArICogQVJNIEdJQ3Yz IEludGVycnVwdCBUcmFuc2xhdGlvbiBTZXJ2aWNlIChJVFMpIHN1cHBvcnQKPiArICoKPiArICog Q29weXJpZ2h0IChDKSAyMDE2LDIwMTcgLSBBUk0gTHRkCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 Cj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Cj4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHVu ZGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gKyAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiArICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KPiArICoKPiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiArICogYWxvbmcgd2l0aCB0aGlzIHByb2dy YW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KPiArICovCj4g Kwo+ICsjaW5jbHVkZSA8eGVuL2xpYi5oPgo+ICsjaW5jbHVkZSA8YXNtL2dpY192M19kZWZzLmg+ Cj4gKyNpbmNsdWRlIDxhc20vZ2ljX3YzX2l0cy5oPgo+ICsKPiArLyoKPiArICogTm8gbG9jayBo ZXJlLCBhcyB0aGlzIGxpc3QgZ2V0cyBvbmx5IHBvcHVsYXRlZCB1cG9uIGJvb3Qgd2hpbGUgc2Nh bm5pbmcKPiArICogZmlybXdhcmUgdGFibGVzIGZvciBhbGwgaG9zdCBJVFNlcywgYW5kIG9ubHkg Z2V0cyBpdGVyYXRlZCBhZnRlcndhcmRzLgo+ICsgKi8KPiArTElTVF9IRUFEKGhvc3RfaXRzX2xp c3QpOwo+ICsKPiArYm9vbCBnaWN2M19pdHNfaG9zdF9oYXNfaXRzKHZvaWQpCj4gK3sKPiArICAg IHJldHVybiAhbGlzdF9lbXB0eSgmaG9zdF9pdHNfbGlzdCk7Cj4gK30KPiArCj4gKy8qIFNjYW4g dGhlIERUIGZvciBhbnkgSVRTIG5vZGVzIGFuZCBjcmVhdGUgYSBsaXN0IG9mIGhvc3QgSVRTZXMg b3V0IG9mIGl0LiAqLwo+ICt2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9k ZXZpY2Vfbm9kZSAqbm9kZSkKPiArewo+ICsgICAgY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2Rl ICppdHMgPSBOVUxMOwo+ICsgICAgc3RydWN0IGhvc3RfaXRzICppdHNfZGF0YTsKPiArCj4gKyAg ICAvKgo+ICsgICAgICogQ2hlY2sgZm9yIElUUyBNU0kgc3Vibm9kZXMuIElmIGFueSwgYWRkIHRo ZSBJVFMgcmVnaXN0ZXIKPiArICAgICAqIGZyYW1lcyB0byB0aGUgSVRTIGxpc3QuCj4gKyAgICAg Ki8KPiArICAgIGR0X2Zvcl9lYWNoX2NoaWxkX25vZGUobm9kZSwgaXRzKQo+ICsgICAgewo+ICsg ICAgICAgIHVpbnQ2NF90IGFkZHIsIHNpemU7Cj4gKwo+ICsgICAgICAgIGlmICggIWR0X2Rldmlj ZV9pc19jb21wYXRpYmxlKGl0cywgImFybSxnaWMtdjMtaXRzIikgKQo+ICsgICAgICAgICAgICBj b250aW51ZTsKPiArCj4gKyAgICAgICAgaWYgKCBkdF9kZXZpY2VfZ2V0X2FkZHJlc3MoaXRzLCAw LCAmYWRkciwgJnNpemUpICkKPiArICAgICAgICAgICAgcGFuaWMoIkdJQ3YzOiBDYW5ub3QgZmlu ZCBhIHZhbGlkIElUUyBmcmFtZSBhZGRyZXNzIik7Cj4gKwo+ICsgICAgICAgIGl0c19kYXRhID0g eHphbGxvYyhzdHJ1Y3QgaG9zdF9pdHMpOwo+ICsgICAgICAgIGlmICggIWl0c19kYXRhICkKPiAr ICAgICAgICAgICAgcGFuaWMoIkdJQ3YzOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBJVFMg ZnJhbWUiKTsKPiArCj4gKyAgICAgICAgaXRzX2RhdGEtPmFkZHIgPSBhZGRyOwo+ICsgICAgICAg IGl0c19kYXRhLT5zaXplID0gc2l6ZTsKPiArICAgICAgICBpdHNfZGF0YS0+ZHRfbm9kZSA9IGl0 czsKPiArCj4gKyAgICAgICAgcHJpbnRrKCJHSUN2MzogRm91bmQgSVRTIEAweCVseFxuIiwgYWRk cik7Cj4gKwo+ICsgICAgICAgIGxpc3RfYWRkX3RhaWwoJml0c19kYXRhLT5lbnRyeSwgJmhvc3Rf aXRzX2xpc3QpOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICsvKgo+ICsgKiBMb2NhbCB2YXJpYWJsZXM6 Cj4gKyAqIG1vZGU6IEMKPiArICogYy1maWxlLXN0eWxlOiAiQlNEIgo+ICsgKiBjLWJhc2ljLW9m ZnNldDogNAo+ICsgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKPiArICogRW5kOgo+ICsgKi8KPiBk aWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5j Cj4gaW5kZXggNjk1ZjAxZi4uYjYyNjI5OCAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2lj LXYzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPiBAQCAtNDIsNiArNDIsNyBAQAo+ ICAjaW5jbHVkZSA8YXNtL2RldmljZS5oPgo+ICAjaW5jbHVkZSA8YXNtL2dpYy5oPgo+ICAjaW5j bHVkZSA8YXNtL2dpY192M19kZWZzLmg+Cj4gKyNpbmNsdWRlIDxhc20vZ2ljX3YzX2l0cy5oPgo+ ICAjaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KPiAgI2luY2x1ZGUgPGFzbS9hY3BpLmg+Cj4g IAo+IEBAIC0xMjI3LDExICsxMjI4LDEyIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19kdF9p bml0KHZvaWQpCj4gICAgICAgKi8KPiAgICAgIHJlcyA9IGR0X2RldmljZV9nZXRfYWRkcmVzcyhu b2RlLCAxICsgZ2ljdjMucmRpc3RfY291bnQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmNiYXNlLCAmY3NpemUpOwo+IC0gICAgaWYgKCByZXMgKQo+IC0gICAgICAgIHJldHVy bjsKPiArICAgIGlmICggIXJlcyApCj4gKyAgICAgICAgZHRfZGV2aWNlX2dldF9hZGRyZXNzKG5v ZGUsIDEgKyBnaWN2My5yZGlzdF9jb3VudCArIDIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZ2YmFzZSwgJnZzaXplKTsKPiAgCj4gLSAgICBkdF9kZXZpY2VfZ2V0X2FkZHJlc3Mo bm9kZSwgMSArIGdpY3YzLnJkaXN0X2NvdW50ICsgMiwKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAmdmJhc2UsICZ2c2l6ZSk7Cj4gKyAgICAvKiBDaGVjayBmb3IgSVRTIGNoaWxkIG5vZGVz IGFuZCBidWlsZCB0aGUgaG9zdCBJVFMgbGlzdCBhY2NvcmRpbmdseS4gKi8KPiArICAgIGdpY3Yz X2l0c19kdF9pbml0KG5vZGUpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGdpY3YzX2lvbWVtX2Rl bnlfYWNjZXNzKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRz LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjc2NWE2NTUKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKPiBAQCAt MCwwICsxLDY3IEBACj4gKy8qCj4gKyAqIEFSTSBHSUN2MyBJVFMgc3VwcG9ydAo+ICsgKgo+ICsg KiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPiArICogQ29weXJpZ2h0 IChjKSAyMDE2LDIwMTcgQVJNIEx0ZC4KPiArICoKPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiArICogaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdW5kZXIgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQo+ICsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsgKi8KPiArCj4gKyNpZm5k ZWYgX19BU01fQVJNX0lUU19IX18KPiArI2RlZmluZSBfX0FTTV9BUk1fSVRTX0hfXwo+ICsKPiAr I2luY2x1ZGUgPHhlbi9kZXZpY2VfdHJlZS5oPgo+ICsKPiArLyogZGF0YSBzdHJ1Y3R1cmUgZm9y IGVhY2ggaGFyZHdhcmUgSVRTICovCj4gK3N0cnVjdCBob3N0X2l0cyB7Cj4gKyAgICBzdHJ1Y3Qg bGlzdF9oZWFkIGVudHJ5Owo+ICsgICAgY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpkdF9u b2RlOwo+ICsgICAgcGFkZHJfdCBhZGRyOwo+ICsgICAgcGFkZHJfdCBzaXplOwo+ICt9Owo+ICsK PiArCj4gKyNpZmRlZiBDT05GSUdfSEFTX0lUUwo+ICsKPiArZXh0ZXJuIHN0cnVjdCBsaXN0X2hl YWQgaG9zdF9pdHNfbGlzdDsKPiArCj4gKy8qIFBhcnNlIHRoZSBob3N0IERUIGFuZCBwaWNrIHVw IGFsbCBob3N0IElUU2VzLiAqLwo+ICt2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVj dCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSk7Cj4gKwo+ICtib29sIGdpY3YzX2l0c19ob3N0X2hhc19p dHModm9pZCk7Cj4gKwo+ICsjZWxzZQo+ICsKPiArc3RhdGljIExJU1RfSEVBRChob3N0X2l0c19s aXN0KTsKClRoaXMgaXMgYSBwcm9ibGVtCgoKPiArc3RhdGljIGlubGluZSB2b2lkIGdpY3YzX2l0 c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKPiArewo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgZ2ljdjNfaXRzX2hvc3RfaGFzX2l0cyh2b2lkKQo+ICt7 Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKyNlbmRpZiAvKiBDT05GSUdfSEFTX0lU UyAqLwo+ICsKPiArI2VuZGlmCj4gKwo+ICsvKgo+ICsgKiBMb2NhbCB2YXJpYWJsZXM6Cj4gKyAq IG1vZGU6IEMKPiArICogYy1maWxlLXN0eWxlOiAiQlNEIgo+ICsgKiBjLWJhc2ljLW9mZnNldDog NAo+ICsgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKPiArICogRW5kOgo+ICsgKi8KPiAtLSAKPiAy LjguMgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==