From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v5 07/10] IOMMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (leaf ones). Date: Wed, 18 May 2016 16:08:28 +0800 Message-ID: <1463558911-98187-8-git-send-email-quan.xu@intel.com> References: <1463558911-98187-1-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1463558911-98187-1-git-send-email-quan.xu@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: Kevin Tian , Stefano Stabellini , Feng Wu , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIHRoZSBpb21t dV9pb3RsYl9mbHVzaHssX2FsbH0uCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSBsZWFmIG9uZXMuCgpT aWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmlu IFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0 YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5j b20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBLZXZpbiBUaWFuIDxr ZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29tPgotLS0K IHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMgIHwgMTMgKysrKysrKystLS0tLQog eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCAgOCArKy0tLS0tLQogeGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgfCAyNSArKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICB8ICA1ICsrKy0tCiA0IGZp bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMgYi94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hcm0vc21tdS5jCmluZGV4IGVlNWM4OWQuLjFkMjE1NjggMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvYXJtL3NtbXUuYwpAQCAtMjU0MCw3ICsyNTQwLDcgQEAgc3RhdGljIGludCBmb3JjZV9z dGFnZSA9IDI7CiAgKi8KIHN0YXRpYyB1MzIgcGxhdGZvcm1fZmVhdHVyZXMgPSBBUk1fU01NVV9G RUFUX0NPSEVSRU5UX1dBTEs7CiAKLXN0YXRpYyB2b2lkIGFybV9zbW11X2lvdGxiX2ZsdXNoX2Fs bChzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfaW90 bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCiB7CiAJc3RydWN0IGFybV9zbW11X3hlbl9k b21haW4gKnNtbXVfZG9tYWluID0gZG9tX2lvbW11KGQpLT5hcmNoLnByaXY7CiAJc3RydWN0IGlv bW11X2RvbWFpbiAqY2ZnOwpAQCAtMjU1NywxMyArMjU1NywxNiBAQCBzdGF0aWMgdm9pZCBhcm1f c21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKIAkJYXJtX3NtbXVfdGxiX2lu dl9jb250ZXh0KGNmZy0+cHJpdik7CiAJfQogCXNwaW5fdW5sb2NrKCZzbW11X2RvbWFpbi0+bG9j ayk7CisKKwlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgYXJtX3NtbXVfaW90bGJfZmx1c2go c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKK3N0YXRpYyBpbnQgX19tdXN0 X2NoZWNrIGFybV9zbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGdmbiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBw YWdlX2NvdW50KQogewotICAgIC8qIEFSTSBTTU1VIHYxIGRvZXNuJ3QgaGF2ZSBmbHVzaCBieSBW TUEgYW5kIFZNSUQgKi8KLSAgICBhcm1fc21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CisJLyogQVJN IFNNTVUgdjEgZG9lc24ndCBoYXZlIGZsdXNoIGJ5IFZNQSBhbmQgVk1JRCAqLworCXJldHVybiBh cm1fc21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaW9tbXVfZG9t YWluICphcm1fc21tdV9nZXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsCmRpZmYgLS1naXQgYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv aW9tbXUuYwppbmRleCA1NGQzMDdiLi45MmQzN2M1IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMK QEAgLTMyMyw5ICszMjMsNyBAQCBpbnQgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBs YXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2ggKQogICAgICAgICBy ZXR1cm4gMDsKIAotICAgIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoKGQsIGdmbiwgcGFn ZV9jb3VudCk7Ci0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+ aW90bGJfZmx1c2goZCwgZ2ZuLCBwYWdlX2NvdW50KTsKIH0KIAogaW50IGlvbW11X2lvdGxiX2Zs dXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQpAQCAtMzM1LDkgKzMzMyw3IEBAIGludCBpb21tdV9p b3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKICAgICBpZiAoICFpb21tdV9lbmFibGVk IHx8ICFoZC0+cGxhdGZvcm1fb3BzIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9h bGwgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2Zs dXNoX2FsbChkKTsKLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBoZC0+cGxhdGZvcm1fb3Bz LT5pb3RsYl9mbHVzaF9hbGwoZCk7CiB9CiAKIGludCBfX2luaXQgaW9tbXVfc2V0dXAodm9pZCkK ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggNDYxNjg4Yy4uYTZjYWY5NyAxMDA2 NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTU1Nyw5ICs1NTcsMTAgQEAgc3RhdGlj IHZvaWQgaW9tbXVfZmx1c2hfYWxsKHZvaWQpCiAgICAgfQogfQogCi1zdGF0aWMgaW50IF9faW50 ZWxfaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGRtYV9vbGRfcHRl X3ByZXNlbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IHBhZ2VfY291bnQpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3Rs YihzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sX3QgZG1hX29sZF9wdGVfcHJlc2VudCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogewogICAg IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIHN0cnVjdCBhY3Bp X2RyaGRfdW5pdCAqZHJoZDsKQEAgLTYwNSwxNCArNjA2LDE2IEBAIHN0YXRpYyBpbnQgX19pbnRl bF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwK ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2lvbW11X2lvdGxiX2ZsdXNo KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9j b3VudCkKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzKHN0 cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogewotICAgIF9faW50 ZWxfaW9tbXVfaW90bGJfZmx1c2goZCwgZ2ZuLCAxLCBwYWdlX2NvdW50KTsKKyAgICByZXR1cm4g aW9tbXVfZmx1c2hfaW90bGIoZCwgZ2ZuLCAxLCBwYWdlX2NvdW50KTsKIH0KIAotc3RhdGljIHZv aWQgaW50ZWxfaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCitzdGF0aWMg aW50IGlvbW11X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogewotICAgIF9faW50 ZWxfaW9tbXVfaW90bGJfZmx1c2goZCwgSU5WQUxJRF9HRk4sIDAsIDApOworICAgIHJldHVybiBp b21tdV9mbHVzaF9pb3RsYihkLCBJTlZBTElEX0dGTiwgMCwgMCk7CiB9CiAKIC8qIGNsZWFyIG9u ZSBwYWdlJ3MgcGFnZSB0YWJsZSAqLwpAQCAtNjQ3LDcgKzY1MCw3IEBAIHN0YXRpYyBpbnQgX19t dXN0X2NoZWNrIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0IGFk ZHIpCiAgICAgaW9tbXVfZmx1c2hfY2FjaGVfZW50cnkocHRlLCBzaXplb2Yoc3RydWN0IGRtYV9w dGUpKTsKIAogICAgIGlmICggIXRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpICkKLSAg ICAgICAgcmMgPSBfX2ludGVsX2lvbW11X2lvdGxiX2ZsdXNoKGRvbWFpbiwgYWRkciA+PiBQQUdF X1NISUZUXzRLLCAxLCAxKTsKKyAgICAgICAgcmMgPSBpb21tdV9mbHVzaF9pb3RsYl9wYWdlcyhk b21haW4sIGFkZHIgPj4gUEFHRV9TSElGVF80SywgMSk7CiAKICAgICB1bm1hcF92dGRfZG9tYWlu X3BhZ2UocGFnZSk7CiAKQEAgLTE3NzUsNyArMTc3OCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2No ZWNrIGludGVsX2lvbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsCiAgICAgdW5tYXBfdnRk X2RvbWFpbl9wYWdlKHBhZ2UpOwogCiAgICAgaWYgKCAhdGhpc19jcHUoaW9tbXVfZG9udF9mbHVz aF9pb3RsYikgKQotICAgICAgICByYyA9IF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2goZCwgZ2Zu LCBkbWFfcHRlX3ByZXNlbnQob2xkKSwgMSk7CisgICAgICAgIHJjID0gaW9tbXVfZmx1c2hfaW90 bGIoZCwgZ2ZuLCBkbWFfcHRlX3ByZXNlbnQob2xkKSwgMSk7CiAKICAgICByZXR1cm4gcmM7CiB9 CkBAIC0yNjA0LDggKzI2MDcsOCBAQCBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGludGVsX2lvbW11 X29wcyA9IHsKICAgICAucmVzdW1lID0gdnRkX3Jlc3VtZSwKICAgICAuc2hhcmVfcDJtID0gaW9t bXVfc2V0X3BnZCwKICAgICAuY3Jhc2hfc2h1dGRvd24gPSB2dGRfY3Jhc2hfc2h1dGRvd24sCi0g ICAgLmlvdGxiX2ZsdXNoID0gaW50ZWxfaW9tbXVfaW90bGJfZmx1c2gsCi0gICAgLmlvdGxiX2Zs dXNoX2FsbCA9IGludGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbCwKKyAgICAuaW90bGJfZmx1c2gg PSBpb21tdV9mbHVzaF9pb3RsYl9wYWdlcywKKyAgICAuaW90bGJfZmx1c2hfYWxsID0gaW9tbXVf Zmx1c2hfaW90bGJfYWxsLAogICAgIC5nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeSA9IGludGVs X2lvbW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5LAogICAgIC5kdW1wX3AybV90YWJsZSA9 IHZ0ZF9kdW1wX3AybV90YWJsZSwKIH07CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDI3ZTJkM2UuLjc2MGNmNjUgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9p b21tdS5oCkBAIC0xNzksOCArMTc5LDkgQEAgc3RydWN0IGlvbW11X29wcyB7CiAgICAgdm9pZCAo KnJlc3VtZSkodm9pZCk7CiAgICAgdm9pZCAoKnNoYXJlX3AybSkoc3RydWN0IGRvbWFpbiAqZCk7 CiAgICAgdm9pZCAoKmNyYXNoX3NodXRkb3duKSh2b2lkKTsKLSAgICB2b2lkICgqaW90bGJfZmx1 c2gpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFn ZV9jb3VudCk7Ci0gICAgdm9pZCAoKmlvdGxiX2ZsdXNoX2FsbCkoc3RydWN0IGRvbWFpbiAqZCk7 CisgICAgaW50IF9fbXVzdF9jaGVjayAoKmlvdGxiX2ZsdXNoKShzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBwYWdlX2NvdW50KTsKKyAgICBpbnQgX19tdXN0X2NoZWNrICgqaW90bGJfZmx1 c2hfYWxsKShzdHJ1Y3QgZG9tYWluICpkKTsKICAgICBpbnQgKCpnZXRfcmVzZXJ2ZWRfZGV2aWNl X21lbW9yeSkoaW9tbXVfZ3JkbV90ICosIHZvaWQgKik7CiAgICAgdm9pZCAoKmR1bXBfcDJtX3Rh YmxlKShzdHJ1Y3QgZG9tYWluICpkKTsKIH07Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==