From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v7 03/11] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU unmapping (top level ones) Date: Wed, 8 Jun 2016 16:58:56 +0800 Message-ID: <1465376344-28290-4-git-send-email-quan.xu@intel.com> References: <1465376344-28290-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: <1465376344-28290-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 RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgoKQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K Q0M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBLZXZpbiBUaWFuIDxr ZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29tPgpDQzog SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KCnY3OiBqdXN0IGRyb3AgJ1Jldmlld2VkLWJ5OiBKYW4gQmV1 bGljaCA8amJldWxpY2hAc3VzZS5jb20+JywKICAgIGFzIEkgaGF2ZW4ndCBhZGRlZCBfX211c3Rf Y2hlY2sgYW5ub3RhdGlvbiB0byBpb21tdV91bm1hcF9wYWdlKCkKICAgIGluIHByZXZpb3VzIHY2 LgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMgICAgICAgICAgICB8ICAy ICstCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgICAgICAgICAgfCAxNSAr KysrKysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJv dG8uaCB8ICAyICstCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYwppbmRleCA1NGEwM2E2Li4xY2U0ZGRm IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCisrKyBiL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKQEAgLTI3NzQsNyArMjc3NCw3IEBAIHN0 YXRpYyBpbnQgYXJtX3NtbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBnZm4sCiAJcmV0dXJuIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KGQsIGdmbiwgbWZuLCAwLCB0 KTsKIH0KIAotc3RhdGljIGludCBhcm1fc21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGxvbmcgZ2ZuKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfdW5t YXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbikKIHsKIAkvKgogCSAq IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBnbnR0YWIgY29kZSB3aGVuIHRo ZSBkb21haW4KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggZGI4Mzk0OS4uNDg0 NDE5MyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysr IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTYwOSw3ICs2MDksNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9pb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAq ZCkKIH0KIAogLyogY2xlYXIgb25lIHBhZ2UncyBwYWdlIHRhYmxlICovCi1zdGF0aWMgdm9pZCBk bWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4sIHU2NCBhZGRyKQorc3RhdGlj IGludCBfX211c3RfY2hlY2sgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWlu LCB1NjQgYWRkcikKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShk b21haW4pOwogICAgIHN0cnVjdCBkbWFfcHRlICpwYWdlID0gTlVMTCwgKnB0ZSA9IE5VTEw7CkBA IC02MjEsNyArNjIxLDcgQEAgc3RhdGljIHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRv bWFpbiAqZG9tYWluLCB1NjQgYWRkcikKICAgICBpZiAoIHBnX21hZGRyID09IDAgKQogICAgIHsK ICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7Ci0gICAgICAgIHJl dHVybjsKKyAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgcGFnZSA9IChzdHJ1Y3QgZG1h X3B0ZSAqKW1hcF92dGRfZG9tYWluX3BhZ2UocGdfbWFkZHIpOwpAQCAtNjMxLDcgKzYzMSw3IEBA IHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0 IGFkZHIpCiAgICAgewogICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2Nr KTsKICAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhZ2UpOwotICAgICAgICByZXR1cm47 CisgICAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIGRtYV9jbGVhcl9wdGUoKnB0ZSk7CkBA IC02NDIsNiArNjQyLDggQEAgc3RhdGljIHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRv bWFpbiAqZG9tYWluLCB1NjQgYWRkcikKICAgICAgICAgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVz aChkb21haW4sIGFkZHIgPj4gUEFHRV9TSElGVF80SywgMSwgMSk7CiAKICAgICB1bm1hcF92dGRf ZG9tYWluX3BhZ2UocGFnZSk7CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgaW9t bXVfZnJlZV9wYWdldGFibGUodTY0IHB0X21hZGRyLCBpbnQgbGV2ZWwpCkBAIC0xNzM5LDE1ICsx NzQxLDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfbWFwX3BhZ2UoCiAgICAgcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyBpbnQgaW50ZWxfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIGdmbikKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11 X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4pCiB7CiAgICAgLyogRG8gbm90 aGluZyBpZiBoYXJkd2FyZSBkb21haW4gYW5kIGlvbW11IHN1cHBvcnRzIHBhc3MgdGhydS4gKi8K ICAgICBpZiAoIGlvbW11X3Bhc3N0aHJvdWdoICYmIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCiAg ICAgICAgIHJldHVybiAwOwogCi0gICAgZG1hX3B0ZV9jbGVhcl9vbmUoZCwgKHBhZGRyX3QpZ2Zu IDw8IFBBR0VfU0hJRlRfNEspOwotCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGRtYV9wdGVf Y2xlYXJfb25lKGQsIChwYWRkcl90KWdmbiA8PCBQQUdFX1NISUZUXzRLKTsKIH0KIAogdm9pZCBp b21tdV9wdGVfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdTY0IGdmbiwgdTY0ICpwdGUsCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKaW5kZXggOWM1MTE3 Mi4uNTdiNmNjMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1p b21tdS1wcm90by5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUt cHJvdG8uaApAQCAtNTMsNyArNTMsNyBAQCBpbnQgYW1kX2lvbW11X3VwZGF0ZV9pdnJzX21hcHBp bmdfYWNwaSh2b2lkKTsKIC8qIG1hcHBpbmcgZnVuY3Rpb25zICovCiBpbnQgYW1kX2lvbW11X21h cF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25lZCBsb25n IG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKLWludCBh bWRfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbik7 CitpbnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGxvbmcgZ2ZuKTsKIHU2NCBhbWRfaW9tbXVfZ2V0X25leHRfdGFibGVfZnJvbV9w dGUodTMyICplbnRyeSk7CiBpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWluX3VuaXR5X21hcChz dHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1NjQgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS94ZW4vaW9tbXUuaCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IGVhYTJj NzcuLmY0NWZhNWEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hl bi9pbmNsdWRlL3hlbi9pb21tdS5oCkBAIC0xNjgsNyArMTY4LDcgQEAgc3RydWN0IGlvbW11X29w cyB7CiAgICAgdm9pZCAoKnRlYXJkb3duKShzdHJ1Y3QgZG9tYWluICpkKTsKICAgICBpbnQgKCpt YXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGxv bmcgbWZuLAogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpOwotICAgIGlu dCAoKnVubWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKTsKKyAg ICBpbnQgX19tdXN0X2NoZWNrICgqdW5tYXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgbG9uZyBnZm4pOwogICAgIHZvaWQgKCpmcmVlX3BhZ2VfdGFibGUpKHN0cnVjdCBwYWdlX2lu Zm8gKik7CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIHZvaWQgKCp1cGRhdGVfaXJlX2Zyb21fYXBp YykodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCB2YWx1 ZSk7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==