From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Santa Subject: [PATCH v4 2/5] drm/i915: Watchdog timeout: IRQ handler for gen8+ Date: Wed, 20 Feb 2019 18:58:16 -0800 Message-ID: <20190221025820.28447-3-carlos.santa@intel.com> References: <20190221025820.28447-1-carlos.santa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id C5559892E3 for ; Thu, 21 Feb 2019 02:59:08 +0000 (UTC) In-Reply-To: <20190221025820.28447-1-carlos.santa@intel.com> 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 Cc: Michel Thierry List-Id: intel-gfx@lists.freedesktop.org RnJvbTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KCioqKiBHZW5l cmFsICoqKgoKV2F0Y2hkb2cgdGltZW91dCAob3IgIm1lZGlhIGVuZ2luZSByZXNldCIpIGlzIGEg ZmVhdHVyZSB0aGF0IGFsbG93cwp1c2VybGFuZCBhcHBsaWNhdGlvbnMgdG8gZW5hYmxlIGhhbmcg ZGV0ZWN0aW9uIG9uIGluZGl2aWR1YWwgYmF0Y2ggYnVmZmVycy4KVGhlIGRldGVjdGlvbiBtZWNo YW5pc20gaXRzZWxmIGlzIG1vc3RseSBib3VuZCB0byB0aGUgaGFyZHdhcmUgYW5kIHRoZSBvbmx5 CnRoaW5nIHRoYXQgdGhlIGRyaXZlciBuZWVkcyB0byBkbyB0byBzdXBwb3J0IHRoaXMgZm9ybSBv ZiBoYW5nIGRldGVjdGlvbgppcyB0byBpbXBsZW1lbnQgdGhlIGludGVycnVwdCBoYW5kbGluZyBz dXBwb3J0IGFzIHdlbGwgYXMgd2F0Y2hkb2cgY29tbWFuZAplbWlzc2lvbiBiZWZvcmUgYW5kIGFm dGVyIHRoZSBlbWl0dGVkIGJhdGNoIGJ1ZmZlciBzdGFydCBpbnN0cnVjdGlvbiBpbiB0aGUKcmlu ZyBidWZmZXIuCgpUaGUgcHJpbmNpcGxlIG9mIHRoZSBoYW5nIGRldGVjdGlvbiBtZWNoYW5pc20g aXMgYXMgZm9sbG93czoKCjEuIE9uY2UgdGhlIGRlY2lzaW9uIGhhcyBiZWVuIG1hZGUgdG8gZW5h YmxlIHdhdGNoZG9nIHRpbWVvdXQgZm9yIGEKcGFydGljdWxhciBiYXRjaCBidWZmZXIgYW5kIHRo ZSBkcml2ZXIgaXMgaW4gdGhlIHByb2Nlc3Mgb2YgZW1pdHRpbmcgdGhlCmJhdGNoIGJ1ZmZlciBz dGFydCBpbnN0cnVjdGlvbiBpbnRvIHRoZSByaW5nIGJ1ZmZlciBpdCBhbHNvIGVtaXRzIGEKd2F0 Y2hkb2cgdGltZXIgc3RhcnQgaW5zdHJ1Y3Rpb24gYmVmb3JlIGFuZCBhIHdhdGNoZG9nIHRpbWVy IGNhbmNlbGxhdGlvbgppbnN0cnVjdGlvbiBhZnRlciB0aGUgYmF0Y2ggYnVmZmVyIHN0YXJ0IGlu c3RydWN0aW9uIGluIHRoZSByaW5nIGJ1ZmZlci4KCjIuIE9uY2UgdGhlIEdQVSBleGVjdXRpb24g cmVhY2hlcyB0aGUgd2F0Y2hkb2cgdGltZXIgc3RhcnQgaW5zdHJ1Y3Rpb24KdGhlIGhhcmR3YXJl IHdhdGNoZG9nIGNvdW50ZXIgaXMgc3RhcnRlZCBieSB0aGUgaGFyZHdhcmUuIFRoZSBjb3VudGVy CmtlZXBzIGNvdW50aW5nIHVudGlsIGVpdGhlciByZWFjaGluZyBhIHByZXZpb3VzbHkgY29uZmln dXJlZCB0aHJlc2hvbGQKdmFsdWUgb3IgdGhlIHRpbWVyIGNhbmNlbGxhdGlvbiBpbnN0cnVjdGlv biBpcyBleGVjdXRlZC4KCjJhLiBJZiB0aGUgY291bnRlciByZWFjaGVzIHRoZSB0aHJlc2hvbGQg dmFsdWUgdGhlIGhhcmR3YXJlIGZpcmVzIGEKd2F0Y2hkb2cgaW50ZXJydXB0IHRoYXQgaXMgcGlj a2VkIHVwIGJ5IHRoZSB3YXRjaGRvZyBpbnRlcnJ1cHQgaGFuZGxlci4KVGhpcyBtZWFucyB0aGF0 IGEgaGFuZyBoYXMgYmVlbiBkZXRlY3RlZCBhbmQgdGhlIGRyaXZlciBuZWVkcyB0byBkZWFsIHdp dGgKaXQgdGhlIHNhbWUgd2F5IGl0IHdvdWxkIGRlYWwgd2l0aCBhIGVuZ2luZSBoYW5nIGRldGVj dGVkIGJ5IHRoZSBwZXJpb2RpYwpoYW5nIGNoZWNrZXIuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0 d2VlbiB0aGUgdHdvIGlzIHRoYXQgd2UgYWxyZWFkeSBibGFtZWQKdGhlIGFjdGl2ZSByZXF1ZXN0 ICh0byBlbnN1cmUgYW4gZW5naW5lIHJlc2V0KS4KCjJiLiBJZiB0aGUgYmF0Y2ggYnVmZmVyIGNv bXBsZXRlcyBhbmQgdGhlIGV4ZWN1dGlvbiByZWFjaGVzIHRoZSB3YXRjaGRvZwpjYW5jZWxsYXRp b24gaW5zdHJ1Y3Rpb24gYmVmb3JlIHRoZSB3YXRjaGRvZyBjb3VudGVyIHJlYWNoZXMgaXRzCnRo cmVzaG9sZCB2YWx1ZSB0aGUgd2F0Y2hkb2cgaXMgY2FuY2VsbGVkIGFuZCBub3RoaW5nIG1vcmUg Y29tZXMgb2YgaXQuCk5vIGhhbmcgaXMgZGV0ZWN0ZWQuCgpOb3RlIGFib3V0IGZ1dHVyZSBpbnRl cmFjdGlvbiB3aXRoIHByZWVtcHRpb246IFByZWVtcHRpb24gY291bGQgaGFwcGVuCmluIGEgY29t bWFuZCBzZXF1ZW5jZSBwcmlvciB0byB3YXRjaGRvZyBjb3VudGVyIGdldHRpbmcgZGlzYWJsZWQs CnJlc3VsdGluZyBpbiB3YXRjaGRvZyBiZWluZyB0cmlnZ2VyZWQgZm9sbG93aW5nIHByZWVtcHRp b24gKGUuZy4gd2hlbgp3YXRjaGRvZyBoYWQgYmVlbiBlbmFibGVkIGluIHRoZSBsb3cgcHJpb3Jp dHkgYmF0Y2gpLiBUaGUgZHJpdmVyIHdpbGwKbmVlZCB0byBleHBsaWNpdGx5IGRpc2FibGUgdGhl IHdhdGNoZG9nIGNvdW50ZXIgYXMgcGFydCBvZiB0aGUKcHJlZW1wdGlvbiBzZXF1ZW5jZS4KCioq KiBUaGlzIHBhdGNoIGludHJvZHVjZXM6ICoqKgoKMS4gSVJRIGhhbmRsZXIgY29kZSBmb3Igd2F0 Y2hkb2cgdGltZW91dCBhbGxvd2luZyBkaXJlY3QgaGFuZyByZWNvdmVyeQpiYXNlZCBvbiBoYXJk d2FyZS1kcml2ZW4gaGFuZyBkZXRlY3Rpb24sIHdoaWNoIHRoZW4gaW50ZWdyYXRlcyBkaXJlY3Rs eQp3aXRoIHRoZSBoYW5nIHJlY292ZXJ5IHBhdGguIFRoaXMgaXMgaW5kZXBlbmRlbnQgb2YgaGF2 aW5nIHBlci1lbmdpbmUgcmVzZXQKb3IganVzdCBmdWxsIGdwdSByZXNldC4KCjIuIFdhdGNoZG9n IHNwZWNpZmljIHJlZ2lzdGVyIGluZm9ybWF0aW9uLgoKQ3VycmVudGx5IHRoZSByZW5kZXIgZW5n aW5lIGFuZCBhbGwgYXZhaWxhYmxlIG1lZGlhIGVuZ2luZXMgc3VwcG9ydAp3YXRjaGRvZyB0aW1l b3V0IChWRUNTIGlzIG9ubHkgc3VwcG9ydGVkIGluIEdFTjkpLiBUaGUgc3BlY2lmaWNhdGlvbnMg ZWx1ZGUKdG8gdGhlIEJDUyBlbmdpbmUgYmVpbmcgc3VwcG9ydGVkIGJ1dCB0aGF0IGlzIGN1cnJl bnRseSBub3Qgc3VwcG9ydGVkIGJ5CnRoaXMgY29tbWl0LgoKTm90ZSB0aGF0IHRoZSB2YWx1ZSB0 byBzdG9wIHRoZSBjb3VudGVyIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHJlbmRlciBhbmQKbm9uLXJl bmRlciBlbmdpbmVzIGluIEdFTjg7IEdFTjkgb253YXJkcyBpdCdzIHRoZSBzYW1lLgoKdjI6IE1v dmUgaXJxIGhhbmRsZXIgdG8gdGFza2xldCwgYXJtIHdhdGNoZG9nIGZvciBhIDJuZCB0aW1lIHRv IGNoZWNrCmFnYWluc3QgZmFsc2UtcG9zaXRpdmVzLgoKdjM6IERvbid0IHVzZSBoaWdoIHByaW9y aXR5IHRhc2tsZXQsIHVzZSBlbmdpbmVfbGFzdF9zdWJtaXQgd2hpbGUKY2hlY2tpbmcgZm9yIGZh bHNlLXBvc2l0aXZlcy4gRnJvbSBHRU45IG9ud2FyZHMsIHRoZSBzdG9wIGNvdW50ZXIgYml0IGlz CnRoZSBzYW1lIGZvciBhbGwgZW5naW5lcy4KCnY0OiBSZW1vdmUgdW5uZWNlc3NhcnkgYnJhY2tl dHMsIHVzZSBjdXJyZW50X3NlcW5vIHRvIG1hcmsgdGhlIHJlcXVlc3QKYXMgZ3VpbHR5IGluIHRo ZSBoYW5nY2hlY2svY2FwdHVyZSBjb2RlLgoKdjU6IFJlYmFzZWQgYWZ0ZXIgUkVTRVRfRU5HSU5F cyBmbGFnLgoKdjY6IERvbid0IGNhcHR1cmUgZXJyb3Igc3RhdGUgaW4gY2FzZSBvZiB3YXRjaGRv ZyB0aW1lb3V0LiBUaGUgY2FwdHVyZQpwcm9jZXNzIGlzIHRpbWUgY29uc3VtaW5nIGFuZCB0aGlz IHdpbGwgYWxpZ24gdG8gd2hhdCBoYXBwZW5zIHdoZW4gd2UKdXNlIEd1QyB0byBoYW5kbGUgdGhl IHdhdGNoZG9nIHRpbWVvdXQuIChDaHJpcykKCnY3OiBSZWJhc2UuCgp2ODogUmViYXNlLCB1c2Ug SFogdG8gcmVzY2hlZHVsZS4KCnY5OiBSZWJhc2UsIGdldCBmb3JjZXdha2UgZG9tYWlucyBpbiBm dW5jdGlvbiAobm8gbG9uZ2VyIGluIGV4ZWNsaXN0cwpzdHJ1Y3QpLgoKdjEwOiBSZWJhc2UuCgp2 MTE6IFJlYmFzZSwKICAgICByZW1vdmUgZXh0cmEgYnJhY2VzIChUdnJ0a28pLAogICAgIGltcGxl bWVudCB3YXRjaGRvZ190b19jbG9ja19jb3VudHMgaGVscGVyIChUdnJ0a28pLAogICAgIE1vdmUg dGFza2xldF9raWxsKHdhdGNoZG9nX3Rhc2tsZXQpIGluc2lkZSBpbnRlbF9lbmdpbmVzIChUdnJ0 a28pLAogICAgIFVzZSBhIGdsb2JhbCBoZWFydGJlYXQgc2Vxbm8gaW5zdGVhZCBvZiBlbmdpbmUg c2Vxbm8gKENocmlzKQogICAgIE1ha2UgYWxsIGVuZ2luZXMgY2hlY2tzIGFsbCBjbGFzcyBiYXNl ZCBjaGVja3MgKFR2cnRrbykKCkNjOiBBbnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8uYXJnZW56 aWFub0BpbnRlbC5jb20+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AbGludXgu aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgU2FudGEgPGNhcmxvcy5zYW50YUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDgg KysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5oICAgfCAgNCArKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgMTIgKysrKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8ICA2ICsrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGFuZ2NoZWNrLmMgIHwgMTcgKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMgICAgICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDcgKysrCiA4IGZpbGVzIGNoYW5nZWQsIDEx NCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IDYzYTAwOGFlYmZjZC4uMGZjYjJkZjg2OWEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK QEAgLTMxMjAsNiArMzEyMCwxNCBAQCBpOTE1X2dlbV9jb250ZXh0X2xvb2t1cChzdHJ1Y3QgZHJt X2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYsIHUzMiBpZCkKIAlyZXR1cm4gY3R4OwogfQog CitzdGF0aWMgaW5saW5lIHUzMgord2F0Y2hkb2dfdG9fY2xvY2tfY291bnRzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IHZhbHVlX2luX3VzKQoreworCXU2NCB0aHJlc2hv bGQgPSAwOworCisJcmV0dXJuIHRocmVzaG9sZDsKK30KKwogaW50IGk5MTVfcGVyZl9vcGVuX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgc3RydWN0IGRybV9m aWxlICpmaWxlKTsKIGludCBpOTE1X3BlcmZfYWRkX2NvbmZpZ19pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmgK aW5kZXggZjQwODA2MGUwNjY3Li5iZDE4MjFjNzNlY2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ncHVfZXJyb3IuaApAQCAtMjMzLDYgKzIzMyw5IEBAIHN0cnVjdCBpOTE1X2dwdV9lcnJvciB7 CiAJICogaTkxNV9tdXRleF9sb2NrX2ludGVycnVwdGlibGUoKT8pLiBJOTE1X1JFU0VUX0JBQ0tP RkYgc2VydmVzIGEKIAkgKiBzZWNvbmRhcnkgcm9sZSBpbiBwcmV2ZW50aW5nIHR3byBjb25jdXJy ZW50IGdsb2JhbCByZXNldCBhdHRlbXB0cy4KIAkgKgorCSAqICNJOTE1X1JFU0VUX1dBVENIRE9H IC0gV2hlbiBodyBkZXRlY3RzIGEgaGFuZyBiZWZvcmUgdXMsIHdlIGNhbiB1c2UKKwkgKiBJOTE1 X1JFU0VUX1dBVENIRE9HIHRvIHJlcG9ydCB0aGUgaGFuZyBkZXRlY3Rpb24gY2F1c2UgYWNjdXJh dGVseS4KKwkgKgogCSAqICNJOTE1X1JFU0VUX0VOR0lORVtudW1fZW5naW5lc10gLSBTaW5jZSB0 aGUgZHJpdmVyIGRvZXNuJ3QgbmVlZCB0bwogCSAqIGFjcXVpcmUgdGhlIHN0cnVjdF9tdXRleCB0 byByZXNldCBhbiBlbmdpbmUsIHdlIG5lZWQgYW4gZXhwbGljaXQKIAkgKiBmbGFnIHRvIHByZXZl bnQgdHdvIGNvbmN1cnJlbnQgcmVzZXQgYXR0ZW1wdHMgaW4gdGhlIHNhbWUgZW5naW5lLgpAQCAt MjQ4LDYgKzI1MSw3IEBAIHN0cnVjdCBpOTE1X2dwdV9lcnJvciB7CiAjZGVmaW5lIEk5MTVfUkVT RVRfQkFDS09GRgkwCiAjZGVmaW5lIEk5MTVfUkVTRVRfTU9ERVNFVAkxCiAjZGVmaW5lIEk5MTVf UkVTRVRfRU5HSU5FCTIKKyNkZWZpbmUgSTkxNV9SRVNFVF9XQVRDSERPRwkzCiAjZGVmaW5lIEk5 MTVfV0VER0VECQkoQklUU19QRVJfTE9ORyAtIDEpCiAKIAkvKiogTnVtYmVyIG9mIHRpbWVzIGFu IGVuZ2luZSBoYXMgYmVlbiByZXNldCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggNGIy M2IyZmQxZmFkLi5lMmExYTA3YjBmMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTQ1 Niw2ICsxNDU2LDkgQEAgZ2VuOF9jc19pcnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsIHUzMiBpaXIpCiAKIAlpZiAodGFza2xldCkKIAkJdGFza2xldF9oaV9zY2hlZHVs ZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CisKKwlpZiAoaWlyICYgR1RfR0VOOF9XQVRD SERPR19JTlRFUlJVUFQpCisJCXRhc2tsZXRfc2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLndh dGNoZG9nX3Rhc2tsZXQpOwogfQogCiBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9hY2soc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCkBAIC0zODgzLDE3ICszODg2LDI0IEBAIHN0YXRpYyB2 b2lkIGdlbjhfZ3RfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAl1MzIgZ3RfaW50ZXJydXB0c1tdID0gewogCQlHVF9SRU5ERVJfVVNFUl9JTlRFUlJV UFQgPDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQ VCA8PCBHRU44X1JDU19JUlFfU0hJRlQgfAorCQkJR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQg PDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBH RU44X0JDU19JUlFfU0hJRlQgfAogCQkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdF TjhfQkNTX0lSUV9TSElGVCwKIAkJR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IEdFTjhfVkNT MV9JUlFfU0hJRlQgfAogCQkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhfVkNT MV9JUlFfU0hJRlQgfAorCQkJR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQgPDwgR0VOOF9WQ1Mx X0lSUV9TSElGVCB8CiAJCQlHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lS UV9TSElGVCB8Ci0JCQlHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lS UV9TSElGVCwKKwkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJfSVJR X1NISUZUIHwKKwkJCUdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBUIDw8IEdFTjhfVkNTMl9JUlFf U0hJRlQsCiAJCTAsCiAJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJR X1NISUZUIHwKIAkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJR X1NISUZUCiAJCX07CiAKKwkvKiBWRUNTIHdhdGNoZG9nIGlzIG9ubHkgYXZhaWxhYmxlIGluIHNr bCsgKi8KKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQorCQlndF9pbnRlcnJ1cHRzWzNd IHw9IEdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBUOworCiAJZGV2X3ByaXYtPnBtX2llciA9IDB4 MDsKIAlkZXZfcHJpdi0+cG1faW1yID0gfmRldl9wcml2LT5wbV9pZXI7CiAJR0VOOF9JUlFfSU5J VF9ORFgoR1QsIDAsIH5ndF9pbnRlcnJ1cHRzWzBdLCBndF9pbnRlcnJ1cHRzWzBdKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IDFlY2ExNjZkOTViYi4uYTBlMTAxYmJjYmNlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKQEAgLTIzMzUsNiArMjMzNSwxMSBAQCBlbnVtIGk5MTVfcG93ZXJf d2VsbF9pZCB7CiAjZGVmaW5lIFJJTkdfU1RBUlQoYmFzZSkJX01NSU8oKGJhc2UpICsgMHgzOCkK ICNkZWZpbmUgUklOR19DVEwoYmFzZSkJCV9NTUlPKChiYXNlKSArIDB4M2MpCiAjZGVmaW5lICAg UklOR19DVExfU0laRShzaXplKQkoKHNpemUpIC0gUEFHRV9TSVpFKSAvKiBpbiBieXRlcyAtPiBw YWdlcyAqLworI2RlZmluZSBSSU5HX0NOVFIoYmFzZSkJCV9NTUlPKChiYXNlKSArIDB4MTc4KQor I2RlZmluZSAgIEdFTjhfV0FUQ0hET0dfRU5BQkxFCQkwCisjZGVmaW5lICAgR0VOOF9XQVRDSERP R19ESVNBQkxFCQkxCisjZGVmaW5lICAgR0VOOF9YQ1NfV0FUQ0hET0dfRElTQUJMRQkweEZGRkZG RkZGIC8qIEdFTjggJiBub24tcmVuZGVyIG9ubHkgKi8KKyNkZWZpbmUgUklOR19USFJFU0goYmFz ZSkJX01NSU8oKGJhc2UpICsgMHgxN0MpCiAjZGVmaW5lIFJJTkdfU1lOQ18wKGJhc2UpCV9NTUlP KChiYXNlKSArIDB4NDApCiAjZGVmaW5lIFJJTkdfU1lOQ18xKGJhc2UpCV9NTUlPKChiYXNlKSAr IDB4NDQpCiAjZGVmaW5lIFJJTkdfU1lOQ18yKGJhc2UpCV9NTUlPKChiYXNlKSArIDB4NDgpCkBA IC0yODk0LDYgKzI4OTksNyBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7CiAjZGVmaW5lIEdU X0JTRF9VU0VSX0lOVEVSUlVQVAkJCSgxIDw8IDEyKQogI2RlZmluZSBHVF9SRU5ERVJfTDNfUEFS SVRZX0VSUk9SX0lOVEVSUlVQVF9TMQkoMSA8PCAxMSkgLyogaHN3KzsgcnN2ZCBvbiBzbmIsIGl2 Yiwgdmx2ICovCiAjZGVmaW5lIEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVAkJKDEgPDwgIDgp CisjZGVmaW5lIEdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBUCQkoMSA8PCAgNikgLyogZ2VuOCsg Ki8KICNkZWZpbmUgR1RfUkVOREVSX0wzX1BBUklUWV9FUlJPUl9JTlRFUlJVUFQJKDEgPDwgIDUp IC8qICFzbmIgKi8KICNkZWZpbmUgR1RfUkVOREVSX1BJUEVDVExfTk9USUZZX0lOVEVSUlVQVAko MSA8PCAgNCkKICNkZWZpbmUgR1RfUkVOREVSX0NTX01BU1RFUl9FUlJPUl9JTlRFUlJVUFQJKDEg PDwgIDMpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDdhZTc1MzM1 OGE2ZC4uNzRmNTYzZDIzY2M4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu YwpAQCAtMTEwNiw2ICsxMTA2LDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVzX3Bhcmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJCS8qIEZsdXNoIHRoZSByZXNpZHVhbCBpcnEgdGFza2xl dHMgZmlyc3QuICovCiAJCWludGVsX2VuZ2luZV9kaXNhcm1fYnJlYWRjcnVtYnMoZW5naW5lKTsK IAkJdGFza2xldF9raWxsKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKKwkJdGFza2xldF9r aWxsKCZlbmdpbmUtPmV4ZWNsaXN0cy53YXRjaGRvZ190YXNrbGV0KTsKIAogCQkvKgogCQkgKiBX ZSBhcmUgY29tbWl0dGVkIG5vdyB0byBwYXJraW5nIHRoZSBlbmdpbmVzLCBtYWtlIHN1cmUgdGhl cmUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVjay5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGFuZ2NoZWNrLmMKaW5kZXggNThiNmZmODQ1M2Rj Li5iYzEwYWNiMjRkOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hh bmdjaGVjay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVjay5jCkBA IC0yMTgsNyArMjE4LDggQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2FjY3VtdWxhdGVfc2FtcGxl KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAogc3RhdGljIHZvaWQgaGFuZ2NoZWNr X2RlY2xhcmVfaGFuZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCQkgICB1bnNp Z25lZCBpbnQgaHVuZywKLQkJCQkgICB1bnNpZ25lZCBpbnQgc3R1Y2spCisJCQkJICAgdW5zaWdu ZWQgaW50IHN0dWNrLAorCQkJCSAgIHVuc2lnbmVkIGludCB3YXRjaGRvZykKIHsKIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJY2hhciBtc2dbODBdOwpAQCAtMjMxLDEzICsyMzIs MTYgQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2RlY2xhcmVfaGFuZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKIAlpZiAoc3R1Y2sgIT0gaHVuZykKIAkJaHVuZyAmPSB+c3R1Y2s7CiAJ bGVuID0gc2NucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksCi0JCQkiJXMgb24gIiwgc3R1Y2sgPT0g aHVuZyA/ICJubyBwcm9ncmVzcyIgOiAiaGFuZyIpOworCQkJIiVzIG9uICIsIHdhdGNoZG9nID8g IndhdGNoZG9nIHRpbWVvdXQiIDoKKwkJCQkgIHN0dWNrID09IGh1bmcgPyAibm8gcHJvZ3Jlc3Mi IDogImhhbmciKTsKIAlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgaTkxNSwgaHVuZywg dG1wKQogCQlsZW4gKz0gc2NucHJpbnRmKG1zZyArIGxlbiwgc2l6ZW9mKG1zZykgLSBsZW4sCiAJ CQkJICIlcywgIiwgZW5naW5lLT5uYW1lKTsKIAltc2dbbGVuLTJdID0gJ1wwJzsKIAotCXJldHVy biBpOTE1X2hhbmRsZV9lcnJvcihpOTE1LCBodW5nLCBJOTE1X0VSUk9SX0NBUFRVUkUsICIlcyIs IG1zZyk7CisJcmV0dXJuIGk5MTVfaGFuZGxlX2Vycm9yKGk5MTUsIGh1bmcsCisJCQkJIHdhdGNo ZG9nID8gMCA6IEk5MTVfRVJST1JfQ0FQVFVSRSwKKwkJCQkgIiVzIiwgbXNnKTsKIH0KIAogLyoK QEAgLTI1NSw3ICsyNTksNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2hhbmdjaGVja19lbGFwc2VkKHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJCSAgICAgZ3B1X2Vycm9yLmhhbmdjaGVja193b3Jr LndvcmspOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKLQl1bnNpZ25lZCBpbnQgaHVuZyA9IDAsIHN0dWNrID0gMCwgd2VkZ2VkID0g MDsKKwl1bnNpZ25lZCBpbnQgaHVuZyA9IDAsIHN0dWNrID0gMCwgd2VkZ2VkID0gMCwgd2F0Y2hk b2cgPSAwOwogCiAJaWYgKCFpOTE1X21vZHBhcmFtcy5lbmFibGVfaGFuZ2NoZWNrKQogCQlyZXR1 cm47CkBAIC0yNjYsNiArMjcwLDkgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tfZWxhcHNl ZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJaWYgKGk5MTVfdGVybWluYWxseV93ZWRnZWQo JmRldl9wcml2LT5ncHVfZXJyb3IpKQogCQlyZXR1cm47CiAKKwlpZiAodGVzdF9hbmRfY2xlYXJf Yml0KEk5MTVfUkVTRVRfV0FUQ0hET0csICZkZXZfcHJpdi0+Z3B1X2Vycm9yLmZsYWdzKSkKKwkJ d2F0Y2hkb2cgPSAxOworCiAJLyogQXMgZW5hYmxpbmcgdGhlIEdQVSByZXF1aXJlcyBmYWlybHkg ZXh0ZW5zaXZlIG1taW8gYWNjZXNzLAogCSAqIHBlcmlvZGljYWxseSBhcm0gdGhlIG1taW8gY2hl Y2tlciB0byBzZWUgaWYgd2UgYXJlIHRyaWdnZXJpbmcKIAkgKiBhbnkgaW52YWxpZCBhY2Nlc3Mu CkBAIC0zMTEsNyArMzE4LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tfZWxhcHNlZChz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJfQogCiAJaWYgKGh1bmcpCi0JCWhhbmdjaGVja19k ZWNsYXJlX2hhbmcoZGV2X3ByaXYsIGh1bmcsIHN0dWNrKTsKKwkJaGFuZ2NoZWNrX2RlY2xhcmVf aGFuZyhkZXZfcHJpdiwgaHVuZywgc3R1Y2ssIHdhdGNoZG9nKTsKIAogCS8qIFJlc2V0IHRpbWVy IGluIGNhc2UgR1BVIGhhbmdzIHdpdGhvdXQgYW5vdGhlciByZXF1ZXN0IGJlaW5nIGFkZGVkICov CiAJaTkxNV9xdWV1ZV9oYW5nY2hlY2soZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YwppbmRleCA5Y2E3ZGM3YTZmYTUuLmMzOGIyMzlhYjM5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKQEAgLTIzNTIsNiArMjM1Miw1MyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9mbHVzaF9y ZW5kZXIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwKIAlyZXR1cm4gMDsKIH0KIAorLyog RnJvbSBHRU45IG9ud2FyZHMsIGFsbCBlbmdpbmVzIHVzZSB0aGUgc2FtZSBSSU5HX0NOVFIgZm9y bWF0ICovCitzdGF0aWMgaW5saW5lIHUzMiBnZXRfd2F0Y2hkb2dfZGlzYWJsZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJaWYgKGVuZ2luZS0+aWQgPT0gUkNTIHx8IElOVEVM X0dFTihlbmdpbmUtPmk5MTUpID49IDkpCisJCXJldHVybiBHRU44X1dBVENIRE9HX0RJU0FCTEU7 CisJZWxzZQorCQlyZXR1cm4gR0VOOF9YQ1NfV0FUQ0hET0dfRElTQUJMRTsKK30KKworI2RlZmlu ZSBHRU44X1dBVENIRE9HXzEwMDBVUyhkZXZfcHJpdikgd2F0Y2hkb2dfdG9fY2xvY2tfY291bnRz KGRldl9wcml2LCAxMDAwKQorc3RhdGljIHZvaWQgZ2VuOF93YXRjaGRvZ19pcnFfaGFuZGxlcih1 bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0g KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKilkYXRhOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKKwl1bnNpZ25lZCBpbnQgaHVuZyA9IDA7CisJdTMy IGN1cnJlbnRfc2Vxbm89MDsKKwljaGFyIG1zZ1s4MF07CisJdW5zaWduZWQgaW50IHRtcDsKKwlp bnQgbGVuOworCisJLyogU3RvcCB0aGUgY291bnRlciB0byBwcmV2ZW50IGZ1cnRoZXIgdGltZW91 dCBpbnRlcnJ1cHRzICovCisJSTkxNV9XUklURV9GVyhSSU5HX0NOVFIoZW5naW5lLT5tbWlvX2Jh c2UpLCBnZXRfd2F0Y2hkb2dfZGlzYWJsZShlbmdpbmUpKTsKKworCS8qIFJlYWQgdGhlIGhlYXJ0 YmVhdCBzZXFubyBvbmNlIGFnYWluIHRvIGNoZWNrIGlmIHdlIGFyZSBzdHVjaz8gKi8KKwljdXJy ZW50X3NlcW5vID0gaW50ZWxfZW5naW5lX2dldF9oYW5nY2hlY2tfc2Vxbm8oZW5naW5lKTsKKwor ICAgIGlmIChjdXJyZW50X3NlcW5vID09IGVuZ2luZS0+Y3VycmVudF9zZXFubykgeworCQlodW5n IHw9IGVuZ2luZS0+bWFzazsKKworCQlsZW4gPSBzY25wcmludGYobXNnLCBzaXplb2YobXNnKSwg IiVzIG9uICIsICJ3YXRjaGRvZyB0aW1lb3V0Iik7CisJCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQo ZW5naW5lLCBkZXZfcHJpdiwgaHVuZywgdG1wKQorCQkJbGVuICs9IHNjbnByaW50Zihtc2cgKyBs ZW4sIHNpemVvZihtc2cpIC0gbGVuLAorCQkJCQkgIiVzLCAiLCBlbmdpbmUtPm5hbWUpOworCQlt c2dbbGVuLTJdID0gJ1wwJzsKKworCQlpOTE1X2hhbmRsZV9lcnJvcihkZXZfcHJpdiwgaHVuZywg MCwgIiVzIiwgbXNnKTsKKworCQkvKiBSZXNldCB0aW1lciBpbiBjYXNlIEdQVSBoYW5ncyB3aXRo b3V0IGFub3RoZXIgcmVxdWVzdCBiZWluZyBhZGRlZCAqLworCQlpOTE1X3F1ZXVlX2hhbmdjaGVj ayhkZXZfcHJpdik7CisgICAgfWVsc2V7CisJCS8qIFJlLXN0YXJ0IHRoZSBjb3VudGVyLCBpZiBy ZWFsbHkgaHVuZywgaXQgd2lsbCBleHBpcmUgYWdhaW4gKi8KKwkJSTkxNV9XUklURV9GVyhSSU5H X1RIUkVTSChlbmdpbmUtPm1taW9fYmFzZSksCisJCQkgICAgICBHRU44X1dBVENIRE9HXzEwMDBV UyhkZXZfcHJpdikpOworCQlJOTE1X1dSSVRFX0ZXKFJJTkdfQ05UUihlbmdpbmUtPm1taW9fYmFz ZSksIEdFTjhfV0FUQ0hET0dfRU5BQkxFKTsKKyAgICB9Cit9CisKIC8qCiAgKiBSZXNlcnZlIHNw YWNlIGZvciAyIE5PT1BzIGF0IHRoZSBlbmQgb2YgZWFjaCByZXF1ZXN0IHRvIGJlCiAgKiB1c2Vk IGFzIGEgd29ya2Fyb3VuZCBmb3Igbm90IGJlaW5nIGFsbG93ZWQgdG8gZG8gbGl0ZQpAQCAtMjUz OSw2ICsyNTg2LDIxIEBAIGxvZ2ljYWxfcmluZ19kZWZhdWx0X2lycXMoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCiAJZW5naW5lLT5pcnFfZW5hYmxlX21hc2sgPSBHVF9SRU5ERVJf VVNFUl9JTlRFUlJVUFQgPDwgc2hpZnQ7CiAJZW5naW5lLT5pcnFfa2VlcF9tYXNrID0gR1RfQ09O VEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IHNoaWZ0OworCisJc3dpdGNoIChlbmdpbmUtPmNsYXNz KSB7CisJZGVmYXVsdDoKKwkJLyogQkNTIGVuZ2luZSBkb2VzIG5vdCBzdXBwb3J0IGh3IHdhdGNo ZG9nICovCisJCWJyZWFrOworCWNhc2UgUkVOREVSX0NMQVNTOgorCWNhc2UgVklERU9fREVDT0RF X0NMQVNTOgorCQllbmdpbmUtPmlycV9rZWVwX21hc2sgfD0gR1RfR0VOOF9XQVRDSERPR19JTlRF UlJVUFQgPDwgc2hpZnQ7CisJCWJyZWFrOworCWNhc2UgVklERU9fRU5IQU5DRU1FTlRfQ0xBU1M6 CisJCWlmIChJTlRFTF9HRU4oZW5naW5lLT5pOTE1KSA+PSA5KQorCQkJZW5naW5lLT5pcnFfa2Vl cF9tYXNrIHw9CisJCQkJR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQgPDwgc2hpZnQ7CisJCWJy ZWFrOworCX0KIH0KIAogc3RhdGljIGludApAQCAtMjU1Niw2ICsyNjE4LDkgQEAgbG9naWNhbF9y aW5nX3NldHVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl0YXNrbGV0X2luaXQo JmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQsCiAJCSAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25f dGFza2xldCwgKHVuc2lnbmVkIGxvbmcpZW5naW5lKTsKIAorCXRhc2tsZXRfaW5pdCgmZW5naW5l LT5leGVjbGlzdHMud2F0Y2hkb2dfdGFza2xldCwKKwkJICAgICBnZW44X3dhdGNoZG9nX2lycV9o YW5kbGVyLCAodW5zaWduZWQgbG9uZyllbmdpbmUpOworCiAJbG9naWNhbF9yaW5nX2RlZmF1bHRf dmZ1bmNzKGVuZ2luZSk7CiAJbG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhlbmdpbmUpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggNDY1MDk0ZTM4ZDMyLi4x NzI1MGJhMDI0NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAg LTEyMiw2ICsxMjIsNyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2hhbmdjaGVjayB7CiAJdTY0IGFj dGhkOwogCXUzMiBsYXN0X3NlcW5vOwogCXUzMiBuZXh0X3NlcW5vOworCXUzMiB3YXRjaGRvZzsK IAl1bnNpZ25lZCBsb25nIGFjdGlvbl90aW1lc3RhbXA7CiAJc3RydWN0IGludGVsX2luc3Rkb25l IGluc3Rkb25lOwogfTsKQEAgLTIyMiw2ICsyMjMsMTEgQEAgc3RydWN0IGludGVsX2VuZ2luZV9l eGVjbGlzdHMgewogCSAqLwogCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCB0YXNrbGV0OwogCisJLyoq CisJICogQHdhdGNoZG9nX3Rhc2tsZXQ6IHN0b3AgY291bnRlciBhbmQgcmUtc2NoZWR1bGUgaGFu Z2NoZWNrX3dvcmsgYXNhcAorCSAqLworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCB3YXRjaGRvZ190 YXNrbGV0OworCiAJLyoqCiAJICogQGRlZmF1bHRfcHJpb2xpc3Q6IHByaW9yaXR5IGxpc3QgZm9y IEk5MTVfUFJJT1JJVFlfTk9STUFMCiAJICovCkBAIC0zNTMsNiArMzU5LDcgQEAgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyB7CiAJdW5zaWduZWQgaW50IGh3X2lkOwogCXVuc2lnbmVkIGludCBndWNf aWQ7CiAJdW5zaWduZWQgbG9uZyBtYXNrOworCXUzMiBjdXJyZW50X3NlcW5vOwogCiAJdTggdWFi aV9jbGFzczsKIAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=