From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id CAA4B8991D for ; Wed, 5 Jun 2019 12:30:04 +0000 (UTC) From: Jani Nikula Date: Wed, 5 Jun 2019 15:33:00 +0300 Message-Id: <20190605123300.2709-1-jani.nikula@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] tools/intel_vbt_decode: update vbt defs from kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: jani.nikula@intel.com List-ID: U3luYyB1cCB0byBjb21taXQgZjQxYzYxNTMxMGQyICgiZHJtL2k5MTUvYmlvczogYWRkIGFuIGVu dW0gZm9yIEJEQgpibG9jayBJRHMiKSBpbiBrZXJuZWwgaW50ZWxfdmJ0X2RlZnMuaCwgYW5kIHVw ZGF0ZSB0aGUgdG9vbCB3aXRoIHRoZQpzdHJ1Y3QgcmVuYW1lcy4KClNpZ25lZC1vZmYtYnk6IEph bmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Ci0tLQogdG9vbHMvaW50ZWxfdmJ0X2Rl Y29kZS5jIHwgICA2ICstCiB0b29scy9pbnRlbF92YnRfZGVmcy5oICAgfCA2NTcgKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI4MCBpbnNl cnRpb25zKCspLCAzODMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvaW50ZWxfdmJ0 X2RlY29kZS5jIGIvdG9vbHMvaW50ZWxfdmJ0X2RlY29kZS5jCmluZGV4IGQ4MGIxZGFlNzcyNS4u MzhlY2NjNDhmMzhiIDEwMDY0NAotLS0gYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMKKysrIGIv dG9vbHMvaW50ZWxfdmJ0X2RlY29kZS5jCkBAIC0yMjgsNyArMjI4LDcgQEAgc3RhdGljIHZvaWQg ZHVtcF9iYWNrbGlnaHRfaW5mbyhzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJCQljb25zdCBz dHJ1Y3QgYmRiX2Jsb2NrICpibG9jaykKIHsKIAljb25zdCBzdHJ1Y3QgYmRiX2xmcF9iYWNrbGln aHRfZGF0YSAqYmFja2xpZ2h0ID0gYmxvY2stPmRhdGE7Ci0JY29uc3Qgc3RydWN0IGJkYl9sZnBf YmFja2xpZ2h0X2RhdGFfZW50cnkgKmJsYzsKKwljb25zdCBzdHJ1Y3QgbGZwX2JhY2tsaWdodF9k YXRhX2VudHJ5ICpibGM7CiAKIAlpZiAoc2l6ZW9mKCpibGMpICE9IGJhY2tsaWdodC0+ZW50cnlf c2l6ZSkgewogCQlwcmludGYoIlx0QmFja2xpZ2h0IHN0cnVjdCBzaXplcyBkb24ndCBtYXRjaCAo ZXhwZWN0ZWQgJXp1LCBnb3QgJXUpLCBza2lwcGluZ1xuIiwKQEAgLTYyOSw4ICs2MjksOCBAQCBz dGF0aWMgdm9pZCBkdW1wX2x2ZHNfZGF0YShzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJY29u c3QgdWludDhfdCAqbGZwX2RhdGFfcHRyID0KIAkJICAgIChjb25zdCB1aW50OF90ICopIGx2ZHNf ZGF0YS0+ZGF0YSArIGxmcF9kYXRhX3NpemUgKiBpOwogCQljb25zdCB1aW50OF90ICp0aW1pbmdf ZGF0YSA9IGxmcF9kYXRhX3B0ciArIGR2b19vZmZzZXQ7Ci0JCWNvbnN0IHN0cnVjdCBiZGJfbHZk c19sZnBfZGF0YV9lbnRyeSAqbGZwX2RhdGEgPQotCQkgICAgKGNvbnN0IHN0cnVjdCBiZGJfbHZk c19sZnBfZGF0YV9lbnRyeSAqKWxmcF9kYXRhX3B0cjsKKwkJY29uc3Qgc3RydWN0IGx2ZHNfbGZw X2RhdGFfZW50cnkgKmxmcF9kYXRhID0KKwkJICAgIChjb25zdCBzdHJ1Y3QgbHZkc19sZnBfZGF0 YV9lbnRyeSAqKWxmcF9kYXRhX3B0cjsKIAkJY2hhciBtYXJrZXI7CiAKIAkJaWYgKGkgIT0gY29u dGV4dC0+cGFuZWxfdHlwZSAmJiAhY29udGV4dC0+ZHVtcF9hbGxfcGFuZWxfdHlwZXMpCmRpZmYg LS1naXQgYS90b29scy9pbnRlbF92YnRfZGVmcy5oIGIvdG9vbHMvaW50ZWxfdmJ0X2RlZnMuaApp bmRleCAzZjVlZmY0OTEwNWIuLjg5ZWYxNGNhZmI2YiAxMDA2NDQKLS0tIGEvdG9vbHMvaW50ZWxf dmJ0X2RlZnMuaAorKysgYi90b29scy9pbnRlbF92YnRfZGVmcy5oCkBAIC03NSw2NSArNzUsNTEg QEAgc3RydWN0IGJkYl9oZWFkZXIgewogCXUxNiBiZGJfc2l6ZTsKIH0gX19wYWNrZWQ7CiAKLS8q IHN0cmljdGx5IHNwZWFraW5nLCB0aGlzIGlzIGEgInNraXAiIGJsb2NrLCBidXQgaXQgaGFzIGlu dGVyZXN0aW5nIGluZm8gKi8KLXN0cnVjdCB2Ymlvc19kYXRhIHsKLQl1OCB0eXBlOyAvKiAwID09 IGRlc2t0b3AsIDEgPT0gbW9iaWxlICovCi0JdTggcmVsc3RhZ2U7Ci0JdTggY2hpcHNldDsKLQl1 OCBsdmRzX3ByZXNlbnQ6MTsKLQl1OCB0dl9wcmVzZW50OjE7Ci0JdTggcnN2ZDI6NjsgLyogZmlu aXNoIGJ5dGUgKi8KLQl1OCByc3ZkM1s0XTsKLQl1OCBzaWdub25bMTU1XTsKLQl1OCBjb3B5cmln aHRbNjFdOwotCXUxNiBjb2RlX3NlZ21lbnQ7Ci0JdTggZG9zX2Jvb3RfbW9kZTsKLQl1OCBiYW5k d2lkdGhfcGVyY2VudDsKLQl1OCByc3ZkNDsgLyogcG9wdXAgbWVtb3J5IHNpemUgKi8KLQl1OCBy ZXNpemVfcGNpX2Jpb3M7Ci0JdTggcnN2ZDU7IC8qIGlzIGNydCBhbHJlYWR5IG9uIGRkYzIgKi8K LX0gX19wYWNrZWQ7Ci0KIC8qCiAgKiBUaGVyZSBhcmUgc2V2ZXJhbCB0eXBlcyBvZiBCSU9TIGRh dGEgYmxvY2tzIChCREJzKSwgZWFjaCBibG9jayBoYXMKICAqIGFuIElEIGFuZCBzaXplIGluIHRo ZSBmaXJzdCAzIGJ5dGVzIChJRCBpbiBmaXJzdCwgc2l6ZSBpbiBuZXh0IDIpLgogICogS25vd24g dHlwZXMgYXJlIGxpc3RlZCBiZWxvdy4KICAqLwotI2RlZmluZSBCREJfR0VORVJBTF9GRUFUVVJF UwkgIDEKLSNkZWZpbmUgQkRCX0dFTkVSQUxfREVGSU5JVElPTlMJICAyCi0jZGVmaW5lIEJEQl9P TERfVE9HR0xFX0xJU1QJICAzCi0jZGVmaW5lIEJEQl9NT0RFX1NVUFBPUlRfTElTVAkgIDQKLSNk ZWZpbmUgQkRCX0dFTkVSSUNfTU9ERV9UQUJMRQkgIDUKLSNkZWZpbmUgQkRCX0VYVF9NTUlPX1JF R1MJICA2Ci0jZGVmaW5lIEJEQl9TV0ZfSU8JCSAgNwotI2RlZmluZSBCREJfU1dGX01NSU8JCSAg OAotI2RlZmluZSBCREJfUFNSCQkJICA5Ci0jZGVmaW5lIEJEQl9NT0RFX1JFTU9WQUxfVEFCTEUJ IDEwCi0jZGVmaW5lIEJEQl9DSElMRF9ERVZJQ0VfVEFCTEUJIDExCi0jZGVmaW5lIEJEQl9EUklW RVJfRkVBVFVSRVMJIDEyCi0jZGVmaW5lIEJEQl9EUklWRVJfUEVSU0lTVEVOQ0UJIDEzCi0jZGVm aW5lIEJEQl9FWFRfVEFCTEVfUFRSUwkgMTQKLSNkZWZpbmUgQkRCX0RPVF9DTE9DS19PVkVSUklE RQkgMTUKLSNkZWZpbmUgQkRCX0RJU1BMQVlfU0VMRUNUCSAxNgotLyogMTcgcnN2ZCAqLwotI2Rl ZmluZSBCREJfRFJJVkVSX1JPVEFUSU9OCSAxOAotI2RlZmluZSBCREJfRElTUExBWV9SRU1PVkUJ IDE5Ci0jZGVmaW5lIEJEQl9PRU1fQ1VTVE9NCQkgMjAKLSNkZWZpbmUgQkRCX0VGUF9MSVNUCQkg MjEgLyogd29ya2Fyb3VuZHMgZm9yIFZHQSBoc3luYy92c3luYyAqLwotI2RlZmluZSBCREJfU0RW T19MVkRTX09QVElPTlMJIDIyCi0jZGVmaW5lIEJEQl9TRFZPX1BBTkVMX0RURFMJIDIzCi0jZGVm aW5lIEJEQl9TRFZPX0xWRFNfUE5QX0lEUwkgMjQKLSNkZWZpbmUgQkRCX1NEVk9fTFZEU19QT1dF Ul9TRVEJIDI1Ci0jZGVmaW5lIEJEQl9UVl9PUFRJT05TCQkgMjYKLSNkZWZpbmUgQkRCX0VEUAkJ CSAyNwotI2RlZmluZSBCREJfTFZEU19PUFRJT05TCSA0MAotI2RlZmluZSBCREJfTFZEU19MRlBf REFUQV9QVFJTCSA0MQotI2RlZmluZSBCREJfTFZEU19MRlBfREFUQQkgNDIKLSNkZWZpbmUgQkRC X0xWRFNfQkFDS0xJR0hUCSA0MwotI2RlZmluZSBCREJfTFZEU19QT1dFUgkJIDQ0Ci0jZGVmaW5l IEJEQl9NSVBJX0NPTkZJRwkJIDUyCi0jZGVmaW5lIEJEQl9NSVBJX1NFUVVFTkNFCSA1MwotI2Rl ZmluZSBCREJfU0tJUAkJMjU0IC8qIFZCSU9TIHByaXZhdGUgYmxvY2ssIGlnbm9yZSAqLworZW51 bSBiZGJfYmxvY2tfaWQgeworCUJEQl9HRU5FUkFMX0ZFQVRVUkVTCQk9IDEsCisJQkRCX0dFTkVS QUxfREVGSU5JVElPTlMJCT0gMiwKKwlCREJfT0xEX1RPR0dMRV9MSVNUCQk9IDMsCisJQkRCX01P REVfU1VQUE9SVF9MSVNUCQk9IDQsCisJQkRCX0dFTkVSSUNfTU9ERV9UQUJMRQkJPSA1LAorCUJE Ql9FWFRfTU1JT19SRUdTCQk9IDYsCisJQkRCX1NXRl9JTwkJCT0gNywKKwlCREJfU1dGX01NSU8J CQk9IDgsCisJQkRCX1BTUgkJCQk9IDksCisJQkRCX01PREVfUkVNT1ZBTF9UQUJMRQkJPSAxMCwK KwlCREJfQ0hJTERfREVWSUNFX1RBQkxFCQk9IDExLAorCUJEQl9EUklWRVJfRkVBVFVSRVMJCT0g MTIsCisJQkRCX0RSSVZFUl9QRVJTSVNURU5DRQkJPSAxMywKKwlCREJfRVhUX1RBQkxFX1BUUlMJ CT0gMTQsCisJQkRCX0RPVF9DTE9DS19PVkVSUklERQkJPSAxNSwKKwlCREJfRElTUExBWV9TRUxF Q1QJCT0gMTYsCisJQkRCX0RSSVZFUl9ST1RBVElPTgkJPSAxOCwKKwlCREJfRElTUExBWV9SRU1P VkUJCT0gMTksCisJQkRCX09FTV9DVVNUT00JCQk9IDIwLAorCUJEQl9FRlBfTElTVAkJCT0gMjEs IC8qIHdvcmthcm91bmRzIGZvciBWR0EgaHN5bmMvdnN5bmMgKi8KKwlCREJfU0RWT19MVkRTX09Q VElPTlMJCT0gMjIsCisJQkRCX1NEVk9fUEFORUxfRFREUwkJPSAyMywKKwlCREJfU0RWT19MVkRT X1BOUF9JRFMJCT0gMjQsCisJQkRCX1NEVk9fTFZEU19QT1dFUl9TRVEJCT0gMjUsCisJQkRCX1RW X09QVElPTlMJCQk9IDI2LAorCUJEQl9FRFAJCQkJPSAyNywKKwlCREJfTFZEU19PUFRJT05TCQk9 IDQwLAorCUJEQl9MVkRTX0xGUF9EQVRBX1BUUlMJCT0gNDEsCisJQkRCX0xWRFNfTEZQX0RBVEEJ CT0gNDIsCisJQkRCX0xWRFNfQkFDS0xJR0hUCQk9IDQzLAorCUJEQl9MVkRTX1BPV0VSCQkJPSA0 NCwKKwlCREJfTUlQSV9DT05GSUcJCQk9IDUyLAorCUJEQl9NSVBJX1NFUVVFTkNFCQk9IDUzLAor CUJEQl9TS0lQCQkJPSAyNTQsIC8qIFZCSU9TIHByaXZhdGUgYmxvY2ssIGlnbm9yZSAqLworfTsK KworLyoKKyAqIEJsb2NrIDEgLSBHZW5lcmFsIEJpdCBEZWZpbml0aW9ucworICovCiAKIHN0cnVj dCBiZGJfZ2VuZXJhbF9mZWF0dXJlcyB7CiAgICAgICAgIC8qIGJpdHMgMSAqLwpAQCAtMTc2LDYg KzE2MiwxMCBAQCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZmVhdHVyZXMgewogCXU4IHJzdmQxMToyOyAv KiBmaW5pc2ggYnl0ZSAqLwogfSBfX3BhY2tlZDsKIAorLyoKKyAqIEJsb2NrIDIgLSBHZW5lcmFs IEJ5dGVzIERlZmluaXRpb24KKyAqLworCiAvKiBwcmUtOTE1ICovCiAjZGVmaW5lIEdQSU9fUElO X0RWSV9MVkRTCTB4MDMgLyogIkRWSS9MVkRTIEREQyBHUElPIHBpbnMiICovCiAjZGVmaW5lIEdQ SU9fUElOX0FERF9JMkMJMHgwNSAvKiAiQUREQ0FSRCBJMkMgR1BJTyBwaW5zIiAqLwpAQCAtMjk5 LDYgKzI4OSw4IEBAIHN0cnVjdCBiZGJfZ2VuZXJhbF9mZWF0dXJlcyB7CiAjZGVmaW5lIERWT19Q T1JUX0RQQQkJMTAKICNkZWZpbmUgRFZPX1BPUlRfRFBFCQkxMQkJCQkvKiAxOTMgKi8KICNkZWZp bmUgRFZPX1BPUlRfSERNSUUJCTEyCQkJCS8qIDE5MyAqLworI2RlZmluZSBEVk9fUE9SVF9EUEYJ CTEzCQkJCS8qIE4vQSAqLworI2RlZmluZSBEVk9fUE9SVF9IRE1JRgkJMTQJCQkJLyogTi9BICov CiAjZGVmaW5lIERWT19QT1JUX01JUElBCQkyMQkJCQkvKiAxNzEgKi8KICNkZWZpbmUgRFZPX1BP UlRfTUlQSUIJCTIyCQkJCS8qIDE3MSAqLwogI2RlZmluZSBEVk9fUE9SVF9NSVBJQwkJMjMJCQkJ LyogMTcxICovCkBAIC0zMTYsOCArMzA4LDI2IEBAIGVudW0gdmJ0X2dtYnVzX2RkaSB7CiAJRERD X0JVU19ERElfQywKIAlERENfQlVTX0RESV9ELAogCUREQ19CVVNfRERJX0YsCisJSUNMX0REQ19C VVNfRERJX0EgPSAweDEsCisJSUNMX0REQ19CVVNfRERJX0IsCisJSUNMX0REQ19CVVNfUE9SVF8x ID0gMHg0LAorCUlDTF9ERENfQlVTX1BPUlRfMiwKKwlJQ0xfRERDX0JVU19QT1JUXzMsCisJSUNM X0REQ19CVVNfUE9SVF80LAogfTsKIAorI2RlZmluZSBEUF9BVVhfQSAweDQwCisjZGVmaW5lIERQ X0FVWF9CIDB4MTAKKyNkZWZpbmUgRFBfQVVYX0MgMHgyMAorI2RlZmluZSBEUF9BVVhfRCAweDMw CisjZGVmaW5lIERQX0FVWF9FIDB4NTAKKyNkZWZpbmUgRFBfQVVYX0YgMHg2MAorCisjZGVmaW5l IFZCVF9EUF9NQVhfTElOS19SQVRFX0hCUjMJMAorI2RlZmluZSBWQlRfRFBfTUFYX0xJTktfUkFU RV9IQlIyCTEKKyNkZWZpbmUgVkJUX0RQX01BWF9MSU5LX1JBVEVfSEJSCTIKKyNkZWZpbmUgVkJU X0RQX01BWF9MSU5LX1JBVEVfTEJSCTMKKwogLyoKICAqIFRoZSBjaGlsZCBkZXZpY2UgY29uZmln LCBha2EgdGhlIGRpc3BsYXkgZGV2aWNlIGRhdGEgc3RydWN0dXJlLCBwcm92aWRlcyBhCiAgKiBk ZXNjcmlwdGlvbiBvZiBhIHBvcnQgYW5kIGl0cyBjb25maWd1cmF0aW9uIG9uIHRoZSBwbGF0Zm9y bS4KQEAgLTM4Miw3ICszOTIsOCBAQCBzdHJ1Y3QgY2hpbGRfZGV2aWNlX2NvbmZpZyB7CiAJCQl1 OCBsc3Bjb246MTsJCQkJLyogMTkyICovCiAJCQl1OCBpYm9vc3Q6MTsJCQkJLyogMTk2ICovCiAJ CQl1OCBocGRfaW52ZXJ0OjE7CQkJLyogMTk2ICovCi0JCQl1OCBmbGFnX3Jlc2VydmVkOjM7CisJ CQl1OCB1c2VfdmJ0X3Zzd2luZzoxOwkJCS8qIDIxOCAqLworCQkJdTggZmxhZ19yZXNlcnZlZDoy OwogCQkJdTggaGRtaV9zdXBwb3J0OjE7CQkJLyogMTU4ICovCiAJCQl1OCBkcF9zdXBwb3J0OjE7 CQkJLyogMTU4ICovCiAJCQl1OCB0bWRzX3N1cHBvcnQ6MTsJCQkvKiAxNTggKi8KQEAgLTQwNyw3 ICs0MTgsOSBAQCBzdHJ1Y3QgY2hpbGRfZGV2aWNlX2NvbmZpZyB7CiAJdTE2IGV4dGVuZGVkX3R5 cGU7CiAJdTggZHZvX2Z1bmN0aW9uOwogCXU4IGRwX3VzYl90eXBlX2M6MTsJCQkJCS8qIDE5NSAq LwotCXU4IGZsYWdzMl9yZXNlcnZlZDo3OwkJCQkJLyogMTk1ICovCisJdTggdGJ0OjE7CQkJCQkJ LyogMjA5ICovCisJdTggZmxhZ3MyX3Jlc2VydmVkOjI7CQkJCQkvKiAxOTUgKi8KKwl1OCBkcF9w b3J0X3RyYWNlX2xlbmd0aDo0OwkJCQkvKiAyMDkgKi8KIAl1OCBkcF9ncGlvX2luZGV4OwkJCQkJ LyogMTk1ICovCiAJdTE2IGRwX2dwaW9fcGluX251bTsJCQkJCS8qIDE5NSAqLwogCXU4IGRwX2li b29zdF9sZXZlbDo0OwkJCQkJLyogMTk2ICovCkBAIC00NDEsMTk0ICs0NTQsNDQgQEAgc3RydWN0 IGJkYl9nZW5lcmFsX2RlZmluaXRpb25zIHsKIAkgKiBudW1iZXIgPSAoYmxvY2tfc2l6ZSAtIHNp emVvZihiZGJfZ2VuZXJhbF9kZWZpbml0aW9ucykpLwogCSAqCSAgICAgZGVmcy0+Y2hpbGRfZGV2 X3NpemU7CiAJICovCi0JdWludDhfdCBkZXZpY2VzWzBdOwotfSBfX3BhY2tlZDsKLQotLyogTWFz ayBmb3IgRFJSUyAvIFBhbmVsIENoYW5uZWwgLyBTU0MgLyBCTFQgY29udHJvbCBiaXRzIGV4dHJh Y3Rpb24gKi8KLSNkZWZpbmUgTU9ERV9NQVNLCQkweDMKLQotc3RydWN0IGJkYl9sdmRzX29wdGlv bnMgewotCXU4IHBhbmVsX3R5cGU7Ci0JdTggcnN2ZDE7Ci0JLyogTFZEUyBjYXBhYmlsaXRpZXMs IHN0b3JlZCBpbiBhIGR3b3JkICovCi0JdTggcGZpdF9tb2RlOjI7Ci0JdTggcGZpdF90ZXh0X21v ZGVfZW5oYW5jZWQ6MTsKLQl1OCBwZml0X2dmeF9tb2RlX2VuaGFuY2VkOjE7Ci0JdTggcGZpdF9y YXRpb19hdXRvOjE7Ci0JdTggcGl4ZWxfZGl0aGVyOjE7Ci0JdTggbHZkc19lZGlkOjE7Ci0JdTgg cnN2ZDI6MTsKLQl1OCByc3ZkNDsKLQkvKiBMVkRTIFBhbmVsIGNoYW5uZWwgYml0cyBzdG9yZWQg aGVyZSAqLwotCXUzMiBsdmRzX3BhbmVsX2NoYW5uZWxfYml0czsKLQkvKiBMVkRTIFNTQyAoU3By ZWFkIFNwZWN0cnVtIENsb2NrKSBiaXRzIHN0b3JlZCBoZXJlLiAqLwotCXUxNiBzc2NfYml0czsK LQl1MTYgc3NjX2ZyZXE7Ci0JdTE2IHNzY19kZHQ7Ci0JLyogUGFuZWwgY29sb3IgZGVwdGggZGVm aW5lZCBoZXJlICovCi0JdTE2IHBhbmVsX2NvbG9yX2RlcHRoOwotCS8qIExWRFMgcGFuZWwgdHlw ZSBiaXRzIHN0b3JlZCBoZXJlICovCi0JdTMyIGRwc19wYW5lbF90eXBlX2JpdHM7Ci0JLyogTFZE UyBiYWNrbGlnaHQgY29udHJvbCB0eXBlIGJpdHMgc3RvcmVkIGhlcmUgKi8KLQl1MzIgYmx0X2Nv bnRyb2xfdHlwZV9iaXRzOwotfSBfX3BhY2tlZDsKLQotLyogTEZQIHBvaW50ZXIgdGFibGUgY29u dGFpbnMgZW50cmllcyB0byB0aGUgc3RydWN0IGJlbG93ICovCi1zdHJ1Y3QgYmRiX2x2ZHNfbGZw X2RhdGFfcHRyIHsKLQl1MTYgZnBfdGltaW5nX29mZnNldDsgLyogb2Zmc2V0cyBhcmUgZnJvbSBz dGFydCBvZiBiZGIgKi8KLQl1OCBmcF90YWJsZV9zaXplOwotCXUxNiBkdm9fdGltaW5nX29mZnNl dDsKLQl1OCBkdm9fdGFibGVfc2l6ZTsKLQl1MTYgcGFuZWxfcG5wX2lkX29mZnNldDsKLQl1OCBw bnBfdGFibGVfc2l6ZTsKLX0gX19wYWNrZWQ7Ci0KLXN0cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9w dHJzIHsKLQl1OCBsdmRzX2VudHJpZXM7IC8qIGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGx2ZHNf ZGF0YV9wdHIgc3RydWN0cyAqLwotCXN0cnVjdCBiZGJfbHZkc19sZnBfZGF0YV9wdHIgcHRyWzE2 XTsKLX0gX19wYWNrZWQ7Ci0KLS8qIExGUCBkYXRhIGhhcyAzIGJsb2NrcyBwZXIgZW50cnkgKi8K LXN0cnVjdCBsdmRzX2ZwX3RpbWluZyB7Ci0JdTE2IHhfcmVzOwotCXUxNiB5X3JlczsKLQl1MzIg bHZkc19yZWc7Ci0JdTMyIGx2ZHNfcmVnX3ZhbDsKLQl1MzIgcHBfb25fcmVnOwotCXUzMiBwcF9v bl9yZWdfdmFsOwotCXUzMiBwcF9vZmZfcmVnOwotCXUzMiBwcF9vZmZfcmVnX3ZhbDsKLQl1MzIg cHBfY3ljbGVfcmVnOwotCXUzMiBwcF9jeWNsZV9yZWdfdmFsOwotCXUzMiBwZml0X3JlZzsKLQl1 MzIgcGZpdF9yZWdfdmFsOwotCXUxNiB0ZXJtaW5hdG9yOworCXU4IGRldmljZXNbMF07CiB9IF9f cGFja2VkOwogCi1zdHJ1Y3QgbHZkc19kdm9fdGltaW5nIHsKLQl1MTYgY2xvY2s7CQkvKio8IElu IDEwa2h6ICovCi0JdTggaGFjdGl2ZV9sbzsKLQl1OCBoYmxhbmtfbG87Ci0JdTggaGJsYW5rX2hp OjQ7Ci0JdTggaGFjdGl2ZV9oaTo0OwotCXU4IHZhY3RpdmVfbG87Ci0JdTggdmJsYW5rX2xvOwot CXU4IHZibGFua19oaTo0OwotCXU4IHZhY3RpdmVfaGk6NDsKLQl1OCBoc3luY19vZmZfbG87Ci0J dTggaHN5bmNfcHVsc2Vfd2lkdGhfbG87Ci0JdTggdnN5bmNfcHVsc2Vfd2lkdGhfbG86NDsKLQl1 OCB2c3luY19vZmZfbG86NDsKLQl1OCB2c3luY19wdWxzZV93aWR0aF9oaToyOwotCXU4IHZzeW5j X29mZl9oaToyOwotCXU4IGhzeW5jX3B1bHNlX3dpZHRoX2hpOjI7Ci0JdTggaHN5bmNfb2ZmX2hp OjI7Ci0JdTggaGltYWdlX2xvOwotCXU4IHZpbWFnZV9sbzsKLQl1OCB2aW1hZ2VfaGk6NDsKLQl1 OCBoaW1hZ2VfaGk6NDsKLQl1OCBoX2JvcmRlcjsKLQl1OCB2X2JvcmRlcjsKLQl1OCByc3ZkMToz OwotCXU4IGRpZ2l0YWw6MjsKLQl1OCB2c3luY19wb3NpdGl2ZToxOwotCXU4IGhzeW5jX3Bvc2l0 aXZlOjE7Ci0JdTggbm9uX2ludGVybGFjZWQ6MTsKLX0gX19wYWNrZWQ7Ci0KLXN0cnVjdCBsdmRz X3BucF9pZCB7Ci0JdTE2IG1mZ19uYW1lOwotCXUxNiBwcm9kdWN0X2NvZGU7Ci0JdTMyIHNlcmlh bDsKLQl1OCBtZmdfd2VlazsKLQl1OCBtZmdfeWVhcjsKLX0gX19wYWNrZWQ7Ci0KLXN0cnVjdCBi ZGJfbHZkc19sZnBfZGF0YV9lbnRyeSB7Ci0Jc3RydWN0IGx2ZHNfZnBfdGltaW5nIGZwX3RpbWlu ZzsKLQlzdHJ1Y3QgbHZkc19kdm9fdGltaW5nIGR2b190aW1pbmc7Ci0Jc3RydWN0IGx2ZHNfcG5w X2lkIHBucF9pZDsKLX0gX19wYWNrZWQ7Ci0KLXN0cnVjdCBiZGJfbHZkc19sZnBfZGF0YSB7Ci0J c3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX2VudHJ5IGRhdGFbMTZdOwotfSBfX3BhY2tlZDsKLQot I2RlZmluZSBCREJfQkFDS0xJR0hUX1RZUEVfTk9ORQkwCi0jZGVmaW5lIEJEQl9CQUNLTElHSFRf VFlQRV9QV00JMgotCi1zdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSB7Ci0JdTgg dHlwZToyOwotCXU4IGFjdGl2ZV9sb3dfcHdtOjE7Ci0JdTggb2Jzb2xldGUxOjU7Ci0JdTE2IHB3 bV9mcmVxX2h6OwotCXU4IG1pbl9icmlnaHRuZXNzOwotCXU4IG9ic29sZXRlMjsKLQl1OCBvYnNv bGV0ZTM7Ci19IF9fcGFja2VkOwotCi1zdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfY29udHJvbF9t ZXRob2QgewotCXU4IHR5cGU6NDsKLQl1OCBjb250cm9sbGVyOjQ7Ci19IF9fcGFja2VkOwotCi1z dHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0YSB7Ci0JdTggZW50cnlfc2l6ZTsKLQlzdHJ1Y3Qg YmRiX2xmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSBkYXRhWzE2XTsKLQl1OCBsZXZlbFsxNl07Ci0J c3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0X2NvbnRyb2xfbWV0aG9kIGJhY2tsaWdodF9jb250cm9s WzE2XTsKLX0gX19wYWNrZWQ7CisvKgorICogQmxvY2sgOSAtIFNSRCBGZWF0dXJlIEJsb2NrCisg Ki8KIAotc3RydWN0IGFpbWRiX2hlYWRlciB7Ci0JY2hhciBzaWduYXR1cmVbMTZdOwotCWNoYXIg b2VtX2RldmljZVsyMF07Ci0JdTE2IGFpbWRiX3ZlcnNpb247Ci0JdTE2IGFpbWRiX2hlYWRlcl9z aXplOwotCXUxNiBhaW1kYl9zaXplOwotfSBfX3BhY2tlZDsKK3N0cnVjdCBwc3JfdGFibGUgewor CS8qIEZlYXR1cmUgYml0cyAqLworCXU4IGZ1bGxfbGluazoxOworCXU4IHJlcXVpcmVfYXV4X3Rv X3dha2V1cDoxOworCXU4IGZlYXR1cmVfYml0c19yc3ZkOjY7CiAKLXN0cnVjdCBhaW1kYl9ibG9j ayB7Ci0JdTggYWltZGJfaWQ7Ci0JdTE2IGFpbWRiX3NpemU7Ci19IF9fcGFja2VkOworCS8qIFdh aXQgdGltZXMgKi8KKwl1OCBpZGxlX2ZyYW1lczo0OworCXU4IGxpbmVzX3RvX3dhaXQ6MzsKKwl1 OCB3YWl0X3RpbWVzX3JzdmQ6MTsKIAotc3RydWN0IHZjaF9wYW5lbF9kYXRhIHsKLQl1MTYgZnBf dGltaW5nX29mZnNldDsKLQl1OCBmcF90aW1pbmdfc2l6ZTsKLQl1MTYgZHZvX3RpbWluZ19vZmZz ZXQ7Ci0JdTggZHZvX3RpbWluZ19zaXplOwotCXUxNiB0ZXh0X2ZpdHRpbmdfb2Zmc2V0OwotCXU4 IHRleHRfZml0dGluZ19zaXplOwotCXUxNiBncmFwaGljc19maXR0aW5nX29mZnNldDsKLQl1OCBn cmFwaGljc19maXR0aW5nX3NpemU7Ci19IF9fcGFja2VkOworCS8qIFRQIHdha2UgdXAgdGltZSBp biBtdWx0aXBsZSBvZiAxMDAgKi8KKwl1MTYgdHAxX3dha2V1cF90aW1lOworCXUxNiB0cDJfdHAz X3dha2V1cF90aW1lOwogCi1zdHJ1Y3QgdmNoX2JkYl8yMiB7Ci0Jc3RydWN0IGFpbWRiX2Jsb2Nr IGFpbWRiX2Jsb2NrOwotCXN0cnVjdCB2Y2hfcGFuZWxfZGF0YSBwYW5lbHNbMTZdOworCS8qIFBT UjIgVFAyL1RQMyB3YWtldXAgdGltZSBmb3IgMTYgcGFuZWxzICovCisJdTMyIHBzcjJfdHAyX3Rw M193YWtldXBfdGltZTsKIH0gX19wYWNrZWQ7CiAKLXN0cnVjdCBiZGJfc2R2b19sdmRzX29wdGlv bnMgewotCXU4IHBhbmVsX2JhY2tsaWdodDsKLQl1OCBoNDBfc2V0X3BhbmVsX3R5cGU7Ci0JdTgg cGFuZWxfdHlwZTsKLQl1OCBzc2NfY2xrX2ZyZXE7Ci0JdTE2IGFsc19sb3dfdHJpcDsKLQl1MTYg YWxzX2hpZ2hfdHJpcDsKLQl1OCBzY2xhbGFyY29lZmZfdGFiX3Jvd19udW07Ci0JdTggc2NsYWxh cmNvZWZmX3RhYl9yb3dfc2l6ZTsKLQl1OCBjb2VmZmljaWVudFs4XTsKLQl1OCBwYW5lbF9taXNj X2JpdHNfMTsKLQl1OCBwYW5lbF9taXNjX2JpdHNfMjsKLQl1OCBwYW5lbF9taXNjX2JpdHNfMzsK LQl1OCBwYW5lbF9taXNjX2JpdHNfNDsKK3N0cnVjdCBiZGJfcHNyIHsKKwlzdHJ1Y3QgcHNyX3Rh YmxlIHBzcl90YWJsZVsxNl07CiB9IF9fcGFja2VkOwogCisvKgorICogQmxvY2sgMTIgLSBEcml2 ZXIgRmVhdHVyZXMgRGF0YSBCbG9jaworICovCiAKICNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJF X05PX0xWRFMJCTAKICNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX0lOVF9MVkRTCQkxCiAjZGVm aW5lIEJEQl9EUklWRVJfRkVBVFVSRV9TRFZPX0xWRFMJCTIKLSNkZWZpbmUgQkRCX0RSSVZFUl9G RUFUVVJFX0VEUAkJCTMKKyNkZWZpbmUgQkRCX0RSSVZFUl9GRUFUVVJFX0lOVF9TRFZPX0xWRFMJ MwogCiBzdHJ1Y3QgYmRiX2RyaXZlcl9mZWF0dXJlcyB7CiAJdTggYm9vdF9kZXZfYWxnb3JpdGht OjE7CkBAIC02ODQsNiArNTQ3LDY5IEBAIHN0cnVjdCBiZGJfZHJpdmVyX2ZlYXR1cmVzIHsKIAl1 MTYgcGNfZmVhdHVyZV92YWxpZDoxOwogfSBfX3BhY2tlZDsKIAorLyoKKyAqIEJsb2NrIDIyIC0g U0RWTyBMVkRTIEdlbmVyYWwgT3B0aW9ucworICovCisKK3N0cnVjdCBiZGJfc2R2b19sdmRzX29w dGlvbnMgeworCXU4IHBhbmVsX2JhY2tsaWdodDsKKwl1OCBoNDBfc2V0X3BhbmVsX3R5cGU7CisJ dTggcGFuZWxfdHlwZTsKKwl1OCBzc2NfY2xrX2ZyZXE7CisJdTE2IGFsc19sb3dfdHJpcDsKKwl1 MTYgYWxzX2hpZ2hfdHJpcDsKKwl1OCBzY2xhbGFyY29lZmZfdGFiX3Jvd19udW07CisJdTggc2Ns YWxhcmNvZWZmX3RhYl9yb3dfc2l6ZTsKKwl1OCBjb2VmZmljaWVudFs4XTsKKwl1OCBwYW5lbF9t aXNjX2JpdHNfMTsKKwl1OCBwYW5lbF9taXNjX2JpdHNfMjsKKwl1OCBwYW5lbF9taXNjX2JpdHNf MzsKKwl1OCBwYW5lbF9taXNjX2JpdHNfNDsKK30gX19wYWNrZWQ7CisKKy8qCisgKiBCbG9jayAy MyAtIFNEVk8gTFZEUyBQYW5lbCBEVERzCisgKi8KKworc3RydWN0IGx2ZHNfZHZvX3RpbWluZyB7 CisJdTE2IGNsb2NrOwkJLyoqPCBJbiAxMGtoeiAqLworCXU4IGhhY3RpdmVfbG87CisJdTggaGJs YW5rX2xvOworCXU4IGhibGFua19oaTo0OworCXU4IGhhY3RpdmVfaGk6NDsKKwl1OCB2YWN0aXZl X2xvOworCXU4IHZibGFua19sbzsKKwl1OCB2YmxhbmtfaGk6NDsKKwl1OCB2YWN0aXZlX2hpOjQ7 CisJdTggaHN5bmNfb2ZmX2xvOworCXU4IGhzeW5jX3B1bHNlX3dpZHRoX2xvOworCXU4IHZzeW5j X3B1bHNlX3dpZHRoX2xvOjQ7CisJdTggdnN5bmNfb2ZmX2xvOjQ7CisJdTggdnN5bmNfcHVsc2Vf d2lkdGhfaGk6MjsKKwl1OCB2c3luY19vZmZfaGk6MjsKKwl1OCBoc3luY19wdWxzZV93aWR0aF9o aToyOworCXU4IGhzeW5jX29mZl9oaToyOworCXU4IGhpbWFnZV9sbzsKKwl1OCB2aW1hZ2VfbG87 CisJdTggdmltYWdlX2hpOjQ7CisJdTggaGltYWdlX2hpOjQ7CisJdTggaF9ib3JkZXI7CisJdTgg dl9ib3JkZXI7CisJdTggcnN2ZDE6MzsKKwl1OCBkaWdpdGFsOjI7CisJdTggdnN5bmNfcG9zaXRp dmU6MTsKKwl1OCBoc3luY19wb3NpdGl2ZToxOworCXU4IG5vbl9pbnRlcmxhY2VkOjE7Cit9IF9f cGFja2VkOworCitzdHJ1Y3QgYmRiX3Nkdm9fcGFuZWxfZHRkcyB7CisJc3RydWN0IGx2ZHNfZHZv X3RpbWluZyBkdGRzWzRdOworfSBfX3BhY2tlZDsKKworLyoKKyAqIEJsb2NrIDI3IC0gZURQIFZC VCBCbG9jaworICovCisKICNkZWZpbmUgRURQXzE4QlBQCTAKICNkZWZpbmUgRURQXzI0QlBQCTEK ICNkZWZpbmUgRURQXzMwQlBQCTIKQEAgLTczNiwxNTEgKzY2MiwxMzMgQEAgc3RydWN0IGJkYl9l ZHAgewogCXN0cnVjdCBlZHBfZnVsbF9saW5rX3BhcmFtcyBmdWxsX2xpbmtfcGFyYW1zWzE2XTsJ LyogMTk5ICovCiB9IF9fcGFja2VkOwogCi1zdHJ1Y3QgcHNyX3RhYmxlIHsKLQkvKiBGZWF0dXJl IGJpdHMgKi8KLQl1OCBmdWxsX2xpbms6MTsKLQl1OCByZXF1aXJlX2F1eF90b193YWtldXA6MTsK LQl1OCBmZWF0dXJlX2JpdHNfcnN2ZDo2OworLyoKKyAqIEJsb2NrIDQwIC0gTEZQIERhdGEgQmxv Y2sKKyAqLwogCi0JLyogV2FpdCB0aW1lcyAqLwotCXU4IGlkbGVfZnJhbWVzOjQ7Ci0JdTggbGlu ZXNfdG9fd2FpdDozOwotCXU4IHdhaXRfdGltZXNfcnN2ZDoxOworLyogTWFzayBmb3IgRFJSUyAv IFBhbmVsIENoYW5uZWwgLyBTU0MgLyBCTFQgY29udHJvbCBiaXRzIGV4dHJhY3Rpb24gKi8KKyNk ZWZpbmUgTU9ERV9NQVNLCQkweDMKIAotCS8qIFRQIHdha2UgdXAgdGltZSBpbiBtdWx0aXBsZSBv ZiAxMDAgKi8KLQl1MTYgdHAxX3dha2V1cF90aW1lOwotCXUxNiB0cDJfdHAzX3dha2V1cF90aW1l Oworc3RydWN0IGJkYl9sdmRzX29wdGlvbnMgeworCXU4IHBhbmVsX3R5cGU7CisJdTggcGFuZWxf dHlwZTI7CQkJCQkJLyogMjEyICovCisJLyogTFZEUyBjYXBhYmlsaXRpZXMsIHN0b3JlZCBpbiBh IGR3b3JkICovCisJdTggcGZpdF9tb2RlOjI7CisJdTggcGZpdF90ZXh0X21vZGVfZW5oYW5jZWQ6 MTsKKwl1OCBwZml0X2dmeF9tb2RlX2VuaGFuY2VkOjE7CisJdTggcGZpdF9yYXRpb19hdXRvOjE7 CisJdTggcGl4ZWxfZGl0aGVyOjE7CisJdTggbHZkc19lZGlkOjE7CisJdTggcnN2ZDI6MTsKKwl1 OCByc3ZkNDsKKwkvKiBMVkRTIFBhbmVsIGNoYW5uZWwgYml0cyBzdG9yZWQgaGVyZSAqLworCXUz MiBsdmRzX3BhbmVsX2NoYW5uZWxfYml0czsKKwkvKiBMVkRTIFNTQyAoU3ByZWFkIFNwZWN0cnVt IENsb2NrKSBiaXRzIHN0b3JlZCBoZXJlLiAqLworCXUxNiBzc2NfYml0czsKKwl1MTYgc3NjX2Zy ZXE7CisJdTE2IHNzY19kZHQ7CisJLyogUGFuZWwgY29sb3IgZGVwdGggZGVmaW5lZCBoZXJlICov CisJdTE2IHBhbmVsX2NvbG9yX2RlcHRoOworCS8qIExWRFMgcGFuZWwgdHlwZSBiaXRzIHN0b3Jl ZCBoZXJlICovCisJdTMyIGRwc19wYW5lbF90eXBlX2JpdHM7CisJLyogTFZEUyBiYWNrbGlnaHQg Y29udHJvbCB0eXBlIGJpdHMgc3RvcmVkIGhlcmUgKi8KKwl1MzIgYmx0X2NvbnRyb2xfdHlwZV9i aXRzOworCisJdTE2IGxjZHZjY19zMF9lbmFibGU7CQkJCQkvKiAyMDAgKi8KKwl1MzIgcm90YXRp b247CQkJCQkJLyogMjI4ICovCiB9IF9fcGFja2VkOwogCi1zdHJ1Y3QgYmRiX3BzciB7Ci0Jc3Ry dWN0IHBzcl90YWJsZSBwc3JfdGFibGVbMTZdOworLyoKKyAqIEJsb2NrIDQxIC0gTEZQIERhdGEg VGFibGUgUG9pbnRlcnMKKyAqLworCisvKiBMRlAgcG9pbnRlciB0YWJsZSBjb250YWlucyBlbnRy aWVzIHRvIHRoZSBzdHJ1Y3QgYmVsb3cgKi8KK3N0cnVjdCBsdmRzX2xmcF9kYXRhX3B0ciB7CisJ dTE2IGZwX3RpbWluZ19vZmZzZXQ7IC8qIG9mZnNldHMgYXJlIGZyb20gc3RhcnQgb2YgYmRiICov CisJdTggZnBfdGFibGVfc2l6ZTsKKwl1MTYgZHZvX3RpbWluZ19vZmZzZXQ7CisJdTggZHZvX3Rh YmxlX3NpemU7CisJdTE2IHBhbmVsX3BucF9pZF9vZmZzZXQ7CisJdTggcG5wX3RhYmxlX3NpemU7 Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfcHRycyB7CisJdTggbHZk c19lbnRyaWVzOyAvKiBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBsdmRzX2RhdGFfcHRyIHN0cnVj dHMgKi8KKwlzdHJ1Y3QgbHZkc19sZnBfZGF0YV9wdHIgcHRyWzE2XTsKIH0gX19wYWNrZWQ7CiAK IC8qCi0gKiBEcml2ZXI8LT5WQklPUyBpbnRlcmFjdGlvbiBvY2N1cnMgdGhyb3VnaCBzY3JhdGNo IGJpdHMgaW4KLSAqIEdSMTggJiBTV0YqLgorICogQmxvY2sgNDIgLSBMRlAgRGF0YSBUYWJsZXMK ICAqLwogCi0vKiBHUjE4IGJpdHMgYXJlIHNldCBvbiBkaXNwbGF5IHN3aXRjaCBhbmQgaG90a2V5 IGV2ZW50cyAqLwotI2RlZmluZSBHUjE4X0RSSVZFUl9TV0lUQ0hfRU4JKDE8PDcpIC8qIDA6IFZC SU9TIGNvbnRyb2wsIDE6IGRyaXZlciBjb250cm9sICovCi0jZGVmaW5lIEdSMThfSE9US0VZX01B U0sJMHg3OCAvKiBTZWUgYWxzbyBTV0Y0IDE1OjAgKi8KLSNkZWZpbmUgICBHUjE4X0hLX05PTkUJ CSgweDA8PDMpCi0jZGVmaW5lICAgR1IxOF9IS19MRlBfU1RSRVRDSAkoMHgxPDwzKQotI2RlZmlu ZSAgIEdSMThfSEtfVE9HR0xFX0RJU1AJKDB4Mjw8MykKLSNkZWZpbmUgICBHUjE4X0hLX0RJU1Bf U1dJVENICSgweDQ8PDMpIC8qIHNlZSBTV0YxNCAxNTowIGZvciB3aGF0IHRvIGVuYWJsZSAqLwot I2RlZmluZSAgIEdSMThfSEtfUE9QVVBfRElTQUJMRUQgKDB4Njw8MykKLSNkZWZpbmUgICBHUjE4 X0hLX1BPUFVQX0VOQUJMRUQJKDB4Nzw8MykKLSNkZWZpbmUgICBHUjE4X0hLX1BGSVQJCSgweDg8 PDMpCi0jZGVmaW5lICAgR1IxOF9IS19BUE1fQ0hBTkdFCSgweGE8PDMpCi0jZGVmaW5lICAgR1Ix OF9IS19NVUxUSVBMRQkoMHhjPDwzKQotI2RlZmluZSBHUjE4X1VTRVJfSU5UX0VOCSgxPDwyKQot I2RlZmluZSBHUjE4X0EwMDAwX0ZMVVNIX0VOCSgxPDwxKQotI2RlZmluZSBHUjE4X1NNTV9FTgkJ KDE8PDApCi0KLS8qIFNldCBieSBkcml2ZXIsIGNsZWFyZWQgYnkgVkJJT1MgKi8KLSNkZWZpbmUg U1dGMDBfWVJFU19TSElGVAkxNgotI2RlZmluZSBTV0YwMF9YUkVTX1NISUZUCTAKLSNkZWZpbmUg U1dGMDBfUkVTX01BU0sJCTB4ZmZmZgotCi0vKiBTZXQgYnkgVkJJT1MgYXQgYm9vdCB0aW1lIGFu ZCBkcml2ZXIgYXQgcnVudGltZSAqLwotI2RlZmluZSBTV0YwMV9UVjJfRk9STUFUX1NISUZUCTgK LSNkZWZpbmUgU1dGMDFfVFYxX0ZPUk1BVF9TSElGVAkwCi0jZGVmaW5lIFNXRjAxX1RWX0ZPUk1B VF9NQVNLCTB4ZmZmZgotCi0jZGVmaW5lIFNXRjEwX1ZCSU9TX0JMQ19JMkNfRU4JKDE8PDI5KQot I2RlZmluZSBTV0YxMF9HVFRfT1ZFUlJJREVfRU4JKDE8PDI4KQotI2RlZmluZSBTV0YxMF9MRlBf RFBNU19PVlIJKDE8PDI3KSAvKiBvdmVycmlkZSBEUE1TIG9uIGRpc3BsYXkgc3dpdGNoICovCi0j ZGVmaW5lIFNXRjEwX0FDVElWRV9UT0dHTEVfTElTVF9NQVNLICg3PDwyNCkKLSNkZWZpbmUgICBT V0YxMF9PTERfVE9HR0xFCTB4MAotI2RlZmluZSAgIFNXRjEwX1RPR0dMRV9MSVNUXzEJMHgxCi0j ZGVmaW5lICAgU1dGMTBfVE9HR0xFX0xJU1RfMgkweDIKLSNkZWZpbmUgICBTV0YxMF9UT0dHTEVf TElTVF8zCTB4MwotI2RlZmluZSAgIFNXRjEwX1RPR0dMRV9MSVNUXzQJMHg0Ci0jZGVmaW5lIFNX RjEwX1BBTk5JTkdfRU4JKDE8PDIzKQotI2RlZmluZSBTV0YxMF9EUklWRVJfTE9BREVECSgxPDwy MikKLSNkZWZpbmUgU1dGMTBfRVhURU5ERURfREVTS1RPUAkoMTw8MjEpCi0jZGVmaW5lIFNXRjEw X0VYQ0xVU0lWRV9NT0RFCSgxPDwyMCkKLSNkZWZpbmUgU1dGMTBfT1ZFUkxBWV9FTgkoMTw8MTkp Ci0jZGVmaW5lIFNXRjEwX1BMQU5FQl9IT0xET0ZGCSgxPDwxOCkKLSNkZWZpbmUgU1dGMTBfUExB TkVBX0hPTERPRkYJKDE8PDE3KQotI2RlZmluZSBTV0YxMF9WR0FfSE9MRE9GRgkoMTw8MTYpCi0j ZGVmaW5lIFNXRjEwX0FDVElWRV9ESVNQX01BU0sJMHhmZmZmCi0jZGVmaW5lICAgU1dGMTBfUElQ RUJfTEZQMgkoMTw8MTUpCi0jZGVmaW5lICAgU1dGMTBfUElQRUJfRUZQMgkoMTw8MTQpCi0jZGVm aW5lICAgU1dGMTBfUElQRUJfVFYyCSgxPDwxMykKLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9DUlQy CSgxPDwxMikKLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9MRlAJKDE8PDExKQotI2RlZmluZSAgIFNX RjEwX1BJUEVCX0VGUAkoMTw8MTApCi0jZGVmaW5lICAgU1dGMTBfUElQRUJfVFYJKDE8PDkpCi0j ZGVmaW5lICAgU1dGMTBfUElQRUJfQ1JUCSgxPDw4KQotI2RlZmluZSAgIFNXRjEwX1BJUEVBX0xG UDIJKDE8PDcpCi0jZGVmaW5lICAgU1dGMTBfUElQRUFfRUZQMgkoMTw8NikKLSNkZWZpbmUgICBT V0YxMF9QSVBFQV9UVjIJKDE8PDUpCi0jZGVmaW5lICAgU1dGMTBfUElQRUFfQ1JUMgkoMTw8NCkK LSNkZWZpbmUgICBTV0YxMF9QSVBFQV9MRlAJKDE8PDMpCi0jZGVmaW5lICAgU1dGMTBfUElQRUFf RUZQCSgxPDwyKQotI2RlZmluZSAgIFNXRjEwX1BJUEVBX1RWCSgxPDwxKQotI2RlZmluZSAgIFNX RjEwX1BJUEVBX0NSVAkoMTw8MCkKLQotI2RlZmluZSBTV0YxMV9NRU1PUllfU0laRV9TSElGVAkx NgotI2RlZmluZSBTV0YxMV9TVl9URVNUX0VOCSgxPDwxNSkKLSNkZWZpbmUgU1dGMTFfSVNfQUdQ CQkoMTw8MTQpCi0jZGVmaW5lIFNXRjExX0RJU1BMQVlfSE9MRE9GRgkoMTw8MTMpCi0jZGVmaW5l IFNXRjExX0RQTVNfUkVEVUNFRAkoMTw8MTIpCi0jZGVmaW5lIFNXRjExX0lTX1ZCRV9NT0RFCSgx PDwxMSkKLSNkZWZpbmUgU1dGMTFfUElQRUJfQUNDRVNTCSgxPDwxMCkgLyogMCBoZXJlIG1lYW5z IHBpcGUgYSAqLwotI2RlZmluZSBTV0YxMV9EUE1TX01BU0sJCTB4MDcKLSNkZWZpbmUgICBTV0Yx MV9EUE1TX09GRgkoMTw8MikKLSNkZWZpbmUgICBTV0YxMV9EUE1TX1NVU1BFTkQJKDE8PDEpCi0j ZGVmaW5lICAgU1dGMTFfRFBNU19TVEFOREJZCSgxPDwwKQotI2RlZmluZSAgIFNXRjExX0RQTVNf T04JCTAKLQotI2RlZmluZSBTV0YxNF9HRlhfUEZJVF9FTgkoMTw8MzEpCi0jZGVmaW5lIFNXRjE0 X1RFWFRfUEZJVF9FTgkoMTw8MzApCi0jZGVmaW5lIFNXRjE0X0xJRF9TVEFUVVNfQ0xPU0VECSgx PDwyOSkgLyogMCBoZXJlIG1lYW5zIG9wZW4gKi8KLSNkZWZpbmUgU1dGMTRfUE9QVVBfRU4JCSgx PDwyOCkKLSNkZWZpbmUgU1dGMTRfRElTUExBWV9IT0xET0ZGCSgxPDwyNykKLSNkZWZpbmUgU1dG MTRfRElTUF9ERVRFQ1RfRU4JKDE8PDI2KQotI2RlZmluZSBTV0YxNF9ET0NLSU5HX1NUQVRVU19E T0NLRUQgKDE8PDI1KSAvKiAwIGhlcmUgbWVhbnMgdW5kb2NrZWQgKi8KLSNkZWZpbmUgU1dGMTRf RFJJVkVSX1NUQVRVUwkoMTw8MjQpCi0jZGVmaW5lIFNXRjE0X09TX1RZUEVfV0lOOVgJKDE8PDIz KQotI2RlZmluZSBTV0YxNF9PU19UWVBFX1dJTk5UCSgxPDwyMikKLS8qIDIxOjE5IHJzdmQgKi8K LSNkZWZpbmUgU1dGMTRfUE1fVFlQRV9NQVNLCTB4MDAwNzAwMDAKLSNkZWZpbmUgICBTV0YxNF9Q TV9BQ1BJX1ZJREVPCSgweDQgPDwgMTYpCi0jZGVmaW5lICAgU1dGMTRfUE1fQUNQSQkJKDB4MyA8 PCAxNikKLSNkZWZpbmUgICBTV0YxNF9QTV9BUE1fMTIJKDB4MiA8PCAxNikKLSNkZWZpbmUgICBT V0YxNF9QTV9BUE1fMTEJKDB4MSA8PCAxNikKLSNkZWZpbmUgU1dGMTRfSEtfUkVRVUVTVF9NQVNL CTB4MDAwMGZmZmYgLyogc2VlIEdSMTggNjozIGZvciBldmVudCB0eXBlICovCi0gICAgICAgICAg LyogaWYgR1IxOCBpbmRpY2F0ZXMgYSBkaXNwbGF5IHN3aXRjaCAqLwotI2RlZmluZSAgIFNXRjE0 X0RTX1BJUEVCX0xGUDJfRU4gKDE8PDE1KQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX0VGUDJf RU4gKDE8PDE0KQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX1RWMl9FTiAgKDE8PDEzKQotI2Rl ZmluZSAgIFNXRjE0X0RTX1BJUEVCX0NSVDJfRU4gKDE8PDEyKQotI2RlZmluZSAgIFNXRjE0X0RT X1BJUEVCX0xGUF9FTiAgKDE8PDExKQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX0VGUF9FTiAg KDE8PDEwKQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX1RWX0VOICAgKDE8PDkpCi0jZGVmaW5l ICAgU1dGMTRfRFNfUElQRUJfQ1JUX0VOICAoMTw8OCkKLSNkZWZpbmUgICBTV0YxNF9EU19QSVBF QV9MRlAyX0VOICgxPDw3KQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX0VGUDJfRU4gKDE8PDYp Ci0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfVFYyX0VOICAoMTw8NSkKLSNkZWZpbmUgICBTV0Yx NF9EU19QSVBFQV9DUlQyX0VOICgxPDw0KQotI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX0xGUF9F TiAgKDE8PDMpCi0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfRUZQX0VOICAoMTw8MikKLSNkZWZp bmUgICBTV0YxNF9EU19QSVBFQV9UVl9FTiAgICgxPDwxKQotI2RlZmluZSAgIFNXRjE0X0RTX1BJ UEVBX0NSVF9FTiAgKDE8PDApCi0gICAgICAgICAgLyogaWYgR1IxOCBpbmRpY2F0ZXMgYSBwYW5l bCBmaXR0aW5nIHJlcXVlc3QgKi8KLSNkZWZpbmUgICBTV0YxNF9QRklUX0VOCQkoMTw8MCkgLyog MCBtZWFucyBkaXNhYmxlICovCi0gICAgICAgICAgLyogaWYgR1IxOCBpbmRpY2F0ZXMgYW4gQVBN IGNoYW5nZSByZXF1ZXN0ICovCi0jZGVmaW5lICAgU1dGMTRfQVBNX0hJQkVSTkFURQkweDQKLSNk ZWZpbmUgICBTV0YxNF9BUE1fU1VTUEVORAkweDMKLSNkZWZpbmUgICBTV0YxNF9BUE1fU1RBTkRC WQkweDEKLSNkZWZpbmUgICBTV0YxNF9BUE1fUkVTVE9SRQkweDAKLQotLyogQmxvY2sgNTIgY29u dGFpbnMgTUlQSSBjb25maWd1cmF0aW9uIGJsb2NrCi0gKiA2ICogYmRiX21pcGlfY29uZmlnLCBm b2xsb3dlZCBieSA2IHBwcyBkYXRhIGJsb2NrCi0gKiBibG9jayBiZWxvdworLyogTEZQIGRhdGEg aGFzIDMgYmxvY2tzIHBlciBlbnRyeSAqLworc3RydWN0IGx2ZHNfZnBfdGltaW5nIHsKKwl1MTYg eF9yZXM7CisJdTE2IHlfcmVzOworCXUzMiBsdmRzX3JlZzsKKwl1MzIgbHZkc19yZWdfdmFsOwor CXUzMiBwcF9vbl9yZWc7CisJdTMyIHBwX29uX3JlZ192YWw7CisJdTMyIHBwX29mZl9yZWc7CisJ dTMyIHBwX29mZl9yZWdfdmFsOworCXUzMiBwcF9jeWNsZV9yZWc7CisJdTMyIHBwX2N5Y2xlX3Jl Z192YWw7CisJdTMyIHBmaXRfcmVnOworCXUzMiBwZml0X3JlZ192YWw7CisJdTE2IHRlcm1pbmF0 b3I7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgbHZkc19wbnBfaWQgeworCXUxNiBtZmdfbmFtZTsK Kwl1MTYgcHJvZHVjdF9jb2RlOworCXUzMiBzZXJpYWw7CisJdTggbWZnX3dlZWs7CisJdTggbWZn X3llYXI7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgbHZkc19sZnBfZGF0YV9lbnRyeSB7CisJc3Ry dWN0IGx2ZHNfZnBfdGltaW5nIGZwX3RpbWluZzsKKwlzdHJ1Y3QgbHZkc19kdm9fdGltaW5nIGR2 b190aW1pbmc7CisJc3RydWN0IGx2ZHNfcG5wX2lkIHBucF9pZDsKK30gX19wYWNrZWQ7CisKK3N0 cnVjdCBiZGJfbHZkc19sZnBfZGF0YSB7CisJc3RydWN0IGx2ZHNfbGZwX2RhdGFfZW50cnkgZGF0 YVsxNl07Cit9IF9fcGFja2VkOworCisvKgorICogQmxvY2sgNDMgLSBMRlAgQmFja2xpZ2h0IENv bnRyb2wgRGF0YSBCbG9jawogICovCisKKyNkZWZpbmUgQkRCX0JBQ0tMSUdIVF9UWVBFX05PTkUJ MAorI2RlZmluZSBCREJfQkFDS0xJR0hUX1RZUEVfUFdNCTIKKworc3RydWN0IGxmcF9iYWNrbGln aHRfZGF0YV9lbnRyeSB7CisJdTggdHlwZToyOworCXU4IGFjdGl2ZV9sb3dfcHdtOjE7CisJdTgg b2Jzb2xldGUxOjU7CisJdTE2IHB3bV9mcmVxX2h6OworCXU4IG1pbl9icmlnaHRuZXNzOworCXU4 IG9ic29sZXRlMjsKKwl1OCBvYnNvbGV0ZTM7Cit9IF9fcGFja2VkOworCitzdHJ1Y3QgbGZwX2Jh Y2tsaWdodF9jb250cm9sX21ldGhvZCB7CisJdTggdHlwZTo0OworCXU4IGNvbnRyb2xsZXI6NDsK K30gX19wYWNrZWQ7CisKK3N0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRhIHsKKwl1OCBlbnRy eV9zaXplOworCXN0cnVjdCBsZnBfYmFja2xpZ2h0X2RhdGFfZW50cnkgZGF0YVsxNl07CisJdTgg bGV2ZWxbMTZdOworCXN0cnVjdCBsZnBfYmFja2xpZ2h0X2NvbnRyb2xfbWV0aG9kIGJhY2tsaWdo dF9jb250cm9sWzE2XTsKK30gX19wYWNrZWQ7CisKKy8qCisgKiBCbG9jayA1MiAtIE1JUEkgQ29u ZmlndXJhdGlvbiBCbG9jaworICovCisKICNkZWZpbmUgTUFYX01JUElfQ09ORklHVVJBVElPTlMJ NgogCiBzdHJ1Y3QgYmRiX21pcGlfY29uZmlnIHsKQEAgLTg4OCwyNCArNzk2LDEzIEBAIHN0cnVj dCBiZGJfbWlwaV9jb25maWcgewogCXN0cnVjdCBtaXBpX3Bwc19kYXRhIHBwc1tNQVhfTUlQSV9D T05GSUdVUkFUSU9OU107CiB9IF9fcGFja2VkOwogCi0vKiBCbG9jayA1MyBjb250YWlucyBNSVBJ IHNlcXVlbmNlcyBhcyBuZWVkZWQgYnkgdGhlIHBhbmVsCi0gKiBmb3IgZW5hYmxpbmcgaXQuIFRo aXMgYmxvY2sgY2FuIGJlIHZhcmlhYmxlIGluIHNpemUgYW5kCi0gKiBjYW4gYmUgbWF4aW11bSBv ZiA2IGJsb2NrcworLyoKKyAqIEJsb2NrIDUzIC0gTUlQSSBTZXF1ZW5jZSBCbG9jawogICovCisK IHN0cnVjdCBiZGJfbWlwaV9zZXF1ZW5jZSB7CiAJdTggdmVyc2lvbjsKLQl1OCBkYXRhWzBdOwor CXU4IGRhdGFbMF07IC8qIHVwIHRvIDYgdmFyaWFibGUgbGVuZ3RoIGJsb2NrcyAqLwogfSBfX3Bh Y2tlZDsKIAotZW51bSBtaXBpX2dwaW9fcGluX2luZGV4IHsKLQlNSVBJX0dQSU9fVU5ERUZJTkVE ID0gMCwKLQlNSVBJX0dQSU9fUEFORUxfRU5BQkxFLAotCU1JUElfR1BJT19CTF9FTkFCTEUsCi0J TUlQSV9HUElPX1BXTV9FTkFCTEUsCi0JTUlQSV9HUElPX1JFU0VUX04sCi0JTUlQSV9HUElPX1BX Ul9ET1dOX1IsCi0JTUlQSV9HUElPX1NUREJZX1JTVF9OLAotCU1JUElfR1BJT19NQVgKLX07Ci0K ICNlbmRpZiAvKiBfSU5URUxfVkJUX0RFRlNfSF8gKi8KLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QK aWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2