From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH V2 03/10] arm/gic-v3: Fold GICR subtable parsing into a new function Date: Mon, 27 Jun 2016 12:26:59 +0100 Message-ID: <57710D83.6090001@arm.com> References: <1466963303-10850-1-git-send-email-shankerd@codeaurora.org> <1466963303-10850-4-git-send-email-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: <1466963303-10850-4-git-send-email-shankerd@codeaurora.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Shanker Donthineni , xen-devel , Stefano Stabellini Cc: Philip Elcan , Vikram Sethi List-Id: xen-devel@lists.xenproject.org SGkgU2hhbmtlciwKClRpdGxlOiBJIHRoaW5rIHlvdSB3YW50IHRvIHNheSAiTW92ZSBHSUNSLi4u IiByYXRoZXIgdGhhbiAiRm9sZCBHSUNSLi4uIi4KCk9uIDI2LzA2LzE2IDE4OjQ4LCBTaGFua2Vy IERvbnRoaW5lbmkgd3JvdGU6Cj4gQWRkIGEgbmV3IGZ1bmN0aW9uIGZvciBwYXJzaW5nIEdJQ1Ig c3VidGFibGUgYW5kIG1vdmUgdGhlIGNvZGUKCkFkZCBhIG5ldyBmdW5jdGlvbiB0byBwYXJzZSBH SUNSLi4uCgo+IHRoYXQgaXMgc3BlY2lmaWMgdG8gR0lDUiB0YWJsZSB0byBuZXcgZnVuY3Rpb24g d2l0aG91dCBjaGFuZ2luZwoKdG8gYSBuZXcgZnVuY3Rpb24KCj4gdGhlIGZ1bmN0aW9uIGdpY3Yz X2FjcGlfaW5pdCgpIGJlaGF2aW9yLgo+Cj4gU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGlu ZW5pIDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4KPiAtLS0KPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ ICAgIFJlbW92ZWQgdGhlIHVubmVjZXNzYXJ5IEdJQ1IgaW9yZW1hcCBvcGVyYXRpb24gaW5zaWRl IEdJQ1IgdGFibGUgcGFyc2UgY29kZS4KPgo+ICAgeGVuL2FyY2gvYXJtL2dpYy12My5jIHwgNjEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gICAx IGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4KPiBkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCj4g aW5kZXggNTQyYzRmMy4uMDQ3MWZlYSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYz LmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKPiBAQCAtMTI4Miw2ICsxMjgyLDE0IEBA IHN0YXRpYyBpbnQgZ2ljdjNfaW9tZW1fZGVueV9hY2Nlc3MoY29uc3Qgc3RydWN0IGRvbWFpbiAq ZCkKPiAgIH0KPgo+ICAgI2lmZGVmIENPTkZJR19BQ1BJCj4gK3N0YXRpYyB2b2lkIF9faW5pdCBn aWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHU2NCBiYXNlX2FkZHIsIHUzMiBzaXplKQoKUGxlYXNl IHVzZSBwYWRkcl90IGZvciBib3RoIHBhcmFtZXRlci4gQWxzbyB0aGUgc3VmZml4IF9hZGRyIGlz IHBvaW50bGVzcy4KCj4gK3sKPiArICAgIHVuc2lnbmVkIGludCBpZHggPSBnaWN2My5yZGlzdF9j b3VudCsrOwo+ICsKPiArICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4XS5iYXNlID0gYmFzZV9h ZGRyOwo+ICsgICAgZ2ljdjMucmRpc3RfcmVnaW9uc1tpZHhdLnNpemUgPSBzaXplOwo+ICt9Cj4g Kwo+ICAgc3RhdGljIGludCBnaWN2M19tYWtlX2h3ZG9tX21hZHQoY29uc3Qgc3RydWN0IGRvbWFp biAqZCwgdTMyIG9mZnNldCkKPiAgIHsKPiAgICAgICBzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFk ZXIgKmhlYWRlcjsKPiBAQCAtMTM4Nyw2ICsxMzk1LDI1IEBAIGdpY19hY3BpX3BhcnNlX21hZHRf ZGlzdHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCj4KPiAgICAg ICByZXR1cm4gMDsKPiAgIH0KPiArCj4gK3N0YXRpYyBpbnQgX19pbml0Cj4gK2dpY19hY3BpX3Bh cnNlX21hZHRfcmVkaXN0cmlidXRvcihzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRl ciwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxv bmcgZW5kKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRv ciAqcmRpc3Q7Cj4gKwo+ICsgICAgcmRpc3QgPSAoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3Jl ZGlzdHJpYnV0b3IgKiloZWFkZXI7Cj4gKyAgICBpZiAoIEJBRF9NQURUX0VOVFJZKHJkaXN0LCBl bmQpICkKPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAgICBpZiAoICFyZGlzdC0+ YmFzZV9hZGRyZXNzIHx8ICFyZGlzdC0+bGVuZ3RoICkKPiArICAgICAgICByZXR1cm4gLUVJTlZB TDsKCkluIHRoZSBjb21taXQgbWVzc2FnZSB5b3Ugc2FpZCB0aGF0IHRoZSBiZWhhdmlvciBpcyB1 bmNoYW5nZWQsIGhvd2V2ZXIgCnRoaXMgY2hlY2sgaXMgbm90IHBhcnQgb2YgdGhlIHByZXZpb3Vz IGNvZGUuCgpBbnl3YXksIEkgZG9uJ3QgdGhpbmsgdGhpcyBjaGVjayBpcyBuZWNlc3NhcnkuCgo+ ICsKPiArICAgIGdpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24ocmRpc3QtPmJhc2VfYWRkcmVzcywg cmRpc3QtPmxlbmd0aCk7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0aWMg aW50IF9faW5pdAo+ICAgZ2ljX2FjcGlfZ2V0X21hZHRfcmVkaXN0cmlidXRvcl9udW0oc3RydWN0 IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGVuZCkKPiBAQCAtMTQwMiw3ICsxNDI5 LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQo+ICAgICAgIHN0 cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGU7Cj4gICAgICAgc3RydWN0IHJkaXN0X3JlZ2lv biAqcmRpc3RfcmVnczsKPiAgICAgICBhY3BpX3N0YXR1cyBzdGF0dXM7Cj4gLSAgICBpbnQgY291 bnQsIGk7Cj4gKyAgICBpbnQgY291bnQ7Cj4KPiAgICAgICBzdGF0dXMgPSBhY3BpX2dldF90YWJs ZShBQ1BJX1NJR19NQURULCAwLCAmdGFibGUpOwo+Cj4gQEAgLTE0MzMsMzcgKzE0NjAsMjcgQEAg c3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQo+ICAgICAgIGlmICggY291 bnQgPD0gMCApCj4gICAgICAgICAgIHBhbmljKCJHSUN2MzogTm8gdmFsaWQgR0lDUiBlbnRyaWVz IGV4aXN0cyIpOwo+Cj4gLSAgICBnaWN2My5yZGlzdF9jb3VudCA9IGNvdW50Owo+IC0KPiAtICAg IGlmICggZ2ljdjMucmRpc3RfY291bnQgPiBNQVhfUkRJU1RfQ09VTlQgKQo+ICsgICAgaWYgKCBj b3VudCA+IE1BWF9SRElTVF9DT1VOVCApCj4gICAgICAgICAgIHBhbmljKCJHSUN2MzogTnVtYmVy IG9mIHJlZGlzdHJpYnV0b3IgcmVnaW9ucyBpcyBtb3JlIHRoYW4iCj4gICAgICAgICAgICAgICAg ICIlZCAoSW5jcmVhc2UgTUFYX1JESVNUX0NPVU5UISEpXG4iLCBNQVhfUkRJU1RfQ09VTlQpOwo+ Cj4gLSAgICByZGlzdF9yZWdzID0geHphbGxvY19hcnJheShzdHJ1Y3QgcmRpc3RfcmVnaW9uLCBn aWN2My5yZGlzdF9jb3VudCk7Cj4gKyAgICByZGlzdF9yZWdzID0geHphbGxvY19hcnJheShzdHJ1 Y3QgcmRpc3RfcmVnaW9uLCBjb3VudCk7Cj4gICAgICAgaWYgKCAhcmRpc3RfcmVncyApCj4gICAg ICAgICAgIHBhbmljKCJHSUN2MzogRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgcmRpc3Qg cmVnaW9uc1xuIik7Cj4KPiAtICAgIGZvciAoIGkgPSAwOyBpIDwgZ2ljdjMucmRpc3RfY291bnQ7 IGkrKyApCj4gLSAgICB7Cj4gLSAgICAgICAgc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpo ZWFkZXI7Cj4gLSAgICAgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3Ig KmdpY19yZGlzdDsKPiAtCj4gLSAgICAgICAgaGVhZGVyID0gYWNwaV90YWJsZV9nZXRfZW50cnlf bWFkdChBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1IsCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKTsKPiAtICAgICAgICBpZiAoICFoZWFk ZXIgKQo+IC0gICAgICAgICAgICBwYW5pYygiR0lDdjM6IENhbid0IGdldCBHSUNSIGVudHJ5Iik7 Cj4gLQo+IC0gICAgICAgIGdpY19yZGlzdCA9Cj4gLSAgICAgICAgICAgY29udGFpbmVyX29mKGhl YWRlciwgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IsIGhlYWRlcik7Cj4g LSAgICAgICAgcmRpc3RfcmVnc1tpXS5iYXNlID0gZ2ljX3JkaXN0LT5iYXNlX2FkZHJlc3M7Cj4g LSAgICAgICAgcmRpc3RfcmVnc1tpXS5zaXplID0gZ2ljX3JkaXN0LT5sZW5ndGg7Cj4gLSAgICB9 Cj4gKyAgICBnaWN2My5yZGlzdF9yZWdpb25zID0gcmRpc3RfcmVnczsKPiArCj4gKyAgICAvKiBQ YXJzZSBhbHdheXMtb24gcG93ZXIgZG9tYWluIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgKi8KPiAr ICAgIGNvdW50ID0gYWNwaV9wYXJzZV9lbnRyaWVzKEFDUElfU0lHX01BRFQsCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCksCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlz dHJpYnV0b3IsIHRhYmxlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSV9N QURUX1RZUEVfR0VORVJJQ19SRURJU1RSSUJVVE9SLCBjb3VudCk7CgpQbGVhc2UgdXNlIGFjcGlf dGFibGVfcGFyc2VfbWFkdCBoZXJlLgoKPiArICAgIGlmICggY291bnQgPD0gMCApCj4gKyAgICAg ICAgcGFuaWMoIkdJQ3YzOiBDYW4ndCBnZXQgUmVkaXN0cmlidXRvciBlbnRyeSIpOwo+Cj4gICAg ICAgLyogVGhlIHZHSUMgY29kZSByZXF1aXJlcyB0aGUgcmVnaW9uIHRvIGJlIHNvcnRlZCAqLwo+ ICAgICAgIHNvcnQocmRpc3RfcmVncywgZ2ljdjMucmRpc3RfY291bnQsIHNpemVvZigqcmRpc3Rf cmVncyksIGNtcF9yZGlzdCwgTlVMTCk7Cj4KPiAtICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnM9IHJk aXN0X3JlZ3M7Cj4gLQo+ICAgICAgIC8qIENvbGxlY3QgQ1BVIGJhc2UgYWRkcmVzc2VzICovCj4g ICAgICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwgc2l6ZW9mKHN0 cnVjdCBhY3BpX3RhYmxlX21hZHQpLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdpY19hY3BpX3BhcnNlX21hZHRfY3B1LCB0YWJsZSwKPgoKUmVnYXJkcywKCi0tIApKdWxpZW4g R3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==