From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V3 18/29] VIOMMU: Add irq request callback to deal with irq remapping Date: Thu, 21 Sep 2017 23:01:59 -0400 Message-ID: <1506049330-11196-19-git-send-email-tianyu.lan@intel.com> References: <1506049330-11196-1-git-send-email-tianyu.lan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1506049330-11196-1-git-send-email-tianyu.lan@intel.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: Lan Tianyu , kevin.tian@intel.com, sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, roger.pau@citrix.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBhZGQgaXJxIHJlcXVlc3QgY2FsbGJhY2sgZm9yIHBsYXRmb3JtIGlt cGxlbWVudGF0aW9uCnRvIGRlYWwgd2l0aCBpcnEgcmVtYXBwaW5nIHJlcXVlc3QuCgpTaWduZWQt b2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4KLS0tCiB4ZW4vY29tbW9u L3Zpb21tdS5jICAgICAgICAgIHwgMTUgKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Zp b21tdS5oIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHhlbi9pbmNsdWRlL3hlbi92aW9tbXUuaCAgICAgfCAxMSArKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDk4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20t eDg2L3Zpb21tdS5oCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi92aW9tbXUuYyBiL3hlbi9jb21t b24vdmlvbW11LmMKaW5kZXggNTVmZWI1ZC4uYjUxNzE1OCAxMDA2NDQKLS0tIGEveGVuL2NvbW1v bi92aW9tbXUuYworKysgYi94ZW4vY29tbW9uL3Zpb21tdS5jCkBAIC0xNjMsNiArMTYzLDIxIEBA IGludCB2aW9tbXVfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX3Zp b21tdV9vcCAqb3AsCiAgICAgcmV0dXJuIHJjOwogfQogCitpbnQgdmlvbW11X2hhbmRsZV9pcnFf cmVxdWVzdChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGFyY2hfaXJxX3JlbWFwcGluZ19yZXF1ZXN0ICpyZXF1ZXN0KQoreworICAgIHN0cnVj dCB2aW9tbXUgKnZpb21tdSA9IGQtPnZpb21tdTsKKworICAgIGlmICggIXZpb21tdSApCisgICAg ICAgIHJldHVybiAtRUlOVkFMOworCisgICAgQVNTRVJUKHZpb21tdS0+b3BzKTsKKyAgICBpZiAo ICF2aW9tbXUtPm9wcy0+aGFuZGxlX2lycV9yZXF1ZXN0ICkKKyAgICAgICAgcmV0dXJuIC1FSU5W QUw7CisKKyAgICByZXR1cm4gdmlvbW11LT5vcHMtPmhhbmRsZV9pcnFfcmVxdWVzdChkLCByZXF1 ZXN0KTsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvdmlvbW11LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Zp b21tdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NmZiYjYKLS0tIC9k ZXYvbnVsbAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Zpb21tdS5oCkBAIC0wLDAgKzEsNzIg QEAKKy8qCisgKiBpbmNsdWRlL2FzbS14ODYvdmlvbW11LmgKKyAqCisgKiBDb3B5cmlnaHQgKGMp IDIwMTcgSW50ZWwgQ29ycG9yYXRpb24uCisgKiBBdXRob3I6IExhbiBUaWFueXUgPHRpYW55dS5s YW5AaW50ZWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorICogdmVy c2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAq CisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgaXQgd2lsbCBiZSB1 c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKKyAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IK KyAqIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCisgKiB0aGlzIHBy b2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisg Ki8KKyNpZm5kZWYgX19BUkNIX1g4Nl9WSU9NTVVfSF9fCisjZGVmaW5lIF9fQVJDSF9YODZfVklP TU1VX0hfXworCisvKiBJUlEgcmVxdWVzdCB0eXBlICovCisjZGVmaW5lIFZJT01NVV9SRVFVRVNU X0lSUV9NU0kgICAgICAgICAgMAorI2RlZmluZSBWSU9NTVVfUkVRVUVTVF9JUlFfQVBJQyAgICAg ICAgIDEKKworc3RydWN0IGFyY2hfaXJxX3JlbWFwcGluZ19yZXF1ZXN0Cit7CisgICAgdW5pb24g eworICAgICAgICAvKiBNU0kgKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVpbnQ2 NF90IGFkZHI7CisgICAgICAgICAgICB1aW50MzJfdCBkYXRhOworICAgICAgICB9IG1zaTsKKyAg ICAgICAgLyogUmVkaXJlY3Rpb24gRW50cnkgaW4gSU9BUElDICovCisgICAgICAgIHVpbnQ2NF90 IHJ0ZTsKKyAgICB9IG1zZzsKKyAgICB1aW50MTZfdCBzb3VyY2VfaWQ7CisgICAgdWludDhfdCB0 eXBlOworfTsKKworc3RhdGljIGlubGluZSB2b2lkIGlycV9yZXF1ZXN0X2lvYXBpY19maWxsKHN0 cnVjdCBhcmNoX2lycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGlvYXBpY19pZCwgdWludDY0X3QgcnRl KQoreworICAgIEFTU0VSVChyZXEpOworICAgIHJlcS0+dHlwZSA9IFZJT01NVV9SRVFVRVNUX0lS UV9BUElDOworICAgIHJlcS0+c291cmNlX2lkID0gaW9hcGljX2lkOworICAgIHJlcS0+bXNnLnJ0 ZSA9IHJ0ZTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGlycV9yZXF1ZXN0X21zaV9maWxsKHN0 cnVjdCBhcmNoX2lycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNvdXJjZV9pZCwgdWludDY0X3QgYWRkciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhKQor eworICAgIEFTU0VSVChyZXEpOworICAgIHJlcS0+dHlwZSA9IFZJT01NVV9SRVFVRVNUX0lSUV9N U0k7CisgICAgcmVxLT5zb3VyY2VfaWQgPSBzb3VyY2VfaWQ7CisgICAgcmVxLT5tc2cubXNpLmFk ZHIgPSBhZGRyOworICAgIHJlcS0+bXNnLm1zaS5kYXRhID0gZGF0YTsKK30KKworI2VuZGlmIC8q IF9fQVJDSF9YODZfVklPTU1VX0hfXyAqLworCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICog bW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAq IHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi92aW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi92aW9t bXUuaAppbmRleCBiYWE4YWI3Li4yMzBmNmIxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4v dmlvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3Zpb21tdS5oCkBAIC0yMSwxMCArMjEsMTMg QEAKICNkZWZpbmUgX19YRU5fVklPTU1VX0hfXwogCiBzdHJ1Y3QgdmlvbW11Oworc3RydWN0IGFy Y2hfaXJxX3JlbWFwcGluZ19yZXF1ZXN0OwogCiBzdHJ1Y3QgdmlvbW11X29wcyB7CiAgICAgaW50 ICgqY3JlYXRlKShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlvbW11ICp2aW9tbXUpOwogICAg IGludCAoKmRlc3Ryb3kpKHN0cnVjdCB2aW9tbXUgKnZpb21tdSk7CisgICAgaW50ICgqaGFuZGxl X2lycV9yZXF1ZXN0KShzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGFyY2hfaXJxX3JlbWFwcGluZ19yZXF1ZXN0ICpyZXF1ZXN0KTsKIH07CiAK IHN0cnVjdCB2aW9tbXUgewpAQCAtNDUsMTEgKzQ4LDE5IEBAIGludCB2aW9tbXVfcmVnaXN0ZXJf dHlwZSh1aW50NjRfdCB0eXBlLCBzdHJ1Y3QgdmlvbW11X29wcyAqb3BzKTsKIGludCB2aW9tbXVf ZGVzdHJveV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7CiBpbnQgdmlvbW11X2RvbWN0bChzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9tbXVfb3AgKm9wLAogICAgICAgICAg ICAgICAgICAgYm9vbF90ICpuZWVkX2NvcHkpOworaW50IHZpb21tdV9oYW5kbGVfaXJxX3JlcXVl c3Qoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBhcmNoX2lycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxdWVzdCk7CiAjZWxzZQogc3RhdGljIGlu bGluZSBpbnQgdmlvbW11X3JlZ2lzdGVyX3R5cGUodWludDY0X3QgdHlwZSwgc3RydWN0IHZpb21t dV9vcHMgKm9wcykKIHsKICAgICByZXR1cm4gLUVJTlZBTDsKIH0KK3N0YXRpYyBpbmxpbmUgaW50 Cit2aW9tbXVfaGFuZGxlX2lycV9yZXF1ZXN0KHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBhcmNoX2lycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxdWVz dCkKK3sKKyAgICByZXR1cm4gLUVJTlZBTDsKK30KICNlbmRpZgogCiAjZW5kaWYgLyogX19YRU5f VklPTU1VX0hfXyAqLwotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=