From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 08/45] ARM: GIC: extend LR read/write functions to cover EOI and source Date: Thu, 15 Mar 2018 20:30:13 +0000 Message-ID: <20180315203050.19791-9-andre.przywara@linaro.org> References: <20180315203050.19791-1-andre.przywara@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ewZWu-00035u-Dq for xen-devel@lists.xenproject.org; Thu, 15 Mar 2018 20:31:16 +0000 Received: by mail-wm0-x244.google.com with SMTP id q83so12888324wme.5 for ; Thu, 15 Mar 2018 13:31:14 -0700 (PDT) In-Reply-To: <20180315203050.19791-1-andre.przywara@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Andre Przywara List-Id: xen-devel@lists.xenproject.org RnJvbTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KClNvIGZhciBvdXIgTFIg cmVhZC93cml0ZSBmdW5jdGlvbnMgZG8gbm90IGhhbmRsZSB0aGUgRU9JIGJpdCBhbmQgdGhlCnNv dXJjZSBDUFVJRCBiaXRzIGluIGFuIExSLCBiZWNhdXNlIHRoZSBjdXJyZW50IFZHSUMgaW1wbGVt ZW50YXRpb24gZG9lcwpub3QgdXNlIHRoZW0uCkV4dGVuZCB0aGUgZ2ljX2xyIGRhdGEgc3RydWN0 dXJlIHRvIGhvbGQgdGhlc2UgYml0cyBvZiBpbmZvcm1hdGlvbiBieQp1c2luZyBhIHVuaW9uIHRv IGRpZmZlcmVudGlhdGUgZmllbGQgdXNlZCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgdklSUQpo YXMgYSBjb3JyZXNwb25kaW5nIHBJUlEuCgpUaGlzIGFsbG93cyB0aGUgbmV3IFZHSUMgdG8gdXNl IHRoaXMgaW5mb3JtYXRpb24uCgpUaGlzIGlzIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBwYXRjaCBz ZW50IGJ5IEFuZHJlIFByenl3YXJhIFsxXS4KClsxXSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTgtMDMvbXNnMDA0MzUuaHRtbAoKU2lnbmVk LW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KUmV2aWV3ZWQtYnk6 IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgpTaWduZWQtb2ZmLWJ5OiBB bmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KLS0tCkNoYW5nZXM6Ci0gUmVz ZXQgYXV0aG9yc2hpcAotIFJld29yayBzb3VyY2UKLSBBZGQgc291cmNlIHN1cHBvcnQgb24gR0lD djMKCiB4ZW4vYXJjaC9hcm0vZ2ljLXYyLmMgICAgICAgICAgICAgfCAyNiArKysrKysrKysrKysr KysrKysrKysrKy0tLQogeGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAgICAgIHwgMzQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9naWMu aCAgICAgICAgIHwgMTYgKysrKysrKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLWFybS9naWNf djNfZGVmcy5oIHwgIDIgKysKIDQgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMgYi94ZW4vYXJj aC9hcm0vZ2ljLXYyLmMKaW5kZXggMmYwMTI2OTJlMC4uN2RmZTZmYzY4ZCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL2dpYy12Mi5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjIuYwpAQCAtNDc0 LDggKzQ3NCwxNyBAQCBzdGF0aWMgdm9pZCBnaWN2Ml9yZWFkX2xyKGludCBsciwgc3RydWN0IGdp Y19sciAqbHJfcmVnKQogCiAgICAgaWYgKCBscl9yZWctPmh3X3N0YXR1cyApCiAgICAgewotICAg ICAgICBscl9yZWctPnBpcnEgPSBscnYgPj4gR0lDSF9WMl9MUl9QSFlTSUNBTF9TSElGVDsKLSAg ICAgICAgbHJfcmVnLT5waXJxICY9IEdJQ0hfVjJfTFJfUEhZU0lDQUxfTUFTSzsKKyAgICAgICAg bHJfcmVnLT5ody5waXJxID0gbHJ2ID4+IEdJQ0hfVjJfTFJfUEhZU0lDQUxfU0hJRlQ7CisgICAg ICAgIGxyX3JlZy0+aHcucGlycSAmPSBHSUNIX1YyX0xSX1BIWVNJQ0FMX01BU0s7CisgICAgfQor ICAgIGVsc2UKKyAgICB7CisgICAgICAgIGxyX3JlZy0+dmlydC5lb2kgPSAobHJ2ICYgR0lDSF9W Ml9MUl9NQUlOVEVOQU5DRV9JUlEpOworICAgICAgICBpZiAoIGxyX3JlZy0+dmlycSA8IE5SX0dJ Q19TR0kgKQorICAgICAgICB7CisgICAgICAgICAgICBscl9yZWctPnZpcnQuc291cmNlID0gKGxy diA+PiBHSUNIX1YyX0xSX0NQVUlEX1NISUZUKQorICAgICAgICAgICAgICAgICYgR0lDSF9WMl9M Ul9DUFVJRF9NQVNLOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC00OTYsNyArNTA1LDE4IEBA IHN0YXRpYyB2b2lkIGdpY3YyX3dyaXRlX2xyKGludCBsciwgY29uc3Qgc3RydWN0IGdpY19sciAq bHJfcmVnKQogICAgIGlmICggbHJfcmVnLT5od19zdGF0dXMgKQogICAgIHsKICAgICAgICAgbHJ2 IHw9IEdJQ0hfVjJfTFJfSFc7Ci0gICAgICAgIGxydiB8PSBscl9yZWctPnBpcnEgPDwgR0lDSF9W Ml9MUl9QSFlTSUNBTF9TSElGVDsKKyAgICAgICAgbHJ2IHw9IGxyX3JlZy0+aHcucGlycSA8PCBH SUNIX1YyX0xSX1BIWVNJQ0FMX1NISUZUOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAg ICBpZiAoIGxyX3JlZy0+dmlydC5lb2kgKQorICAgICAgICAgICAgbHJ2IHw9IEdJQ0hfVjJfTFJf TUFJTlRFTkFOQ0VfSVJROworICAgICAgICAvKgorICAgICAgICAgKiBUaGlzIGlzIG9ubHkgdmFs aWQgZm9yIFNHSSwgYnV0IGl0IGRvZXMgbm90IG1hdHRlciB0byBhbHdheXMKKyAgICAgICAgICog cmVhZCBpdCBhcyBpdCBzaG91bGQgYmUgMCBieSBkZWZhdWx0LgorICAgICAgICAgKi8KKyAgICAg ICAgQVNTRVJUKCFscl9yZWctPnZpcnQuc291cmNlIHx8IGxyX3JlZy0+dmlycSA8IE5SX0dJQ19T R0kpOworICAgICAgICBscnYgfD0gKHVpbnQzMl90KWxyX3JlZy0+dmlydC5zb3VyY2UgPDwgR0lD SF9WMl9MUl9DUFVJRF9TSElGVDsKICAgICB9CiAKICAgICB3cml0ZWxfZ2ljaChscnYsIEdJQ0hf TFIgKyBsciAqIDQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My5jIGIveGVuL2Fy Y2gvYXJtL2dpYy12My5jCmluZGV4IGU5MDEyMTBiNzguLjM5MmNmOTFiNTggMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL2FybS9naWMtdjMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKQEAgLTEw MTQsMTIgKzEwMTQsMjUgQEAgc3RhdGljIHZvaWQgZ2ljdjNfcmVhZF9scihpbnQgbHIsIHN0cnVj dCBnaWNfbHIgKmxyX3JlZykKICAgICBscl9yZWctPmh3X3N0YXR1cyA9IGxydiAmIElDSF9MUl9I VzsKIAogICAgIGlmICggbHJfcmVnLT5od19zdGF0dXMgKQotICAgICAgICBscl9yZWctPnBpcnEg PSAobHJ2ID4+IElDSF9MUl9QSFlTSUNBTF9TSElGVCkgJiBJQ0hfTFJfUEhZU0lDQUxfTUFTSzsK KyAgICAgICAgbHJfcmVnLT5ody5waXJxID0gKGxydiA+PiBJQ0hfTFJfUEhZU0lDQUxfU0hJRlQp ICYgSUNIX0xSX1BIWVNJQ0FMX01BU0s7CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgbHJfcmVn LT52aXJ0LmVvaSA9IChscnYgJiBJQ0hfTFJfTUFJTlRFTkFOQ0VfSVJRKTsKKyAgICAgICAgLyog U291cmNlIG9ubHkgZXhpc3RzIGZvciBTR0kgYW5kIGluIEdJQ3YyIGNvbXBhdGlibGUgbW9kZSAq LworICAgICAgICBpZiAoIGxyX3JlZy0+dmlycSA8IE5SX0dJQ19TR0kgJiYKKyAgICAgICAgICAg ICBjdXJyZW50LT5kb21haW4tPmFyY2gudmdpYy52ZXJzaW9uID09IEdJQ19WMiApCisgICAgICAg IHsKKyAgICAgICAgICAgIGxyX3JlZy0+dmlydC5zb3VyY2UgPSAobHJ2ID4+IElDSF9MUl9DUFVJ RF9TSElGVCkKKyAgICAgICAgICAgICAgICAmIElDSF9MUl9DUFVJRF9NQVNLOworICAgICAgICB9 CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBnaWN2M193cml0ZV9scihpbnQgbHJfcmVnLCBjb25z dCBzdHJ1Y3QgZ2ljX2xyICpscikKIHsKICAgICB1aW50NjRfdCBscnYgPSAwOworICAgIGNvbnN0 IGVudW0gZ2ljX3ZlcnNpb24gdmdpY192ZXJzaW9uID0gY3VycmVudC0+ZG9tYWluLT5hcmNoLnZn aWMudmVyc2lvbjsKKwogCiAgICAgbHJ2ID0gKCAoKHU2NCkobHItPnZpcnEgJiBJQ0hfTFJfVklS VFVBTF9NQVNLKSAgPDwgSUNIX0xSX1ZJUlRVQUxfU0hJRlQpIHwKICAgICAgICAgKCh1NjQpKGxy LT5wcmlvcml0eSAmIElDSF9MUl9QUklPUklUWV9NQVNLKSA8PCBJQ0hfTFJfUFJJT1JJVFlfU0hJ RlQpICk7CkBAIC0xMDMzLDE0ICsxMDQ2LDI5IEBAIHN0YXRpYyB2b2lkIGdpY3YzX3dyaXRlX2xy KGludCBscl9yZWcsIGNvbnN0IHN0cnVjdCBnaWNfbHIgKmxyKQogICAgIGlmICggbHItPmh3X3N0 YXR1cyApCiAgICAgewogICAgICAgICBscnYgfD0gSUNIX0xSX0hXOwotICAgICAgICBscnYgfD0g KHVpbnQ2NF90KWxyLT5waXJxIDw8IElDSF9MUl9QSFlTSUNBTF9TSElGVDsKKyAgICAgICAgbHJ2 IHw9ICh1aW50NjRfdClsci0+aHcucGlycSA8PCBJQ0hfTFJfUEhZU0lDQUxfU0hJRlQ7CisgICAg fQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIGlmICggbHItPnZpcnQuZW9pICkKKyAgICAgICAg ICAgIGxydiB8PSBJQ0hfTFJfTUFJTlRFTkFOQ0VfSVJROworICAgICAgICAvKiBTb3VyY2UgaXMg b25seSBzZXQgaW4gR0lDdjIgY29tcGF0aWJsZSBtb2RlICovCisgICAgICAgIGlmICggdmdpY192 ZXJzaW9uID09IEdJQ19WMiApCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAg ICAgKiBUaGlzIGlzIG9ubHkgdmFsaWQgZm9yIFNHSSwgYnV0IGl0IGRvZXMgbm90IG1hdHRlciB0 byBhbHdheXMKKyAgICAgICAgICAgICAqIHJlYWQgaXQgYXMgaXQgc2hvdWxkIGJlIDAgYnkgZGVm YXVsdC4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgQVNTRVJUKCFsci0+dmlydC5zb3Vy Y2UgfHwgbHItPnZpcnEgPCBOUl9HSUNfU0dJKTsKKyAgICAgICAgICAgIGxydiB8PSAodWludDY0 X3QpbHItPnZpcnQuc291cmNlIDw8IElDSF9MUl9DUFVJRF9TSElGVDsKKyAgICAgICAgfQogICAg IH0KIAogICAgIC8qCiAgICAgICogV2hlbiB0aGUgZ3Vlc3QgaXMgdXNpbmcgdkdJQ3YzLCBhbGwg dGhlIElSUXMgYXJlIEdyb3VwIDEuIEdyb3VwIDAKICAgICAgKiB3b3VsZCByZXN1bHQgaW4gYSBG SVEsIHdoaWNoIHdpbGwgbm90IGJlIGV4cGVjdGVkIGJ5IHRoZSBndWVzdCBPUy4KICAgICAgKi8K LSAgICBpZiAoIGN1cnJlbnQtPmRvbWFpbi0+YXJjaC52Z2ljLnZlcnNpb24gPT0gR0lDX1YzICkK KyAgICBpZiAoIHZnaWNfdmVyc2lvbiA9PSBHSUNfVjMgKQogICAgICAgICBscnYgfD0gSUNIX0xS X0dSUDE7CiAKICAgICBnaWN2M19pY2hfd3JpdGVfbHIobHJfcmVnLCBscnYpOwpkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgK aW5kZXggNTQ1OTAxYjEyMC4uNTY1YjA4NzVjYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LWFybS9naWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCkBAIC0yMDQsMTQgKzIw NCwyNiBAQCB1bmlvbiBnaWNfc3RhdGVfZGF0YSB7CiAgKiBUaGUgTFIgcmVnaXN0ZXIgZm9ybWF0 IGlzIGRpZmZlcmVudCBmb3IgR0lDIEhXIHZlcnNpb24KICAqLwogc3RydWN0IGdpY19sciB7Ci0g ICAvKiBQaHlzaWNhbCBJUlEgLT4gT25seSBzZXQgd2hlbiBod19zdGF0dXMgaXMgc2V0LiAqLwot ICAgdWludDMyX3QgcGlycTsKICAgIC8qIFZpcnR1YWwgSVJRICovCiAgICB1aW50MzJfdCB2aXJx OwogICAgdWludDhfdCBwcmlvcml0eTsKICAgIGJvb2wgYWN0aXZlOwogICAgYm9vbCBwZW5kaW5n OwogICAgYm9vbCBod19zdGF0dXM7CisgICB1bmlvbgorICAgeworICAgICAgIC8qIE9ubHkgZmls bGVkIHdoZW4gdGhlcmUgYXJlIGEgY29ycmVzcG9uZGluZyBwSVJRIChod19zdGF0ZSA9IHRydWUp ICovCisgICAgICAgc3RydWN0CisgICAgICAgeworICAgICAgICAgICB1aW50MzJfdCBwaXJxOwor ICAgICAgIH0gaHc7CisgICAgICAgLyogT25seSBmaWxsZWQgd2hlbiB0aGVyZSBhcmUgbm8gY29y cmVzcG9uZGluZyBwSVJRIChod19zdGF0ZSA9IGZhbHNlKSAqLworICAgICAgIHN0cnVjdAorICAg ICAgIHsKKyAgICAgICAgICAgYm9vbCBlb2k7CisgICAgICAgICAgIHVpbnQ4X3Qgc291cmNlOyAg ICAgIC8qIEdJQ3YyIG9ubHkgKi8KKyAgICAgICB9IHZpcnQ7CisgICB9OwogfTsKIAogZW51bSBn aWNfdmVyc2lvbiB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZz LmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZzLmgKaW5kZXggZDk4MjdiZDg0Yy4u MTBhMmFlZWE5MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfZGVmcy5o CisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2RlZnMuaApAQCAtMTY3LDYgKzE2Nyw4 IEBACiAKICNkZWZpbmUgSUNIX0xSX1ZJUlRVQUxfTUFTSyAgICAgICAgICAweGZmZmYKICNkZWZp bmUgSUNIX0xSX1ZJUlRVQUxfU0hJRlQgICAgICAgICAwCisjZGVmaW5lIElDSF9MUl9DUFVJRF9N QVNLICAgICAgICAgICAgMHg3CisjZGVmaW5lIElDSF9MUl9DUFVJRF9TSElGVCAgICAgICAgICAg MTAKICNkZWZpbmUgSUNIX0xSX1BIWVNJQ0FMX01BU0sgICAgICAgICAweDNmZgogI2RlZmluZSBJ Q0hfTFJfUEhZU0lDQUxfU0hJRlQgICAgICAgIDMyCiAjZGVmaW5lIElDSF9MUl9TVEFURV9NQVNL ICAgICAgICAgICAgMHgzCi0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs