From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v3 7/9] xen/arm: Allow DOM0 to set the IRQ type Date: Wed, 27 Jul 2016 14:58:28 +0100 Message-ID: <1469627910-3902-8-git-send-email-julien.grall@arm.com> References: <1469627910-3902-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469627910-3902-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, steve.capper@arm.com, Julien Grall , shannon.zhao@linaro.org, shankerd@codeaurora.org, wei.chen@linaro.org List-Id: xen-devel@lists.xenproject.org VGhlIGZ1bmN0aW9uIHJvdXRlX2lycV90b19ndWVzdCBtYW5kYXRlcyB0aGUgSVJRIHR5cGUsIHN0 b3JlZCBpbgpkZXNjLT5hcmNoLnR5cGUsIHRvIGJlIHZhbGlkLiBIb3dldmVyLCBpbiBjYXNlIG9m IEFDUEksIHRoZXNlCmluZm9ybWF0aW9uIGlzIG5vdCBwYXJ0IG9mIHRoZSBzdGF0aWMgdGFibGVz LiBUaGVyZWZvcmUgWGVuIG5lZWRzIHRvCnJlbHkgb24gRE9NMCB0byBwcm92aWRlIGEgdmFsaWQg dHlwZSBiYXNlZCBvbiB0aGUgZmlybXdhcmUgdGFibGVzLgoKQSBuZXcgaGVscGVyLCBpcnFfdHlw ZV9zZXRfYnlfZG9tYWluIGlzIHByb3ZpZGVkIHRvIGNoZWNrIHdoZXRoZXIgYQpkb21haW4gaXMg YWxsb3dlZCB0byBzZXQgdGhlIElSUSB0eXBlLiBGb3Igbm93LCBvbmx5IERPTTAgaXMgYWxsb3dl ZCB0bwpjb25maWd1cmUuCgpXaGVuIHRoZSBoZWxwZXIgcmV0dXJucyAxLCB0aGUgcm91dGluZyBm dW5jdGlvbiB3aWxsIG5vdCBjaGVjayB3aGV0aGVyCnRoZSBJUlEgdHlwZSBpcyBjb3JyZWN0bHkg c2V0IGFuZCBjb25maWd1cmUgdGhlIEdJQy4gSW5zdGVhZCwgdGhpcyB3aWxsCmJlIGRvbmUgd2hl biB0aGUgZG9tYWluIHdpbGwgZW5hYmxlIHRoZSBpbnRlcnJ1cHQuCgpOb3RlIHRoYXQgaXJxX3Nl dF9zcGlfdHlwZSBpcyBub3QgY2FsbGVkIGJlY2F1c2UgaXQgdmFsaWRhdGVzIHRoZSB0eXBlCmFu ZCBkb2VzIG5vdCBhbGxvdyBpdCB0aGUgZG9tYWluIHRvIGNoYW5nZSB0aGUgdHlwZSBhZnRlciB0 aGUgZmlyc3QKd3JpdGUuIEl0IG1lYW5zIHRoYXQgZGVzYy0+YXJjaC50eXBlIG1heSBuZXZlciBi ZSBzZXQsIHdoaWNoIGlzIGZpbmUKYmVjYXVzZSB0aGUgZmllbGQgaXMgb25seSB1c2VkIHRvIGNv bmZpZ3VyZSB0aGUgdHlwZSBkdXJpbmcgdGhlIHJvdXRpbmcuCgpCYXNlZCBvbiA0LjMuMTMgaW4g QVJNIElISSAwMDQ4Qi5iLCBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgSW50X2NvbmZpZyBpcwpVTlBS RURJQ1RBQkxFIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IGlzIG5vdCBkaXNhYmxl ZC4KClRoZXJlZm9yZSwgc2V0dGluZyB0aGUgSVJRIHR5cGUgd2hlbiB0aGUgZ3Vlc3QgaXMgd3Jp dGluZyBpbnRvIElDRkdSCndvdWxkIHJlcXVpcmUgbW9yZSB3b3JrIHRvIG1ha2Ugc3VyZSB0aGUg SVJRIGhhcyBiZWVuIGRpc2FibGVkIGJlZm9yZQp3cml0aW5nIGludG8gdGhlIGhvc3QgSUNGR1Iu IEFzIHRoZSBiZWhhdmlvciBpcyBVTlBSRURJQ1RBQkxFLCB0aGUgdHlwZQp3aWxsIGJlIHNldCBi ZWZvcmUgZW5hYmxpbmcgdGhlIHBoeXNpY2FsIElSUSBhc3NvY2lhdGVkIHRvIHRoZSB2aXJ0dWFs IElSUS4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ ClRlc3RlZC1ieTogU2hhbmtlciBEb250aGluZW5pIDxzaGFua2VyZEBjb2RlYXVyb3JhLm9yZz4K Ci0tLQoKSXQgbWlnaHQgYmUgcG9zc2libGUgdG8gbGV0IGFueSBkb21haW4gY29uZmlndXJlIHRo ZSBJUlEKdHlwZSAoY291bGQgYmUgdXNlZnVsIHdoZW4gcGFzc3Rocm91Z2ggYW4gSVJRIHdpdGgg QUNQSSkuIEhvd2V2ZXIsIHdlIHdvdWxkCm5lZWQgdG8gY29uc2lkZXIgYW55IHBvdGVudGlhbCBz ZWN1cml0eSBpbXBhY3QgYmVmb3JlaGFuZC4KCiAgICBDaGFuZ2VzIGluIHYzOgogICAgICAgIC0g VGhlIGN1cnJlbnQgY29kZSBvbmx5IGhhbmRsZSBTUElzLCBhZGQgYW4gYXNzZXJ0IHRvIGNhdGNo IGFueQogICAgICAgIHN1cHBvcnQgUFBJcyB3aXRob3V0IG1vZGlmeWluZyB0aGlzIGNvZGUuCiAg ICAgICAgLSBUZXN0ZWQgYnkgU2hhbmtlciBvbiBRREYyWFhYIHNlcnZlcgoKICAgIENoYW5nZXMg aW4gdjI6CiAgICAgICAgLSBSZW5hbWUgdGhlIHBhdGNoCiAgICAgICAgLSBBbGxvdyBhbnkgRE9N MCB0byBzZXQgdGhlIElSUSB0eXBlCiAgICAgICAgLSBSZS11c2UgaW4gcGFydCBvZiB2Z2ljX2dl dF92aXJxX3R5cGUgZnJvbQogICAgICAgICJDb25maWd1cmUgU1BJIGludGVycnVwdCB0eXBlIGFu ZCByb3V0ZSB0byBEb20wIGR5bmFtaWNhbGx5Ii4KICAgICAgICAtIEFkZCByYXRpb25hbGUgd2h5 IHRoZSBJUlEgdHlwZSBpcyBzZXQgaW4gZW5hYmxlCi0tLQogeGVuL2FyY2gvYXJtL2dpYy5jICAg ICAgICB8ICA1ICsrKy0tCiB4ZW4vYXJjaC9hcm0vaXJxLmMgICAgICAgIHwgMTMgKysrKysrKysr KysrLQogeGVuL2FyY2gvYXJtL3ZnaWMuYyAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysr KysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaCB8ICAzICsrKwogeGVuL2luY2x1ZGUvYXNt LWFybS9pcnEuaCB8ICA2ICsrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMuYyBiL3hlbi9h cmNoL2FybS9naWMuYwppbmRleCA3MmJiODg1Li42M2M3NDRhIDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vZ2ljLmMKKysrIGIveGVuL2FyY2gvYXJtL2dpYy5jCkBAIC05Nyw3ICs5Nyw3IEBAIHZv aWQgZ2ljX3Jlc3RvcmVfc3RhdGUoc3RydWN0IHZjcHUgKnYpCiB9CiAKIC8qIGRlc2MtPmlycSBu ZWVkcyB0byBiZSBkaXNhYmxlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uICovCi1zdGF0 aWMgdm9pZCBnaWNfc2V0X2lycV90eXBlKHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgdW5zaWduZWQg aW50IHR5cGUpCit2b2lkIGdpY19zZXRfaXJxX3R5cGUoc3RydWN0IGlycV9kZXNjICpkZXNjLCB1 bnNpZ25lZCBpbnQgdHlwZSkKIHsKICAgICAvKgogICAgICAqIElSUSBtdXN0IGJlIGRpc2FibGVk IGJlZm9yZSBjb25maWd1cmluZyBpdCAoc2VlIDQuMy4xMyBpbiBBUk0gSUhJCkBAIC0xNjAsNyAr MTYwLDggQEAgaW50IGdpY19yb3V0ZV9pcnFfdG9fZ3Vlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IHZpcnEsCiAgICAgZGVzYy0+aGFuZGxlciA9IGdpY19od19vcHMtPmdpY19ndWVz dF9pcnFfdHlwZTsKICAgICBzZXRfYml0KF9JUlFfR1VFU1QsICZkZXNjLT5zdGF0dXMpOwogCi0g ICAgZ2ljX3NldF9pcnFfdHlwZShkZXNjLCBkZXNjLT5hcmNoLnR5cGUpOworICAgIGlmICggIWly cV90eXBlX3NldF9ieV9kb21haW4oZCkgKQorICAgICAgICBnaWNfc2V0X2lycV90eXBlKGRlc2Ms IGRlc2MtPmFyY2gudHlwZSk7CiAgICAgZ2ljX3NldF9pcnFfcHJpb3JpdHkoZGVzYywgcHJpb3Jp dHkpOwogCiAgICAgcC0+ZGVzYyA9IGRlc2M7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaXJx LmMgYi94ZW4vYXJjaC9hcm0vaXJxLmMKaW5kZXggM2ZjMjJmMi4uMDZkNDg0MyAxMDA2NDQKLS0t IGEveGVuL2FyY2gvYXJtL2lycS5jCisrKyBiL3hlbi9hcmNoL2FybS9pcnEuYwpAQCAtMzk1LDYg KzM5NSwxNyBAQCBib29sX3QgaXNfYXNzaWduYWJsZV9pcnEodW5zaWduZWQgaW50IGlycSkKIH0K IAogLyoKKyAqIE9ubHkgdGhlIGhhcmR3YXJlIGRvbWFpbiBpcyBhbGxvd2VkIHRvIHNldCB0aGUg Y29uZmlndXJlIHRoZQorICogaW50ZXJydXB0IHR5cGUgZm9yIG5vdy4KKyAqCisgKiBYWFg6IFNl ZSB3aGV0aGVyIGl0IGlzIHBvc3NpYmxlIHRvIGxldCBhbnkgZG9tYWluIGNvbmZpZ3VyZSB0aGUg dHlwZS4KKyAqLworYm9vbF90IGlycV90eXBlX3NldF9ieV9kb21haW4oY29uc3Qgc3RydWN0IGRv bWFpbiAqZCkKK3sKKyAgICByZXR1cm4gKGQgPT0gaGFyZHdhcmVfZG9tYWluKTsKK30KKworLyoK ICAqIFJvdXRlIGFuIElSUSB0byBhIHNwZWNpZmljIGd1ZXN0LgogICogRm9yIG5vdyBvbmx5IFNQ SXMgYXJlIGFzc2lnbmFibGUgdG8gdGhlIGd1ZXN0LgogICovCkBAIC00NDksNyArNDYwLDcgQEAg aW50IHJvdXRlX2lycV90b19ndWVzdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmly cSwKIAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXNjLT5sb2NrLCBmbGFncyk7CiAKLSAgICBp ZiAoIGRlc2MtPmFyY2gudHlwZSA9PSBJUlFfVFlQRV9JTlZBTElEICkKKyAgICBpZiAoICFpcnFf dHlwZV9zZXRfYnlfZG9tYWluKGQpICYmIGRlc2MtPmFyY2gudHlwZSA9PSBJUlFfVFlQRV9JTlZB TElEICkKICAgICB7CiAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgIklSUSAldSBoYXMgbm90 IGJlZW4gY29uZmlndXJlZFxuIiwgaXJxKTsKICAgICAgICAgcmV0dmFsID0gLUVJTzsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy5jCmluZGV4IDkz OGJjN2QuLjA5NjUxMTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLmMKKysrIGIveGVu L2FyY2gvYXJtL3ZnaWMuYwpAQCAtMzQwLDYgKzM0MCwyMiBAQCB2b2lkIHZnaWNfZGlzYWJsZV9p cnFzKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCByLCBpbnQgbikKICAgICB9CiB9CiAKKyNkZWZp bmUgVkdJQ19JQ0ZHX01BU0soaW50cikgKDEgPDwgKCgyICogKChpbnRyKSAlIDE2KSkgKyAxKSkK KworLyogVGhlIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2l0aCB0aGUgcmFuayBsb2NrIHRh a2VuICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCB2Z2ljX2dldF92aXJxX3R5cGUoc3Ry dWN0IHZjcHUgKnYsIGludCBuLCBpbnQgaW5kZXgpCit7CisgICAgc3RydWN0IHZnaWNfaXJxX3Jh bmsgKnIgPSB2Z2ljX2dldF9yYW5rKHYsIG4pOworICAgIHVpbnQzMl90IHRyID0gci0+aWNmZ1tp bmRleCA+PiA0XTsKKworICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmci0+bG9jaykpOworCisg ICAgaWYgKCB0ciAmIFZHSUNfSUNGR19NQVNLKGluZGV4KSApCisgICAgICAgIHJldHVybiBJUlFf VFlQRV9FREdFX1JJU0lORzsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBJUlFfVFlQRV9MRVZF TF9ISUdIOworfQorCiB2b2lkIHZnaWNfZW5hYmxlX2lycXMoc3RydWN0IHZjcHUgKnYsIHVpbnQz Ml90IHIsIGludCBuKQogewogICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbWFzayA9IHI7CkBAIC0z NDgsNiArMzY0LDcgQEAgdm9pZCB2Z2ljX2VuYWJsZV9pcnFzKHN0cnVjdCB2Y3B1ICp2LCB1aW50 MzJfdCByLCBpbnQgbikKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIGludCBpID0gMDsK ICAgICBzdHJ1Y3QgdmNwdSAqdl90YXJnZXQ7CisgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRv bWFpbjsKIAogICAgIHdoaWxlICggKGkgPSBmaW5kX25leHRfYml0KCZtYXNrLCAzMiwgaSkpIDwg MzIgKSB7CiAgICAgICAgIGlycSA9IGkgKyAoMzIgKiBuKTsKQEAgLTM2Miw2ICszNzksMTMgQEAg dm9pZCB2Z2ljX2VuYWJsZV9pcnFzKHN0cnVjdCB2Y3B1ICp2LCB1aW50MzJfdCByLCBpbnQgbikK ICAgICAgICAgewogICAgICAgICAgICAgaXJxX3NldF9hZmZpbml0eShwLT5kZXNjLCBjcHVtYXNr X29mKHZfdGFyZ2V0LT5wcm9jZXNzb3IpKTsKICAgICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZl KCZwLT5kZXNjLT5sb2NrLCBmbGFncyk7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog VGhlIGlycSBjYW5ub3QgYmUgYSBQUEksIHdlIG9ubHkgc3VwcG9ydCBkZWxpdmVyeSBvZiBTUElz CisgICAgICAgICAgICAgKiB0byBndWVzdHMuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAg IEFTU0VSVChpcnEgPj0gMzIpOworICAgICAgICAgICAgaWYgKCBpcnFfdHlwZV9zZXRfYnlfZG9t YWluKGQpICkKKyAgICAgICAgICAgICAgICBnaWNfc2V0X2lycV90eXBlKHAtPmRlc2MsIHZnaWNf Z2V0X3ZpcnFfdHlwZSh2LCBuLCBpKSk7CiAgICAgICAgICAgICBwLT5kZXNjLT5oYW5kbGVyLT5l bmFibGUocC0+ZGVzYyk7CiAgICAgICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwLT5k ZXNjLT5sb2NrLCBmbGFncyk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vZ2ljLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy5oCmluZGV4IDIyMTRlODcuLjgz NmExMDMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLWFybS9naWMuaApAQCAtMjIyLDYgKzIyMiw5IEBAIGVudW0gZ2ljX3ZlcnNpb24g ewogCiBleHRlcm4gZW51bSBnaWNfdmVyc2lvbiBnaWNfaHdfdmVyc2lvbih2b2lkKTsKIAorLyog UHJvZ3JhbSB0aGUgSVJRIHR5cGUgaW50byB0aGUgR0lDICovCit2b2lkIGdpY19zZXRfaXJxX3R5 cGUoc3RydWN0IGlycV9kZXNjICpkZXNjLCB1bnNpZ25lZCBpbnQgdHlwZSk7CisKIC8qIFByb2dy YW0gdGhlIEdJQyB0byByb3V0ZSBhbiBpbnRlcnJ1cHQgKi8KIGV4dGVybiB2b2lkIGdpY19yb3V0 ZV9pcnFfdG9feGVuKHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgdW5zaWduZWQgaW50IHByaW9yaXR5 KTsKIGV4dGVybiBpbnQgZ2ljX3JvdXRlX2lycV90b19ndWVzdChzdHJ1Y3QgZG9tYWluICosIHVu c2lnbmVkIGludCB2aXJxLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9pcnEuaCBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vaXJxLmgKaW5kZXggNDkzNzczYy4uOGY3YTE2NyAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9pcnEuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJt L2lycS5oCkBAIC01OCw2ICs1OCwxMiBAQCBpbnQgcGxhdGZvcm1fZ2V0X2lycShjb25zdCBzdHJ1 Y3QgZHRfZGV2aWNlX25vZGUgKmRldmljZSwgaW50IGluZGV4KTsKIAogdm9pZCBpcnFfc2V0X2Fm ZmluaXR5KHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgY29uc3QgY3B1bWFza190ICpjcHVfbWFzayk7 CiAKKy8qCisgKiBVc2UgdGhpcyBoZWxwZXIgaW4gcGxhY2VzIHRoYXQgbmVlZCB0byBrbm93IHdo ZXRoZXIgdGhlIElSUSB0eXBlIGlzCisgKiBzZXQgYnkgdGhlIGRvbWFpbi4KKyAqLworYm9vbF90 IGlycV90eXBlX3NldF9ieV9kb21haW4oY29uc3Qgc3RydWN0IGRvbWFpbiAqZCk7CisKICNlbmRp ZiAvKiBfQVNNX0hXX0lSUV9IICovCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK