From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [i-g-t PATCH 04/10] tools/intel_vbt_decode: start migrating to kernel intel_vbt_defs.h Date: Mon, 28 Aug 2017 15:19:56 +0300 Message-ID: References: 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 ESMTPS id E76DD6E2C9 for ; Mon, 28 Aug 2017 12:20:36 +0000 (UTC) In-Reply-To: In-Reply-To: References: 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: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org Q29weSBvdmVyIG1vc3Qgb2YgaW50ZWxfdmJ0X2RlZnMuaCwgYW5kIHVzZSBldmVyeXRoaW5nIHRo YXQgbWF0Y2hlcyB3aXRoCm1pbm9yIGNoYW5nZXMgZnJvbSB0aGVyZS4KClNpZ25lZC1vZmYtYnk6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Ci0tLQogdG9vbHMvaW50ZWxfYmlv cy5oICAgICAgIHwgMzA1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMvaW50ZWxfdmJ0X2Rl Y29kZS5jIHwgIDIwICstCiB0b29scy9pbnRlbF92YnRfZGVmcy5oICAgfCA3MDEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwg NzE1IGluc2VydGlvbnMoKyksIDMxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0 b29scy9pbnRlbF92YnRfZGVmcy5oCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaW50ZWxfYmlvcy5oIGIv dG9vbHMvaW50ZWxfYmlvcy5oCmluZGV4IDY5ZDhhYTZkN2ZlOS4uNjVlNjRjY2I0MWVmIDEwMDY0 NAotLS0gYS90b29scy9pbnRlbF9iaW9zLmgKKysrIGIvdG9vbHMvaW50ZWxfYmlvcy5oCkBAIC0z MCwxMDggKzMwLDYgQEAKIAogI2luY2x1ZGUgPHN0ZGludC5oPgogCi0KLXN0cnVjdCB2YnRfaGVh ZGVyIHsKLQljaGFyIHNpZ25hdHVyZVsyMF07CQkvKio8IEFsd2F5cyBzdGFydHMgd2l0aCAnVkJU JCcgKi8KLQl1aW50MTZfdCB2ZXJzaW9uOwkJLyoqPCBkZWNpbWFsICovCi0JdWludDE2X3QgaGVh ZGVyX3NpemU7CQkvKio8IGluIGJ5dGVzICovCi0JdWludDE2X3QgdmJ0X3NpemU7CQkvKio8IGlu IGJ5dGVzICovCi0JdWludDhfdCB2YnRfY2hlY2tzdW07Ci0JdWludDhfdCByZXNlcnZlZDA7Ci0J dWludDMyX3QgYmRiX29mZnNldDsJCS8qKjwgZnJvbSBiZWdpbm5pbmcgb2YgVkJUICovCi0JdWlu dDMyX3QgYWltX29mZnNldFs0XTsJCS8qKjwgZnJvbSBiZWdpbm5pbmcgb2YgVkJUICovCi19IF9f YXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotc3RydWN0IGJkYl9oZWFkZXIgewotCWNoYXIgc2ln bmF0dXJlWzE2XTsJCS8qKjwgQWx3YXlzICdCSU9TX0RBVEFfQkxPQ0snICovCi0JdWludDE2X3Qg dmVyc2lvbjsJCS8qKjwgZGVjaW1hbCAqLwotCXVpbnQxNl90IGhlYWRlcl9zaXplOwkJLyoqPCBp biBieXRlcyAqLwotCXVpbnQxNl90IGJkYl9zaXplOwkJLyoqPCBpbiBieXRlcyAqLwotfSBfX2F0 dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLS8qCi0gKiBUaGVyZSBhcmUgc2V2ZXJhbCB0eXBlcyBv ZiBCSU9TIGRhdGEgYmxvY2tzIChCREJzKSwgZWFjaCBibG9jayBoYXMKLSAqIGFuIElEIGFuZCBz aXplIGluIHRoZSBmaXJzdCAzIGJ5dGVzIChJRCBpbiBmaXJzdCwgc2l6ZSBpbiBuZXh0IDIpLgot ICogS25vd24gdHlwZXMgYXJlIGxpc3RlZCBiZWxvdy4KLSAqLwotI2RlZmluZSBCREJfR0VORVJB TF9GRUFUVVJFUwkgIDEKLSNkZWZpbmUgQkRCX0dFTkVSQUxfREVGSU5JVElPTlMJICAyCi0jZGVm aW5lIEJEQl9PTERfVE9HR0xFX0xJU1QJICAzCi0jZGVmaW5lIEJEQl9NT0RFX1NVUFBPUlRfTElT VAkgIDQKLSNkZWZpbmUgQkRCX0dFTkVSSUNfTU9ERV9UQUJMRQkgIDUKLSNkZWZpbmUgQkRCX0VY VF9NTUlPX1JFR1MJICA2Ci0jZGVmaW5lIEJEQl9TV0ZfSU8JCSAgNwotI2RlZmluZSBCREJfU1dG X01NSU8JCSAgOAotI2RlZmluZSBCREJfRE9UX0NMT0NLX1RBQkxFCSAgOQotI2RlZmluZSBCREJf UFNSCQkJICA5Ci0jZGVmaW5lIEJEQl9NT0RFX1JFTU9WQUxfVEFCTEUJIDEwCi0jZGVmaW5lIEJE Ql9DSElMRF9ERVZJQ0VfVEFCTEUJIDExCi0jZGVmaW5lIEJEQl9EUklWRVJfRkVBVFVSRVMJIDEy Ci0jZGVmaW5lIEJEQl9EUklWRVJfUEVSU0lTVEVOQ0UJIDEzCi0jZGVmaW5lIEJEQl9FWFRfVEFC TEVfUFRSUwkgMTQKLSNkZWZpbmUgQkRCX0RPVF9DTE9DS19PVkVSUklERQkgMTUKLSNkZWZpbmUg QkRCX0RJU1BMQVlfU0VMRUNUCSAxNgotLyogMTcgcnN2ZCAqLwotI2RlZmluZSBCREJfRFJJVkVS X1JPVEFUSU9OCSAxOAotI2RlZmluZSBCREJfRElTUExBWV9SRU1PVkUJIDE5Ci0jZGVmaW5lIEJE Ql9PRU1fQ1VTVE9NCQkgMjAKLSNkZWZpbmUgQkRCX0VGUF9MSVNUCQkgMjEJLyogd29ya2Fyb3Vu ZHMgZm9yIFZHQSBoc3luYy92c3luYyAqLwotI2RlZmluZSBCREJfU0RWT19MVkRTX09QVElPTlMJ IDIyCi0jZGVmaW5lIEJEQl9TRFZPX1BBTkVMX0RURFMJIDIzCi0jZGVmaW5lIEJEQl9TRFZPX0xW RFNfUE5QX0lEUwkgMjQKLSNkZWZpbmUgQkRCX1NEVk9fTFZEU19QT1dFUl9TRVEJIDI1Ci0jZGVm aW5lIEJEQl9UVl9PUFRJT05TCQkgMjYKLSNkZWZpbmUgQkRCX0VEUAkJCSAyNwotI2RlZmluZSBC REJfTFZEU19PUFRJT05TCSA0MAotI2RlZmluZSBCREJfTFZEU19MRlBfREFUQV9QVFJTCSA0MQot I2RlZmluZSBCREJfTFZEU19MRlBfREFUQQkgNDIKLSNkZWZpbmUgQkRCX0xWRFNfQkFDS0xJR0hU CSA0MwotI2RlZmluZSBCREJfTFZEU19QT1dFUgkJIDQ0Ci0jZGVmaW5lIEJEQl9NSVBJX0NPTkZJ RwkJIDUyCi0jZGVmaW5lIEJEQl9NSVBJX1NFUVVFTkNFCSA1MwotI2RlZmluZSBCREJfU0tJUAkJ MjU0CS8qIFZCSU9TIHByaXZhdGUgYmxvY2ssIGlnbm9yZSAqLwotCi1zdHJ1Y3QgYmRiX2dlbmVy YWxfZmVhdHVyZXMgewotCS8qIGJpdHMgMSAqLwotCXVuc2lnbmVkIGNoYXIgcGFuZWxfZml0dGlu ZzoyOwotCXVuc2lnbmVkIGNoYXIgZmxleGFpbToxOwotCXVuc2lnbmVkIGNoYXIgbXNnX2VuYWJs ZToxOwotCXVuc2lnbmVkIGNoYXIgY2xlYXJfc2NyZWVuOjM7Ci0JdW5zaWduZWQgY2hhciBjb2xv cl9mbGlwOjE7Ci0KLQkvKiBiaXRzIDIgKi8KLQl1bnNpZ25lZCBjaGFyIGRvd25sb2FkX2V4dF92 YnQ6MTsKLQl1bnNpZ25lZCBjaGFyIGVuYWJsZV9zc2M6MTsKLQl1bnNpZ25lZCBjaGFyIHNzY19m cmVxOjE7Ci0JdW5zaWduZWQgY2hhciBlbmFibGVfbGZwX29uX292ZXJyaWRlOjE7Ci0JdW5zaWdu ZWQgY2hhciBkaXNhYmxlX3NzY19kZHQ6MTsKLQl1bnNpZ25lZCBjaGFyIHVuZGVyc2Nhbl92Z2Ff dGltaW5nczoxOwotCXVuc2lnbmVkIGNoYXIgZHluYW1pY19jZGNsazoxOyAvKiAxODMgKi8KLQl1 bnNpZ25lZCBjaGFyIHZiaW9zX2hvdHBsdWdfc3VwcG9ydDoxOwotCi0JLyogYml0cyAzICovCi0J dW5zaWduZWQgY2hhciBkaXNhYmxlX3Ntb290aF92aXNpb246MTsKLQl1bnNpZ25lZCBjaGFyIHNp bmdsZV9kdmk6MTsKLQl1bnNpZ25lZCBjaGFyIHJvdGF0ZV8xODA6MTsgLyogMTgxICovCi0JdW5z aWduZWQgY2hhciBmZGlfcnhfcG9sYXJpdHk6MTsKLQl1bnNpZ25lZCBjaGFyIHZiaW9zX2V4dGVu ZGVkX21vZGU6MTsgLyogMTYwICovCi0JdW5zaWduZWQgY2hhciBjb3B5X2lsZnBfZHRkX3RvX3Nk dm9fbHZkc19kdGQ6MTsgLyogMTYwICovCi0JdW5zaWduZWQgY2hhciBwYW5lbF9iZXN0X2ZpdF90 aW1pbmc6MTsgLyogMTYwICovCi0JdW5zaWduZWQgY2hhciBpZ25vcmVfc3RyYXBfc3RhdGU6MTsg LyogMTYwICovCi0KLQkvKiBiaXRzIDQgKi8KLQl1bnNpZ25lZCBjaGFyIGxlZ2FjeV9tb25pdG9y X2RldGVjdDsKLQotCS8qIGJpdHMgNSAqLwotCXVuc2lnbmVkIGNoYXIgaW50X2NydF9zdXBwb3J0 OjE7Ci0JdW5zaWduZWQgY2hhciBpbnRfdHZfc3VwcG9ydDoxOwotCXVuc2lnbmVkIGNoYXIgaW50 X2VmcF9zdXBwb3J0OjE7Ci0JdW5zaWduZWQgY2hhciBkcF9zc2NfZW5hYmxlOjE7Ci0JdW5zaWdu ZWQgY2hhciBkcF9zc2NfZnJlcToxOwotCXVuc2lnbmVkIGNoYXIgZHBfc3NjX2RvbmdsZV9zdXBw b3J0ZWQ6MTsKLQl1bnNpZ25lZCBjaGFyIHJzdmQxMToyOwkvKiBmaW5pc2ggYnl0ZSAqLwotfSBf X2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KICNkZWZpbmUgREVWSUNFX0hBTkRMRV9DUlQJMHgw MQogI2RlZmluZSBERVZJQ0VfSEFORExFX0VGUDEJMHgwNAogI2RlZmluZSBERVZJQ0VfSEFORExF X0VGUDIJMHg0MApAQCAtMTU4LDQzICs1Niw4IEBAIHN0cnVjdCBiZGJfZ2VuZXJhbF9mZWF0dXJl cyB7CiAjZGVmaW5lIERFVklDRV9UWVBFX0RJR0lUQUxfT1VUUFVUCTEKICNkZWZpbmUgREVWSUNF X1RZUEVfQU5BTE9HX09VVFBVVAkwCiAKLS8qIFByZSA5MTUgKi8KLSNkZWZpbmUgREVWSUNFX1RZ UEVfTk9ORQkweDAwCi0jZGVmaW5lIERFVklDRV9UWVBFX0NSVAkJMHgwMQotI2RlZmluZSBERVZJ Q0VfVFlQRV9UVgkJMHgwOQotI2RlZmluZSBERVZJQ0VfVFlQRV9FRlAJCTB4MTIKLSNkZWZpbmUg REVWSUNFX1RZUEVfTEZQCQkweDIyCi0vKiBPbiA5MTUrICovCi0jZGVmaW5lIERFVklDRV9UWVBF X0NSVF9EUE1TCQkweDYwMDEKLSNkZWZpbmUgREVWSUNFX1RZUEVfQ1JUX0RQTVNfSE9UUExVRwkw eDQwMDEKLSNkZWZpbmUgREVWSUNFX1RZUEVfVFZfQ09NUE9TSVRFCTB4MDIwOQotI2RlZmluZSBE RVZJQ0VfVFlQRV9UVl9NQUNST1ZJU0lPTgkweDAyODkKLSNkZWZpbmUgREVWSUNFX1RZUEVfVFZf UkZfQ09NUE9TSVRFCTB4MDIwYwotI2RlZmluZSBERVZJQ0VfVFlQRV9UVl9TVklERU9fQ09NUE9T SVRFCTB4MDYwOQotI2RlZmluZSBERVZJQ0VfVFlQRV9UVl9TQ0FSVAkJMHgwMjA5Ci0jZGVmaW5l IERFVklDRV9UWVBFX1RWX0NPREVDX0hPVFBMVUdfUFdSIDB4NjAwOQotI2RlZmluZSBERVZJQ0Vf VFlQRV9FRlBfSE9UUExVR19QV1IJMHg2MDEyCi0jZGVmaW5lIERFVklDRV9UWVBFX0VGUF9EVklf SE9UUExVR19QV1IJMHg2MDUyCi0jZGVmaW5lIERFVklDRV9UWVBFX0VGUF9EVklfSQkJMHg2MDUz Ci0jZGVmaW5lIERFVklDRV9UWVBFX0VGUF9EVklfRF9EVUFMCTB4NjE1MgotI2RlZmluZSBERVZJ Q0VfVFlQRV9FRlBfRFZJX0RfSERDUAkweDYwZDIKLSNkZWZpbmUgREVWSUNFX1RZUEVfT1BFTkxE SV9IT1RQTFVHX1BXUgkweDYwNjIKLSNkZWZpbmUgREVWSUNFX1RZUEVfT1BFTkxESV9EVUFMUElY CTB4NjE2MgotI2RlZmluZSBERVZJQ0VfVFlQRV9MRlBfUEFORUxMSU5LCTB4NTAxMgotI2RlZmlu ZSBERVZJQ0VfVFlQRV9MRlBfQ01PU19QV1IJMHg1MDQyCi0jZGVmaW5lIERFVklDRV9UWVBFX0xG UF9MVkRTX1BXUgkweDUwNjIKLSNkZWZpbmUgREVWSUNFX1RZUEVfTEZQX0xWRFNfRFVBTAkweDUx NjIKLSNkZWZpbmUgREVWSUNFX1RZUEVfTEZQX0xWRFNfRFVBTF9IRENQCTB4NTFlMgotI2RlZmlu ZSBERVZJQ0VfVFlQRV9JTlRfSERNSQkJMHhmMEQyCi0KLSNkZWZpbmUgREVWSUNFX1RZUEVfSU5U X0xGUAkJMHgxMDIyCi0jZGVmaW5lIERFVklDRV9UWVBFX0lOVF9UVgkJMHgxMDA5Ci0jZGVmaW5l IERFVklDRV9UWVBFX0RQCQkJMHg2OEM2Ci0jZGVmaW5lIERFVklDRV9UWVBFX0RQX0hETUlfRFZJ CQkweDYwZDYKICNkZWZpbmUgREVWSUNFX1RZUEVfRFBfRFZJCQkweDY4ZDYKLSNkZWZpbmUgREVW SUNFX1RZUEVfSERNSV9EVkkJCTB4NjBkMgogI2RlZmluZSBERVZJQ0VfVFlQRV9EVkkJCQkweDY4 ZDIKLSNkZWZpbmUgREVWSUNFX1RZUEVfZURQCQkJMHg3OEM2CiAjZGVmaW5lIERFVklDRV9UWVBF X01JUEkJCTB4N2NjMgogCiAjZGVmaW5lIERFVklDRV9QT1JUX0RWT0EJMHgwMAkvKiBub25lIG9u IDg0NSsgKi8KQEAgLTI4NSwzMSArMTQ4LDYgQEAgc3RydWN0IGVmcF9jaGlsZF9kZXZpY2VfY29u ZmlnIHsKIAl1aW50OF90IGlib29zdF9oZG1pOjQ7IC8qIDE5NiAqLwogfSBfX2F0dHJpYnV0ZV9f ICgocGFja2VkKSk7CiAKLXN0cnVjdCBiZGJfZ2VuZXJhbF9kZWZpbml0aW9ucyB7Ci0JdW5zaWdu ZWQgY2hhciBjcnRfZGRjX2dtYnVzX3BpbjsJLyogc2VlIEdQSU9fUElOXyogYWJvdmUgKi8KLQot CS8qIERQTVMgYml0cyAqLwotCXVuc2lnbmVkIGNoYXIgZHBtc19hY3BpOjE7Ci0JdW5zaWduZWQg Y2hhciBza2lwX2Jvb3RfY3J0X2RldGVjdDoxOwotCXVuc2lnbmVkIGNoYXIgZHBtc19haW06MTsK LQl1bnNpZ25lZCBjaGFyIHJzdmQxOjU7CS8qIGZpbmlzaCBieXRlICovCi0KLQkvKiBib290IGRl dmljZSBiaXRzICovCi0JdW5zaWduZWQgY2hhciBib290X2Rpc3BsYXlbMl07Ci0JdW5zaWduZWQg Y2hhciBjaGlsZF9kZXZfc2l6ZTsKLQotCS8qCi0JICogRGV2aWNlIGluZm86Ci0JICogSWYgVFYg aXMgcHJlc2VudCwgaXQnbGwgYmUgYXQgZGV2aWNlc1swXQotCSAqIExWRFMgd2lsbCBiZSBuZXh0 LCBlaXRoZXIgZGV2aWNlc1swXSBvciBbMV0sIGlmIHByZXNlbnQKLQkgKiBNYXggdG90YWwgd2ls bCBiZSA2LCBidXQgY291bGQgYmUgYXMgZmV3IGFzIDQgaWYgYm90aAotCSAqIFRWIGFuZCBMVkRT IGFyZSBtaXNzaW5nLCBzbyBiZSBjYXJlZnVsIHdoZW4gaW50ZXJwcmV0aW5nCi0JICogWzRdIGFu ZCBbNV0uCi0JICovCi0JdWludDhfdCBkZXZpY2VzWzBdOwotCS8qIG1heSBiZSBhbm90aGVyIGRl dmljZSBibG9jayBoZXJlIG9uIHNvbWUgcGxhdGZvcm1zICovCi19IF9fYXR0cmlidXRlX18gKChw YWNrZWQpKTsKLQogI2RlZmluZSBERVZJQ0VfQ0hJTERfU0laRSA3CiAKIHN0cnVjdCBiZGJfY2hp bGRfZGV2aWNlcyB7CkBAIC0zMTcsMzYgKzE1NSw2IEBAIHN0cnVjdCBiZGJfY2hpbGRfZGV2aWNl cyB7CiAJc3RydWN0IGNoaWxkX2RldmljZV9jb25maWcgY2hpbGRyZW5bREVWSUNFX0NISUxEX1NJ WkVdOwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKLXN0cnVjdCBiZGJfbHZkc19vcHRp b25zIHsKLQl1aW50OF90IHBhbmVsX3R5cGU7Ci0JdWludDhfdCByc3ZkMTsKLQkvKiBMVkRTIGNh cGFiaWxpdGllcywgc3RvcmVkIGluIGEgZHdvcmQgKi8KLQl1aW50OF90IHBmaXRfbW9kZToyOwot CXVpbnQ4X3QgcGZpdF90ZXh0X21vZGVfZW5oYW5jZWQ6MTsKLQl1aW50OF90IHBmaXRfZ2Z4X21v ZGVfZW5oYW5jZWQ6MTsKLQl1aW50OF90IHBmaXRfcmF0aW9fYXV0bzoxOwotCXVpbnQ4X3QgcGl4 ZWxfZGl0aGVyOjE7Ci0JdWludDhfdCBsdmRzX2VkaWQ6MTsKLQl1aW50OF90IHJzdmQyOjE7Ci0J dWludDhfdCByc3ZkNDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi1zdHJ1Y3QgbHZk c19mcF90aW1pbmcgewotCXVpbnQxNl90IHhfcmVzOwotCXVpbnQxNl90IHlfcmVzOwotCXVpbnQz Ml90IGx2ZHNfcmVnOwotCXVpbnQzMl90IGx2ZHNfcmVnX3ZhbDsKLQl1aW50MzJfdCBwcF9vbl9y ZWc7Ci0JdWludDMyX3QgcHBfb25fcmVnX3ZhbDsKLQl1aW50MzJfdCBwcF9vZmZfcmVnOwotCXVp bnQzMl90IHBwX29mZl9yZWdfdmFsOwotCXVpbnQzMl90IHBwX2N5Y2xlX3JlZzsKLQl1aW50MzJf dCBwcF9jeWNsZV9yZWdfdmFsOwotCXVpbnQzMl90IHBmaXRfcmVnOwotCXVpbnQzMl90IHBmaXRf cmVnX3ZhbDsKLQl1aW50MTZfdCB0ZXJtaW5hdG9yOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2Vk KSk7Ci0KIHN0cnVjdCBsdmRzX2R2b190aW1pbmcgewogCXVpbnQxNl90IGNsb2NrOwkJLyoqPCBJ biAxMGtoeiAqLwogCXVpbnQ4X3QgaGFjdGl2ZV9sbzsKQEAgLTM3NSwzOSArMTgzLDYgQEAgc3Ry dWN0IGx2ZHNfZHZvX3RpbWluZyB7CiAJdWludDhfdCByc3ZkMjoxOwogfSBfX2F0dHJpYnV0ZV9f KChwYWNrZWQpKTsKIAotc3RydWN0IGx2ZHNfcG5wX2lkIHsKLQl1aW50MTZfdCBtZmdfbmFtZTsK LQl1aW50MTZfdCBwcm9kdWN0X2NvZGU7Ci0JdWludDMyX3Qgc2VyaWFsOwotCXVpbnQ4X3QgbWZn X3dlZWs7Ci0JdWludDhfdCBtZmdfeWVhcjsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOzsK LQotLyogTEZQIHBvaW50ZXIgdGFibGUgY29udGFpbnMgZW50cmllcyB0byB0aGUgc3RydWN0IGJl bG93ICovCi1zdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfcHRyIHsKLQl1aW50MTZfdCBmcF90aW1p bmdfb2Zmc2V0OwkvKiBvZmZzZXRzIGFyZSBmcm9tIHN0YXJ0IG9mIGJkYiAqLwotCXVpbnQ4X3Qg ZnBfdGFibGVfc2l6ZTsKLQl1aW50MTZfdCBkdm9fdGltaW5nX29mZnNldDsKLQl1aW50OF90IGR2 b190YWJsZV9zaXplOwotCXVpbnQxNl90IHBhbmVsX3BucF9pZF9vZmZzZXQ7Ci0JdWludDhfdCBw bnBfdGFibGVfc2l6ZTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi1zdHJ1Y3QgYmRi X2x2ZHNfbGZwX2RhdGFfcHRycyB7Ci0JdWludDhfdCBsdmRzX2VudHJpZXM7Ci0Jc3RydWN0IGJk Yl9sdmRzX2xmcF9kYXRhX3B0ciBwdHJbMTZdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7 Ci0KLXN0cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9lbnRyeSB7Ci0Jc3RydWN0IGx2ZHNfZnBfdGlt aW5nIGZwX3RpbWluZzsKLQlzdHJ1Y3QgbHZkc19kdm9fdGltaW5nIGR2b190aW1pbmc7Ci0Jc3Ry dWN0IGx2ZHNfcG5wX2lkIHBucF9pZDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi1z dHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGEgewotCXN0cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9lbnRy eSBkYXRhWzE2XTsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCiBzdHJ1Y3QgYmxjX3N0 cnVjdCB7CiAJdWludDhfdCBpbnZlcnRlcl90eXBlOjI7CiAJdWludDhfdCBpbnZlcnRlcl9wb2xh cml0eToxOwkvKiAxIG1lYW5zIGludmVydGVkICgwID0gbWF4IGJyaWdodG5lc3MpICovCkBAIC00 MjksNzUgKzIwNCw2IEBAIHN0cnVjdCBiZGJfbHZkc19iYWNrbGlnaHQgewogI2RlZmluZSBCREJf RFJJVkVSX1NEVk9fTFZEUwkyCiAjZGVmaW5lIEJEQl9EUklWRVJfRURQCQkzCiAKLXN0cnVjdCBi ZGJfZHJpdmVyX2ZlYXR1cmUgewotCXVpbnQ4X3QgYm9vdF9kZXZfYWxnb3JpdGhtOjE7Ci0JdWlu dDhfdCBibG9ja19kaXNwbGF5X3N3aXRjaDoxOwotCXVpbnQ4X3QgYWxsb3dfZGlzcGxheV9zd2l0 Y2g6MTsKLQl1aW50OF90IGhvdHBsdWdfZHZvOjE7Ci0JdWludDhfdCBkdWFsX3ZpZXdfem9vbTox OwotCXVpbnQ4X3QgaW50MTVoX2hvb2s6MTsKLQl1aW50OF90IHNwcml0ZV9pbl9jbG9uZToxOwot CXVpbnQ4X3QgcHJpbWFyeV9sZnBfaWQ6MTsKLQotCXVpbnQxNl90IGJvb3RfbW9kZV94OwotCXVp bnQxNl90IGJvb3RfbW9kZV95OwotCXVpbnQ4X3QgYm9vdF9tb2RlX2JwcDsKLQl1aW50OF90IGJv b3RfbW9kZV9yZWZyZXNoOwotCi0JdWludDE2X3QgZW5hYmxlX2xmcF9wcmltYXJ5OjE7Ci0JdWlu dDE2X3Qgc2VsZWN0aXZlX21vZGVfcHJ1bmluZzoxOwotCXVpbnQxNl90IGR1YWxfZnJlcXVlbmN5 OjE7Ci0JdWludDE2X3QgcmVuZGVyX2Nsb2NrX2ZyZXE6MTsJLyogMDogaGlnaCBmcmVxOyAxOiBs b3cgZnJlcSAqLwotCXVpbnQxNl90IG50X2Nsb25lX3N1cHBvcnQ6MTsKLQl1aW50MTZfdCBwb3dl cl9zY2hlbWVfdWk6MTsJLyogMDogQ1VJOyAxOiAzcmQgcGFydHkgKi8KLQl1aW50MTZfdCBzcHJp dGVfZGlzcGxheV9hc3NpZ246MTsJLyogMDogc2Vjb25kYXJ5OyAxOiBwcmltYXJ5ICovCi0JdWlu dDE2X3QgY3VpX2FzcGVjdF9zY2FsaW5nOjE7Ci0JdWludDE2X3QgcHJlc2VydmVfYXNwZWN0X3Jh dGlvOjE7Ci0JdWludDE2X3Qgc2R2b19kZXZpY2VfcG93ZXJfZG93bjoxOwotCXVpbnQxNl90IGNy dF9ob3RwbHVnOjE7Ci0JdWludDE2X3QgbHZkc19jb25maWc6MjsKLQl1aW50MTZfdCByZXNlcnZl ZDozOwotCi0JdWludDhfdCBzdGF0aWNfZGlzcGxheToxOwotCXVpbnQ4X3QgcmVzZXJ2ZWQyOjc7 Ci0JdWludDE2X3QgbGVnYWN5X2NydF9tYXhfeDsKLQl1aW50MTZfdCBsZWdhY3lfY3J0X21heF95 OwotCXVpbnQ4X3QgbGVnYWN5X2NydF9tYXhfcmVmcmVzaDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBh Y2tlZCkpOwotCi1zdHJ1Y3QgYmRiX3Nkdm9fbHZkc19vcHRpb25zIHsKLQl1aW50OF90IHBhbmVs X2JhY2tsaWdodDsKLQl1aW50OF90IGg0MF9zZXRfcGFuZWxfdHlwZTsKLQl1aW50OF90IHBhbmVs X3R5cGU7Ci0JdWludDhfdCBzc2NfY2xrX2ZyZXE7Ci0JdWludDE2X3QgYWxzX2xvd190cmlwOwot CXVpbnQxNl90IGFsc19oaWdoX3RyaXA7Ci0JdWludDhfdCBzY2xhbGFyY29lZmZfdGFiX3Jvd19u dW07Ci0JdWludDhfdCBzY2xhbGFyY29lZmZfdGFiX3Jvd19zaXplOwotCXVpbnQ4X3QgY29lZmZp Y2llbnRbOF07Ci0JdWludDhfdCBwYW5lbF9taXNjX2JpdHNfMTsKLQl1aW50OF90IHBhbmVsX21p c2NfYml0c18yOwotCXVpbnQ4X3QgcGFuZWxfbWlzY19iaXRzXzM7Ci0JdWludDhfdCBwYW5lbF9t aXNjX2JpdHNfNDsKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0jZGVmaW5lIEVEUF8x OEJQUAkwCi0jZGVmaW5lIEVEUF8yNEJQUAkxCi0jZGVmaW5lIEVEUF8zMEJQUAkyCi0jZGVmaW5l IEVEUF9SQVRFXzFfNjIgIDAKLSNkZWZpbmUgRURQX1JBVEVfMl83ICAgMQotI2RlZmluZSBFRFBf TEFORV8xICAgICAwCi0jZGVmaW5lIEVEUF9MQU5FXzIgICAgIDEKLSNkZWZpbmUgRURQX0xBTkVf NCAgICAgMwotI2RlZmluZSBFRFBfUFJFRU1QSEFTSVNfTk9ORSAgIDAKLSNkZWZpbmUgRURQX1BS RUVNUEhBU0lTXzNfNWRCICAxCi0jZGVmaW5lIEVEUF9QUkVFTVBIQVNJU182ZEIgICAgMgotI2Rl ZmluZSBFRFBfUFJFRU1QSEFTSVNfOV81ZEIgIDMKLSNkZWZpbmUgRURQX1ZTV0lOR18wXzRWICAg ICAgICAgICAgICAgIDAKLSNkZWZpbmUgRURQX1ZTV0lOR18wXzZWICAgICAgICAgICAgICAgIDEK LSNkZWZpbmUgRURQX1ZTV0lOR18wXzhWICAgICAgICAgICAgICAgIDIKLSNkZWZpbmUgRURQX1ZT V0lOR18xXzJWICAgICAgICAgICAgICAgIDMKLQogc3RydWN0IGVkcF9wb3dlcl9zZXEgewogCXVp bnQxNl90IHQzOwogCXVpbnQxNl90IHQ3OwpAQCAtNjc5LDE3ICszODUsNiBAQCBzdHJ1Y3QgbWlw aV9wcHNfZGF0YSB7CiAJdWludDE2X3QgcGFuZWxfcG93ZXJfY3ljbGVfZGVsYXk7CiB9IF9fYXR0 cmlidXRlX18gKChwYWNrZWQpKTsKIAotc3RydWN0IGJkYl9taXBpX2NvbmZpZyB7Ci0Jc3RydWN0 IG1pcGlfY29uZmlnIGNvbmZpZ1tNQVhfTUlQSV9DT05GSUdVUkFUSU9OU107Ci0Jc3RydWN0IG1p cGlfcHBzX2RhdGEgcHBzW01BWF9NSVBJX0NPTkZJR1VSQVRJT05TXTsKLX0gX19hdHRyaWJ1dGVf XyAoKHBhY2tlZCkpOwotCi0vKiB2YXJpYWJsZSBudW1iZXIgb2YgdGhlc2UgLSBtYXggNiAqLwot c3RydWN0IGJkYl9taXBpX3NlcXVlbmNlIHsKLQl1aW50OF90IHZlcnNpb247Ci0JdWludDhfdCBk YXRhWzBdOwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KIC8qIE1JUEkgU2VxdWVuY2Ug QmxvY2sgZGVmaW5pdGlvbnMgKi8KIGVudW0gbWlwaV9zZXEgewogCU1JUElfU0VRX0VORCA9IDAs CmRpZmYgLS1naXQgYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMgYi90b29scy9pbnRlbF92YnRf ZGVjb2RlLmMKaW5kZXggMGNmOTE4M2U0ZmNiLi44MzZhOTc4M2Q1NGUgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2ludGVsX3ZidF9kZWNvZGUuYworKysgYi90b29scy9pbnRlbF92YnRfZGVjb2RlLmMKQEAg LTM2LDExICszNiwxOSBAQAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CiAKLSNpbmNsdWRlICJpbnRlbF9iaW9zLmgiCiAjaW5jbHVkZSAiaW50ZWxfaW8uaCIK ICNpbmNsdWRlICJpbnRlbF9jaGlwc2V0LmgiCiAjaW5jbHVkZSAiZHJtdGVzdC5oIgogCisvKiBr ZXJuZWwgdHlwZXMgZm9yIGludGVsX3ZidF9kZWZzLmggKi8KK3R5cGVkZWYgdWludDhfdCB1ODsK K3R5cGVkZWYgdWludDE2X3QgdTE2OwordHlwZWRlZiB1aW50MzJfdCB1MzI7CisjZGVmaW5lIF9f cGFja2VkIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKQorCisjZGVmaW5lIF9JTlRFTF9CSU9TX1BS SVZBVEUKKyNpbmNsdWRlICJpbnRlbF92YnRfZGVmcy5oIgorCiAvKiBubyBib3RoZXIgdG8gaW5j bHVkZSAiZWRpZC5oIiAqLwogI2RlZmluZSBfSF9BQ1RJVkUoeCkgKHhbMl0gKyAoKHhbNF0gJiAw eEYwKSA8PCA0KSkKICNkZWZpbmUgX0hfU1lOQ19PRkYoeCkgKHhbOF0gKyAoKHhbMTFdICYgMHhD MCkgPDwgMikpCkBAIC0xNzUsNyArMTgzLDcgQEAgc3RhdGljIHZvaWQgZHVtcF9nZW5lcmFsX2Zl YXR1cmVzKHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCXByaW50ZigiXHRVbmRlcnNjYW4gc3Vw cG9ydCBmb3IgVkdBIHRpbWluZ3M6ICVzXG4iLAogCSAgICAgICBZRVNOTyhmZWF0dXJlcy0+dW5k ZXJzY2FuX3ZnYV90aW1pbmdzKSk7CiAJaWYgKGNvbnRleHQtPmJkYi0+dmVyc2lvbiA+PSAxODMp Ci0JCXByaW50ZigiXHREeW5hbWljIENEIGNsb2NrOiAlc1xuIiwgWUVTTk8oZmVhdHVyZXMtPmR5 bmFtaWNfY2RjbGspKTsKKwkJcHJpbnRmKCJcdER5bmFtaWMgQ0QgY2xvY2s6ICVzXG4iLCBZRVNO TyhmZWF0dXJlcy0+ZGlzcGxheV9jbG9ja19tb2RlKSk7CiAJcHJpbnRmKCJcdEhvdHBsdWcgc3Vw cG9ydCBpbiBWQklPUzogJXNcbiIsCiAJICAgICAgIFlFU05PKGZlYXR1cmVzLT52Ymlvc19ob3Rw bHVnX3N1cHBvcnQpKTsKIApAQCAtMTg0LDcgKzE5Miw3IEBAIHN0YXRpYyB2b2lkIGR1bXBfZ2Vu ZXJhbF9mZWF0dXJlcyhzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAlwcmludGYoIlx0U2luZ2xl IERWSSBmb3IgQ1JUL0RWSTogJXNcbiIsIFlFU05PKGZlYXR1cmVzLT5zaW5nbGVfZHZpKSk7CiAJ aWYgKGNvbnRleHQtPmJkYi0+dmVyc2lvbiA+PSAxODEpCiAJCXByaW50ZigiXHRFbmFibGUgMTgw IGRlZ3JlZSByb3RhdGlvbjogJXNcbiIsIFlFU05PKGZlYXR1cmVzLT5yb3RhdGVfMTgwKSk7Ci0J cHJpbnRmKCJcdEludmVydGVkIEZESSBSeCBwb2xhcml0eTogJXNcbiIsIFlFU05PKGZlYXR1cmVz LT5mZGlfcnhfcG9sYXJpdHkpKTsKKwlwcmludGYoIlx0SW52ZXJ0ZWQgRkRJIFJ4IHBvbGFyaXR5 OiAlc1xuIiwgWUVTTk8oZmVhdHVyZXMtPmZkaV9yeF9wb2xhcml0eV9pbnZlcnRlZCkpOwogCWlm IChjb250ZXh0LT5iZGItPnZlcnNpb24gPj0gMTYwKSB7CiAJCXByaW50ZigiXHRFeHRlbmRlZCBW QklPUyBtb2RlOiAlc1xuIiwgWUVTTk8oZmVhdHVyZXMtPnZiaW9zX2V4dGVuZGVkX21vZGUpKTsK IAkJcHJpbnRmKCJcdENvcHkgaUxGUCBEVEQgdG8gU0RWTyBMVkRTIERURDogJXNcbiIsIFlFU05P KGZlYXR1cmVzLT5jb3B5X2lsZnBfZHRkX3RvX3Nkdm9fbHZkc19kdGQpKTsKQEAgLTI2OSw5ICsy NzcsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsKIAl7IERFVklDRV9UWVBFX0lOVF9MRlAsICJM RlAiIH0sCiAJeyBERVZJQ0VfVFlQRV9JTlRfVFYsICJUViIgfSwKIAl7IERFVklDRV9UWVBFX0RQ LCAiRGlzcGxheVBvcnQiIH0sCi0JeyBERVZJQ0VfVFlQRV9EUF9IRE1JX0RWSSwgIkRpc3BsYXlQ b3J0L0hETUkvRFZJIiB9LAorCXsgREVWSUNFX1RZUEVfRFBfRFVBTF9NT0RFLCAiRGlzcGxheVBv cnQvSERNSS9EVkkiIH0sCiAJeyBERVZJQ0VfVFlQRV9EUF9EVkksICJEaXNwbGF5UG9ydC9EVkki IH0sCi0JeyBERVZJQ0VfVFlQRV9IRE1JX0RWSSwgIkhETUkvRFZJIiB9LAorCXsgREVWSUNFX1RZ UEVfSERNSSwgIkhETUkvRFZJIiB9LAogCXsgREVWSUNFX1RZUEVfRFZJLCAiRFZJIiB9LAogCXsg REVWSUNFX1RZUEVfZURQLCAiZURQIiB9LAogCXsgREVWSUNFX1RZUEVfTUlQSSwgIk1JUEkiIH0s CkBAIC02MjcsNyArNjM1LDcgQEAgc3RhdGljIHZvaWQgZHVtcF9sdmRzX2RhdGEoc3RydWN0IGNv bnRleHQgKmNvbnRleHQsCiBzdGF0aWMgdm9pZCBkdW1wX2RyaXZlcl9mZWF0dXJlKHN0cnVjdCBj b250ZXh0ICpjb250ZXh0LAogCQkJCWNvbnN0IHN0cnVjdCBiZGJfYmxvY2sgKmJsb2NrKQogewot CWNvbnN0IHN0cnVjdCBiZGJfZHJpdmVyX2ZlYXR1cmUgKmZlYXR1cmUgPSBibG9jay0+ZGF0YTsK Kwljb25zdCBzdHJ1Y3QgYmRiX2RyaXZlcl9mZWF0dXJlcyAqZmVhdHVyZSA9IGJsb2NrLT5kYXRh OwogCiAJcHJpbnRmKCJcdEJvb3QgRGV2aWNlIEFsZ29yaXRobTogJXNcbiIsIGZlYXR1cmUtPmJv b3RfZGV2X2FsZ29yaXRobSA/CiAJICAgICAgICJkcml2ZXIgZGVmYXVsdCIgOiAib3MgZGVmYXVs dCIpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvaW50ZWxfdmJ0X2RlZnMuaCBiL3Rvb2xzL2ludGVsX3Zi dF9kZWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41NDgxMzA0 ZDJhYzIKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9pbnRlbF92YnRfZGVmcy5oCkBAIC0wLDAg KzEsNzAxIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMDYtMjAxNiBJbnRlbCBDb3Jwb3JhdGlv bgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBp bmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICog U29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAor ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC RSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ TkcgRlJPTSwKKyAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KKyAqCisgKiBB dXRob3JzOgorICogICAgRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KKyAqCisgKi8KKwor LyoKKyAqIFRoaXMgaW5mb3JtYXRpb24gaXMgcHJpdmF0ZSB0byBWQlQgcGFyc2luZyBpbiBpbnRl bF9iaW9zLmMuCisgKgorICogUGxlYXNlIGRvIE5PVCBpbmNsdWRlIGFueXdoZXJlIGVsc2UuCisg Ki8KKyNpZm5kZWYgX0lOVEVMX0JJT1NfUFJJVkFURQorI2Vycm9yICJpbnRlbF92YnRfZGVmcy5o IGlzIHByaXZhdGUgdG8gaW50ZWxfYmlvcy5jIgorI2VuZGlmCisKKyNpZm5kZWYgX0lOVEVMX1ZC VF9ERUZTX0hfCisjZGVmaW5lIF9JTlRFTF9WQlRfREVGU19IXworCisjaW5jbHVkZSAiaW50ZWxf Ymlvcy5oIgorCisvKioKKyAqIHN0cnVjdCB2YnRfaGVhZGVyIC0gVkJUIEhlYWRlciBzdHJ1Y3R1 cmUKKyAqIEBzaWduYXR1cmU6CQlWQlQgc2lnbmF0dXJlLCBhbHdheXMgc3RhcnRzIHdpdGggIiRW QlQiCisgKiBAdmVyc2lvbjoJCVZlcnNpb24gb2YgdGhpcyBzdHJ1Y3R1cmUKKyAqIEBoZWFkZXJf c2l6ZToJU2l6ZSBvZiB0aGlzIHN0cnVjdHVyZQorICogQHZidF9zaXplOgkJU2l6ZSBvZiBWQlQg KFZCVCBIZWFkZXIsIEJEQiBIZWFkZXIgYW5kIGRhdGEgYmxvY2tzKQorICogQHZidF9jaGVja3N1 bToJQ2hlY2tzdW0KKyAqIEByZXNlcnZlZDA6CQlSZXNlcnZlZAorICogQGJkYl9vZmZzZXQ6CQlP ZmZzZXQgb2YgJnN0cnVjdCBiZGJfaGVhZGVyIGZyb20gYmVnaW5uaW5nIG9mIFZCVAorICogQGFp bV9vZmZzZXQ6CQlPZmZzZXRzIG9mIGFkZC1pbiBkYXRhIGJsb2NrcyBmcm9tIGJlZ2lubmluZyBv ZiBWQlQKKyAqLworc3RydWN0IHZidF9oZWFkZXIgeworCXU4IHNpZ25hdHVyZVsyMF07CisJdTE2 IHZlcnNpb247CisJdTE2IGhlYWRlcl9zaXplOworCXUxNiB2YnRfc2l6ZTsKKwl1OCB2YnRfY2hl Y2tzdW07CisJdTggcmVzZXJ2ZWQwOworCXUzMiBiZGJfb2Zmc2V0OworCXUzMiBhaW1fb2Zmc2V0 WzRdOworfSBfX3BhY2tlZDsKKworLyoqCisgKiBzdHJ1Y3QgYmRiX2hlYWRlciAtIEJEQiBIZWFk ZXIgc3RydWN0dXJlCisgKiBAc2lnbmF0dXJlOgkJQkRCIHNpZ25hdHVyZSAiQklPU19EQVRBX0JM T0NLIgorICogQHZlcnNpb246CQlWZXJzaW9uIG9mIHRoZSBkYXRhIGJsb2NrIGRlZmluaXRpb25z CisgKiBAaGVhZGVyX3NpemU6CVNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUKKyAqIEBiZGJfc2l6ZToJ CVNpemUgb2YgQkRCIChCREIgSGVhZGVyIGFuZCBkYXRhIGJsb2NrcykKKyAqLworc3RydWN0IGJk Yl9oZWFkZXIgeworCXU4IHNpZ25hdHVyZVsxNl07CisJdTE2IHZlcnNpb247CisJdTE2IGhlYWRl cl9zaXplOworCXUxNiBiZGJfc2l6ZTsKK30gX19wYWNrZWQ7CisKKy8qIHN0cmljdGx5IHNwZWFr aW5nLCB0aGlzIGlzIGEgInNraXAiIGJsb2NrLCBidXQgaXQgaGFzIGludGVyZXN0aW5nIGluZm8g Ki8KK3N0cnVjdCB2Ymlvc19kYXRhIHsKKwl1OCB0eXBlOyAvKiAwID09IGRlc2t0b3AsIDEgPT0g bW9iaWxlICovCisJdTggcmVsc3RhZ2U7CisJdTggY2hpcHNldDsKKwl1OCBsdmRzX3ByZXNlbnQ6 MTsKKwl1OCB0dl9wcmVzZW50OjE7CisJdTggcnN2ZDI6NjsgLyogZmluaXNoIGJ5dGUgKi8KKwl1 OCByc3ZkM1s0XTsKKwl1OCBzaWdub25bMTU1XTsKKwl1OCBjb3B5cmlnaHRbNjFdOworCXUxNiBj b2RlX3NlZ21lbnQ7CisJdTggZG9zX2Jvb3RfbW9kZTsKKwl1OCBiYW5kd2lkdGhfcGVyY2VudDsK Kwl1OCByc3ZkNDsgLyogcG9wdXAgbWVtb3J5IHNpemUgKi8KKwl1OCByZXNpemVfcGNpX2Jpb3M7 CisJdTggcnN2ZDU7IC8qIGlzIGNydCBhbHJlYWR5IG9uIGRkYzIgKi8KK30gX19wYWNrZWQ7CisK Ky8qCisgKiBUaGVyZSBhcmUgc2V2ZXJhbCB0eXBlcyBvZiBCSU9TIGRhdGEgYmxvY2tzIChCREJz KSwgZWFjaCBibG9jayBoYXMKKyAqIGFuIElEIGFuZCBzaXplIGluIHRoZSBmaXJzdCAzIGJ5dGVz IChJRCBpbiBmaXJzdCwgc2l6ZSBpbiBuZXh0IDIpLgorICogS25vd24gdHlwZXMgYXJlIGxpc3Rl ZCBiZWxvdy4KKyAqLworI2RlZmluZSBCREJfR0VORVJBTF9GRUFUVVJFUwkgIDEKKyNkZWZpbmUg QkRCX0dFTkVSQUxfREVGSU5JVElPTlMJICAyCisjZGVmaW5lIEJEQl9PTERfVE9HR0xFX0xJU1QJ ICAzCisjZGVmaW5lIEJEQl9NT0RFX1NVUFBPUlRfTElTVAkgIDQKKyNkZWZpbmUgQkRCX0dFTkVS SUNfTU9ERV9UQUJMRQkgIDUKKyNkZWZpbmUgQkRCX0VYVF9NTUlPX1JFR1MJICA2CisjZGVmaW5l IEJEQl9TV0ZfSU8JCSAgNworI2RlZmluZSBCREJfU1dGX01NSU8JCSAgOAorI2RlZmluZSBCREJf UFNSCQkJICA5CisjZGVmaW5lIEJEQl9NT0RFX1JFTU9WQUxfVEFCTEUJIDEwCisjZGVmaW5lIEJE Ql9DSElMRF9ERVZJQ0VfVEFCTEUJIDExCisjZGVmaW5lIEJEQl9EUklWRVJfRkVBVFVSRVMJIDEy CisjZGVmaW5lIEJEQl9EUklWRVJfUEVSU0lTVEVOQ0UJIDEzCisjZGVmaW5lIEJEQl9FWFRfVEFC TEVfUFRSUwkgMTQKKyNkZWZpbmUgQkRCX0RPVF9DTE9DS19PVkVSUklERQkgMTUKKyNkZWZpbmUg QkRCX0RJU1BMQVlfU0VMRUNUCSAxNgorLyogMTcgcnN2ZCAqLworI2RlZmluZSBCREJfRFJJVkVS X1JPVEFUSU9OCSAxOAorI2RlZmluZSBCREJfRElTUExBWV9SRU1PVkUJIDE5CisjZGVmaW5lIEJE Ql9PRU1fQ1VTVE9NCQkgMjAKKyNkZWZpbmUgQkRCX0VGUF9MSVNUCQkgMjEgLyogd29ya2Fyb3Vu ZHMgZm9yIFZHQSBoc3luYy92c3luYyAqLworI2RlZmluZSBCREJfU0RWT19MVkRTX09QVElPTlMJ IDIyCisjZGVmaW5lIEJEQl9TRFZPX1BBTkVMX0RURFMJIDIzCisjZGVmaW5lIEJEQl9TRFZPX0xW RFNfUE5QX0lEUwkgMjQKKyNkZWZpbmUgQkRCX1NEVk9fTFZEU19QT1dFUl9TRVEJIDI1CisjZGVm aW5lIEJEQl9UVl9PUFRJT05TCQkgMjYKKyNkZWZpbmUgQkRCX0VEUAkJCSAyNworI2RlZmluZSBC REJfTFZEU19PUFRJT05TCSA0MAorI2RlZmluZSBCREJfTFZEU19MRlBfREFUQV9QVFJTCSA0MQor I2RlZmluZSBCREJfTFZEU19MRlBfREFUQQkgNDIKKyNkZWZpbmUgQkRCX0xWRFNfQkFDS0xJR0hU CSA0MworI2RlZmluZSBCREJfTFZEU19QT1dFUgkJIDQ0CisjZGVmaW5lIEJEQl9NSVBJX0NPTkZJ RwkJIDUyCisjZGVmaW5lIEJEQl9NSVBJX1NFUVVFTkNFCSA1MworI2RlZmluZSBCREJfU0tJUAkJ MjU0IC8qIFZCSU9TIHByaXZhdGUgYmxvY2ssIGlnbm9yZSAqLworCitzdHJ1Y3QgYmRiX2dlbmVy YWxfZmVhdHVyZXMgeworICAgICAgICAvKiBiaXRzIDEgKi8KKwl1OCBwYW5lbF9maXR0aW5nOjI7 CisJdTggZmxleGFpbToxOworCXU4IG1zZ19lbmFibGU6MTsKKwl1OCBjbGVhcl9zY3JlZW46MzsK Kwl1OCBjb2xvcl9mbGlwOjE7CisKKyAgICAgICAgLyogYml0cyAyICovCisJdTggZG93bmxvYWRf ZXh0X3ZidDoxOworCXU4IGVuYWJsZV9zc2M6MTsKKwl1OCBzc2NfZnJlcToxOworCXU4IGVuYWJs ZV9sZnBfb25fb3ZlcnJpZGU6MTsKKwl1OCBkaXNhYmxlX3NzY19kZHQ6MTsKKwl1OCB1bmRlcnNj YW5fdmdhX3RpbWluZ3M6MTsKKwl1OCBkaXNwbGF5X2Nsb2NrX21vZGU6MTsKKwl1OCB2Ymlvc19o b3RwbHVnX3N1cHBvcnQ6MTsKKworICAgICAgICAvKiBiaXRzIDMgKi8KKwl1OCBkaXNhYmxlX3Nt b290aF92aXNpb246MTsKKwl1OCBzaW5nbGVfZHZpOjE7CisJdTggcm90YXRlXzE4MDoxOwkJCQkJ LyogMTgxICovCisJdTggZmRpX3J4X3BvbGFyaXR5X2ludmVydGVkOjE7CisJdTggdmJpb3NfZXh0 ZW5kZWRfbW9kZToxOwkJCQkvKiAxNjAgKi8KKwl1OCBjb3B5X2lsZnBfZHRkX3RvX3Nkdm9fbHZk c19kdGQ6MTsJCQkvKiAxNjAgKi8KKwl1OCBwYW5lbF9iZXN0X2ZpdF90aW1pbmc6MTsJCQkJLyog MTYwICovCisJdTggaWdub3JlX3N0cmFwX3N0YXRlOjE7CQkJCS8qIDE2MCAqLworCisgICAgICAg IC8qIGJpdHMgNCAqLworCXU4IGxlZ2FjeV9tb25pdG9yX2RldGVjdDsKKworICAgICAgICAvKiBi aXRzIDUgKi8KKwl1OCBpbnRfY3J0X3N1cHBvcnQ6MTsKKwl1OCBpbnRfdHZfc3VwcG9ydDoxOwor CXU4IGludF9lZnBfc3VwcG9ydDoxOworCXU4IGRwX3NzY19lbmFibGU6MTsJLyogUENIIGF0dGFj aGVkIGVEUCBzdXBwb3J0cyBTU0MgKi8KKwl1OCBkcF9zc2NfZnJlcToxOwkvKiBTU0MgZnJlcSBm b3IgUENIIGF0dGFjaGVkIGVEUCAqLworCXU4IGRwX3NzY19kb25nbGVfc3VwcG9ydGVkOjE7CisJ dTggcnN2ZDExOjI7IC8qIGZpbmlzaCBieXRlICovCit9IF9fcGFja2VkOworCisvKiBwcmUtOTE1 ICovCisjZGVmaW5lIEdQSU9fUElOX0RWSV9MVkRTCTB4MDMgLyogIkRWSS9MVkRTIEREQyBHUElP IHBpbnMiICovCisjZGVmaW5lIEdQSU9fUElOX0FERF9JMkMJMHgwNSAvKiAiQUREQ0FSRCBJMkMg R1BJTyBwaW5zIiAqLworI2RlZmluZSBHUElPX1BJTl9BRERfRERDCTB4MDQgLyogIkFERENBUkQg RERDIEdQSU8gcGlucyIgKi8KKyNkZWZpbmUgR1BJT19QSU5fQUREX0REQ19JMkMJMHgwNiAvKiAi QUREQ0FSRCBEREMvSTJDIEdQSU8gcGlucyIgKi8KKworLyogUHJlIDkxNSAqLworI2RlZmluZSBE RVZJQ0VfVFlQRV9OT05FCTB4MDAKKyNkZWZpbmUgREVWSUNFX1RZUEVfQ1JUCQkweDAxCisjZGVm aW5lIERFVklDRV9UWVBFX1RWCQkweDA5CisjZGVmaW5lIERFVklDRV9UWVBFX0VGUAkJMHgxMgor I2RlZmluZSBERVZJQ0VfVFlQRV9MRlAJCTB4MjIKKy8qIE9uIDkxNSsgKi8KKyNkZWZpbmUgREVW SUNFX1RZUEVfQ1JUX0RQTVMJCTB4NjAwMQorI2RlZmluZSBERVZJQ0VfVFlQRV9DUlRfRFBNU19I T1RQTFVHCTB4NDAwMQorI2RlZmluZSBERVZJQ0VfVFlQRV9UVl9DT01QT1NJVEUJMHgwMjA5Cisj ZGVmaW5lIERFVklDRV9UWVBFX1RWX01BQ1JPVklTSU9OCTB4MDI4OQorI2RlZmluZSBERVZJQ0Vf VFlQRV9UVl9SRl9DT01QT1NJVEUJMHgwMjBjCisjZGVmaW5lIERFVklDRV9UWVBFX1RWX1NWSURF T19DT01QT1NJVEUJMHgwNjA5CisjZGVmaW5lIERFVklDRV9UWVBFX1RWX1NDQVJUCQkweDAyMDkK KyNkZWZpbmUgREVWSUNFX1RZUEVfVFZfQ09ERUNfSE9UUExVR19QV1IgMHg2MDA5CisjZGVmaW5l IERFVklDRV9UWVBFX0VGUF9IT1RQTFVHX1BXUgkweDYwMTIKKyNkZWZpbmUgREVWSUNFX1RZUEVf RUZQX0RWSV9IT1RQTFVHX1BXUgkweDYwNTIKKyNkZWZpbmUgREVWSUNFX1RZUEVfRUZQX0RWSV9J CQkweDYwNTMKKyNkZWZpbmUgREVWSUNFX1RZUEVfRUZQX0RWSV9EX0RVQUwJMHg2MTUyCisjZGVm aW5lIERFVklDRV9UWVBFX0VGUF9EVklfRF9IRENQCTB4NjBkMgorI2RlZmluZSBERVZJQ0VfVFlQ RV9PUEVOTERJX0hPVFBMVUdfUFdSCTB4NjA2MgorI2RlZmluZSBERVZJQ0VfVFlQRV9PUEVOTERJ X0RVQUxQSVgJMHg2MTYyCisjZGVmaW5lIERFVklDRV9UWVBFX0xGUF9QQU5FTExJTksJMHg1MDEy CisjZGVmaW5lIERFVklDRV9UWVBFX0xGUF9DTU9TX1BXUgkweDUwNDIKKyNkZWZpbmUgREVWSUNF X1RZUEVfTEZQX0xWRFNfUFdSCTB4NTA2MgorI2RlZmluZSBERVZJQ0VfVFlQRV9MRlBfTFZEU19E VUFMCTB4NTE2MgorI2RlZmluZSBERVZJQ0VfVFlQRV9MRlBfTFZEU19EVUFMX0hEQ1AJMHg1MWUy CisKKy8qIEFkZCB0aGUgZGV2aWNlIGNsYXNzIGZvciBMRlAsIFRWLCBIRE1JICovCisjZGVmaW5l IERFVklDRV9UWVBFX0lOVF9MRlAJCTB4MTAyMgorI2RlZmluZSBERVZJQ0VfVFlQRV9JTlRfVFYJ CTB4MTAwOQorI2RlZmluZSBERVZJQ0VfVFlQRV9IRE1JCQkweDYwRDIKKyNkZWZpbmUgREVWSUNF X1RZUEVfRFAJCQkweDY4QzYKKyNkZWZpbmUgREVWSUNFX1RZUEVfRFBfRFVBTF9NT0RFCTB4NjBE NgorI2RlZmluZSBERVZJQ0VfVFlQRV9lRFAJCQkweDc4QzYKKworLyoKKyAqIEJpdHMgd2UgY2Fy ZSBhYm91dCB3aGVuIGNoZWNraW5nIGZvciBERVZJQ0VfVFlQRV9lRFAuIERlcGVuZGluZyBvbiB0 aGUKKyAqIHN5c3RlbSwgdGhlIG90aGVyIGJpdHMgbWF5IG9yIG1heSBub3QgYmUgc2V0IGZvciBl RFAgb3V0cHV0cy4KKyAqLworI2RlZmluZSBERVZJQ0VfVFlQRV9lRFBfQklUUyBcCisJKERFVklD RV9UWVBFX0lOVEVSTkFMX0NPTk5FQ1RPUiB8CVwKKwkgREVWSUNFX1RZUEVfTUlQSV9PVVRQVVQg fAkJXAorCSBERVZJQ0VfVFlQRV9DT01QT1NJVEVfT1VUUFVUIHwJCVwKKwkgREVWSUNFX1RZUEVf RFVBTF9DSEFOTkVMIHwJCVwKKwkgREVWSUNFX1RZUEVfTFZEU19TSU5HQUxJTkcgfAkJXAorCSBE RVZJQ0VfVFlQRV9UTURTX0RWSV9TSUdOQUxJTkcgfAlcCisJIERFVklDRV9UWVBFX1ZJREVPX1NJ R05BTElORyB8CQlcCisJIERFVklDRV9UWVBFX0RJU1BMQVlQT1JUX09VVFBVVCB8CVwKKwkgREVW SUNFX1RZUEVfQU5BTE9HX09VVFBVVCkKKworI2RlZmluZSBERVZJQ0VfVFlQRV9EUF9EVUFMX01P REVfQklUUyBcCisJKERFVklDRV9UWVBFX0lOVEVSTkFMX0NPTk5FQ1RPUiB8CVwKKwkgREVWSUNF X1RZUEVfTUlQSV9PVVRQVVQgfAkJXAorCSBERVZJQ0VfVFlQRV9DT01QT1NJVEVfT1VUUFVUIHwJ CVwKKwkgREVWSUNFX1RZUEVfTFZEU19TSU5HQUxJTkcgfAkJXAorCSBERVZJQ0VfVFlQRV9UTURT X0RWSV9TSUdOQUxJTkcgfAlcCisJIERFVklDRV9UWVBFX1ZJREVPX1NJR05BTElORyB8CQlcCisJ IERFVklDRV9UWVBFX0RJU1BMQVlQT1JUX09VVFBVVCB8CVwKKwkgREVWSUNFX1RZUEVfRElHSVRB TF9PVVRQVVQgfAkJXAorCSBERVZJQ0VfVFlQRV9BTkFMT0dfT1VUUFVUKQorCisjZGVmaW5lIERF VklDRV9DRkdfTk9ORQkJMHgwMAorI2RlZmluZSBERVZJQ0VfQ0ZHXzEyQklUX0RWT0IJMHgwMQor I2RlZmluZSBERVZJQ0VfQ0ZHXzEyQklUX0RWT0MJMHgwMgorI2RlZmluZSBERVZJQ0VfQ0ZHXzI0 QklUX0RWT0JDCTB4MDkKKyNkZWZpbmUgREVWSUNFX0NGR18yNEJJVF9EVk9DQgkweDBhCisjZGVm aW5lIERFVklDRV9DRkdfRFVBTF9EVk9CCTB4MTEKKyNkZWZpbmUgREVWSUNFX0NGR19EVUFMX0RW T0MJMHgxMgorI2RlZmluZSBERVZJQ0VfQ0ZHX0RVQUxfRFZPQkMJMHgxMworI2RlZmluZSBERVZJ Q0VfQ0ZHX0RVQUxfTElOS19EVk9CQwkweDE5CisjZGVmaW5lIERFVklDRV9DRkdfRFVBTF9MSU5L X0RWT0NCCTB4MWEKKworI2RlZmluZSBERVZJQ0VfV0lSRV9OT05FCTB4MDAKKyNkZWZpbmUgREVW SUNFX1dJUkVfRFZPQgkweDAxCisjZGVmaW5lIERFVklDRV9XSVJFX0RWT0MJMHgwMgorI2RlZmlu ZSBERVZJQ0VfV0lSRV9EVk9CQwkweDAzCisjZGVmaW5lIERFVklDRV9XSVJFX0RWT0JCCTB4MDUK KyNkZWZpbmUgREVWSUNFX1dJUkVfRFZPQ0MJMHgwNgorI2RlZmluZSBERVZJQ0VfV0lSRV9EVk9C X01BU1RFUiAweDBkCisjZGVmaW5lIERFVklDRV9XSVJFX0RWT0NfTUFTVEVSIDB4MGUKKworLyog ZHZvX3BvcnQgcHJlIEJEQiAxNTUgKi8KKyNkZWZpbmUgREVWSUNFX1BPUlRfRFZPQQkweDAwIC8q IG5vbmUgb24gODQ1KyAqLworI2RlZmluZSBERVZJQ0VfUE9SVF9EVk9CCTB4MDEKKyNkZWZpbmUg REVWSUNFX1BPUlRfRFZPQwkweDAyCisKKy8qIGR2b19wb3J0IEJEQiAxNTUrICovCisjZGVmaW5l IERWT19QT1JUX0hETUlBCQkwCisjZGVmaW5lIERWT19QT1JUX0hETUlCCQkxCisjZGVmaW5lIERW T19QT1JUX0hETUlDCQkyCisjZGVmaW5lIERWT19QT1JUX0hETUlECQkzCisjZGVmaW5lIERWT19Q T1JUX0xWRFMJCTQKKyNkZWZpbmUgRFZPX1BPUlRfVFYJCTUKKyNkZWZpbmUgRFZPX1BPUlRfQ1JU CQk2CisjZGVmaW5lIERWT19QT1JUX0RQQgkJNworI2RlZmluZSBEVk9fUE9SVF9EUEMJCTgKKyNk ZWZpbmUgRFZPX1BPUlRfRFBECQk5CisjZGVmaW5lIERWT19QT1JUX0RQQQkJMTAKKyNkZWZpbmUg RFZPX1BPUlRfRFBFCQkxMQkJCQkvKiAxOTMgKi8KKyNkZWZpbmUgRFZPX1BPUlRfSERNSUUJCTEy CQkJCS8qIDE5MyAqLworI2RlZmluZSBEVk9fUE9SVF9NSVBJQQkJMjEJCQkJLyogMTcxICovCisj ZGVmaW5lIERWT19QT1JUX01JUElCCQkyMgkJCQkvKiAxNzEgKi8KKyNkZWZpbmUgRFZPX1BPUlRf TUlQSUMJCTIzCQkJCS8qIDE3MSAqLworI2RlZmluZSBEVk9fUE9SVF9NSVBJRAkJMjQJCQkJLyog MTcxICovCisKKyNkZWZpbmUgTEVHQUNZX0NISUxEX0RFVklDRV9DT05GSUdfU0laRQkJMzMKKwor c3RydWN0IGJkYl9nZW5lcmFsX2RlZmluaXRpb25zIHsKKwkvKiBEREMgR1BJTyAqLworCXU4IGNy dF9kZGNfZ21idXNfcGluOworCisJLyogRFBNUyBiaXRzICovCisJdTggZHBtc19hY3BpOjE7CisJ dTggc2tpcF9ib290X2NydF9kZXRlY3Q6MTsKKwl1OCBkcG1zX2FpbToxOworCXU4IHJzdmQxOjU7 IC8qIGZpbmlzaCBieXRlICovCisKKwkvKiBib290IGRldmljZSBiaXRzICovCisJdTggYm9vdF9k aXNwbGF5WzJdOworCXU4IGNoaWxkX2Rldl9zaXplOworCisJLyoKKwkgKiBEZXZpY2UgaW5mbzoK KwkgKiBJZiBUViBpcyBwcmVzZW50LCBpdCdsbCBiZSBhdCBkZXZpY2VzWzBdLgorCSAqIExWRFMg d2lsbCBiZSBuZXh0LCBlaXRoZXIgZGV2aWNlc1swXSBvciBbMV0sIGlmIHByZXNlbnQuCisJICog T24gc29tZSBwbGF0Zm9ybXMgdGhlIG51bWJlciBvZiBkZXZpY2UgaXMgNi4gQnV0IGNvdWxkIGJl IGFzIGZldyBhcworCSAqIDQgaWYgYm90aCBUViBhbmQgTFZEUyBhcmUgbWlzc2luZy4KKwkgKiBB bmQgdGhlIGRldmljZSBudW0gaXMgcmVsYXRlZCB3aXRoIHRoZSBzaXplIG9mIGdlbmVyYWwgZGVm aW5pdGlvbgorCSAqIGJsb2NrLiBJdCBpcyBvYnRhaW5lZCBieSB1c2luZyB0aGUgZm9sbG93aW5n IGZvcm11bGE6CisJICogbnVtYmVyID0gKGJsb2NrX3NpemUgLSBzaXplb2YoYmRiX2dlbmVyYWxf ZGVmaW5pdGlvbnMpKS8KKwkgKgkgICAgIGRlZnMtPmNoaWxkX2Rldl9zaXplOworCSAqLworCXVp bnQ4X3QgZGV2aWNlc1swXTsKK30gX19wYWNrZWQ7CisKKy8qIE1hc2sgZm9yIERSUlMgLyBQYW5l bCBDaGFubmVsIC8gU1NDIC8gQkxUIGNvbnRyb2wgYml0cyBleHRyYWN0aW9uICovCisjZGVmaW5l IE1PREVfTUFTSwkJMHgzCisKK3N0cnVjdCBiZGJfbHZkc19vcHRpb25zIHsKKwl1OCBwYW5lbF90 eXBlOworCXU4IHJzdmQxOworCS8qIExWRFMgY2FwYWJpbGl0aWVzLCBzdG9yZWQgaW4gYSBkd29y ZCAqLworCXU4IHBmaXRfbW9kZToyOworCXU4IHBmaXRfdGV4dF9tb2RlX2VuaGFuY2VkOjE7CisJ dTggcGZpdF9nZnhfbW9kZV9lbmhhbmNlZDoxOworCXU4IHBmaXRfcmF0aW9fYXV0bzoxOworCXU4 IHBpeGVsX2RpdGhlcjoxOworCXU4IGx2ZHNfZWRpZDoxOworCXU4IHJzdmQyOjE7CisJdTggcnN2 ZDQ7CisJLyogTFZEUyBQYW5lbCBjaGFubmVsIGJpdHMgc3RvcmVkIGhlcmUgKi8KKwl1MzIgbHZk c19wYW5lbF9jaGFubmVsX2JpdHM7CisJLyogTFZEUyBTU0MgKFNwcmVhZCBTcGVjdHJ1bSBDbG9j aykgYml0cyBzdG9yZWQgaGVyZS4gKi8KKwl1MTYgc3NjX2JpdHM7CisJdTE2IHNzY19mcmVxOwor CXUxNiBzc2NfZGR0OworCS8qIFBhbmVsIGNvbG9yIGRlcHRoIGRlZmluZWQgaGVyZSAqLworCXUx NiBwYW5lbF9jb2xvcl9kZXB0aDsKKwkvKiBMVkRTIHBhbmVsIHR5cGUgYml0cyBzdG9yZWQgaGVy ZSAqLworCXUzMiBkcHNfcGFuZWxfdHlwZV9iaXRzOworCS8qIExWRFMgYmFja2xpZ2h0IGNvbnRy b2wgdHlwZSBiaXRzIHN0b3JlZCBoZXJlICovCisJdTMyIGJsdF9jb250cm9sX3R5cGVfYml0czsK K30gX19wYWNrZWQ7CisKKy8qIExGUCBwb2ludGVyIHRhYmxlIGNvbnRhaW5zIGVudHJpZXMgdG8g dGhlIHN0cnVjdCBiZWxvdyAqLworc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX3B0ciB7CisJdTE2 IGZwX3RpbWluZ19vZmZzZXQ7IC8qIG9mZnNldHMgYXJlIGZyb20gc3RhcnQgb2YgYmRiICovCisJ dTggZnBfdGFibGVfc2l6ZTsKKwl1MTYgZHZvX3RpbWluZ19vZmZzZXQ7CisJdTggZHZvX3RhYmxl X3NpemU7CisJdTE2IHBhbmVsX3BucF9pZF9vZmZzZXQ7CisJdTggcG5wX3RhYmxlX3NpemU7Cit9 IF9fcGFja2VkOworCitzdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfcHRycyB7CisJdTggbHZkc19l bnRyaWVzOyAvKiBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBsdmRzX2RhdGFfcHRyIHN0cnVjdHMg Ki8KKwlzdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfcHRyIHB0clsxNl07Cit9IF9fcGFja2VkOwor CisvKiBMRlAgZGF0YSBoYXMgMyBibG9ja3MgcGVyIGVudHJ5ICovCitzdHJ1Y3QgbHZkc19mcF90 aW1pbmcgeworCXUxNiB4X3JlczsKKwl1MTYgeV9yZXM7CisJdTMyIGx2ZHNfcmVnOworCXUzMiBs dmRzX3JlZ192YWw7CisJdTMyIHBwX29uX3JlZzsKKwl1MzIgcHBfb25fcmVnX3ZhbDsKKwl1MzIg cHBfb2ZmX3JlZzsKKwl1MzIgcHBfb2ZmX3JlZ192YWw7CisJdTMyIHBwX2N5Y2xlX3JlZzsKKwl1 MzIgcHBfY3ljbGVfcmVnX3ZhbDsKKwl1MzIgcGZpdF9yZWc7CisJdTMyIHBmaXRfcmVnX3ZhbDsK Kwl1MTYgdGVybWluYXRvcjsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCBsdmRzX3BucF9pZCB7CisJ dTE2IG1mZ19uYW1lOworCXUxNiBwcm9kdWN0X2NvZGU7CisJdTMyIHNlcmlhbDsKKwl1OCBtZmdf d2VlazsKKwl1OCBtZmdfeWVhcjsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCBiZGJfbHZkc19sZnBf ZGF0YV9lbnRyeSB7CisJc3RydWN0IGx2ZHNfZnBfdGltaW5nIGZwX3RpbWluZzsKKwlzdHJ1Y3Qg bHZkc19kdm9fdGltaW5nIGR2b190aW1pbmc7CisJc3RydWN0IGx2ZHNfcG5wX2lkIHBucF9pZDsK K30gX19wYWNrZWQ7CisKK3N0cnVjdCBiZGJfbHZkc19sZnBfZGF0YSB7CisJc3RydWN0IGJkYl9s dmRzX2xmcF9kYXRhX2VudHJ5IGRhdGFbMTZdOworfSBfX3BhY2tlZDsKKworI2RlZmluZSBCREJf QkFDS0xJR0hUX1RZUEVfTk9ORQkwCisjZGVmaW5lIEJEQl9CQUNLTElHSFRfVFlQRV9QV00JMgor CitzdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSB7CisJdTggdHlwZToyOworCXU4 IGFjdGl2ZV9sb3dfcHdtOjE7CisJdTggb2Jzb2xldGUxOjU7CisJdTE2IHB3bV9mcmVxX2h6Owor CXU4IG1pbl9icmlnaHRuZXNzOworCXU4IG9ic29sZXRlMjsKKwl1OCBvYnNvbGV0ZTM7Cit9IF9f cGFja2VkOworCitzdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfY29udHJvbF9tZXRob2QgeworCXU4 IHR5cGU6NDsKKwl1OCBjb250cm9sbGVyOjQ7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgYmRiX2xm cF9iYWNrbGlnaHRfZGF0YSB7CisJdTggZW50cnlfc2l6ZTsKKwlzdHJ1Y3QgYmRiX2xmcF9iYWNr bGlnaHRfZGF0YV9lbnRyeSBkYXRhWzE2XTsKKwl1OCBsZXZlbFsxNl07CisJc3RydWN0IGJkYl9s ZnBfYmFja2xpZ2h0X2NvbnRyb2xfbWV0aG9kIGJhY2tsaWdodF9jb250cm9sWzE2XTsKK30gX19w YWNrZWQ7CisKK3N0cnVjdCBhaW1kYl9oZWFkZXIgeworCWNoYXIgc2lnbmF0dXJlWzE2XTsKKwlj aGFyIG9lbV9kZXZpY2VbMjBdOworCXUxNiBhaW1kYl92ZXJzaW9uOworCXUxNiBhaW1kYl9oZWFk ZXJfc2l6ZTsKKwl1MTYgYWltZGJfc2l6ZTsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCBhaW1kYl9i bG9jayB7CisJdTggYWltZGJfaWQ7CisJdTE2IGFpbWRiX3NpemU7Cit9IF9fcGFja2VkOworCitz dHJ1Y3QgdmNoX3BhbmVsX2RhdGEgeworCXUxNiBmcF90aW1pbmdfb2Zmc2V0OworCXU4IGZwX3Rp bWluZ19zaXplOworCXUxNiBkdm9fdGltaW5nX29mZnNldDsKKwl1OCBkdm9fdGltaW5nX3NpemU7 CisJdTE2IHRleHRfZml0dGluZ19vZmZzZXQ7CisJdTggdGV4dF9maXR0aW5nX3NpemU7CisJdTE2 IGdyYXBoaWNzX2ZpdHRpbmdfb2Zmc2V0OworCXU4IGdyYXBoaWNzX2ZpdHRpbmdfc2l6ZTsKK30g X19wYWNrZWQ7CisKK3N0cnVjdCB2Y2hfYmRiXzIyIHsKKwlzdHJ1Y3QgYWltZGJfYmxvY2sgYWlt ZGJfYmxvY2s7CisJc3RydWN0IHZjaF9wYW5lbF9kYXRhIHBhbmVsc1sxNl07Cit9IF9fcGFja2Vk OworCitzdHJ1Y3QgYmRiX3Nkdm9fbHZkc19vcHRpb25zIHsKKwl1OCBwYW5lbF9iYWNrbGlnaHQ7 CisJdTggaDQwX3NldF9wYW5lbF90eXBlOworCXU4IHBhbmVsX3R5cGU7CisJdTggc3NjX2Nsa19m cmVxOworCXUxNiBhbHNfbG93X3RyaXA7CisJdTE2IGFsc19oaWdoX3RyaXA7CisJdTggc2NsYWxh cmNvZWZmX3RhYl9yb3dfbnVtOworCXU4IHNjbGFsYXJjb2VmZl90YWJfcm93X3NpemU7CisJdTgg Y29lZmZpY2llbnRbOF07CisJdTggcGFuZWxfbWlzY19iaXRzXzE7CisJdTggcGFuZWxfbWlzY19i aXRzXzI7CisJdTggcGFuZWxfbWlzY19iaXRzXzM7CisJdTggcGFuZWxfbWlzY19iaXRzXzQ7Cit9 IF9fcGFja2VkOworCisKKyNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX05PX0xWRFMJCTAKKyNk ZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX0lOVF9MVkRTCQkxCisjZGVmaW5lIEJEQl9EUklWRVJf RkVBVFVSRV9TRFZPX0xWRFMJCTIKKyNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX0VEUAkJCTMK Kworc3RydWN0IGJkYl9kcml2ZXJfZmVhdHVyZXMgeworCXU4IGJvb3RfZGV2X2FsZ29yaXRobTox OworCXU4IGJsb2NrX2Rpc3BsYXlfc3dpdGNoOjE7CisJdTggYWxsb3dfZGlzcGxheV9zd2l0Y2g6 MTsKKwl1OCBob3RwbHVnX2R2bzoxOworCXU4IGR1YWxfdmlld196b29tOjE7CisJdTggaW50MTVo X2hvb2s6MTsKKwl1OCBzcHJpdGVfaW5fY2xvbmU6MTsKKwl1OCBwcmltYXJ5X2xmcF9pZDoxOwor CisJdTE2IGJvb3RfbW9kZV94OworCXUxNiBib290X21vZGVfeTsKKwl1OCBib290X21vZGVfYnBw OworCXU4IGJvb3RfbW9kZV9yZWZyZXNoOworCisJdTE2IGVuYWJsZV9sZnBfcHJpbWFyeToxOwor CXUxNiBzZWxlY3RpdmVfbW9kZV9wcnVuaW5nOjE7CisJdTE2IGR1YWxfZnJlcXVlbmN5OjE7CisJ dTE2IHJlbmRlcl9jbG9ja19mcmVxOjE7IC8qIDA6IGhpZ2ggZnJlcTsgMTogbG93IGZyZXEgKi8K Kwl1MTYgbnRfY2xvbmVfc3VwcG9ydDoxOworCXUxNiBwb3dlcl9zY2hlbWVfdWk6MTsgLyogMDog Q1VJOyAxOiAzcmQgcGFydHkgKi8KKwl1MTYgc3ByaXRlX2Rpc3BsYXlfYXNzaWduOjE7IC8qIDA6 IHNlY29uZGFyeTsgMTogcHJpbWFyeSAqLworCXUxNiBjdWlfYXNwZWN0X3NjYWxpbmc6MTsKKwl1 MTYgcHJlc2VydmVfYXNwZWN0X3JhdGlvOjE7CisJdTE2IHNkdm9fZGV2aWNlX3Bvd2VyX2Rvd246 MTsKKwl1MTYgY3J0X2hvdHBsdWc6MTsKKwl1MTYgbHZkc19jb25maWc6MjsKKwl1MTYgdHZfaG90 cGx1ZzoxOworCXUxNiBoZG1pX2NvbmZpZzoyOworCisJdTggc3RhdGljX2Rpc3BsYXk6MTsKKwl1 OCByZXNlcnZlZDI6NzsKKwl1MTYgbGVnYWN5X2NydF9tYXhfeDsKKwl1MTYgbGVnYWN5X2NydF9t YXhfeTsKKwl1OCBsZWdhY3lfY3J0X21heF9yZWZyZXNoOworCisJdTggaGRtaV90ZXJtaW5hdGlv bjsKKwl1OCBjdXN0b21fdmJ0X3ZlcnNpb247CisJLyogRHJpdmVyIGZlYXR1cmVzIGRhdGEgYmxv Y2sgKi8KKwl1MTYgcm1wbV9lbmFibGVkOjE7CisJdTE2IHMyZGR0X2VuYWJsZWQ6MTsKKwl1MTYg ZHBzdF9lbmFibGVkOjE7CisJdTE2IGJsdGNsdF9lbmFibGVkOjE7CisJdTE2IGFkYl9lbmFibGVk OjE7CisJdTE2IGRycnNfZW5hYmxlZDoxOworCXUxNiBncnNfZW5hYmxlZDoxOworCXUxNiBncG10 X2VuYWJsZWQ6MTsKKwl1MTYgdGJ0X2VuYWJsZWQ6MTsKKwl1MTYgcHNyX2VuYWJsZWQ6MTsKKwl1 MTYgaXBzX2VuYWJsZWQ6MTsKKwl1MTYgcmVzZXJ2ZWQzOjQ7CisJdTE2IHBjX2ZlYXR1cmVfdmFs aWQ6MTsKK30gX19wYWNrZWQ7CisKKyNkZWZpbmUgRURQXzE4QlBQCTAKKyNkZWZpbmUgRURQXzI0 QlBQCTEKKyNkZWZpbmUgRURQXzMwQlBQCTIKKyNkZWZpbmUgRURQX1JBVEVfMV82MgkwCisjZGVm aW5lIEVEUF9SQVRFXzJfNwkxCisjZGVmaW5lIEVEUF9MQU5FXzEJMAorI2RlZmluZSBFRFBfTEFO RV8yCTEKKyNkZWZpbmUgRURQX0xBTkVfNAkzCisjZGVmaW5lIEVEUF9QUkVFTVBIQVNJU19OT05F CTAKKyNkZWZpbmUgRURQX1BSRUVNUEhBU0lTXzNfNWRCCTEKKyNkZWZpbmUgRURQX1BSRUVNUEhB U0lTXzZkQgkyCisjZGVmaW5lIEVEUF9QUkVFTVBIQVNJU185XzVkQgkzCisjZGVmaW5lIEVEUF9W U1dJTkdfMF80VgkJMAorI2RlZmluZSBFRFBfVlNXSU5HXzBfNlYJCTEKKyNkZWZpbmUgRURQX1ZT V0lOR18wXzhWCQkyCisjZGVmaW5lIEVEUF9WU1dJTkdfMV8yVgkJMworCisKKworLyoKKyAqIERy aXZlcjwtPlZCSU9TIGludGVyYWN0aW9uIG9jY3VycyB0aHJvdWdoIHNjcmF0Y2ggYml0cyBpbgor ICogR1IxOCAmIFNXRiouCisgKi8KKworLyogR1IxOCBiaXRzIGFyZSBzZXQgb24gZGlzcGxheSBz d2l0Y2ggYW5kIGhvdGtleSBldmVudHMgKi8KKyNkZWZpbmUgR1IxOF9EUklWRVJfU1dJVENIX0VO CSgxPDw3KSAvKiAwOiBWQklPUyBjb250cm9sLCAxOiBkcml2ZXIgY29udHJvbCAqLworI2RlZmlu ZSBHUjE4X0hPVEtFWV9NQVNLCTB4NzggLyogU2VlIGFsc28gU1dGNCAxNTowICovCisjZGVmaW5l ICAgR1IxOF9IS19OT05FCQkoMHgwPDwzKQorI2RlZmluZSAgIEdSMThfSEtfTEZQX1NUUkVUQ0gJ KDB4MTw8MykKKyNkZWZpbmUgICBHUjE4X0hLX1RPR0dMRV9ESVNQCSgweDI8PDMpCisjZGVmaW5l ICAgR1IxOF9IS19ESVNQX1NXSVRDSAkoMHg0PDwzKSAvKiBzZWUgU1dGMTQgMTU6MCBmb3Igd2hh dCB0byBlbmFibGUgKi8KKyNkZWZpbmUgICBHUjE4X0hLX1BPUFVQX0RJU0FCTEVEICgweDY8PDMp CisjZGVmaW5lICAgR1IxOF9IS19QT1BVUF9FTkFCTEVECSgweDc8PDMpCisjZGVmaW5lICAgR1Ix OF9IS19QRklUCQkoMHg4PDwzKQorI2RlZmluZSAgIEdSMThfSEtfQVBNX0NIQU5HRQkoMHhhPDwz KQorI2RlZmluZSAgIEdSMThfSEtfTVVMVElQTEUJKDB4Yzw8MykKKyNkZWZpbmUgR1IxOF9VU0VS X0lOVF9FTgkoMTw8MikKKyNkZWZpbmUgR1IxOF9BMDAwMF9GTFVTSF9FTgkoMTw8MSkKKyNkZWZp bmUgR1IxOF9TTU1fRU4JCSgxPDwwKQorCisvKiBTZXQgYnkgZHJpdmVyLCBjbGVhcmVkIGJ5IFZC SU9TICovCisjZGVmaW5lIFNXRjAwX1lSRVNfU0hJRlQJMTYKKyNkZWZpbmUgU1dGMDBfWFJFU19T SElGVAkwCisjZGVmaW5lIFNXRjAwX1JFU19NQVNLCQkweGZmZmYKKworLyogU2V0IGJ5IFZCSU9T IGF0IGJvb3QgdGltZSBhbmQgZHJpdmVyIGF0IHJ1bnRpbWUgKi8KKyNkZWZpbmUgU1dGMDFfVFYy X0ZPUk1BVF9TSElGVAk4CisjZGVmaW5lIFNXRjAxX1RWMV9GT1JNQVRfU0hJRlQJMAorI2RlZmlu ZSBTV0YwMV9UVl9GT1JNQVRfTUFTSwkweGZmZmYKKworI2RlZmluZSBTV0YxMF9WQklPU19CTENf STJDX0VOCSgxPDwyOSkKKyNkZWZpbmUgU1dGMTBfR1RUX09WRVJSSURFX0VOCSgxPDwyOCkKKyNk ZWZpbmUgU1dGMTBfTEZQX0RQTVNfT1ZSCSgxPDwyNykgLyogb3ZlcnJpZGUgRFBNUyBvbiBkaXNw bGF5IHN3aXRjaCAqLworI2RlZmluZSBTV0YxMF9BQ1RJVkVfVE9HR0xFX0xJU1RfTUFTSyAoNzw8 MjQpCisjZGVmaW5lICAgU1dGMTBfT0xEX1RPR0dMRQkweDAKKyNkZWZpbmUgICBTV0YxMF9UT0dH TEVfTElTVF8xCTB4MQorI2RlZmluZSAgIFNXRjEwX1RPR0dMRV9MSVNUXzIJMHgyCisjZGVmaW5l ICAgU1dGMTBfVE9HR0xFX0xJU1RfMwkweDMKKyNkZWZpbmUgICBTV0YxMF9UT0dHTEVfTElTVF80 CTB4NAorI2RlZmluZSBTV0YxMF9QQU5OSU5HX0VOCSgxPDwyMykKKyNkZWZpbmUgU1dGMTBfRFJJ VkVSX0xPQURFRAkoMTw8MjIpCisjZGVmaW5lIFNXRjEwX0VYVEVOREVEX0RFU0tUT1AJKDE8PDIx KQorI2RlZmluZSBTV0YxMF9FWENMVVNJVkVfTU9ERQkoMTw8MjApCisjZGVmaW5lIFNXRjEwX09W RVJMQVlfRU4JKDE8PDE5KQorI2RlZmluZSBTV0YxMF9QTEFORUJfSE9MRE9GRgkoMTw8MTgpCisj ZGVmaW5lIFNXRjEwX1BMQU5FQV9IT0xET0ZGCSgxPDwxNykKKyNkZWZpbmUgU1dGMTBfVkdBX0hP TERPRkYJKDE8PDE2KQorI2RlZmluZSBTV0YxMF9BQ1RJVkVfRElTUF9NQVNLCTB4ZmZmZgorI2Rl ZmluZSAgIFNXRjEwX1BJUEVCX0xGUDIJKDE8PDE1KQorI2RlZmluZSAgIFNXRjEwX1BJUEVCX0VG UDIJKDE8PDE0KQorI2RlZmluZSAgIFNXRjEwX1BJUEVCX1RWMgkoMTw8MTMpCisjZGVmaW5lICAg U1dGMTBfUElQRUJfQ1JUMgkoMTw8MTIpCisjZGVmaW5lICAgU1dGMTBfUElQRUJfTEZQCSgxPDwx MSkKKyNkZWZpbmUgICBTV0YxMF9QSVBFQl9FRlAJKDE8PDEwKQorI2RlZmluZSAgIFNXRjEwX1BJ UEVCX1RWCSgxPDw5KQorI2RlZmluZSAgIFNXRjEwX1BJUEVCX0NSVAkoMTw8OCkKKyNkZWZpbmUg ICBTV0YxMF9QSVBFQV9MRlAyCSgxPDw3KQorI2RlZmluZSAgIFNXRjEwX1BJUEVBX0VGUDIJKDE8 PDYpCisjZGVmaW5lICAgU1dGMTBfUElQRUFfVFYyCSgxPDw1KQorI2RlZmluZSAgIFNXRjEwX1BJ UEVBX0NSVDIJKDE8PDQpCisjZGVmaW5lICAgU1dGMTBfUElQRUFfTEZQCSgxPDwzKQorI2RlZmlu ZSAgIFNXRjEwX1BJUEVBX0VGUAkoMTw8MikKKyNkZWZpbmUgICBTV0YxMF9QSVBFQV9UVgkoMTw8 MSkKKyNkZWZpbmUgICBTV0YxMF9QSVBFQV9DUlQJKDE8PDApCisKKyNkZWZpbmUgU1dGMTFfTUVN T1JZX1NJWkVfU0hJRlQJMTYKKyNkZWZpbmUgU1dGMTFfU1ZfVEVTVF9FTgkoMTw8MTUpCisjZGVm aW5lIFNXRjExX0lTX0FHUAkJKDE8PDE0KQorI2RlZmluZSBTV0YxMV9ESVNQTEFZX0hPTERPRkYJ KDE8PDEzKQorI2RlZmluZSBTV0YxMV9EUE1TX1JFRFVDRUQJKDE8PDEyKQorI2RlZmluZSBTV0Yx MV9JU19WQkVfTU9ERQkoMTw8MTEpCisjZGVmaW5lIFNXRjExX1BJUEVCX0FDQ0VTUwkoMTw8MTAp IC8qIDAgaGVyZSBtZWFucyBwaXBlIGEgKi8KKyNkZWZpbmUgU1dGMTFfRFBNU19NQVNLCQkweDA3 CisjZGVmaW5lICAgU1dGMTFfRFBNU19PRkYJKDE8PDIpCisjZGVmaW5lICAgU1dGMTFfRFBNU19T VVNQRU5ECSgxPDwxKQorI2RlZmluZSAgIFNXRjExX0RQTVNfU1RBTkRCWQkoMTw8MCkKKyNkZWZp bmUgICBTV0YxMV9EUE1TX09OCQkwCisKKyNkZWZpbmUgU1dGMTRfR0ZYX1BGSVRfRU4JKDE8PDMx KQorI2RlZmluZSBTV0YxNF9URVhUX1BGSVRfRU4JKDE8PDMwKQorI2RlZmluZSBTV0YxNF9MSURf U1RBVFVTX0NMT1NFRAkoMTw8MjkpIC8qIDAgaGVyZSBtZWFucyBvcGVuICovCisjZGVmaW5lIFNX RjE0X1BPUFVQX0VOCQkoMTw8MjgpCisjZGVmaW5lIFNXRjE0X0RJU1BMQVlfSE9MRE9GRgkoMTw8 MjcpCisjZGVmaW5lIFNXRjE0X0RJU1BfREVURUNUX0VOCSgxPDwyNikKKyNkZWZpbmUgU1dGMTRf RE9DS0lOR19TVEFUVVNfRE9DS0VEICgxPDwyNSkgLyogMCBoZXJlIG1lYW5zIHVuZG9ja2VkICov CisjZGVmaW5lIFNXRjE0X0RSSVZFUl9TVEFUVVMJKDE8PDI0KQorI2RlZmluZSBTV0YxNF9PU19U WVBFX1dJTjlYCSgxPDwyMykKKyNkZWZpbmUgU1dGMTRfT1NfVFlQRV9XSU5OVAkoMTw8MjIpCisv KiAyMToxOSByc3ZkICovCisjZGVmaW5lIFNXRjE0X1BNX1RZUEVfTUFTSwkweDAwMDcwMDAwCisj ZGVmaW5lICAgU1dGMTRfUE1fQUNQSV9WSURFTwkoMHg0IDw8IDE2KQorI2RlZmluZSAgIFNXRjE0 X1BNX0FDUEkJCSgweDMgPDwgMTYpCisjZGVmaW5lICAgU1dGMTRfUE1fQVBNXzEyCSgweDIgPDwg MTYpCisjZGVmaW5lICAgU1dGMTRfUE1fQVBNXzExCSgweDEgPDwgMTYpCisjZGVmaW5lIFNXRjE0 X0hLX1JFUVVFU1RfTUFTSwkweDAwMDBmZmZmIC8qIHNlZSBHUjE4IDY6MyBmb3IgZXZlbnQgdHlw ZSAqLworICAgICAgICAgIC8qIGlmIEdSMTggaW5kaWNhdGVzIGEgZGlzcGxheSBzd2l0Y2ggKi8K KyNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9MRlAyX0VOICgxPDwxNSkKKyNkZWZpbmUgICBTV0Yx NF9EU19QSVBFQl9FRlAyX0VOICgxPDwxNCkKKyNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9UVjJf RU4gICgxPDwxMykKKyNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9DUlQyX0VOICgxPDwxMikKKyNk ZWZpbmUgICBTV0YxNF9EU19QSVBFQl9MRlBfRU4gICgxPDwxMSkKKyNkZWZpbmUgICBTV0YxNF9E U19QSVBFQl9FRlBfRU4gICgxPDwxMCkKKyNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9UVl9FTiAg ICgxPDw5KQorI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX0NSVF9FTiAgKDE8PDgpCisjZGVmaW5l ICAgU1dGMTRfRFNfUElQRUFfTEZQMl9FTiAoMTw8NykKKyNkZWZpbmUgICBTV0YxNF9EU19QSVBF QV9FRlAyX0VOICgxPDw2KQorI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX1RWMl9FTiAgKDE8PDUp CisjZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfQ1JUMl9FTiAoMTw8NCkKKyNkZWZpbmUgICBTV0Yx NF9EU19QSVBFQV9MRlBfRU4gICgxPDwzKQorI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX0VGUF9F TiAgKDE8PDIpCisjZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfVFZfRU4gICAoMTw8MSkKKyNkZWZp bmUgICBTV0YxNF9EU19QSVBFQV9DUlRfRU4gICgxPDwwKQorICAgICAgICAgIC8qIGlmIEdSMTgg aW5kaWNhdGVzIGEgcGFuZWwgZml0dGluZyByZXF1ZXN0ICovCisjZGVmaW5lICAgU1dGMTRfUEZJ VF9FTgkJKDE8PDApIC8qIDAgbWVhbnMgZGlzYWJsZSAqLworICAgICAgICAgIC8qIGlmIEdSMTgg aW5kaWNhdGVzIGFuIEFQTSBjaGFuZ2UgcmVxdWVzdCAqLworI2RlZmluZSAgIFNXRjE0X0FQTV9I SUJFUk5BVEUJMHg0CisjZGVmaW5lICAgU1dGMTRfQVBNX1NVU1BFTkQJMHgzCisjZGVmaW5lICAg U1dGMTRfQVBNX1NUQU5EQlkJMHgxCisjZGVmaW5lICAgU1dGMTRfQVBNX1JFU1RPUkUJMHgwCisK Ky8qIEJsb2NrIDUyIGNvbnRhaW5zIE1JUEkgY29uZmlndXJhdGlvbiBibG9jaworICogNiAqIGJk Yl9taXBpX2NvbmZpZywgZm9sbG93ZWQgYnkgNiBwcHMgZGF0YSBibG9jaworICogYmxvY2sgYmVs b3cKKyAqLworI2RlZmluZSBNQVhfTUlQSV9DT05GSUdVUkFUSU9OUwk2CisKK3N0cnVjdCBiZGJf bWlwaV9jb25maWcgeworCXN0cnVjdCBtaXBpX2NvbmZpZyBjb25maWdbTUFYX01JUElfQ09ORklH VVJBVElPTlNdOworCXN0cnVjdCBtaXBpX3Bwc19kYXRhIHBwc1tNQVhfTUlQSV9DT05GSUdVUkFU SU9OU107Cit9IF9fcGFja2VkOworCisvKiBCbG9jayA1MyBjb250YWlucyBNSVBJIHNlcXVlbmNl cyBhcyBuZWVkZWQgYnkgdGhlIHBhbmVsCisgKiBmb3IgZW5hYmxpbmcgaXQuIFRoaXMgYmxvY2sg Y2FuIGJlIHZhcmlhYmxlIGluIHNpemUgYW5kCisgKiBjYW4gYmUgbWF4aW11bSBvZiA2IGJsb2Nr cworICovCitzdHJ1Y3QgYmRiX21pcGlfc2VxdWVuY2UgeworCXU4IHZlcnNpb247CisJdTggZGF0 YVswXTsKK30gX19wYWNrZWQ7CisKK2VudW0gbWlwaV9ncGlvX3Bpbl9pbmRleCB7CisJTUlQSV9H UElPX1VOREVGSU5FRCA9IDAsCisJTUlQSV9HUElPX1BBTkVMX0VOQUJMRSwKKwlNSVBJX0dQSU9f QkxfRU5BQkxFLAorCU1JUElfR1BJT19QV01fRU5BQkxFLAorCU1JUElfR1BJT19SRVNFVF9OLAor CU1JUElfR1BJT19QV1JfRE9XTl9SLAorCU1JUElfR1BJT19TVERCWV9SU1RfTiwKKwlNSVBJX0dQ SU9fTUFYCit9OworCisjZW5kaWYgLyogX0lOVEVMX1ZCVF9ERUZTX0hfICovCi0tIAoyLjExLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=