From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH V2 04/10] arm/gic-v3: Parse per-cpu redistributor entry in GICC subtable Date: Sun, 26 Jun 2016 12:48:17 -0500 Message-ID: <1466963303-10850-5-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 VGhlIHJlZGlzdHJpYnV0b3IgYWRkcmVzcyBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBwYXJ0 IG9mIEdJQ0Mgb3IKR0lDUiBzdWJ0YWJsZSBkZXBlbmRpbmcgb24gdGhlIHBvd2VyIGRvbWFpbi4g VGhlIGN1cnJlbnQgZHJpdmVyCmRvZXNuJ3Qgc3VwcG9ydCBwYXJzaW5nIHJlZGlzdHJpYnV0b3Ig ZW50cnkgdGhhdCBpcyBkZWZpbmVkIGluIEdJQ0MKc3VidGFibGUuIFRoZSBHSUMgQ1BVIHN1YnRh YmxlIGVudHJ5IGhvbGRzIHRoZSBhc3NvY2lhdGVkIFJlZGlzdHJpYnV0b3IKYmFzZSBhZGRyZXNz IGlmIGl0IGlzIG5vdCBvbiBhbHdheXMtb24gcG93ZXIgZG9tYWluLgoKVGhlIHBlciBDUFUgUmVk aXN0cmlidXRvciBzaXplIGlzIG5vdCBkZWZpbmVkIGluIEFDUEkgc3BlY2lmaWNhdGlvbi4KU2V0 IGl0J3Mgc2l6ZSB0byBTWl8yNTZLIGlmIHRoZSBHSUMgaGFyZHdhcmUgaXMgY2FwYWJsZSBvZiBE aXJlY3QKVmlydHVhbCBMUEkgSW5qZWN0aW9uIGZlYXR1cmUgb3RoZXJ3aXNlIFNaXzEyOEsuCgpU aGlzIHBhdGNoIGFkZHMgbmVjZXNzYXJ5IGNvZGUgdG8gaGFuZGxlIGJvdGggdHlwZXMgb2YgUmVk aXN0cmlidXRvcnMKYmFzZSBhZGRyZXNzZXMuCgpTaWduZWQtb2ZmLWJ5OiBTaGFua2VyIERvbnRo aW5lbmkgPHNoYW5rZXJkQGNvZGVhdXJvcmEub3JnPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKICBF ZGl0ZWQgY29tbWl0IHRleHQgYW5kIGZpeGVkIHdoaXRlIHNwYWNlcy4KICBBZGRlZCBhIG5ldyBm dW5jdGlvbiBmb3IgcGFyc2luZyBwZXIgQ1BVIFJlZGlzdHJpYnV0b3IgZW50cnkuCgogeGVuL2Fy Y2gvYXJtL2dpYy12My5jICAgICAgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oICAgICAgICAgfCAgMSAr CiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZzLmggfCAgMSArCiAzIGZpbGVzIGNoYW5n ZWQsIDc3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCmluZGV4IDA0NzFmZWEuLjM5 NzcyNDQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMuYworKysgYi94ZW4vYXJjaC9h cm0vZ2ljLXYzLmMKQEAgLTY1OSw2ICs2NTksMTAgQEAgc3RhdGljIGludCBfX2luaXQgZ2ljdjNf cG9wdWxhdGVfcmRpc3Qodm9pZCkKICAgICAgICAgICAgICAgICAgICAgICAgIHNtcF9wcm9jZXNz b3JfaWQoKSwgaSwgcHRyKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAg IH0KKworICAgICAgICAgICAgaWYgKCBnaWN2My5yZGlzdF9yZWdpb25zW2ldLnNpbmdsZV9yZGlz dCApCisgICAgICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgICAgIGlmICggZ2ljdjMucmRp c3Rfc3RyaWRlICkKICAgICAgICAgICAgICAgICBwdHIgKz0gZ2ljdjMucmRpc3Rfc3RyaWRlOwog ICAgICAgICAgICAgZWxzZQpAQCAtMTI4MiwxNCArMTI4NiwyMSBAQCBzdGF0aWMgaW50IGdpY3Yz X2lvbWVtX2RlbnlfYWNjZXNzKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCiB9CiAKICNpZmRlZiBD T05GSUdfQUNQSQotc3RhdGljIHZvaWQgX19pbml0IGdpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24o dTY0IGJhc2VfYWRkciwgdTMyIHNpemUpCitzdGF0aWMgdm9pZCBfX2luaXQKK2dpY19hY3BpX2Fk ZF9yZGlzdF9yZWdpb24odTY0IGJhc2VfYWRkciwgdTMyIHNpemUsIGJvb2wgc2luZ2xlX3JkaXN0 KQogewogICAgIHVuc2lnbmVkIGludCBpZHggPSBnaWN2My5yZGlzdF9jb3VudCsrOwogCisgICAg Z2ljdjMucmRpc3RfcmVnaW9uc1tpZHhdLnNpbmdsZV9yZGlzdCA9IHNpbmdsZV9yZGlzdDsKICAg ICBnaWN2My5yZGlzdF9yZWdpb25zW2lkeF0uYmFzZSA9IGJhc2VfYWRkcjsKICAgICBnaWN2My5y ZGlzdF9yZWdpb25zW2lkeF0uc2l6ZSA9IHNpemU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBn aWNfZGlzdF9zdXBwb3J0c19kdmlzKHZvaWQpCit7CisgICAgcmV0dXJuICEhKHJlYWRsX3JlbGF4 ZWQoR0lDRCArIEdJQ0RfVFlQRVIpICYgR0lDRF9UWVBFUl9EVklTKTsKK30KKwogc3RhdGljIGlu dCBnaWN2M19tYWtlX2h3ZG9tX21hZHQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdTMyIG9mZnNl dCkKIHsKICAgICBzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlcjsKQEAgLTEzOTcs NiArMTQwOCw0MiBAQCBnaWNfYWNwaV9wYXJzZV9tYWR0X2Rpc3RyaWJ1dG9yKHN0cnVjdCBhY3Bp X3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAogfQogCiBzdGF0aWMgaW50IF9faW5pdAorZ2ljX2Fj cGlfcGFyc2VfY3B1X3JlZGlzdHJpYnV0b3Ioc3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpo ZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQg bG9uZyBlbmQpCit7CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCAqcHJv Y2Vzc29yOworICAgIHUzMiBzaXplOworCisgICAgcHJvY2Vzc29yID0gKHN0cnVjdCBhY3BpX21h ZHRfZ2VuZXJpY19pbnRlcnJ1cHQgKiloZWFkZXI7CisgICAgaWYgKCBCQURfTUFEVF9FTlRSWShw cm9jZXNzb3IsIGVuZCkgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIGlmICggIXBy b2Nlc3Nvci0+Z2ljcl9iYXNlX2FkZHJlc3MgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKwor ICAgIGlmICggcHJvY2Vzc29yLT5mbGFncyAmIEFDUElfTUFEVF9FTkFCTEVEICkKKyAgICB7Cisg ICAgICAgIHNpemUgPSBnaWNfZGlzdF9zdXBwb3J0c19kdmlzKCkgPyA0ICogU1pfNjRLIDogMiAq IFNaXzY0SzsKKyAgICAgICAgZ2ljX2FjcGlfYWRkX3JkaXN0X3JlZ2lvbihwcm9jZXNzb3ItPmdp Y3JfYmFzZV9hZGRyZXNzLCBzaXplLCB0cnVlKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30K Kworc3RhdGljIGludCBfX2luaXQKK2dpY19hY3BpX2dldF9tYWR0X2NwdV9udW0oc3RydWN0IGFj cGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0 X2dlbmVyaWNfaW50ZXJydXB0ICpjcHVpZjsKKworICAgIGNwdWlmID0gKHN0cnVjdCBhY3BpX21h ZHRfZ2VuZXJpY19pbnRlcnJ1cHQgKiloZWFkZXI7CisgICAgaWYgKCBCQURfTUFEVF9FTlRSWShj cHVpZiwgZW5kKSB8fCAhY3B1aWYtPmdpY3JfYmFzZV9hZGRyZXNzICkKKyAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQKIGdpY19h Y3BpX3BhcnNlX21hZHRfcmVkaXN0cmlidXRvcihzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIg KmhlYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25l ZCBsb25nIGVuZCkKIHsKQEAgLTE0MDksNyArMTQ1Niw3IEBAIGdpY19hY3BpX3BhcnNlX21hZHRf cmVkaXN0cmlidXRvcihzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAgICBp ZiAoICFyZGlzdC0+YmFzZV9hZGRyZXNzIHx8ICFyZGlzdC0+bGVuZ3RoICkKICAgICAgICAgcmV0 dXJuIC1FSU5WQUw7CiAKLSAgICBnaWNfYWNwaV9hZGRfcmRpc3RfcmVnaW9uKHJkaXN0LT5iYXNl X2FkZHJlc3MsIHJkaXN0LT5sZW5ndGgpOworICAgIGdpY19hY3BpX2FkZF9yZGlzdF9yZWdpb24o cmRpc3QtPmJhc2VfYWRkcmVzcywgcmRpc3QtPmxlbmd0aCwgZmFsc2UpOwogCiAgICAgcmV0dXJu IDA7CiB9CkBAIC0xNDI4LDYgKzE0NzUsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZ2ljdjNfYWNw aV9pbml0KHZvaWQpCiB7CiAgICAgc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZTsKICAg ICBzdHJ1Y3QgcmRpc3RfcmVnaW9uICpyZGlzdF9yZWdzOworICAgIGJvb2wgZ2ljcl90YWJsZSA9 IHRydWU7CiAgICAgYWNwaV9zdGF0dXMgc3RhdHVzOwogICAgIGludCBjb3VudDsKIApAQCAtMTQ1 Nyw4ICsxNTA1LDE4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkK ICAgICBjb3VudCA9IGFjcGlfcGFyc2VfZW50cmllcyhBQ1BJX1NJR19NQURULCBzaXplb2Yoc3Ry dWN0IGFjcGlfdGFibGVfbWFkdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2lj X2FjcGlfZ2V0X21hZHRfcmVkaXN0cmlidXRvcl9udW0sIHRhYmxlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiwgMCk7 Ci0gICAgaWYgKCBjb3VudCA8PSAwICkKLSAgICAgICAgcGFuaWMoIkdJQ3YzOiBObyB2YWxpZCBH SUNSIGVudHJpZXMgZXhpc3RzIik7CisKKyAgICAvKiBDb3VudCB0aGUgdG90YWwgbnVtYmVyIG9m IENQVSBpbnRlcmZhY2UgZW50cmllcyAqLworICAgIGlmIChjb3VudCA8PSAwKSB7CisgICAgICAg IGNvdW50ID0gYWNwaV9wYXJzZV9lbnRyaWVzKEFDUElfU0lHX01BRFQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ljX2FjcGlfZ2V0X21hZHRfY3B1X251 bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUsIEFDUElfTUFEVF9U WVBFX0dFTkVSSUNfSU5URVJSVVBULCAwKTsKKyAgICAgICAgaWYgKGNvdW50IDw9IDApCisgICAg ICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBleGlzdHMiKTsKKwor ICAgICAgICBnaWNyX3RhYmxlID0gZmFsc2U7CisgICAgfQogCiAgICAgaWYgKCBjb3VudCA+IE1B WF9SRElTVF9DT1VOVCApCiAgICAgICAgIHBhbmljKCJHSUN2MzogTnVtYmVyIG9mIHJlZGlzdHJp YnV0b3IgcmVnaW9ucyBpcyBtb3JlIHRoYW4iCkBAIC0xNDcwLDExICsxNTI4LDE5IEBAIHN0YXRp YyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkKIAogICAgIGdpY3YzLnJkaXN0X3Jl Z2lvbnMgPSByZGlzdF9yZWdzOwogCi0gICAgLyogUGFyc2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFp biBSZS1kaXN0cmlidXRvciBlbnRyaWVzICovCi0gICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJp ZXMoQUNQSV9TSUdfTUFEVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo c3RydWN0IGFjcGlfdGFibGVfbWFkdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLCB0YWJsZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1IsIGNv dW50KTsKKyAgICBpZiAoIGdpY3JfdGFibGUgKQorICAgICAgICAvKiBQYXJzZSBhbHdheXMtb24g cG93ZXIgZG9tYWluIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgKi8KKyAgICAgICAgY291bnQgPSBh Y3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlzdHJpYnV0b3Is IHRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX01BRFRfVFlQ RV9HRU5FUklDX1JFRElTVFJJQlVUT1IsIGNvdW50KTsKKyAgICBlbHNlCisgICAgICAgIC8qIFBh cnNlIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgZGVzY3JpYmVkIGluIENQVSBpbnRlcmZhY2UgdGFi bGUgKi8KKyAgICAgICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3Rh YmxlX21hZHQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9w YXJzZV9jcHVfcmVkaXN0cmlidXRvciwgdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULCBjb3VudCk7CisKICAg ICBpZiAoIGNvdW50IDw9IDAgKQogICAgICAgICBwYW5pYygiR0lDdjM6IENhbid0IGdldCBSZWRp c3RyaWJ1dG9yIGVudHJ5Iik7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2lj LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCmluZGV4IDQ0YjllZjYuLmZlZGYxZmEgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LWFybS9naWMuaApAQCAtMTAxLDYgKzEwMSw3IEBACiAjZGVmaW5lIEdJQ0RfVFlQRV9DUFVTX1NI SUZUIDUKICNkZWZpbmUgR0lDRF9UWVBFX0NQVVMgIDB4MGUwCiAjZGVmaW5lIEdJQ0RfVFlQRV9T RUMgICAweDQwMAorI2RlZmluZSBHSUNEX1RZUEVSX0RWSVMgKDFVIDw8IDE4KQogCiAjZGVmaW5l IEdJQ0NfQ1RMX0VOQUJMRSAweDEKICNkZWZpbmUgR0lDQ19DVExfRU9JICAgICgweDEgPDwgOSkK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaCBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaAppbmRleCA2ZDk4NDkxLi42YmQyNWE1IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZzLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLWFybS9naWNfdjNfZGVmcy5oCkBAIC0xNDEsNiArMTQxLDcgQEAgc3RydWN0IHJkaXN0X3Jl Z2lvbiB7CiAgICAgcGFkZHJfdCBiYXNlOwogICAgIHBhZGRyX3Qgc2l6ZTsKICAgICB2b2lkIF9f aW9tZW0gKm1hcF9iYXNlOworICAgIGJvb2wgc2luZ2xlX3JkaXN0OwogfTsKIAogI2VuZGlmIC8q IF9fQVNNX0FSTV9HSUNfVjNfREVGU19IX18gKi8KLS0gClF1YWxjb21tIFRlY2hub2xvZ2llcywg SW5jLiBvbiBiZWhhbGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gClF1YWxj b21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIENvZGUgQXVyb3JhIEZv cnVtLCAKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==