From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V3 03/10] arm/gic-v3: Move GICR subtable parsing into a new function Date: Mon, 27 Jun 2016 15:33:35 -0500 Message-ID: <1467059622-14786-3-git-send-email-shankerd@codeaurora.org> References: <1467059622-14786-1-git-send-email-shankerd@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1467059622-14786-1-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: xen-devel , Julien Grall , Stefano Stabellini Cc: Philip Elcan , Shanker Donthineni , Vikram Sethi List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IGZ1bmN0aW9uIHRvIHBhcnNlIEdJQ1Igc3VidGFibGUgYW5kIG1vdmUgdGhlIGNv ZGUgdGhhdAppcyBzcGVjaWZpYyB0byBHSUNSIHRhYmxlIHRvIGEgbmV3IGZ1bmN0aW9uIHdpdGhv dXQgY2hhbmdpbmcgdGhlCmZ1bmN0aW9uIGdpY3YzX2FjcGlfaW5pdCgpIGJlaGF2aW9yLgoKU2ln bmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5pIDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4K LS0tCkNoYW5nZXMgc2luY2UgdjI6CiAgQ2hhbmdlZCBmdW5jdGlvbiBnaWNfYWNwaV9hZGRfcmRp c3RfcmVnaW9uKCkgcHJvdG95cGUuCiAgUmVtb3ZlZCB0aGUgYWRkcmVzcyB2YWxpZGF0aW9uIGNo ZWNrIGluIGdpY19hY3BpX3BhcnNlX21hZHRfcmVkaXN0cmlidXRvcigpLgogIEVkaXRlZCBjb21t aXQgdGV4dC4KCkNoYW5nZXMgc2luY2UgdjE6CiAgUmVtb3ZlZCB0aGUgdW5uZWNlc3NhcnkgR0lD UiBpb3JlbWFwIG9wZXJhdGlvbiBpbnNpZGUgR0lDUiB0YWJsZSBwYXJzZSBjb2RlLgoKCiB4ZW4v YXJjaC9hcm0vZ2ljLXYzLmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAyMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgYi94ZW4vYXJj aC9hcm0vZ2ljLXYzLmMKaW5kZXggMWY4ZmJjNC4uZWZkYjU2YiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gvYXJtL2dpYy12My5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMuYwpAQCAtMTI4Miw2ICsx MjgyLDE0IEBAIHN0YXRpYyBpbnQgZ2ljdjNfaW9tZW1fZGVueV9hY2Nlc3MoY29uc3Qgc3RydWN0 IGRvbWFpbiAqZCkKIH0KIAogI2lmZGVmIENPTkZJR19BQ1BJCitzdGF0aWMgdm9pZCBfX2luaXQg Z2ljX2FjcGlfYWRkX3JkaXN0X3JlZ2lvbihwYWRkcl90IGJhc2UsIHBhZGRyX3Qgc2l6ZSkKK3sK KyAgICB1bnNpZ25lZCBpbnQgaWR4ID0gZ2ljdjMucmRpc3RfY291bnQrKzsKKworICAgIGdpY3Yz LnJkaXN0X3JlZ2lvbnNbaWR4XS5iYXNlID0gYmFzZTsKKyAgICBnaWN2My5yZGlzdF9yZWdpb25z W2lkeF0uc2l6ZSA9IHNpemU7Cit9CisKIHN0YXRpYyBpbnQgZ2ljdjNfbWFrZV9od2RvbV9tYWR0 KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHUzMiBvZmZzZXQpCiB7CiAgICAgc3RydWN0IGFjcGlf c3VidGFibGVfaGVhZGVyICpoZWFkZXI7CkBAIC0xMzg3LDYgKzEzOTUsMjIgQEAgZ2ljX2FjcGlf cGFyc2VfbWFkdF9kaXN0cmlidXRvcihzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRl ciwKIAogICAgIHJldHVybiAwOwogfQorCitzdGF0aWMgaW50IF9faW5pdAorZ2ljX2FjcGlfcGFy c2VfbWFkdF9yZWRpc3RyaWJ1dG9yKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcg ZW5kKQoreworICAgIHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yICpyZGlz dDsKKworICAgIHJkaXN0ID0gKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9y ICopaGVhZGVyOworICAgIGlmICggQkFEX01BRFRfRU5UUlkocmRpc3QsIGVuZCkgKQorICAgICAg ICByZXR1cm4gLUVJTlZBTDsKKworICAgIGdpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24ocmRpc3Qt PmJhc2VfYWRkcmVzcywgcmRpc3QtPmxlbmd0aCk7CisKKyAgICByZXR1cm4gMDsKK30KKwogc3Rh dGljIGludCBfX2luaXQKIGdpY19hY3BpX2dldF9tYWR0X3JlZGlzdHJpYnV0b3JfbnVtKHN0cnVj dCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCkBAIC0xNDAwLDcgKzE0MjQsNyBA QCBnaWNfYWNwaV9nZXRfbWFkdF9yZWRpc3RyaWJ1dG9yX251bShzdHJ1Y3QgYWNwaV9zdWJ0YWJs ZV9oZWFkZXIgKmhlYWRlciwKIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9p ZCkKIHsKICAgICBzdHJ1Y3QgcmRpc3RfcmVnaW9uICpyZGlzdF9yZWdzOwotICAgIGludCBjb3Vu dCwgaTsKKyAgICBpbnQgY291bnQ7CiAKICAgICAvKgogICAgICAqIEZpbmQgZGlzdHJpYnV0b3Ig YmFzZSBhZGRyZXNzLiBXZSBleHBlY3Qgb25lIGRpc3RyaWJ1dG9yIGVudHJ5IHNpbmNlCkBAIC0x NDE5LDM3ICsxNDQzLDI1IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9p ZCkKICAgICBpZiAoIGNvdW50IDw9IDAgKQogICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlk IEdJQ1IgZW50cmllcyBleGlzdHMiKTsKIAotICAgIGdpY3YzLnJkaXN0X2NvdW50ID0gY291bnQ7 Ci0KLSAgICBpZiAoIGdpY3YzLnJkaXN0X2NvdW50ID4gTUFYX1JESVNUX0NPVU5UICkKKyAgICBp ZiAoIGNvdW50ID4gTUFYX1JESVNUX0NPVU5UICkKICAgICAgICAgcGFuaWMoIkdJQ3YzOiBOdW1i ZXIgb2YgcmVkaXN0cmlidXRvciByZWdpb25zIGlzIG1vcmUgdGhhbiIKICAgICAgICAgICAgICAg IiVkIChJbmNyZWFzZSBNQVhfUkRJU1RfQ09VTlQhISlcbiIsIE1BWF9SRElTVF9DT1VOVCk7CiAK LSAgICByZGlzdF9yZWdzID0geHphbGxvY19hcnJheShzdHJ1Y3QgcmRpc3RfcmVnaW9uLCBnaWN2 My5yZGlzdF9jb3VudCk7CisgICAgcmRpc3RfcmVncyA9IHh6YWxsb2NfYXJyYXkoc3RydWN0IHJk aXN0X3JlZ2lvbiwgY291bnQpOwogICAgIGlmICggIXJkaXN0X3JlZ3MgKQogICAgICAgICBwYW5p YygiR0lDdjM6IEZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHJkaXN0IHJlZ2lvbnNcbiIp OwogCi0gICAgZm9yICggaSA9IDA7IGkgPCBnaWN2My5yZGlzdF9jb3VudDsgaSsrICkKLSAgICB7 Ci0gICAgICAgIHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyOwotICAgICAgICBz dHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciAqZ2ljX3JkaXN0OwotCi0gICAg ICAgIGhlYWRlciA9IGFjcGlfdGFibGVfZ2V0X2VudHJ5X21hZHQoQUNQSV9NQURUX1RZUEVfR0VO RVJJQ19SRURJU1RSSUJVVE9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGkpOwotICAgICAgICBpZiAoICFoZWFkZXIgKQotICAgICAgICAgICAgcGFuaWMoIkdJ Q3YzOiBDYW4ndCBnZXQgR0lDUiBlbnRyeSIpOwotCi0gICAgICAgIGdpY19yZGlzdCA9Ci0gICAg ICAgICAgIGNvbnRhaW5lcl9vZihoZWFkZXIsIHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRp c3RyaWJ1dG9yLCBoZWFkZXIpOwotICAgICAgICByZGlzdF9yZWdzW2ldLmJhc2UgPSBnaWNfcmRp c3QtPmJhc2VfYWRkcmVzczsKLSAgICAgICAgcmRpc3RfcmVnc1tpXS5zaXplID0gZ2ljX3JkaXN0 LT5sZW5ndGg7Ci0gICAgfQorICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnMgPSByZGlzdF9yZWdzOwor CisgICAgLyogUGFyc2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBSZS1kaXN0cmlidXRvciBlbnRy aWVzICovCisgICAgY291bnQgPSBhY3BpX3RhYmxlX3BhcnNlX21hZHQoQUNQSV9NQURUX1RZUEVf R0VORVJJQ19SRURJU1RSSUJVVE9SLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdpY19hY3BpX3BhcnNlX21hZHRfcmVkaXN0cmlidXRvciwgY291bnQpOworICAgIGlmICggY291 bnQgPD0gMCApCisgICAgICAgIHBhbmljKCJHSUN2MzogQ2FuJ3QgZ2V0IFJlZGlzdHJpYnV0b3Ig ZW50cnkiKTsKIAogICAgIC8qIFRoZSB2R0lDIGNvZGUgcmVxdWlyZXMgdGhlIHJlZ2lvbiB0byBi ZSBzb3J0ZWQgKi8KICAgICBzb3J0KHJkaXN0X3JlZ3MsIGdpY3YzLnJkaXN0X2NvdW50LCBzaXpl b2YoKnJkaXN0X3JlZ3MpLCBjbXBfcmRpc3QsIE5VTEwpOwogCi0gICAgZ2ljdjMucmRpc3RfcmVn aW9ucz0gcmRpc3RfcmVnczsKLQogICAgIC8qIENvbGxlY3QgQ1BVIGJhc2UgYWRkcmVzc2VzICov CiAgICAgY291bnQgPSBhY3BpX3RhYmxlX3BhcnNlX21hZHQoQUNQSV9NQURUX1RZUEVfR0VORVJJ Q19JTlRFUlJVUFQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ljX2FjcGlf cGFyc2VfbWFkdF9jcHUsIDApOwotLSAKUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuIG9uIGJl aGFsZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiAKUXVhbGNvbW0gSW5ub3Zh dGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0sIAphIExp bnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK