From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v8 08/11] IOMMU: propagate IOMMU Device-TLB flush error (leaf ones). Date: Mon, 13 Jun 2016 23:17:15 +0800 Message-ID: <1465831038-43005-9-git-send-email-quan.xu@intel.com> References: <1465831038-43005-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: <1465831038-43005-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 RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3Ug PGZlbmcud3VAaW50ZWwuY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11 LmMgIHwgMTMgKysrKysrKystLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAg ICAgfCAgOCArKy0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgfCAz MiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL2lvbW11 LmggICAgICAgICAgICAgfCAgNSArKystLQogNCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25z KCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYwppbmRleCA1 OGZkZTMyLi44YTRiMTIzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0v c21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKQEAgLTI1NDAs NyArMjU0MCw3IEBAIHN0YXRpYyBpbnQgZm9yY2Vfc3RhZ2UgPSAyOwogICovCiBzdGF0aWMgdTMy IHBsYXRmb3JtX2ZlYXR1cmVzID0gQVJNX1NNTVVfRkVBVF9DT0hFUkVOVF9XQUxLOwogCi1zdGF0 aWMgdm9pZCBhcm1fc21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKK3N0YXRp YyBpbnQgX19tdXN0X2NoZWNrIGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWlu ICpkKQogewogCXN0cnVjdCBhcm1fc21tdV94ZW5fZG9tYWluICpzbW11X2RvbWFpbiA9IGRvbV9p b21tdShkKS0+YXJjaC5wcml2OwogCXN0cnVjdCBpb21tdV9kb21haW4gKmNmZzsKQEAgLTI1NTcs MTMgKzI1NTcsMTYgQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVj dCBkb21haW4gKmQpCiAJCWFybV9zbW11X3RsYl9pbnZfY29udGV4dChjZmctPnByaXYpOwogCX0K IAlzcGluX3VubG9jaygmc21tdV9kb21haW4tPmxvY2spOworCisJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyB2b2lkIGFybV9zbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGxvbmcgZ2ZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IHBhZ2VfY291bnQpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhcm1fc21tdV9pb3RsYl9mbHVz aChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsKLSAgICAvKiBBUk0g U01NVSB2MSBkb2Vzbid0IGhhdmUgZmx1c2ggYnkgVk1BIGFuZCBWTUlEICovCi0gICAgYXJtX3Nt bXVfaW90bGJfZmx1c2hfYWxsKGQpOworCS8qIEFSTSBTTU1VIHYxIGRvZXNuJ3QgaGF2ZSBmbHVz aCBieSBWTUEgYW5kIFZNSUQgKi8KKwlyZXR1cm4gYXJtX3NtbXVfaW90bGJfZmx1c2hfYWxsKGQp OwogfQogCiBzdGF0aWMgc3RydWN0IGlvbW11X2RvbWFpbiAqYXJtX3NtbXVfZ2V0X2RvbWFpbihz dHJ1Y3QgZG9tYWluICpkLApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYTk4OThmYy4uZWY4 MGIzYyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0zMTksOSArMzE5LDcgQEAgaW50IGlv bW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAg IGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwgIWhkLT5wbGF0Zm9y bV9vcHMtPmlvdGxiX2ZsdXNoICkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBoZC0+cGxhdGZv cm1fb3BzLT5pb3RsYl9mbHVzaChkLCBnZm4sIHBhZ2VfY291bnQpOwotCi0gICAgcmV0dXJuIDA7 CisgICAgcmV0dXJuIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoKGQsIGdmbiwgcGFnZV9j b3VudCk7CiB9CiAKIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkK QEAgLTMzMSw5ICszMjksNyBAQCBpbnQgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21h aW4gKmQpCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fCAh aGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsICkKICAgICAgICAgcmV0dXJuIDA7CiAK LSAgICBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9hbGwoZCk7Ci0KLSAgICByZXR1cm4g MDsKKyAgICByZXR1cm4gaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsKGQpOwogfQog CiBpbnQgX19pbml0IGlvbW11X3NldHVwKHZvaWQpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5jCmluZGV4IDBmMTdhZmIuLjQ4ZWRiNjcgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5jCkBAIC01NTksOCArNTU5LDEwIEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2Zs dXNoX2FsbCh2b2lkKQogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2ludGVsX2lv bW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAotICAg ICAgICBpbnQgZG1hX29sZF9wdGVfcHJlc2VudCwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCitz dGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYihzdHJ1Y3QgZG9tYWluICpk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3Qg ZG1hX29sZF9wdGVfcHJlc2VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogewogICAgIHN0cnVjdCBkb21haW5faW9t bXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsK QEAgLTU5OCwxNiArNjAwLDIwIEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1 c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCiAgICAgICAgICAgICAgICAg aW9tbXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11KTsKICAgICAgICAgfQogICAgIH0KKworICAg IHJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQp CitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYl9wYWdlcyhzdHJ1Y3Qg ZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsKLSAgICBfX2ludGVsX2lv bW11X2lvdGxiX2ZsdXNoKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CisgICAgcmV0dXJuIGlvbW11 X2ZsdXNoX2lvdGxiKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CiB9CiAKLXN0YXRpYyB2b2lkIGlu dGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGludCBf X211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGJfYWxsKHN0cnVjdCBkb21haW4gKmQpCiB7Ci0g ICAgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChkLCBJTlZBTElEX0dGTiwgMCwgMCk7CisgICAg cmV0dXJuIGlvbW11X2ZsdXNoX2lvdGxiKGQsIElOVkFMSURfR0ZOLCAwLCAwKTsKIH0KIAogLyog Y2xlYXIgb25lIHBhZ2UncyBwYWdlIHRhYmxlICovCkBAIC02MTYsNiArNjIyLDcgQEAgc3RhdGlj IGludCBfX211c3RfY2hlY2sgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWlu LCB1NjQgYWRkcikKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21h aW4pOwogICAgIHN0cnVjdCBkbWFfcHRlICpwYWdlID0gTlVMTCwgKnB0ZSA9IE5VTEw7CiAgICAg dTY0IHBnX21hZGRyOworICAgIGludCByYyA9IDA7CiAKICAgICBzcGluX2xvY2soJmhkLT5hcmNo Lm1hcHBpbmdfbG9jayk7CiAgICAgLyogZ2V0IGxhc3QgbGV2ZWwgcHRlICovCkBAIC02NDEsMTEg KzY0OCwxMSBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBkbWFfcHRlX2NsZWFyX29uZShzdHJ1 Y3QgZG9tYWluICpkb21haW4sIHU2NCBhZGRyKQogICAgIGlvbW11X2ZsdXNoX2NhY2hlX2VudHJ5 KHB0ZSwgc2l6ZW9mKHN0cnVjdCBkbWFfcHRlKSk7CiAKICAgICBpZiAoICF0aGlzX2NwdShpb21t dV9kb250X2ZsdXNoX2lvdGxiKSApCi0gICAgICAgIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2go ZG9tYWluLCBhZGRyID4+IFBBR0VfU0hJRlRfNEssIDEsIDEpOworICAgICAgICByYyA9IGlvbW11 X2ZsdXNoX2lvdGxiX3BhZ2VzKGRvbWFpbiwgYWRkciA+PiBQQUdFX1NISUZUXzRLLCAxKTsKIAog ICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsKIAotICAgIHJldHVybiAwOworICAgIHJl dHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQgaW9tbXVfZnJlZV9wYWdldGFibGUodTY0IHB0X21h ZGRyLCBpbnQgbGV2ZWwpCkBAIC0xNjk5LDYgKzE3MDYsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9j aGVjayBpbnRlbF9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIHN0cnVjdCBk b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIHN0cnVjdCBkbWFfcHRlICpwYWdl ID0gTlVMTCwgKnB0ZSA9IE5VTEwsIG9sZCwgbmV3ID0geyAwIH07CiAgICAgdTY0IHBnX21hZGRy OworICAgIGludCByYyA9IDA7CiAKICAgICAvKiBEbyBub3RoaW5nIGlmIFZULWQgc2hhcmVzIEVQ VCBwYWdlIHRhYmxlICovCiAgICAgaWYgKCBpb21tdV91c2VfaGFwX3B0KGQpICkKQEAgLTE3NDEs OSArMTc0OSw5IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11X21hcF9wYWdl KHN0cnVjdCBkb21haW4gKmQsCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhZ2UpOwogCiAg ICAgaWYgKCAhdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgKQotICAgICAgICBfX2lu dGVsX2lvbW11X2lvdGxiX2ZsdXNoKGQsIGdmbiwgZG1hX3B0ZV9wcmVzZW50KG9sZCksIDEpOwor ICAgICAgICByYyA9IGlvbW11X2ZsdXNoX2lvdGxiKGQsIGdmbiwgZG1hX3B0ZV9wcmVzZW50KG9s ZCksIDEpOwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50 IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsCkBA IC0yNTc0LDggKzI1ODIsOCBAQCBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGludGVsX2lvbW11X29w cyA9IHsKICAgICAucmVzdW1lID0gdnRkX3Jlc3VtZSwKICAgICAuc2hhcmVfcDJtID0gaW9tbXVf c2V0X3BnZCwKICAgICAuY3Jhc2hfc2h1dGRvd24gPSB2dGRfY3Jhc2hfc2h1dGRvd24sCi0gICAg LmlvdGxiX2ZsdXNoID0gaW50ZWxfaW9tbXVfaW90bGJfZmx1c2gsCi0gICAgLmlvdGxiX2ZsdXNo X2FsbCA9IGludGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbCwKKyAgICAuaW90bGJfZmx1c2ggPSBp b21tdV9mbHVzaF9pb3RsYl9wYWdlcywKKyAgICAuaW90bGJfZmx1c2hfYWxsID0gaW9tbXVfZmx1 c2hfaW90bGJfYWxsLAogICAgIC5nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeSA9IGludGVsX2lv bW11X2dldF9yZXNlcnZlZF9kZXZpY2VfbWVtb3J5LAogICAgIC5kdW1wX3AybV90YWJsZSA9IHZ0 ZF9kdW1wX3AybV90YWJsZSwKIH07CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUu aCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDY1MzU5MzcuLjhiMjNjYzkgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21t dS5oCkBAIC0xNzksOCArMTc5LDkgQEAgc3RydWN0IGlvbW11X29wcyB7CiAgICAgdm9pZCAoKnJl c3VtZSkodm9pZCk7CiAgICAgdm9pZCAoKnNoYXJlX3AybSkoc3RydWN0IGRvbWFpbiAqZCk7CiAg ICAgdm9pZCAoKmNyYXNoX3NodXRkb3duKSh2b2lkKTsKLSAgICB2b2lkICgqaW90bGJfZmx1c2gp KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9j b3VudCk7Ci0gICAgdm9pZCAoKmlvdGxiX2ZsdXNoX2FsbCkoc3RydWN0IGRvbWFpbiAqZCk7Cisg ICAgaW50IF9fbXVzdF9jaGVjayAoKmlvdGxiX2ZsdXNoKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBwYWdlX2NvdW50KTsKKyAgICBpbnQgX19tdXN0X2NoZWNrICgqaW90bGJfZmx1c2hf YWxsKShzdHJ1Y3QgZG9tYWluICpkKTsKICAgICBpbnQgKCpnZXRfcmVzZXJ2ZWRfZGV2aWNlX21l bW9yeSkoaW9tbXVfZ3JkbV90ICosIHZvaWQgKik7CiAgICAgdm9pZCAoKmR1bXBfcDJtX3RhYmxl KShzdHJ1Y3QgZG9tYWluICpkKTsKIH07Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==