From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 2/25] VIOMMU: Add irq request callback to deal with irq remapping Date: Wed, 9 Aug 2017 16:34:03 -0400 Message-ID: <1502310866-10450-3-git-send-email-tianyu.lan@intel.com> References: <1502310866-10450-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: <1502310866-10450-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, julien.grall@arm.com, jbeulich@suse.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBhZGQgaXJxIHJlcXVlc3QgY2FsbGJhY2sgZm9yIHBsYXRmb3JtIGlt cGxlbWVudGF0aW9uCnRvIGRlYWwgd2l0aCBpcnEgcmVtYXBwaW5nIHJlcXVlc3QuCgpTaWduZWQt b2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4KLS0tCiB4ZW4vY29tbW9u L3Zpb21tdS5jICAgICAgICAgIHwgMTUgKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Zp b21tdS5oIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHhlbi9pbmNsdWRlL3hlbi92aW9tbXUuaCAgICAgfCAgOSArKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgOTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS14 ODYvdmlvbW11LmgKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3Zpb21tdS5jIGIveGVuL2NvbW1v bi92aW9tbXUuYwppbmRleCBhNGQwMDRkLi5mNGQzNGU2IDEwMDY0NAotLS0gYS94ZW4vY29tbW9u L3Zpb21tdS5jCisrKyBiL3hlbi9jb21tb24vdmlvbW11LmMKQEAgLTE5OCw2ICsxOTgsMjEgQEAg aW50IF9faW5pdCB2aW9tbXVfc2V0dXAodm9pZCkKICAgICByZXR1cm4gMDsKIH0KIAoraW50IHZp b21tdV9oYW5kbGVfaXJxX3JlcXVlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdTMyIHZpb21tdV9pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpcnFfcmVtYXBwaW5nX3JlcXVl c3QgKnJlcXVlc3QpCit7CisgICAgc3RydWN0IHZpb21tdV9pbmZvICppbmZvID0gJmQtPnZpb21t dTsKKworICAgIGlmICggdmlvbW11X2lkID49IGluZm8tPm5yX3Zpb21tdQorICAgICAgICAgfHwg IWluZm8tPnZpb21tdVt2aW9tbXVfaWRdICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAg ICBpZiAoICFpbmZvLT52aW9tbXVbdmlvbW11X2lkXS0+b3BzLT5oYW5kbGVfaXJxX3JlcXVlc3Qg KQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIHJldHVybiBpbmZvLT52aW9tbXVbdmlv bW11X2lkXS0+b3BzLT5oYW5kbGVfaXJxX3JlcXVlc3QoZCwgcmVxdWVzdCk7Cit9CisKIC8qCiAg KiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3Zpb21tdS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni92aW9tbXUuaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWJkYTcyCi0tLSAvZGV2L251bGwKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni92aW9tbXUuaApAQCAtMCwwICsxLDczIEBACisvKgorICogaW5jbHVk ZS9hc20teDg2L3Zpb21tdS5oCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE3IEludGVsIENvcnBv cmF0aW9uLgorICogQXV0aG9yOiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4gCisg KgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisgKiB2ZXJzaW9uIDIsIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhP VVQKKyAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m IE1FUkNIQU5UQUJJTElUWSBvcgorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICogbW9yZSBkZXRhaWxz LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGgKKyAqIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICoKKyAqLworI2lmbmRlZiBfX0FS Q0hfWDg2X1ZJT01NVV9IX18KKyNkZWZpbmUgX19BUkNIX1g4Nl9WSU9NTVVfSF9fCisKKyNpbmNs dWRlIDx4ZW4vdmlvbW11Lmg+CisjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CisKKy8qIElSUSByZXF1 ZXN0IHR5cGUgKi8KKyNkZWZpbmUgVklPTU1VX1JFUVVFU1RfSVJRX01TSSAgICAgICAgICAwCisj ZGVmaW5lIFZJT01NVV9SRVFVRVNUX0lSUV9BUElDICAgICAgICAgMQorCitzdHJ1Y3QgaXJxX3Jl bWFwcGluZ19yZXF1ZXN0Cit7CisgICAgdW5pb24geworICAgICAgICAvKiBNU0kgKi8KKyAgICAg ICAgc3RydWN0IHsKKyAgICAgICAgICAgIHU2NCBhZGRyOworICAgICAgICAgICAgdTMyIGRhdGE7 CisgICAgICAgIH0gbXNpOworICAgICAgICAvKiBSZWRpcmVjdGlvbiBFbnRyeSBpbiBJT0FQSUMg Ki8KKyAgICAgICAgdTY0IHJ0ZTsKKyAgICB9IG1zZzsKKyAgICB1MTYgc291cmNlX2lkOworICAg IHU4IHR5cGU7Cit9OworCitzdGF0aWMgaW5saW5lIHZvaWQgaXJxX3JlcXVlc3RfaW9hcGljX2Zp bGwoc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBpb2FwaWNfaWQsIHVpbnQ2NF90IHJ0ZSkKK3sKKyAgICBBU1NF UlQocmVxKTsKKyAgICByZXEtPnR5cGUgPSBWSU9NTVVfUkVRVUVTVF9JUlFfQVBJQzsKKyAgICBy ZXEtPnNvdXJjZV9pZCA9IGlvYXBpY19pZDsKKyAgICByZXEtPm1zZy5ydGUgPSBydGU7Cit9CisK K3N0YXRpYyBpbmxpbmUgdm9pZCBpcnFfcmVxdWVzdF9tc2lfZmlsbChzdHJ1Y3QgaXJxX3JlbWFw cGluZ19yZXF1ZXN0ICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNv dXJjZV9pZCwgdWludDY0X3QgYWRkciwgdWludDMyX3QgZGF0YSkKK3sKKyAgICBBU1NFUlQocmVx KTsKKyAgICByZXEtPnR5cGUgPSBWSU9NTVVfUkVRVUVTVF9JUlFfTVNJOworICAgIHJlcS0+c291 cmNlX2lkID0gc291cmNlX2lkOworICAgIHJlcS0+bXNnLm1zaS5hZGRyID0gYWRkcjsKKyAgICBy ZXEtPm1zZy5tc2kuZGF0YSA9IGRhdGE7Cit9CisKKyNlbmRpZiAvKiBfX0FSQ0hfWDg2X1ZJT01N VV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmls ZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAq IEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3Zpb21tdS5oIGIveGVuL2lu Y2x1ZGUveGVuL3Zpb21tdS5oCmluZGV4IDUyN2FmYjEuLjBiZTFiM2EgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3hlbi92aW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vdmlvbW11LmgKQEAg LTIwLDYgKzIwLDggQEAKICNpZm5kZWYgX19YRU5fVklPTU1VX0hfXwogI2RlZmluZSBfX1hFTl9W SU9NTVVfSF9fCiAKKyNpbmNsdWRlIDxhc20vdmlvbW11Lmg+CisKICNkZWZpbmUgTlJfVklPTU1V X1BFUl9ET01BSU4gMQogCiBzdHJ1Y3QgdmlvbW11OwpAQCAtMjgsNiArMzAsOCBAQCBzdHJ1Y3Qg dmlvbW11X29wcyB7CiAgICAgdTY0ICgqcXVlcnlfY2Fwcykoc3RydWN0IGRvbWFpbiAqZCk7CiAg ICAgaW50ICgqY3JlYXRlKShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlvbW11ICp2aW9tbXUp OwogICAgIGludCAoKmRlc3Ryb3kpKHN0cnVjdCB2aW9tbXUgKnZpb21tdSk7CisgICAgaW50ICgq aGFuZGxlX2lycV9yZXF1ZXN0KShzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGlycV9yZW1hcHBpbmdfcmVxdWVzdCAqcmVxdWVzdCk7CiB9Owog CiBzdHJ1Y3QgdmlvbW11IHsKQEAgLTUyLDYgKzU2LDggQEAgaW50IHZpb21tdV9yZWdpc3Rlcl90 eXBlKHU2NCB0eXBlLCBzdHJ1Y3QgdmlvbW11X29wcyAqIG9wcyk7CiBpbnQgdmlvbW11X2RvbWN0 bChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF92aW9tbXVfb3AgKm9wLAogICAg ICAgICAgICAgICAgICAgYm9vbF90ICpuZWVkX2NvcHkpOwogaW50IHZpb21tdV9zZXR1cCh2b2lk KTsKK2ludCB2aW9tbXVfaGFuZGxlX2lycV9yZXF1ZXN0KHN0cnVjdCBkb21haW4gKmQsIHUzMiB2 aW9tbXVfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaXJxX3JlbWFw cGluZ19yZXF1ZXN0ICpyZXF1ZXN0KTsKICNlbHNlCiBzdGF0aWMgaW5saW5lIGludCB2aW9tbXVf aW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGlu ZSBpbnQgdmlvbW11X3JlZ2lzdGVyX3R5cGUodTY0IHR5cGUsIHN0cnVjdCB2aW9tbXVfb3BzICog b3BzKQpAQCAtNjIsNiArNjgsOSBAQCBzdGF0aWMgaW5saW5lIGludCB2aW9tbXVfZG9tY3RsKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX3Zpb21tdV9vcCAqb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgKm5lZWRfY29weSkKIHsgcmV0dXJuIC1FTk9ERVYgfTsKK3N0YXRpYyBpbmxpbmUgaW50 IHZpb21tdV9oYW5kbGVfaXJxX3JlcXVlc3Qoc3RydWN0IGRvbWFpbiAqZCwgdTMyIHZpb21tdV9p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpcnFfcmVtYXBwaW5nX3Jl cXVlc3QgKnJlcXVlc3QpCit7IHJldHVybiAwIH07CiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fWEVO X1ZJT01NVV9IX18gKi8KLS0gCjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK