From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v3 07/10] IOMMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (leaf ones). Date: Fri, 29 Apr 2016 17:25:14 +0800 Message-ID: <1461921917-48394-8-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 , Feng Wu , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIHRoZSBpb21t dV9pb3RsYl9mbHVzaHssX2FsbH0uCgpUaGlzIHBhdGNoIGZpeGVzIHRoZSBsZWFmIG9uZXMuCgpT aWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDxxdWFuLnh1QGludGVsLmNvbT4KCkNDOiBTdGVmYW5vIFN0 YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGll bi5ncmFsbEBhcm0uY29tPgpDQzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDQzog S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNDOiBGZW5nIFd1IDxmZW5nLnd1QGlu dGVsLmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jICB8IDEyICsr KysrKystLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCAgOCArKy0t LS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgfCAgOSArKysrKy0tLS0K IHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAgICAgIHwgIDQgKystLQogNCBmaWxlcyBj aGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYXJtL3NtbXUuYwppbmRleCA2MmRhMDg3Li5jODMwMzBiIDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2FybS9zbW11LmMKQEAgLTI1NDAsNyArMjU0MCw3IEBAIHN0YXRpYyBpbnQgZm9yY2Vfc3RhZ2Ug PSAyOwogICovCiBzdGF0aWMgdTMyIHBsYXRmb3JtX2ZlYXR1cmVzID0gQVJNX1NNTVVfRkVBVF9D T0hFUkVOVF9XQUxLOwogCi1zdGF0aWMgdm9pZCBhcm1fc21tdV9pb3RsYl9mbHVzaF9hbGwoc3Ry dWN0IGRvbWFpbiAqZCkKK3N0YXRpYyBpbnQgYXJtX3NtbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVj dCBkb21haW4gKmQpCiB7CiAJc3RydWN0IGFybV9zbW11X3hlbl9kb21haW4gKnNtbXVfZG9tYWlu ID0gZG9tYWluX2h2bV9pb21tdShkKS0+YXJjaC5wcml2OwogCXN0cnVjdCBpb21tdV9kb21haW4g KmNmZzsKQEAgLTI1NTcsMTMgKzI1NTcsMTUgQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVfaW90bGJf Zmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCiAJCWFybV9zbW11X3RsYl9pbnZfY29udGV4dChj ZmctPnByaXYpOwogCX0KIAlzcGluX3VubG9jaygmc21tdV9kb21haW4tPmxvY2spOworCisJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGFybV9zbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCitzdGF0aWMgaW50IGFybV9zbW11X2lvdGxiX2Zs dXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsKLSAgICAvKiBBUk0g U01NVSB2MSBkb2Vzbid0IGhhdmUgZmx1c2ggYnkgVk1BIGFuZCBWTUlEICovCi0gICAgYXJtX3Nt bXVfaW90bGJfZmx1c2hfYWxsKGQpOworCS8qIEFSTSBTTU1VIHYxIGRvZXNuJ3QgaGF2ZSBmbHVz aCBieSBWTUEgYW5kIFZNSUQgKi8KKwlyZXR1cm4gYXJtX3NtbXVfaW90bGJfZmx1c2hfYWxsKGQp OwogfQogCiBzdGF0aWMgc3RydWN0IGlvbW11X2RvbWFpbiAqYXJtX3NtbXVfZ2V0X2RvbWFpbihz dHJ1Y3QgZG9tYWluICpkLApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYjM4MDYzOC4uODM5 ODUyZiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0zMjMsOSArMzIzLDcgQEAgaW50IF9f bXVzdF9jaGVjayBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBs b25nIGdmbiwKICAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzIHx8 ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaCApCiAgICAgICAgIHJldHVybiAwOwogCi0g ICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2goZCwgZ2ZuLCBwYWdlX2NvdW50KTsKLQot ICAgIHJldHVybiAwOworICAgIHJldHVybiBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaChk LCBnZm4sIHBhZ2VfY291bnQpOwogfQogCiBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2lvdGxiX2Zs dXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQpAQCAtMzM1LDkgKzMzMyw3IEBAIGludCBfX211c3Rf Y2hlY2sgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCiAgICAgaWYgKCAh aW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+ aW90bGJfZmx1c2hfYWxsICkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBoZC0+cGxhdGZvcm1f b3BzLT5pb3RsYl9mbHVzaF9hbGwoZCk7Ci0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gaGQt PnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsKGQpOwogfQogCiBpbnQgX19pbml0IGlvbW11 X3NldHVwKHZvaWQpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IDgwMmRlMDIu LmUyY2IxZTEgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC02MDcsMTQgKzYw NywxNSBAQCBzdGF0aWMgaW50IGlvbW11X2ZsdXNoX2lvdGxiKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGxvbmcgZ2ZuLAogICAgIHJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVs X2lvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1 bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKK3N0YXRpYyBpbnQgaW50ZWxfaW9tbXVfaW90bGJfZmx1 c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogewotICAgIGlvbW11 X2ZsdXNoX2lvdGxiKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CisgICAgcmV0dXJuIGlvbW11X2Zs dXNoX2lvdGxiKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVs X2lvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGludCBpbnRl bF9pb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAgICBpb21tdV9m bHVzaF9pb3RsYihkLCBJTlZBTElEX0dGTiwgMCwgMCk7CisgICAgcmV0dXJuIGlvbW11X2ZsdXNo X2lvdGxiKGQsIElOVkFMSURfR0ZOLCAwLCAwKTsKIH0KIAogLyogY2xlYXIgb25lIHBhZ2UncyBw YWdlIHRhYmxlICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCBiL3hlbi9p bmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDBmNGMxOGQuLmZlNTI0MjggMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0x NjEsOCArMTYxLDggQEAgc3RydWN0IGlvbW11X29wcyB7CiAgICAgdm9pZCAoKnJlc3VtZSkodm9p ZCk7CiAgICAgdm9pZCAoKnNoYXJlX3AybSkoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAgdm9pZCAo KmNyYXNoX3NodXRkb3duKSh2b2lkKTsKLSAgICB2b2lkICgqaW90bGJfZmx1c2gpKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7Ci0g ICAgdm9pZCAoKmlvdGxiX2ZsdXNoX2FsbCkoc3RydWN0IGRvbWFpbiAqZCk7CisgICAgaW50ICgq aW90bGJfZmx1c2gpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25l ZCBpbnQgcGFnZV9jb3VudCk7CisgICAgaW50ICgqaW90bGJfZmx1c2hfYWxsKShzdHJ1Y3QgZG9t YWluICpkKTsKICAgICBpbnQgKCpnZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeSkoaW9tbXVfZ3Jk bV90ICosIHZvaWQgKik7CiAgICAgdm9pZCAoKmR1bXBfcDJtX3RhYmxlKShzdHJ1Y3QgZG9tYWlu ICpkKTsKIH07Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==