From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v5 06/10] IOMMU/MMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones). Date: Wed, 18 May 2016 16:08:27 +0800 Message-ID: <1463558911-98187-7-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 , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIHRoZSBpb21t dV9pb3RsYl9mbHVzaHssX2FsbH0uCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSB0b3AgbGV2ZWwgb25l cyAodGhpcyBwYXRjaCBkb2Vzbid0IGZpeCB0aGUgbGVhZiBvbmVzIGJ1dAp0aGUgbmV4dCBwYXRj aCBkb2VzKS4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVu LmdyYWxsQGFybS5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBL ZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vcDJtLmMg ICAgICAgICAgICAgICAgICB8ICA1ICsrKystCiB4ZW4vY29tbW9uL21lbW9yeS5jICAgICAgICAg ICAgICAgICB8IDIwICsrKysrKysrKysrKysrKy0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9pb21tdS5jICAgICB8IDEzICsrKysrKysrKy0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3g4Ni9pb21tdS5jIHwgIDUgKysrLS0KIHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAg ICAgIHwgIDcgKysrKy0tLQogNSBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAxNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9h cm0vcDJtLmMKaW5kZXggZGIyMTQzMy4uZmUyMDFkMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJt L3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTE3OCw3ICsxMTc4LDEwIEBAIG91 dDoKICAgICBpZiAoIGZsdXNoICkKICAgICB7CiAgICAgICAgIGZsdXNoX3RsYl9kb21haW4oZCk7 Ci0gICAgICAgIGlvbW11X2lvdGxiX2ZsdXNoKGQsIHNnZm4sIGVnZm4gLSBzZ2ZuKTsKKyAgICAg ICAgcmV0ID0gaW9tbXVfaW90bGJfZmx1c2goZCwgc2dmbiwgZWdmbiAtIHNnZm4pOworCisgICAg ICAgIGlmICggIXJjICkKKyAgICAgICAgICAgIHJjID0gcmV0OwogICAgIH0KIAogICAgIHdoaWxl ICggKHBnID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKCZmcmVlX3BhZ2VzKSkgKQpkaWZmIC0tZ2l0 IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXggNjQ0Zjgx YS4uNzU0YzMzYyAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYworKysgYi94ZW4vY29t bW9uL21lbW9yeS5jCkBAIC02MzMsOSArNjMzLDkgQEAgc3RhdGljIGxvbmcgbWVtb3J5X2V4Y2hh bmdlKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX21lbW9yeV9leGNoYW5nZV90KSBhcmcpCiAg ICAgcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcChzdHJ1 Y3QgZG9tYWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHhl bl9hZGRfdG9fcGh5c21hcCAqeGF0cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBzdGFydCkKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIHhlbm1lbV9hZGRf dG9fcGh5c21hcChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fYWRkX3RvX3BoeXNtYXAgKnhhdHAsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN0 YXJ0KQogewogICAgIHVuc2lnbmVkIGludCBkb25lID0gMDsKICAgICBsb25nIHJjID0gMDsKQEAg LTY3Nyw5ICs2NzcsMTkgQEAgc3RhdGljIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXAoc3RydWN0 IGRvbWFpbiAqZCwKICNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdICiAgICAgaWYgKCBuZWVk X2lvbW11KGQpICkKICAgICB7CisgICAgICAgIGludCByZXQ7CisKICAgICAgICAgdGhpc19jcHUo aW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAwOwotICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChk LCB4YXRwLT5pZHggLSBkb25lLCBkb25lKTsKLSAgICAgICAgaW9tbXVfaW90bGJfZmx1c2goZCwg eGF0cC0+Z3BmbiAtIGRvbmUsIGRvbmUpOworCisgICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2Zs dXNoKGQsIHhhdHAtPmlkeCAtIGRvbmUsIGRvbmUpOworCisgICAgICAgIGlmICggdW5saWtlbHko cmV0KSAmJiByYyA+PSAwICkKKyAgICAgICAgICAgIHJjID0gcmV0OworCisgICAgICAgIHJldCA9 IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHhhdHAtPmdwZm4gLSBkb25lLCBkb25lKTsKKworICAgICAg ICBpZiAoIHVubGlrZWx5KHJldCkgJiYgcmMgPj0gMCApCisgICAgICAgICAgICByYyA9IHJldDsK ICAgICB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggZTA0ZGIxNi4uNTRk MzA3YiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0zMTUsMjQgKzMxNSwyOSBAQCBzdGF0 aWMgdm9pZCBpb21tdV9mcmVlX3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyB1bnVzZWQpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3B1bWFza19jeWNsZShzbXBfcHJvY2Vzc29yX2lkKCks ICZjcHVfb25saW5lX21hcCkpOwogfQogCi12b2lkIGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKK2lu dCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwK KyAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsKICAgICBj b25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAogICAgIGlmICgg IWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwgIWhkLT5wbGF0Zm9ybV9vcHMt PmlvdGxiX2ZsdXNoICkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gMDsKIAogICAg IGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoKGQsIGdmbiwgcGFnZV9jb3VudCk7CisKKyAg ICByZXR1cm4gMDsKIH0KIAotdm9pZCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFp biAqZCkKK2ludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAogICAgIGlm ICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwgIWhkLT5wbGF0Zm9ybV9v cHMtPmlvdGxiX2ZsdXNoX2FsbCApCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7 CiAKICAgICBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9hbGwoZCk7CisKKyAgICByZXR1 cm4gMDsKIH0KIAogaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC94ODYvaW9tbXUuYwppbmRleCBiNjRiOThmLi5hMThhNjA4IDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC94ODYvaW9tbXUuYwpAQCAtMTA0LDggKzEwNCw5IEBAIGludCBhcmNoX2lvbW11X3BvcHVsYXRl X3BhZ2VfdGFibGUoc3RydWN0IGRvbWFpbiAqZCkKICAgICB0aGlzX2NwdShpb21tdV9kb250X2Zs dXNoX2lvdGxiKSA9IDA7CiAKICAgICBpZiAoICFyYyApCi0gICAgICAgIGlvbW11X2lvdGxiX2Zs dXNoX2FsbChkKTsKLSAgICBlbHNlIGlmICggcmMgIT0gLUVSRVNUQVJUICkKKyAgICAgICAgcmMg PSBpb21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CisKKyAgICBpZiAoIHJjICYmIHJjICE9IC1FUkVT VEFSVCApCiAgICAgICAgIGlvbW11X3RlYXJkb3duKGQpOwogCiAgICAgcmV0dXJuIHJjOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUu aAppbmRleCAxNDA0MWExLi4yN2UyZDNlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtNjEsNyArNjEsNyBAQCBpbnQg ZGVhc3NpZ25fZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2 Zm4pOwogCiB2b2lkIGFyY2hfaW9tbXVfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCk7 CiBpbnQgYXJjaF9pb21tdV9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKTsKLWludCBhcmNo X2lvbW11X3BvcHVsYXRlX3BhZ2VfdGFibGUoc3RydWN0IGRvbWFpbiAqZCk7CitpbnQgX19tdXN0 X2NoZWNrIGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9tYWluICpkKTsK IHZvaWQgYXJjaF9pb21tdV9jaGVja19hdXRvdHJhbnNsYXRlZF9od2RvbShzdHJ1Y3QgZG9tYWlu ICpkKTsKIAogaW50IGlvbW11X2NvbnN0cnVjdChzdHJ1Y3QgZG9tYWluICpkKTsKQEAgLTIwMCw4 ICsyMDAsOSBAQCBpbnQgaW9tbXVfZG9fcGNpX2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bCAqLCBz dHJ1Y3QgZG9tYWluICpkLAogaW50IGlvbW11X2RvX2RvbWN0bChzdHJ1Y3QgeGVuX2RvbWN0bCAq LCBzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExF X1BBUkFNKHhlbl9kb21jdGxfdCkpOwogCi12b2lkIGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7Ci12 b2lkIGlvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKTsKK2ludCBfX211c3Rf Y2hlY2sgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBn Zm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdl X2NvdW50KTsKK2ludCBfX211c3RfY2hlY2sgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBk b21haW4gKmQpOwogCiAvKgogICogVGhlIHB1cnBvc2Ugb2YgdGhlIGlvbW11X2RvbnRfZmx1c2hf aW90bGIgb3B0aW9uYWwgY3B1IGZsYWcgaXMgdG8KLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK