From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v6 08/11] IOMMU: propagate IOMMU Device-TLB flush error (leaf ones). Date: Tue, 31 May 2016 21:57:33 +0800 Message-ID: <1464703056-4741-9-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 , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3Ug PGZlbmcud3VAaW50ZWwuY29tPgoKdjY6IEFkZCBfX211c3RfY2hlY2sgYW5ub3RhdGlvbiB0byBp bnRlbF9pb21tdV9pb3RsYl9mbHVzaF9hbGwoKS4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hcm0vc21tdS5jICB8IDEzICsrKysrKysrLS0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2lvbW11LmMgICAgIHwgIDggKystLS0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p b21tdS5jIHwgMzIgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRl L3hlbi9pb21tdS5oICAgICAgICAgICAgIHwgIDUgKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzMg aW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYXJtL3NtbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11 LmMKaW5kZXggZWU1Yzg5ZC4uMWQyMTU2OCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvYXJtL3NtbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5j CkBAIC0yNTQwLDcgKzI1NDAsNyBAQCBzdGF0aWMgaW50IGZvcmNlX3N0YWdlID0gMjsKICAqLwog c3RhdGljIHUzMiBwbGF0Zm9ybV9mZWF0dXJlcyA9IEFSTV9TTU1VX0ZFQVRfQ09IRVJFTlRfV0FM SzsKIAotc3RhdGljIHZvaWQgYXJtX3NtbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4g KmQpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhcm1fc21tdV9pb3RsYl9mbHVzaF9hbGwoc3Ry dWN0IGRvbWFpbiAqZCkKIHsKIAlzdHJ1Y3QgYXJtX3NtbXVfeGVuX2RvbWFpbiAqc21tdV9kb21h aW4gPSBkb21faW9tbXUoZCktPmFyY2gucHJpdjsKIAlzdHJ1Y3QgaW9tbXVfZG9tYWluICpjZmc7 CkBAIC0yNTU3LDEzICsyNTU3LDE2IEBAIHN0YXRpYyB2b2lkIGFybV9zbW11X2lvdGxiX2ZsdXNo X2FsbChzdHJ1Y3QgZG9tYWluICpkKQogCQlhcm1fc21tdV90bGJfaW52X2NvbnRleHQoY2ZnLT5w cml2KTsKIAl9CiAJc3Bpbl91bmxvY2soJnNtbXVfZG9tYWluLT5sb2NrKTsKKworCXJldHVybiAw OwogfQogCi1zdGF0aWMgdm9pZCBhcm1fc21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIGdmbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBwYWdlX2NvdW50KQorc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVf aW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCiB7Ci0g ICAgLyogQVJNIFNNTVUgdjEgZG9lc24ndCBoYXZlIGZsdXNoIGJ5IFZNQSBhbmQgVk1JRCAqLwot ICAgIGFybV9zbW11X2lvdGxiX2ZsdXNoX2FsbChkKTsKKwkvKiBBUk0gU01NVSB2MSBkb2Vzbid0 IGhhdmUgZmx1c2ggYnkgVk1BIGFuZCBWTUlEICovCisJcmV0dXJuIGFybV9zbW11X2lvdGxiX2Zs dXNoX2FsbChkKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpb21tdV9kb21haW4gKmFybV9zbW11X2dl dF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IGU2 MTFlNzIuLjA5OGI2MDEgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11 LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtMzIwLDkgKzMyMCw3 IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25n IGdmbiwKICAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzIHx8ICFo ZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaCApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg aGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2goZCwgZ2ZuLCBwYWdlX2NvdW50KTsKLQotICAg IHJldHVybiAwOworICAgIHJldHVybiBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaChkLCBn Zm4sIHBhZ2VfY291bnQpOwogfQogCiBpbnQgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBk b21haW4gKmQpCkBAIC0zMzIsOSArMzMwLDcgQEAgaW50IGlvbW11X2lvdGxiX2ZsdXNoX2FsbChz dHJ1Y3QgZG9tYWluICpkKQogICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9y bV9vcHMgfHwgIWhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoX2FsbCApCiAgICAgICAgIHJl dHVybiAwOwogCi0gICAgaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2hfYWxsKGQpOwotCi0g ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoX2Fs bChkKTsKIH0KIAogaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC92dGQvaW9tbXUuYwppbmRleCBjMmJmMWUyLi4wNzg4YTU5IDEwMDY0NAotLS0gYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC92dGQvaW9tbXUuYwpAQCAtNTU5LDggKzU1OSwxMCBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVj ayBpb21tdV9mbHVzaF9hbGwodm9pZCkKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQg X19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25n IGdmbiwKLSAgICAgICAgaW50IGRtYV9vbGRfcHRlX3ByZXNlbnQsIHVuc2lnbmVkIGludCBwYWdl X2NvdW50KQorc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGIoc3RydWN0 IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbF90IGRtYV9vbGRfcHRlX3ByZXNlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKIHsKICAgICBzdHJ1Y3Qg ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3Vu aXQgKmRyaGQ7CkBAIC01OTgsMTYgKzYwMCwyMCBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX2lvbW11 X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuLAogICAgICAg ICAgICAgICAgIGlvbW11X2ZsdXNoX3dyaXRlX2J1ZmZlcihpb21tdSk7CiAgICAgICAgIH0KICAg ICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgaW50ZWxfaW9tbXVfaW90bGJf Zmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGludCBw YWdlX2NvdW50KQorc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGJfcGFn ZXMoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCiB7Ci0gICAg X19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChkLCBnZm4sIDEsIHBhZ2VfY291bnQpOworICAgIHJl dHVybiBpb21tdV9mbHVzaF9pb3RsYihkLCBnZm4sIDEsIHBhZ2VfY291bnQpOwogfQogCi1zdGF0 aWMgdm9pZCBpbnRlbF9pb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFpbiAqZCkKK3N0 YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGxiX2FsbChzdHJ1Y3QgZG9tYWlu ICpkKQogewotICAgIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2goZCwgSU5WQUxJRF9HRk4sIDAs IDApOworICAgIHJldHVybiBpb21tdV9mbHVzaF9pb3RsYihkLCBJTlZBTElEX0dGTiwgMCwgMCk7 CiB9CiAKIC8qIGNsZWFyIG9uZSBwYWdlJ3MgcGFnZSB0YWJsZSAqLwpAQCAtNjE2LDYgKzYyMiw3 IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGRtYV9wdGVfY2xlYXJfb25lKHN0cnVjdCBkb21h aW4gKmRvbWFpbiwgdTY0IGFkZHIpCiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21f aW9tbXUoZG9tYWluKTsKICAgICBzdHJ1Y3QgZG1hX3B0ZSAqcGFnZSA9IE5VTEwsICpwdGUgPSBO VUxMOwogICAgIHU2NCBwZ19tYWRkcjsKKyAgICBpbnQgcmMgPSAwOwogCiAgICAgc3Bpbl9sb2Nr KCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwogICAgIC8qIGdldCBsYXN0IGxldmVsIHB0ZSAqLwpA QCAtNjQxLDExICs2NDgsMTEgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgZG1hX3B0ZV9jbGVh cl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQgYWRkcikKICAgICBpb21tdV9mbHVzaF9j YWNoZV9lbnRyeShwdGUsIHNpemVvZihzdHJ1Y3QgZG1hX3B0ZSkpOwogCiAgICAgaWYgKCAhdGhp c19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgKQotICAgICAgICBfX2ludGVsX2lvbW11X2lv dGxiX2ZsdXNoKGRvbWFpbiwgYWRkciA+PiBQQUdFX1NISUZUXzRLLCAxLCAxKTsKKyAgICAgICAg cmMgPSBpb21tdV9mbHVzaF9pb3RsYl9wYWdlcyhkb21haW4sIGFkZHIgPj4gUEFHRV9TSElGVF80 SywgMSk7CiAKICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFnZSk7CiAKLSAgICByZXR1cm4g MDsKKyAgICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxl KHU2NCBwdF9tYWRkciwgaW50IGxldmVsKQpAQCAtMTY5OSw2ICsxNzA2LDcgQEAgc3RhdGljIGlu dCBfX211c3RfY2hlY2sgaW50ZWxfaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAg ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAgICBzdHJ1Y3QgZG1h X3B0ZSAqcGFnZSA9IE5VTEwsICpwdGUgPSBOVUxMLCBvbGQsIG5ldyA9IHsgMCB9OwogICAgIHU2 NCBwZ19tYWRkcjsKKyAgICBpbnQgcmMgPSAwOwogCiAgICAgLyogRG8gbm90aGluZyBpZiBWVC1k IHNoYXJlcyBFUFQgcGFnZSB0YWJsZSAqLwogICAgIGlmICggaW9tbXVfdXNlX2hhcF9wdChkKSAp CkBAIC0xNzQxLDkgKzE3NDksOSBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21t dV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShw YWdlKTsKIAogICAgIGlmICggIXRoaXNfY3B1KGlvbW11X2RvbnRfZmx1c2hfaW90bGIpICkKLSAg ICAgICAgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChkLCBnZm4sIGRtYV9wdGVfcHJlc2VudChv bGQpLCAxKTsKKyAgICAgICAgcmMgPSBpb21tdV9mbHVzaF9pb3RsYihkLCBnZm4sIGRtYV9wdGVf cHJlc2VudChvbGQpLCAxKTsKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiByYzsKIH0KIAog c3RhdGljIGludCBfX211c3RfY2hlY2sgaW50ZWxfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9t YWluICpkLApAQCAtMjU3NCw4ICsyNTgyLDggQEAgY29uc3Qgc3RydWN0IGlvbW11X29wcyBpbnRl bF9pb21tdV9vcHMgPSB7CiAgICAgLnJlc3VtZSA9IHZ0ZF9yZXN1bWUsCiAgICAgLnNoYXJlX3Ay bSA9IGlvbW11X3NldF9wZ2QsCiAgICAgLmNyYXNoX3NodXRkb3duID0gdnRkX2NyYXNoX3NodXRk b3duLAotICAgIC5pb3RsYl9mbHVzaCA9IGludGVsX2lvbW11X2lvdGxiX2ZsdXNoLAotICAgIC5p b3RsYl9mbHVzaF9hbGwgPSBpbnRlbF9pb21tdV9pb3RsYl9mbHVzaF9hbGwsCisgICAgLmlvdGxi X2ZsdXNoID0gaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMsCisgICAgLmlvdGxiX2ZsdXNoX2FsbCA9 IGlvbW11X2ZsdXNoX2lvdGxiX2FsbCwKICAgICAuZ2V0X3Jlc2VydmVkX2RldmljZV9tZW1vcnkg PSBpbnRlbF9pb21tdV9nZXRfcmVzZXJ2ZWRfZGV2aWNlX21lbW9yeSwKICAgICAuZHVtcF9wMm1f dGFibGUgPSB2dGRfZHVtcF9wMm1fdGFibGUsCiB9OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv eGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCBkMTk3Y2QwLi5lOTE3 MDMxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVk ZS94ZW4vaW9tbXUuaApAQCAtMTc5LDggKzE3OSw5IEBAIHN0cnVjdCBpb21tdV9vcHMgewogICAg IHZvaWQgKCpyZXN1bWUpKHZvaWQpOwogICAgIHZvaWQgKCpzaGFyZV9wMm0pKHN0cnVjdCBkb21h aW4gKmQpOwogICAgIHZvaWQgKCpjcmFzaF9zaHV0ZG93bikodm9pZCk7Ci0gICAgdm9pZCAoKmlv dGxiX2ZsdXNoKShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwgdW5zaWduZWQg aW50IHBhZ2VfY291bnQpOwotICAgIHZvaWQgKCppb3RsYl9mbHVzaF9hbGwpKHN0cnVjdCBkb21h aW4gKmQpOworICAgIGludCBfX211c3RfY2hlY2sgKCppb3RsYl9mbHVzaCkoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCk7CisgICAgaW50IF9fbXVzdF9jaGVjayAoKmlv dGxiX2ZsdXNoX2FsbCkoc3RydWN0IGRvbWFpbiAqZCk7CiAgICAgaW50ICgqZ2V0X3Jlc2VydmVk X2RldmljZV9tZW1vcnkpKGlvbW11X2dyZG1fdCAqLCB2b2lkICopOwogICAgIHZvaWQgKCpkdW1w X3AybV90YWJsZSkoc3RydWN0IGRvbWFpbiAqZCk7CiB9OwotLSAKMS45LjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=