From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 8/9] drm/i915/perf: allow holding preemption on filtered ctx Date: Thu, 10 Oct 2019 20:48:50 +0100 Message-ID: <20191010194851.26592-8-chris@chris-wilson.co.uk> References: <20191010194851.26592-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D9B16E91E for ; Thu, 10 Oct 2019 19:48:58 +0000 (UTC) Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 18796086-1500050 for ; Thu, 10 Oct 2019 20:48:54 +0100 In-Reply-To: <20191010194851.26592-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgoK V2Ugd291bGQgbGlrZSB0byBtYWtlIHVzZSBvZiBwZXJmIGluIFZ1bGthbi4gVGhlIFZ1bGthbiBB UEkgaXMgbXVjaApsb3dlciBsZXZlbCB0aGFuIE9wZW5HTCwgd2l0aCBhcHBsaWNhdGlvbnMgZGly ZWN0bHkgZXhwb3NlZCB0byB0aGUKY29uY2VwdCBvZiBjb21tYW5kIGJ1ZmZlcnMgKHByZXR0eSBt dWNoIGVxdWl2YWxlbnQgdG8gb3VyIGJhdGNoCmJ1ZmZlcnMpLiBJbiBWdWxrYW4sIHF1ZXJpZXMg YXJlIGFsd2F5cyBsaW1pdGVkIGluIHNjb3BlIHRvIGEgY29tbWFuZApidWZmZXIuIEluIE9wZW5H TCwgdGhlIGxhY2sgb2YgY29tbWFuZCBidWZmZXIgY29uY2VwdCBtZWFudCB0aGF0CnF1ZXJpZXMn IGR1cmF0aW9uIGNvdWxkIHNwYW4gbXVsdGlwbGUgY29tbWFuZCBidWZmZXJzLgoKV2l0aCB0aGF0 IHJlc3RyaWN0aW9uIGdvbmUgaW4gVnVsa2FuLCB3ZSB3b3VsZCBsaWtlIHRvIHNpbXBsaWZ5Cm1l YXN1cmluZyBwZXJmb3JtYW5jZSBqdXN0IGJ5IG1lYXN1cmluZyB0aGUgZGVsdGFzIGJldHdlZW4g dGhlIGNvdW50ZXIKc25hcHNob3RzIHdyaXR0ZW4gYnkgMiBNSV9SRUNPUkRfUEVSRl9DT1VOVCBj b21tYW5kcywgcmF0aGVyIHRoYW4gdGhlCm1vcmUgY29tcGxleCBzY2hlbWUgd2UgY3VycmVudGx5 IGhhdmUgaW4gdGhlIEdMIGRyaXZlciwgdXNpbmcgMgpNSV9SRUNPUkRfUEVSRl9DT1VOVCBjb21t YW5kcyBhbmQgZG9pbmcgc29tZSBwb3N0IHByb2Nlc3Npbmcgb24gdGhlCnN0cmVhbSBvZiBPQSBy ZXBvcnRzLCBjb21pbmcgZnJvbSB0aGUgZ2xvYmFsIE9BIGJ1ZmZlciwgdG8gcmVtb3ZlIGFueQp1 bnJlbGF0ZWQgZGVsdGFzIGluIGJldHdlZW4gdGhlIDIgTUlfUkVDT1JEX1BFUkZfQ09VTlQuCgpE aXNhYmxpbmcgcHJlZW1wdGlvbiBvbmx5IGFwcGx5IHRvIGEgc2luZ2xlIGNvbnRleHQgd2l0aCB3 aGljaCB3YW50IHRvCnF1ZXJ5IHBlcmZvcm1hbmNlIGNvdW50ZXJzIGZvciBhbmQgaXMgY29uc2lk ZXJlZCBhIHByaXZpbGVnZWQKb3BlcmF0aW9uLCBieSBkZWZhdWx0IHByb3RlY3RlZCBieSBDQVBf U1lTX0FETUlOLiBJdCBpcyBwb3NzaWJsZSB0bwplbmFibGUgaXQgZm9yIGEgbm9ybWFsIHVzZXIg YnkgZGlzYWJsaW5nIHRoZSBwYXJhbm9pZCBzdHJlYW0gc2V0dGluZy4KCnYyOiBTdG9yZSBwcmVl bXB0aW9uIHNldHRpbmcgaW4gaW50ZWxfY29udGV4dCAoQ2hyaXMpCgp2MzogVXNlIHByaW9yaXRp ZXMgdG8gYXZvaWQgcHJlZW1wdGlvbiByYXRoZXIgdGhhbiB0aGUgSFcgbWVjaGFuaXNtCgp2NDog SnVzdCBtb2RpZnkgdGhlIHBvcnQgcHJpb3JpdHkgcmVwb3J0aW5nIGZ1bmN0aW9uCgp2NTogQWRk IG5vcHJlZW1wdCBmbGFnIG9uIGdlbSBjb250ZXh0IGFuZCBhbHdheXMgZmxhZyByZXF1ZXN0cwog ICAgYXBwcm9wcmlhdGVseSwgcmVnYXJsZXNzIG9mIE9BIHJlY29uZmlndXJhdGlvbi4KClNpZ25l ZC1vZmYtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5oICAgfCAxOCArKysr KysrKysrCiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmggfCAg MSArCiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgICAgfCAgMyAr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgICAgICAgICAgICAgIHwgMzQgKysr KysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmX3R5cGVzLmgg ICAgICAgIHwgIDggKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAg ICAgICAgICB8IDExICsrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jb250ZXh0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4 dC5oCmluZGV4IDkyMzQ1ODY4MzBkMS4uY2ZlODA1OTBmMGVkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmgKQEAgLTExNCw2ICsxMTQsMjQgQEAgaTkxNV9n ZW1fY29udGV4dF9jbGVhcl91c2VyX2VuZ2luZXMoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCkKIAljbGVhcl9iaXQoQ09OVEVYVF9VU0VSX0VOR0lORVMsICZjdHgtPmZsYWdzKTsKIH0KIAor c3RhdGljIGlubGluZSBib29sCitpOTE1X2dlbV9jb250ZXh0X25vcHJlZW1wdChjb25zdCBzdHJ1 Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQoreworCXJldHVybiB0ZXN0X2JpdChDT05URVhUX05P UFJFRU1QVCwgJmN0eC0+ZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK2k5MTVfZ2Vt X2NvbnRleHRfc2V0X25vcHJlZW1wdChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQorewor CXNldF9iaXQoQ09OVEVYVF9OT1BSRUVNUFQsICZjdHgtPmZsYWdzKTsKK30KKworc3RhdGljIGlu bGluZSB2b2lkCitpOTE1X2dlbV9jb250ZXh0X2NsZWFyX25vcHJlZW1wdChzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4KQoreworCWNsZWFyX2JpdChDT05URVhUX05PUFJFRU1QVCwgJmN0eC0+ ZmxhZ3MpOworfQorCiBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19rZXJu ZWwoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKIHsKIAlyZXR1cm4gIWN0eC0+ZmlsZV9w cml2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRl eHRfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5 cGVzLmgKaW5kZXggYWI4ZTEzNjdkZmM4Li5mZTk3YjhiYTRmZGEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHRfdHlwZXMuaApAQCAtMTQ2LDYgKzE0 Niw3IEBAIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0IHsKICNkZWZpbmUgQ09OVEVYVF9DTE9TRUQJ CQkxCiAjZGVmaW5lIENPTlRFWFRfRk9SQ0VfU0lOR0xFX1NVQk1JU1NJT04JMgogI2RlZmluZSBD T05URVhUX1VTRVJfRU5HSU5FUwkJMworI2RlZmluZSBDT05URVhUX05PUFJFRU1QVAkJNAogCiAJ c3RydWN0IG11dGV4IG11dGV4OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwppbmRleCA5ODgxNmMzNWZmYzMuLmU5NjkwMTg4ODMyMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0yMDc3 LDYgKzIwNzcsOSBAQCBzdGF0aWMgaW50IGViX3N1Ym1pdChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy ICplYikKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCisJaWYgKGk5MTVfZ2VtX2NvbnRleHRf bm9wcmVlbXB0KGViLT5nZW1fY29udGV4dCkpCisJCWViLT5yZXF1ZXN0LT5mbGFncyB8PSBJOTE1 X1JFUVVFU1RfTk9QUkVFTVBUOworCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w ZXJmLmMKaW5kZXggMDAxZmIyNDlhYWVjLi45ODBjZWM2NDdkMmQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGVyZi5jCkBAIC0zNDQsNiArMzQ0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X29h X2Zvcm1hdCBnZW44X3BsdXNfb2FfZm9ybWF0c1tJOTE1X09BX0ZPUk1BVF9NQVhdID0gewogICog c3RydWN0IHBlcmZfb3Blbl9wcm9wZXJ0aWVzIC0gZm9yIHZhbGlkYXRlZCBwcm9wZXJ0aWVzIGdp dmVuIHRvIG9wZW4gYSBzdHJlYW0KICAqIEBzYW1wbGVfZmxhZ3M6IGBEUk1fSTkxNV9QRVJGX1BS T1BfU0FNUExFXypgIHByb3BlcnRpZXMgYXJlIHRyYWNrZWQgYXMgZmxhZ3MKICAqIEBzaW5nbGVf Y29udGV4dDogV2hldGhlciBhIHNpbmdsZSBvciBhbGwgZ3B1IGNvbnRleHRzIHNob3VsZCBiZSBt b25pdG9yZWQKKyAqIEBob2xkX3ByZWVtcHRpb246IFdoZXRoZXIgdGhlIHByZWVtcHRpb24gaXMg ZGlzYWJsZWQgZm9yIHRoZSBmaWx0ZXJlZAorICogICAgICAgICAgICAgICAgICAgY29udGV4dAog ICogQGN0eF9oYW5kbGU6IEEgZ2VtIGN0eCBoYW5kbGUgZm9yIHVzZSB3aXRoIEBzaW5nbGVfY29u dGV4dAogICogQG1ldHJpY3Nfc2V0OiBBbiBJRCBmb3IgYW4gT0EgdW5pdCBtZXRyaWMgc2V0IGFk dmVydGlzZWQgdmlhIHN5c2ZzCiAgKiBAb2FfZm9ybWF0OiBBbiBPQSB1bml0IEhXIHJlcG9ydCBm b3JtYXQKQEAgLTM1OSw2ICszNjEsNyBAQCBzdHJ1Y3QgcGVyZl9vcGVuX3Byb3BlcnRpZXMgewog CXUzMiBzYW1wbGVfZmxhZ3M7CiAKIAl1NjQgc2luZ2xlX2NvbnRleHQ6MTsKKwl1NjQgaG9sZF9w cmVlbXB0aW9uOjE7CiAJdTY0IGN0eF9oYW5kbGU7CiAKIAkvKiBPQSBzYW1wbGluZyBzdGF0ZSAq LwpAQCAtMjUxMiw2ICsyNTE1LDggQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJaWYgKFdBUk5fT04oc3RyZWFtLT5vYV9i dWZmZXIuZm9ybWF0X3NpemUgPT0gMCkpCiAJCXJldHVybiAtRUlOVkFMOwogCisJc3RyZWFtLT5o b2xkX3ByZWVtcHRpb24gPSBwcm9wcy0+aG9sZF9wcmVlbXB0aW9uOworCiAJc3RyZWFtLT5vYV9i dWZmZXIuZm9ybWF0ID0KIAkJcGVyZi0+b2FfZm9ybWF0c1twcm9wcy0+b2FfZm9ybWF0XS5mb3Jt YXQ7CiAKQEAgLTI4MzIsNiArMjgzNyw5IEBAIHN0YXRpYyB2b2lkIGk5MTVfcGVyZl9lbmFibGVf bG9ja2VkKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiAKIAlpZiAoc3RyZWFtLT5v cHMtPmVuYWJsZSkKIAkJc3RyZWFtLT5vcHMtPmVuYWJsZShzdHJlYW0pOworCisJaWYgKHN0cmVh bS0+aG9sZF9wcmVlbXB0aW9uKQorCQlpOTE1X2dlbV9jb250ZXh0X3NldF9ub3ByZWVtcHQoc3Ry ZWFtLT5jdHgpOwogfQogCiAvKioKQEAgLTI4NTYsNiArMjg2NCw5IEBAIHN0YXRpYyB2b2lkIGk5 MTVfcGVyZl9kaXNhYmxlX2xvY2tlZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQog CS8qIEFsbG93IHN0cmVhbS0+b3BzLT5kaXNhYmxlKCkgdG8gcmVmZXIgdG8gdGhpcyAqLwogCXN0 cmVhbS0+ZW5hYmxlZCA9IGZhbHNlOwogCisJaWYgKHN0cmVhbS0+aG9sZF9wcmVlbXB0aW9uKQor CQlpOTE1X2dlbV9jb250ZXh0X2NsZWFyX25vcHJlZW1wdChzdHJlYW0tPmN0eCk7CisKIAlpZiAo c3RyZWFtLT5vcHMtPmRpc2FibGUpCiAJCXN0cmVhbS0+b3BzLT5kaXNhYmxlKHN0cmVhbSk7CiB9 CkBAIC0zMDUzLDYgKzMwNjQsMTUgQEAgaTkxNV9wZXJmX29wZW5faW9jdGxfbG9ja2VkKHN0cnVj dCBpOTE1X3BlcmYgKnBlcmYsCiAJCX0KIAl9CiAKKwlpZiAocHJvcHMtPmhvbGRfcHJlZW1wdGlv bikgeworCQlpZiAoIXByb3BzLT5zaW5nbGVfY29udGV4dCkgeworCQkJRFJNX0RFQlVHKCJwcmVl bXB0aW9uIGRpc2FibGUgd2l0aCBubyBjb250ZXh0XG4iKTsKKwkJCXJldCA9IC1FSU5WQUw7CisJ CQlnb3RvIGVycjsKKwkJfQorCQlwcml2aWxlZ2VkX29wID0gdHJ1ZTsKKwl9CisKIAkvKgogCSAq IE9uIEhhc3dlbGwgdGhlIE9BIHVuaXQgc3VwcG9ydHMgY2xvY2sgZ2F0aW5nIG9mZiBmb3IgYSBz cGVjaWZpYwogCSAqIGNvbnRleHQgYW5kIGluIHRoaXMgbW9kZSB0aGVyZSdzIG5vIHZpc2liaWxp dHkgb2YgbWV0cmljcyBmb3IgdGhlCkBAIC0zMDY3LDcgKzMwODcsNyBAQCBpOTE1X3BlcmZfb3Bl bl9pb2N0bF9sb2NrZWQoc3RydWN0IGk5MTVfcGVyZiAqcGVyZiwKIAkgKiBNSV9SRVBPUlRfUEVS Rl9DT1VOVCBjb21tYW5kcyBhbmQgc28gY29uc2lkZXIgaXQgYSBwcml2aWxlZ2VkIG9wIHRvCiAJ ICogZW5hYmxlIHRoZSBPQSB1bml0IGJ5IGRlZmF1bHQuCiAJICovCi0JaWYgKElTX0hBU1dFTEwo cGVyZi0+aTkxNSkgJiYgc3BlY2lmaWNfY3R4KQorCWlmIChJU19IQVNXRUxMKHBlcmYtPmk5MTUp ICYmIHNwZWNpZmljX2N0eCAmJiAhcHJvcHMtPmhvbGRfcHJlZW1wdGlvbikKIAkJcHJpdmlsZWdl ZF9vcCA9IGZhbHNlOwogCiAJLyogU2ltaWxhciB0byBwZXJmJ3Mga2VybmVsLnBlcmZfcGFyYW5v aWRfY3B1IHN5c2N0bCBvcHRpb24KQEAgLTMwNzcsNyArMzA5Nyw3IEBAIGk5MTVfcGVyZl9vcGVu X2lvY3RsX2xvY2tlZChzdHJ1Y3QgaTkxNV9wZXJmICpwZXJmLAogCSAqLwogCWlmIChwcml2aWxl Z2VkX29wICYmCiAJICAgIGk5MTVfcGVyZl9zdHJlYW1fcGFyYW5vaWQgJiYgIWNhcGFibGUoQ0FQ X1NZU19BRE1JTikpIHsKLQkJRFJNX0RFQlVHKCJJbnN1ZmZpY2llbnQgcHJpdmlsZWdlcyB0byBv cGVuIHN5c3RlbS13aWRlIGk5MTUgcGVyZiBzdHJlYW1cbiIpOworCQlEUk1fREVCVUcoIkluc3Vm ZmljaWVudCBwcml2aWxlZ2VzIHRvIG9wZW4gaTkxNSBwZXJmIHN0cmVhbVxuIik7CiAJCXJldCA9 IC1FQUNDRVM7CiAJCWdvdG8gZXJyX2N0eDsKIAl9CkBAIC0zMjc5LDYgKzMyOTksOSBAQCBzdGF0 aWMgaW50IHJlYWRfcHJvcGVydGllc191bmxvY2tlZChzdHJ1Y3QgaTkxNV9wZXJmICpwZXJmLAog CQkJcHJvcHMtPm9hX3BlcmlvZGljID0gdHJ1ZTsKIAkJCXByb3BzLT5vYV9wZXJpb2RfZXhwb25l bnQgPSB2YWx1ZTsKIAkJCWJyZWFrOworCQljYXNlIERSTV9JOTE1X1BFUkZfUFJPUF9IT0xEX1BS RUVNUFRJT046CisJCQlwcm9wcy0+aG9sZF9wcmVlbXB0aW9uID0gISF2YWx1ZTsKKwkJCWJyZWFr OwogCQljYXNlIERSTV9JOTE1X1BFUkZfUFJPUF9NQVg6CiAJCQlNSVNTSU5HX0NBU0UoaWQpOwog CQkJcmV0dXJuIC1FSU5WQUw7CkBAIC00MDUxLDggKzQwNzQsMTMgQEAgaW50IGk5MTVfcGVyZl9p b2N0bF92ZXJzaW9uKHZvaWQpCiAJICoKIAkgKiAyOiBBZGRlZCBydW50aW1lIG1vZGlmaWNhdGlv biBvZiBPQSBjb25maWcuCiAJICogICBJOTE1X1BFUkZfSU9DVExfQ09ORklHCisJICoKKwkgKiAz OiBBZGQgRFJNX0k5MTVfUEVSRl9QUk9QX0hPTERfUFJFRU1QVElPTiBwYXJhbWV0ZXIgdG8gaG9s ZAorCSAqICAgIHByZWVtcHRpb24gb24gYSBwYXJ0aWN1bGFyIGNvbnRleHQgc28gdGhhdCBwZXJm b3JtYW5jZSBkYXRhIGlzCisJICogICAgYWNjZXNzaWJsZSBmcm9tIGEgZGVsdGEgb2YgTUlfUlBD IHJlcG9ydHMgd2l0aG91dCBsb29raW5nIGF0IHRoZQorCSAqICAgIE9BIGJ1ZmZlci4KIAkgKi8K LQlyZXR1cm4gMjsKKwlyZXR1cm4gMzsKIH0KIAogI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9J OTE1X1NFTEZURVNUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJm X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmZfdHlwZXMuaAppbmRleCBk MzVhM2MxOTQ2YzMuLjc4NDJlYTMxY2E1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJm X3R5cGVzLmgKQEAgLTE3MCw2ICsxNzAsMTQgQEAgc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gewog CSAqLwogCWJvb2wgZW5hYmxlZDsKIAorCS8qOAorCSAqIEBob2xkX3ByZWVtcHRpb246IFdoZXRo ZXIgcHJlZW1wdGlvbiBpcyBwdXQgb24gaG9sZCBmb3IgY29tbWFuZAorCSAqIHN1Ym1pc3Npb25z IGRvbmUgb24gdGhlIEBjdHguIFRoaXMgaXMgdXNlZnVsIGZvciBzb21lIGRyaXZlcnMgdGhhdAor CSAqIGNhbm5vdCBlYXNpbHkgcG9zdCBwcm9jZXNzIHRoZSBPQSBidWZmZXIgY29udGV4dCB0byBz dWJ0cmFjdCBkZWx0YQorCSAqIG9mIHBlcmZvcm1hbmNlIGNvdW50ZXJzIG5vdCBhc3NvY2lhdGVk IHdpdGggQGN0eC4KKwkgKi8KKwlib29sIGhvbGRfcHJlZW1wdGlvbjsKKwogCS8qKgogCSAqIEBv cHM6IFRoZSBjYWxsYmFja3MgcHJvdmlkaW5nIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIHNw ZWNpZmljCiAJICogdHlwZSBvZiBjb25maWd1cmVkIHN0cmVhbS4KZGlmZiAtLWdpdCBhL2luY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRl eCA1ZTY2ZjdjNjAyNjEuLjlmOWYwNWE1NGU4NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMTg5MCw2 ICsxODkwLDE3IEBAIGVudW0gZHJtX2k5MTVfcGVyZl9wcm9wZXJ0eV9pZCB7CiAJICovCiAJRFJN X0k5MTVfUEVSRl9QUk9QX09BX0VYUE9ORU5ULAogCisJLyoqCisJICogU3BlY2lmeWluZyB0aGlz IHByb3BlcnR5IGlzIG9ubHkgdmFsaWQgd2hlbiBzcGVjaWZ5IGEgY29udGV4dCB0bworCSAqIGZp bHRlciB3aXRoIERSTV9JOTE1X1BFUkZfUFJPUF9DVFhfSEFORExFLiBTcGVjaWZ5aW5nIHRoaXMg cHJvcGVydHkKKwkgKiB3aWxsIGhvbGQgcHJlZW1wdGlvbiBvZiB0aGUgcGFydGljdWxhciBjb250 ZXh0IHdlIHdhbnQgdG8gZ2F0aGVyCisJICogcGVyZm9ybWFuY2UgZGF0YSBhYm91dC4gVGhlIGV4 ZWNidWYyIHN1Ym1pc3Npb25zIG11c3QgaW5jbHVkZSBhCisJICogZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXJfZXh0X3BlcmYgcGFyYW1ldGVyIGZvciB0aGlzIHRvIGFwcGx5LgorCSAqCisJICogVGhp cyBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgaW4gcGVyZiByZXZpc2lvbiAzLgorCSAqLworCURSTV9J OTE1X1BFUkZfUFJPUF9IT0xEX1BSRUVNUFRJT04sCisKIAlEUk1fSTkxNV9QRVJGX1BST1BfTUFY IC8qIG5vbi1BQkkgKi8KIH07CiAKLS0gCjIuMjMuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4