From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: [PATCH 3/8] arm/gic-v3: Parse per-cpu redistributor entry in GICC subtable Date: Sat, 18 Jun 2016 18:45:16 -0500 Message-ID: <1466293521-32746-4-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 VGhlIHJlZGlzdHJpYnV0b3IgYWRkcmVzcyBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBwYXJ0 IG9mIEdJQ0Mgb3IKR0lDUiBzdWJ0YWJsZSBkZXBlbmRpbmcgb24gdGhlIHBvd2VyIGRvbWFpbi4g VGhlIGN1cnJlbnQgZHJpdmVyCmRvZXNuJ3Qgc3VwcG9ydCBwYXJzaW5nIHJlZGlzdHJpYnV0b3Ig ZW50cnkgdGhhdCBpcyBkZWZpbmVkIGluIEdJQ0MKc3VidGFibGUuIFRoZSBHSUMgQ1BVIHN1YnRh YmxlIGVudHJ5IGhvbGRzIHRoZSBhc3NvY2lhdGVkIFJlZGlzdHJpYnV0b3IKYmFzZSBhZGRyZXNz IGlmIGl0IGlzIG5vdCBvbiBhbHdheXMtb24gcG93ZXIgZG9tYWluLgoKVGhpcyBwYXRjaCBhZGRz IG5lY2Vzc2FyeSBjb2RlIHRvIGhhbmRsZSBib3RoIHR5cGVzIG9mIFJlZGlzdHJpYnV0b3JzCmJh c2UgYWRkcmVzc2VzLgoKU2lnbmVkLW9mZi1ieTogU2hhbmtlciBEb250aGluZW5pIDxzaGFua2Vy ZEBjb2RlYXVyb3JhLm9yZz4KLS0tCiB4ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgICAgICAgICAgICAg fCA5NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIHhlbi9pbmNsdWRl L2FzbS1hcm0vZ2ljLmggICAgICAgICB8ICAyICsKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3Yz X2RlZnMuaCB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMTcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5jIGIveGVuL2FyY2gv YXJtL2dpYy12My5jCmluZGV4IGFmMTJlYmMuLjQyY2Y4NDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS9naWMtdjMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKQEAgLTY1OSw2ICs2NTks MTAgQEAgc3RhdGljIGludCBfX2luaXQgZ2ljdjNfcG9wdWxhdGVfcmRpc3Qodm9pZCkKICAgICAg ICAgICAgICAgICAgICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSwgaSwgcHRyKTsKICAgICAgICAg ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCBnaWN2 My5yZGlzdF9yZWdpb25zW2ldLnNpbmdsZV9yZGlzdCApCisgICAgICAgICAgICAgICAgYnJlYWs7 CisKICAgICAgICAgICAgIGlmICggZ2ljdjMucmRpc3Rfc3RyaWRlICkKICAgICAgICAgICAgICAg ICBwdHIgKz0gZ2ljdjMucmRpc3Rfc3RyaWRlOwogICAgICAgICAgICAgZWxzZQpAQCAtMTI4Miw2 ICsxMjg2LDExIEBAIHN0YXRpYyBpbnQgZ2ljdjNfaW9tZW1fZGVueV9hY2Nlc3MoY29uc3Qgc3Ry dWN0IGRvbWFpbiAqZCkKIH0KIAogI2lmZGVmIENPTkZJR19BQ1BJCitzdGF0aWMgYm9vbCBnaWNf ZGlzdF9zdXBwb3J0c19kdmlzKHZvaWQpCit7CisgICAgcmV0dXJuICEhKHJlYWRsX3JlbGF4ZWQo R0lDRCArIEdJQ0RfVFlQRVIpICYgR0lDRF9UWVBFUl9EVklTKTsKK30KKwogc3RhdGljIGludCBn aWN2M19tYWtlX2h3ZG9tX21hZHQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdTMyIG9mZnNldCkK IHsKICAgICBzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlcjsKQEAgLTEzOTMsMTgg KzE0MDIsMzkgQEAgZ2ljX2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yKHN0cnVjdCBhY3Bp X3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQogewogICAgIHN0cnVjdCBhY3BpX21hZHRfZ2Vu ZXJpY19yZWRpc3RyaWJ1dG9yICpyZGlzdDsKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNf aW50ZXJydXB0ICpwcm9jZXNzb3I7CiAgICAgc3RydWN0IHJkaXN0X3JlZ2lvbiAqcmVnaW9uOwog CiAgICAgcmVnaW9uID0gZ2ljdjMucmRpc3RfcmVnaW9ucyArIGdpY3YzLnJkaXN0X2NvdW50Owot ICAgIHJkaXN0ID0gKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yICopaGVh ZGVyOwotICAgIGlmICggQkFEX01BRFRfRU5UUlkocmRpc3QsIGVuZCkgKQotICAgICAgICByZXR1 cm4gLUVJTlZBTDsKKyAgICBpZiAoIGhlYWRlci0+dHlwZSA9PSBBQ1BJX01BRFRfVFlQRV9HRU5F UklDX1JFRElTVFJJQlVUT1IgKQorICAgIHsKKyAgICAgICAgcmRpc3QgPSAoc3RydWN0IGFjcGlf bWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IgKiloZWFkZXI7CisgICAgICAgIGlmICggQkFEX01B RFRfRU5UUlkocmRpc3QsIGVuZCkgKQorICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAg ICBpZiAoICFyZGlzdC0+YmFzZV9hZGRyZXNzIHx8ICFyZGlzdC0+bGVuZ3RoICkKLSAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisgICAgICAgIGlmICggIXJkaXN0LT5iYXNlX2FkZHJlc3MgfHwgIXJk aXN0LT5sZW5ndGggKQorICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAgICAgcmVn aW9uLT5iYXNlID0gcmRpc3QtPmJhc2VfYWRkcmVzczsKKyAgICAgICAgcmVnaW9uLT5zaXplID0g cmRpc3QtPmxlbmd0aDsKKyAgICB9CisgICAgZWxzZSBpZiAoIGhlYWRlci0+dHlwZSA9PSBBQ1BJ X01BRFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQVCApCisgICAgeworICAgICAgICBwcm9jZXNzb3Ig PSAoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCAqKWhlYWRlcjsKKyAgICAgICAg aWYgKCBCQURfTUFEVF9FTlRSWShwcm9jZXNzb3IsIGVuZCkgKQorICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisKKyAgICAgICAgaWYgKCAhKHByb2Nlc3Nvci0+ZmxhZ3MgJiBBQ1BJX01BRFRf RU5BQkxFRCkgKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgaWYgKCAhcHJvY2Vz c29yLT5naWNyX2Jhc2VfYWRkcmVzcyApCisgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKwor ICAgICAgICByZWdpb24tPmJhc2UgPSBwcm9jZXNzb3ItPmdpY3JfYmFzZV9hZGRyZXNzOworICAg ICAgICByZWdpb24tPnNpemUgPSBnaWNfZGlzdF9zdXBwb3J0c19kdmlzKCkgPyBTWl8yNTZLIDog U1pfMTI4SzsKKwlyZWdpb24tPnNpbmdsZV9yZGlzdCA9IHRydWU7CisgICB9CiAKLSAgICByZWdp b24tPmJhc2UgPSByZGlzdC0+YmFzZV9hZGRyZXNzOwotICAgIHJlZ2lvbi0+c2l6ZSA9IHJkaXN0 LT5sZW5ndGg7CiAKICAgICByZWdpb24tPm1hcF9iYXNlID0gaW9yZW1hcF9ub2NhY2hlKHJlZ2lv bi0+YmFzZSwgcmVnaW9uLT5zaXplKTsKICAgICBpZiAoICFyZWdpb24tPm1hcF9iYXNlICkKQEAg LTE0MTIsNiArMTQ0Miw3IEBAIGdpY19hY3BpX3BhcnNlX21hZHRfcmVkaXN0cmlidXRvcihzdHJ1 Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAgICAgICAgcHJpbnRrKCJVbmFibGUg dG8gbWFwIEdJQ1IgcmVnaXN0ZXJzXG4iKTsKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAg fQorCiAgICAgZ2ljdjMucmRpc3RfY291bnQrKzsKIAogICAgIHJldHVybiAwOwpAQCAtMTQyMSw5 ICsxNDUyLDIyIEBAIHN0YXRpYyBpbnQgX19pbml0CiBnaWNfYWNwaV9nZXRfbWFkdF9yZWRpc3Ry aWJ1dG9yX251bShzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQogewot ICAgIC8qIE5vdGhpbmcgdG8gZG8gaGVyZSBzaW5jZSBpdCBvbmx5IHdhbnRzIHRvIGdldCB0aGUg bnVtYmVyIG9mIEdJQwotICAgICAqIHJlZGlzdHJpYnV0b3JzLgotICAgICAqLworICAgIHN0cnVj dCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yICpyZGlzdDsKKyAgICBzdHJ1Y3QgYWNw aV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICpjcHVpZjsKKworICAgIGlmICggaGVhZGVyLT50eXBl ID09IEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfUkVESVNUUklCVVRPUiApCisgICAgeworCSByZGlz dCA9IChzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciAqKWhlYWRlcjsKKwkg aWYgKCBCQURfTUFEVF9FTlRSWShyZGlzdCwgZW5kKSB8fCAhcmRpc3QtPmJhc2VfYWRkcmVzcyAp CisJICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisgICAgZWxzZSBpZiAoIGhlYWRlci0+dHlw ZSA9PSBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQVCApCisgICAgeworCSBjcHVpZiA9 IChzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICopaGVhZGVyOworCSBpZiAoIEJB RF9NQURUX0VOVFJZKGNwdWlmLCBlbmQpIHx8ICFjcHVpZi0+Z2ljcl9iYXNlX2FkZHJlc3MgKQor CSAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTE0 MzEsNiArMTQ3NSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkK IHsKICAgICBzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlOwogICAgIHN0cnVjdCByZGlz dF9yZWdpb24gKnJkaXN0X3JlZ3M7CisgICAgYm9vbCBnaWNyX3RhYmxlID0gdHJ1ZTsKICAgICBh Y3BpX3N0YXR1cyBzdGF0dXM7CiAgICAgaW50IGNvdW50OwogCkBAIC0xNDYwLDggKzE1MDUsMTgg QEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQogICAgIGNvdW50ID0g YWNwaV9wYXJzZV9lbnRyaWVzKEFDUElfU0lHX01BRFQsIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJs ZV9tYWR0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9nZXRfbWFk dF9yZWRpc3RyaWJ1dG9yX251bSwgdGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQUNQSV9NQURUX1RZUEVfR0VORVJJQ19SRURJU1RSSUJVVE9SLCAwKTsKLSAgICBpZiAoIGNv dW50IDw9IDAgKQotICAgICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBl eGlzdHMiKTsKKworICAgIC8qIENvdW50IHRoZSB0b3RhbCBudW1iZXIgb2YgQ1BVIGludGVyZmFj ZSBlbnRyaWVzICovCisgICAgaWYgKGNvdW50IDw9IDApIHsKKyAgICAgICAgY291bnQgPSBhY3Bp X3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9nZXRfbWFkdF9yZWRpc3RyaWJ1dG9yX251bSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUsIEFDUElfTUFEVF9UWVBF X0dFTkVSSUNfSU5URVJSVVBULCAwKTsKKyAgICAgICAgaWYgKGNvdW50IDw9IDApCisgICAgICAg ICAgICBwYW5pYygiR0lDdjM6IE5vIHZhbGlkIEdJQ1IgZW50cmllcyBleGlzdHMiKTsKKworICAg ICAgICBnaWNyX3RhYmxlID0gZmFsc2U7CisgICAgfQogCiAgICAgaWYgKCBjb3VudCA+IE1BWF9S RElTVF9DT1VOVCApCiAgICAgICAgIHBhbmljKCJHSUN2MzogTnVtYmVyIG9mIHJlZGlzdHJpYnV0 b3IgcmVnaW9ucyBpcyBtb3JlIHRoYW4iCkBAIC0xNDczLDExICsxNTI4LDE5IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkKIAogICAgIGdpY3YzLnJkaXN0X3JlZ2lv bnMgPSByZGlzdF9yZWdzOwogCi0gICAgLyogUGFyc2UgYWx3YXlzLW9uIHBvd2VyIGRvbWFpbiBS ZS1kaXN0cmlidXRvciBlbnRyaWVzICovCi0gICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMo QUNQSV9TSUdfTUFEVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3Ry dWN0IGFjcGlfdGFibGVfbWFkdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2lj X2FjcGlfcGFyc2VfbWFkdF9yZWRpc3RyaWJ1dG9yLCB0YWJsZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1IsIGNvdW50 KTsKKyAgICBpZiAoIGdpY3JfdGFibGUgKQorICAgICAgICAvKiBQYXJzZSBhbHdheXMtb24gcG93 ZXIgZG9tYWluIFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgKi8KKyAgICAgICAgY291bnQgPSBhY3Bp X3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJzZV9tYWR0X3JlZGlzdHJpYnV0b3IsIHRh YmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX01BRFRfVFlQRV9H RU5FUklDX1JFRElTVFJJQlVUT1IsIGNvdW50KTsKKyAgICBlbHNlCisgICAgICAgIC8qIFBhcnNl IFJlLWRpc3RyaWJ1dG9yIGVudHJpZXMgZGVzY3JpYmVkIGluIENQVSBpbnRlcmZhY2UgdGFibGUg Ki8KKyAgICAgICAgY291bnQgPSBhY3BpX3BhcnNlX2VudHJpZXMoQUNQSV9TSUdfTUFEVCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxl X21hZHQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWNfYWNwaV9wYXJz ZV9tYWR0X3JlZGlzdHJpYnV0b3IsIHRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQVCwgY291bnQpOworCiAgICAg aWYgKCBjb3VudCA8PSAwICkKICAgICAgICAgcGFuaWMoIkdJQ3YzOiBDYW4ndCBnZXQgUmVkaXN0 cmlidXRvciBlbnRyeSIpOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5o IGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaAppbmRleCA0NGI5ZWY2Li43ZjlhZDg2IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1h cm0vZ2ljLmgKQEAgLTEwMSw2ICsxMDEsOCBAQAogI2RlZmluZSBHSUNEX1RZUEVfQ1BVU19TSElG VCA1CiAjZGVmaW5lIEdJQ0RfVFlQRV9DUFVTICAweDBlMAogI2RlZmluZSBHSUNEX1RZUEVfU0VD ICAgMHg0MDAKKyNkZWZpbmUgR0lDRF9UWVBFUl9MUElTICgxVSA8PCAxNykKKyNkZWZpbmUgR0lD RF9UWVBFUl9EVklTICgxVSA8PCAxOCkKIAogI2RlZmluZSBHSUNDX0NUTF9FTkFCTEUgMHgxCiAj ZGVmaW5lIEdJQ0NfQ1RMX0VPSSAgICAoMHgxIDw8IDkpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL2dpY192M19kZWZzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZz LmgKaW5kZXggNmQ5ODQ5MS4uNmJkMjVhNSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9naWNfdjNfZGVmcy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaApA QCAtMTQxLDYgKzE0MSw3IEBAIHN0cnVjdCByZGlzdF9yZWdpb24gewogICAgIHBhZGRyX3QgYmFz ZTsKICAgICBwYWRkcl90IHNpemU7CiAgICAgdm9pZCBfX2lvbWVtICptYXBfYmFzZTsKKyAgICBi b29sIHNpbmdsZV9yZGlzdDsKIH07CiAKICNlbmRpZiAvKiBfX0FTTV9BUk1fR0lDX1YzX0RFRlNf SF9fICovCi0tIApRdWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4gb24gYmVoYWxmIG9mIFF1YWxj b21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIApRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwg SW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1bSwgCmEgTGludXggRm91bmRhdGlv biBDb2xsYWJvcmF0aXZlIFByb2plY3QKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=