From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v5 04/10] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU unmapping. Date: Wed, 18 May 2016 16:08:25 +0800 Message-ID: <1463558911-98187-5-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 , Jan Beulich , Andrew Cooper , dario.faggioli@citrix.com, Julien Grall , Quan Xu List-Id: xen-devel@lists.xenproject.org UHJvcGFnYXRlIHRoZSBJT01NVSBEZXZpY2UtVExCIGZsdXNoIGVycm9yIHVwIHRvIElPTU1VIHVu bWFwcGluZy4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHVAaW50ZWwuY29tPgpBY2tl ZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4g QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPgpDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNv bT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVuZyBXdSA8ZmVu Zy53dUBpbnRlbC5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2FybS9zbW11LmMgICAgICAgICAgICB8ICAyICstCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgICAgICAgICAgfCAxOCArKysrKysrKysrLS0tLS0tLS0K IHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaCB8ICAyICstCiB4 ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogNCBm aWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvYXJtL3NtbXUuYwppbmRleCA1NGEwM2E2Li4xY2U0ZGRmIDEwMDY0NAotLS0gYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2FybS9zbW11LmMKQEAgLTI3NzQsNyArMjc3NCw3IEBAIHN0YXRpYyBpbnQgYXJtX3Nt bXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCiAJcmV0dXJu IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KGQsIGdmbiwgbWZuLCAwLCB0KTsKIH0KIAotc3RhdGlj IGludCBhcm1fc21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg Z2ZuKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfdW5tYXBfcGFnZShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbikKIHsKIAkvKgogCSAqIFRoaXMgZnVuY3Rpb24g c2hvdWxkIG9ubHkgYmUgdXNlZCBieSBnbnR0YWIgY29kZSB3aGVuIHRoZSBkb21haW4KZGlmZiAt LWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggM2VjZTgxNS4uMjlmYjdmZCAxMDA2NDQKLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTYxNiwxMSArNjE2LDEyIEBAIHN0YXRpYyB2b2lk IGludGVsX2lvbW11X2lvdGxiX2ZsdXNoX2FsbChzdHJ1Y3QgZG9tYWluICpkKQogfQogCiAvKiBj bGVhciBvbmUgcGFnZSdzIHBhZ2UgdGFibGUgKi8KLXN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJf b25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIpCitzdGF0aWMgaW50IF9fbXVzdF9j aGVjayBkbWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU2NCBhZGRyKQog ewogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGRvbWFpbik7CiAgICAg c3RydWN0IGRtYV9wdGUgKnBhZ2UgPSBOVUxMLCAqcHRlID0gTlVMTDsKICAgICB1NjQgcGdfbWFk ZHI7CisgICAgaW50IHJjID0gMDsKIAogICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19s b2NrKTsKICAgICAvKiBnZXQgbGFzdCBsZXZlbCBwdGUgKi8KQEAgLTYyOCw3ICs2MjksNyBAQCBz dGF0aWMgdm9pZCBkbWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU2NCBh ZGRyKQogICAgIGlmICggcGdfbWFkZHIgPT0gMCApCiAgICAgewogICAgICAgICBzcGluX3VubG9j aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1 cm4gMDsKICAgICB9CiAKICAgICBwYWdlID0gKHN0cnVjdCBkbWFfcHRlICopbWFwX3Z0ZF9kb21h aW5fcGFnZShwZ19tYWRkcik7CkBAIC02MzgsNyArNjM5LDcgQEAgc3RhdGljIHZvaWQgZG1hX3B0 ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQgYWRkcikKICAgICB7CiAgICAg ICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgICAgICB1bm1hcF92 dGRfZG9tYWluX3BhZ2UocGFnZSk7Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIDA7 CiAgICAgfQogCiAgICAgZG1hX2NsZWFyX3B0ZSgqcHRlKTsKQEAgLTY0Niw5ICs2NDcsMTEgQEAg c3RhdGljIHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQg YWRkcikKICAgICBpb21tdV9mbHVzaF9jYWNoZV9lbnRyeShwdGUsIHNpemVvZihzdHJ1Y3QgZG1h X3B0ZSkpOwogCiAgICAgaWYgKCAhdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgKQot ICAgICAgICBfX2ludGVsX2lvbW11X2lvdGxiX2ZsdXNoKGRvbWFpbiwgYWRkciA+PiBQQUdFX1NI SUZUXzRLLCAxLCAxKTsKKyAgICAgICAgcmMgPSBfX2ludGVsX2lvbW11X2lvdGxiX2ZsdXNoKGRv bWFpbiwgYWRkciA+PiBQQUdFX1NISUZUXzRLLCAxLCAxKTsKIAogICAgIHVubWFwX3Z0ZF9kb21h aW5fcGFnZShwYWdlKTsKKworICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQgaW9tbXVf ZnJlZV9wYWdldGFibGUodTY0IHB0X21hZGRyLCBpbnQgbGV2ZWwpCkBAIC0xNzc1LDE1ICsxNzc4 LDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfbWFwX3BhZ2UoCiAgICAgcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIGdmbikKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11X3Vu bWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4pCiB7CiAgICAgLyogRG8gbm90aGlu ZyBpZiBoYXJkd2FyZSBkb21haW4gYW5kIGlvbW11IHN1cHBvcnRzIHBhc3MgdGhydS4gKi8KICAg ICBpZiAoIGlvbW11X3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCiAgICAg ICAgIHJldHVybiAwOwogCi0gICAgZG1hX3B0ZV9jbGVhcl9vbmUoZCwgKHBhZGRyX3QpZ2ZuIDw8 IFBBR0VfU0hJRlRfNEspOwotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGRtYV9wdGVfY2xl YXJfb25lKGQsIChwYWRkcl90KWdmbiA8PCBQQUdFX1NISUZUXzRLKTsKIH0KIAogaW50IGlvbW11 X3B0ZV9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1NjQgZ2ZuLCB1NjQgKnB0ZSwKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaAppbmRleCA5YzUxMTcyLi41 N2I2Y2MxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11 LXByb3RvLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90 by5oCkBAIC01Myw3ICs1Myw3IEBAIGludCBhbWRfaW9tbXVfdXBkYXRlX2l2cnNfbWFwcGluZ19h Y3BpKHZvaWQpOwogLyogbWFwcGluZyBmdW5jdGlvbnMgKi8KIGludCBhbWRfaW9tbXVfbWFwX3Bh Z2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGxvbmcgbWZu LAogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwotaW50IGFtZF9p b21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKTsKK2lu dCBfX211c3RfY2hlY2sgYW1kX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgbG9uZyBnZm4pOwogdTY0IGFtZF9pb21tdV9nZXRfbmV4dF90YWJsZV9mcm9tX3B0ZSh1 MzIgKmVudHJ5KTsKIGludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5fdW5pdHlfbWFwKHN0cnVj dCBkb21haW4gKmRvbWFpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHU2NCBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKaW5kZXggMTliYTk3Ni4u NzNhN2YxZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysrIGIveGVuL2lu Y2x1ZGUveGVuL2lvbW11LmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsK ICAgICB2b2lkICgqdGVhcmRvd24pKHN0cnVjdCBkb21haW4gKmQpOwogICAgIGludCAoKm1hcF9w YWdlKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQgbG9uZyBt Zm4sCiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7Ci0gICAgaW50ICgq dW5tYXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4pOworICAgIGlu dCBfX211c3RfY2hlY2sgKCp1bm1hcF9wYWdlKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBs b25nIGdmbik7CiAgICAgdm9pZCAoKmZyZWVfcGFnZV90YWJsZSkoc3RydWN0IHBhZ2VfaW5mbyAq KTsKICNpZmRlZiBDT05GSUdfWDg2CiAgICAgdm9pZCAoKnVwZGF0ZV9pcmVfZnJvbV9hcGljKSh1 bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKTsK LS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK