From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v11 1/3] IOMMU: add a timeout parameter for device IOTLB invalidation Date: Wed, 1 Jun 2016 17:05:20 +0800 Message-ID: <1464771922-7794-2-git-send-email-quan.xu@intel.com> References: <1464771922-7794-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: <1464771922-7794-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: Quan Xu , kevin.tian@intel.com, feng.wu@intel.com, dario.faggioli@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpUaGUgcGFyYW1ldGVyICdpb21tdV9k ZXZfaW90bGJfdGltZW91dCcgc3BlY2lmaWVzIHRoZSB0aW1lb3V0IG9mCnRoZSBkZXZpY2UgSU9U TEIgaW52YWxpZGF0aW9uIGluIG1pbGxpc2Vjb25kcy4gQnkgZGVmYXVsdCwgdGhlCnRpbWVvdXQg aXMgMW1zLCB3aGljaCBjYW4gYmUgYm9vdC10aW1lIGNoYW5nZWQuCgpBZGQgYSBfX211c3RfY2hl Y2sgYW5ub3RhdGlvbi4gVGhlIGZvbGxvd3VwIHBhdGNoIHRpdGxlZAonVlQtZCBJT1RMQi9Db250 ZXh0L0lFQyBmbHVzaCBpc3N1ZScgYWRkcmVzc2VzIHRoZSBfX211c3RjaGVjay4KVGhhdCBpcyB0 aGUgb3RoZXIgY2FsbGVycyBvZiB0aGlzIHJvdXRpbmUgKHR3byBvciB0aHJlZSBsZXZlbHMgdXAp Cmlnbm9yZSB0aGUgcmV0dXJuIGNvZGUuIFRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkcmVzcyB0aGlz IGJ1dCB0aGUKb3RoZXIgZG9lcy4KCnYxMTogQ2hhbmdlIHRoZSB0aW1lb3V0IHBhcmFtZXRlciBm cm9tICd2dGRfcWlfdGltZW91dCcgdG8KICAgICdpb21tdV9kZXZfaW90bGJfdGltZW91dCcsIHdo aWNoIGlzIG5vdCBvbmx5IGZvciBWVC1kIGRldmljZQogICAgSU9UTEIgaW52YWxpZGF0aW9uLCBi dXQgYWxzbyBmb3Igb3RoZXIgSU9NTVUgaW1wbGVtZW50YXRpb25zLgoKU2lnbmVkLW9mZi1ieTog UXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+Ci0tLQogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxp bmUubWFya2Rvd24gIHwgIDkgKysrKysrKysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21t dS5jICAgICAgfCAgMyArKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYyB8 IDM0ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9p b21tdS5oICAgICAgICAgICAgICB8ICAyICsrCiA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLm1hcmtkb3duIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KaW5k ZXggYjRiYWUxMS4uMzRhMGY5YyAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxp bmUubWFya2Rvd24KKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KQEAg LTk5Niw2ICs5OTYsMTUgQEAgZGVidWcgaHlwZXJ2aXNvciBvbmx5KS4KIAogPj4gRW5hYmxlIElP TU1VIGRlYnVnZ2luZyBjb2RlIChpbXBsaWVzIGB2ZXJib3NlYCkuCiAKKyMjIyBpb21tdVxfZGV2 XF9pb3RsYlxfdGltZW91dAorPiBgPSA8aW50ZWdlcj5gCisKKz4gRGVmYXVsdDogYDFgCisKK1Nw ZWNpZnkgdGhlIHRpbWVvdXQgb2YgdGhlIGRldmljZSBJT1RMQiBpbnZhbGlkYXRpb24gaW4gbWls bGlzZWNvbmRzLgorQnkgZGVmYXVsdCwgdGhlIHRpbWVvdXQgaXMgMSBtcy4gV2hlbiB5b3Ugc2Vl IGVycm9yICdRdWV1ZSBpbnZhbGlkYXRlCit3YWl0IGRlc2NyaXB0b3IgdGltZWQgb3V0JywgdHJ5 IGluY3JlYXNpbmcgdGhpcyB2YWx1ZS4KKwogIyMjIGlvbW11XF9pbmNsdXNpdmVcX21hcHBpbmcg KFZULWQpCiA+IGA9IDxib29sZWFuPmAKIApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggMDk4 YjYwMS4uZTEyZGU2OSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0yNCw2ICsyNCw5IEBA CiBzdGF0aWMgdm9pZCBwYXJzZV9pb21tdV9wYXJhbShjaGFyICpzKTsKIHN0YXRpYyB2b2lkIGlv bW11X2R1bXBfcDJtX3RhYmxlKHVuc2lnbmVkIGNoYXIga2V5KTsKIAordW5zaWduZWQgaW50IF9f cmVhZF9tb3N0bHkgaW9tbXVfZGV2X2lvdGxiX3RpbWVvdXQgPSAxOworaW50ZWdlcl9wYXJhbSgi aW9tbXVfZGV2X2lvdGxiX3RpbWVvdXQiLCBpb21tdV9kZXZfaW90bGJfdGltZW91dCk7CisKIC8q CiAgKiBUaGUgJ2lvbW11JyBwYXJhbWV0ZXIgZW5hYmxlcyB0aGUgSU9NTVUuICBPcHRpb25hbCBj b21tYSBzZXBhcmF0ZWQKICAqIHZhbHVlIG1heSBjb250YWluOgpkaWZmIC0tZ2l0IGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv dnRkL3FpbnZhbC5jCmluZGV4IGFhNzg0MWEuLjFhMzc1NjUgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC92dGQvcWludmFsLmMKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJ2dGQuaCIKICNpbmNs dWRlICJleHRlcm4uaCIKIAorI2RlZmluZSBJT01NVV9RSV9USU1FT1VUIE1JTExJU0VDUygxKQor CiBzdGF0aWMgdm9pZCBwcmludF9xaV9yZWdzKHN0cnVjdCBpb21tdSAqaW9tbXUpCiB7CiAgICAg dTY0IHZhbDsKQEAgLTEzMCwxMCArMTMyLDEwIEBAIHN0YXRpYyB2b2lkIHF1ZXVlX2ludmFsaWRh dGVfaW90bGIoc3RydWN0IGlvbW11ICppb21tdSwKICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZpb21tdS0+cmVnaXN0ZXJfbG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMgaW50IHF1ZXVlX2lu dmFsaWRhdGVfd2FpdChzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgIHU4IGlmbGFnLCB1OCBzdywg dTggZm4pCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBxdWV1ZV9pbnZhbGlkYXRlX3dhaXQoc3Ry dWN0IGlvbW11ICppb21tdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1OCBpZmxhZywgdTggc3csIHU4IGZuLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpCiB7Ci0gICAgc190 aW1lX3Qgc3RhcnRfdGltZTsKICAgICB2b2xhdGlsZSB1MzIgcG9sbF9zbG90ID0gUUlOVkFMX1NU QVRfSU5JVDsKICAgICB1bnNpZ25lZCBpbnQgaW5kZXg7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFn czsKQEAgLTE2MywxNCArMTY1LDIxIEBAIHN0YXRpYyBpbnQgcXVldWVfaW52YWxpZGF0ZV93YWl0 KHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAgLyogTm93IHdlIGRvbid0IHN1cHBvcnQgaW50ZXJy dXB0IG1ldGhvZCAqLwogICAgIGlmICggc3cgKQogICAgIHsKKyAgICAgICAgc190aW1lX3QgdGlt ZW91dDsKKwogICAgICAgICAvKiBJbiBjYXNlIGFsbCB3YWl0IGRlc2NyaXB0b3Igd3JpdGVzIHRv IHNhbWUgYWRkciB3aXRoIHNhbWUgZGF0YSAqLwotICAgICAgICBzdGFydF90aW1lID0gTk9XKCk7 CisgICAgICAgIHRpbWVvdXQgPSBmbHVzaF9kZXZfaW90bGIgPworICAgICAgICAgICAgICAgICAg KE5PVygpICsgaW9tbXVfZGV2X2lvdGxiX3RpbWVvdXQgKiBNSUxMSVNFQ1MoMSkpIDoKKyAgICAg ICAgICAgICAgICAgIChOT1coKSArIElPTU1VX1FJX1RJTUVPVVQpOworCiAgICAgICAgIHdoaWxl ICggcG9sbF9zbG90ICE9IFFJTlZBTF9TVEFUX0RPTkUgKQogICAgICAgICB7Ci0gICAgICAgICAg ICBpZiAoIE5PVygpID4gKHN0YXJ0X3RpbWUgKyBETUFSX09QRVJBVElPTl9USU1FT1VUKSApCisg ICAgICAgICAgICBpZiAoIE5PVygpID4gdGltZW91dCApCiAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgcHJpbnRfcWlfcmVncyhpb21tdSk7Ci0gICAgICAgICAgICAgICAgcGFuaWMoInF1 ZXVlIGludmFsaWRhdGUgd2FpdCBkZXNjcmlwdG9yIHdhcyBub3QgZXhlY3V0ZWQiKTsKKyAgICAg ICAgICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgVlREUFJFRklYCisgICAgICAgICAgICAg ICAgICAgICAgICIgUXVldWUgaW52YWxpZGF0ZSB3YWl0IGRlc2NyaXB0b3IgdGltZWQgb3V0XG4i KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVUSU1FRE9VVDsKICAgICAgICAgICAgIH0KICAg ICAgICAgICAgIGNwdV9yZWxheCgpOwogICAgICAgICB9CkBAIC0xODAsMTIgKzE4OSwxNCBAQCBz dGF0aWMgaW50IHF1ZXVlX2ludmFsaWRhdGVfd2FpdChzdHJ1Y3QgaW9tbXUgKmlvbW11LAogICAg IHJldHVybiAtRU9QTk9UU1VQUDsKIH0KIAotc3RhdGljIGludCBpbnZhbGlkYXRlX3N5bmMoc3Ry dWN0IGlvbW11ICppb21tdSkKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludmFsaWRhdGVfc3lu YyhzdHJ1Y3QgaW9tbXUgKmlvbW11LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpCiB7CiAgICAgc3RydWN0IHFpX2N0cmwgKnFp X2N0cmwgPSBpb21tdV9xaV9jdHJsKGlvbW11KTsKIAogICAgIGlmICggcWlfY3RybC0+cWludmFs X21hZGRyICkKLSAgICAgICAgcmV0dXJuIHF1ZXVlX2ludmFsaWRhdGVfd2FpdChpb21tdSwgMCwg MSwgMSk7CisgICAgICAgIHJldHVybiBxdWV1ZV9pbnZhbGlkYXRlX3dhaXQoaW9tbXUsIDAsIDEs IDEsIGZsdXNoX2Rldl9pb3RsYik7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMjU0LDcgKzI2 NSw3IEBAIHN0YXRpYyBpbnQgX19pb21tdV9mbHVzaF9pZWMoc3RydWN0IGlvbW11ICppb21tdSwg dTggZ3JhbnUsIHU4IGltLCB1MTYgaWlkeCkKICAgICBpbnQgcmV0OwogCiAgICAgcXVldWVfaW52 YWxpZGF0ZV9pZWMoaW9tbXUsIGdyYW51LCBpbSwgaWlkeCk7Ci0gICAgcmV0ID0gaW52YWxpZGF0 ZV9zeW5jKGlvbW11KTsKKyAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUsIDApOwogICAg IC8qCiAgICAgICogcmVhZGluZyB2dC1kIGFyY2hpdGVjdHVyZSByZWdpc3RlciB3aWxsIGVuc3Vy ZQogICAgICAqIGRyYWluaW5nIGhhcHBlbnMgaW4gaW1wbGVtZW50YXRpb24gaW5kZXBlbmRlbnQg d2F5LgpAQCAtMzAwLDcgKzMxMSw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGZsdXNoX2Nv bnRleHRfcWkodm9pZCAqX2lvbW11LCB1MTYgZGlkLAogICAgIHsKICAgICAgICAgcXVldWVfaW52 YWxpZGF0ZV9jb250ZXh0KGlvbW11LCBkaWQsIHNpZCwgZm0sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0eXBlID4+IERNQV9DQ01EX0lOVkxfR1JBTlVfT0ZGU0VUKTsKLSAgICAg ICAgcmV0ID0gaW52YWxpZGF0ZV9zeW5jKGlvbW11KTsKKyAgICAgICAgcmV0ID0gaW52YWxpZGF0 ZV9zeW5jKGlvbW11LCAwKTsKICAgICB9CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTM0NCwxMCAr MzU1LDExIEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGZsdXNoX2lvdGxiX3FpKHZvaWQgKl9p b21tdSwgdTE2IGRpZCwgdTY0IGFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZHcsIGRpZCwgc2l6ZV9vcmRlciwgMCwgYWRkcik7CiAgICAgICAgIGlmICggZmx1c2hfZGV2X2lv dGxiICkKICAgICAgICAgICAgIHJldCA9IGRldl9pbnZhbGlkYXRlX2lvdGxiKGlvbW11LCBkaWQs IGFkZHIsIHNpemVfb3JkZXIsIHR5cGUpOwotICAgICAgICByYyA9IGludmFsaWRhdGVfc3luYyhp b21tdSk7CisgICAgICAgIHJjID0gaW52YWxpZGF0ZV9zeW5jKGlvbW11LCBmbHVzaF9kZXZfaW90 bGIpOwogICAgICAgICBpZiAoICFyZXQgKQogICAgICAgICAgICAgcmV0ID0gcmM7CiAgICAgfQor CiAgICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11 LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCBlOTE3MDMxLi45ODkxYmM1IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaApAQCAtMzUsNiArMzUsOCBAQCBleHRlcm4gYm9vbF90IGlvbW11X2hhcF9wdF9zaGFyZTsK IGV4dGVybiBib29sX3QgaW9tbXVfZGVidWc7CiBleHRlcm4gYm9vbF90IGFtZF9pb21tdV9wZXJk ZXZfaW50cmVtYXA7CiAKK2V4dGVybiB1bnNpZ25lZCBpbnQgaW9tbXVfZGV2X2lvdGxiX3RpbWVv dXQ7CisKICNkZWZpbmUgSU9NTVVfUEFHRV9TSVpFKHN6KSAoMVVMIDw8IFBBR0VfU0hJRlRfIyNz eikKICNkZWZpbmUgSU9NTVVfUEFHRV9NQVNLKHN6KSAofih1NjQpMCA8PCBQQUdFX1NISUZUXyMj c3opCiAjZGVmaW5lIElPTU1VX1BBR0VfQUxJR04oc3osIGFkZHIpICAoKChhZGRyKSArIH5QQUdF X01BU0tfIyNzeikgJiBQQUdFX01BU0tfIyNzeikKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK