From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v8 03/11] IOMMU: propagate IOMMU Device-TLB flush error up to IOMMU unmapping (top level ones) Date: Mon, 13 Jun 2016 23:17:10 +0800 Message-ID: <1465831038-43005-4-git-send-email-quan.xu@intel.com> References: <1465831038-43005-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: <1465831038-43005-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 , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgpBY2tlZC1ieTogU3VyYXZlZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3Vs cGFuaXRAYW1kLmNvbT4KQWNrZWQtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5j b20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgpDQzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDQzogSnVsaWVuIEdyYWxs IDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwu Y29tPgpDQzogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+CkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPgpDQzogU3VyYXZlZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1k LmNvbT4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jICAgICAgICAgICAg fCAgMiArLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgICAgICAgICAgIHwg MTUgKysrKysrKystLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11 LXByb3RvLmggfCAgMiArLQogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUu YyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKaW5kZXggNTRhMDNhNi4uMWNl NGRkZiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYworKysg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCkBAIC0yNzc0LDcgKzI3NzQsNyBA QCBzdGF0aWMgaW50IGFybV9zbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGxvbmcgZ2ZuLAogCXJldHVybiBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShkLCBnZm4sIG1mbiwg MCwgdCk7CiB9CiAKLXN0YXRpYyBpbnQgYXJtX3NtbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBsb25nIGdmbikKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFybV9zbW11 X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCiB7CiAJLyoK IAkgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgZ250dGFiIGNvZGUgd2hl biB0aGUgZG9tYWluCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IGRiODM5NDku LjQ4NDQxOTMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j CisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC02MDksNyArNjA5 LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21h aW4gKmQpCiB9CiAKIC8qIGNsZWFyIG9uZSBwYWdlJ3MgcGFnZSB0YWJsZSAqLwotc3RhdGljIHZv aWQgZG1hX3B0ZV9jbGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQgYWRkcikKK3N0 YXRpYyBpbnQgX19tdXN0X2NoZWNrIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21haW4gKmRv bWFpbiwgdTY0IGFkZHIpCiB7CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9t bXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcGFnZSA9IE5VTEwsICpwdGUgPSBOVUxM OwpAQCAtNjIxLDcgKzYyMSw3IEBAIHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVj dCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIpCiAgICAgaWYgKCBwZ19tYWRkciA9PSAwICkKICAg ICB7CiAgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwotICAgICAg ICByZXR1cm47CisgICAgICAgIHJldHVybiAwOwogICAgIH0KIAogICAgIHBhZ2UgPSAoc3RydWN0 IGRtYV9wdGUgKiltYXBfdnRkX2RvbWFpbl9wYWdlKHBnX21hZGRyKTsKQEAgLTYzMSw3ICs2MzEs NyBAQCBzdGF0aWMgdm9pZCBkbWFfcHRlX2NsZWFyX29uZShzdHJ1Y3QgZG9tYWluICpkb21haW4s IHU2NCBhZGRyKQogICAgIHsKICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdf bG9jayk7CiAgICAgICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsKLSAgICAgICAgcmV0 dXJuOworICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKICAgICBkbWFfY2xlYXJfcHRlKCpwdGUp OwpAQCAtNjQyLDYgKzY0Miw4IEBAIHN0YXRpYyB2b2lkIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVj dCBkb21haW4gKmRvbWFpbiwgdTY0IGFkZHIpCiAgICAgICAgIF9faW50ZWxfaW9tbXVfaW90bGJf Zmx1c2goZG9tYWluLCBhZGRyID4+IFBBR0VfU0hJRlRfNEssIDEsIDEpOwogCiAgICAgdW5tYXBf dnRkX2RvbWFpbl9wYWdlKHBhZ2UpOworCisgICAgcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lk IGlvbW11X2ZyZWVfcGFnZXRhYmxlKHU2NCBwdF9tYWRkciwgaW50IGxldmVsKQpAQCAtMTczOSwx NSArMTc0MSwxNCBAQCBzdGF0aWMgaW50IGludGVsX2lvbW11X21hcF9wYWdlKAogICAgIHJldHVy biAwOwogfQogCi1zdGF0aWMgaW50IGludGVsX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9p b21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIC8qIERv IG5vdGhpbmcgaWYgaGFyZHdhcmUgZG9tYWluIGFuZCBpb21tdSBzdXBwb3J0cyBwYXNzIHRocnUu ICovCiAgICAgaWYgKCBpb21tdV9wYXNzdGhyb3VnaCAmJiBpc19oYXJkd2FyZV9kb21haW4oZCkg KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGRtYV9wdGVfY2xlYXJfb25lKGQsIChwYWRkcl90 KWdmbiA8PCBQQUdFX1NISUZUXzRLKTsKLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBkbWFf cHRlX2NsZWFyX29uZShkLCAocGFkZHJfdClnZm4gPDwgUEFHRV9TSElGVF80Syk7CiB9CiAKIHZv aWQgaW9tbXVfcHRlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHU2NCBnZm4sIHU2NCAqcHRlLApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCmluZGV4IDlj NTExNzIuLjU3YjZjYzEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9h bWQtaW9tbXUtcHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlv bW11LXByb3RvLmgKQEAgLTUzLDcgKzUzLDcgQEAgaW50IGFtZF9pb21tdV91cGRhdGVfaXZyc19t YXBwaW5nX2FjcGkodm9pZCk7CiAvKiBtYXBwaW5nIGZ1bmN0aW9ucyAqLwogaW50IGFtZF9pb21t dV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQg bG9uZyBtZm4sCiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7Ci1p bnQgYW1kX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBn Zm4pOworaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBsb25nIGdmbik7CiB1NjQgYW1kX2lvbW11X2dldF9uZXh0X3RhYmxlX2Zy b21fcHRlKHUzMiAqZW50cnkpOwogaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9t YXAoc3RydWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdTY0IHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLApkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCBl YWEyYzc3Li5mNDVmYTVhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtMTY4LDcgKzE2OCw3IEBAIHN0cnVjdCBpb21t dV9vcHMgewogICAgIHZvaWQgKCp0ZWFyZG93bikoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAgaW50 ICgqbWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLCB1bnNpZ25l ZCBsb25nIG1mbiwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKLSAg ICBpbnQgKCp1bm1hcF9wYWdlKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbik7 CisgICAgaW50IF9fbXVzdF9jaGVjayAoKnVubWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGxvbmcgZ2ZuKTsKICAgICB2b2lkICgqZnJlZV9wYWdlX3RhYmxlKShzdHJ1Y3QgcGFn ZV9pbmZvICopOwogI2lmZGVmIENPTkZJR19YODYKICAgICB2b2lkICgqdXBkYXRlX2lyZV9mcm9t X2FwaWMpKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQg dmFsdWUpOwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=