From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v2 08/11] IOMMU: propagate IOMMU Device-TLB flush error up to iommu_iotlb_flush{, _all} (leaf ones). Date: Mon, 18 Apr 2016 22:00:08 +0800 Message-ID: <1460988011-17758-9-git-send-email-quan.xu@intel.com> References: <1460988011-17758-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: <1460988011-17758-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 , dario.faggioli@citrix.com, Feng Wu , Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org V2hpbGUgSU9NTVUgRGV2aWNlLVRMQiBmbHVzaCB0aW1lZCBvdXQsIHhlbiBjYWxscyBwYW5pYygp IGF0IHByZXNlbnQuCkhvd2V2ZXIgdGhlIGV4aXN0aW5nIHBhbmljKCkgaXMgZ29pbmcgdG8gYmUg ZWxpbWluYXRlZCwgc28gd2UgbXVzdApwcm9wYWdhdGUgdGhlIElPTU1VIERldmljZS1UTEIgZmx1 c2ggZXJyb3IgdXAgdG8gdGhlIGlvbW11X2lvdGxiX2ZsdXNoeyxfYWxsfS4KCklmIElPTU1VIG1h cHBpbmcgYW5kIHVubWFwcGluZyBmYWlsZWQsIHRoZSBkb21haW4gKHdpdGggdGhlIGV4Y2VwdGlv biBvZgp0aGUgaGFyZHdhcmUgZG9tYWluKSBpcyBjcmFzaGVkLCB0cmVhdGVkIGFzIGEgZmF0YWwg ZXJyb3IuIFJvbGxiYWNrIGNhbgpiZSBsaWdodGVyIHdlaWdodC4KClRoaXMgcGF0Y2ggZml4ZXMg dGhlIGxlYWYgb25lcy4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29t PgoKQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtl dmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+Ci0tLQog eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCA4ICsrLS0tLS0tCiB4ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyB8IDggKysrKy0tLS0KIHhlbi9pbmNsdWRlL3hl bi9pb21tdS5oICAgICAgICAgICAgIHwgNCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0 aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggOTI1 NDc2MC4uZDQ0ZmMzOSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0zMDgsOSArMzA4LDcg QEAgaW50IGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg Z2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9jb3UKICAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFo ZC0+cGxhdGZvcm1fb3BzIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaCApCiAgICAg ICAgIHJldHVybiAwOwogCi0gICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2goZCwgZ2Zu LCBwYWdlX2NvdW50KTsKLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBoZC0+cGxhdGZvcm1f b3BzLT5pb3RsYl9mbHVzaChkLCBnZm4sIHBhZ2VfY291bnQpOwogfQogCiBpbnQgaW9tbXVfaW90 bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCkBAIC0zMjAsOSArMzE4LDcgQEAgaW50IGlv bW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGlmICggIWlvbW11X2Vu YWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwgIWhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2Zs dXNoX2FsbCApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaGQtPnBsYXRmb3JtX29wcy0+aW90 bGJfZmx1c2hfYWxsKGQpOwotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGhkLT5wbGF0Zm9y bV9vcHMtPmlvdGxiX2ZsdXNoX2FsbChkKTsKIH0KIAogaW50IF9faW5pdCBpb21tdV9zZXR1cCh2 b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCA1Y2M3MGNhLi45MzA2NjFh IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtNjA2LDE0ICs2MDYsMTQgQEAg c3RhdGljIGludCBpb21tdV9mbHVzaF9pb3RsYihzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBs b25nIGdmbiwKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2lvbW11X2lv dGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBp bnQgcGFnZV9jb3VudCkKK3N0YXRpYyBpbnQgaW50ZWxfaW9tbXVfaW90bGJfZmx1c2goc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQog ewotICAgIGlvbW11X2ZsdXNoX2lvdGxiKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CisgICAgcmV0 dXJuIGlvbW11X2ZsdXNoX2lvdGxiKGQsIGdmbiwgMSwgcGFnZV9jb3VudCk7CiB9CiAKLXN0YXRp YyB2b2lkIGludGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQorc3Rh dGljIGludCBpbnRlbF9pb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKIHsK LSAgICBpb21tdV9mbHVzaF9pb3RsYihkLCBJTlZBTElEX0dGTiwgMCwgMCk7CisgICAgcmV0dXJu IGlvbW11X2ZsdXNoX2lvdGxiKGQsIElOVkFMSURfR0ZOLCAwLCAwKTsKIH0KIAogLyogY2xlYXIg b25lIHBhZ2UncyBwYWdlIHRhYmxlICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IGZmNDYwOGQuLmNhMWM0MDkgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9p b21tdS5oCkBAIC0xNjEsOCArMTYxLDggQEAgc3RydWN0IGlvbW11X29wcyB7CiAgICAgdm9pZCAo KnJlc3VtZSkodm9pZCk7CiAgICAgdm9pZCAoKnNoYXJlX3AybSkoc3RydWN0IGRvbWFpbiAqZCk7 CiAgICAgdm9pZCAoKmNyYXNoX3NodXRkb3duKSh2b2lkKTsKLSAgICB2b2lkICgqaW90bGJfZmx1 c2gpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBpbnQgcGFn ZV9jb3VudCk7Ci0gICAgdm9pZCAoKmlvdGxiX2ZsdXNoX2FsbCkoc3RydWN0IGRvbWFpbiAqZCk7 CisgICAgaW50ICgqaW90bGJfZmx1c2gpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg Z2ZuLCB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7CisgICAgaW50ICgqaW90bGJfZmx1c2hfYWxs KShzdHJ1Y3QgZG9tYWluICpkKTsKICAgICBpbnQgKCpnZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9y eSkoaW9tbXVfZ3JkbV90ICosIHZvaWQgKik7CiAgICAgdm9pZCAoKmR1bXBfcDJtX3RhYmxlKShz dHJ1Y3QgZG9tYWluICpkKTsKIH07Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==