From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v12 1/6] IOMMU: add a timeout parameter for device IOTLB invalidation Date: Fri, 24 Jun 2016 13:51:53 +0800 Message-ID: <1466747518-54402-2-git-send-email-quan.xu@intel.com> References: <1466747518-54402-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: <1466747518-54402-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 , Feng Wu , Quan Xu , dario.faggioli@citrix.com, Julien Grall , Jan Beulich , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpUaGUgcGFyYW1ldGVyICdpb21tdV9k ZXZfaW90bGJfdGltZW91dCcgc3BlY2lmaWVzIHRoZSB0aW1lb3V0Cm9mIGRldmljZSBJT1RMQiBp bnZhbGlkYXRpb24gaW4gbWlsbGlzZWNvbmRzLiBCeSBkZWZhdWx0LCB0aGUKdGltZW91dCBpcyAx MDAwIG1pbGxpc2Vjb25kcywgd2hpY2ggY2FuIGJlIGJvb3QtdGltZSBjaGFuZ2VkLgoKV2UgYWxz byBjb25maXJtZWQgd2l0aCBWVC1kIGhhcmR3YXJlIHRlYW0gdGhhdCAxIG1pbGxpc2Vjb25kcwpp cyBsYXJnZSBlbm91Z2ggZm9yIFZULWQgSU9NTVUgaW50ZXJuYWwgaW52YWxpZGF0aW9uLgoKdGhl IGV4aXN0aW5nIHBhbmljKCkgaXMgZWxpbWluYXRlZCBhbmQgd2UgYnViYmxlIHVwIHRoZSB0aW1l b3V0Cm9mIGRldmljZSBJT1RMQiBpbnZhbGlkYXRpb24gZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZywg YXMgdGhlClBDSS1lIEFkZHJlc3MgVHJhbnNsYXRpb24gU2VydmljZXMgKEFUUykgbWFuZGF0ZXMg YSB0aW1lb3V0IG9mCjYwIHNlY29uZHMgZm9yIGRldmljZSBJT1RMQiBpbnZhbGlkYXRpb24uIE9i dmlvdXNseSB3ZSBjYW4ndApzcGluIGZvciA2MCBzZWNvbmRzIG9yIG90aGVyd2lzZSBYZW4gaHlw ZXJ2aXNvciBoYW5ncy4KCkFkZCBhIF9fbXVzdF9jaGVjayBhbm5vdGF0aW9uLiBUaGUgZm9sbG93 dXAgcGF0Y2ggdGl0bGVkCidWVC1kIElPVExCL0NvbnRleHQvSUVDIGZsdXNoIGlzc3VlJyBhZGRy ZXNzZXMgdGhlIF9fbXVzdGNoZWNrLgpUaGF0IGlzIHRoZSBvdGhlciBjYWxsZXJzIG9mIHRoaXMg cm91dGluZSAodHdvIG9yIHRocmVlIGxldmVscyB1cCkKaWdub3JlIHRoZSByZXR1cm4gY29kZS4g VGhpcyBwYXRjaCBkb2VzIG5vdCBhZGRyZXNzIHRoaXMgYnV0IHRoZQpvdGhlciBkb2VzLgoKU2ln bmVkLW9mZi1ieTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpDQzogSnVsaWVuIEdyYWxs IDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDQzogRmVuZyBXdSA8ZmVu Zy53dUBpbnRlbC5jb20+CkNDOiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlr dWxwYW5pdEBhbWQuY29tPgotLS0KdjEyOgogICAxLiBlbmhhbmNlIGNvbW1pdCBtZXNzYWdlLgog ICAyLiBjaGFuZ2UgdGltZW91dCBmcm9tIDFtcyB0byAxMDAwbXMuCiAgIDMuIGNoYW5nZSBJT01N VV9RSV9USU1FT1VUIHRvIFZURF9RSV9USU1FT1VULCB3aXRoIFZURF9RSV9USU1FT1VUCiAgICAg IGhhdmluZyBpdHMgTUlMTElTRUNTKCkgZHJvcHBlZC4KICAgNC4gZW5oYW5jZSB0aGUgd2hvbGUg ZXhwcmVzc2lvbiBvZiAndGltZW91dCA9IC4uLicKICAgNS4gZHJvcCBhIGJsYW5rIGxpbmUgdGhh dCBkb2Vzbid0IGJlbG9uZyBoZXJlLgotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1h cmtkb3duICB8ICA5ICsrKysrKysrKwogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAg ICAgIHwgIDMgKysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMgfCAzMiAr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL2lvbW11Lmgg ICAgICAgICAgICAgIHwgIDIgKysKIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUu bWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgppbmRleCA3YTI3 MWMwLi4wMDQ2ZjBkIDEwMDY0NAotLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93bgorKysgYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93bgpAQCAtMTAxNSw2 ICsxMDE1LDE1IEBAIGRlYnVnIGh5cGVydmlzb3Igb25seSkuCiAKID4+IEVuYWJsZSBJT01NVSBk ZWJ1Z2dpbmcgY29kZSAoaW1wbGllcyBgdmVyYm9zZWApLgogCisjIyMgaW9tbXVcX2RldlxfaW90 bGJcX3RpbWVvdXQKKz4gYD0gPGludGVnZXI+YAorCis+IERlZmF1bHQ6IGAxMDAwYAorCitTcGVj aWZ5IHRoZSB0aW1lb3V0IG9mIHRoZSBkZXZpY2UgSU9UTEIgaW52YWxpZGF0aW9uIGluIG1pbGxp c2Vjb25kcy4KK0J5IGRlZmF1bHQsIHRoZSB0aW1lb3V0IGlzIDEwMDAgbXMuIFdoZW4geW91IHNl ZSBlcnJvciAnUXVldWUgaW52YWxpZGF0ZQord2FpdCBkZXNjcmlwdG9yIHRpbWVkIG91dCcsIHRy eSBpbmNyZWFzaW5nIHRoaXMgdmFsdWUuCisKICMjIyBpb21tdVxfaW5jbHVzaXZlXF9tYXBwaW5n IChWVC1kKQogPiBgPSA8Ym9vbGVhbj5gCiAKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IGVm ODBiM2MuLjc2NTZhZWIgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11 LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtMjQsNiArMjQsOSBA QAogc3RhdGljIHZvaWQgcGFyc2VfaW9tbXVfcGFyYW0oY2hhciAqcyk7CiBzdGF0aWMgdm9pZCBp b21tdV9kdW1wX3AybV90YWJsZSh1bnNpZ25lZCBjaGFyIGtleSk7CiAKK3Vuc2lnbmVkIGludCBf X3JlYWRfbW9zdGx5IGlvbW11X2Rldl9pb3RsYl90aW1lb3V0ID0gMTAwMDsKK2ludGVnZXJfcGFy YW0oImlvbW11X2Rldl9pb3RsYl90aW1lb3V0IiwgaW9tbXVfZGV2X2lvdGxiX3RpbWVvdXQpOwor CiAvKgogICogVGhlICdpb21tdScgcGFyYW1ldGVyIGVuYWJsZXMgdGhlIElPTU1VLiAgT3B0aW9u YWwgY29tbWEgc2VwYXJhdGVkCiAgKiB2YWx1ZSBtYXkgY29udGFpbjoKZGlmZiAtLWdpdCBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3Z0ZC9xaW52YWwuYwppbmRleCBhYTc4NDFhLi40Nzg4ZDVmIDEwMDY0NAotLS0gYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvdnRkL3FpbnZhbC5jCkBAIC0yOCw2ICsyOCw4IEBACiAjaW5jbHVkZSAidnRkLmgiCiAj aW5jbHVkZSAiZXh0ZXJuLmgiCiAKKyNkZWZpbmUgVlREX1FJX1RJTUVPVVQJMQorCiBzdGF0aWMg dm9pZCBwcmludF9xaV9yZWdzKHN0cnVjdCBpb21tdSAqaW9tbXUpCiB7CiAgICAgdTY0IHZhbDsK QEAgLTEzMCwxMCArMTMyLDEwIEBAIHN0YXRpYyB2b2lkIHF1ZXVlX2ludmFsaWRhdGVfaW90bGIo c3RydWN0IGlvbW11ICppb21tdSwKICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+ cmVnaXN0ZXJfbG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMgaW50IHF1ZXVlX2ludmFsaWRhdGVf d2FpdChzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgIHU4IGlmbGFnLCB1OCBzdywgdTggZm4pCitz dGF0aWMgaW50IF9fbXVzdF9jaGVjayBxdWV1ZV9pbnZhbGlkYXRlX3dhaXQoc3RydWN0IGlvbW11 ICppb21tdSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 OCBpZmxhZywgdTggc3csIHU4IGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpCiB7Ci0gICAgc190aW1lX3Qgc3Rh cnRfdGltZTsKICAgICB2b2xhdGlsZSB1MzIgcG9sbF9zbG90ID0gUUlOVkFMX1NUQVRfSU5JVDsK ICAgICB1bnNpZ25lZCBpbnQgaW5kZXg7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTE2 MywxNCArMTY1LDIwIEBAIHN0YXRpYyBpbnQgcXVldWVfaW52YWxpZGF0ZV93YWl0KHN0cnVjdCBp b21tdSAqaW9tbXUsCiAgICAgLyogTm93IHdlIGRvbid0IHN1cHBvcnQgaW50ZXJydXB0IG1ldGhv ZCAqLwogICAgIGlmICggc3cgKQogICAgIHsKKyAgICAgICAgc190aW1lX3QgdGltZW91dDsKKwog ICAgICAgICAvKiBJbiBjYXNlIGFsbCB3YWl0IGRlc2NyaXB0b3Igd3JpdGVzIHRvIHNhbWUgYWRk ciB3aXRoIHNhbWUgZGF0YSAqLwotICAgICAgICBzdGFydF90aW1lID0gTk9XKCk7CisgICAgICAg IHRpbWVvdXQgPSBOT1coKSArIE1JTExJU0VDUyhmbHVzaF9kZXZfaW90bGIgPworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9tbXVfZGV2X2lvdGxiX3RpbWVvdXQgOiBWVERf UUlfVElNRU9VVCk7CisKICAgICAgICAgd2hpbGUgKCBwb2xsX3Nsb3QgIT0gUUlOVkFMX1NUQVRf RE9ORSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICggTk9XKCkgPiAoc3RhcnRfdGltZSAr IERNQVJfT1BFUkFUSU9OX1RJTUVPVVQpICkKKyAgICAgICAgICAgIGlmICggTk9XKCkgPiB0aW1l b3V0ICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBwcmludF9xaV9yZWdzKGlvbW11 KTsKLSAgICAgICAgICAgICAgICBwYW5pYygicXVldWUgaW52YWxpZGF0ZSB3YWl0IGRlc2NyaXB0 b3Igd2FzIG5vdCBleGVjdXRlZCIpOworICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfV0FS TklORyBWVERQUkVGSVgKKyAgICAgICAgICAgICAgICAgICAgICAgIiBRdWV1ZSBpbnZhbGlkYXRl IHdhaXQgZGVzY3JpcHRvciB0aW1lZCBvdXRcbiIpOworICAgICAgICAgICAgICAgIHJldHVybiAt RVRJTUVET1VUOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY3B1X3JlbGF4KCk7CiAgICAg ICAgIH0KQEAgLTE4MCwxMiArMTg4LDE0IEBAIHN0YXRpYyBpbnQgcXVldWVfaW52YWxpZGF0ZV93 YWl0KHN0cnVjdCBpb21tdSAqaW9tbXUsCiAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwogfQogCi1z dGF0aWMgaW50IGludmFsaWRhdGVfc3luYyhzdHJ1Y3QgaW9tbXUgKmlvbW11KQorc3RhdGljIGlu dCBfX211c3RfY2hlY2sgaW52YWxpZGF0ZV9zeW5jKHN0cnVjdCBpb21tdSAqaW9tbXUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3Rs YikKIHsKICAgICBzdHJ1Y3QgcWlfY3RybCAqcWlfY3RybCA9IGlvbW11X3FpX2N0cmwoaW9tbXUp OwogCiAgICAgaWYgKCBxaV9jdHJsLT5xaW52YWxfbWFkZHIgKQotICAgICAgICByZXR1cm4gcXVl dWVfaW52YWxpZGF0ZV93YWl0KGlvbW11LCAwLCAxLCAxKTsKKyAgICAgICAgcmV0dXJuIHF1ZXVl X2ludmFsaWRhdGVfd2FpdChpb21tdSwgMCwgMSwgMSwgZmx1c2hfZGV2X2lvdGxiKTsKKwogICAg IHJldHVybiAwOwogfQogCkBAIC0yNTQsNyArMjY0LDcgQEAgc3RhdGljIGludCBfX2lvbW11X2Zs dXNoX2llYyhzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1OCBncmFudSwgdTggaW0sIHUxNiBpaWR4KQog ICAgIGludCByZXQ7CiAKICAgICBxdWV1ZV9pbnZhbGlkYXRlX2llYyhpb21tdSwgZ3JhbnUsIGlt LCBpaWR4KTsKLSAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUpOworICAgIHJldCA9IGlu dmFsaWRhdGVfc3luYyhpb21tdSwgMCk7CiAgICAgLyoKICAgICAgKiByZWFkaW5nIHZ0LWQgYXJj aGl0ZWN0dXJlIHJlZ2lzdGVyIHdpbGwgZW5zdXJlCiAgICAgICogZHJhaW5pbmcgaGFwcGVucyBp biBpbXBsZW1lbnRhdGlvbiBpbmRlcGVuZGVudCB3YXkuCkBAIC0zMDAsNyArMzEwLDcgQEAgc3Rh dGljIGludCBfX211c3RfY2hlY2sgZmx1c2hfY29udGV4dF9xaSh2b2lkICpfaW9tbXUsIHUxNiBk aWQsCiAgICAgewogICAgICAgICBxdWV1ZV9pbnZhbGlkYXRlX2NvbnRleHQoaW9tbXUsIGRpZCwg c2lkLCBmbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPj4gRE1BX0ND TURfSU5WTF9HUkFOVV9PRkZTRVQpOwotICAgICAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9t bXUpOworICAgICAgICByZXQgPSBpbnZhbGlkYXRlX3N5bmMoaW9tbXUsIDApOwogICAgIH0KICAg ICByZXR1cm4gcmV0OwogfQpAQCAtMzQ0LDcgKzM1NCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2No ZWNrIGZsdXNoX2lvdGxiX3FpKHZvaWQgKl9pb21tdSwgdTE2IGRpZCwgdTY0IGFkZHIsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHcsIGRpZCwgc2l6ZV9vcmRlciwgMCwgYWRkcik7 CiAgICAgICAgIGlmICggZmx1c2hfZGV2X2lvdGxiICkKICAgICAgICAgICAgIHJldCA9IGRldl9p bnZhbGlkYXRlX2lvdGxiKGlvbW11LCBkaWQsIGFkZHIsIHNpemVfb3JkZXIsIHR5cGUpOwotICAg ICAgICByYyA9IGludmFsaWRhdGVfc3luYyhpb21tdSk7CisgICAgICAgIHJjID0gaW52YWxpZGF0 ZV9zeW5jKGlvbW11LCBmbHVzaF9kZXZfaW90bGIpOwogICAgICAgICBpZiAoICFyZXQgKQogICAg ICAgICAgICAgcmV0ID0gcmM7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lv bW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCA4YjIzY2M5Li5hNzU5ZjJiIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4v aW9tbXUuaApAQCAtMzUsNiArMzUsOCBAQCBleHRlcm4gYm9vbF90IGlvbW11X2hhcF9wdF9zaGFy ZTsKIGV4dGVybiBib29sX3QgaW9tbXVfZGVidWc7CiBleHRlcm4gYm9vbF90IGFtZF9pb21tdV9w ZXJkZXZfaW50cmVtYXA7CiAKK2V4dGVybiB1bnNpZ25lZCBpbnQgaW9tbXVfZGV2X2lvdGxiX3Rp bWVvdXQ7CisKICNkZWZpbmUgSU9NTVVfUEFHRV9TSVpFKHN6KSAoMVVMIDw8IFBBR0VfU0hJRlRf IyNzeikKICNkZWZpbmUgSU9NTVVfUEFHRV9NQVNLKHN6KSAofih1NjQpMCA8PCBQQUdFX1NISUZU XyMjc3opCiAjZGVmaW5lIElPTU1VX1BBR0VfQUxJR04oc3osIGFkZHIpICAoKChhZGRyKSArIH5Q QUdFX01BU0tfIyNzeikgJiBQQUdFX01BU0tfIyNzeikKLS0gCjEuOS4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK