From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 1/2] xen/arm: GICv3: Parse ITS information from the firmware tables later on Date: Wed, 24 Jan 2018 18:26:15 +0000 Message-ID: <20180124182616.3384-2-julien.grall@linaro.org> References: <20180124182616.3384-1-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180124182616.3384-1-julien.grall@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, Julien Grall , andre.przywara@linaro.org List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIERldmljZSBUcmVlIChlLmcgZm9yIHRoZSBGb3VuZGF0aW9uIE1vZGVsKSBvdXQg dGhhdCBkZXNjcmliZXMgdGhlCklUUyBidXQgTFBJcyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBw bGF0Zm9ybS4gQm9vdGluZyB3aXRoIHN1Y2ggRFQgd2lsbApyZXN1bHQgdG8gYW4gZWFybHkgRGF0 YSBBYm9ydC4gVGhlIHNhbWUgRFQgaXMgYm9vdGluZyBmaW5lIHdpdGggYQpiYXJlbWV0YWwgIExp bnV4IGJlY2F1c2UgSVRTIHdpbGwgYmUgaW5pdGlhbGl6ZWQgb25seSB3aGVuIExQSXMgaXMKc3Vw cG9ydGVkLgoKV2hpbGUgdGhpcyBpcyBhIGJ1ZyBpbiB0aGUgRFQsIEkgdGhpbmsgWGVuIHNob3Vs ZCBiZSBib290IHdpdGggdGhlIHNhbWUKaGFyZHdhcmUgbGV2ZWwgc3VwcG9ydCAoZS5nIElUUyB3 aWxsIG5vdCBiZSB1c2VkKSBhcyB3aXRoIGEgYmFyZW1ldGFsCkxpbnV4LgoKVGhlIHNsaWdodCBw cm9ibGVtIGlzIFhlbiBpcyByZWx5aW5nIG9uIGdpY3YzX2l0c19ob3N0X2hhc19pdHMoKSB0byBr bm93CmlmIElUUyBjYW4gYmUgdXNlZC4gVGhlIGxpc3QgaXMgcG9wdWxhdGVkIGJ5IGdpY3YzX2l0 c197ZHQsYWNwaX1faW5pdCgpLgpJdCB3b3VsZCB0aGVvcml0aWNhbCBiZSBwb3NzaWJsZSB0byBn YXRlIHRob3NlIHdpdGggYSBjaGVjayBvZgpHSUNEX1RZUEVSLkxQSVMgYmVjYXVzZSB3ZSBkb24n dCBrbm93IHlldCB3aGV0aGVyIHRoZSBIVyBpcyBhbiBhY3R1YWwKR0lDdjMvR0lDdjQuCgpMb29r aW5nIGF0IHRoZSBjYWxsZXJzIG9mIGdpY3YzX2l0c19ob3N0X2hhc19pdHMoKSwgdGhleSB3aWxs IG9ubHkgYmUKZG9uZSBhZnRlciBnaWN2M19pdHNfaW5pdCgpIGlzIGNhbGxlZC4gVGhlcmVmb3Jl IG1vdmUgdGhlIHBhcnNpbmcgb2YgSVRTCmluZm9ybWF0aW9uIGZyb20gZmlybXdhcmUgdGFibGVz IGxhdGVyIG9uLgoKTm90ZSB0aGF0IGdpY3YzX2l0c19pbml0KCkgaGFzIGJlZW4gbW92ZWQgYXQg dGhlIGVuZCBvZiB0aGUgZmlsZSB0bwphdm9pZCBmb3J3YXJkIGRlY2xhcmF0aW9uLgoKU2lnbmVk LW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAbGluYXJvLm9yZz4KCi0tLQoKSSBj YW4gbW92ZSB0aGUgY29kZSBtb3ZlbWVudCBpbiBhIHNlcGFyYXRlIHBhdGNoIGlmIG5lY2Vzc2Fy eS4gSXQgd2FzCnNtYWxsIGVub3VnaCB0aGF0IEkgdGhvdWdodCBpdCB3b3VsZCBub3QgYmUgd29y dGguCgogICAgQ2hhbmdlcyBpbiB2MjoKICAgICAgICAtIEFjdHVhbGx5IHRlc3QgY29tcGlsYXRp b24gYW5kIGJvb3Qgb2YgdGhpcyBwYXRjaC4uLgotLS0KIHhlbi9hcmNoL2FybS9naWMtdjMtaXRz LmMgICAgICAgIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQog eGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAgICAgfCAgNSAtLS0tLQogeGVuL2luY2x1ZGUv YXNtLWFybS9naWNfdjNfaXRzLmggfCAxMiAtLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDMw IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9naWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCmluZGV4IGU1N2FlMDU3 NzEuLjYxMjc4OTRkMGIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKKysr IGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwpAQCAtNTE1LDIxICs1MTUsNiBAQCBzdGF0aWMg aW50IGdpY3YzX2l0c19pbml0X3NpbmdsZV9pdHMoc3RydWN0IGhvc3RfaXRzICpod19pdHMpCiAg ICAgcmV0dXJuIDA7CiB9CiAKLWludCBnaWN2M19pdHNfaW5pdCh2b2lkKQotewotICAgIHN0cnVj dCBob3N0X2l0cyAqaHdfaXRzOwotICAgIGludCByZXQ7Ci0KLSAgICBsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGh3X2l0cywgJmhvc3RfaXRzX2xpc3QsIGVudHJ5KQotICAgIHsKLSAgICAgICAgcmV0ID0g Z2ljdjNfaXRzX2luaXRfc2luZ2xlX2l0cyhod19pdHMpOwotICAgICAgICBpZiAoIHJldCApCi0g ICAgICAgICAgICByZXR1cm4gcmV0OwotICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCiAvKgog ICogVE9ETzogSW52ZXN0aWdhdGUgdGhlIGludGVyYWN0aW9uIHdoZW4gYSBndWVzdCByZW1vdmVz IGEgZGV2aWNlIHdoaWxlCiAgKiBzb21lIExQSXMgYXJlIHN0aWxsIGluIGZsaWdodC4KQEAgLTEw MTksNyArMTAwNCw3IEBAIHN0YXRpYyB2b2lkIGFkZF90b19ob3N0X2l0c19saXN0KHBhZGRyX3Qg YWRkciwgcGFkZHJfdCBzaXplLAogfQogCiAvKiBTY2FuIHRoZSBEVCBmb3IgYW55IElUUyBub2Rl cyBhbmQgY3JlYXRlIGEgbGlzdCBvZiBob3N0IElUU2VzIG91dCBvZiBpdC4gKi8KLXZvaWQgZ2lj djNfaXRzX2R0X2luaXQoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQorc3RhdGlj IHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2Rl KQogewogICAgIGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqaXRzID0gTlVMTDsKIApAQCAt MTA1Niw3ICsxMDQxLDcgQEAgc3RhdGljIGludCBnaWN2M19pdHNfYWNwaV9wcm9iZShzdHJ1Y3Qg YWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBn aWN2M19pdHNfYWNwaV9pbml0KHZvaWQpCitzdGF0aWMgdm9pZCBnaWN2M19pdHNfYWNwaV9pbml0 KHZvaWQpCiB7CiAgICAgLyogUGFyc2UgSVRTIGluZm9ybWF0aW9uICovCiAgICAgYWNwaV90YWJs ZV9wYXJzZV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfVFJBTlNMQVRPUiwKQEAgLTEwODEs OCArMTA2NiwzNiBAQCB1bnNpZ25lZCBsb25nIGdpY3YzX2l0c19tYWtlX2h3ZG9tX21hZHQoY29u c3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqYmFzZV9wdHIpCiAKICAgICByZXR1cm4gc2l6ZW9m KHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY190cmFuc2xhdG9yKSAqIHZnaWNfdjNfaXRzX2NvdW50 KGQpOwogfQorI2Vsc2UgLyogIUNPTkZJR19BQ1BJICovCisKK3N0YXRpYyB2b2lkIGdpY3YzX2l0 c19hY3BpX2luaXQodm9pZCkKK3sKKyAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKK30KKwogI2Vu ZGlmCiAKK2ludCBnaWN2M19pdHNfaW5pdCh2b2lkKQoreworICAgIHN0cnVjdCBob3N0X2l0cyAq aHdfaXRzOworICAgIGludCByZXQ7CisKKyAgICBpZiAoIGFjcGlfZGlzYWJsZWQgKQorICAgICAg ICBnaWN2M19pdHNfZHRfaW5pdChkdF9pbnRlcnJ1cHRfY29udHJvbGxlcik7CisgICAgZWxzZQor ICAgICAgICBnaWN2M19pdHNfYWNwaV9pbml0KCk7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5 KGh3X2l0cywgJmhvc3RfaXRzX2xpc3QsIGVudHJ5KQorICAgIHsKKyAgICAgICAgcmV0ID0gZ2lj djNfaXRzX2luaXRfc2luZ2xlX2l0cyhod19pdHMpOworICAgICAgICBpZiAoIHJldCApCisgICAg ICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKworICAgIHJldHVybiAwOworfQorCisKIC8qCiAg KiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v Z2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKaW5kZXggYTBkMjkwYjU1Yy4uOWY5Y2Y1 OWY4MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12My5jCisrKyBiL3hlbi9hcmNoL2Fy bS9naWMtdjMuYwpAQCAtMTMxNCw5ICsxMzE0LDYgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3Yz X2R0X2luaXQodm9pZCkKICAgICBpZiAoICFyZXMgKQogICAgICAgICBkdF9kZXZpY2VfZ2V0X2Fk ZHJlc3Mobm9kZSwgMSArIGdpY3YzLnJkaXN0X2NvdW50ICsgMiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZ2YmFzZSwgJnZzaXplKTsKLQotICAgIC8qIENoZWNrIGZvciBJVFMgY2hp bGQgbm9kZXMgYW5kIGJ1aWxkIHRoZSBob3N0IElUUyBsaXN0IGFjY29yZGluZ2x5LiAqLwotICAg IGdpY3YzX2l0c19kdF9pbml0KG5vZGUpOwogfQogCiBzdGF0aWMgaW50IGdpY3YzX2lvbWVtX2Rl bnlfYWNjZXNzKGNvbnN0IHN0cnVjdCBkb21haW4gKmQpCkBAIC0xNjA4LDggKzE2MDUsNiBAQCBz dGF0aWMgdm9pZCBfX2luaXQgZ2ljdjNfYWNwaV9pbml0KHZvaWQpCiAKICAgICBnaWN2My5yZGlz dF9zdHJpZGUgPSAwOwogCi0gICAgZ2ljdjNfaXRzX2FjcGlfaW5pdCgpOwotCiAgICAgLyoKICAg ICAgKiBJbiBBQ1BJLCAwIGlzIGNvbnNpZGVyZWQgYXMgdGhlIGludmFsaWQgYWRkcmVzcy4gSG93 ZXZlciB0aGUgcmVzdAogICAgICAqIG9mIHRoZSBpbml0aWFsaXphdGlvbiByZWx5IG9uIHRoZSBp bnZhbGlkIGFkZHJlc3MgdG8gYmUKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2lj X3YzX2l0cy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKaW5kZXggNDBkZmZk YzBmYS4uNzhhOWJiMTRkZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNf aXRzLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKQEAgLTEzMywxMSAr MTMzLDcgQEAgc3RydWN0IGhvc3RfaXRzIHsKIAogZXh0ZXJuIHN0cnVjdCBsaXN0X2hlYWQgaG9z dF9pdHNfbGlzdDsKIAotLyogUGFyc2UgdGhlIGhvc3QgRFQgYW5kIHBpY2sgdXAgYWxsIGhvc3Qg SVRTZXMuICovCi12b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vf bm9kZSAqbm9kZSk7Ci0KICNpZmRlZiBDT05GSUdfQUNQSQotdm9pZCBnaWN2M19pdHNfYWNwaV9p bml0KHZvaWQpOwogdW5zaWduZWQgbG9uZyBnaWN2M19pdHNfbWFrZV9od2RvbV9tYWR0KGNvbnN0 IHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqYmFzZV9wdHIpOwogI2VuZGlmCkBAIC0yMDIsMTUgKzE5OCw3IEBAIHZvaWQgZ2lj djNfbHBpX3VwZGF0ZV9ob3N0X2VudHJ5KHVpbnQzMl90IGhvc3RfbHBpLCBpbnQgZG9tYWluX2lk LAogCiAjZWxzZQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qg c3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQotewotfQotCiAjaWZkZWYgQ09ORklHX0FDUEkK LXN0YXRpYyBpbmxpbmUgdm9pZCBnaWN2M19pdHNfYWNwaV9pbml0KHZvaWQpCi17Ci19Ci0KIHN0 YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnaWN2M19pdHNfbWFrZV9od2RvbV9tYWR0KGNvbnN0 IHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICpiYXNlX3B0cikKIHsKLS0gCjIuMTEuMAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=