From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: Re: [PATCH V2 03/10] arm/gic-v3: Fold GICR subtable parsing into a new function Date: Mon, 27 Jun 2016 08:50:40 -0500 Message-ID: <57712F30.4070306@codeaurora.org> References: <1466963303-10850-1-git-send-email-shankerd@codeaurora.org> <1466963303-10850-4-git-send-email-shankerd@codeaurora.org> <57710D83.6090001@arm.com> Reply-To: shankerd@codeaurora.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57710D83.6090001@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel , Stefano Stabellini Cc: Philip Elcan , Vikram Sethi List-Id: xen-devel@lists.xenproject.org CgpPbiAwNi8yNy8yMDE2IDA2OjI2IEFNLCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU2hhbmtl ciwKPgo+IFRpdGxlOiBJIHRoaW5rIHlvdSB3YW50IHRvIHNheSAiTW92ZSBHSUNSLi4uIiByYXRo ZXIgdGhhbiAiRm9sZCBHSUNSLi4uIi4KPgo+IE9uIDI2LzA2LzE2IDE4OjQ4LCBTaGFua2VyIERv bnRoaW5lbmkgd3JvdGU6Cj4+IEFkZCBhIG5ldyBmdW5jdGlvbiBmb3IgcGFyc2luZyBHSUNSIHN1 YnRhYmxlIGFuZCBtb3ZlIHRoZSBjb2RlCj4KPiBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gcGFyc2Ug R0lDUi4uLgo+Cj4+IHRoYXQgaXMgc3BlY2lmaWMgdG8gR0lDUiB0YWJsZSB0byBuZXcgZnVuY3Rp b24gd2l0aG91dCBjaGFuZ2luZwo+Cj4gdG8gYSBuZXcgZnVuY3Rpb24KPgo+PiB0aGUgZnVuY3Rp b24gZ2ljdjNfYWNwaV9pbml0KCkgYmVoYXZpb3IuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNoYW5r ZXIgRG9udGhpbmVuaSA8c2hhbmtlcmRAY29kZWF1cm9yYS5vcmc+Cj4+IC0tLQo+PiBDaGFuZ2Vz IHNpbmNlIHYxOgo+PiAgICBSZW1vdmVkIHRoZSB1bm5lY2Vzc2FyeSBHSUNSIGlvcmVtYXAgb3Bl cmF0aW9uIGluc2lkZSBHSUNSIHRhYmxlCj4gcGFyc2UgY29kZS4KPj4KPj4gICB4ZW4vYXJjaC9h cm0vZ2ljLXYzLmMgfCA2MQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyMiBk ZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjMuYyBiL3hl bi9hcmNoL2FybS9naWMtdjMuYwo+PiBpbmRleCA1NDJjNGYzLi4wNDcxZmVhIDEwMDY0NAo+PiAt LS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy12My5j Cj4+IEBAIC0xMjgyLDYgKzEyODIsMTQgQEAgc3RhdGljIGludCBnaWN2M19pb21lbV9kZW55X2Fj Y2Vzcyhjb25zdCBzdHJ1Y3QKPiBkb21haW4gKmQpCj4+ICAgfQo+Pgo+PiAgICNpZmRlZiBDT05G SUdfQUNQSQo+PiArc3RhdGljIHZvaWQgX19pbml0IGdpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24o dTY0IGJhc2VfYWRkciwgdTMyIHNpemUpCj4KPiBQbGVhc2UgdXNlIHBhZGRyX3QgZm9yIGJvdGgg cGFyYW1ldGVyLiBBbHNvIHRoZSBzdWZmaXggX2FkZHIgaXMgCj4gcG9pbnRsZXNzLgo+CgpJJ2xs IGZpeC4KPj4gK3sKPj4gKyAgICB1bnNpZ25lZCBpbnQgaWR4ID0gZ2ljdjMucmRpc3RfY291bnQr KzsKPj4gKwo+PiArICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4XS5iYXNlID0gYmFzZV9hZGRy Owo+PiArICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4XS5zaXplID0gc2l6ZTsKPj4gK30KPj4g Kwo+PiAgIHN0YXRpYyBpbnQgZ2ljdjNfbWFrZV9od2RvbV9tYWR0KGNvbnN0IHN0cnVjdCBkb21h aW4gKmQsIHUzMiBvZmZzZXQpCj4+ICAgewo+PiAgICAgICBzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9o ZWFkZXIgKmhlYWRlcjsKPj4gQEAgLTEzODcsNiArMTM5NSwyNSBAQCBnaWNfYWNwaV9wYXJzZV9t YWR0X2Rpc3RyaWJ1dG9yKHN0cnVjdAo+IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCj4+ Cj4+ICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4gKwo+PiArc3RhdGljIGludCBfX2luaXQKPj4g K2dpY19hY3BpX3BhcnNlX21hZHRfcmVkaXN0cmlidXRvcihzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9o ZWFkZXIgKmhlYWRlciwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCB1bnNpZ25lZCBsb25nIGVuZCkKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVy aWNfcmVkaXN0cmlidXRvciAqcmRpc3Q7Cj4+ICsKPj4gKyAgICByZGlzdCA9IChzdHJ1Y3QgYWNw aV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciAqKWhlYWRlcjsKPj4gKyAgICBpZiAoIEJBRF9N QURUX0VOVFJZKHJkaXN0LCBlbmQpICkKPj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsK Pj4gKyAgICBpZiAoICFyZGlzdC0+YmFzZV9hZGRyZXNzIHx8ICFyZGlzdC0+bGVuZ3RoICkKPj4g KyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4KPiBJbiB0aGUgY29tbWl0IG1lc3NhZ2UgeW91IHNh aWQgdGhhdCB0aGUgYmVoYXZpb3IgaXMgdW5jaGFuZ2VkLCBob3dldmVyIAo+IHRoaXMgY2hlY2sg aXMgbm90IHBhcnQgb2YgdGhlIHByZXZpb3VzIGNvZGUuCj4KPiBBbnl3YXksIEkgZG9uJ3QgdGhp bmsgdGhpcyBjaGVjayBpcyBuZWNlc3NhcnkuCj4KClN1cmUsIEknbGwgcmVtb3ZlIHRoZSB2YWxp ZGF0aW9uIGNoZWNrIGZyb20gaGVyZS4KCj4+ICsKPj4gKyAgICBnaWNfYWNwaV9hZGRfcmRpc3Rf cmVnaW9uKHJkaXN0LT5iYXNlX2FkZHJlc3MsIHJkaXN0LT5sZW5ndGgpOwo+PiArCj4+ICsgICAg cmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gICBzdGF0aWMgaW50IF9faW5pdAo+PiAgIGdpY19hY3Bp X2dldF9tYWR0X3JlZGlzdHJpYnV0b3JfbnVtKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlcgo+ ICpoZWFkZXIsCj4+IGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQo+PiBAQCAtMTQwMiw3ICsxNDI5 LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQo+PiAgICAgICBz dHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlOwo+PiAgICAgICBzdHJ1Y3QgcmRpc3RfcmVn aW9uICpyZGlzdF9yZWdzOwo+PiAgICAgICBhY3BpX3N0YXR1cyBzdGF0dXM7Cj4+IC0gICAgaW50 IGNvdW50LCBpOwo+PiArICAgIGludCBjb3VudDsKPj4KPj4gICAgICAgc3RhdHVzID0gYWNwaV9n ZXRfdGFibGUoQUNQSV9TSUdfTUFEVCwgMCwgJnRhYmxlKTsKPj4KPj4gQEAgLTE0MzMsMzcgKzE0 NjAsMjcgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQo+PiAgICAg ICBpZiAoIGNvdW50IDw9IDAgKQo+PiAgICAgICAgICAgcGFuaWMoIkdJQ3YzOiBObyB2YWxpZCBH SUNSIGVudHJpZXMgZXhpc3RzIik7Cj4+Cj4+IC0gICAgZ2ljdjMucmRpc3RfY291bnQgPSBjb3Vu dDsKPj4gLQo+PiAtICAgIGlmICggZ2ljdjMucmRpc3RfY291bnQgPiBNQVhfUkRJU1RfQ09VTlQg KQo+PiArICAgIGlmICggY291bnQgPiBNQVhfUkRJU1RfQ09VTlQgKQo+PiAgICAgICAgICAgcGFu aWMoIkdJQ3YzOiBOdW1iZXIgb2YgcmVkaXN0cmlidXRvciByZWdpb25zIGlzIG1vcmUgdGhhbiIK Pj4gICAgICAgICAgICAgICAgICIlZCAoSW5jcmVhc2UgTUFYX1JESVNUX0NPVU5UISEpXG4iLCBN QVhfUkRJU1RfQ09VTlQpOwo+Pgo+PiAtICAgIHJkaXN0X3JlZ3MgPSB4emFsbG9jX2FycmF5KHN0 cnVjdCByZGlzdF9yZWdpb24sIGdpY3YzLnJkaXN0X2NvdW50KTsKPj4gKyAgICByZGlzdF9yZWdz ID0geHphbGxvY19hcnJheShzdHJ1Y3QgcmRpc3RfcmVnaW9uLCBjb3VudCk7Cj4+ICAgICAgIGlm ICggIXJkaXN0X3JlZ3MgKQo+PiAgICAgICAgICAgcGFuaWMoIkdJQ3YzOiBGYWlsZWQgdG8gYWxs b2NhdGUgbWVtb3J5IGZvciByZGlzdCByZWdpb25zXG4iKTsKPj4KPj4gLSAgICBmb3IgKCBpID0g MDsgaSA8IGdpY3YzLnJkaXN0X2NvdW50OyBpKysgKQo+PiAtICAgIHsKPj4gLSAgICAgICAgc3Ry dWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXI7Cj4+IC0gICAgICAgIHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yICpnaWNfcmRpc3Q7Cj4+IC0KPj4gLSAgICAgICAg aGVhZGVyID0KPiBhY3BpX3RhYmxlX2dldF9lbnRyeV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVS SUNfUkVESVNUUklCVVRPUiwKPj4gLSBpKTsKPj4gLSAgICAgICAgaWYgKCAhaGVhZGVyICkKPj4g LSAgICAgICAgICAgIHBhbmljKCJHSUN2MzogQ2FuJ3QgZ2V0IEdJQ1IgZW50cnkiKTsKPj4gLQo+ PiAtICAgICAgICBnaWNfcmRpc3QgPQo+PiAtICAgICAgICAgICBjb250YWluZXJfb2YoaGVhZGVy LCBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciwKPiBoZWFkZXIpOwo+PiAt ICAgICAgICByZGlzdF9yZWdzW2ldLmJhc2UgPSBnaWNfcmRpc3QtPmJhc2VfYWRkcmVzczsKPj4g LSAgICAgICAgcmRpc3RfcmVnc1tpXS5zaXplID0gZ2ljX3JkaXN0LT5sZW5ndGg7Cj4+IC0gICAg fQo+PiArICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnMgPSByZGlzdF9yZWdzOwo+PiArCj4+ICsgICAg LyogUGFyc2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBSZS1kaXN0cmlidXRvciBlbnRyaWVzICov Cj4+ICsgICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFk dCksCj4+ICsgZ2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLAo+IHRhYmxlLAo+PiAr IEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiwKPiBjb3VudCk7Cj4KPiBQbGVh c2UgdXNlIGFjcGlfdGFibGVfcGFyc2VfbWFkdCBoZXJlLgo+CgpTdXJlLgoKPj4gKyAgICBpZiAo IGNvdW50IDw9IDAgKQo+PiArICAgICAgICBwYW5pYygiR0lDdjM6IENhbid0IGdldCBSZWRpc3Ry aWJ1dG9yIGVudHJ5Iik7Cj4+Cj4+ICAgICAgIC8qIFRoZSB2R0lDIGNvZGUgcmVxdWlyZXMgdGhl IHJlZ2lvbiB0byBiZSBzb3J0ZWQgKi8KPj4gICAgICAgc29ydChyZGlzdF9yZWdzLCBnaWN2My5y ZGlzdF9jb3VudCwgc2l6ZW9mKCpyZGlzdF9yZWdzKSwKPiBjbXBfcmRpc3QsIE5VTEwpOwo+Pgo+ PiAtICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnM9IHJkaXN0X3JlZ3M7Cj4+IC0KPj4gICAgICAgLyog Q29sbGVjdCBDUFUgYmFzZSBhZGRyZXNzZXMgKi8KPj4gICAgICAgY291bnQgPSBhY3BpX3BhcnNl X2VudHJpZXMoQUNQSV9TSUdfTUFEVCwgc2l6ZW9mKHN0cnVjdAo+IGFjcGlfdGFibGVfbWFkdCks Cj4+IGdpY19hY3BpX3BhcnNlX21hZHRfY3B1LCB0YWJsZSwKPj4KPgo+IFJlZ2FyZHMsCj4KCi0t IApTaGFua2VyIERvbnRoaW5lbmkKUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuIG9uIGJlaGFs ZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLgpRdWFsY29tbSBJbm5vdmF0aW9u IENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwgYSBMaW51eCBG b3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==