From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2] drm/i915/tracing: Enable user interrupts while intel_engine_notify is active Date: Wed, 8 Aug 2018 16:14:24 +0100 Message-ID: <20180808151424.5183-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 43C8F6E58D for ; Wed, 8 Aug 2018 15:14:32 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id h15-v6so2341720wrs.7 for ; Wed, 08 Aug 2018 08:14:32 -0700 (PDT) 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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCktlZXAgdGhl IHVzZXIgaW50ZXJydXB0IGVuYWJsZWQgYW5kIGVtaXQgaW50ZWxfZW5naW5lX25vdGlmeSB0cmFj ZXBvaW50CmV2ZXJ5IHRpbWUgYXMgbG9uZyBhcyBpdCBpcyBlbmFibGVkLgoKUHJlbWlzZSBpcyB0 aGF0IGlmIHNvbWVvbmUgaXMgbGlzdGVuaW5nLCB0aGV5IHdhbnQgdG8gc2VlIGludGVycnVwdHMK bG9nZ2VkLgoKV2UgdXNlIHRyYWNlcG9pbnQgKGRlKXJlZ2lzdHJhdGlvbiBjYWxsYmFja3MgdG8g ZW5hYmxlIHVzZXIgaW50ZXJydXB0cyBvbgphbGwgZGV2aWNlcyAoZnV0dXJlIHByb29maW5nIGFu ZCBhdm9pZGluZyB1Z2x5IGdsb2JhbCBwb2ludGVycykgYW5kIGFsbAplbmdpbmVzLgoKRm9yIHRo aXMgdG8gd29yayB3ZSBhbHNvIGhhdmUgdG8gYWRkIGFub3RoZXIgY2FsbCBzaXRlIG9mCnRyYWNl X2ludGVsX2VuZ2luZV9ub3RpZnksIG5vdGFibHkgdG8gdGhlIGVhcmx5IHJldHVybiBmcm9tIG5v dGlmeV9yaW5nCm90aGVyd2lzZSB3ZSBzdGlsbCBkZXBlbmQgb24gd2FpdGVycyBiZWluZyBwcmVz ZW50LgoKdjI6CiAqIEltcHJvdmUgbWFrZWZpbGUuIChDaHJpcyBXaWxzb24pCiAqIFNpbXBsaWZ5 IGJ5IGRyb3BwaW5nIHRoZSBwb2ludGVsZXNzIGdsb2JhbCBkcml2ZXIgbGlzdC4gKENocmlzIFdp bHNvbikKICogRW1pdCB0cmFjZXBvaW50IHdoZW4gdGhlcmUgYXJlIG5vIHdhaXRlcnMsIG5vdCBq dXN0IHRoZSB1c2VyIGludGVycnVwdC4KICogQ29tbWl0IG1lc3NhZ2UgdGlkeS4KClNpZ25lZC1v ZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERtaXRyeSBSb2dvemhraW4g PGRtaXRyeS52LnJvZ296aGtpbkBpbnRlbC5jb20+CkNjOiBKb2huIEhhcnJpc29uIDxKb2huLkMu SGFycmlzb25AaW50ZWwuY29tPgpDYzogc3ZldGxhbmEua3VrYW5vdmFAaW50ZWwuY29tCi0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgfCAgMyArCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jICAgICB8ICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgIHwg IDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCAgIHwgNTAgKysrKysrKyst LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNpbmcuYyB8IDk4ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNpbmcu aCB8IDEzICsrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKyksIDI0IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJh Y2luZy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFj aW5nLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDU3OTRmMTAyZjliOC4uZGZjOTQwYjMyMDc4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtMTgyLDYgKzE4Miw5IEBAIGk5MTUteSArPSBpOTE1 X3BlcmYubyBcCiAJICBpOTE1X29hX2NubC5vIFwKIAkgIGk5MTVfb2FfaWNsLm8KIAorIyB0cmFj aW5nCitpOTE1LSQoQ09ORklHX1RSQUNFUE9JTlRTKSArPSBpOTE1X3RyYWNpbmcubworCiBpZmVx ICgkKENPTkZJR19EUk1fSTkxNV9HVlQpLHkpCiBpOTE1LXkgKz0gaW50ZWxfZ3Z0Lm8KIGluY2x1 ZGUgJChzcmMpL2d2dC9NYWtlZmlsZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggOWRjZTU1 MTgyYzNhLi4wM2UyMjRlYmMyOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMTI4MSw2 ICsxMjgxLDkgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfcmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqLwogCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+ bnVtX3BpcGVzKQogCQlkcm1fa21zX2hlbHBlcl9wb2xsX2luaXQoZGV2KTsKKworCS8qIE5vdGlm eSBvdXIgdHJhY2Vwb2ludHMgZHJpdmVyIGhhcyBiZWVuIHJlZ2lzdGVyZWQuICovCisJaTkxNV90 cmFjaW5nX3JlZ2lzdGVyKGRldl9wcml2KTsKIH0KIAogLyoqCkBAIC0xMjkyLDYgKzEyOTUsOCBA QCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlpbnRlbF9mYmRldl91bnJlZ2lzdGVyKGRldl9wcml2KTsKIAlpbnRl bF9hdWRpb19kZWluaXQoZGV2X3ByaXYpOwogCisJaTkxNV90cmFjaW5nX3VucmVnaXN0ZXIoZGV2 X3ByaXYpOworCiAJLyoKIAkgKiBBZnRlciBmbHVzaGluZyB0aGUgZmJkZXYgKGluY2wuIGEgbGF0 ZSBhc3luYyBjb25maWcgd2hpY2ggd2lsbAogCSAqIGhhdmUgZGVsYXllZCBxdWV1aW5nIG9mIGEg aG90cGx1ZyBldmVudCksIHRoZW4gZmx1c2ggdGhlIGhvdHBsdWcKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IDBiMTBhMzBiN2Q5Ni4uYTE1ZjhiZTBlY2UwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKQEAgLTIxNDEsNiArMjE0MSw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAog CXN0cnVjdCBpOTE1X3BtdSBwbXU7CiAKKwlzdHJ1Y3QgbGlzdF9oZWFkIGRyaXZlcl9saXN0X2xp bms7CisKIAkvKgogCSAqIE5PVEU6IFRoaXMgaXMgdGhlIGRyaTEvdW1zIGR1bmdlb24sIGRvbid0 IGFkZCBzdHVmZiBoZXJlLiBZb3VyIHBhdGNoCiAJICogd2lsbCBiZSByZWplY3RlZC4gSW5zdGVh ZCBsb29rIGZvciBhIGJldHRlciBwbGFjZS4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IDgw ODRlMzViMjVjNS4uOGNiYTc5OGI2NjZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTEx NTksOCArMTE1OSwxMCBAQCBzdGF0aWMgdm9pZCBub3RpZnlfcmluZyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBOVUxMOwogCXN0cnVj dCBpbnRlbF93YWl0ICp3YWl0OwogCi0JaWYgKHVubGlrZWx5KCFlbmdpbmUtPmJyZWFkY3J1bWJz LmlycV9hcm1lZCkpCisJaWYgKHVubGlrZWx5KCFlbmdpbmUtPmJyZWFkY3J1bWJzLmlycV9hcm1l ZCkpIHsKKwkJdHJhY2VfaW50ZWxfZW5naW5lX25vdGlmeShlbmdpbmUsIGZhbHNlKTsKIAkJcmV0 dXJuOworCX0KIAogCXJjdV9yZWFkX2xvY2soKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV90cmFjZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5o CmluZGV4IGMwMzUyYTFiMDM2Yy4uMTI1NTVkMjM4OGZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90 cmFjZS5oCkBAIC04LDYgKzgsNyBAQAogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRl ICJpOTE1X2Rydi5oIgorI2luY2x1ZGUgImk5MTVfdHJhY2luZy5oIgogI2luY2x1ZGUgImludGVs X2Rydi5oIgogI2luY2x1ZGUgImludGVsX3JpbmdidWZmZXIuaCIKIApAQCAtNzUwLDI5ICs3NTEs MzIgQEAgVFJBQ0VfRVZFTlQoaTkxNV9yZXF1ZXN0X291dCwKIAkJCSAgICAgIF9fZW50cnktPmds b2JhbF9zZXFubywgX19lbnRyeS0+Y29tcGxldGVkKQogKTsKIAotVFJBQ0VfRVZFTlQoaW50ZWxf ZW5naW5lX25vdGlmeSwKLQkgICAgVFBfUFJPVE8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lLCBib29sIHdhaXRlcnMpLAotCSAgICBUUF9BUkdTKGVuZ2luZSwgd2FpdGVycyksCi0KLQkg ICAgVFBfU1RSVUNUX19lbnRyeSgKLQkJCSAgICAgX19maWVsZCh1MzIsIGRldikKLQkJCSAgICAg X19maWVsZCh1MTYsIGNsYXNzKQotCQkJICAgICBfX2ZpZWxkKHUxNiwgaW5zdGFuY2UpCi0JCQkg ICAgIF9fZmllbGQodTMyLCBzZXFubykKLQkJCSAgICAgX19maWVsZChib29sLCB3YWl0ZXJzKQot CQkJICAgICApLAotCi0JICAgIFRQX2Zhc3RfYXNzaWduKAotCQkJICAgX19lbnRyeS0+ZGV2ID0g ZW5naW5lLT5pOTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Ci0JCQkgICBfX2VudHJ5LT5jbGFzcyA9 IGVuZ2luZS0+dWFiaV9jbGFzczsKLQkJCSAgIF9fZW50cnktPmluc3RhbmNlID0gZW5naW5lLT5p bnN0YW5jZTsKLQkJCSAgIF9fZW50cnktPnNlcW5vID0gaW50ZWxfZW5naW5lX2dldF9zZXFubyhl bmdpbmUpOwotCQkJICAgX19lbnRyeS0+d2FpdGVycyA9IHdhaXRlcnM7Ci0JCQkgICApLAotCi0J ICAgIFRQX3ByaW50aygiZGV2PSV1LCBlbmdpbmU9JXU6JXUsIHNlcW5vPSV1LCB3YWl0ZXJzPSV1 IiwKLQkJICAgICAgX19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5jbGFzcywgX19lbnRyeS0+aW5zdGFu Y2UsCi0JCSAgICAgIF9fZW50cnktPnNlcW5vLCBfX2VudHJ5LT53YWl0ZXJzKQorVFJBQ0VfRVZF TlRfRk4oaW50ZWxfZW5naW5lX25vdGlmeSwKKwkgICAgICAgVFBfUFJPVE8oc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLCBib29sIHdhaXRlcnMpLAorCSAgICAgICBUUF9BUkdTKGVuZ2lu ZSwgd2FpdGVycyksCisKKwkgICAgICAgVFBfU1RSVUNUX19lbnRyeSgKKwkJCSAgICAgICAgX19m aWVsZCh1MzIsIGRldikKKwkJCSAgICAgICAgX19maWVsZCh1MTYsIGNsYXNzKQorCQkJICAgICAg ICBfX2ZpZWxkKHUxNiwgaW5zdGFuY2UpCisJCQkgICAgICAgIF9fZmllbGQodTMyLCBzZXFubykK KwkJCSAgICAgICAgX19maWVsZChib29sLCB3YWl0ZXJzKQorCQkJICAgICAgICApLAorCisJICAg ICAgIFRQX2Zhc3RfYXNzaWduKAorCQkJICAgICAgX19lbnRyeS0+ZGV2ID0gZW5naW5lLT5pOTE1 LT5kcm0ucHJpbWFyeS0+aW5kZXg7CisJCQkgICAgICBfX2VudHJ5LT5jbGFzcyA9IGVuZ2luZS0+ dWFiaV9jbGFzczsKKwkJCSAgICAgIF9fZW50cnktPmluc3RhbmNlID0gZW5naW5lLT5pbnN0YW5j ZTsKKwkJCSAgICAgIF9fZW50cnktPnNlcW5vID0gaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdp bmUpOworCQkJICAgICAgX19lbnRyeS0+d2FpdGVycyA9IHdhaXRlcnM7CisJCQkgICAgICApLAor CisJICAgICAgIFRQX3ByaW50aygiZGV2PSV1LCBlbmdpbmU9JXU6JXUsIHNlcW5vPSV1LCB3YWl0 ZXJzPSV1IiwKKwkJCSBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmNsYXNzLCBfX2VudHJ5LT5pbnN0 YW5jZSwKKwkJCSBfX2VudHJ5LT5zZXFubywgX19lbnRyeS0+d2FpdGVycyksCisKKwkgICAgICAg aW50ZWxfZW5naW5lX25vdGlmeV90cmFjZXBvaW50X3JlZ2lzdGVyLAorCSAgICAgICBpbnRlbF9l bmdpbmVfbm90aWZ5X3RyYWNlcG9pbnRfdW5yZWdpc3RlcgogKTsKIAogREVGSU5FX0VWRU5UKGk5 MTVfcmVxdWVzdCwgaTkxNV9yZXF1ZXN0X3JldGlyZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdHJhY2luZy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFj aW5nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iN2NhODlmYjYx Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNpbmcu YwpAQCAtMCwwICsxLDk4IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAor LyoKKyAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBvcmF0aW9uCisgKgorICovCisKKyNp bmNsdWRlICJpOTE1X3RyYWNpbmcuaCIKKworI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVk ZSAiaW50ZWxfcmluZ2J1ZmZlci5oIgorCitzdGF0aWMgREVGSU5FX01VVEVYKGRyaXZlcl9saXN0 X2xvY2spOworc3RhdGljIExJU1RfSEVBRChkcml2ZXJfbGlzdCk7CitzdGF0aWMgYm9vbCBub3Rp ZnlfZW5hYmxlZDsKKworc3RhdGljIHZvaWQgX19pOTE1X2VuYWJsZV9ub3RpZnkoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l OworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwg aTkxNSwgaWQpCisJCWludGVsX2VuZ2luZV9waW5fYnJlYWRjcnVtYnNfaXJxKGVuZ2luZSk7Cit9 CisKK3N0YXRpYyB2b2lkIF9faTkxNV9kaXNhYmxlX25vdGlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBp bnRlbF9lbmdpbmVfaWQgaWQ7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkK KwkJaW50ZWxfZW5naW5lX3VucGluX2JyZWFkY3J1bWJzX2lycShlbmdpbmUpOworfQorCit2b2lk IGk5MTVfdHJhY2luZ19yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sK KwlJTklUX0xJU1RfSEVBRCgmaTkxNS0+ZHJpdmVyX2xpc3RfbGluayk7CisKKwltdXRleF9sb2Nr KCZkcml2ZXJfbGlzdF9sb2NrKTsKKworCWxpc3RfYWRkX3RhaWwoJmk5MTUtPmRyaXZlcl9saXN0 X2xpbmssICZkcml2ZXJfbGlzdCk7CisKKwlpZiAobm90aWZ5X2VuYWJsZWQpCisJCV9faTkxNV9l bmFibGVfbm90aWZ5KGk5MTUpOworCisJbXV0ZXhfdW5sb2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsK K30KKwordm9pZCBpOTE1X3RyYWNpbmdfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKK3sKKwltdXRleF9sb2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsKKworCWlmIChub3Rp ZnlfZW5hYmxlZCkKKwkJX19pOTE1X2Rpc2FibGVfbm90aWZ5KGk5MTUpOworCisJbGlzdF9kZWwo Jmk5MTUtPmRyaXZlcl9saXN0X2xpbmspOworCisJbXV0ZXhfdW5sb2NrKCZkcml2ZXJfbGlzdF9s b2NrKTsKK30KKworaW50IGludGVsX2VuZ2luZV9ub3RpZnlfdHJhY2Vwb2ludF9yZWdpc3Rlcih2 b2lkKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OworCisJbXV0ZXhfbG9jaygm ZHJpdmVyX2xpc3RfbG9jayk7CisKKwlHRU1fQlVHX09OKG5vdGlmeV9lbmFibGVkKTsKKworCWxp c3RfZm9yX2VhY2hfZW50cnkoaTkxNSwgJmRyaXZlcl9saXN0LCBkcml2ZXJfbGlzdF9saW5rKSB7 CisJCWludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOworCQlfX2k5MTVfZW5hYmxlX25vdGlmeShp OTE1KTsKKwkJaW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSk7CisJfQorCisJbm90aWZ5X2VuYWJs ZWQgPSB0cnVlOworCisJbXV0ZXhfdW5sb2NrKCZkcml2ZXJfbGlzdF9sb2NrKTsKKworCXJldHVy biAwOworfQorCit2b2lkIGludGVsX2VuZ2luZV9ub3RpZnlfdHJhY2Vwb2ludF91bnJlZ2lzdGVy KHZvaWQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CisKKwltdXRleF9sb2Nr KCZkcml2ZXJfbGlzdF9sb2NrKTsKKworCUdFTV9CVUdfT04oIW5vdGlmeV9lbmFibGVkKTsKKwor CWxpc3RfZm9yX2VhY2hfZW50cnkoaTkxNSwgJmRyaXZlcl9saXN0LCBkcml2ZXJfbGlzdF9saW5r KSB7CisJCWludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOworCQlfX2k5MTVfZGlzYWJsZV9ub3Rp ZnkoaTkxNSk7CisJCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUpOworCX0KKworCW5vdGlmeV9l bmFibGVkID0gZmFsc2U7CisKKwltdXRleF91bmxvY2soJmRyaXZlcl9saXN0X2xvY2spOworfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjaW5nLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmY1ZWQ5MjQyOGZmMQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdHJhY2luZy5oCkBAIC0wLDAgKzEsMTMgQEAKKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wCisvKgorICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29y cG9yYXRpb24KKyAqCisgKi8KKworI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisKK3ZvaWQgaTkxNV90 cmFjaW5nX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaTkx NV90cmFjaW5nX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCitp bnQgaW50ZWxfZW5naW5lX25vdGlmeV90cmFjZXBvaW50X3JlZ2lzdGVyKHZvaWQpOwordm9pZCBp bnRlbF9lbmdpbmVfbm90aWZ5X3RyYWNlcG9pbnRfdW5yZWdpc3Rlcih2b2lkKTsKLS0gCjIuMTcu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==