From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v8 05/11] IOMMU/MMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones) Date: Mon, 13 Jun 2016 23:17:12 +0800 Message-ID: <1465831038-43005-6-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 , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxs QGFybS5jb20+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4K UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCkNDOiBTdGVmYW5v IFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1 bGllbi5ncmFsbEBhcm0uY29tPgpDQzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpD QzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL3Ay bS5jICAgICAgICAgICAgICAgICAgfCAgNCArKystCiB4ZW4vY29tbW9uL21lbW9yeS5jICAgICAg ICAgICAgICAgICB8IDEyICsrKysrKysrKystLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYyAgICAgfCAxMyArKysrKysrKystLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv aW9tbXUuYyB8ICA1ICsrKy0tCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICB8 ICA1ICsrKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0u YwppbmRleCA2YTE5YzU3Li42NWQ4ZjFhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMK KysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC0xMTc4LDcgKzExNzgsOSBAQCBvdXQ6CiAgICAg aWYgKCBmbHVzaCApCiAgICAgewogICAgICAgICBmbHVzaF90bGJfZG9tYWluKGQpOwotICAgICAg ICBpb21tdV9pb3RsYl9mbHVzaChkLCBzZ2ZuLCBlZ2ZuIC0gc2dmbik7CisgICAgICAgIHJldCA9 IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHNnZm4sIGVnZm4gLSBzZ2ZuKTsKKyAgICAgICAgaWYgKCAh cmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7CiAgICAgfQogCiAgICAgd2hpbGUgKCAocGcgPSBw YWdlX2xpc3RfcmVtb3ZlX2hlYWQoJmZyZWVfcGFnZXMpKSApCmRpZmYgLS1naXQgYS94ZW4vY29t bW9uL21lbW9yeS5jIGIveGVuL2NvbW1vbi9tZW1vcnkuYwppbmRleCBjY2M2NDM2Li40NmIxZDlm IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL21lbW9yeS5jCisrKyBiL3hlbi9jb21tb24vbWVtb3J5 LmMKQEAgLTY4Myw5ICs2ODMsMTcgQEAgc3RhdGljIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXAo c3RydWN0IGRvbWFpbiAqZCwKICNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICiAgICAgaWYg KCBuZWVkX2lvbW11KGQpICkKICAgICB7CisgICAgICAgIGludCByZXQ7CisKICAgICAgICAgdGhp c19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAwOwotICAgICAgICBpb21tdV9pb3RsYl9m bHVzaChkLCB4YXRwLT5pZHggLSBkb25lLCBkb25lKTsKLSAgICAgICAgaW9tbXVfaW90bGJfZmx1 c2goZCwgeGF0cC0+Z3BmbiAtIGRvbmUsIGRvbmUpOworCisgICAgICAgIHJldCA9IGlvbW11X2lv dGxiX2ZsdXNoKGQsIHhhdHAtPmlkeCAtIGRvbmUsIGRvbmUpOworICAgICAgICBpZiAoIHVubGlr ZWx5KHJldCkgJiYgcmMgPj0gMCApCisgICAgICAgICAgICByYyA9IHJldDsKKworICAgICAgICBy ZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCB4YXRwLT5ncGZuIC0gZG9uZSwgZG9uZSk7CisgICAg ICAgIGlmICggdW5saWtlbHkocmV0KSAmJiByYyA+PSAwICkKKyAgICAgICAgICAgIHJjID0gcmV0 OwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9p b21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwppbmRleCBlYzg1MzUyLi4z YTczZmFiIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTMxMSwyNCArMzExLDI5IEBAIHN0 YXRpYyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIHVudXNlZCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVtYXNrX2N5Y2xlKHNtcF9wcm9jZXNzb3JfaWQo KSwgJmNwdV9vbmxpbmVfbWFwKSk7CiB9CiAKLXZvaWQgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQor aW50IGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2Zu LAorICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogewogICAg IGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAgaWYg KCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29w cy0+aW90bGJfZmx1c2ggKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogCiAg ICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2goZCwgZ2ZuLCBwYWdlX2NvdW50KTsKKwor ICAgIHJldHVybiAwOwogfQogCi12b2lkIGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9t YWluICpkKQoraW50IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogewog ICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAg aWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3Jt X29wcy0+aW90bGJfZmx1c2hfYWxsICkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4g MDsKIAogICAgIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoX2FsbChkKTsKKworICAgIHJl dHVybiAwOwogfQogCiBpbnQgX19pbml0IGlvbW11X3NldHVwKHZvaWQpCmRpZmYgLS1naXQgYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3g4Ni9pb21tdS5jCmluZGV4IGI2NGI5OGYuLmExOGE2MDggMTAwNjQ0Ci0tLSBhL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3g4Ni9pb21tdS5jCkBAIC0xMDQsOCArMTA0LDkgQEAgaW50IGFyY2hfaW9tbXVfcG9wdWxh dGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKQogICAgIHRoaXNfY3B1KGlvbW11X2RvbnRf Zmx1c2hfaW90bGIpID0gMDsKIAogICAgIGlmICggIXJjICkKLSAgICAgICAgaW9tbXVfaW90bGJf Zmx1c2hfYWxsKGQpOwotICAgIGVsc2UgaWYgKCByYyAhPSAtRVJFU1RBUlQgKQorICAgICAgICBy YyA9IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChkKTsKKworICAgIGlmICggcmMgJiYgcmMgIT0gLUVS RVNUQVJUICkKICAgICAgICAgaW9tbXVfdGVhcmRvd24oZCk7CiAKICAgICByZXR1cm4gcmM7CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21t dS5oCmluZGV4IDJiODY3MTAuLjU3YzlmYmMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9p b21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0yMDAsOCArMjAwLDkgQEAg aW50IGlvbW11X2RvX3BjaV9kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRvbWFp biAqZCwKIGludCBpb21tdV9kb19kb21jdGwoc3RydWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRv bWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5f ZG9tY3RsX3QpKTsKIAotdm9pZCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpOwotdm9pZCBpb21tdV9p b3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCk7CitpbnQgX19tdXN0X2NoZWNrIGlvbW11 X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7Citp bnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKTsK IAogLyoKICAqIFRoZSBwdXJwb3NlIG9mIHRoZSBpb21tdV9kb250X2ZsdXNoX2lvdGxiIG9wdGlv bmFsIGNwdSBmbGFnIGlzIHRvCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==