From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v6 05/11] IOMMU/MMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (top level ones) Date: Tue, 31 May 2016 21:57:30 +0800 Message-ID: <1464703056-4741-6-git-send-email-quan.xu@intel.com> References: <1464703056-4741-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: <1464703056-4741-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+ Cgp2NjogUmVtb3ZlIF9fbXVzdF9jaGVjayBhbm5vdGF0aW9uIGZyb20geGVubWVtX2FkZF90b19w aHlzbWFwKCkuCi0tLQogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgICAgICAgfCAgNCAr KystCiB4ZW4vY29tbW9uL21lbW9yeS5jICAgICAgICAgICAgICAgICB8IDEyICsrKysrKysrKyst LQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCAxMyArKysrKysrKystLS0t CiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyB8ICA1ICsrKy0tCiB4ZW4vaW5j bHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICB8ICA1ICsrKy0tCiA1IGZpbGVzIGNoYW5nZWQs IDI4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCA4MzhkMDA0Li42ODY3OWEzIDEw MDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBA IC0xMTc4LDcgKzExNzgsOSBAQCBvdXQ6CiAgICAgaWYgKCBmbHVzaCApCiAgICAgewogICAgICAg ICBmbHVzaF90bGJfZG9tYWluKGQpOwotICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChkLCBzZ2Zu LCBlZ2ZuIC0gc2dmbik7CisgICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHNnZm4s IGVnZm4gLSBzZ2ZuKTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcmMgPSByZXQ7 CiAgICAgfQogCiAgICAgd2hpbGUgKCAocGcgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJmZyZWVf cGFnZXMpKSApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21lbW9yeS5jIGIveGVuL2NvbW1vbi9t ZW1vcnkuYwppbmRleCBjY2M2NDM2Li40NmIxZDlmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL21l bW9yeS5jCisrKyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTY4Myw5ICs2ODMsMTcgQEAgc3Rh dGljIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXAoc3RydWN0IGRvbWFpbiAqZCwKICNpZmRlZiBD T05GSUdfSEFTX1BBU1NUSFJPVUdICiAgICAgaWYgKCBuZWVkX2lvbW11KGQpICkKICAgICB7Cisg ICAgICAgIGludCByZXQ7CisKICAgICAgICAgdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3Rs YikgPSAwOwotICAgICAgICBpb21tdV9pb3RsYl9mbHVzaChkLCB4YXRwLT5pZHggLSBkb25lLCBk b25lKTsKLSAgICAgICAgaW9tbXVfaW90bGJfZmx1c2goZCwgeGF0cC0+Z3BmbiAtIGRvbmUsIGRv bmUpOworCisgICAgICAgIHJldCA9IGlvbW11X2lvdGxiX2ZsdXNoKGQsIHhhdHAtPmlkeCAtIGRv bmUsIGRvbmUpOworICAgICAgICBpZiAoIHVubGlrZWx5KHJldCkgJiYgcmMgPj0gMCApCisgICAg ICAgICAgICByYyA9IHJldDsKKworICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCB4 YXRwLT5ncGZuIC0gZG9uZSwgZG9uZSk7CisgICAgICAgIGlmICggdW5saWtlbHkocmV0KSAmJiBy YyA+PSAwICkKKyAgICAgICAgICAgIHJjID0gcmV0OwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1n aXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYwppbmRleCAyNTUwMWNkLi5lOWIyODU1IDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lv bW11LmMKQEAgLTMxMiwyNCArMzEyLDI5IEBAIHN0YXRpYyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRh Ymxlcyh1bnNpZ25lZCBsb25nIHVudXNlZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj cHVtYXNrX2N5Y2xlKHNtcF9wcm9jZXNzb3JfaWQoKSwgJmNwdV9vbmxpbmVfbWFwKSk7CiB9CiAK LXZvaWQgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBn Zm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQoraW50IGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBwYWdlX2NvdW50KQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUg KmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBs YXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2ggKQotICAgICAgICBy ZXR1cm47CisgICAgICAgIHJldHVybiAwOwogCiAgICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJf Zmx1c2goZCwgZ2ZuLCBwYWdlX2NvdW50KTsKKworICAgIHJldHVybiAwOwogfQogCi12b2lkIGlv bW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQoraW50IGlvbW11X2lvdGxiX2Zs dXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9t bXUgKmhkID0gZG9tX2lvbW11KGQpOwogCiAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQt PnBsYXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsICkKLSAg ICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gMDsKIAogICAgIGhkLT5wbGF0Zm9ybV9vcHMt PmlvdGxiX2ZsdXNoX2FsbChkKTsKKworICAgIHJldHVybiAwOwogfQogCiBpbnQgX19pbml0IGlv bW11X3NldHVwKHZvaWQpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv aW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCmluZGV4IGI2NGI5 OGYuLmExOGE2MDggMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC0xMDQsOCAr MTA0LDkgQEAgaW50IGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9tYWlu ICpkKQogICAgIHRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpID0gMDsKIAogICAgIGlm ICggIXJjICkKLSAgICAgICAgaW9tbXVfaW90bGJfZmx1c2hfYWxsKGQpOwotICAgIGVsc2UgaWYg KCByYyAhPSAtRVJFU1RBUlQgKQorICAgICAgICByYyA9IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChk KTsKKworICAgIGlmICggcmMgJiYgcmMgIT0gLUVSRVNUQVJUICkKICAgICAgICAgaW9tbXVfdGVh cmRvd24oZCk7CiAKICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v aW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDE0MDQxYTEuLjIyYTIwMDIg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hl bi9pb21tdS5oCkBAIC0yMDAsOCArMjAwLDkgQEAgaW50IGlvbW11X2RvX3BjaV9kb21jdGwoc3Ry dWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRvbWFpbiAqZCwKIGludCBpb21tdV9kb19kb21jdGwo c3RydWN0IHhlbl9kb21jdGwgKiwgc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgICAgICAg ICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpKTsKIAotdm9pZCBpb21tdV9p b3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQg aW50IHBhZ2VfY291bnQpOwotdm9pZCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFp biAqZCk7CitpbnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7CitpbnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxi X2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyoKICAqIFRoZSBwdXJwb3NlIG9mIHRo ZSBpb21tdV9kb250X2ZsdXNoX2lvdGxiIG9wdGlvbmFsIGNwdSBmbGFnIGlzIHRvCi0tIAoxLjku MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==