From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V3 04/10] arm/gic-v3: Parse per-cpu redistributor entry in GICC subtable Date: Mon, 27 Jun 2016 15:33:36 -0500 Message-ID: <1467059622-14786-4-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 VGhlIHJlZGlzdHJpYnV0b3IgYWRkcmVzcyBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBwYXJ0 IG9mIEdJQ0Mgb3IKR0lDUiBzdWJ0YWJsZSBkZXBlbmRpbmcgb24gdGhlIHBvd2VyIGRvbWFpbi4g VGhlIGN1cnJlbnQgZHJpdmVyCmRvZXNuJ3Qgc3VwcG9ydCBwYXJzaW5nIHJlZGlzdHJpYnV0b3Ig ZW50cnkgdGhhdCBpcyBkZWZpbmVkIGluIEdJQ0MKc3VidGFibGUuIFRoZSBHSUMgQ1BVIHN1YnRh YmxlIGVudHJ5IGhvbGRzIHRoZSBhc3NvY2lhdGVkIFJlZGlzdHJpYnV0b3IKYmFzZSBhZGRyZXNz IGlmIGl0IGlzIG5vdCBvbiBhbHdheXMtb24gcG93ZXIgZG9tYWluLgoKVGhlIHBlciBDUFUgUmVk aXN0cmlidXRvciBzaXplIGlzIG5vdCBkZWZpbmVkIGluIEFDUEkgc3BlY2lmaWNhdGlvbi4KU2V0 IHRoZSBHSUNSIHJlZ2lvbiBzaXplIHRvIFNaXzI1NksgaWYgdGhlIEdJQyBoYXJkd2FyZSBpcyBj YXBhYmxlIG9mCkRpcmVjdCBWaXJ0dWFsIExQSSBJbmplY3Rpb24gZmVhdHVyZSwgU1pfMTI4SyBv dGhlcndpc2UuCgpUaGlzIHBhdGNoIGFkZHMgbmVjZXNzYXJ5IGNvZGUgdG8gaGFuZGxlIGJvdGgg dHlwZXMgb2YgUmVkaXN0cmlidXRvcnMKYmFzZSBhZGRyZXNzZXMuCgpTaWduZWQtb2ZmLWJ5OiBT aGFua2VyIERvbnRoaW5lbmkgPHNoYW5rZXJkQGNvZGVhdXJvcmEub3JnPgotLS0KQ2hhbmdlcyBz aW5jZSB2MjoKICBSZW1vdmVkIHRoZSB1bm5lY2Vzc2FyeSB2YWxpZGF0aW9uIGNoZWNrcyBhbmQg ZWRpdGVkIGNvbW1pdCB0ZXh0LgoKIHhlbi9hcmNoL2FybS9naWMtdjMuYyAgICAgICAgICAgICB8 IDY4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2luY2x1ZGUv YXNtLWFybS9naWMuaCAgICAgICAgIHwgIDEgKwogeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNf ZGVmcy5oIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjMuYyBiL3hlbi9hcmNoL2Fy bS9naWMtdjMuYwppbmRleCBlZmRiNTZiLi4zNTI3OTllIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vZ2ljLXYzLmMKKysrIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCkBAIC02NTksNiArNjU5LDEw IEBAIHN0YXRpYyBpbnQgX19pbml0IGdpY3YzX3BvcHVsYXRlX3JkaXN0KHZvaWQpCiAgICAgICAg ICAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCksIGksIHB0cik7CiAgICAgICAgICAg ICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICggZ2ljdjMu cmRpc3RfcmVnaW9uc1tpXS5zaW5nbGVfcmRpc3QgKQorICAgICAgICAgICAgICAgIGJyZWFrOwor CiAgICAgICAgICAgICBpZiAoIGdpY3YzLnJkaXN0X3N0cmlkZSApCiAgICAgICAgICAgICAgICAg cHRyICs9IGdpY3YzLnJkaXN0X3N0cmlkZTsKICAgICAgICAgICAgIGVsc2UKQEAgLTEyODIsMTQg KzEyODYsMjEgQEAgc3RhdGljIGludCBnaWN2M19pb21lbV9kZW55X2FjY2Vzcyhjb25zdCBzdHJ1 Y3QgZG9tYWluICpkKQogfQogCiAjaWZkZWYgQ09ORklHX0FDUEkKLXN0YXRpYyB2b2lkIF9faW5p dCBnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHBhZGRyX3QgYmFzZSwgcGFkZHJfdCBzaXplKQor c3RhdGljIHZvaWQgX19pbml0CitnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHBhZGRyX3QgYmFz ZSwgcGFkZHJfdCBzaXplLCBib29sIHNpbmdsZV9yZGlzdCkKIHsKICAgICB1bnNpZ25lZCBpbnQg aWR4ID0gZ2ljdjMucmRpc3RfY291bnQrKzsKIAorICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4 XS5zaW5nbGVfcmRpc3QgPSBzaW5nbGVfcmRpc3Q7CiAgICAgZ2ljdjMucmRpc3RfcmVnaW9uc1tp ZHhdLmJhc2UgPSBiYXNlOwogICAgIGdpY3YzLnJkaXN0X3JlZ2lvbnNbaWR4XS5zaXplID0gc2l6 ZTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGdpY19kaXN0X3N1cHBvcnRzX2R2aXModm9pZCkK K3sKKyAgICByZXR1cm4gISEocmVhZGxfcmVsYXhlZChHSUNEICsgR0lDRF9UWVBFUikgJiBHSUNE X1RZUEVSX0RWSVMpOworfQorCiBzdGF0aWMgaW50IGdpY3YzX21ha2VfaHdkb21fbWFkdChjb25z dCBzdHJ1Y3QgZG9tYWluICpkLCB1MzIgb2Zmc2V0KQogewogICAgIHN0cnVjdCBhY3BpX3N1YnRh YmxlX2hlYWRlciAqaGVhZGVyOwpAQCAtMTM5Nyw2ICsxNDA4LDM2IEBAIGdpY19hY3BpX3BhcnNl X21hZHRfZGlzdHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCiB9 CiAKIHN0YXRpYyBpbnQgX19pbml0CitnaWNfYWNwaV9wYXJzZV9jcHVfcmVkaXN0cmlidXRvcihz dHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQoreworICAgIHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQgKnByb2Nlc3NvcjsKKyAgICB1MzIgc2l6ZTsKKworICAg IHByb2Nlc3NvciA9IChzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICopaGVhZGVy OworICAgIGlmICggIShwcm9jZXNzb3ItPmZsYWdzICYgQUNQSV9NQURUX0VOQUJMRUQpICkKKyAg ICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplID0gZ2ljX2Rpc3Rfc3VwcG9ydHNfZHZpcygpID8g NCAqIFNaXzY0SyA6IDIgKiBTWl82NEs7CisgICAgZ2ljX2FjcGlfYWRkX3JkaXN0X3JlZ2lvbihw cm9jZXNzb3ItPmdpY3JfYmFzZV9hZGRyZXNzLCBzaXplLCB0cnVlKTsKKworICAgIHJldHVybiAw OworfQorCitzdGF0aWMgaW50IF9faW5pdAorZ2ljX2FjcGlfZ2V0X21hZHRfY3B1X251bShzdHJ1 Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCit7CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5l cmljX2ludGVycnVwdCAqY3B1aWY7CisKKyAgICBjcHVpZiA9IChzdHJ1Y3QgYWNwaV9tYWR0X2dl bmVyaWNfaW50ZXJydXB0ICopaGVhZGVyOworICAgIGlmICggQkFEX01BRFRfRU5UUlkoY3B1aWYs IGVuZCkgfHwgIWNwdWlmLT5naWNyX2Jhc2VfYWRkcmVzcyApCisgICAgICAgIHJldHVybiAtRUlO VkFMOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CiBnaWNfYWNwaV9w YXJzZV9tYWR0X3JlZGlzdHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFk ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9u ZyBlbmQpCiB7CkBAIC0xNDA2LDcgKzE0NDcsNyBAQCBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlz dHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCiAgICAgaWYgKCBC QURfTUFEVF9FTlRSWShyZGlzdCwgZW5kKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0g ICAgZ2ljX2FjcGlfYWRkX3JkaXN0X3JlZ2lvbihyZGlzdC0+YmFzZV9hZGRyZXNzLCByZGlzdC0+ bGVuZ3RoKTsKKyAgICBnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHJkaXN0LT5iYXNlX2FkZHJl c3MsIHJkaXN0LT5sZW5ndGgsIGZhbHNlKTsKIAogICAgIHJldHVybiAwOwogfQpAQCAtMTQyNCw2 ICsxNDY1LDcgQEAgZ2ljX2FjcGlfZ2V0X21hZHRfcmVkaXN0cmlidXRvcl9udW0oc3RydWN0IGFj cGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCiBzdGF0aWMgdm9pZCBfX2luaXQgZ2ljdjNfYWNw aV9pbml0KHZvaWQpCiB7CiAgICAgc3RydWN0IHJkaXN0X3JlZ2lvbiAqcmRpc3RfcmVnczsKKyAg ICBib29sIGdpY3JfdGFibGUgPSB0cnVlOwogICAgIGludCBjb3VudDsKIAogICAgIC8qCkBAIC0x NDQwLDggKzE0ODIsMTUgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lk KQogICAgIC8qIEdldCBudW1iZXIgb2YgcmVkaXN0cmlidXRvciAqLwogICAgIGNvdW50ID0gYWNw aV90YWJsZV9wYXJzZV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9nZXRfbWFkdF9yZWRp c3RyaWJ1dG9yX251bSwgMCk7Ci0gICAgaWYgKCBjb3VudCA8PSAwICkKLSAgICAgICAgcGFuaWMo IkdJQ3YzOiBObyB2YWxpZCBHSUNSIGVudHJpZXMgZXhpc3RzIik7CisgICAgLyogQ291bnQgdGhl IHRvdGFsIG51bWJlciBvZiBDUFUgaW50ZXJmYWNlIGVudHJpZXMgKi8KKyAgICBpZiAoIGNvdW50 IDw9IDAgKSB7CisgICAgICAgIGNvdW50ID0gYWNwaV90YWJsZV9wYXJzZV9tYWR0KEFDUElfTUFE VF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnaWNfYWNwaV9nZXRfbWFkdF9jcHVfbnVtLCAwKTsKKyAgICAgICAgaWYgKGNvdW50 IDw9IDApCisgICAgICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBl eGlzdHMiKTsKKworICAgICAgICBnaWNyX3RhYmxlID0gZmFsc2U7CisgICAgfQogCiAgICAgaWYg KCBjb3VudCA+IE1BWF9SRElTVF9DT1VOVCApCiAgICAgICAgIHBhbmljKCJHSUN2MzogTnVtYmVy IG9mIHJlZGlzdHJpYnV0b3IgcmVnaW9ucyBpcyBtb3JlIHRoYW4iCkBAIC0xNDUzLDkgKzE1MDIs MTQgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQogCiAgICAgZ2lj djMucmRpc3RfcmVnaW9ucyA9IHJkaXN0X3JlZ3M7CiAKLSAgICAvKiBQYXJzZSBhbHdheXMtb24g cG93ZXIgZG9tYWluIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgKi8KLSAgICBjb3VudCA9IGFjcGlf dGFibGVfcGFyc2VfbWFkdChBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1IsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRp c3RyaWJ1dG9yLCBjb3VudCk7CisgICAgaWYgKCBnaWNyX3RhYmxlICkKKyAgICAgICAgLyogUGFy c2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBSZS1kaXN0cmlidXRvciBlbnRyaWVzICovCisgICAg ICAgIGNvdW50ID0gYWNwaV90YWJsZV9wYXJzZV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVSSUNf UkVESVNUUklCVVRPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2lj X2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLCBjb3VudCk7CisgICAgZWxzZQorICAgICAg ICAvKiBQYXJzZSBSZS1kaXN0cmlidXRvciBlbnRyaWVzIGRlc2NyaWJlZCBpbiBDUFUgaW50ZXJm YWNlIHRhYmxlICovCisgICAgICAgIGNvdW50ID0gYWNwaV90YWJsZV9wYXJzZV9tYWR0KEFDUElf TUFEVF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9jcHVfcmVkaXN0cmlidXRvciwgY291bnQpOwogICAg IGlmICggY291bnQgPD0gMCApCiAgICAgICAgIHBhbmljKCJHSUN2MzogQ2FuJ3QgZ2V0IFJlZGlz dHJpYnV0b3IgZW50cnkiKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWMu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgKaW5kZXggNDRiOWVmNi4uZmVkZjFmYSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t YXJtL2dpYy5oCkBAIC0xMDEsNiArMTAxLDcgQEAKICNkZWZpbmUgR0lDRF9UWVBFX0NQVVNfU0hJ RlQgNQogI2RlZmluZSBHSUNEX1RZUEVfQ1BVUyAgMHgwZTAKICNkZWZpbmUgR0lDRF9UWVBFX1NF QyAgIDB4NDAwCisjZGVmaW5lIEdJQ0RfVFlQRVJfRFZJUyAoMVUgPDwgMTgpCiAKICNkZWZpbmUg R0lDQ19DVExfRU5BQkxFIDB4MQogI2RlZmluZSBHSUNDX0NUTF9FT0kgICAgKDB4MSA8PCA5KQpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfZGVmcy5oIGIveGVuL2luY2x1 ZGUvYXNtLWFybS9naWNfdjNfZGVmcy5oCmluZGV4IDZkOTg0OTEuLjZiZDI1YTUgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaAorKysgYi94ZW4vaW5jbHVkZS9h c20tYXJtL2dpY192M19kZWZzLmgKQEAgLTE0MSw2ICsxNDEsNyBAQCBzdHJ1Y3QgcmRpc3RfcmVn aW9uIHsKICAgICBwYWRkcl90IGJhc2U7CiAgICAgcGFkZHJfdCBzaXplOwogICAgIHZvaWQgX19p b21lbSAqbWFwX2Jhc2U7CisgICAgYm9vbCBzaW5nbGVfcmRpc3Q7CiB9OwogCiAjZW5kaWYgLyog X19BU01fQVJNX0dJQ19WM19ERUZTX0hfXyAqLwotLSAKUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJ bmMuIG9uIGJlaGFsZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiAKUXVhbGNv bW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9y dW0sIAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK