From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v6 03/11] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU unmapping (top level ones) Date: Tue, 31 May 2016 21:57:28 +0800 Message-ID: <1464703056-4741-4-git-send-email-quan.xu@intel.com> References: <1464703056-4741-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: <1464703056-4741-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 ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGlu dGVsLmNvbT4KQ0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29tPgpDQzogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jICAgICAgICAg ICAgfCAgMiArLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgICAgICAgICAg IHwgMTUgKysrKysrKystLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlv bW11LXByb3RvLmggfCAgMiArLQogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3Nt bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKaW5kZXggNTRhMDNhNi4u MWNlNGRkZiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYwor KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCkBAIC0yNzc0LDcgKzI3NzQs NyBAQCBzdGF0aWMgaW50IGFybV9zbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgZ2ZuLAogCXJldHVybiBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBnZm4sIG1m biwgMCwgdCk7CiB9CiAKLXN0YXRpYyBpbnQgYXJtX3NtbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIGdmbikKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFybV9z bW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCiB7CiAJ LyoKIAkgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZ250dGFiIGNvZGUg d2hlbiB0aGUgZG9tYWluCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv aW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IGRiODM5 NDkuLjQ4NDQxOTMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC02MDksNyAr NjA5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBk b21haW4gKmQpCiB9CiAKIC8qIGNsZWFyIG9uZSBwYWdlJ3MgcGFnZSB0YWJsZSAqLwotc3RhdGlj IHZvaWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQgYWRkcikK K3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4g KmRvbWFpbiwgdTY0IGFkZHIpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21f aW9tbXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcGFnZSA9IE5VTEwsICpwdGUgPSBO VUxMOwpAQCAtNjIxLDcgKzYyMSw3IEBAIHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0 cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIpCiAgICAgaWYgKCBwZ19tYWRkciA9PSAwICkK ICAgICB7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwotICAg ICAgICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIHBhZ2UgPSAoc3Ry dWN0IGRtYV9wdGUgKiltYXBfdnRkX2RvbWFpbl9wYWdlKHBnX21hZGRyKTsKQEAgLTYzMSw3ICs2 MzEsNyBAQCBzdGF0aWMgdm9pZCBkbWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYWluICpkb21h aW4sIHU2NCBhZGRyKQogICAgIHsKICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBp bmdfbG9jayk7CiAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsKLSAgICAgICAg cmV0dXJuOworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBkbWFfY2xlYXJfcHRlKCpw dGUpOwpAQCAtNjQyLDYgKzY0Miw4IEBAIHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0 cnVjdCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIpCiAgICAgICAgIF9faW50ZWxfaW9tbXVfaW90 bGJfZmx1c2goZG9tYWluLCBhZGRyID4+IFBBR0VfU0hJRlRfNEssIDEsIDEpOwogCiAgICAgdW5t YXBfdnRkX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2 b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxlKHU2NCBwdF9tYWRkciwgaW50IGxldmVsKQpAQCAtMTcz OSwxNSArMTc0MSwxNCBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X21hcF9wYWdlKAogICAgIHJl dHVybiAwOwogfQogCi1zdGF0aWMgaW50IGludGVsX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRl bF9pb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIC8q IERvIG5vdGhpbmcgaWYgaGFyZHdhcmUgZG9tYWluIGFuZCBpb21tdSBzdXBwb3J0cyBwYXNzIHRo cnUuICovCiAgICAgaWYgKCBpb21tdV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4o ZCkgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGRtYV9wdGVfY2xlYXJfb25lKGQsIChwYWRk cl90KWdmbiA8PCBQQUdFX1NISUZUXzRLKTsKLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBk bWFfcHRlX2NsZWFyX29uZShkLCAocGFkZHJfdClnZm4gPDwgUEFHRV9TSElGVF80Syk7CiB9CiAK IHZvaWQgaW9tbXVfcHRlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHU2NCBnZm4sIHU2NCAqcHRl LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90 by5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCmluZGV4 IDljNTExNzIuLjU3YjZjYzEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2 bS9hbWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1k LWlvbW11LXByb3RvLmgKQEAgLTUzLDcgKzUzLDcgQEAgaW50IGFtZF9pb21tdV91cGRhdGVfaXZy c19tYXBwaW5nX2FjcGkodm9pZCk7CiAvKiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50IGFtZF9p b21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWdu ZWQgbG9uZyBtZm4sCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7 Ci1pbnQgYW1kX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBnZm4pOworaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIGdmbik7CiB1NjQgYW1kX2lvbW11X2dldF9uZXh0X3RhYmxl X2Zyb21fcHRlKHUzMiAqZW50cnkpOwogaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0 eV9tYXAoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdTY0IHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLApkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRl eCAxOWJhOTc2Li43M2E3ZjFlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAor KysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMTY4LDcgKzE2OCw3IEBAIHN0cnVjdCBp b21tdV9vcHMgewogICAgIHZvaWQgKCp0ZWFyZG93bikoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAg aW50ICgqbWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNp Z25lZCBsb25nIG1mbiwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsK LSAgICBpbnQgKCp1bm1hcF9wYWdlKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdm bik7CisgICAgaW50IF9fbXVzdF9jaGVjayAoKnVubWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGxvbmcgZ2ZuKTsKICAgICB2b2lkICgqZnJlZV9wYWdlX3RhYmxlKShzdHJ1Y3Qg cGFnZV9pbmZvICopOwogI2lmZGVmIENPTkZJR19YODYKICAgICB2b2lkICgqdXBkYXRlX2lyZV9m cm9tX2FwaWMpKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBp bnQgdmFsdWUpOwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=