From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v7 05/11] IOMMU/MMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones) Date: Wed, 8 Jun 2016 16:58:58 +0800 Message-ID: <1465376344-28290-6-git-send-email-quan.xu@intel.com> References: <1465376344-28290-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: <1465376344-28290-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 IDxxdWFuLnh1QGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KCkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDQzogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ Ci0tLQogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgICAgICAgfCAgNCArKystCiB4ZW4v Y29tbW9uL21lbW9yeS5jICAgICAgICAgICAgICAgICB8IDEyICsrKysrKysrKystLQogeGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCAxMyArKysrKysrKystLS0tCiB4ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyB8ICA1ICsrKy0tCiB4ZW4vaW5jbHVkZS94ZW4v aW9tbXUuaCAgICAgICAgICAgICB8ICA1ICsrKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDI4IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0u YyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCA2YTE5YzU3Li42NWQ4ZjFhIDEwMDY0NAotLS0g YS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC0xMTc4LDcg KzExNzgsOSBAQCBvdXQ6CiAgICAgaWYgKCBmbHVzaCApCiAgICAgewogICAgICAgICBmbHVzaF90 bGJfZG9tYWluKGQpOwotICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChkLCBzZ2ZuLCBlZ2ZuIC0g c2dmbik7CisgICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHNnZm4sIGVnZm4gLSBz Z2ZuKTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7CiAgICAgfQog CiAgICAgd2hpbGUgKCAocGcgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJmZyZWVfcGFnZXMpKSAp CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21lbW9yeS5jIGIveGVuL2NvbW1vbi9tZW1vcnkuYwpp bmRleCBjY2M2NDM2Li40NmIxZDlmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL21lbW9yeS5jCisr KyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTY4Myw5ICs2ODMsMTcgQEAgc3RhdGljIGludCB4 ZW5tZW1fYWRkX3RvX3BoeXNtYXAoc3RydWN0IGRvbWFpbiAqZCwKICNpZmRlZiBDT05GSUdfSEFT X1BBU1NUSFJPVUdICiAgICAgaWYgKCBuZWVkX2lvbW11KGQpICkKICAgICB7CisgICAgICAgIGlu dCByZXQ7CisKICAgICAgICAgdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAwOwot ICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChkLCB4YXRwLT5pZHggLSBkb25lLCBkb25lKTsKLSAg ICAgICAgaW9tbXVfaW90bGJfZmx1c2goZCwgeGF0cC0+Z3BmbiAtIGRvbmUsIGRvbmUpOworCisg ICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHhhdHAtPmlkeCAtIGRvbmUsIGRvbmUp OworICAgICAgICBpZiAoIHVubGlrZWx5KHJldCkgJiYgcmMgPj0gMCApCisgICAgICAgICAgICBy YyA9IHJldDsKKworICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCB4YXRwLT5ncGZu IC0gZG9uZSwgZG9uZSk7CisgICAgICAgIGlmICggdW5saWtlbHkocmV0KSAmJiByYyA+PSAwICkK KyAgICAgICAgICAgIHJjID0gcmV0OwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYwppbmRleCBlYzg1MzUyLi4zYTczZmFiIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAg LTMxMSwyNCArMzExLDI5IEBAIHN0YXRpYyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxlcyh1bnNp Z25lZCBsb25nIHVudXNlZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVtYXNrX2N5 Y2xlKHNtcF9wcm9jZXNzb3JfaWQoKSwgJmNwdV9vbmxpbmVfbWFwKSk7CiB9CiAKLXZvaWQgaW9t bXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2ln bmVkIGludCBwYWdlX2NvdW50KQoraW50IGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBwYWdlX2NvdW50KQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9t X2lvbW11KGQpOwogCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29w cyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2ggKQotICAgICAgICByZXR1cm47Cisg ICAgICAgIHJldHVybiAwOwogCiAgICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2goZCwg Z2ZuLCBwYWdlX2NvdW50KTsKKworICAgIHJldHVybiAwOwogfQogCi12b2lkIGlvbW11X2lvdGxi X2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQoraW50IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChz dHJ1Y3QgZG9tYWluICpkKQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0g ZG9tX2lvbW11KGQpOwogCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3Jt X29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsICkKLSAgICAgICAgcmV0 dXJuOworICAgICAgICByZXR1cm4gMDsKIAogICAgIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2Zs dXNoX2FsbChkKTsKKworICAgIHJldHVybiAwOwogfQogCiBpbnQgX19pbml0IGlvbW11X3NldHVw KHZvaWQpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCmluZGV4IGI2NGI5OGYuLmExOGE2 MDggMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCisrKyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0xMDQsOCArMTA0LDkgQEAg aW50IGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKQogICAg IHRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpID0gMDsKIAogICAgIGlmICggIXJjICkK LSAgICAgICAgaW9tbXVfaW90bGJfZmx1c2hfYWxsKGQpOwotICAgIGVsc2UgaWYgKCByYyAhPSAt RVJFU1RBUlQgKQorICAgICAgICByYyA9IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChkKTsKKworICAg IGlmICggcmMgJiYgcmMgIT0gLUVSRVNUQVJUICkKICAgICAgICAgaW9tbXVfdGVhcmRvd24oZCk7 CiAKICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCBi L3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDJiODY3MTAuLjU3YzlmYmMgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5o CkBAIC0yMDAsOCArMjAwLDkgQEAgaW50IGlvbW11X2RvX3BjaV9kb21jdGwoc3RydWN0IHhlbl9k b21jdGwgKiwgc3RydWN0IGRvbWFpbiAqZCwKIGludCBpb21tdV9kb19kb21jdGwoc3RydWN0IHhl bl9kb21jdGwgKiwgc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpKTsKIAotdm9pZCBpb21tdV9pb3RsYl9mbHVz aChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQgaW50IHBhZ2Vf Y291bnQpOwotdm9pZCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCk7Citp bnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgcGFnZV9jb3VudCk7CitpbnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2ZsdXNoX2Fs bChzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyoKICAqIFRoZSBwdXJwb3NlIG9mIHRoZSBpb21tdV9k b250X2ZsdXNoX2lvdGxiIG9wdGlvbmFsIGNwdSBmbGFnIGlzIHRvCi0tIAoxLjkuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==