From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v3 5/8] ARM: VGIC: factor out vgic_connect_hw_irq() Date: Wed, 24 Jan 2018 18:10:55 +0000 Message-ID: <20180124181058.6157-6-andre.przywara@linaro.org> References: <20180124181058.6157-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 1eePVl-000787-KW for xen-devel@lists.xenproject.org; Wed, 24 Jan 2018 18:11:01 +0000 Received: by mail-wr0-x243.google.com with SMTP id 100so4999857wrb.7 for ; Wed, 24 Jan 2018 10:10:59 -0800 (PST) In-Reply-To: <20180124181058.6157-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: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org QXQgdGhlIG1vbWVudCB3ZSBoYXBwaWx5IGFjY2VzcyBWR0lDIGludGVybmFsIGRhdGEgc3RydWN0 dXJlcyBsaWtlCnRoZSByYW5rIGFuZCBzdHJ1Y3QgcGVuZGluZ19pcnEgaW4gZ2ljLmMsIHdoaWNo IHNob3VsZCBiZSBWR0lDIGFnbm9zdGljLgoKRmFjdG9yIG91dCBhIG5ldyBmdW5jdGlvbiB2Z2lj X2Nvbm5lY3RfaHdfaXJxKCksIHdoaWNoIGFsbG93cyBhIHZpcnR1YWwKSVJRIHRvIGJlIGNvbm5l Y3RlZCB0byBhIGhhcmR3YXJlIElSUSAodXNpbmcgdGhlIGh3IGJpdCBpbiB0aGUgTFIpLgoKVGhp cyByZW1vdmVzIHNhaWQgYWNjZXNzZXMgdG8gVkdJQyBkYXRhIHN0cnVjdHVyZXMgYW5kIGltcHJv dmVzIGFic3RyYWN0aW9uLgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnBy enl3YXJhQGxpbmFyby5vcmc+CkFja2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxs aW5pQGtlcm5lbC5vcmc+Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy12Z2ljLmMgICAgfCAzMSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vZ2ljLmMgICAgICAgICB8 IDQyICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1 ZGUvYXNtLWFybS92Z2ljLmggfCAgMiArKwogMyBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25z KCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXZnaWMu YyBiL3hlbi9hcmNoL2FybS9naWMtdmdpYy5jCmluZGV4IDBhMjk1OGM1ZGIuLmQ0NGU0ZGFjZDMg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdmdpYy5jCisrKyBiL3hlbi9hcmNoL2FybS9n aWMtdmdpYy5jCkBAIC00MTEsNiArNDExLDM3IEBAIHZvaWQgZ2ljX2R1bXBfdmdpY19pbmZvKHN0 cnVjdCB2Y3B1ICp2KQogICAgICAgICBwcmludGsoIlBlbmRpbmcgaXJxPSVkXG4iLCBwLT5pcnEp OwogfQogCitpbnQgdmdpY19jb25uZWN0X2h3X2lycShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qg dmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnEsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKyAgICAvKiBV c2UgdmNwdTAgdG8gcmV0cmlldmUgdGhlIHBlbmRpbmdfaXJxIHN0cnVjdC4gR2l2ZW4gdGhhdCB3 ZSBvbmx5CisgICAgICogcm91dGUgU1BJcyB0byBndWVzdHMsIGl0IGRvZXNuJ3QgbWFrZSBhbnkg ZGlmZmVyZW5jZS4gKi8KKyAgICBzdHJ1Y3QgdmNwdSAqdl90YXJnZXQgPSB2Z2ljX2dldF90YXJn ZXRfdmNwdShkLT52Y3B1WzBdLCB2aXJxKTsKKyAgICBzdHJ1Y3QgdmdpY19pcnFfcmFuayAqcmFu ayA9IHZnaWNfcmFua19pcnEodl90YXJnZXQsIHZpcnEpOworICAgIHN0cnVjdCBwZW5kaW5nX2ly cSAqcCA9IGlycV90b19wZW5kaW5nKHZfdGFyZ2V0LCB2aXJxKTsKKyAgICBpbnQgcmV0ID0gMDsK KworICAgIC8qIFdlIGFyZSB0YWtpbmcgdG8gcmFuayBsb2NrIHRvIHByZXZlbnQgcGFyYWxsZWwg Y29ubmVjdGlvbnMuICovCisgICAgdmdpY19sb2NrX3Jhbmsodl90YXJnZXQsIHJhbmssIGZsYWdz KTsKKworICAgIGlmICggZGVzYyApCisgICAgeworICAgICAgICAvKiBUaGUgVklSUSBzaG91bGQg bm90IGJlIGFscmVhZHkgZW5hYmxlZCBieSB0aGUgZ3Vlc3QgKi8KKyAgICAgICAgaWYgKCAhcC0+ ZGVzYyAmJgorICAgICAgICAgICAgICF0ZXN0X2JpdChHSUNfSVJRX0dVRVNUX0VOQUJMRUQsICZw LT5zdGF0dXMpICkKKyAgICAgICAgICAgIHAtPmRlc2MgPSBkZXNjOworICAgICAgICBlbHNlCisg ICAgICAgICAgICByZXQgPSAtRUJVU1k7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgcC0+ZGVz YyA9IE5VTEw7CisKKyAgICB2Z2ljX3VubG9ja19yYW5rKHZfdGFyZ2V0LCByYW5rLCBmbGFncyk7 CisKKyAgICByZXR1cm4gcmV0OworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9k ZTogQwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy5jIGIveGVuL2FyY2gvYXJtL2dpYy5j CmluZGV4IDRjYjc0ZDQ0OWUuLmQ0NmE2ZDU0YjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9n aWMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKQEAgLTEyOCwyNyArMTI4LDEyIEBAIHZvaWQg Z2ljX3JvdXRlX2lycV90b194ZW4oc3RydWN0IGlycV9kZXNjICpkZXNjLCB1bnNpZ25lZCBpbnQg cHJpb3JpdHkpCiBpbnQgZ2ljX3JvdXRlX2lycV90b19ndWVzdChzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBpbnQgdmlycSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpcnFf ZGVzYyAqZGVzYywgdW5zaWduZWQgaW50IHByaW9yaXR5KQogewotICAgIHVuc2lnbmVkIGxvbmcg ZmxhZ3M7Ci0gICAgLyogVXNlIHZjcHUwIHRvIHJldHJpZXZlIHRoZSBwZW5kaW5nX2lycSBzdHJ1 Y3QuIEdpdmVuIHRoYXQgd2Ugb25seQotICAgICAqIHJvdXRlIFNQSXMgdG8gZ3Vlc3RzLCBpdCBk b2Vzbid0IG1ha2UgYW55IGRpZmZlcmVuY2UuICovCi0gICAgc3RydWN0IHZjcHUgKnZfdGFyZ2V0 ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUoZC0+dmNwdVswXSwgdmlycSk7Ci0gICAgc3RydWN0IHZn aWNfaXJxX3JhbmsgKnJhbmsgPSB2Z2ljX3JhbmtfaXJxKHZfdGFyZ2V0LCB2aXJxKTsKLSAgICBz dHJ1Y3QgcGVuZGluZ19pcnEgKnAgPSBpcnFfdG9fcGVuZGluZyh2X3RhcmdldCwgdmlycSk7Ci0g ICAgaW50IHJlcyA9IC1FQlVTWTsKLQogICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmZGVzYy0+ bG9jaykpOwogICAgIC8qIENhbGxlciBoYXMgYWxyZWFkeSBjaGVja2VkIHRoYXQgdGhlIElSUSBp cyBhbiBTUEkgKi8KICAgICBBU1NFUlQodmlycSA+PSAzMik7CiAgICAgQVNTRVJUKHZpcnEgPCB2 Z2ljX251bV9pcnFzKGQpKTsKICAgICBBU1NFUlQoIWlzX2xwaSh2aXJxKSk7CiAKLSAgICB2Z2lj X2xvY2tfcmFuayh2X3RhcmdldCwgcmFuaywgZmxhZ3MpOwotCi0gICAgaWYgKCBwLT5kZXNjIHx8 Ci0gICAgICAgICAvKiBUaGUgVklSUSBzaG91bGQgbm90IGJlIGFscmVhZHkgZW5hYmxlZCBieSB0 aGUgZ3Vlc3QgKi8KLSAgICAgICAgIHRlc3RfYml0KEdJQ19JUlFfR1VFU1RfRU5BQkxFRCwgJnAt PnN0YXR1cykgKQotICAgICAgICBnb3RvIG91dDsKLQogICAgIGRlc2MtPmhhbmRsZXIgPSBnaWNf aHdfb3BzLT5naWNfZ3Vlc3RfaXJxX3R5cGU7CiAgICAgc2V0X2JpdChfSVJRX0dVRVNULCAmZGVz Yy0+c3RhdHVzKTsKIApAQCAtMTU2LDMxICsxNDEsMTkgQEAgaW50IGdpY19yb3V0ZV9pcnFfdG9f Z3Vlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEsCiAgICAgICAgIGdpY19z ZXRfaXJxX3R5cGUoZGVzYywgZGVzYy0+YXJjaC50eXBlKTsKICAgICBnaWNfc2V0X2lycV9wcmlv cml0eShkZXNjLCBwcmlvcml0eSk7CiAKLSAgICBwLT5kZXNjID0gZGVzYzsKLSAgICByZXMgPSAw OwotCi1vdXQ6Ci0gICAgdmdpY191bmxvY2tfcmFuayh2X3RhcmdldCwgcmFuaywgZmxhZ3MpOwot Ci0gICAgcmV0dXJuIHJlczsKKyAgICByZXR1cm4gdmdpY19jb25uZWN0X2h3X2lycShkLCBOVUxM LCB2aXJxLCBkZXNjKTsKIH0KIAogLyogVGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIHdpdGggU1BJ cyBmb3Igbm93ICovCiBpbnQgZ2ljX3JlbW92ZV9pcnFfZnJvbV9ndWVzdChzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgdmlycSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBpcnFfZGVzYyAqZGVzYykKIHsKLSAgICBzdHJ1Y3QgdmNwdSAqdl90YXJnZXQgPSB2Z2lj X2dldF90YXJnZXRfdmNwdShkLT52Y3B1WzBdLCB2aXJxKTsKLSAgICBzdHJ1Y3QgdmdpY19pcnFf cmFuayAqcmFuayA9IHZnaWNfcmFua19pcnEodl90YXJnZXQsIHZpcnEpOwotICAgIHN0cnVjdCBw ZW5kaW5nX2lycSAqcCA9IGlycV90b19wZW5kaW5nKHZfdGFyZ2V0LCB2aXJxKTsKLSAgICB1bnNp Z25lZCBsb25nIGZsYWdzOworICAgIGludCByZXQ7CiAKICAgICBBU1NFUlQoc3Bpbl9pc19sb2Nr ZWQoJmRlc2MtPmxvY2spKTsKICAgICBBU1NFUlQodGVzdF9iaXQoX0lSUV9HVUVTVCwgJmRlc2Mt PnN0YXR1cykpOwotICAgIEFTU0VSVChwLT5kZXNjID09IGRlc2MpOwogICAgIEFTU0VSVCghaXNf bHBpKHZpcnEpKTsKIAotICAgIHZnaWNfbG9ja19yYW5rKHZfdGFyZ2V0LCByYW5rLCBmbGFncyk7 Ci0KICAgICBpZiAoIGQtPmlzX2R5aW5nICkKICAgICB7CiAgICAgICAgIGRlc2MtPmhhbmRsZXIt PnNodXRkb3duKGRlc2MpOwpAQCAtMTk4LDE5ICsxNzEsMTYgQEAgaW50IGdpY19yZW1vdmVfaXJx X2Zyb21fZ3Vlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZpcnEsCiAgICAgICAg ICAqLwogICAgICAgICBpZiAoIHRlc3RfYml0KF9JUlFfSU5QUk9HUkVTUywgJmRlc2MtPnN0YXR1 cykgfHwKICAgICAgICAgICAgICAhdGVzdF9iaXQoX0lSUV9ESVNBQkxFRCwgJmRlc2MtPnN0YXR1 cykgKQotICAgICAgICB7Ci0gICAgICAgICAgICB2Z2ljX3VubG9ja19yYW5rKHZfdGFyZ2V0LCBy YW5rLCBmbGFncyk7CiAgICAgICAgICAgICByZXR1cm4gLUVCVVNZOwotICAgICAgICB9CiAgICAg fQogCisgICAgcmV0ID0gdmdpY19jb25uZWN0X2h3X2lycShkLCBOVUxMLCB2aXJxLCBOVUxMKTsK KyAgICBpZiAoIHJldCApCisgICAgICAgIHJldHVybiByZXQ7CisKICAgICBjbGVhcl9iaXQoX0lS UV9HVUVTVCwgJmRlc2MtPnN0YXR1cyk7CiAgICAgZGVzYy0+aGFuZGxlciA9ICZub19pcnFfdHlw ZTsKIAotICAgIHAtPmRlc2MgPSBOVUxMOwotCi0gICAgdmdpY191bmxvY2tfcmFuayh2X3Rhcmdl dCwgcmFuaywgZmxhZ3MpOwotCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vdmdpYy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmgKaW5kZXgg MjJjODUwMmM5NS4uZjQyNDBkZjM3MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS92 Z2ljLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmgKQEAgLTIxOSw2ICsyMTksOCBA QCBpbnQgdmdpY192Ml9pbml0KHN0cnVjdCBkb21haW4gKmQsIGludCAqbW1pb19jb3VudCk7CiBp bnQgdmdpY192M19pbml0KHN0cnVjdCBkb21haW4gKmQsIGludCAqbW1pb19jb3VudCk7CiAKIGJv b2wgdmdpY19ldnRjaG5faXJxX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpOworaW50IHZnaWNfY29u bmVjdF9od19pcnEoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGlu dCB2aXJxLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjKTsK IAogZXh0ZXJuIGludCBkb21haW5fdmdpY19yZWdpc3RlcihzdHJ1Y3QgZG9tYWluICpkLCBpbnQg Km1taW9fY291bnQpOwogZXh0ZXJuIGludCB2Y3B1X3ZnaWNfZnJlZShzdHJ1Y3QgdmNwdSAqdik7 Ci0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs