From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 14/20] drm/i915: TDR/watchdog trace points. Date: Fri, 23 Oct 2015 02:32:36 +0100 Message-ID: <1445563962-20753-15-git-send-email-tomas.elf@intel.com> References: <1445563962-20753-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 552696E839 for ; Thu, 22 Oct 2015 18:33:45 -0700 (PDT) In-Reply-To: <1445563962-20753-1-git-send-email-tomas.elf@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 List-Id: intel-gfx@lists.freedesktop.org RGVmaW5lZCB0cmFjZSBwb2ludHMgYW5kIHNwcmlua2xlZCB0aGUgdXNhZ2Ugb2YgdGhlc2UgdGhy b3VnaG91dCB0aGUKVERSL3dhdGNoZG9nIGltcGxlbWVudGF0aW9uLgoKVGhlIGZvbGxvd2luZyB0 cmFjZSBwb2ludHMgYXJlIHN1cHBvcnRlZDoKCgkxLiB0cmFjZV9pOTE1X3Rkcl9ncHVfcmVjb3Zl cnk6CglDYWxsZWQgYXQgdGhlIG9uc2V0IG9mIHRoZSBmdWxsIEdQVSByZXNldCByZWNvdmVyeSBw YXRoLgoKCTIuIHRyYWNlX2k5MTVfdGRyX2VuZ2luZV9yZWNvdmVyeToKCUNhbGxlZCBhdCB0aGUg b25zZXQgb2YgdGhlIHBlci1lbmdpbmUgcmVjb3ZlcnkgcGF0aC4KCgkzLiBpOTE1X3Rkcl9yZWNv dmVyeV9zdGFydDoKCUNhbGxlZCBhdCB0aGUgb25zZXQgb2YgaGFuZyByZWNvdmVyeSBiZWZvcmUg cmVjb3ZlcnkgbW9kZSBoYXMgYmVlbgoJZGVjaWRlZC4KCgk0LiBpOTE1X3Rkcl9yZWNvdmVyeV9j b21wbGV0ZToKCUNhbGxlZCBhdCB0aGUgcG9pbnQgb2YgaGFuZyByZWNvdmVyeSBjb21wbGV0aW9u LgoKCTUuIGk5MTVfdGRyX3JlY292ZXJ5X3F1ZXVlZDoKCUNhbGxlZCBvbmNlIHRoZSBlcnJvciBo YW5kbGVyIGRlY2lkZXMgdG8gc2NoZWR1bGUgdGhlIGFjdHVhbCBoYW5nCglyZWNvdmVyeSwgd2hp Y2ggbWFya3MgdGhlIGVuZCBvZiB0aGUgaGFuZyBkZXRlY3Rpb24gcGF0aC4KCgk2LiBpOTE1X3Rk cl9lbmdpbmVfc2F2ZToKCUNhbGxlZCBhdCB0aGUgcG9pbnQgb2Ygc2F2aW5nIHRoZSBlbmdpbmUg c3RhdGUgZHVyaW5nIHBlci1lbmdpbmUgaGFuZwoJcmVjb3ZlcnkuCgoJNy4gaTkxNV90ZHJfZ3B1 X3Jlc2V0X2NvbXBsZXRlOgoJQ2FsbGVkIGF0IHRoZSBwb2ludCBvZiBmdWxsIEdQVSByZXNldCBy ZWNvdmVyeSBjb21wbGV0aW9uLgoKCTguIGk5MTVfdGRyX2VuZ2luZV9yZXNldF9jb21wbGV0ZToK CUNhbGxlZCBhdCB0aGUgcG9pbnQgb2YgcGVyLWVuZ2luZSByZWNvdmVyeSBjb21wbGV0aW9uLgoK CTkuIGk5MTVfdGRyX2ZvcmNlZF9jc2JfY2hlY2s6CglDYWxsZWQgYXQgdGhlIGNvbXBsZXRpb24g b2YgYSBmb3JjZWQgQ1NCIGNoZWNrLgoKCTEwLiBpOTE1X3Rkcl9oYW5nX2NoZWNrOgoJQ2FsbGVk IGZvciBldmVyeSBlbmdpbmUgaW4gdGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlciBsb29wIGJlZm9y ZSBtb3ZpbmcKCW9uIHRvIHRoZSBuZXh0IGVuZ2luZS4gUHJvdmlkZXMgYW4gb3ZlcnZpZXcgb2Yg YWxsIGhhbmcgY2hlY2sgc3RhdHMgaW4KCXJlYWwtdGltZS4gVGhlIGNvbGxlY3RlZCBzdGF0cyBh cmU6CgoJCWEuIEVuZ2luZSBuYW1lLgoKCQliLiBDdXJyZW50IGVuZ2luZSBzZXFuby4KCgkJYy4g U2Vxbm8gb2YgcHJldmlvdXMgaGFuZyBjaGVjayBpdGVyYXRpb24gZm9yIHRoYXQgZW5naW5lLgoK CQlkLiBBQ1RIRCByZWdpc3RlciB2YWx1ZSBvZiBnaXZlbiBlbmdpbmUuCgoJCWUuIEN1cnJlbnQg aGFuZyBjaGVjayBzY29yZSBvZiBnaXZlbiBlbmdpbmUgKGFuZCB3aGV0aGVyIG9yIG5vdAoJCXRo ZSBlbmdpbmUgaGFzIGJlZW4gZGV0ZWN0ZWQgYXMgaHVuZykuCgoJCWYuIEN1cnJlbnQgYWN0aW9u IGZvciBnaXZlbiBlbmdpbmUuCgoJCWcuIEJ1c3luZXNzIG9mIGdpdmVuIGVuZ2luZS4KCgkJaC4g U3VibWlzc2lvbiBzdGF0dXMgb2YgY3VycmVudGx5IHJ1bm5pbmcgY29udGV4dCBvbiBnaXZlbiBl bmdpbmUuCgoJMTEuIGk5MTVfdGRyX2luY29uc2lzdGVuY3k6CglDYWxsZWQgd2hlbiBhbiBpbmNv bnNpc3RlbmN5IGlzIGRldGVjdGVkIHRvIHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiBpbgoJdGhl IGxvZyBhYm91dCB0aGUgbmF0dXJlIG9mIHRoZSBpbmNvbnNpc3RlbmN5LiBUaGUgY29sbGVjdGVk CglpbmZvcm1hdGlvbiBpczoKCgkJYS4gRW5naW5lIG5hbWUuCgoJCWIuIElEIG9mIHRoZSBjdXJy ZW50bHkgZXhlY3V0aW5nIGNvbnRleHQgb24gaGFyZHdhcmUuCgoJCWMuIElzIHRoZSBnaXZlbiBl bmdpbmUgaWRsZSBvciBub3Q/CgoJCWQuIFRoZSBJRCBvZiB0aGUgY29udGV4dCB0aGF0IHdhcyBt b3N0IHJlY2VudGx5IHN1Ym1pdHRlZCB0bwoJCXRoZSBFTFNQIHBvcnQgZnJvbSB0aGUgZXhlY2xp c3QgcXVldWUgZm9yIHRoZSBnaXZlbiBlbmdpbmUuCgoJCWUuIFRoZSBzdWJtaXNzaW9uL0lSUSBi YWxhbmNlIG9mIHRoZSByZXF1ZXN0IG1vc3QgcmVjZW50bHkKCQlzdWJtaXR0ZWQgdG8gaGFyZHdh cmUgKGVsc3Bfc3VibWl0dGVkKS4KClNpZ25lZC1vZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxm QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgIHwg ICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgfCAgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyB8ICAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICB8ICAxMSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV90cmFjZS5oICAgICB8IDMzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgIHwgIDIxICsrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgICB8ICAgNCArCiA3IGZpbGVzIGNoYW5nZWQs IDM3NyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j CmluZGV4IGMzMmM0NzUuLmQ0ODIzNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtODk2 LDYgKzg5Niw3IEBAIGludCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJYm9v bCBzaW11bGF0ZWQ7CiAJaW50IHJldDsKIAorCXRyYWNlX2k5MTVfdGRyX2dwdV9yZWNvdmVyeShk ZXYpOwogCWludGVsX3Jlc2V0X2d0X3Bvd2Vyc2F2ZShkZXYpOwogCiAJbXV0ZXhfbG9jaygmZGV2 LT5zdHJ1Y3RfbXV0ZXgpOwpAQCAtMTEyMCw2ICsxMTIxLDggQEAgaW50IGk5MTVfcmVzZXRfZW5n aW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCVdBUk5fT04oIW11dGV4X2lz X2xvY2tlZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAorCXRyYWNlX2k5MTVfdGRyX2VuZ2luZV9y ZWNvdmVyeShlbmdpbmUpOworCiAgICAgICAgIC8qIFRha2Ugd2FrZSBsb2NrIHRvIHByZXZlbnQg cG93ZXIgc2F2aW5nIG1vZGUgKi8KIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChkZXZfcHJp diwgRk9SQ0VXQUtFX0FMTCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDdlYmY4MDAu LjViNTQ2NzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzMzNSw2ICszMzM1LDcgQEAg dm9pZCBpOTE1X2Rlc3Ryb3lfZXJyb3Jfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAK IHZvaWQgaTkxNV9nZXRfZXh0cmFfaW5zdGRvbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdWlu dDMyX3QgKmluc3Rkb25lKTsKIGNvbnN0IGNoYXIgKmk5MTVfY2FjaGVfbGV2ZWxfc3RyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBpbnQgdHlwZSk7Citjb25zdCBjaGFyICpoYW5nY2hl Y2tfYWN0aW9uX3RvX3N0cihlbnVtIGludGVsX3JpbmdfaGFuZ2NoZWNrX2FjdGlvbiBhKTsKIAog LyogaTkxNV9jbWRfcGFyc2VyLmMgKi8KIGludCBpOTE1X2NtZF9wYXJzZXJfZ2V0X3ZlcnNpb24o dm9pZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCAyZjA0ZTRmLi44 YzBjZDBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKQEAgLTIyMSw3ICsy MjEsNyBAQCBzdGF0aWMgdm9pZCBwcmludF9lcnJvcl9idWZmZXJzKHN0cnVjdCBkcm1faTkxNV9l cnJvcl9zdGF0ZV9idWYgKm0sCiAJfQogfQogCi1zdGF0aWMgY29uc3QgY2hhciAqaGFuZ2NoZWNr X2FjdGlvbl90b19zdHIoZW51bSBpbnRlbF9yaW5nX2hhbmdjaGVja19hY3Rpb24gYSkKK2NvbnN0 IGNoYXIgKmhhbmdjaGVja19hY3Rpb25fdG9fc3RyKGVudW0gaW50ZWxfcmluZ19oYW5nY2hlY2tf YWN0aW9uIGEpCiB7CiAJc3dpdGNoIChhKSB7CiAJY2FzZSBIQU5HQ0hFQ0tfSURMRToKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCmluZGV4IDcxMjA4ZGUuLjhmZTk3MmIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYwpAQCAtMjQ1NCw2ICsyNDU0LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9lcnJvcl93b3Jr X2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwogCisJdHJhY2VfaTkxNV90ZHJfcmVjb3Zlcnlfc3RhcnQoZGV2KTsKIAlrb2Jq ZWN0X3VldmVudF9lbnYoJmRldi0+cHJpbWFyeS0+a2Rldi0+a29iaiwgS09CSl9DSEFOR0UsIGVy cm9yX2V2ZW50KTsKIAogCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKQEAgLTI1 NzIsNiArMjU3Myw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZXJyb3Jfd29ya19mdW5jKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKIAkJCWtvYmplY3RfdWV2ZW50X2VudigmZGV2LT5wcmltYXJ5LT5r ZGV2LT5rb2JqLAogCQkJCQkgICBLT0JKX0NIQU5HRSwgcmVzZXRfZG9uZV9ldmVudCk7CiAJfQor CXRyYWNlX2k5MTVfdGRyX3JlY292ZXJ5X2NvbXBsZXRlKGRldik7CiB9CiAKIHN0YXRpYyB2b2lk IGk5MTVfcmVwb3J0X2FuZF9jbGVhcl9laXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKQEAgLTI2 OTcsNiArMjY5OSw3IEBAIHZvaWQgaTkxNV9oYW5kbGVfZXJyb3Ioc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdTMyIGVuZ2luZV9tYXNrLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJdmFfbGlzdCBhcmdzOwogCWNoYXIgZXJyb3JfbXNnWzgw XTsKKwlib29sIGZ1bGxfcmVzZXQgPSB0cnVlOwogCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOwogCkBAIC0yNzE1LDcgKzI3MTgsNiBAQCB2b2lkIGk5MTVfaGFuZGxlX2Vycm9yKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBlbmdpbmVfbWFzaywKIAkJICoJMi4gVGhlIGhhcmR3 YXJlIGRvZXMgbm90IHN1cHBvcnQgaXQgKHByZS1nZW43KS4KIAkJICoJMy4gV2UgYWxyZWFkeSB0 cmllZCBwZXItZW5naW5lIHJlc2V0IHJlY2VudGx5LgogCQkgKi8KLQkJYm9vbCBmdWxsX3Jlc2V0 ID0gdHJ1ZTsKIAogCQlpZiAoIWk5MTUuZW5hYmxlX2VuZ2luZV9yZXNldCkgewogCQkJRFJNX0lO Rk8oIkVuZ2luZSByZXNldCBkaXNhYmxlZDogVXNpbmcgZnVsbCBHUFUgcmVzZXQuXG4iKTsKQEAg LTI3NDQsNiArMjc0Niw3IEBAIHZvaWQgaTkxNV9oYW5kbGVfZXJyb3Ioc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdTMyIGVuZ2luZV9tYXNrLAogCQkJCQkJaTkxNS5ncHVfcmVzZXRfcHJvbW90aW9u X3RpbWU7CiAKIAkJCQkJZW5naW5lLT5oYW5nY2hlY2subGFzdF9lbmdpbmVfcmVzZXRfdGltZSA9 IG5vdzsKKwogCQkJCX0gZWxzZSB7CiAJCQkJCS8qCiAJCQkJCSAqIFdhdGNoZG9nIHRpbWVvdXQg YWx3YXlzIHJlc3VsdHMKQEAgLTI3OTIsNiArMjc5NSw4IEBAIHZvaWQgaTkxNV9oYW5kbGVfZXJy b3Ioc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIGVuZ2luZV9tYXNrLAogCQlpOTE1X2Vycm9y X3dha2VfdXAoZGV2X3ByaXYsIGZhbHNlKTsKIAl9CiAKKwl0cmFjZV9pOTE1X3Rkcl9yZWNvdmVy eV9xdWV1ZWQoZGV2LCBlbmdpbmVfbWFzaywgd2F0Y2hkb2csIGZ1bGxfcmVzZXQpOworCiAJLyoK IAkgKiBHZW4gNzoKIAkgKgpAQCAtMzE1OCw2ICszMTYzLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9o YW5nY2hlY2tfZWxhcHNlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJZm9yX2VhY2hfcmlu ZyhyaW5nLCBkZXZfcHJpdiwgaSkgewogCQl1NjQgYWN0aGQ7CiAJCXUzMiBzZXFubzsKKwkJdTMy IGhlYWQ7CiAJCWJvb2wgYnVzeSA9IHRydWU7CiAKIAkJc2VtYXBob3JlX2NsZWFyX2RlYWRsb2Nr cyhkZXZfcHJpdik7CkBAIC0zMjM0LDcgKzMyNDAsMTAgQEAgc3RhdGljIHZvaWQgaTkxNV9oYW5n Y2hlY2tfZWxhcHNlZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAkJcmluZy0+aGFuZ2No ZWNrLnNlcW5vID0gc2Vxbm87CiAJCXJpbmctPmhhbmdjaGVjay5hY3RoZCA9IGFjdGhkOworCQlo ZWFkID0gSTkxNV9SRUFEX0hFQUQocmluZyk7CiAJCWJ1c3lfY291bnQgKz0gYnVzeTsKKworCQl0 cmFjZV9pOTE1X3Rkcl9oYW5nX2NoZWNrKHJpbmcsIHNlcW5vLCBhY3RoZCwgaGVhZCwgYnVzeSk7 CiAJfQogCiAJZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV90cmFjZS5oCmluZGV4IDA0ZmU4NDkuLjhkODZhN2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3RyYWNlLmgKQEAgLTgxMCw2ICs4MTAsMzQ1IEBAIFRSQUNFX0VWRU5UKHN3aXRjaF9tbSwKIAkJ ICBfX2VudHJ5LT5kZXYsIF9fZW50cnktPnJpbmcsIF9fZW50cnktPnRvLCBfX2VudHJ5LT52bSkK ICk7CiAKKy8qKgorICogRE9DOiBpOTE1X3Rkcl9ncHVfcmVjb3ZlcnkKKyAqCisgKiBUaGlzIHRy YWNlcG9pbnQgdHJhY2tzIHRoZSBvbnNldCBvZiB0aGUgZnVsbCBHUFUgcmVjb3ZlcnkgcGF0aAor ICovCitUUkFDRV9FVkVOVChpOTE1X3Rkcl9ncHVfcmVjb3ZlcnksCisJVFBfUFJPVE8oc3RydWN0 IGRybV9kZXZpY2UgKmRldiksCisKKwlUUF9BUkdTKGRldiksCisKKwlUUF9TVFJVQ1RfX2VudHJ5 KAorCQkJX19maWVsZCh1MzIsIGRldikKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24oCisJCQlfX2Vu dHJ5LT5kZXYgPSBkZXYtPnByaW1hcnktPmluZGV4OworCSksCisKKwlUUF9wcmludGsoImRldj0l dSwgZnVsbCBHUFUgcmVjb3Zlcnkgc3RhcnRlZCIsCisJCSAgX19lbnRyeS0+ZGV2KQorKTsKKwor LyoqCisgKiBET0M6IGk5MTVfdGRyX2VuZ2luZV9yZWNvdmVyeQorICoKKyAqIFRoaXMgdHJhY2Vw b2ludCB0cmFja3MgdGhlIG9uc2V0IG9mIHRoZSBlbmdpbmUgcmVjb3ZlcnkgcGF0aAorICovCitU UkFDRV9FVkVOVChpOTE1X3Rkcl9lbmdpbmVfcmVjb3ZlcnksCisJVFBfUFJPVE8oc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKSwKKworCVRQX0FSR1MoZW5naW5lKSwKKworCVRQX1NUUlVD VF9fZW50cnkoCisJCQlfX2ZpZWxkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKiwgZW5naW5lKQor CSksCisKKwlUUF9mYXN0X2Fzc2lnbigKKwkJCV9fZW50cnktPmVuZ2luZSA9IGVuZ2luZTsKKwkp LAorCisJVFBfcHJpbnRrKCJkZXY9JXUsIGVuZ2luZT0ldSwgcmVjb3Zlcnkgb2YgJXMgc3RhcnRl ZCIsCisJCSAgX19lbnRyeS0+ZW5naW5lLT5kZXYtPnByaW1hcnktPmluZGV4LAorCQkgIF9fZW50 cnktPmVuZ2luZS0+aWQsCisJCSAgX19lbnRyeS0+ZW5naW5lLT5uYW1lKQorKTsKKworLyoqCisg KiBET0M6IGk5MTVfdGRyX3JlY292ZXJ5X3N0YXJ0CisgKgorICogVGhpcyB0cmFjZXBvaW50IHRy YWNrcyBoYW5nIHJlY292ZXJ5IHN0YXJ0CisgKi8KK1RSQUNFX0VWRU5UKGk5MTVfdGRyX3JlY292 ZXJ5X3N0YXJ0LAorCVRQX1BST1RPKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpLAorCisJVFBfQVJH UyhkZXYpLAorCisJVFBfU1RSVUNUX19lbnRyeSgKKwkJCV9fZmllbGQodTMyLCBkZXYpCisJKSwK KworCVRQX2Zhc3RfYXNzaWduKAorCQkJX19lbnRyeS0+ZGV2ID0gZGV2LT5wcmltYXJ5LT5pbmRl eDsKKwkpLAorCisJVFBfcHJpbnRrKCJkZXY9JXUsIGhhbmcgcmVjb3Zlcnkgc3RhcnRlZCIsCisJ CSAgX19lbnRyeS0+ZGV2KQorKTsKKworLyoqCisgKiBET0M6IGk5MTVfdGRyX3JlY292ZXJ5X2Nv bXBsZXRlCisgKgorICogVGhpcyB0cmFjZXBvaW50IHRyYWNrcyBoYW5nIHJlY292ZXJ5IGNvbXBs ZXRpb24KKyAqLworVFJBQ0VfRVZFTlQoaTkxNV90ZHJfcmVjb3ZlcnlfY29tcGxldGUsCisJVFBf UFJPVE8oc3RydWN0IGRybV9kZXZpY2UgKmRldiksCisKKwlUUF9BUkdTKGRldiksCisKKwlUUF9T VFJVQ1RfX2VudHJ5KAorCQkJX19maWVsZCh1MzIsIGRldikKKwkpLAorCisJVFBfZmFzdF9hc3Np Z24oCisJCQlfX2VudHJ5LT5kZXYgPSBkZXYtPnByaW1hcnktPmluZGV4OworCSksCisKKwlUUF9w cmludGsoImRldj0ldSwgaGFuZyByZWNvdmVyeSBjb21wbGV0ZWQiLAorCQkgIF9fZW50cnktPmRl dikKKyk7CisKKy8qKgorICogRE9DOiBpOTE1X3Rkcl9yZWNvdmVyeV9xdWV1ZWQKKyAqCisgKiBU aGlzIHRyYWNlcG9pbnQgdHJhY2tzIHRoZSBwb2ludCBvZiBxdWV1aW5nIHJlY292ZXJ5IGZyb20g aGFuZyBjaGVjay4KKyAqIElmIGVuZ2luZSByZWNvdmVyeSBpcyByZXF1ZXN0ZWQgZW5naW5lIG5h bWUgd2lsbCBiZSBkaXNwbGF5ZWQsIG90aGVyd2lzZQorICogaXQgd2lsbCBiZSBzZXQgdG8gIm5v bmUiLiBJZiB0b28gbWFueSBlbmdpbmUgcmVzZXQgd2FzIGF0dGVtcHRlZCBpbiB0aGUKKyAqIHBy ZXZpb3VzIGhpc3Rvcnkgd2UgcHJvbW90ZSB0byBmdWxsIEdQVSByZXNldCwgd2hpY2ggaXMgcmVt YXJrZWQgYnkgYXBwZW5kaW5nCisgKiB0aGUgIltQUk9NT1RFRF0iIGZsYWcuCisgKi8KK1RSQUNF X0VWRU5UKGk5MTVfdGRyX3JlY292ZXJ5X3F1ZXVlZCwKKwlUUF9QUk9UTyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAorCQkgdTMyIGh1bmdfZW5naW5lcywKKwkJIGJvb2wgd2F0Y2hkb2csCisJCSBi b29sIGZ1bGxfcmVzZXQpLAorCisJVFBfQVJHUyhkZXYsIGh1bmdfZW5naW5lcywgd2F0Y2hkb2cs IGZ1bGxfcmVzZXQpLAorCisJVFBfU1RSVUNUX19lbnRyeSgKKwkJCV9fZmllbGQodTMyLCBkZXYp CisJCQlfX2ZpZWxkKHUzMiwgaHVuZ19lbmdpbmVzKQorCQkJX19maWVsZChib29sLCB3YXRjaGRv ZykKKwkJCV9fZmllbGQoYm9vbCwgZnVsbF9yZXNldCkKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24o CisJCQlfX2VudHJ5LT5kZXYgPSBkZXYtPnByaW1hcnktPmluZGV4OworCQkJX19lbnRyeS0+aHVu Z19lbmdpbmVzID0gaHVuZ19lbmdpbmVzOworCQkJX19lbnRyeS0+d2F0Y2hkb2cgPSB3YXRjaGRv ZzsKKwkJCV9fZW50cnktPmZ1bGxfcmVzZXQgPSBmdWxsX3Jlc2V0OworCSksCisKKwlUUF9wcmlu dGsoImRldj0ldSwgaHVuZ19lbmdpbmVzPTB4JTAyeCVzJXMlcyVzJXMlcyVzLCB3YXRjaGRvZz0l cywgZnVsbF9yZXNldD0lcyIsCisJCSAgX19lbnRyeS0+ZGV2LAorCQkgIF9fZW50cnktPmh1bmdf ZW5naW5lcywKKwkJICBfX2VudHJ5LT5odW5nX2VuZ2luZXMgPyAiICgiOiIiLAorCQkgIF9fZW50 cnktPmh1bmdfZW5naW5lcyAmIFJFTkRFUl9SSU5HID8gIiBbUkNTXSAiIDogIiIsCisJCSAgX19l bnRyeS0+aHVuZ19lbmdpbmVzICYgQlNEX1JJTkcgPyAJIiBbVkNTXSAiIDogIiIsCisJCSAgX19l bnRyeS0+aHVuZ19lbmdpbmVzICYgQkxUX1JJTkcgPyAJIiBbQkNTXSAiIDogIiIsCisJCSAgX19l bnRyeS0+aHVuZ19lbmdpbmVzICYgVkVCT1hfUklORyA/IAkiIFtWRUNTXSAiIDogIiIsCisJCSAg X19lbnRyeS0+aHVuZ19lbmdpbmVzICYgQlNEMl9SSU5HID8gCSIgW1ZDUzJdICIgOiAiIiwKKwkJ ICBfX2VudHJ5LT5odW5nX2VuZ2luZXMgPyAiKSI6IiIsCisJCSAgX19lbnRyeS0+d2F0Y2hkb2cg PyAidHJ1ZSIgOiAiZmFsc2UiLAorCQkgIF9fZW50cnktPmZ1bGxfcmVzZXQgPworCQkJKF9fZW50 cnktPmh1bmdfZW5naW5lcyA/ICJ0cnVlIFtQUk9NT1RFRF0iIDogInRydWUiKSA6CisJCQkJImZh bHNlIikKKyk7CisKKy8qKgorICogRE9DOiBpOTE1X3Rkcl9lbmdpbmVfc2F2ZQorICoKKyAqIFRo aXMgdHJhY2Vwb2ludCB0cmFja3MgdGhlIHBvaW50IG9mIGVuZ2luZSBzdGF0ZSBzYXZlIGR1cmlu ZyB0aGUgZW5naW5lCisgKiByZWNvdmVyeSBwYXRoLiBMb2dzIHRoZSBoZWFkIHBvaW50ZXIgcG9z aXRpb24gYXQgcG9pbnQgb2YgaGFuZywgdGhlIHBvc2l0aW9uCisgKiBhZnRlciByZWNvdmVyaW5n IGFuZCB3aGV0aGVyIG9yIG5vdCB3ZSBmb3JjZWQgYSBoZWFkIHBvaW50ZXIgYWR2YW5jZW1lbnQg b3IKKyAqIHJvdW5kZWQgdXAgdG8gYW4gYWxpZ25lZCBRV09SRCBwb3NpdGlvbi4KKyAqLworVFJB Q0VfRVZFTlQoaTkxNV90ZHJfZW5naW5lX3NhdmUsCisJVFBfUFJPVE8oc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLAorCQkgdTMyIG9sZF9oZWFkLAorCQkgdTMyIG5ld19oZWFkLAorCQkg Ym9vbCBmb3JjZWRfYWR2YW5jZSksCisKKwlUUF9BUkdTKGVuZ2luZSwgb2xkX2hlYWQsIG5ld19o ZWFkLCBmb3JjZWRfYWR2YW5jZSksCisKKwlUUF9TVFJVQ1RfX2VudHJ5KAorCQkJX19maWVsZChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICosIGVuZ2luZSkKKwkJCV9fZmllbGQodTMyLCBvbGRfaGVh ZCkKKwkJCV9fZmllbGQodTMyLCBuZXdfaGVhZCkKKwkJCV9fZmllbGQoYm9vbCwgZm9yY2VkX2Fk dmFuY2UpCisJKSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQkJX19lbnRyeS0+ZW5naW5lID0gZW5n aW5lOworCQkJX19lbnRyeS0+b2xkX2hlYWQgPSBvbGRfaGVhZDsKKwkJCV9fZW50cnktPm5ld19o ZWFkID0gbmV3X2hlYWQ7CisJCQlfX2VudHJ5LT5mb3JjZWRfYWR2YW5jZSA9IGZvcmNlZF9hZHZh bmNlOworCSksCisKKwlUUF9wcmludGsoImRldj0ldSwgZW5naW5lPSVzLCBvbGRfaGVhZD0ldSwg bmV3X2hlYWQ9JXUsIGZvcmNlZF9hZHZhbmNlPSVzIiwKKwkJICBfX2VudHJ5LT5lbmdpbmUtPmRl di0+cHJpbWFyeS0+aW5kZXgsCisJCSAgX19lbnRyeS0+ZW5naW5lLT5uYW1lLAorCQkgIF9fZW50 cnktPm9sZF9oZWFkLAorCQkgIF9fZW50cnktPm5ld19oZWFkLAorCQkgIF9fZW50cnktPmZvcmNl ZF9hZHZhbmNlID8gInRydWUiIDogImZhbHNlIikKKyk7CisKKy8qKgorICogRE9DOiBpOTE1X3Rk cl9ncHVfcmVzZXRfY29tcGxldGUKKyAqCisgKiBUaGlzIHRyYWNlcG9pbnQgdHJhY2tzIHRoZSBw b2ludCBvZiBmdWxsIEdQVSByZXNldCBjb21wbGV0aW9uCisgKi8KK1RSQUNFX0VWRU5UKGk5MTVf dGRyX2dwdV9yZXNldF9jb21wbGV0ZSwKKwlUUF9QUk9UTyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KSwKKworCVRQX0FSR1MoZGV2KSwKKworCVRQX1NUUlVDVF9fZW50cnkoCisJCQlfX2ZpZWxkKHN0 cnVjdCBkcm1fZGV2aWNlICosIGRldikKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24oCisJCQlfX2Vu dHJ5LT5kZXYgPSBkZXY7CisJKSwKKworCVRQX3ByaW50aygiZGV2PSV1LCByZXNldHM9JXUiLAor CQlfX2VudHJ5LT5kZXYtPnByaW1hcnktPmluZGV4LAorCQlpOTE1X3Jlc2V0X2NvdW50KCYoKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICopCisJCQkoX19lbnRyeS0+ZGV2KS0+ZGV2X3ByaXZhdGUp LT5ncHVfZXJyb3IpICkKKyk7CisKKy8qKgorICogRE9DOiBpOTE1X3Rkcl9lbmdpbmVfcmVzZXRf Y29tcGxldGUKKyAqCisgKiBUaGlzIHRyYWNlcG9pbnQgdHJhY2tzIHRoZSBwb2ludCBvZiBlbmdp bmUgcmVzZXQgY29tcGxldGlvbgorICovCitUUkFDRV9FVkVOVChpOTE1X3Rkcl9lbmdpbmVfcmVz ZXRfY29tcGxldGUsCisJVFBfUFJPVE8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKSwK KworCVRQX0FSR1MoZW5naW5lKSwKKworCVRQX1NUUlVDVF9fZW50cnkoCisJCQlfX2ZpZWxkKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKiwgZW5naW5lKQorCSksCisKKwlUUF9mYXN0X2Fzc2lnbigK KwkJCV9fZW50cnktPmVuZ2luZSA9IGVuZ2luZTsKKwkpLAorCisJVFBfcHJpbnRrKCJkZXY9JXUs IGVuZ2luZT0lcywgcmVzZXRzPSV1IiwKKwkJICBfX2VudHJ5LT5lbmdpbmUtPmRldi0+cHJpbWFy eS0+aW5kZXgsCisJCSAgX19lbnRyeS0+ZW5naW5lLT5uYW1lLAorCQkgIF9fZW50cnktPmVuZ2lu ZS0+aGFuZ2NoZWNrLnJlc2V0X2NvdW50KQorKTsKKworLyoqCisgKiBET0M6IGk5MTVfdGRyX2Zv cmNlZF9jc2JfY2hlY2sKKyAqCisgKiBUaGlzIHRyYWNlcG9pbnQgdHJhY2tzIHRoZSBvY2N1cmVu Y2VzIG9mIGZvcmNlZCBDU0IgY2hlY2tzCisgKiB0aGF0IHRoZSBkcml2ZXIgZG9lcyB3aGVuIGRl dGVjdGluZyBpbmNvbnNpc3RlbnQgY29udGV4dAorICogc3VibWlzc2lvbiBzdGF0ZXMgYmV0d2Vl biB0aGUgZHJpdmVyIHN0YXRlIGFuZCB0aGUgY3VycmVudAorICogQ1BVIGVuZ2luZSBzdGF0ZS4K KyAqLworVFJBQ0VfRVZFTlQoaTkxNV90ZHJfZm9yY2VkX2NzYl9jaGVjaywKKwlUUF9QUk9UTyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCSBib29sIHdhc19lZmZlY3RpdmUpLAor CisJVFBfQVJHUyhlbmdpbmUsIHdhc19lZmZlY3RpdmUpLAorCisJVFBfU1RSVUNUX19lbnRyeSgK KwkJCV9fZmllbGQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqLCBlbmdpbmUpCisJCQlfX2ZpZWxk KGJvb2wsIHdhc19lZmZlY3RpdmUpCisJKSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQkJX19lbnRy eS0+ZW5naW5lID0gZW5naW5lOworCQkJX19lbnRyeS0+d2FzX2VmZmVjdGl2ZSA9IHdhc19lZmZl Y3RpdmU7CisJKSwKKworCVRQX3ByaW50aygiZGV2PSV1LCBlbmdpbmU9JXMsIHdhc19lZmZlY3Rp dmU9JXMiLAorCQkgIF9fZW50cnktPmVuZ2luZS0+ZGV2LT5wcmltYXJ5LT5pbmRleCwKKwkJICBf X2VudHJ5LT5lbmdpbmUtPm5hbWUsCisJCSAgX19lbnRyeS0+d2FzX2VmZmVjdGl2ZSA/ICJ5ZXMi IDogIm5vIikKKyk7CisKKy8qKgorICogRE9DOiBpOTE1X3Rkcl9oYW5nX2NoZWNrCisgKgorICog VGhpcyB0cmFjZXBvaW50IHRyYWNrcyBoYW5nIGNoZWNrcyBvbiBlYWNoIGVuZ2luZS4KKyAqLwor VFJBQ0VfRVZFTlQoaTkxNV90ZHJfaGFuZ19jaGVjaywKKwlUUF9QUk9UTyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsCisJCSB1MzIgc2Vxbm8sCisJCSB1NjQgYWN0aGQsCisJCSB1MzIg aGQsCisJCSBib29sIGJ1c3kpLAorCisJVFBfQVJHUyhlbmdpbmUsIHNlcW5vLCBhY3RoZCwgaGQs IGJ1c3kpLAorCisJVFBfU1RSVUNUX19lbnRyeSgKKwkJCV9fZmllbGQoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqLCBlbmdpbmUpCisJCQlfX2ZpZWxkKHUzMiwgc2Vxbm8pCisJCQlfX2ZpZWxkKHU2 NCwgYWN0aGQpCisJCQlfX2ZpZWxkKHUzMiwgaGQpCisJCQlfX2ZpZWxkKGJvb2wsIGJ1c3kpCisJ KSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQkJX19lbnRyeS0+ZW5naW5lID0gZW5naW5lOworCQkJ X19lbnRyeS0+c2Vxbm8gPSBzZXFubzsKKwkJCV9fZW50cnktPmFjdGhkID0gYWN0aGQ7CisJCQlf X2VudHJ5LT5oZCA9IGhkOworCQkJX19lbnRyeS0+YnVzeSA9IGJ1c3k7CisJKSwKKworCVRQX3By aW50aygiZGV2PSV1LCBlbmdpbmU9JXMsIHNlcW5vPSV1ICglZCksIGxhc3Qgc2Vxbm89JXUgKCVk KSwgaGVhZD0ldSAoJWQpLCBhY3RoZD0lbHUsIHNjb3JlPSVkJXMsIGFjdGlvbj0ldSBbJXNdLCBi dXN5PSVzIiwKKwkJICBfX2VudHJ5LT5lbmdpbmUtPmRldi0+cHJpbWFyeS0+aW5kZXgsCisJCSAg X19lbnRyeS0+ZW5naW5lLT5uYW1lLAorCQkgIF9fZW50cnktPnNlcW5vLAorCQkgIF9fZW50cnkt PnNlcW5vLAorCQkgIF9fZW50cnktPmVuZ2luZS0+aGFuZ2NoZWNrLnNlcW5vLAorCQkgIF9fZW50 cnktPmVuZ2luZS0+aGFuZ2NoZWNrLnNlcW5vLAorCQkgIF9fZW50cnktPmhkLAorCQkgIF9fZW50 cnktPmhkLAorCQkgIChsb25nIHVuc2lnbmVkIGludCkgX19lbnRyeS0+YWN0aGQsCisJCSAgX19l bnRyeS0+ZW5naW5lLT5oYW5nY2hlY2suc2NvcmUsCisJCSAgKF9fZW50cnktPmVuZ2luZS0+aGFu Z2NoZWNrLnNjb3JlID49IEhBTkdDSEVDS19TQ09SRV9SSU5HX0hVTkcpID8gIiBbSFVOR10iIDog IiIsCisJCSAgKHVuc2lnbmVkIGludCkgX19lbnRyeS0+ZW5naW5lLT5oYW5nY2hlY2suYWN0aW9u LAorCQkgIGhhbmdjaGVja19hY3Rpb25fdG9fc3RyKF9fZW50cnktPmVuZ2luZS0+aGFuZ2NoZWNr LmFjdGlvbiksCisJCSAgX19lbnRyeS0+YnVzeSA/ICJ5ZXMiIDogIm5vIikKKyk7CisKKy8qKgor ICogRE9DOiBpOTE1X3Rkcl9pbmNvbnNpc3RlbmN5CisgKgorICogVGhpcyB0cmFjZXBvaW50IHRy YWNrcyBkZXRlY3RlZCBpbmNvbnNpc3RlbmNpZXMKKyAqLworVFJBQ0VfRVZFTlQoaTkxNV90ZHJf aW5jb25zaXN0ZW5jeSwKKwlUUF9QUk9UTyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs CisJCSB1MzIgaHdfY29udGV4dCwKKwkJIGJvb2wgaHdfYWN0aXZlLAorCQkgdTMyIHN3X2NvbnRl eHQsCisJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSksCisKKwlUUF9BUkdTKGVu Z2luZSwgaHdfY29udGV4dCwgaHdfYWN0aXZlLCBzd19jb250ZXh0LCByZXEpLAorCisJVFBfU1RS VUNUX19lbnRyeSgKKwkJCV9fZmllbGQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqLCBlbmdpbmUp CisJCQlfX2ZpZWxkKHUzMiwgaHdfY29udGV4dCkKKwkJCV9fZmllbGQoYm9vbCwgaHdfYWN0aXZl KQorCQkJX19maWVsZCh1MzIsIHN3X2NvbnRleHQpCisJCQlfX2ZpZWxkKGludCwgZWxzcF9zdWJt aXR0ZWQpCisJKSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQkJX19lbnRyeS0+ZW5naW5lID0gZW5n aW5lOworCQkJX19lbnRyeS0+aHdfY29udGV4dCA9IGh3X2NvbnRleHQ7CisJCQlfX2VudHJ5LT5o d19hY3RpdmUgPSBod19hY3RpdmU7CisJCQlfX2VudHJ5LT5zd19jb250ZXh0ID0gc3dfY29udGV4 dDsKKwkJCV9fZW50cnktPmVsc3Bfc3VibWl0dGVkID0gcmVxP3JlcS0+ZWxzcF9zdWJtaXR0ZWQ6 MDsKKwkpLAorCisJVFBfcHJpbnRrKCJkZXY9JXUsIGVuZ2luZT0lcywgaHdfY29udGV4dD0leCwg aHdfYWN0aXZlPSVzLCBzd19jb250ZXh0PSV4LCBlbHNwX3N1Ym1pdHRlZD0lZCIsCisJCSAgX19l bnRyeS0+ZW5naW5lLT5kZXYtPnByaW1hcnktPmluZGV4LAorCQkgIF9fZW50cnktPmVuZ2luZS0+ bmFtZSwKKwkJICBfX2VudHJ5LT5od19jb250ZXh0LAorCQkgIF9fZW50cnktPmh3X2FjdGl2ZT8i dHJ1ZSI6ImZhbHNlIiwKKwkJICBfX2VudHJ5LT5zd19jb250ZXh0LAorCQkgIF9fZW50cnktPmVs c3Bfc3VibWl0dGVkKQorKTsKKwogI2VuZGlmIC8qIF9JOTE1X1RSQUNFX0hfICovCiAKIC8qIFRo aXMgcGFydCBtdXN0IGJlIG91dHNpZGUgcHJvdGVjdGlvbiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwppbmRleCA1YmI3ZDZlLi45NmY1YTI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpA QCAtMjI4NSw3ICsyMjg1LDcgQEAgZ2VuOF9yaW5nX3NhdmUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJc3RydWN0IGludGVs X2NvbnRleHQgKmN0eDsKIAlpbnQgcmV0ID0gMDsKIAlpbnQgY2xhbXBfdG9fdGFpbCA9IDA7Ci0J dWludDMyX3QgaGVhZDsKKwl1aW50MzJfdCBoZWFkLCBvbGRfaGVhZDsKIAl1aW50MzJfdCB0YWls OwogCXVpbnQzMl90IGhlYWRfYWRkcjsKIAl1aW50MzJfdCB0YWlsX2FkZHI7CkBAIC0yMzAwLDcg KzIzMDAsNyBAQCBnZW44X3Jpbmdfc2F2ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkgKiBSZWFkIGhlYWQgZnJvbSBNTUlP IHJlZ2lzdGVyIHNpbmNlIGl0IGNvbnRhaW5zIHRoZQogCSAqIG1vc3QgdXAgdG8gZGF0ZSB2YWx1 ZSBvZiBoZWFkIGF0IHRoaXMgcG9pbnQuCiAJICovCi0JaGVhZCA9IEk5MTVfUkVBRF9IRUFEKHJp bmcpOworCW9sZF9oZWFkID0gaGVhZCA9IEk5MTVfUkVBRF9IRUFEKHJpbmcpOwogCiAJLyoKIAkg KiBSZWFkIHRhaWwgZnJvbSB0aGUgY29udGV4dCBiZWNhdXNlIHRoZSBleGVjbGlzdCBxdWV1ZQpA QCAtMjM1Nyw2ICsyMzU3LDkgQEAgZ2VuOF9yaW5nX3NhdmUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJaGVhZCB8PSAoaGVh ZF9hZGRyICYgSEVBRF9BRERSKTsKIAlyaW5nLT5zYXZlZF9oZWFkID0gaGVhZDsKIAorCXRyYWNl X2k5MTVfdGRyX2VuZ2luZV9zYXZlKHJpbmcsIG9sZF9oZWFkLAorCQloZWFkLCBmb3JjZV9hZHZh bmNlKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0zMjY0LDYgKzMyNjcsMTkgQEAgaW50ZWxfZXhl Y2xpc3RzX1REUl9nZXRfY3VycmVudF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJCQlDT05URVhUX1NVQk1JU1NJT05fU1RBVFVTX05PTkVfU1VCTUlUVEVEOwogCX0KIAor CS8qCisJICogVGhpcyBtYXkgb3IgbWF5IG5vdCBiZSBhIHN1c3RhaW5lZCBpbmNvbnNpc3RlbmN5 LiBNb3N0IG9mIHRoZSB0aW1lCisJICogaXQncyBvbmx5IGEgbWF0dGVyIG9mIGEgdHJhbnNpdG9y eSBpbmNvbnNpc3RlbmN5IGR1cmluZyBjb250ZXh0CisJICogc3VibWlzc2lvbi9jb21wbGV0aW9u IGJ1dCBpZiB3ZSBoYXBwZW4gdG8gZGV0ZWN0IGEgc3VzdGFpbmVkCisJICogaW5jb25zaXN0ZW5j eSB0aGVuIGl0IGhlbHBzIHRvIGhhdmUgbW9yZSBpbmZvcm1hdGlvbi4KKwkgKi8KKwlpZiAoc3Rh dHVzID09IENPTlRFWFRfU1VCTUlTU0lPTl9TVEFUVVNfSU5DT05TSVNURU5UKQorCQl0cmFjZV9p OTE1X3Rkcl9pbmNvbnNpc3RlbmN5KHJpbmcsCisJCQkJCSAgICAgaHdfY29udGV4dCwKKwkJCQkJ ICAgICBod19hY3RpdmUsCisJCQkJCSAgICAgc3dfY29udGV4dCwKKwkJCQkJICAgICB0bXByZXEp OworCiAJaWYgKHJlcSkKIAkJKnJlcSA9IHRtcHJlcTsKIApAQCAtMzMyOCw2ICszMzQ0LDcgQEAg Ym9vbCBpbnRlbF9leGVjbGlzdHNfVERSX2ZvcmNlX0NTQl9jaGVjayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPmV4 ZWNsaXN0X2xvY2ssIGZsYWdzKTsKIAorCXRyYWNlX2k5MTVfdGRyX2ZvcmNlZF9jc2JfY2hlY2so ZW5naW5lLCAhIXdhc19lZmZlY3RpdmUpOwogCXdha2VfdXBfYWxsKCZlbmdpbmUtPmlycV9xdWV1 ZSk7CiAKIAlyZXR1cm4gISF3YXNfZWZmZWN0aXZlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuYwppbmRleCA0MDBiNjc5Li42MjVlZGE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuYwpAQCAtMTQ2NCw2ICsxNDY0LDggQEAgc3RhdGljIGludCBnZW42X2RvX3Jlc2V0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJLyogU3BpbiB3YWl0aW5nIGZvciB0aGUgZGV2aWNlIHRvIGFj ayB0aGUgcmVzZXQgcmVxdWVzdCAqLwogCXJldCA9IHdhaXRfZm9yKChfX3Jhd19pOTE1X3JlYWQz MihkZXZfcHJpdiwgR0VONl9HRFJTVCkgJiBHRU42X0dSRE9NX0ZVTEwpID09IDAsIDUwMCk7CiAK Kwl0cmFjZV9pOTE1X3Rkcl9ncHVfcmVzZXRfY29tcGxldGUoZGV2KTsKKwogCWludGVsX3VuY29y ZV9mb3JjZXdha2VfcmVzZXQoZGV2LCB0cnVlKTsKIAogCXJldHVybiByZXQ7CkBAIC0xNjIwLDYg KzE2MjIsOCBAQCBzdGF0aWMgaW50IGRvX2VuZ2luZV9yZXNldF9ub2xvY2soc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQogCQlicmVhazsKIAl9CiAKKwl0cmFjZV9pOTE1X3Rkcl9lbmdp bmVfcmVzZXRfY29tcGxldGUoZW5naW5lKTsKKwogCXJldHVybiByZXQ7CiB9CiAKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=