From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v3 06/10] propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones). Date: Fri, 29 Apr 2016 17:25:13 +0800 Message-ID: <1461921917-48394-7-git-send-email-quan.xu@intel.com> References: <1461921917-48394-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: <1461921917-48394-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 , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIHRoZSBpb21t dV9pb3RsYl9mbHVzaHssX2FsbH0uCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSB0b3AgbGV2ZWwgb25l cyAodGhpcyBwYXRjaCBkb2Vzbid0IGZpeCB0aGUgbGVhZiBvbmVzIGJ1dAp0aGUgbmV4dCBwYXRj aCBkb2VzKS4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgoKQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJj aC9hcm0vcDJtLmMgICAgICAgICAgICAgICAgICB8ICA1ICsrKystCiB4ZW4vY29tbW9uL21lbW9y eS5jICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKy0tCiB4ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9pb21tdS5jICAgICB8IDEzICsrKysrKysrKy0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3g4Ni9pb21tdS5jIHwgIDUgKysrLS0KIHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAg ICAgICAgICAgIHwgIDUgKysrLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3AybS5jIGIveGVuL2Fy Y2gvYXJtL3AybS5jCmluZGV4IGRiMjE0MzMuLjYzZGY1YjEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L2FybS9wMm0uYworKysgYi94ZW4vYXJjaC9hcm0vcDJtLmMKQEAgLTExNzgsNyArMTE3OCwxMCBA QCBvdXQ6CiAgICAgaWYgKCBmbHVzaCApCiAgICAgewogICAgICAgICBmbHVzaF90bGJfZG9tYWlu KGQpOwotICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChkLCBzZ2ZuLCBlZ2ZuIC0gc2dmbik7Cisg ICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHNnZm4sIGVnZm4gLSBzZ2ZuKTsKKwor ICAgICAgICBpZiAoICFyYyAmJiB1bmxpa2VseShyZXQpICkKKyAgICAgICAgICAgIHJjID0gcmV0 OwogICAgIH0KIAogICAgIHdoaWxlICggKHBnID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKCZmcmVl X3BhZ2VzKSkgKQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24v bWVtb3J5LmMKaW5kZXggNjQ0ZjgxYS4uMjFiODA5OCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9t ZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC02NzcsOSArNjc3LDE5IEBAIHN0 YXRpYyBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwKHN0cnVjdCBkb21haW4gKmQsCiAjaWZkZWYg Q09ORklHX0hBU19QQVNTVEhST1VHSAogICAgIGlmICggbmVlZF9pb21tdShkKSApCiAgICAgewor ICAgICAgICBpbnQgcmV0OworCiAgICAgICAgIHRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90 bGIpID0gMDsKLSAgICAgICAgaW9tbXVfaW90bGJfZmx1c2goZCwgeGF0cC0+aWR4IC0gZG9uZSwg ZG9uZSk7Ci0gICAgICAgIGlvbW11X2lvdGxiX2ZsdXNoKGQsIHhhdHAtPmdwZm4gLSBkb25lLCBk b25lKTsKKworICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCB4YXRwLT5pZHggLSBk b25lLCBkb25lKTsKKworICAgICAgICBpZiAoIHJjID49IDAgJiYgdW5saWtlbHkocmV0KSApCisg ICAgICAgICAgICByYyA9IHJldDsKKworICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChk LCB4YXRwLT5ncGZuIC0gZG9uZSwgZG9uZSk7CisKKyAgICAgICAgaWYgKCByYyA+PSAwICYmIHVu bGlrZWx5KHJldCkgKQorICAgICAgICAgICAgcmMgPSByZXQ7CiAgICAgfQogI2VuZGlmCiAKZGlm ZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IGQ3NDQzM2QuLmIzODA2MzggMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvaW9tbXUuYwpAQCAtMzE1LDI0ICszMTUsMjkgQEAgc3RhdGljIHZvaWQgaW9tbXVfZnJlZV9w YWdldGFibGVzKHVuc2lnbmVkIGxvbmcgdW51c2VkKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNwdW1hc2tfY3ljbGUoc21wX3Byb2Nlc3Nvcl9pZCgpLCAmY3B1X29ubGluZV9tYXApKTsK IH0KIAotdm9pZCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBs b25nIGdmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCitpbnQgX19tdXN0X2NoZWNrIGlvbW11 X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsK ICAgICBzdHJ1Y3QgaHZtX2lvbW11ICpoZCA9IGRvbWFpbl9odm1faW9tbXUoZCk7CiAKICAgICBp ZiAoICFpb21tdV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzIHx8ICFoZC0+cGxhdGZvcm1f b3BzLT5pb3RsYl9mbHVzaCApCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7CiAK ICAgICBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaChkLCBnZm4sIHBhZ2VfY291bnQpOwor CisgICAgcmV0dXJuIDA7CiB9CiAKLXZvaWQgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBk b21haW4gKmQpCitpbnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3Qg ZG9tYWluICpkKQogewogICAgIHN0cnVjdCBodm1faW9tbXUgKmhkID0gZG9tYWluX2h2bV9pb21t dShkKTsKIAogICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwg IWhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoX2FsbCApCi0gICAgICAgIHJldHVybjsKKyAg ICAgICAgcmV0dXJuIDA7CiAKICAgICBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9hbGwo ZCk7CisKKyAgICByZXR1cm4gMDsKIH0KIAogaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMgYi94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwppbmRleCA4Y2JiNjU1Li5jMmMxZWUzIDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAtMTA0LDggKzEwNCw5IEBAIGludCBhcmNo X2lvbW11X3BvcHVsYXRlX3BhZ2VfdGFibGUoc3RydWN0IGRvbWFpbiAqZCkKICAgICB0aGlzX2Nw dShpb21tdV9kb250X2ZsdXNoX2lvdGxiKSA9IDA7CiAKICAgICBpZiAoICFyYyApCi0gICAgICAg IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChkKTsKLSAgICBlbHNlIGlmICggcmMgIT0gLUVSRVNUQVJU ICkKKyAgICAgICAgcmMgPSBpb21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CisKKyAgICBpZiAoIHJj ICYmIHJjICE9IC1FUkVTVEFSVCApCiAgICAgICAgIGlvbW11X3RlYXJkb3duKGQpOwogCiAgICAg cmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5j bHVkZS94ZW4vaW9tbXUuaAppbmRleCA4MjE3Y2I3Li4wZjRjMThkIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMTgy LDggKzE4Miw5IEBAIGludCBpb21tdV9kb19wY2lfZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3RsICos IHN0cnVjdCBkb21haW4gKmQsCiBpbnQgaW9tbXVfZG9fZG9tY3RsKHN0cnVjdCB4ZW5fZG9tY3Rs ICosIHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0oeGVuX2RvbWN0bF90KSk7CiAKLXZvaWQgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KTsK LXZvaWQgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpOworaW50IF9fbXVz dF9jaGVjayBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25n IGdmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBh Z2VfY291bnQpOworaW50IF9fbXVzdF9jaGVjayBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0 IGRvbWFpbiAqZCk7CiAKIC8qCiAgKiBUaGUgcHVycG9zZSBvZiB0aGUgaW9tbXVfZG9udF9mbHVz aF9pb3RsYiBvcHRpb25hbCBjcHUgZmxhZyBpcyB0bwotLSAKMS45LjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=