From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v2 15/45] ARM: new VGIC: Add acccessor to new struct vgic_irq instance Date: Thu, 15 Mar 2018 20:30:20 +0000 Message-ID: <20180315203050.19791-16-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 1ewZX1-0003IZ-T6 for xen-devel@lists.xenproject.org; Thu, 15 Mar 2018 20:31:23 +0000 Received: by mail-wr0-x241.google.com with SMTP id h2so9562741wre.12 for ; Thu, 15 Mar 2018 13:31:22 -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 List-Id: xen-devel@lists.xenproject.org VGhlIG5ldyBWR0lDIGltcGxlbWVudGF0aW9uIGNlbnRlcnMgYXJvdW5kIGEgc3RydWN0IHZnaWNf aXJxIGluc3RhbmNlCnBlciB2aXJ0dWFsIElSUS4KUHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHJldHJp ZXZlIHRoZSByaWdodCBpbnN0YW5jZSBmb3IgYSBnaXZlbiBJUlEKbnVtYmVyIGFuZCAoaW4gY2Fz ZSBvZiBwcml2YXRlIGludGVycnVwdHMpIHRoZSByaWdodCBWQ1BVLgpUaGlzIGFsc28gaW5jbHVk ZXMgdGhlIGNvcnJlc3BvbmRpbmcgcHV0IGZ1bmN0aW9uLCB3aGljaCBkb2VzIG5vdGhpbmcKZm9y IHByaXZhdGUgaW50ZXJydXB0cyBhbmQgU1BJcywgYnV0IGhhbmRsZXMgdGhlIHJlZi1jb3VudGlu ZyBmb3IgTFBJcy4KClRoaXMgaXMgYmFzZWQgb24gTGludXggY29tbWl0IDY0YTk1OWQ2NmU0Nywg d3JpdHRlbiBieSBDaHJpc3RvZmZlciBEYWxsLgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdh cmEgPGFuZHJlLnByenl3YXJhQGxpbmFyby5vcmc+Ci0tLQpDaGFuZ2Vsb2cgdjEgLi4uIHYyOgot IHJlb3JkZXIgaGVhZGVyIGZpbGUgaW5jbHVzaW9uCgogeGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy5j IHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4 ZW4vYXJjaC9hcm0vdmdpYy92Z2ljLmggfCAgNDEgKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2Fy bS92Z2ljL3ZnaWMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS92Z2ljL3ZnaWMu aAoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljL3ZnaWMuYyBiL3hlbi9hcmNoL2FybS92 Z2ljL3ZnaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5kOWQyODVj MzYxCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy5jCkBAIC0wLDAg KzEsMTI0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1LCAyMDE2IEFSTSBMdGQuCisgKiBJ bXBvcnRlZCBmcm9tIExpbnV4ICgibmV3IiBLVk0gVkdJQykgYW5kIGhlYXZpbHkgYWRhcHRlZCB0 byBYZW4uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworCisjaW5jbHVkZSA8eGVuL3Nj aGVkLmg+CisjaW5jbHVkZSA8YXNtL2J1Zy5oPgorI2luY2x1ZGUgPGFzbS9uZXdfdmdpYy5oPgor CisjaW5jbHVkZSAidmdpYy5oIgorCisvKgorICogSXRlcmF0ZSBvdmVyIHRoZSBWTSdzIGxpc3Qg b2YgbWFwcGVkIExQSXMgdG8gZmluZCB0aGUgb25lIHdpdGggYQorICogbWF0Y2hpbmcgaW50ZXJy dXB0IElEIGFuZCByZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIElSUSBzdHJ1Y3R1cmUuCisgKi8K K3N0YXRpYyBzdHJ1Y3QgdmdpY19pcnEgKnZnaWNfZ2V0X2xwaShzdHJ1Y3QgZG9tYWluICpkLCB1 MzIgaW50aWQpCit7CisgICAgc3RydWN0IHZnaWNfZGlzdCAqZGlzdCA9ICZkLT5hcmNoLnZnaWM7 CisgICAgc3RydWN0IHZnaWNfaXJxICppcnEgPSBOVUxMOworCisgICAgc3Bpbl9sb2NrKCZkaXN0 LT5scGlfbGlzdF9sb2NrKTsKKworICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoIGlycSwgJmRpc3Qt PmxwaV9saXN0X2hlYWQsIGxwaV9saXN0ICkKKyAgICB7CisgICAgICAgIGlmICggaXJxLT5pbnRp ZCAhPSBpbnRpZCApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvKgorICAgICAg ICAgKiBUaGlzIGluY3JlYXNlcyB0aGUgcmVmY291bnQsIHRoZSBjYWxsZXIgaXMgZXhwZWN0ZWQg dG8KKyAgICAgICAgICogY2FsbCB2Z2ljX3B1dF9pcnEoKSBsYXRlciBvbmNlIGl0J3MgZmluaXNo ZWQgd2l0aCB0aGUgSVJRLgorICAgICAgICAgKi8KKyAgICAgICAgdmdpY19nZXRfaXJxX2tyZWYo aXJxKTsKKyAgICAgICAgZ290byBvdXRfdW5sb2NrOworICAgIH0KKyAgICBpcnEgPSBOVUxMOwor CitvdXRfdW5sb2NrOgorICAgIHNwaW5fdW5sb2NrKCZkaXN0LT5scGlfbGlzdF9sb2NrKTsKKwor ICAgIHJldHVybiBpcnE7Cit9CisKKy8qKgorICogdmdpY19nZXRfaXJxKCkgLSBvYnRhaW4gYSBy ZWZlcmVuY2UgdG8gYSB2aXJ0dWFsIElSUQorICogQGQ6ICAgICAgICBUaGUgZG9tYWluIHRoZSB2 aXJ0dWFsIElSUSBiZWxvbmdzIHRvLgorICogQHZjcHU6ICAgICBGb3IgcHJpdmF0ZSBJUlFzIChT R0lzLCBQUElzKSB0aGUgdmlydHVhbCBDUFUgdGhpcyBJUlEKKyAqICAgICAgICAgICAgaXMgYXNz b2NpYXRlZCB3aXRoLiBXaWxsIGJlIGlnbm9yZWQgZm9yIFNQSXMgYW5kIExQSXMuCisgKiBAaW50 aWQ6ICAgIFRoZSB2aXJ0dWFsIElSUSBudW1iZXIuCisgKgorICogVGhpcyBsb29rcyB1cCB0aGUg dmlydHVhbCBpbnRlcnJ1cHQgSUQgdG8gZ2V0IHRoZSBjb3JyZXNwb25kaW5nCisgKiBzdHJ1Y3Qg dmdpY19pcnEuIEl0IGFsc28gaW5jcmVhc2VzIHRoZSByZWZjb3VudCwgc28gYW55IGNhbGxlciBp cyBleHBlY3RlZAorICogdG8gY2FsbCB2Z2ljX3B1dF9pcnEoKSBvbmNlIGl0J3MgZmluaXNoZWQg d2l0aCB0aGlzIElSUS4KKyAqCisgKiBSZXR1cm46IFRoZSBwb2ludGVyIHRvIHRoZSByZXF1ZXN0 ZWQgc3RydWN0IHZnaWNfaXJxLgorICovCitzdHJ1Y3QgdmdpY19pcnEgKnZnaWNfZ2V0X2lycShz dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmNwdSAqdmNwdSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHUzMiBpbnRpZCkKK3sKKyAgICAvKiBTR0lzIGFuZCBQUElzICovCisgICAgaWYg KCBpbnRpZCA8PSBWR0lDX01BWF9QUklWQVRFICkKKyAgICAgICAgcmV0dXJuICZ2Y3B1LT5hcmNo LnZnaWMucHJpdmF0ZV9pcnFzW2ludGlkXTsKKworICAgIC8qIFNQSXMgKi8KKyAgICBpZiAoIGlu dGlkIDw9IFZHSUNfTUFYX1NQSSApCisgICAgICAgIHJldHVybiAmZC0+YXJjaC52Z2ljLnNwaXNb aW50aWQgLSBWR0lDX05SX1BSSVZBVEVfSVJRU107CisKKyAgICAvKiBMUElzICovCisgICAgaWYg KCBpbnRpZCA+PSBWR0lDX01JTl9MUEkgKQorICAgICAgICByZXR1cm4gdmdpY19nZXRfbHBpKGQs IGludGlkKTsKKworICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworfQorCisvKioKKyAqIHZnaWNf cHV0X2lycSgpIC0gZHJvcCB0aGUgcmVmZXJlbmNlIHRvIGEgdmlydHVhbCBJUlEKKyAqIEBkOiAg ICAgICAgVGhlIGRvbWFpbiB0aGUgdmlydHVhbCBJUlEgYmVsb25ncyB0by4KKyAqIEBpcnE6ICAg ICAgVGhlIHBvaW50ZXIgdG8gc3RydWN0IHZnaWNfaXJxLCBhcyBvYnRhaW5lZCBmcm9tIHZnaWNf Z2V0X2lycSgpLgorICoKKyAqIFRoaXMgZHJvcHMgdGhlIHJlZmVyZW5jZSB0byBhIHZpcnR1YWwg SVJRLiBJdCBkZWNyZWFzZXMgdGhlIHJlZmNvdW50CisgKiBvZiB0aGUgcG9pbnRlciwgc28gZHlu YW1pYyBJUlFzIGNhbiBiZSBmcmVlZCB3aGVuIG5vIGxvbmdlciBuZWVkZWQuCisgKiBUaGlzIHNo b3VsZCBhbHdheXMgYmUgY2FsbGVkIGFmdGVyIGEgdmdpY19nZXRfaXJxKCksIHRob3VnaCB0aGUg cmVmZXJlbmNlCisgKiBjYW4gYmUgZGVsaWJlcmF0ZWx5IGhlbGQgZm9yIGxvbmdlciBwZXJpb2Rz LCBpZiBuZWVkZWQuCisgKi8KK3ZvaWQgdmdpY19wdXRfaXJxKHN0cnVjdCBkb21haW4gKmQsIHN0 cnVjdCB2Z2ljX2lycSAqaXJxKQoreworICAgIHN0cnVjdCB2Z2ljX2Rpc3QgKmRpc3QgPSAmZC0+ YXJjaC52Z2ljOworCisgICAgaWYgKCBpcnEtPmludGlkIDwgVkdJQ19NSU5fTFBJICkKKyAgICAg ICAgcmV0dXJuOworCisgICAgc3Bpbl9sb2NrKCZkaXN0LT5scGlfbGlzdF9sb2NrKTsKKyAgICBp ZiAoICFhdG9taWNfZGVjX2FuZF90ZXN0KCZpcnEtPnJlZmNvdW50KSApCisgICAgeworICAgICAg ICBzcGluX3VubG9jaygmZGlzdC0+bHBpX2xpc3RfbG9jayk7CisgICAgICAgIHJldHVybjsKKyAg ICB9OworCisgICAgbGlzdF9kZWwoJmlycS0+bHBpX2xpc3QpOworICAgIGRpc3QtPmxwaV9saXN0 X2NvdW50LS07CisgICAgc3Bpbl91bmxvY2soJmRpc3QtPmxwaV9saXN0X2xvY2spOworCisgICAg eGZyZWUoaXJxKTsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAq IGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQtdGFi cy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMv dmdpYy5oIGIveGVuL2FyY2gvYXJtL3ZnaWMvdmdpYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLmEzYmVmZDM4NmIKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vYXJjaC9h cm0vdmdpYy92Z2ljLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx NSwgMjAxNiBBUk0gTHRkLgorICogSW1wb3J0ZWQgZnJvbSBMaW51eCAoIm5ldyIgS1ZNIFZHSUMp IGFuZCBoZWF2aWx5IGFkYXB0ZWQgdG8gWGVuLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g MiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgor ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisg Ki8KKyNpZm5kZWYgX19YRU5fQVJNX1ZHSUNfVkdJQ19IX18KKyNkZWZpbmUgX19YRU5fQVJNX1ZH SUNfVkdJQ19IX18KKworc3RydWN0IHZnaWNfaXJxICp2Z2ljX2dldF9pcnEoc3RydWN0IGRvbWFp biAqZCwgc3RydWN0IHZjcHUgKnZjcHUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 MzIgaW50aWQpOwordm9pZCB2Z2ljX3B1dF9pcnEoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZn aWNfaXJxICppcnEpOworCitzdGF0aWMgaW5saW5lIHZvaWQgdmdpY19nZXRfaXJxX2tyZWYoc3Ry dWN0IHZnaWNfaXJxICppcnEpCit7CisgICAgaWYgKCBpcnEtPmludGlkIDwgVkdJQ19NSU5fTFBJ ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRvbWljX2luYygmaXJxLT5yZWZjb3VudCk7Cit9 CisKKyNlbmRpZgorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1m aWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGluZGVudC10YWJzLW1v ZGU6IG5pbAorICogRW5kOgorICovCi0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs