From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 3/26] VIOMMU: Add irq request callback to deal with irq remapping Date: Thu, 18 May 2017 01:34:33 -0400 Message-ID: <1495085696-10819-4-git-send-email-tianyu.lan@intel.com> References: <1495085696-10819-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: <1495085696-10819-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, wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBhZGQgaXJxIHJlcXVlc3QgY2FsbGJhY2sgZm9yIHBsYXRmb3JtIGlt cGxlbWVudGF0aW9uCnRvIGRlYWwgd2l0aCBpcnEgcmVtYXBwaW5nIHJlcXVlc3QuCgpTaWduZWQt b2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4KLS0tCiB4ZW4vY29tbW9u L3Zpb21tdS5jICAgICAgICAgIHwgMTUgKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Zp b21tdS5oIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHhlbi9pbmNsdWRlL3hlbi92aW9tbXUuaCAgICAgfCAgOSArKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgOTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS14 ODYvdmlvbW11LmgKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Zpb21tdS5jIGIveGVuL2NvbW1v bi92aW9tbXUuYwppbmRleCA3NGFmYmY1Li40ZTNlY2Q3IDEwMDY0NAotLS0gYS94ZW4vY29tbW9u L3Zpb21tdS5jCisrKyBiL3hlbi9jb21tb24vdmlvbW11LmMKQEAgLTE5NCw2ICsxOTQsMjEgQEAg aW50IF9faW5pdCB2aW9tbXVfc2V0dXAodm9pZCkKICAgICByZXR1cm4gMDsKIH0KIAoraW50IHZp b21tdV9oYW5kbGVfaXJxX3JlcXVlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdTMyIHZpb21tdV9pZCwK KyAgICAgICAgc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxdWVzdCkKK3sKKyAgICBz dHJ1Y3QgdmlvbW11X2luZm8gKmluZm8gPSAmZC0+dmlvbW11OworCisgICAgaWYgKCAhaW5mbyB8 fCB2aW9tbXVfaWQgPiBpbmZvLT5ucl92aW9tbXUKKyAgICAgICAgIHx8ICFpbmZvLT52aW9tbXVb dmlvbW11X2lkXSApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgaWYgKCAhaW5mby0+ dmlvbW11W3Zpb21tdV9pZF0tPm9wcy0+aGFuZGxlX2lycV9yZXF1ZXN0ICkKKyAgICAgICAgcmV0 dXJuIC1FSU5WQUw7CisKKyAgICByZXR1cm4gaW5mby0+dmlvbW11W3Zpb21tdV9pZF0tPm9wcy0+ aGFuZGxlX2lycV9yZXF1ZXN0KGQsIHJlcXVlc3QpOworfQorCiAvKgogICogTG9jYWwgdmFyaWFi bGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni92aW9tbXUu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvdmlvbW11LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNTFiZGE3MgotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvdmlvbW11LmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLXg4Ni92aW9t bXUuaAorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbi4KKyAqIEF1 dGhvcjogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+IAorICoKKyAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlLAorICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJ VFkgb3IKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhbG9uZyB3aXRoCisgKiB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisgKi8KKyNpZm5kZWYgX19BUkNIX1g4Nl9WSU9NTVVf SF9fCisjZGVmaW5lIF9fQVJDSF9YODZfVklPTU1VX0hfXworCisjaW5jbHVkZSA8eGVuL3Zpb21t dS5oPgorI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorCisvKiBJUlEgcmVxdWVzdCB0eXBlICovCisj ZGVmaW5lIFZJT01NVV9SRVFVRVNUX0lSUV9NU0kgICAgICAgICAgMAorI2RlZmluZSBWSU9NTVVf UkVRVUVTVF9JUlFfQVBJQyAgICAgICAgIDEKKworc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVz dAoreworICAgIHVuaW9uIHsKKyAgICAgICAgLyogTVNJICovCisgICAgICAgIHN0cnVjdCB7Cisg ICAgICAgICAgICB1NjQgYWRkcjsKKyAgICAgICAgICAgIHUzMiBkYXRhOworICAgICAgICB9IG1z aTsKKyAgICAgICAgLyogUmVkaXJlY3Rpb24gRW50cnkgaW4gSU9BUElDICovCisgICAgICAgIHU2 NCBydGU7CisgICAgfSBtc2c7CisgICAgdTE2IHNvdXJjZV9pZDsKKyAgICB1OCB0eXBlOworfTsK Kworc3RhdGljIGlubGluZSB2b2lkIGlycV9yZXF1ZXN0X2lvYXBpY19maWxsKHN0cnVjdCBpcnFf cmVtYXBwaW5nX3JlcXVlc3QgKnJlcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgaW9hcGljX2lkLCB1aW50NjRfdCBydGUpCit7CisgICAgQVNTRVJUKHJlcSk7CisgICAg cmVxLT50eXBlID0gVklPTU1VX1JFUVVFU1RfSVJRX0FQSUM7CisgICAgcmVxLT5zb3VyY2VfaWQg PSBpb2FwaWNfaWQ7CisgICAgcmVxLT5tc2cucnRlID0gcnRlOworfQorCitzdGF0aWMgaW5saW5l IHZvaWQgaXJxX3JlcXVlc3RfbXNpX2ZpbGwoc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVzdCAq cmVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzb3VyY2VfaWQsIHVpbnQ2 NF90IGFkZHIsIHVpbnQzMl90IGRhdGEpCit7CisgICAgQVNTRVJUKHJlcSk7CisgICAgcmVxLT50 eXBlID0gVklPTU1VX1JFUVVFU1RfSVJRX01TSTsKKyAgICByZXEtPnNvdXJjZV9pZCA9IHNvdXJj ZV9pZDsKKyAgICByZXEtPm1zZy5tc2kuYWRkciA9IGFkZHI7CisgICAgcmVxLT5tc2cubXNpLmRh dGEgPSBkYXRhOworfQorCisjZW5kaWYgLyogX19BUkNIX1g4Nl9WSU9NTVVfSF9fICovCisKKy8q CisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0Qi CisgKiBjLWJhc2ljLW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBFbmQ6CisgKi8KZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi92aW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi92aW9t bXUuaAppbmRleCA1OTA5ODAwLi41Yjk5MjExIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4v dmlvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3Zpb21tdS5oCkBAIC0yMCw2ICsyMCw4IEBA CiAjaWZuZGVmIF9fWEVOX1ZJT01NVV9IX18KICNkZWZpbmUgX19YRU5fVklPTU1VX0hfXwogCisj aW5jbHVkZSA8YXNtL3Zpb21tdS5oPgorCiAjZGVmaW5lIE5SX1ZJT01NVV9QRVJfRE9NQUlOIDEK IAogc3RydWN0IHZpb21tdTsKQEAgLTI4LDYgKzMwLDggQEAgc3RydWN0IHZpb21tdV9vcHMgewog ICAgIHU2NCAoKnF1ZXJ5X2NhcHMpKHN0cnVjdCBkb21haW4gKmQpOwogICAgIGludCAoKmNyZWF0 ZSkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZpb21tdSAqdmlvbW11KTsKICAgICBpbnQgKCpk ZXN0cm95KShzdHJ1Y3QgdmlvbW11ICp2aW9tbXUpOworICAgIGludCAoKmhhbmRsZV9pcnFfcmVx dWVzdCkoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBpcnFfcmVtYXBwaW5nX3JlcXVlc3QgKnJlcXVlc3QpOwogfTsKIAogc3RydWN0IHZpb21t dSB7CkBAIC01NSw2ICs1OSw4IEBAIHU2NCB2aW9tbXVfcXVlcnlfY2FwcyhzdHJ1Y3QgZG9tYWlu ICpkLCB1NjQgdmlvbW11X3R5cGUpOwogaW50IHZpb21tdV9kb21jdGwoc3RydWN0IGRvbWFpbiAq ZCwgc3RydWN0IHhlbl9kb21jdGxfdmlvbW11X29wICpvcCwKICAgICAgICAgICAgICAgICAgIGJv b2xfdCAqbmVlZF9jb3B5KTsKIGludCB2aW9tbXVfc2V0dXAodm9pZCk7CitpbnQgdmlvbW11X2hh bmRsZV9pcnFfcmVxdWVzdChzdHJ1Y3QgZG9tYWluICpkLCB1MzIgdmlvbW11X2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVx dWVzdCk7CiAjZWxzZQogc3RhdGljIGlubGluZSBpbnQgdmlvbW11X2luaXRfZG9tYWluKHN0cnVj dCBkb21haW4gKmQpIHsgcmV0dXJuIDAgfTsKIHN0YXRpYyBpbmxpbmUgaW50IHZpb21tdV9jcmVh dGUoc3RydWN0IGRvbWFpbiAqZCwgdTY0IHR5cGUsIHU2NCBiYXNlX2FkZHJlc3MsCkBAIC03MCw2 ICs3Niw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IHZpb21tdV9kb21jdGwoc3RydWN0IGRvbWFpbiAq ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhlbl9kb21jdGxfdmlv bW11X29wICpvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90ICpuZWVk X2NvcHkpCiB7IHJldHVybiAtRU5PREVWIH07CitzdGF0aWMgaW5saW5lIGludCB2aW9tbXVfaGFu ZGxlX2lycV9yZXF1ZXN0KHN0cnVjdCBkb21haW4gKmQsIHUzMiB2aW9tbXVfaWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaXJxX3JlbWFwcGluZ19yZXF1ZXN0ICpyZXF1 ZXN0KQoreyByZXR1cm4gMCB9OwogI2VuZGlmCiAKICNlbmRpZiAvKiBfX1hFTl9WSU9NTVVfSF9f ICovCi0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==