From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlos Santa Subject: drm/i915: Watchdog timeout: IRQ handler for gen8+ Date: Fri, 4 Jan 2019 18:39:55 -0800 Message-ID: <20190105024001.37629-3-carlos.santa@intel.com> References: <20190105024001.37629-1-carlos.santa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 450436E63F for ; Sat, 5 Jan 2019 02:40:05 +0000 (UTC) In-Reply-To: <20190105024001.37629-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 dW5jdGlvbiAobm8gbG9uZ2VyIGluIGV4ZWNsaXN0cwpzdHJ1Y3QpLgoKdjEwOiBSZWJhc2UuCgpD YzogQW50b25pbyBBcmdlbnppYW5vIDxhbnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgpDYzog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogQ2FybG9zIFNhbnRhIDxjYXJsb3Muc2FudGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmggICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jICAgICAgICAgfCAxNCArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oICAgICAgICAgfCAgNiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGFu Z2NoZWNrLmMgIHwgMTcgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAg ICAgICB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaCB8ICA2ICsrCiA2IGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5o CmluZGV4IDZkOWY0NTQ2OGFjMS4uNzEzMDc4NmFhNWI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ3B1X2Vycm9yLmgKQEAgLTI1Niw2ICsyNTYsOSBAQCBzdHJ1Y3QgaTkxNV9ncHVfZXJyb3Ig ewogCSAqIGluc3BlY3QgdGhlIGJpdCBhbmQgZG8gdGhlIHJlc2V0IGRpcmVjdGx5LCBvdGhlcndp c2UgdGhlIHdvcmtlcgogCSAqIHdhaXRzIGZvciB0aGUgc3RydWN0X211dGV4LgogCSAqCisJICog I0k5MTVfUkVTRVRfV0FUQ0hET0cgLSBXaGVuIGh3IGRldGVjdHMgYSBoYW5nIGJlZm9yZSB1cywg d2UgY2FuIHVzZQorCSAqIEk5MTVfUkVTRVRfV0FUQ0hET0cgdG8gcmVwb3J0IHRoZSBoYW5nIGRl dGVjdGlvbiBjYXVzZSBhY2N1cmF0ZWx5LgorCSAqCiAJICogI0k5MTVfUkVTRVRfRU5HSU5FW251 bV9lbmdpbmVzXSAtIFNpbmNlIHRoZSBkcml2ZXIgZG9lc24ndCBuZWVkIHRvCiAJICogYWNxdWly ZSB0aGUgc3RydWN0X211dGV4IHRvIHJlc2V0IGFuIGVuZ2luZSwgd2UgbmVlZCBhbiBleHBsaWNp dAogCSAqIGZsYWcgdG8gcHJldmVudCB0d28gY29uY3VycmVudCByZXNldCBhdHRlbXB0cyBpbiB0 aGUgc2FtZSBlbmdpbmUuCkBAIC0yNzEsNiArMjc0LDcgQEAgc3RydWN0IGk5MTVfZ3B1X2Vycm9y IHsKICNkZWZpbmUgSTkxNV9SRVNFVF9CQUNLT0ZGCTAKICNkZWZpbmUgSTkxNV9SRVNFVF9IQU5E T0ZGCTEKICNkZWZpbmUgSTkxNV9SRVNFVF9NT0RFU0VUCTIKKyNkZWZpbmUgSTkxNV9SRVNFVF9X QVRDSERPRwkzCiAjZGVmaW5lIEk5MTVfV0VER0VECQkoQklUU19QRVJfTE9ORyAtIDEpCiAjZGVm aW5lIEk5MTVfUkVTRVRfRU5HSU5FCShJOTE1X1dFREdFRCAtIEk5MTVfTlVNX0VOR0lORVMpCiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2lycS5jCmluZGV4IGZiYjA5NGVjZjZjOS4uODU5YmJhZGI3NTJmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKQEAgLTE0OTgsNiArMTQ5OCw5IEBAIGdlbjhfY3NfaXJx X2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgaWlyKQogCiAJaWYg KHRhc2tsZXQpCiAJCXRhc2tsZXRfaGlfc2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2ts ZXQpOworCisJaWYgKGlpciAmIChHVF9HRU44X1dBVENIRE9HX0lOVEVSUlVQVCkpCisJCXRhc2ts ZXRfc2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLndhdGNoZG9nX3Rhc2tsZXQpOwogfQogCiBz dGF0aWMgdm9pZCBnZW44X2d0X2lycV9hY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUs CkBAIC0zMzI5LDcgKzMzMzIsNyBAQCB2b2lkIGk5MTVfaGFuZGxlX2Vycm9yKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAoaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShkZXZf cHJpdikgJiYKIAkgICAgIWk5MTVfdGVybWluYWxseV93ZWRnZWQoJmRldl9wcml2LT5ncHVfZXJy b3IpKSB7CiAJCWZvcl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5l X21hc2ssIHRtcCkgewotCQkJQlVJTERfQlVHX09OKEk5MTVfUkVTRVRfTU9ERVNFVCA+PSBJOTE1 X1JFU0VUX0VOR0lORSk7CisJCQlCVUlMRF9CVUdfT04oSTkxNV9SRVNFVF9XQVRDSERPRyA+PSBJ OTE1X1JFU0VUX0VOR0lORSk7CiAJCQlpZiAodGVzdF9hbmRfc2V0X2JpdChJOTE1X1JFU0VUX0VO R0lORSArIGVuZ2luZS0+aWQsCiAJCQkJCSAgICAgJmRldl9wcml2LT5ncHVfZXJyb3IuZmxhZ3Mp KQogCQkJCWNvbnRpbnVlOwpAQCAtNDE2MiwxMiArNDE2NSwxNSBAQCBzdGF0aWMgdm9pZCBnZW44 X2d0X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ dWludDMyX3QgZ3RfaW50ZXJydXB0c1tdID0gewogCQlHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQg PDwgR0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8 PCBHRU44X1JDU19JUlFfU0hJRlQgfAorCQkJR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQgPDwg R0VOOF9SQ1NfSVJRX1NISUZUIHwKIAkJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44 X0JDU19JUlFfU0hJRlQgfAogCQkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhf QkNTX0lSUV9TSElGVCwKIAkJR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IEdFTjhfVkNTMV9J UlFfU0hJRlQgfAogCQkJR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IEdFTjhfVkNTMV9J UlFfU0hJRlQgfAorCQkJR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQgPDwgR0VOOF9WQ1MxX0lS UV9TSElGVCB8CiAJCQlHVF9SRU5ERVJfVVNFUl9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lSUV9T SElGVCB8Ci0JCQlHVF9DT05URVhUX1NXSVRDSF9JTlRFUlJVUFQgPDwgR0VOOF9WQ1MyX0lSUV9T SElGVCwKKwkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZDUzJfSVJRX1NI SUZUIHwKKwkJCUdUX0dFTjhfV0FUQ0hET0dfSU5URVJSVVBUIDw8IEdFTjhfVkNTMl9JUlFfU0hJ RlQsCiAJCTAsCiAJCUdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NI SUZUIHwKIAkJCUdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBHRU44X1ZFQ1NfSVJRX1NI SUZUCkBAIC00MTc2LDYgKzQxODIsMTAgQEAgc3RhdGljIHZvaWQgZ2VuOF9ndF9pcnFfcG9zdGlu c3RhbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChIQVNfTDNfRFBG KGRldl9wcml2KSkKIAkJZ3RfaW50ZXJydXB0c1swXSB8PSBHVF9SRU5ERVJfTDNfUEFSSVRZX0VS Uk9SX0lOVEVSUlVQVDsKIAorCS8qIFZFQ1Mgd2F0Y2hkb2cgaXMgb25seSBhdmFpbGFibGUgaW4g c2tsKyAqLworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCisJCWd0X2ludGVycnVwdHNb M10gfD0gR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQ7CisKIAlkZXZfcHJpdi0+cG1faWVyID0g MHgwOwogCWRldl9wcml2LT5wbV9pbXIgPSB+ZGV2X3ByaXYtPnBtX2llcjsKIAlHRU44X0lSUV9J TklUX05EWChHVCwgMCwgfmd0X2ludGVycnVwdHNbMF0sIGd0X2ludGVycnVwdHNbMF0pOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggNDQ5NThkOTk0YmZhLi5mZmYzMzA2NDMwOTAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtMjMzNSw2ICsyMzM1LDExIEBAIGVudW0gaTkxNV9wb3dl cl93ZWxsX2lkIHsKICNkZWZpbmUgUklOR19TVEFSVChiYXNlKQlfTU1JTygoYmFzZSkgKyAweDM4 KQogI2RlZmluZSBSSU5HX0NUTChiYXNlKQkJX01NSU8oKGJhc2UpICsgMHgzYykKICNkZWZpbmUg ICBSSU5HX0NUTF9TSVpFKHNpemUpCSgoc2l6ZSkgLSBQQUdFX1NJWkUpIC8qIGluIGJ5dGVzIC0+ IHBhZ2VzICovCisjZGVmaW5lIFJJTkdfQ05UUihiYXNlKQkJX01NSU8oKGJhc2UpICsgMHgxNzgp CisjZGVmaW5lICAgR0VOOF9XQVRDSERPR19FTkFCTEUJCTAKKyNkZWZpbmUgICBHRU44X1dBVENI RE9HX0RJU0FCTEUJCTEKKyNkZWZpbmUgICBHRU44X1hDU19XQVRDSERPR19ESVNBQkxFCTB4RkZG RkZGRkYgLyogR0VOOCAmIG5vbi1yZW5kZXIgb25seSAqLworI2RlZmluZSBSSU5HX1RIUkVTSChi YXNlKQlfTU1JTygoYmFzZSkgKyAweDE3QykKICNkZWZpbmUgUklOR19TWU5DXzAoYmFzZSkJX01N SU8oKGJhc2UpICsgMHg0MCkKICNkZWZpbmUgUklOR19TWU5DXzEoYmFzZSkJX01NSU8oKGJhc2Up ICsgMHg0NCkKICNkZWZpbmUgUklOR19TWU5DXzIoYmFzZSkJX01NSU8oKGJhc2UpICsgMHg0OCkK QEAgLTI4OTQsNiArMjg5OSw3IEBAIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKICNkZWZpbmUg R1RfQlNEX1VTRVJfSU5URVJSVVBUCQkJKDEgPDwgMTIpCiAjZGVmaW5lIEdUX1JFTkRFUl9MM19Q QVJJVFlfRVJST1JfSU5URVJSVVBUX1MxCSgxIDw8IDExKSAvKiBoc3crOyByc3ZkIG9uIHNuYiwg aXZiLCB2bHYgKi8KICNkZWZpbmUgR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUCQkoMSA8PCAg OCkKKyNkZWZpbmUgR1RfR0VOOF9XQVRDSERPR19JTlRFUlJVUFQJCSgxIDw8ICA2KSAvKiBnZW44 KyAqLwogI2RlZmluZSBHVF9SRU5ERVJfTDNfUEFSSVRZX0VSUk9SX0lOVEVSUlVQVAkoMSA8PCAg NSkgLyogIXNuYiAqLwogI2RlZmluZSBHVF9SRU5ERVJfUElQRUNUTF9OT1RJRllfSU5URVJSVVBU CSgxIDw8ICA0KQogI2RlZmluZSBHVF9SRU5ERVJfQ1NfTUFTVEVSX0VSUk9SX0lOVEVSUlVQVAko MSA8PCAgMykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVj ay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGFuZ2NoZWNrLmMKaW5kZXggNTFlOWVm ZWM1MTE2Li4yOTA2ZjBlZjNkNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hhbmdjaGVjay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hhbmdjaGVj ay5jCkBAIC0yMTMsNyArMjEzLDggQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2FjY3VtdWxhdGVf c2FtcGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAogc3RhdGljIHZvaWQgaGFu Z2NoZWNrX2RlY2xhcmVfaGFuZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCQkg ICB1bnNpZ25lZCBpbnQgaHVuZywKLQkJCQkgICB1bnNpZ25lZCBpbnQgc3R1Y2spCisJCQkJICAg dW5zaWduZWQgaW50IHN0dWNrLAorCQkJCSAgIHVuc2lnbmVkIGludCB3YXRjaGRvZykKIHsKIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJY2hhciBtc2dbODBdOwpAQCAtMjI2LDEz ICsyMjcsMTYgQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2RlY2xhcmVfaGFuZyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlpZiAoc3R1Y2sgIT0gaHVuZykKIAkJaHVuZyAmPSB+c3R1 Y2s7CiAJbGVuID0gc2NucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksCi0JCQkiJXMgb24gIiwgc3R1 Y2sgPT0gaHVuZyA/ICJubyBwcm9ncmVzcyIgOiAiaGFuZyIpOworCQkJIiVzIG9uICIsIHdhdGNo ZG9nID8gIndhdGNoZG9nIHRpbWVvdXQiIDoKKwkJCQkgIHN0dWNrID09IGh1bmcgPyAibm8gcHJv Z3Jlc3MiIDogImhhbmciKTsKIAlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgaTkxNSwg aHVuZywgdG1wKQogCQlsZW4gKz0gc2NucHJpbnRmKG1zZyArIGxlbiwgc2l6ZW9mKG1zZykgLSBs ZW4sCiAJCQkJICIlcywgIiwgZW5naW5lLT5uYW1lKTsKIAltc2dbbGVuLTJdID0gJ1wwJzsKIAot CXJldHVybiBpOTE1X2hhbmRsZV9lcnJvcihpOTE1LCBodW5nLCBJOTE1X0VSUk9SX0NBUFRVUkUs ICIlcyIsIG1zZyk7CisJcmV0dXJuIGk5MTVfaGFuZGxlX2Vycm9yKGk5MTUsIGh1bmcsCisJCQkJ IHdhdGNoZG9nID8gMCA6IEk5MTVfRVJST1JfQ0FQVFVSRSwKKwkJCQkgIiVzIiwgbXNnKTsKIH0K IAogLyoKQEAgLTI1MCw3ICsyNTQsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2hhbmdjaGVja19lbGFw c2VkKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJCSAgICAgZ3B1X2Vycm9yLmhhbmdjaGVj a193b3JrLndvcmspOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAllbnVtIGlu dGVsX2VuZ2luZV9pZCBpZDsKLQl1bnNpZ25lZCBpbnQgaHVuZyA9IDAsIHN0dWNrID0gMCwgd2Vk Z2VkID0gMDsKKwl1bnNpZ25lZCBpbnQgaHVuZyA9IDAsIHN0dWNrID0gMCwgd2VkZ2VkID0gMCwg d2F0Y2hkb2cgPSAwOwogCiAJaWYgKCFpOTE1X21vZHBhcmFtcy5lbmFibGVfaGFuZ2NoZWNrKQog CQlyZXR1cm47CkBAIC0yNjEsNiArMjY1LDkgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tf ZWxhcHNlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJaWYgKGk5MTVfdGVybWluYWxseV93 ZWRnZWQoJmRldl9wcml2LT5ncHVfZXJyb3IpKQogCQlyZXR1cm47CiAKKwlpZiAodGVzdF9hbmRf Y2xlYXJfYml0KEk5MTVfUkVTRVRfV0FUQ0hET0csICZkZXZfcHJpdi0+Z3B1X2Vycm9yLmZsYWdz KSkKKwkJd2F0Y2hkb2cgPSAxOworCiAJLyogQXMgZW5hYmxpbmcgdGhlIEdQVSByZXF1aXJlcyBm YWlybHkgZXh0ZW5zaXZlIG1taW8gYWNjZXNzLAogCSAqIHBlcmlvZGljYWxseSBhcm0gdGhlIG1t aW8gY2hlY2tlciB0byBzZWUgaWYgd2UgYXJlIHRyaWdnZXJpbmcKIAkgKiBhbnkgaW52YWxpZCBh Y2Nlc3MuCkBAIC0yOTMsNyArMzAwLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5nY2hlY2tfZWxh cHNlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJfQogCiAJaWYgKGh1bmcpCi0JCWhhbmdj aGVja19kZWNsYXJlX2hhbmcoZGV2X3ByaXYsIGh1bmcsIHN0dWNrKTsKKwkJaGFuZ2NoZWNrX2Rl Y2xhcmVfaGFuZyhkZXZfcHJpdiwgaHVuZywgc3R1Y2ssIHdhdGNoZG9nKTsKIAogCS8qIFJlc2V0 IHRpbWVyIGluIGNhc2UgR1BVIGhhbmdzIHdpdGhvdXQgYW5vdGhlciByZXF1ZXN0IGJlaW5nIGFk ZGVkICovCiAJaTkxNV9xdWV1ZV9oYW5nY2hlY2soZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwppbmRleCA2Yzk4ZmI3Y2ViZjIuLmUxZGNkZjU0NWJlZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKQEAgLTIwMjcsNiArMjAyNyw3MCBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9m bHVzaF9yZW5kZXIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCwKIAlyZXR1cm4gMDsKIH0K IAorLyogRnJvbSBHRU45IG9ud2FyZHMsIGFsbCBlbmdpbmVzIHVzZSB0aGUgc2FtZSBSSU5HX0NO VFIgZm9ybWF0ICovCitzdGF0aWMgaW5saW5lIHUzMiBnZXRfd2F0Y2hkb2dfZGlzYWJsZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJaWYgKGVuZ2luZS0+aWQgPT0gUkNTIHx8 IElOVEVMX0dFTihlbmdpbmUtPmk5MTUpID49IDkpCisJCXJldHVybiBHRU44X1dBVENIRE9HX0RJ U0FCTEU7CisJZWxzZQorCQlyZXR1cm4gR0VOOF9YQ1NfV0FUQ0hET0dfRElTQUJMRTsKK30KKwor I2RlZmluZSBHRU44X1dBVENIRE9HXzEwMDBVUyAweDJlZTAgLy9YWFg6IFRlbXAsIHJlcGxhY2Ug d2l0aCBoZWxwZXIgZnVuY3Rpb24KK3N0YXRpYyB2b2lkIGdlbjhfd2F0Y2hkb2dfaXJxX2hhbmRs ZXIodW5zaWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSA9IChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICopZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CisJZW51bSBmb3JjZXdha2VfZG9tYWlucyBm d19kb21haW5zOworCXUzMiBjdXJyZW50X3NlcW5vOworCisJc3dpdGNoIChlbmdpbmUtPmlkKSB7 CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKGVuZ2luZS0+aWQpOworCQkvKiBmYWxsIHRocm91 Z2ggKi8KKwljYXNlIFJDUzoKKwkJZndfZG9tYWlucyA9IEZPUkNFV0FLRV9SRU5ERVI7CisJCWJy ZWFrOworCWNhc2UgVkNTOgorCWNhc2UgVkNTMjoKKwljYXNlIFZFQ1M6CisJCWZ3X2RvbWFpbnMg PSBGT1JDRVdBS0VfTUVESUE7CisJCWJyZWFrOworCX0KKworCWludGVsX3VuY29yZV9mb3JjZXdh a2VfZ2V0KGRldl9wcml2LCBmd19kb21haW5zKTsKKworCS8qIFN0b3AgdGhlIGNvdW50ZXIgdG8g cHJldmVudCBmdXJ0aGVyIHRpbWVvdXQgaW50ZXJydXB0cyAqLworCUk5MTVfV1JJVEVfRlcoUklO R19DTlRSKGVuZ2luZS0+bW1pb19iYXNlKSwgZ2V0X3dhdGNoZG9nX2Rpc2FibGUoZW5naW5lKSk7 CisKKwljdXJyZW50X3NlcW5vID0gaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUpOworCisJ LyogZGlkIHRoZSByZXF1ZXN0IGNvbXBsZXRlIGFmdGVyIHRoZSB0aW1lciBleHBpcmVkPyAqLwor CWlmIChpbnRlbF9lbmdpbmVfbGFzdF9zdWJtaXQoZW5naW5lKSA9PSBjdXJyZW50X3NlcW5vKQor CQlnb3RvIGZ3X3B1dDsKKworCWlmIChlbmdpbmUtPmhhbmdjaGVjay53YXRjaGRvZyA9PSBjdXJy ZW50X3NlcW5vKSB7CisJCS8qIE1ha2Ugc3VyZSB0aGUgYWN0aXZlIHJlcXVlc3Qgd2lsbCBiZSBt YXJrZWQgYXMgZ3VpbHR5ICovCisJCWVuZ2luZS0+aGFuZ2NoZWNrLnN0YWxsZWQgPSB0cnVlOwor CQllbmdpbmUtPmhhbmdjaGVjay5hY3RoZCA9IGludGVsX2VuZ2luZV9nZXRfYWN0aXZlX2hlYWQo ZW5naW5lKTsKKwkJZW5naW5lLT5oYW5nY2hlY2suc2Vxbm8gPSBjdXJyZW50X3NlcW5vOworCisJ CS8qIEFuZCB0cnkgdG8gcnVuIHRoZSBoYW5nY2hlY2tfd29yayBhcyBzb29uIGFzIHBvc3NpYmxl ICovCisJCXNldF9iaXQoSTkxNV9SRVNFVF9XQVRDSERPRywgJmRldl9wcml2LT5ncHVfZXJyb3Iu ZmxhZ3MpOworCQlxdWV1ZV9kZWxheWVkX3dvcmsoc3lzdGVtX2xvbmdfd3EsCisJCQkJICAgJmRl dl9wcml2LT5ncHVfZXJyb3IuaGFuZ2NoZWNrX3dvcmssCisJCQkJICAgcm91bmRfamlmZmllc191 cF9yZWxhdGl2ZShIWikpOworCX0gZWxzZSB7CisJCWVuZ2luZS0+aGFuZ2NoZWNrLndhdGNoZG9n ID0gY3VycmVudF9zZXFubzsKKwkJLyogUmUtc3RhcnQgdGhlIGNvdW50ZXIsIGlmIHJlYWxseSBo dW5nLCBpdCB3aWxsIGV4cGlyZSBhZ2FpbiAqLworCQlJOTE1X1dSSVRFX0ZXKFJJTkdfVEhSRVNI KGVuZ2luZS0+bW1pb19iYXNlKSwgR0VOOF9XQVRDSERPR18xMDAwVVMpOworCQlJOTE1X1dSSVRF X0ZXKFJJTkdfQ05UUihlbmdpbmUtPm1taW9fYmFzZSksIEdFTjhfV0FUQ0hET0dfRU5BQkxFKTsK Kwl9CisKK2Z3X3B1dDoKKwlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgZndf ZG9tYWlucyk7Cit9CisKIC8qCiAgKiBSZXNlcnZlIHNwYWNlIGZvciAyIE5PT1BzIGF0IHRoZSBl bmQgb2YgZWFjaCByZXF1ZXN0IHRvIGJlCiAgKiB1c2VkIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm90 IGJlaW5nIGFsbG93ZWQgdG8gZG8gbGl0ZQpAQCAtMjExNSw2ICsyMTc5LDkgQEAgdm9pZCBpbnRl bF9sb2dpY2FsX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJ CQkgICAgICZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LnN0YXRlKSkpCiAJCXRhc2tsZXRfa2ls bCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CiAKKwlpZiAoV0FSTl9PTih0ZXN0X2JpdChU QVNLTEVUX1NUQVRFX1NDSEVELCAmZW5naW5lLT5leGVjbGlzdHMud2F0Y2hkb2dfdGFza2xldC5z dGF0ZSkpKQorCQl0YXNrbGV0X2tpbGwoJmVuZ2luZS0+ZXhlY2xpc3RzLndhdGNoZG9nX3Rhc2ts ZXQpOworCiAJZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CiAKIAlpZiAoZW5naW5lLT5idWZmZXIp IHsKQEAgLTIyMDgsNiArMjI3NSwyMiBAQCBsb2dpY2FsX3JpbmdfZGVmYXVsdF9pcnFzKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCWVuZ2luZS0+aXJxX2VuYWJsZV9tYXNrID0g R1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IHNoaWZ0OwogCWVuZ2luZS0+aXJxX2tlZXBfbWFz ayA9IEdUX0NPTlRFWFRfU1dJVENIX0lOVEVSUlVQVCA8PCBzaGlmdDsKKworCXN3aXRjaCAoZW5n aW5lLT5pZCkgeworCWRlZmF1bHQ6CisJCS8qIEJDUyBlbmdpbmUgZG9lcyBub3Qgc3VwcG9ydCBo dyB3YXRjaGRvZyAqLworCQlicmVhazsKKwljYXNlIFJDUzoKKwljYXNlIFZDUzoKKwljYXNlIFZD UzI6CisJCWVuZ2luZS0+aXJxX2tlZXBfbWFzayB8PSAoR1RfR0VOOF9XQVRDSERPR19JTlRFUlJV UFQgPDwgc2hpZnQpOworCQlicmVhazsKKwljYXNlIFZFQ1M6CisJCWlmIChJTlRFTF9HRU4oZW5n aW5lLT5pOTE1KSA+PSA5KQorCQkJZW5naW5lLT5pcnFfa2VlcF9tYXNrIHw9CisJCQkJKEdUX0dF TjhfV0FUQ0hET0dfSU5URVJSVVBUIDw8IHNoaWZ0KTsKKwkJYnJlYWs7CisJfQogfQogCiBzdGF0 aWMgdm9pZApAQCAtMjIyMSw2ICsyMzA0LDkgQEAgbG9naWNhbF9yaW5nX3NldHVwKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl0YXNrbGV0X2luaXQoJmVuZ2luZS0+ZXhlY2xpc3Rz LnRhc2tsZXQsCiAJCSAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwgKHVuc2lnbmVk IGxvbmcpZW5naW5lKTsKIAorCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5leGVjbGlzdHMud2F0Y2hk b2dfdGFza2xldCwKKwkJICAgICBnZW44X3dhdGNoZG9nX2lycV9oYW5kbGVyLCAodW5zaWduZWQg bG9uZyllbmdpbmUpOworCiAJbG9naWNhbF9yaW5nX2RlZmF1bHRfdmZ1bmNzKGVuZ2luZSk7CiAJ bG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhlbmdpbmUpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IDNjMTM2NmM1OGNmMy4uNmNiOGI0MjgwMDM1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0xMjAsNiArMTIwLDcgQEAg c3RydWN0IGludGVsX2luc3Rkb25lIHsKIHN0cnVjdCBpbnRlbF9lbmdpbmVfaGFuZ2NoZWNrIHsK IAl1NjQgYWN0aGQ7CiAJdTMyIHNlcW5vOworCXUzMiB3YXRjaGRvZzsKIAllbnVtIGludGVsX2Vu Z2luZV9oYW5nY2hlY2tfYWN0aW9uIGFjdGlvbjsKIAl1bnNpZ25lZCBsb25nIGFjdGlvbl90aW1l c3RhbXA7CiAJaW50IGRlYWRsb2NrOwpAQCAtMjI0LDYgKzIyNSwxMSBAQCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2V4ZWNsaXN0cyB7CiAJICovCiAJc3RydWN0IHRhc2tsZXRfc3RydWN0IHRhc2tsZXQ7 CiAKKwkvKioKKwkgKiBAd2F0Y2hkb2dfdGFza2xldDogc3RvcCBjb3VudGVyIGFuZCByZS1zY2hl ZHVsZSBoYW5nY2hlY2tfd29yayBhc2FwCisJICovCisJc3RydWN0IHRhc2tsZXRfc3RydWN0IHdh dGNoZG9nX3Rhc2tsZXQ7CisKIAkvKioKIAkgKiBAZGVmYXVsdF9wcmlvbGlzdDogcHJpb3JpdHkg bGlzdCBmb3IgSTkxNV9QUklPUklUWV9OT1JNQUwKIAkgKi8KLS0gCjIuMTcuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==