From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v5 05/10] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU mapping. Date: Wed, 18 May 2016 16:08:26 +0800 Message-ID: <1463558911-98187-6-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 , Feng Wu , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIElPTU1VIG1h cHBpbmcuCgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQt Ynk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKQ0M6IFN1cmF2ZWUgU3V0aGlr dWxwYW5pdCA8c3VyYXZlZS5zdXRoaWt1bHBhbml0QGFtZC5jb20+CkNDOiBTdGVmYW5vIFN0YWJl bGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5n cmFsbEBhcm0uY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNDOiBG ZW5nIFd1IDxmZW5nLnd1QGludGVsLmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jIHwg MTcgKysrKysrKysrKysrKysrLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMg ICAgICAgICAgfCAgNCArKy0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyAg ICAgICAgIHwgMTIgKysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKystLQogNCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCsp LCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h bWQvcGNpX2FtZF9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRf aW9tbXUuYwppbmRleCA3MGI3NDc1Li44NmQ2ZmIzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTI4NSw2ICsyODUsOCBAQCBzdGF0aWMgdm9pZCBf X2h3ZG9tX2luaXQgYW1kX2lvbW11X2h3ZG9tX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIAogICAg IGlmICggIWlvbW11X3Bhc3N0aHJvdWdoICYmICFuZWVkX2lvbW11KGQpICkKICAgICB7CisgICAg ICAgIGludCByYyA9IDA7CisKICAgICAgICAgLyogU2V0IHVwIDE6MSBwYWdlIHRhYmxlIGZvciBk b20wICovCiAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgbWF4X3BkeDsgaSsrICkKICAgICAgICAg ewpAQCAtMjk1LDEyICsyOTcsMjMgQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IGFtZF9pb21t dV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAgICAgKiBhIHBmbl92YWxp ZCgpIGNoZWNrIHdvdWxkIHNlZW0gZGVzaXJhYmxlIGhlcmUuCiAgICAgICAgICAgICAgKi8KICAg ICAgICAgICAgIGlmICggbWZuX3ZhbGlkKHBmbikgKQotICAgICAgICAgICAgICAgIGFtZF9pb21t dV9tYXBfcGFnZShkLCBwZm4sIHBmbiwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3JpdGFibGUpOworICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgIGludCByZXQ7CisKKyAgICAgICAgICAgICAgICByZXQgPSBhbWRfaW9tbXVf bWFwX3BhZ2UoZCwgcGZuLCBwZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3JpdGFibGUpOworCisgICAgICAgICAgICAg ICAgaWYgKCB1bmxpa2VseShyZXQpICkKKyAgICAgICAgICAgICAgICAgICAgcmMgPSByZXQ7Cisg ICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmICggIShpICYgMHhmZmZmZikgKQogICAgICAg ICAgICAgICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOwogICAgICAgICB9CisKKyAgICAg ICAgaWYgKCByYyApCisgICAgICAgICAgICBBTURfSU9NTVVfREVCVUcoImQlZDogSU9NTVUgbWFw cGluZyBmYWlsZWQgJWQuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5f aWQsIHJjKTsKICAgICB9CiAKICAgICBmb3JfZWFjaF9hbWRfaW9tbXUgKCBpb21tdSApCmRpZmYg LS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYXJtL3NtbXUuYwppbmRleCAxY2U0ZGRmLi5lZTVjODlkIDEwMDY0NAotLS0g YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL2FybS9zbW11LmMKQEAgLTI3NDUsOCArMjc0NSw4IEBAIHN0YXRpYyB2b2lkIGFy bV9zbW11X2lvbW11X2RvbWFpbl90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKQogCXhmcmVlKHhl bl9kb21haW4pOwogfQogCi1zdGF0aWMgaW50IGFybV9zbW11X21hcF9wYWdlKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAotCQkJICAgICB1bnNpZ25lZCBsb25nIG1mbiwgdW5z aWduZWQgaW50IGZsYWdzKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfbWFwX3Bh Z2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbiwgdW5zaWduZWQgaW50 IGZsYWdzKQogewogCXAybV90eXBlX3QgdDsKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu YwppbmRleCAyOWZiN2ZkLi40NjE2ODhjIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu YwpAQCAtMTcyNCwxMyArMTcyNCwxNSBAQCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5fdGVhcmRv d24oc3RydWN0IGRvbWFpbiAqZCkKICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19s b2NrKTsKIH0KIAotc3RhdGljIGludCBpbnRlbF9pb21tdV9tYXBfcGFnZSgKLSAgICBzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQgbG9uZyBtZm4sCi0gICAgdW5z aWduZWQgaW50IGZsYWdzKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50ZWxfaW9tbXVfbWFw X3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7CiAgICAg c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAgICAgc3RydWN0IGRtYV9w dGUgKnBhZ2UgPSBOVUxMLCAqcHRlID0gTlVMTCwgb2xkLCBuZXcgPSB7IDAgfTsKICAgICB1NjQg cGdfbWFkZHI7CisgICAgaW50IHJjID0gMDsKIAogICAgIC8qIERvIG5vdGhpbmcgaWYgVlQtZCBz aGFyZXMgRVBUIHBhZ2UgdGFibGUgKi8KICAgICBpZiAoIGlvbW11X3VzZV9oYXBfcHQoZCkgKQpA QCAtMTc3Myw5ICsxNzc1LDkgQEAgc3RhdGljIGludCBpbnRlbF9pb21tdV9tYXBfcGFnZSgKICAg ICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFnZSk7CiAKICAgICBpZiAoICF0aGlzX2NwdShpb21t dV9kb250X2ZsdXNoX2lvdGxiKSApCi0gICAgICAgIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2go ZCwgZ2ZuLCBkbWFfcHRlX3ByZXNlbnQob2xkKSwgMSk7CisgICAgICAgIHJjID0gX19pbnRlbF9p b21tdV9pb3RsYl9mbHVzaChkLCBnZm4sIGRtYV9wdGVfcHJlc2VudChvbGQpLCAxKTsKIAotICAg IHJldHVybiAwOworICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sg aW50ZWxfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLApkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCA3M2E3 ZjFlLi4xNDA0MWExIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94 ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMTY2LDggKzE2Niw4IEBAIHN0cnVjdCBpb21tdV9v cHMgewogI2VuZGlmIC8qIEhBU19QQ0kgKi8KIAogICAgIHZvaWQgKCp0ZWFyZG93bikoc3RydWN0 IGRvbWFpbiAqZCk7Ci0gICAgaW50ICgqbWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBsb25nIG1mbiwKLSAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IGZsYWdzKTsKKyAgICBpbnQgX19tdXN0X2NoZWNrICgqbWFwX3BhZ2UpKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4sIHVuc2lnbmVkIGludCBmbGFncyk7CiAgICAgaW50 IF9fbXVzdF9jaGVjayAoKnVubWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxv bmcgZ2ZuKTsKICAgICB2b2lkICgqZnJlZV9wYWdlX3RhYmxlKShzdHJ1Y3QgcGFnZV9pbmZvICop OwogI2lmZGVmIENPTkZJR19YODYKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK