From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V2 03/10] arm/gic-v3: Fold GICR subtable parsing into a new function Date: Sun, 26 Jun 2016 12:48:16 -0500 Message-ID: <1466963303-10850-4-git-send-email-shankerd@codeaurora.org> References: <1466963303-10850-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: <1466963303-10850-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 QWRkIGEgbmV3IGZ1bmN0aW9uIGZvciBwYXJzaW5nIEdJQ1Igc3VidGFibGUgYW5kIG1vdmUgdGhl IGNvZGUKdGhhdCBpcyBzcGVjaWZpYyB0byBHSUNSIHRhYmxlIHRvIG5ldyBmdW5jdGlvbiB3aXRo b3V0IGNoYW5naW5nCnRoZSBmdW5jdGlvbiBnaWN2M19hY3BpX2luaXQoKSBiZWhhdmlvci4KClNp Z25lZC1vZmYtYnk6IFNoYW5rZXIgRG9udGhpbmVuaSA8c2hhbmtlcmRAY29kZWF1cm9yYS5vcmc+ Ci0tLQpDaGFuZ2VzIHNpbmNlIHYxOgogIFJlbW92ZWQgdGhlIHVubmVjZXNzYXJ5IEdJQ1IgaW9y ZW1hcCBvcGVyYXRpb24gaW5zaWRlIEdJQ1IgdGFibGUgcGFyc2UgY29kZS4KCiB4ZW4vYXJjaC9h cm0vZ2ljLXYzLmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0v Z2ljLXYzLmMKaW5kZXggNTQyYzRmMy4uMDQ3MWZlYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJt L2dpYy12My5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMuYwpAQCAtMTI4Miw2ICsxMjgyLDE0 IEBAIHN0YXRpYyBpbnQgZ2ljdjNfaW9tZW1fZGVueV9hY2Nlc3MoY29uc3Qgc3RydWN0IGRvbWFp biAqZCkKIH0KIAogI2lmZGVmIENPTkZJR19BQ1BJCitzdGF0aWMgdm9pZCBfX2luaXQgZ2ljX2Fj cGlfYWRkX3JkaXN0X3JlZ2lvbih1NjQgYmFzZV9hZGRyLCB1MzIgc2l6ZSkKK3sKKyAgICB1bnNp Z25lZCBpbnQgaWR4ID0gZ2ljdjMucmRpc3RfY291bnQrKzsKKworICAgIGdpY3YzLnJkaXN0X3Jl Z2lvbnNbaWR4XS5iYXNlID0gYmFzZV9hZGRyOworICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4 XS5zaXplID0gc2l6ZTsKK30KKwogc3RhdGljIGludCBnaWN2M19tYWtlX2h3ZG9tX21hZHQoY29u c3Qgc3RydWN0IGRvbWFpbiAqZCwgdTMyIG9mZnNldCkKIHsKICAgICBzdHJ1Y3QgYWNwaV9zdWJ0 YWJsZV9oZWFkZXIgKmhlYWRlcjsKQEAgLTEzODcsNiArMTM5NSwyNSBAQCBnaWNfYWNwaV9wYXJz ZV9tYWR0X2Rpc3RyaWJ1dG9yKHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAog CiAgICAgcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbnQgX19pbml0CitnaWNfYWNwaV9wYXJzZV9t YWR0X3JlZGlzdHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQp Cit7CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IgKnJkaXN0Owor CisgICAgcmRpc3QgPSAoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IgKilo ZWFkZXI7CisgICAgaWYgKCBCQURfTUFEVF9FTlRSWShyZGlzdCwgZW5kKSApCisgICAgICAgIHJl dHVybiAtRUlOVkFMOworCisgICAgaWYgKCAhcmRpc3QtPmJhc2VfYWRkcmVzcyB8fCAhcmRpc3Qt Pmxlbmd0aCApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgZ2ljX2FjcGlfYWRkX3Jk aXN0X3JlZ2lvbihyZGlzdC0+YmFzZV9hZGRyZXNzLCByZGlzdC0+bGVuZ3RoKTsKKworICAgIHJl dHVybiAwOworfQorCiBzdGF0aWMgaW50IF9faW5pdAogZ2ljX2FjcGlfZ2V0X21hZHRfcmVkaXN0 cmlidXRvcl9udW0oc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGVuZCkKQEAg LTE0MDIsNyArMTQyOSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9p ZCkKICAgICBzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlOwogICAgIHN0cnVjdCByZGlz dF9yZWdpb24gKnJkaXN0X3JlZ3M7CiAgICAgYWNwaV9zdGF0dXMgc3RhdHVzOwotICAgIGludCBj b3VudCwgaTsKKyAgICBpbnQgY291bnQ7CiAKICAgICBzdGF0dXMgPSBhY3BpX2dldF90YWJsZShB Q1BJX1NJR19NQURULCAwLCAmdGFibGUpOwogCkBAIC0xNDMzLDM3ICsxNDYwLDI3IEBAIHN0YXRp YyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkKICAgICBpZiAoIGNvdW50IDw9IDAg KQogICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBleGlzdHMiKTsK IAotICAgIGdpY3YzLnJkaXN0X2NvdW50ID0gY291bnQ7Ci0KLSAgICBpZiAoIGdpY3YzLnJkaXN0 X2NvdW50ID4gTUFYX1JESVNUX0NPVU5UICkKKyAgICBpZiAoIGNvdW50ID4gTUFYX1JESVNUX0NP VU5UICkKICAgICAgICAgcGFuaWMoIkdJQ3YzOiBOdW1iZXIgb2YgcmVkaXN0cmlidXRvciByZWdp b25zIGlzIG1vcmUgdGhhbiIKICAgICAgICAgICAgICAgIiVkIChJbmNyZWFzZSBNQVhfUkRJU1Rf Q09VTlQhISlcbiIsIE1BWF9SRElTVF9DT1VOVCk7CiAKLSAgICByZGlzdF9yZWdzID0geHphbGxv Y19hcnJheShzdHJ1Y3QgcmRpc3RfcmVnaW9uLCBnaWN2My5yZGlzdF9jb3VudCk7CisgICAgcmRp c3RfcmVncyA9IHh6YWxsb2NfYXJyYXkoc3RydWN0IHJkaXN0X3JlZ2lvbiwgY291bnQpOwogICAg IGlmICggIXJkaXN0X3JlZ3MgKQogICAgICAgICBwYW5pYygiR0lDdjM6IEZhaWxlZCB0byBhbGxv Y2F0ZSBtZW1vcnkgZm9yIHJkaXN0IHJlZ2lvbnNcbiIpOwogCi0gICAgZm9yICggaSA9IDA7IGkg PCBnaWN2My5yZGlzdF9jb3VudDsgaSsrICkKLSAgICB7Ci0gICAgICAgIHN0cnVjdCBhY3BpX3N1 YnRhYmxlX2hlYWRlciAqaGVhZGVyOwotICAgICAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNf cmVkaXN0cmlidXRvciAqZ2ljX3JkaXN0OwotCi0gICAgICAgIGhlYWRlciA9IGFjcGlfdGFibGVf Z2V0X2VudHJ5X21hZHQoQUNQSV9NQURUX1RZUEVfR0VORVJJQ19SRURJU1RSSUJVVE9SLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkpOwotICAgICAgICBpZiAo ICFoZWFkZXIgKQotICAgICAgICAgICAgcGFuaWMoIkdJQ3YzOiBDYW4ndCBnZXQgR0lDUiBlbnRy eSIpOwotCi0gICAgICAgIGdpY19yZGlzdCA9Ci0gICAgICAgICAgIGNvbnRhaW5lcl9vZihoZWFk ZXIsIHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yLCBoZWFkZXIpOwotICAg ICAgICByZGlzdF9yZWdzW2ldLmJhc2UgPSBnaWNfcmRpc3QtPmJhc2VfYWRkcmVzczsKLSAgICAg ICAgcmRpc3RfcmVnc1tpXS5zaXplID0gZ2ljX3JkaXN0LT5sZW5ndGg7Ci0gICAgfQorICAgIGdp Y3YzLnJkaXN0X3JlZ2lvbnMgPSByZGlzdF9yZWdzOworCisgICAgLyogUGFyc2UgYWx3YXlzLW9u IHBvd2VyIGRvbWFpbiBSZS1kaXN0cmlidXRvciBlbnRyaWVzICovCisgICAgY291bnQgPSBhY3Bp X3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLCB0YWJsZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElT VFJJQlVUT1IsIGNvdW50KTsKKyAgICBpZiAoIGNvdW50IDw9IDAgKQorICAgICAgICBwYW5pYygi R0lDdjM6IENhbid0IGdldCBSZWRpc3RyaWJ1dG9yIGVudHJ5Iik7CiAKICAgICAvKiBUaGUgdkdJ QyBjb2RlIHJlcXVpcmVzIHRoZSByZWdpb24gdG8gYmUgc29ydGVkICovCiAgICAgc29ydChyZGlz dF9yZWdzLCBnaWN2My5yZGlzdF9jb3VudCwgc2l6ZW9mKCpyZGlzdF9yZWdzKSwgY21wX3JkaXN0 LCBOVUxMKTsKIAotICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnM9IHJkaXN0X3JlZ3M7Ci0KICAgICAv KiBDb2xsZWN0IENQVSBiYXNlIGFkZHJlc3NlcyAqLwogICAgIGNvdW50ID0gYWNwaV9wYXJzZV9l bnRyaWVzKEFDUElfU0lHX01BRFQsIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9tYWR0X2NwdSwgdGFi bGUsCi0tIApRdWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4gb24gYmVoYWxmIG9mIFF1YWxjb21t IElubm92YXRpb24gQ2VudGVyLCBJbmMuIApRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5j LiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwgCmEgTGludXggRm91bmRhdGlvbiBD b2xsYWJvcmF0aXZlIFByb2plY3QKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=