From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH 2/8] arm/gic-v3: Fold GICR subtable parsing into a new function Date: Sat, 18 Jun 2016 18:45:15 -0500 Message-ID: <1466293521-32746-3-git-send-email-shankerd@codeaurora.org> References: <1466293521-32746-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: <1466293521-32746-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+ Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy12My5jIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9u cygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5j IGIveGVuL2FyY2gvYXJtL2dpYy12My5jCmluZGV4IGFiMWYzODAuLmFmMTJlYmMgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL2FybS9naWMtdjMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKQEAg LTEzODcsNiArMTM4NywzNiBAQCBnaWNfYWNwaV9wYXJzZV9tYWR0X2Rpc3RyaWJ1dG9yKHN0cnVj dCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAogCiAgICAgcmV0dXJuIDA7CiB9CisKK3N0 YXRpYyBpbnQgX19pbml0CitnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlzdHJpYnV0b3Ioc3RydWN0 IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCit7CisgICAgc3RydWN0IGFjcGlfbWFk dF9nZW5lcmljX3JlZGlzdHJpYnV0b3IgKnJkaXN0OworICAgIHN0cnVjdCByZGlzdF9yZWdpb24g KnJlZ2lvbjsKKworICAgIHJlZ2lvbiA9IGdpY3YzLnJkaXN0X3JlZ2lvbnMgKyBnaWN2My5yZGlz dF9jb3VudDsKKyAgICByZGlzdCA9IChzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmli dXRvciAqKWhlYWRlcjsKKyAgICBpZiAoIEJBRF9NQURUX0VOVFJZKHJkaXN0LCBlbmQpICkKKyAg ICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICBpZiAoICFyZGlzdC0+YmFzZV9hZGRyZXNzIHx8 ICFyZGlzdC0+bGVuZ3RoICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICByZWdpb24t PmJhc2UgPSByZGlzdC0+YmFzZV9hZGRyZXNzOworICAgIHJlZ2lvbi0+c2l6ZSA9IHJkaXN0LT5s ZW5ndGg7CisKKyAgICByZWdpb24tPm1hcF9iYXNlID0gaW9yZW1hcF9ub2NhY2hlKHJlZ2lvbi0+ YmFzZSwgcmVnaW9uLT5zaXplKTsKKyAgICBpZiAoICFyZWdpb24tPm1hcF9iYXNlICkKKyAgICB7 CisgICAgICAgIHByaW50aygiVW5hYmxlIHRvIG1hcCBHSUNSIHJlZ2lzdGVyc1xuIik7CisgICAg ICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKyAgICBnaWN2My5yZGlzdF9jb3VudCsrOworCisg ICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgX19pbml0CiBnaWNfYWNwaV9nZXRfbWFkdF9y ZWRpc3RyaWJ1dG9yX251bShzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5k KQpAQCAtMTQwMiw3ICsxNDMyLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5p dCh2b2lkKQogICAgIHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGU7CiAgICAgc3RydWN0 IHJkaXN0X3JlZ2lvbiAqcmRpc3RfcmVnczsKICAgICBhY3BpX3N0YXR1cyBzdGF0dXM7Ci0gICAg aW50IGNvdW50LCBpOworICAgIGludCBjb3VudDsKIAogICAgIHN0YXR1cyA9IGFjcGlfZ2V0X3Rh YmxlKEFDUElfU0lHX01BRFQsIDAsICZ0YWJsZSk7CiAKQEAgLTE0MzMsMzcgKzE0NjMsMjcgQEAg c3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQogICAgIGlmICggY291bnQg PD0gMCApCiAgICAgICAgIHBhbmljKCJHSUN2MzogTm8gdmFsaWQgR0lDUiBlbnRyaWVzIGV4aXN0 cyIpOwogCi0gICAgZ2ljdjMucmRpc3RfY291bnQgPSBjb3VudDsKLQotICAgIGlmICggZ2ljdjMu cmRpc3RfY291bnQgPiBNQVhfUkRJU1RfQ09VTlQgKQorICAgIGlmICggY291bnQgPiBNQVhfUkRJ U1RfQ09VTlQgKQogICAgICAgICBwYW5pYygiR0lDdjM6IE51bWJlciBvZiByZWRpc3RyaWJ1dG9y IHJlZ2lvbnMgaXMgbW9yZSB0aGFuIgogICAgICAgICAgICAgICAiJWQgKEluY3JlYXNlIE1BWF9S RElTVF9DT1VOVCEhKVxuIiwgTUFYX1JESVNUX0NPVU5UKTsKIAotICAgIHJkaXN0X3JlZ3MgPSB4 emFsbG9jX2FycmF5KHN0cnVjdCByZGlzdF9yZWdpb24sIGdpY3YzLnJkaXN0X2NvdW50KTsKKyAg ICByZGlzdF9yZWdzID0geHphbGxvY19hcnJheShzdHJ1Y3QgcmRpc3RfcmVnaW9uLCBjb3VudCk7 CiAgICAgaWYgKCAhcmRpc3RfcmVncyApCiAgICAgICAgIHBhbmljKCJHSUN2MzogRmFpbGVkIHRv IGFsbG9jYXRlIG1lbW9yeSBmb3IgcmRpc3QgcmVnaW9uc1xuIik7CiAKLSAgICBmb3IgKCBpID0g MDsgaSA8IGdpY3YzLnJkaXN0X2NvdW50OyBpKysgKQotICAgIHsKLSAgICAgICAgc3RydWN0IGFj cGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXI7Ci0gICAgICAgIHN0cnVjdCBhY3BpX21hZHRfZ2Vu ZXJpY19yZWRpc3RyaWJ1dG9yICpnaWNfcmRpc3Q7Ci0KLSAgICAgICAgaGVhZGVyID0gYWNwaV90 YWJsZV9nZXRfZW50cnlfbWFkdChBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1Is Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSk7Ci0gICAgICAg IGlmICggIWhlYWRlciApCi0gICAgICAgICAgICBwYW5pYygiR0lDdjM6IENhbid0IGdldCBHSUNS IGVudHJ5Iik7Ci0KLSAgICAgICAgZ2ljX3JkaXN0ID0KLSAgICAgICAgICAgY29udGFpbmVyX29m KGhlYWRlciwgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IsIGhlYWRlcik7 Ci0gICAgICAgIHJkaXN0X3JlZ3NbaV0uYmFzZSA9IGdpY19yZGlzdC0+YmFzZV9hZGRyZXNzOwot ICAgICAgICByZGlzdF9yZWdzW2ldLnNpemUgPSBnaWNfcmRpc3QtPmxlbmd0aDsKLSAgICB9Cisg ICAgZ2ljdjMucmRpc3RfcmVnaW9ucyA9IHJkaXN0X3JlZ3M7CisKKyAgICAvKiBQYXJzZSBhbHdh eXMtb24gcG93ZXIgZG9tYWluIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgKi8KKyAgICBjb3VudCA9 IGFjcGlfcGFyc2VfZW50cmllcyhBQ1BJX1NJR19NQURULAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlzdHJpYnV0b3IsIHRhYmxl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDUElfTUFEVF9UWVBFX0dFTkVSSUNf UkVESVNUUklCVVRPUiwgY291bnQpOworICAgIGlmICggY291bnQgPD0gMCApCisgICAgICAgIHBh bmljKCJHSUN2MzogQ2FuJ3QgZ2V0IFJlZGlzdHJpYnV0b3IgZW50cnkiKTsKIAogICAgIC8qIFRo ZSB2R0lDIGNvZGUgcmVxdWlyZXMgdGhlIHJlZ2lvbiB0byBiZSBzb3J0ZWQgKi8KICAgICBzb3J0 KHJkaXN0X3JlZ3MsIGdpY3YzLnJkaXN0X2NvdW50LCBzaXplb2YoKnJkaXN0X3JlZ3MpLCBjbXBf cmRpc3QsIE5VTEwpOwogCi0gICAgZ2ljdjMucmRpc3RfcmVnaW9ucz0gcmRpc3RfcmVnczsKLQog ICAgIC8qIENvbGxlY3QgQ1BVIGJhc2UgYWRkcmVzc2VzICovCiAgICAgY291bnQgPSBhY3BpX3Bh cnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQp LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpY19hY3BpX3BhcnNlX21hZHRfY3B1 LCB0YWJsZSwKLS0gClF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLiBvbiBiZWhhbGYgb2YgUXVh bGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gClF1YWxjb21tIElubm92YXRpb24gQ2VudGVy LCBJbmMuIGlzIGEgbWVtYmVyIG9mIENvZGUgQXVyb3JhIEZvcnVtLCAKYSBMaW51eCBGb3VuZGF0 aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==