From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 8/8] drm/i915: Extract intel_dev_info.[ch] Date: Tue, 8 Sep 2015 15:27:59 +0300 Message-ID: <1441715280-11623-9-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1441715280-11623-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id D57D56E631 for ; Tue, 8 Sep 2015 05:28:46 -0700 (PDT) In-Reply-To: <1441715280-11623-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: jani.nikula@intel.com, Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org UHV0IGFsbCBkZXZpY2UgaW5mb3JtYXRpb24gcmVsYXRlZCBzdHVmZiBpbiBzZXBhcmF0ZSBmaWxl cyB0byB0aGF0IGl0IGlzCmVhc3kgdG8gcHVsbCB0aGVtIGZvciB0aGUgbGluayB0cmFpbmluZyB0 ZXN0cyBpbiBpLWctdC4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAg ICAgfCAzOTUgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAyODYgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2X2luZm8uYyAgIHwgNDIyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZfaW5mby5o ICAgfCAzMzEgKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oIHwgIDExICstCiA1IGZpbGVzIGNoYW5nZWQsIDc1OCBpbnNlcnRp b25zKCspLCA2ODcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGV2X2luZm8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rldl9pbmZvLmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBi ZGVjNjRjLi42Njg0ZjliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTQyLDM5OSArNDIs OCBAQAogCiBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyOwogCi0jZGVmaW5lIEdFTl9E RUZBVUxUX1BJUEVPRkZTRVRTIFwKLQkucGlwZV9vZmZzZXRzID0geyBQSVBFX0FfT0ZGU0VULCBQ SVBFX0JfT0ZGU0VULCBcCi0JCQkgIFBJUEVfQ19PRkZTRVQsIFBJUEVfRURQX09GRlNFVCB9LCBc Ci0JLnRyYW5zX29mZnNldHMgPSB7IFRSQU5TQ09ERVJfQV9PRkZTRVQsIFRSQU5TQ09ERVJfQl9P RkZTRVQsIFwKLQkJCSAgIFRSQU5TQ09ERVJfQ19PRkZTRVQsIFRSQU5TQ09ERVJfRURQX09GRlNF VCB9LCBcCi0JLnBhbGV0dGVfb2Zmc2V0cyA9IHsgUEFMRVRURV9BX09GRlNFVCwgUEFMRVRURV9C X09GRlNFVCB9Ci0KLSNkZWZpbmUgR0VOX0NIVl9QSVBFT0ZGU0VUUyBcCi0JLnBpcGVfb2Zmc2V0 cyA9IHsgUElQRV9BX09GRlNFVCwgUElQRV9CX09GRlNFVCwgXAotCQkJICBDSFZfUElQRV9DX09G RlNFVCB9LCBcCi0JLnRyYW5zX29mZnNldHMgPSB7IFRSQU5TQ09ERVJfQV9PRkZTRVQsIFRSQU5T Q09ERVJfQl9PRkZTRVQsIFwKLQkJCSAgIENIVl9UUkFOU0NPREVSX0NfT0ZGU0VULCB9LCBcCi0J LnBhbGV0dGVfb2Zmc2V0cyA9IHsgUEFMRVRURV9BX09GRlNFVCwgUEFMRVRURV9CX09GRlNFVCwg XAotCQkJICAgICBDSFZfUEFMRVRURV9DX09GRlNFVCB9Ci0KLSNkZWZpbmUgQ1VSU09SX09GRlNF VFMgXAotCS5jdXJzb3Jfb2Zmc2V0cyA9IHsgQ1VSU09SX0FfT0ZGU0VULCBDVVJTT1JfQl9PRkZT RVQsIENIVl9DVVJTT1JfQ19PRkZTRVQgfQotCi0jZGVmaW5lIElWQl9DVVJTT1JfT0ZGU0VUUyBc Ci0JLmN1cnNvcl9vZmZzZXRzID0geyBDVVJTT1JfQV9PRkZTRVQsIElWQl9DVVJTT1JfQl9PRkZT RVQsIElWQl9DVVJTT1JfQ19PRkZTRVQgfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Rl dmljZV9pbmZvIGludGVsX2k4MzBfaW5mbyA9IHsKLQkuZ2VuID0gMiwgLmlzX21vYmlsZSA9IDEs IC5jdXJzb3JfbmVlZHNfcGh5c2ljYWwgPSAxLCAubnVtX3BpcGVzID0gMiwKLQkuaGFzX292ZXJs YXkgPSAxLCAub3ZlcmxheV9uZWVkc19waHlzaWNhbCA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRF Ul9SSU5HLAotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZTRVRTLAotfTsK LQotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF84NDVnX2luZm8g PSB7Ci0JLmdlbiA9IDIsIC5udW1fcGlwZXMgPSAxLAotCS5oYXNfb3ZlcmxheSA9IDEsIC5vdmVy bGF5X25lZWRzX3BoeXNpY2FsID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcsCi0JR0VO X0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k4NXhfaW5mbyA9IHsKLQkuZ2VuID0g MiwgLmlzX2k4NXggPSAxLCAuaXNfbW9iaWxlID0gMSwgLm51bV9waXBlcyA9IDIsCi0JLmN1cnNv cl9uZWVkc19waHlzaWNhbCA9IDEsCi0JLmhhc19vdmVybGF5ID0gMSwgLm92ZXJsYXlfbmVlZHNf cGh5c2ljYWwgPSAxLAotCS5oYXNfZmJjID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcs Ci0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k4NjVnX2luZm8gPSB7Ci0J LmdlbiA9IDIsIC5udW1fcGlwZXMgPSAxLAotCS5oYXNfb3ZlcmxheSA9IDEsIC5vdmVybGF5X25l ZWRzX3BoeXNpY2FsID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcsCi0JR0VOX0RFRkFV TFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k5MTVnX2luZm8gPSB7Ci0JLmdlbiA9IDMsIC5p c19pOTE1ZyA9IDEsIC5jdXJzb3JfbmVlZHNfcGh5c2ljYWwgPSAxLCAubnVtX3BpcGVzID0gMiwK LQkuaGFzX292ZXJsYXkgPSAxLCAub3ZlcmxheV9uZWVkc19waHlzaWNhbCA9IDEsCi0JLnJpbmdf bWFzayA9IFJFTkRFUl9SSU5HLAotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9P RkZTRVRTLAotfTsKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxf aTkxNWdtX2luZm8gPSB7Ci0JLmdlbiA9IDMsIC5pc19tb2JpbGUgPSAxLCAubnVtX3BpcGVzID0g MiwKLQkuY3Vyc29yX25lZWRzX3BoeXNpY2FsID0gMSwKLQkuaGFzX292ZXJsYXkgPSAxLCAub3Zl cmxheV9uZWVkc19waHlzaWNhbCA9IDEsCi0JLnN1cHBvcnRzX3R2ID0gMSwKLQkuaGFzX2ZiYyA9 IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HLAotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRT LAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gaW50ZWxfaTk0NWdfaW5mbyA9IHsKLQkuZ2VuID0gMywgLmhhc19ob3RwbHVnID0gMSwg LmN1cnNvcl9uZWVkc19waHlzaWNhbCA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5oYXNfb3Zlcmxh eSA9IDEsIC5vdmVybGF5X25lZWRzX3BoeXNpY2FsID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVS X1JJTkcsCi0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19Owot c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTQ1Z21faW5mbyA9 IHsKLQkuZ2VuID0gMywgLmlzX2k5NDVnbSA9IDEsIC5pc19tb2JpbGUgPSAxLCAubnVtX3BpcGVz ID0gMiwKLQkuaGFzX2hvdHBsdWcgPSAxLCAuY3Vyc29yX25lZWRzX3BoeXNpY2FsID0gMSwKLQku aGFzX292ZXJsYXkgPSAxLCAub3ZlcmxheV9uZWVkc19waHlzaWNhbCA9IDEsCi0JLnN1cHBvcnRz X3R2ID0gMSwKLQkuaGFzX2ZiYyA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HLAotCUdF Tl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTY1Z19pbmZvID0gewotCS5nZW4g PSA0LCAuaXNfYnJvYWR3YXRlciA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5oYXNfaG90cGx1ZyA9 IDEsCi0JLmhhc19vdmVybGF5ID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcsCi0JR0VO X0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k5NjVnbV9pbmZvID0gewotCS5nZW4g PSA0LCAuaXNfY3Jlc3RsaW5lID0gMSwgLm51bV9waXBlcyA9IDIsCi0JLmlzX21vYmlsZSA9IDEs IC5oYXNfZmJjID0gMSwgLmhhc19ob3RwbHVnID0gMSwKLQkuaGFzX292ZXJsYXkgPSAxLAotCS5z dXBwb3J0c190diA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HLAotCUdFTl9ERUZBVUxU X1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVj dCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9nMzNfaW5mbyA9IHsKLQkuZ2VuID0gMywgLmlzX2cz MyA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFzX2hvdHBsdWcg PSAxLAotCS5oYXNfb3ZlcmxheSA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HLAotCUdF Tl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9nNDVfaW5mbyA9IHsKLQkuZ2VuID0g NCwgLmlzX2c0eCA9IDEsIC5uZWVkX2dmeF9od3MgPSAxLCAubnVtX3BpcGVzID0gMiwKLQkuaGFz X3BpcGVfY3hzciA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9S SU5HIHwgQlNEX1JJTkcsCi0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNF VFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2dt NDVfaW5mbyA9IHsKLQkuZ2VuID0gNCwgLmlzX2c0eCA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5p c19tb2JpbGUgPSAxLCAubmVlZF9nZnhfaHdzID0gMSwgLmhhc19mYmMgPSAxLAotCS5oYXNfcGlw ZV9jeHNyID0gMSwgLmhhc19ob3RwbHVnID0gMSwKLQkuc3VwcG9ydHNfdHYgPSAxLAotCS5yaW5n X21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HLAotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRT LAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyBpbnRlbF9waW5ldmlld19pbmZvID0gewotCS5nZW4gPSAzLCAuaXNfZzMzID0gMSwg LmlzX3BpbmV2aWV3ID0gMSwgLmlzX21vYmlsZSA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5uZWVk X2dmeF9od3MgPSAxLCAuaGFzX2hvdHBsdWcgPSAxLAotCS5oYXNfb3ZlcmxheSA9IDEsCi0JR0VO X0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2lyb25sYWtlX2RfaW5mbyA9IHsKLQku Z2VuID0gNSwgLm51bV9waXBlcyA9IDIsCi0JLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1 ZyA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcsCi0JR0VOX0RFRkFV TFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2lyb25sYWtlX21faW5mbyA9IHsKLQkuZ2VuID0g NSwgLmlzX21vYmlsZSA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5uZWVkX2dmeF9od3MgPSAxLCAu aGFzX2hvdHBsdWcgPSAxLAotCS5oYXNfZmJjID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJ TkcgfCBCU0RfUklORywKLQlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKLQlDVVJTT1JfT0ZGU0VU UywKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2Fu ZHlicmlkZ2VfZF9pbmZvID0gewotCS5nZW4gPSA2LCAubnVtX3BpcGVzID0gMiwKLQkubmVlZF9n ZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwKLQkuaGFzX2ZiYyA9IDEsCi0JLnJpbmdfbWFz ayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORywKLQkuaGFzX2xsYyA9IDEsCi0J R0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NhbmR5YnJpZGdlX21faW5mbyA9 IHsKLQkuZ2VuID0gNiwgLmlzX21vYmlsZSA9IDEsIC5udW1fcGlwZXMgPSAyLAotCS5uZWVkX2dm eF9od3MgPSAxLCAuaGFzX2hvdHBsdWcgPSAxLAotCS5oYXNfZmJjID0gMSwKLQkucmluZ19tYXNr ID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HLAotCS5oYXNfbGxjID0gMSwKLQlH RU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKLQlDVVJTT1JfT0ZGU0VUUywKLX07Ci0KLSNkZWZpbmUg R0VON19GRUFUVVJFUyAgXAotCS5nZW4gPSA3LCAubnVtX3BpcGVzID0gMywgXAotCS5uZWVkX2dm eF9od3MgPSAxLCAuaGFzX2hvdHBsdWcgPSAxLCBcCi0JLmhhc19mYmMgPSAxLCBcCi0JLnJpbmdf bWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORywgXAotCS5oYXNfbGxjID0g MQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2l2eWJyaWRn ZV9kX2luZm8gPSB7Ci0JR0VON19GRUFUVVJFUywKLQkuaXNfaXZ5YnJpZGdlID0gMSwKLQlHRU5f REVGQVVMVF9QSVBFT0ZGU0VUUywKLQlJVkJfQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2l2eWJyaWRnZV9tX2luZm8gPSB7 Ci0JR0VON19GRUFUVVJFUywKLQkuaXNfaXZ5YnJpZGdlID0gMSwKLQkuaXNfbW9iaWxlID0gMSwK LQlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKLQlJVkJfQ1VSU09SX09GRlNFVFMsCi19OwotCi1z dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2l2eWJyaWRnZV9xX2lu Zm8gPSB7Ci0JR0VON19GRUFUVVJFUywKLQkuaXNfaXZ5YnJpZGdlID0gMSwKLQkubnVtX3BpcGVz ID0gMCwgLyogbGVnYWwsIGxhc3Qgb25lIHdpbnMgKi8KLQlHRU5fREVGQVVMVF9QSVBFT0ZGU0VU UywKLQlJVkJfQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvIGludGVsX3ZhbGxleXZpZXdfbV9pbmZvID0gewotCUdFTjdfRkVBVFVSRVMs Ci0JLmlzX21vYmlsZSA9IDEsCi0JLm51bV9waXBlcyA9IDIsCi0JLmlzX3ZhbGxleXZpZXcgPSAx LAotCS5kaXNwbGF5X21taW9fb2Zmc2V0ID0gVkxWX0RJU1BMQVlfQkFTRSwKLQkuaGFzX2ZiYyA9 IDAsIC8qIGxlZ2FsLCBsYXN0IG9uZSB3aW5zICovCi0JLmhhc19sbGMgPSAwLCAvKiBsZWdhbCwg bGFzdCBvbmUgd2lucyAqLwotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZT RVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF92 YWxsZXl2aWV3X2RfaW5mbyA9IHsKLQlHRU43X0ZFQVRVUkVTLAotCS5udW1fcGlwZXMgPSAyLAot CS5pc192YWxsZXl2aWV3ID0gMSwKLQkuZGlzcGxheV9tbWlvX29mZnNldCA9IFZMVl9ESVNQTEFZ X0JBU0UsCi0JLmhhc19mYmMgPSAwLCAvKiBsZWdhbCwgbGFzdCBvbmUgd2lucyAqLwotCS5oYXNf bGxjID0gMCwgLyogbGVnYWwsIGxhc3Qgb25lIHdpbnMgKi8KLQlHRU5fREVGQVVMVF9QSVBFT0ZG U0VUUywKLQlDVVJTT1JfT0ZGU0VUUywKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gaW50ZWxfaGFzd2VsbF9kX2luZm8gPSB7Ci0JR0VON19GRUFUVVJFUywKLQku aXNfaGFzd2VsbCA9IDEsCi0JLmhhc19kZGkgPSAxLAotCS5oYXNfZnBnYV9kYmcgPSAxLAotCS5y aW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcgfCBWRUJPWF9SSU5H LAotCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAotCUlWQl9DVVJTT1JfT0ZGU0VUUywKLX07Ci0K LXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaGFzd2VsbF9tX2lu Zm8gPSB7Ci0JR0VON19GRUFUVVJFUywKLQkuaXNfaGFzd2VsbCA9IDEsCi0JLmlzX21vYmlsZSA9 IDEsCi0JLmhhc19kZGkgPSAxLAotCS5oYXNfZnBnYV9kYmcgPSAxLAotCS5yaW5nX21hc2sgPSBS RU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcgfCBWRUJPWF9SSU5HLAotCUdFTl9ERUZB VUxUX1BJUEVPRkZTRVRTLAotCUlWQl9DVVJTT1JfT0ZGU0VUUywKLX07Ci0KLXN0YXRpYyBjb25z dCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfYnJvYWR3ZWxsX2RfaW5mbyA9IHsKLQku Z2VuID0gOCwgLm51bV9waXBlcyA9IDMsCi0JLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1 ZyA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8 IFZFQk9YX1JJTkcsCi0JLmhhc19sbGMgPSAxLAotCS5oYXNfZGRpID0gMSwKLQkuaGFzX2ZwZ2Ff ZGJnID0gMSwKLQkuaGFzX2ZiYyA9IDEsCi0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JSVZC X0NVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2Vf aW5mbyBpbnRlbF9icm9hZHdlbGxfbV9pbmZvID0gewotCS5nZW4gPSA4LCAuaXNfbW9iaWxlID0g MSwgLm51bV9waXBlcyA9IDMsCi0JLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEs Ci0JLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8IFZFQk9Y X1JJTkcsCi0JLmhhc19sbGMgPSAxLAotCS5oYXNfZGRpID0gMSwKLQkuaGFzX2ZwZ2FfZGJnID0g MSwKLQkuaGFzX2ZiYyA9IDEsCi0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0JSVZCX0NVUlNP Ul9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBp bnRlbF9icm9hZHdlbGxfZ3QzZF9pbmZvID0gewotCS5nZW4gPSA4LCAubnVtX3BpcGVzID0gMywK LQkubmVlZF9nZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwKLQkucmluZ19tYXNrID0gUkVO REVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HIHwgVkVCT1hfUklORyB8IEJTRDJfUklORywK LQkuaGFzX2xsYyA9IDEsCi0JLmhhc19kZGkgPSAxLAotCS5oYXNfZnBnYV9kYmcgPSAxLAotCS5o YXNfZmJjID0gMSwKLQlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKLQlJVkJfQ1VSU09SX09GRlNF VFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2Jy b2Fkd2VsbF9ndDNtX2luZm8gPSB7Ci0JLmdlbiA9IDgsIC5pc19tb2JpbGUgPSAxLCAubnVtX3Bp cGVzID0gMywKLQkubmVlZF9nZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwKLQkucmluZ19t YXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HIHwgVkVCT1hfUklORyB8IEJT RDJfUklORywKLQkuaGFzX2xsYyA9IDEsCi0JLmhhc19kZGkgPSAxLAotCS5oYXNfZnBnYV9kYmcg PSAxLAotCS5oYXNfZmJjID0gMSwKLQlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKLQlJVkJfQ1VS U09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZv IGludGVsX2NoZXJyeXZpZXdfaW5mbyA9IHsKLQkuZ2VuID0gOCwgLm51bV9waXBlcyA9IDMsCi0J Lm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCi0JLnJpbmdfbWFzayA9IFJFTkRF Ul9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcsCi0JLmlzX3ZhbGxleXZp ZXcgPSAxLAotCS5kaXNwbGF5X21taW9fb2Zmc2V0ID0gVkxWX0RJU1BMQVlfQkFTRSwKLQlHRU5f Q0hWX1BJUEVPRkZTRVRTLAotCUNVUlNPUl9PRkZTRVRTLAotfTsKLQotc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9za3lsYWtlX2luZm8gPSB7Ci0JLmlzX3NreWxh a2UgPSAxLAotCS5nZW4gPSA5LCAubnVtX3BpcGVzID0gMywKLQkubmVlZF9nZnhfaHdzID0gMSwg Lmhhc19ob3RwbHVnID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8 IEJMVF9SSU5HIHwgVkVCT1hfUklORywKLQkuaGFzX2xsYyA9IDEsCi0JLmhhc19kZGkgPSAxLAot CS5oYXNfZnBnYV9kYmcgPSAxLAotCS5oYXNfZmJjID0gMSwKLQlHRU5fREVGQVVMVF9QSVBFT0ZG U0VUUywKLQlJVkJfQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2RldmljZV9pbmZvIGludGVsX3NreWxha2VfZ3QzX2luZm8gPSB7Ci0JLmlzX3NreWxha2Ug PSAxLAotCS5nZW4gPSA5LCAubnVtX3BpcGVzID0gMywKLQkubmVlZF9nZnhfaHdzID0gMSwgLmhh c19ob3RwbHVnID0gMSwKLQkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJM VF9SSU5HIHwgVkVCT1hfUklORyB8IEJTRDJfUklORywKLQkuaGFzX2xsYyA9IDEsCi0JLmhhc19k ZGkgPSAxLAotCS5oYXNfZnBnYV9kYmcgPSAxLAotCS5oYXNfZmJjID0gMSwKLQlHRU5fREVGQVVM VF9QSVBFT0ZGU0VUUywKLQlJVkJfQ1VSU09SX09GRlNFVFMsCi19OwotCi1zdGF0aWMgY29uc3Qg c3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2Jyb3h0b25faW5mbyA9IHsKLQkuaXNfcHJl bGltaW5hcnkgPSAxLAotCS5nZW4gPSA5LAotCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFzX2hvdHBs dWcgPSAxLAotCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcg fCBWRUJPWF9SSU5HLAotCS5udW1fcGlwZXMgPSAzLAotCS5oYXNfZGRpID0gMSwKLQkuaGFzX2Zw Z2FfZGJnID0gMSwKLQkuaGFzX2ZiYyA9IDEsCi0JR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCi0J SVZCX0NVUlNPUl9PRkZTRVRTLAotfTsKLQotLyoKLSAqIE1ha2Ugc3VyZSBhbnkgZGV2aWNlIG1h dGNoZXMgaGVyZSBhcmUgZnJvbSBtb3N0IHNwZWNpZmljIHRvIG1vc3QKLSAqIGdlbmVyYWwuICBG b3IgZXhhbXBsZSwgc2luY2UgdGhlIFF1YW50YSBtYXRjaCBpcyBiYXNlZCBvbiB0aGUgc3Vic3lz dGVtCi0gKiBhbmQgc3VidmVuZG9yIElEcywgd2UgbmVlZCBpdCB0byBjb21lIGJlZm9yZSB0aGUg bW9yZSBnZW5lcmFsIElWQgotICogUENJIElEIG1hdGNoZXMsIG90aGVyd2lzZSB3ZSdsbCB1c2Ug dGhlIHdyb25nIGluZm8gc3RydWN0IGFib3ZlLgotICovCi0jZGVmaW5lIElOVEVMX1BDSV9JRFMg XAotCUlOVEVMX0k4MzBfSURTKCZpbnRlbF9pODMwX2luZm8pLAlcCi0JSU5URUxfSTg0NUdfSURT KCZpbnRlbF84NDVnX2luZm8pLAlcCi0JSU5URUxfSTg1WF9JRFMoJmludGVsX2k4NXhfaW5mbyks CVwKLQlJTlRFTF9JODY1R19JRFMoJmludGVsX2k4NjVnX2luZm8pLAlcCi0JSU5URUxfSTkxNUdf SURTKCZpbnRlbF9pOTE1Z19pbmZvKSwJXAotCUlOVEVMX0k5MTVHTV9JRFMoJmludGVsX2k5MTVn bV9pbmZvKSwJXAotCUlOVEVMX0k5NDVHX0lEUygmaW50ZWxfaTk0NWdfaW5mbyksCVwKLQlJTlRF TF9JOTQ1R01fSURTKCZpbnRlbF9pOTQ1Z21faW5mbyksCVwKLQlJTlRFTF9JOTY1R19JRFMoJmlu dGVsX2k5NjVnX2luZm8pLAlcCi0JSU5URUxfRzMzX0lEUygmaW50ZWxfZzMzX2luZm8pLAkJXAot CUlOVEVMX0k5NjVHTV9JRFMoJmludGVsX2k5NjVnbV9pbmZvKSwJXAotCUlOVEVMX0dNNDVfSURT KCZpbnRlbF9nbTQ1X2luZm8pLCAJXAotCUlOVEVMX0c0NV9JRFMoJmludGVsX2c0NV9pbmZvKSwg CVwKLQlJTlRFTF9QSU5FVklFV19JRFMoJmludGVsX3BpbmV2aWV3X2luZm8pLAlcCi0JSU5URUxf SVJPTkxBS0VfRF9JRFMoJmludGVsX2lyb25sYWtlX2RfaW5mbyksCVwKLQlJTlRFTF9JUk9OTEFL RV9NX0lEUygmaW50ZWxfaXJvbmxha2VfbV9pbmZvKSwJXAotCUlOVEVMX1NOQl9EX0lEUygmaW50 ZWxfc2FuZHlicmlkZ2VfZF9pbmZvKSwJXAotCUlOVEVMX1NOQl9NX0lEUygmaW50ZWxfc2FuZHli cmlkZ2VfbV9pbmZvKSwJXAotCUlOVEVMX0lWQl9RX0lEUygmaW50ZWxfaXZ5YnJpZGdlX3FfaW5m byksIC8qIG11c3QgYmUgZmlyc3QgSVZCICovIFwKLQlJTlRFTF9JVkJfTV9JRFMoJmludGVsX2l2 eWJyaWRnZV9tX2luZm8pLAlcCi0JSU5URUxfSVZCX0RfSURTKCZpbnRlbF9pdnlicmlkZ2VfZF9p bmZvKSwJXAotCUlOVEVMX0hTV19EX0lEUygmaW50ZWxfaGFzd2VsbF9kX2luZm8pLCBcCi0JSU5U RUxfSFNXX01fSURTKCZpbnRlbF9oYXN3ZWxsX21faW5mbyksIFwKLQlJTlRFTF9WTFZfTV9JRFMo JmludGVsX3ZhbGxleXZpZXdfbV9pbmZvKSwJXAotCUlOVEVMX1ZMVl9EX0lEUygmaW50ZWxfdmFs bGV5dmlld19kX2luZm8pLAlcCi0JSU5URUxfQkRXX0dUMTJNX0lEUygmaW50ZWxfYnJvYWR3ZWxs X21faW5mbyksCVwKLQlJTlRFTF9CRFdfR1QxMkRfSURTKCZpbnRlbF9icm9hZHdlbGxfZF9pbmZv KSwJXAotCUlOVEVMX0JEV19HVDNNX0lEUygmaW50ZWxfYnJvYWR3ZWxsX2d0M21faW5mbyksCVwK LQlJTlRFTF9CRFdfR1QzRF9JRFMoJmludGVsX2Jyb2Fkd2VsbF9ndDNkX2luZm8pLCBcCi0JSU5U RUxfQ0hWX0lEUygmaW50ZWxfY2hlcnJ5dmlld19pbmZvKSwJXAotCUlOVEVMX1NLTF9HVDFfSURT KCZpbnRlbF9za3lsYWtlX2luZm8pLAlcCi0JSU5URUxfU0tMX0dUMl9JRFMoJmludGVsX3NreWxh a2VfaW5mbyksCVwKLQlJTlRFTF9TS0xfR1QzX0lEUygmaW50ZWxfc2t5bGFrZV9ndDNfaW5mbyks CVwKLQlJTlRFTF9CWFRfSURTKCZpbnRlbF9icm94dG9uX2luZm8pCisvKiBGSVhNRTogdGhlcmUn cyBnb3QgdG8gYmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMuICovCisjaW5jbHVkZSAiaW50ZWxf ZGV2X2luZm8uYyIKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHBjaWlkbGlz dFtdID0gewkJLyogYWthICovCiAJSU5URUxfUENJX0lEUywKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CmluZGV4IDUwM2RmZjUuLjYyMjFjYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNTEs NiArNTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tyZWYuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9x b3MuaD4KICNpbmNsdWRlICJpbnRlbF9ndWMuaCIKKyNpbmNsdWRlICJpbnRlbF9kZXZfaW5mby5o IgogCiAvKiBHZW5lcmFsIGN1c3RvbWl6YXRpb246CiAgKi8KQEAgLTExMSwyNSArMTEyLDYgQEAg c3RhdGljIGlubGluZSBjb25zdCBjaGFyICp5ZXNubyhib29sIHYpCiAJcmV0dXJuIHYgPyAieWVz IiA6ICJubyI7CiB9CiAKLWVudW0gcGlwZSB7Ci0JSU5WQUxJRF9QSVBFID0gLTEsCi0JUElQRV9B ID0gMCwKLQlQSVBFX0IsCi0JUElQRV9DLAotCV9QSVBFX0VEUCwKLQlJOTE1X01BWF9QSVBFUyA9 IF9QSVBFX0VEUAotfTsKLSNkZWZpbmUgcGlwZV9uYW1lKHApICgocCkgKyAnQScpCi0KLWVudW0g dHJhbnNjb2RlciB7Ci0JVFJBTlNDT0RFUl9BID0gMCwKLQlUUkFOU0NPREVSX0IsCi0JVFJBTlND T0RFUl9DLAotCVRSQU5TQ09ERVJfRURQLAotCUk5MTVfTUFYX1RSQU5TQ09ERVJTCi19OwotI2Rl ZmluZSB0cmFuc2NvZGVyX25hbWUodCkgKCh0KSArICdBJykKLQogLyoKICAqIFRoaXMgaXMgdGhl IG1heGltdW0gKGFjcm9zcyBhbGwgcGxhdGZvcm1zKSBudW1iZXIgb2YgcGxhbmVzIChwcmltYXJ5 ICsKICAqIHNwcml0ZXMpIHRoYXQgY2FuIGJlIGFjdGl2ZSBhdCB0aGUgc2FtZSB0aW1lIG9uIG9u ZSBwaXBlLgpAQCAtNzYxLDY2ICs3NDMsNiBAQCBzdHJ1Y3QgaW50ZWxfY3NyIHsKIAllbnVtIGNz cl9zdGF0ZSBzdGF0ZTsKIH07CiAKLSNkZWZpbmUgREVWX0lORk9fRk9SX0VBQ0hfRkxBRyhmdW5j LCBzZXApIFwKLQlmdW5jKGlzX21vYmlsZSkgc2VwIFwKLQlmdW5jKGlzX2k4NXgpIHNlcCBcCi0J ZnVuYyhpc19pOTE1Zykgc2VwIFwKLQlmdW5jKGlzX2k5NDVnbSkgc2VwIFwKLQlmdW5jKGlzX2cz Mykgc2VwIFwKLQlmdW5jKG5lZWRfZ2Z4X2h3cykgc2VwIFwKLQlmdW5jKGlzX2c0eCkgc2VwIFwK LQlmdW5jKGlzX3BpbmV2aWV3KSBzZXAgXAotCWZ1bmMoaXNfYnJvYWR3YXRlcikgc2VwIFwKLQlm dW5jKGlzX2NyZXN0bGluZSkgc2VwIFwKLQlmdW5jKGlzX2l2eWJyaWRnZSkgc2VwIFwKLQlmdW5j KGlzX3ZhbGxleXZpZXcpIHNlcCBcCi0JZnVuYyhpc19oYXN3ZWxsKSBzZXAgXAotCWZ1bmMoaXNf c2t5bGFrZSkgc2VwIFwKLQlmdW5jKGlzX3ByZWxpbWluYXJ5KSBzZXAgXAotCWZ1bmMoaGFzX2Zi Yykgc2VwIFwKLQlmdW5jKGhhc19waXBlX2N4c3IpIHNlcCBcCi0JZnVuYyhoYXNfaG90cGx1Zykg c2VwIFwKLQlmdW5jKGN1cnNvcl9uZWVkc19waHlzaWNhbCkgc2VwIFwKLQlmdW5jKGhhc19vdmVy bGF5KSBzZXAgXAotCWZ1bmMob3ZlcmxheV9uZWVkc19waHlzaWNhbCkgc2VwIFwKLQlmdW5jKHN1 cHBvcnRzX3R2KSBzZXAgXAotCWZ1bmMoaGFzX2xsYykgc2VwIFwKLQlmdW5jKGhhc19kZGkpIHNl cCBcCi0JZnVuYyhoYXNfZnBnYV9kYmcpCi0KLSNkZWZpbmUgREVGSU5FX0ZMQUcobmFtZSkgdTgg bmFtZToxCi0jZGVmaW5lIFNFUF9TRU1JQ09MT04gOwotCi1zdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gewotCXUzMiBkaXNwbGF5X21taW9fb2Zmc2V0OwotCXUxNiBkZXZpY2VfaWQ7Ci0JdTggbnVt X3BpcGVzOjM7Ci0JdTggbnVtX3Nwcml0ZXNbSTkxNV9NQVhfUElQRVNdOwotCXU4IGdlbjsKLQl1 OCByaW5nX21hc2s7IC8qIFJpbmdzIHN1cHBvcnRlZCBieSB0aGUgSFcgKi8KLQlERVZfSU5GT19G T1JfRUFDSF9GTEFHKERFRklORV9GTEFHLCBTRVBfU0VNSUNPTE9OKTsKLQkvKiBSZWdpc3RlciBv ZmZzZXRzIGZvciB0aGUgdmFyaW91cyBkaXNwbGF5IHBpcGVzIGFuZCB0cmFuc2NvZGVycyAqLwot CWludCBwaXBlX29mZnNldHNbSTkxNV9NQVhfVFJBTlNDT0RFUlNdOwotCWludCB0cmFuc19vZmZz ZXRzW0k5MTVfTUFYX1RSQU5TQ09ERVJTXTsKLQlpbnQgcGFsZXR0ZV9vZmZzZXRzW0k5MTVfTUFY X1BJUEVTXTsKLQlpbnQgY3Vyc29yX29mZnNldHNbSTkxNV9NQVhfUElQRVNdOwotCi0JLyogU2xp Y2Uvc3Vic2xpY2UvRVUgaW5mbyAqLwotCXU4IHNsaWNlX3RvdGFsOwotCXU4IHN1YnNsaWNlX3Rv dGFsOwotCXU4IHN1YnNsaWNlX3Blcl9zbGljZTsKLQl1OCBldV90b3RhbDsKLQl1OCBldV9wZXJf c3Vic2xpY2U7Ci0JLyogRm9yIGVhY2ggc2xpY2UsIHdoaWNoIHN1YnNsaWNlKHMpIGhhcyhoYXZl KSA3IEVVcyAoYml0ZmllbGQpPyAqLwotCXU4IHN1YnNsaWNlXzdldVszXTsKLQl1OCBoYXNfc2xp Y2VfcGc6MTsKLQl1OCBoYXNfc3Vic2xpY2VfcGc6MTsKLQl1OCBoYXNfZXVfcGc6MTsKLX07Ci0K LSN1bmRlZiBERUZJTkVfRkxBRwotI3VuZGVmIFNFUF9TRU1JQ09MT04KLQogZW51bSBpOTE1X2Nh Y2hlX2xldmVsIHsKIAlJOTE1X0NBQ0hFX05PTkUgPSAwLAogCUk5MTVfQ0FDSEVfTExDLCAvKiBh bHNvIHVzZWQgZm9yIHNub29wYWJsZSBtZW1vcnkgb24gbm9uLUxMQyAqLwpAQCAtOTk1LDE1ICs5 MTcsNiBAQCBzdHJ1Y3QgaTkxNV9wc3IgewogCWJvb2wgYXV4X2ZyYW1lX3N5bmM7CiB9OwogCi1l bnVtIGludGVsX3BjaCB7Ci0JUENIX05PTkUgPSAwLAkvKiBObyBQQ0ggcHJlc2VudCAqLwotCVBD SF9JQlgsCS8qIEliZXhwZWFrIFBDSCAqLwotCVBDSF9DUFQsCS8qIENvdWdhcnBvaW50IFBDSCAq LwotCVBDSF9MUFQsCS8qIEx5bnhwb2ludCBQQ0ggKi8KLQlQQ0hfU1BULCAgICAgICAgLyogU3Vu cmlzZXBvaW50IFBDSCAqLwotCVBDSF9OT1AsCi19OwotCiBlbnVtIGludGVsX3NiaV9kZXN0aW5h dGlvbiB7CiAJU0JJX0lDTEssCiAJU0JJX01QSFksCkBAIC0yNDIwLDIwMyArMjMzMyw2IEBAIHN0 cnVjdCBkcm1faTkxNV9jbWRfdGFibGUgewogCWludCBjb3VudDsKIH07CiAKLS8qIE5vdGUgdGhh dCB0aGUgKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICopIGNhc3QgaXMganVzdCB0byBzaHV0IHVw IGdjYy4gKi8KLSNkZWZpbmUgX19JOTE1X18ocCkgKHsgXAotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpfX3A7IFwKLQlpZiAoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCh0eXBlb2YoKnAp LCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSkpIFwKLQkJX19wID0gKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICopcDsgXAotCWVsc2UgaWYgKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AodHlw ZW9mKCpwKSwgc3RydWN0IGRybV9kZXZpY2UpKSBcCi0JCV9fcCA9IHRvX2k5MTUoKHN0cnVjdCBk cm1fZGV2aWNlICopcCk7IFwKLQllbHNlIFwKLQkJQlVJTERfQlVHKCk7IFwKLQlfX3A7IFwKLX0p Ci0jZGVmaW5lIElOVEVMX0lORk8ocCkgCSgmX19JOTE1X18ocCktPmluZm8pCi0jZGVmaW5lIElO VEVMX0RFVklEKHApCShJTlRFTF9JTkZPKHApLT5kZXZpY2VfaWQpCi0jZGVmaW5lIElOVEVMX1JF VklEKHApCShfX0k5MTVfXyhwKS0+ZGV2LT5wZGV2LT5yZXZpc2lvbikKLQotI2RlZmluZSBJU19J ODMwKGRldikJCShJTlRFTF9ERVZJRChkZXYpID09IDB4MzU3NykKLSNkZWZpbmUgSVNfODQ1Ryhk ZXYpCQkoSU5URUxfREVWSUQoZGV2KSA9PSAweDI1NjIpCi0jZGVmaW5lIElTX0k4NVgoZGV2KQkJ KElOVEVMX0lORk8oZGV2KS0+aXNfaTg1eCkKLSNkZWZpbmUgSVNfSTg2NUcoZGV2KQkJKElOVEVM X0RFVklEKGRldikgPT0gMHgyNTcyKQotI2RlZmluZSBJU19JOTE1RyhkZXYpCQkoSU5URUxfSU5G TyhkZXYpLT5pc19pOTE1ZykKLSNkZWZpbmUgSVNfSTkxNUdNKGRldikJCShJTlRFTF9ERVZJRChk ZXYpID09IDB4MjU5MikKLSNkZWZpbmUgSVNfSTk0NUcoZGV2KQkJKElOVEVMX0RFVklEKGRldikg PT0gMHgyNzcyKQotI2RlZmluZSBJU19JOTQ1R00oZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+aXNf aTk0NWdtKQotI2RlZmluZSBJU19CUk9BRFdBVEVSKGRldikJKElOVEVMX0lORk8oZGV2KS0+aXNf YnJvYWR3YXRlcikKLSNkZWZpbmUgSVNfQ1JFU1RMSU5FKGRldikJKElOVEVMX0lORk8oZGV2KS0+ aXNfY3Jlc3RsaW5lKQotI2RlZmluZSBJU19HTTQ1KGRldikJCShJTlRFTF9ERVZJRChkZXYpID09 IDB4MkE0MikKLSNkZWZpbmUgSVNfRzRYKGRldikJCShJTlRFTF9JTkZPKGRldiktPmlzX2c0eCkK LSNkZWZpbmUgSVNfUElORVZJRVdfRyhkZXYpCShJTlRFTF9ERVZJRChkZXYpID09IDB4YTAwMSkK LSNkZWZpbmUgSVNfUElORVZJRVdfTShkZXYpCShJTlRFTF9ERVZJRChkZXYpID09IDB4YTAxMSkK LSNkZWZpbmUgSVNfUElORVZJRVcoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5pc19waW5ldmlldykK LSNkZWZpbmUgSVNfRzMzKGRldikJCShJTlRFTF9JTkZPKGRldiktPmlzX2czMykKLSNkZWZpbmUg SVNfSVJPTkxBS0VfTShkZXYpCShJTlRFTF9ERVZJRChkZXYpID09IDB4MDA0NikKLSNkZWZpbmUg SVNfSVZZQlJJREdFKGRldikJKElOVEVMX0lORk8oZGV2KS0+aXNfaXZ5YnJpZGdlKQotI2RlZmlu ZSBJU19JVkJfR1QxKGRldikJCShJTlRFTF9ERVZJRChkZXYpID09IDB4MDE1NiB8fCBcCi0JCQkJ IElOVEVMX0RFVklEKGRldikgPT0gMHgwMTUyIHx8IFwKLQkJCQkgSU5URUxfREVWSUQoZGV2KSA9 PSAweDAxNWEpCi0jZGVmaW5lIElTX1ZBTExFWVZJRVcoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5p c192YWxsZXl2aWV3KQotI2RlZmluZSBJU19DSEVSUllWSUVXKGRldikJKElOVEVMX0lORk8oZGV2 KS0+aXNfdmFsbGV5dmlldyAmJiBJU19HRU44KGRldikpCi0jZGVmaW5lIElTX0hBU1dFTEwoZGV2 KQkoSU5URUxfSU5GTyhkZXYpLT5pc19oYXN3ZWxsKQotI2RlZmluZSBJU19CUk9BRFdFTEwoZGV2 KQkoIUlOVEVMX0lORk8oZGV2KS0+aXNfdmFsbGV5dmlldyAmJiBJU19HRU44KGRldikpCi0jZGVm aW5lIElTX1NLWUxBS0UoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5pc19za3lsYWtlKQotI2RlZmlu ZSBJU19CUk9YVE9OKGRldikJKCFJTlRFTF9JTkZPKGRldiktPmlzX3NreWxha2UgJiYgSVNfR0VO OShkZXYpKQotI2RlZmluZSBJU19NT0JJTEUoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+aXNfbW9i aWxlKQotI2RlZmluZSBJU19IU1dfRUFSTFlfU0RWKGRldikJKElTX0hBU1dFTEwoZGV2KSAmJiBc Ci0JCQkJIChJTlRFTF9ERVZJRChkZXYpICYgMHhGRjAwKSA9PSAweDBDMDApCi0jZGVmaW5lIElT X0JEV19VTFQoZGV2KQkJKElTX0JST0FEV0VMTChkZXYpICYmIFwKLQkJCQkgKChJTlRFTF9ERVZJ RChkZXYpICYgMHhmKSA9PSAweDYgfHwJXAotCQkJCSAoSU5URUxfREVWSUQoZGV2KSAmIDB4Zikg PT0gMHhiIHx8CVwKLQkJCQkgKElOVEVMX0RFVklEKGRldikgJiAweGYpID09IDB4ZSkpCi0vKiBV TFggbWFjaGluZXMgYXJlIGFsc28gY29uc2lkZXJlZCBVTFQuICovCi0jZGVmaW5lIElTX0JEV19V TFgoZGV2KQkJKElTX0JST0FEV0VMTChkZXYpICYmIFwKLQkJCQkgKElOVEVMX0RFVklEKGRldikg JiAweGYpID09IDB4ZSkKLSNkZWZpbmUgSVNfQkRXX0dUMyhkZXYpCQkoSVNfQlJPQURXRUxMKGRl dikgJiYgXAotCQkJCSAoSU5URUxfREVWSUQoZGV2KSAmIDB4MDBGMCkgPT0gMHgwMDIwKQotI2Rl ZmluZSBJU19IU1dfVUxUKGRldikJCShJU19IQVNXRUxMKGRldikgJiYgXAotCQkJCSAoSU5URUxf REVWSUQoZGV2KSAmIDB4RkYwMCkgPT0gMHgwQTAwKQotI2RlZmluZSBJU19IU1dfR1QzKGRldikJ CShJU19IQVNXRUxMKGRldikgJiYgXAotCQkJCSAoSU5URUxfREVWSUQoZGV2KSAmIDB4MDBGMCkg PT0gMHgwMDIwKQotLyogVUxYIG1hY2hpbmVzIGFyZSBhbHNvIGNvbnNpZGVyZWQgVUxULiAqLwot I2RlZmluZSBJU19IU1dfVUxYKGRldikJCShJTlRFTF9ERVZJRChkZXYpID09IDB4MEEwRSB8fCBc Ci0JCQkJIElOVEVMX0RFVklEKGRldikgPT0gMHgwQTFFKQotI2RlZmluZSBJU19TS0xfVUxUKGRl dikJCShJTlRFTF9ERVZJRChkZXYpID09IDB4MTkwNiB8fCBcCi0JCQkJIElOVEVMX0RFVklEKGRl dikgPT0gMHgxOTEzIHx8IFwKLQkJCQkgSU5URUxfREVWSUQoZGV2KSA9PSAweDE5MTYgfHwgXAot CQkJCSBJTlRFTF9ERVZJRChkZXYpID09IDB4MTkyMSB8fCBcCi0JCQkJIElOVEVMX0RFVklEKGRl dikgPT0gMHgxOTI2KQotI2RlZmluZSBJU19TS0xfVUxYKGRldikJCShJTlRFTF9ERVZJRChkZXYp ID09IDB4MTkwRSB8fCBcCi0JCQkJIElOVEVMX0RFVklEKGRldikgPT0gMHgxOTE1IHx8IFwKLQkJ CQkgSU5URUxfREVWSUQoZGV2KSA9PSAweDE5MUUpCi0jZGVmaW5lIElTX1BSRUxJTUlOQVJZX0hX KGludGVsX2luZm8pICgoaW50ZWxfaW5mbyktPmlzX3ByZWxpbWluYXJ5KQotCi0jZGVmaW5lIFNL TF9SRVZJRF9BMAkJKDB4MCkKLSNkZWZpbmUgU0tMX1JFVklEX0IwCQkoMHgxKQotI2RlZmluZSBT S0xfUkVWSURfQzAJCSgweDIpCi0jZGVmaW5lIFNLTF9SRVZJRF9EMAkJKDB4MykKLSNkZWZpbmUg U0tMX1JFVklEX0UwCQkoMHg0KQotI2RlZmluZSBTS0xfUkVWSURfRjAJCSgweDUpCi0KLSNkZWZp bmUgQlhUX1JFVklEX0EwCQkoMHgwKQotI2RlZmluZSBCWFRfUkVWSURfQjAJCSgweDMpCi0jZGVm aW5lIEJYVF9SRVZJRF9DMAkJKDB4NikKLQotLyoKLSAqIFRoZSBnZW5YIGRlc2lnbmF0aW9uIHR5 cGljYWxseSByZWZlcnMgdG8gdGhlIHJlbmRlciBlbmdpbmUsIHNvIHJlbmRlcgotICogY2FwYWJp bGl0eSByZWxhdGVkIGNoZWNrcyBzaG91bGQgdXNlIElTX0dFTiwgd2hpbGUgZGlzcGxheSBhbmQg b3RoZXIgY2hlY2tzCi0gKiBoYXZlIHRoZWlyIG93biAoZS5nLiBIQVNfUENIX1NQTElUIGZvciBJ TEsrIGRpc3BsYXksIElTX2ZvbyBmb3IgcGFydGljdWxhcgotICogY2hpcHMsIGV0Yy4pLgotICov Ci0jZGVmaW5lIElTX0dFTjIoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gMikKLSNkZWZp bmUgSVNfR0VOMyhkZXYpCShJTlRFTF9JTkZPKGRldiktPmdlbiA9PSAzKQotI2RlZmluZSBJU19H RU40KGRldikJKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDQpCi0jZGVmaW5lIElTX0dFTjUoZGV2 KQkoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gNSkKLSNkZWZpbmUgSVNfR0VONihkZXYpCShJTlRF TF9JTkZPKGRldiktPmdlbiA9PSA2KQotI2RlZmluZSBJU19HRU43KGRldikJKElOVEVMX0lORk8o ZGV2KS0+Z2VuID09IDcpCi0jZGVmaW5lIElTX0dFTjgoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5n ZW4gPT0gOCkKLSNkZWZpbmUgSVNfR0VOOShkZXYpCShJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA5 KQotCi0jZGVmaW5lIFJFTkRFUl9SSU5HCQkoMTw8UkNTKQotI2RlZmluZSBCU0RfUklORwkJKDE8 PFZDUykKLSNkZWZpbmUgQkxUX1JJTkcJCSgxPDxCQ1MpCi0jZGVmaW5lIFZFQk9YX1JJTkcJCSgx PDxWRUNTKQotI2RlZmluZSBCU0QyX1JJTkcJCSgxPDxWQ1MyKQotI2RlZmluZSBIQVNfQlNEKGRl dikJCShJTlRFTF9JTkZPKGRldiktPnJpbmdfbWFzayAmIEJTRF9SSU5HKQotI2RlZmluZSBIQVNf QlNEMihkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5yaW5nX21hc2sgJiBCU0QyX1JJTkcpCi0jZGVm aW5lIEhBU19CTFQoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+cmluZ19tYXNrICYgQkxUX1JJTkcp Ci0jZGVmaW5lIEhBU19WRUJPWChkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5yaW5nX21hc2sgJiBW RUJPWF9SSU5HKQotI2RlZmluZSBIQVNfTExDKGRldikJCShJTlRFTF9JTkZPKGRldiktPmhhc19s bGMpCi0jZGVmaW5lIEhBU19XVChkZXYpCQkoKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdF TEwoZGV2KSkgJiYgXAotCQkJCSBfX0k5MTVfXyhkZXYpLT5lbGxjX3NpemUpCi0jZGVmaW5lIEk5 MTVfTkVFRF9HRlhfSFdTKGRldikJKElOVEVMX0lORk8oZGV2KS0+bmVlZF9nZnhfaHdzKQotCi0j ZGVmaW5lIEhBU19IV19DT05URVhUUyhkZXYpCShJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA2KQot I2RlZmluZSBIQVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRTKGRldikJKElOVEVMX0lORk8oZGV2KS0+ Z2VuID49IDgpCi0jZGVmaW5lIFVTRVNfUFBHVFQoZGV2KQkJKGk5MTUuZW5hYmxlX3BwZ3R0KQot I2RlZmluZSBVU0VTX0ZVTExfUFBHVFQoZGV2KQkoaTkxNS5lbmFibGVfcHBndHQgPj0gMikKLSNk ZWZpbmUgVVNFU19GVUxMXzQ4QklUX1BQR1RUKGRldikJKGk5MTUuZW5hYmxlX3BwZ3R0ID09IDMp Ci0KLSNkZWZpbmUgSEFTX09WRVJMQVkoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+aGFzX292ZXJs YXkpCi0jZGVmaW5lIE9WRVJMQVlfTkVFRFNfUEhZU0lDQUwoZGV2KQkoSU5URUxfSU5GTyhkZXYp LT5vdmVybGF5X25lZWRzX3BoeXNpY2FsKQotCi0vKiBFYXJseSBnZW4yIGhhdmUgYSB0b3RhbGx5 IGJ1c3RlZCBDUyB0bGIgYW5kIHJlcXVpcmUgcGlubmVkIGJhdGNoZXMuICovCi0jZGVmaW5lIEhB U19CUk9LRU5fQ1NfVExCKGRldikJCShJU19JODMwKGRldikgfHwgSVNfODQ1RyhkZXYpKQotLyoK LSAqIGRwIGF1eCBhbmQgZ21idXMgaXJxIG9uIGdlbjQgc2VlbXMgdG8gYmUgYWJsZSB0byBnZW5l cmF0ZSBsZWdhY3kgaW50ZXJydXB0cwotICogZXZlbiB3aGVuIGluIE1TSSBtb2RlLiBUaGlzIHJl c3VsdHMgaW4gc3B1cmlvdXMgaW50ZXJydXB0IHdhcm5pbmdzIGlmIHRoZQotICogbGVnYWN5IGly cSBuby4gaXMgc2hhcmVkIHdpdGggYW5vdGhlciBkZXZpY2UuIFRoZSBrZXJuZWwgdGhlbiBkaXNh YmxlcyB0aGF0Ci0gKiBpbnRlcnJ1cHQgc291cmNlIGFuZCBzbyBwcmV2ZW50cyB0aGUgb3RoZXIg ZGV2aWNlIGZyb20gd29ya2luZyBwcm9wZXJseS4KLSAqLwotI2RlZmluZSBIQVNfQVVYX0lSUShk ZXYpIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA1KQotI2RlZmluZSBIQVNfR01CVVNfSVJRKGRl dikgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDUpCi0KLS8qIFdpdGggdGhlIDk0NSBhbmQgbGF0 ZXIsIFkgdGlsaW5nIGdvdCBhZGp1c3RlZCBzbyB0aGF0IGl0IHdhcyAzMiAxMjgtYnl0ZQotICog cm93cywgd2hpY2ggY2hhbmdlZCB0aGUgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBhbmQgZmVuY2Ug cHJvZ3JhbW1pbmcuCi0gKi8KLSNkZWZpbmUgSEFTXzEyOF9CWVRFX1lfVElMSU5HKGRldikgKCFJ U19HRU4yKGRldikgJiYgIShJU19JOTE1RyhkZXYpIHx8IFwKLQkJCQkJCSAgICAgIElTX0k5MTVH TShkZXYpKSkKLSNkZWZpbmUgU1VQUE9SVFNfVFYoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+c3Vw cG9ydHNfdHYpCi0jZGVmaW5lIEk5MTVfSEFTX0hPVFBMVUcoZGV2KQkJIChJTlRFTF9JTkZPKGRl diktPmhhc19ob3RwbHVnKQotCi0jZGVmaW5lIEhBU19GV19CTEMoZGV2KSAoSU5URUxfSU5GTyhk ZXYpLT5nZW4gPiAyKQotI2RlZmluZSBIQVNfUElQRV9DWFNSKGRldikgKElOVEVMX0lORk8oZGV2 KS0+aGFzX3BpcGVfY3hzcikKLSNkZWZpbmUgSEFTX0ZCQyhkZXYpIChJTlRFTF9JTkZPKGRldikt Pmhhc19mYmMpCi0KLSNkZWZpbmUgSEFTX0lQUyhkZXYpCQkoSVNfSFNXX1VMVChkZXYpIHx8IElT X0JST0FEV0VMTChkZXYpKQotCi0jZGVmaW5lIEhBU19EUF9NU1QoZGV2KQkJKElTX0hBU1dFTEwo ZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSB8fCBcCi0JCQkJIElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDkpCi0KLSNkZWZpbmUgSEFTX0RESShkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5oYXNfZGRp KQotI2RlZmluZSBIQVNfRlBHQV9EQkdfVU5DTEFJTUVEKGRldikJKElOVEVMX0lORk8oZGV2KS0+ aGFzX2ZwZ2FfZGJnKQotI2RlZmluZSBIQVNfUFNSKGRldikJCShJU19IQVNXRUxMKGRldikgfHwg SVNfQlJPQURXRUxMKGRldikgfHwgXAotCQkJCSBJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hF UlJZVklFVyhkZXYpIHx8IFwKLQkJCQkgSVNfU0tZTEFLRShkZXYpKQotI2RlZmluZSBIQVNfUlVO VElNRV9QTShkZXYpCShJU19HRU42KGRldikgfHwgSVNfSEFTV0VMTChkZXYpIHx8IFwKLQkJCQkg SVNfQlJPQURXRUxMKGRldikgfHwgSVNfVkFMTEVZVklFVyhkZXYpIHx8IFwKLQkJCQkgSVNfU0tZ TEFLRShkZXYpKQotI2RlZmluZSBIQVNfUkM2KGRldikJCShJTlRFTF9JTkZPKGRldiktPmdlbiA+ PSA2KQotI2RlZmluZSBIQVNfUkM2cChkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gNiB8 fCBJU19JVllCUklER0UoZGV2KSkKLQotI2RlZmluZSBIQVNfQ1NSKGRldikJKElTX1NLWUxBS0Uo ZGV2KSkKLQotI2RlZmluZSBIQVNfR1VDX1VDT0RFKGRldikJKElTX0dFTjkoZGV2KSkKLSNkZWZp bmUgSEFTX0dVQ19TQ0hFRChkZXYpCShJU19HRU45KGRldikpCi0KLSNkZWZpbmUgSEFTX1JFU09V UkNFX1NUUkVBTUVSKGRldikgKElTX0hBU1dFTEwoZGV2KSB8fCBcCi0JCQkJICAgIElOVEVMX0lO Rk8oZGV2KS0+Z2VuID49IDgpCi0KLSNkZWZpbmUgSEFTX0NPUkVfUklOR19GUkVRKGRldikJKElO VEVMX0lORk8oZGV2KS0+Z2VuID49IDYgJiYgXAotCQkJCSAhSVNfVkFMTEVZVklFVyhkZXYpICYm ICFJU19CUk9YVE9OKGRldikpCi0KLSNkZWZpbmUgSU5URUxfUENIX0RFVklDRV9JRF9NQVNLCQkw eGZmMDAKLSNkZWZpbmUgSU5URUxfUENIX0lCWF9ERVZJQ0VfSURfVFlQRQkJMHgzYjAwCi0jZGVm aW5lIElOVEVMX1BDSF9DUFRfREVWSUNFX0lEX1RZUEUJCTB4MWMwMAotI2RlZmluZSBJTlRFTF9Q Q0hfUFBUX0RFVklDRV9JRF9UWVBFCQkweDFlMDAKLSNkZWZpbmUgSU5URUxfUENIX0xQVF9ERVZJ Q0VfSURfVFlQRQkJMHg4YzAwCi0jZGVmaW5lIElOVEVMX1BDSF9MUFRfTFBfREVWSUNFX0lEX1RZ UEUJCTB4OWMwMAotI2RlZmluZSBJTlRFTF9QQ0hfU1BUX0RFVklDRV9JRF9UWVBFCQkweEExMDAK LSNkZWZpbmUgSU5URUxfUENIX1NQVF9MUF9ERVZJQ0VfSURfVFlQRQkJMHg5RDAwCi0KLSNkZWZp bmUgSU5URUxfUENIX1RZUEUoZGV2KSAoX19JOTE1X18oZGV2KS0+cGNoX3R5cGUpCi0jZGVmaW5l IEhBU19QQ0hfU1BUKGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX1NQVCkKLSNkZWZp bmUgSEFTX1BDSF9MUFQoZGV2KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfTFBUKQotI2Rl ZmluZSBIQVNfUENIX0xQVF9MUChkZXYpIChfX0k5MTVfXyhkZXYpLT5wY2hfaWQgPT0gSU5URUxf UENIX0xQVF9MUF9ERVZJQ0VfSURfVFlQRSkKLSNkZWZpbmUgSEFTX1BDSF9DUFQoZGV2KSAoSU5U RUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfQ1BUKQotI2RlZmluZSBIQVNfUENIX0lCWChkZXYpIChJ TlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9JQlgpCi0jZGVmaW5lIEhBU19QQ0hfTk9QKGRldikg KElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX05PUCkKLSNkZWZpbmUgSEFTX1BDSF9TUExJVChk ZXYpIChJTlRFTF9QQ0hfVFlQRShkZXYpICE9IFBDSF9OT05FKQotCi0jZGVmaW5lIEhBU19HTUNI X0RJU1BMQVkoZGV2KSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA1IHx8IElTX1ZBTExFWVZJRVco ZGV2KSkKLQotLyogRFBGID09IGR5bmFtaWMgcGFyaXR5IGZlYXR1cmUgKi8KLSNkZWZpbmUgSEFT X0wzX0RQRihkZXYpIChJU19JVllCUklER0UoZGV2KSB8fCBJU19IQVNXRUxMKGRldikpCi0jZGVm aW5lIE5VTV9MM19TTElDRVMoZGV2KSAoSVNfSFNXX0dUMyhkZXYpID8gMiA6IEhBU19MM19EUEYo ZGV2KSkKLQotI2RlZmluZSBHVF9GUkVRVUVOQ1lfTVVMVElQTElFUiA1MAotI2RlZmluZSBHRU45 X0ZSRVFfU0NBTEVSIDMKLQogI2luY2x1ZGUgImk5MTVfdHJhY2UuaCIKIAogZXh0ZXJuIGNvbnN0 IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBpOTE1X2lvY3Rsc1tdOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2X2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rldl9pbmZvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYyZjU0 MgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldl9pbmZv LmMKQEAgLTAsMCArMSw0MjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwMyBUdW5nc3RlbiBHcmFw aGljcywgSW5jLiwgQ2VkYXIgUGFyaywgVGV4YXMuCisgKiBBbGwgUmlnaHRzIFJlc2VydmVkLgor ICogQ29weXJpZ2h0IMKpIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9u IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p bmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRp b24gZmlsZXMgKHRoZQorICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdp dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorICogZGlzdHJpYnV0 ZSwgc3ViIGxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0 bworICogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvCisgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUKKyAqIG5leHQgcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zCisgKiBvZiB0aGUgU29mdHdhcmUuCisgKgor ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MKKyAqIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTi1JTkZSSU5HRU1FTlQuCisgKiBJTiBOTyBFVkVO VCBTSEFMTCBUVU5HU1RFTiBHUkFQSElDUyBBTkQvT1IgSVRTIFNVUFBMSUVSUyBCRSBMSUFCTEUg Rk9SCisgKiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwKKyAqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZS T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgKiBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKworI2RlZmlu ZSBHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUyBcCisJLnBpcGVfb2Zmc2V0cyA9IHsgUElQRV9BX09G RlNFVCwgUElQRV9CX09GRlNFVCwgXAorCQkJICBQSVBFX0NfT0ZGU0VULCBQSVBFX0VEUF9PRkZT RVQgfSwgXAorCS50cmFuc19vZmZzZXRzID0geyBUUkFOU0NPREVSX0FfT0ZGU0VULCBUUkFOU0NP REVSX0JfT0ZGU0VULCBcCisJCQkgICBUUkFOU0NPREVSX0NfT0ZGU0VULCBUUkFOU0NPREVSX0VE UF9PRkZTRVQgfSwgXAorCS5wYWxldHRlX29mZnNldHMgPSB7IFBBTEVUVEVfQV9PRkZTRVQsIFBB TEVUVEVfQl9PRkZTRVQgfQorCisjZGVmaW5lIEdFTl9DSFZfUElQRU9GRlNFVFMgXAorCS5waXBl X29mZnNldHMgPSB7IFBJUEVfQV9PRkZTRVQsIFBJUEVfQl9PRkZTRVQsIFwKKwkJCSAgQ0hWX1BJ UEVfQ19PRkZTRVQgfSwgXAorCS50cmFuc19vZmZzZXRzID0geyBUUkFOU0NPREVSX0FfT0ZGU0VU LCBUUkFOU0NPREVSX0JfT0ZGU0VULCBcCisJCQkgICBDSFZfVFJBTlNDT0RFUl9DX09GRlNFVCwg fSwgXAorCS5wYWxldHRlX29mZnNldHMgPSB7IFBBTEVUVEVfQV9PRkZTRVQsIFBBTEVUVEVfQl9P RkZTRVQsIFwKKwkJCSAgICAgQ0hWX1BBTEVUVEVfQ19PRkZTRVQgfQorCisjZGVmaW5lIENVUlNP Ul9PRkZTRVRTIFwKKwkuY3Vyc29yX29mZnNldHMgPSB7IENVUlNPUl9BX09GRlNFVCwgQ1VSU09S X0JfT0ZGU0VULCBDSFZfQ1VSU09SX0NfT0ZGU0VUIH0KKworI2RlZmluZSBJVkJfQ1VSU09SX09G RlNFVFMgXAorCS5jdXJzb3Jfb2Zmc2V0cyA9IHsgQ1VSU09SX0FfT0ZGU0VULCBJVkJfQ1VSU09S X0JfT0ZGU0VULCBJVkJfQ1VSU09SX0NfT0ZGU0VUIH0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBp bnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODMwX2luZm8gPSB7CisJLmdlbiA9IDIsIC5pc19tb2Jp bGUgPSAxLCAuY3Vyc29yX25lZWRzX3BoeXNpY2FsID0gMSwgLm51bV9waXBlcyA9IDIsCisJLmhh c19vdmVybGF5ID0gMSwgLm92ZXJsYXlfbmVlZHNfcGh5c2ljYWwgPSAxLAorCS5yaW5nX21hc2sg PSBSRU5ERVJfUklORywKKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VU UywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfODQ1 Z19pbmZvID0geworCS5nZW4gPSAyLCAubnVtX3BpcGVzID0gMSwKKwkuaGFzX292ZXJsYXkgPSAx LCAub3ZlcmxheV9uZWVkc19waHlzaWNhbCA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5H LAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKworc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODV4X2luZm8gPSB7CisJ LmdlbiA9IDIsIC5pc19pODV4ID0gMSwgLmlzX21vYmlsZSA9IDEsIC5udW1fcGlwZXMgPSAyLAor CS5jdXJzb3JfbmVlZHNfcGh5c2ljYWwgPSAxLAorCS5oYXNfb3ZlcmxheSA9IDEsIC5vdmVybGF5 X25lZWRzX3BoeXNpY2FsID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRF Ul9SSU5HLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsK Kworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODY1Z19pbmZv ID0geworCS5nZW4gPSAyLCAubnVtX3BpcGVzID0gMSwKKwkuaGFzX292ZXJsYXkgPSAxLCAub3Zl cmxheV9uZWVkc19waHlzaWNhbCA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HLAorCUdF Tl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTE1Z19pbmZvID0geworCS5nZW4g PSAzLCAuaXNfaTkxNWcgPSAxLCAuY3Vyc29yX25lZWRzX3BoeXNpY2FsID0gMSwgLm51bV9waXBl cyA9IDIsCisJLmhhc19vdmVybGF5ID0gMSwgLm92ZXJsYXlfbmVlZHNfcGh5c2ljYWwgPSAxLAor CS5yaW5nX21hc2sgPSBSRU5ERVJfUklORywKKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlD VVJTT1JfT0ZGU0VUUywKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZv IGludGVsX2k5MTVnbV9pbmZvID0geworCS5nZW4gPSAzLCAuaXNfbW9iaWxlID0gMSwgLm51bV9w aXBlcyA9IDIsCisJLmN1cnNvcl9uZWVkc19waHlzaWNhbCA9IDEsCisJLmhhc19vdmVybGF5ID0g MSwgLm92ZXJsYXlfbmVlZHNfcGh5c2ljYWwgPSAxLAorCS5zdXBwb3J0c190diA9IDEsCisJLmhh c19mYmMgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORywKKwlHRU5fREVGQVVMVF9QSVBF T0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVs X2RldmljZV9pbmZvIGludGVsX2k5NDVnX2luZm8gPSB7CisJLmdlbiA9IDMsIC5oYXNfaG90cGx1 ZyA9IDEsIC5jdXJzb3JfbmVlZHNfcGh5c2ljYWwgPSAxLCAubnVtX3BpcGVzID0gMiwKKwkuaGFz X292ZXJsYXkgPSAxLCAub3ZlcmxheV9uZWVkc19waHlzaWNhbCA9IDEsCisJLnJpbmdfbWFzayA9 IFJFTkRFUl9SSU5HLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRT LAorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaTk0NWdt X2luZm8gPSB7CisJLmdlbiA9IDMsIC5pc19pOTQ1Z20gPSAxLCAuaXNfbW9iaWxlID0gMSwgLm51 bV9waXBlcyA9IDIsCisJLmhhc19ob3RwbHVnID0gMSwgLmN1cnNvcl9uZWVkc19waHlzaWNhbCA9 IDEsCisJLmhhc19vdmVybGF5ID0gMSwgLm92ZXJsYXlfbmVlZHNfcGh5c2ljYWwgPSAxLAorCS5z dXBwb3J0c190diA9IDEsCisJLmhhc19mYmMgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklO RywKKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaTk2NWdfaW5mbyA9IHsK KwkuZ2VuID0gNCwgLmlzX2Jyb2Fkd2F0ZXIgPSAxLCAubnVtX3BpcGVzID0gMiwKKwkuaGFzX2hv dHBsdWcgPSAxLAorCS5oYXNfb3ZlcmxheSA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5H LAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKworc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTY1Z21faW5mbyA9IHsK KwkuZ2VuID0gNCwgLmlzX2NyZXN0bGluZSA9IDEsIC5udW1fcGlwZXMgPSAyLAorCS5pc19tb2Jp bGUgPSAxLCAuaGFzX2ZiYyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLmhhc19vdmVybGF5ID0g MSwKKwkuc3VwcG9ydHNfdHYgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORywKKwlHRU5f REVGQVVMVF9QSVBFT0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfZzMzX2luZm8gPSB7CisJLmdlbiA9IDMs IC5pc19nMzMgPSAxLCAubnVtX3BpcGVzID0gMiwKKwkubmVlZF9nZnhfaHdzID0gMSwgLmhhc19o b3RwbHVnID0gMSwKKwkuaGFzX292ZXJsYXkgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklO RywKKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfZzQ1X2luZm8gPSB7CisJ LmdlbiA9IDQsIC5pc19nNHggPSAxLCAubmVlZF9nZnhfaHdzID0gMSwgLm51bV9waXBlcyA9IDIs CisJLmhhc19waXBlX2N4c3IgPSAxLCAuaGFzX2hvdHBsdWcgPSAxLAorCS5yaW5nX21hc2sgPSBS RU5ERVJfUklORyB8IEJTRF9SSU5HLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNP Ul9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBp bnRlbF9nbTQ1X2luZm8gPSB7CisJLmdlbiA9IDQsIC5pc19nNHggPSAxLCAubnVtX3BpcGVzID0g MiwKKwkuaXNfbW9iaWxlID0gMSwgLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfZmJjID0gMSwKKwku aGFzX3BpcGVfY3hzciA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnN1cHBvcnRzX3R2ID0gMSwK KwkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORywKKwlHRU5fREVGQVVMVF9QSVBF T0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gaW50ZWxfcGluZXZpZXdfaW5mbyA9IHsKKwkuZ2VuID0gMywgLmlzX2cz MyA9IDEsIC5pc19waW5ldmlldyA9IDEsIC5pc19tb2JpbGUgPSAxLCAubnVtX3BpcGVzID0gMiwK KwkubmVlZF9nZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwKKwkuaGFzX292ZXJsYXkgPSAx LAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKworc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pcm9ubGFrZV9kX2luZm8g PSB7CisJLmdlbiA9IDUsIC5udW1fcGlwZXMgPSAyLAorCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFz X2hvdHBsdWcgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HLAorCUdF Tl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pcm9ubGFrZV9tX2luZm8gPSB7CisJ LmdlbiA9IDUsIC5pc19tb2JpbGUgPSAxLCAubnVtX3BpcGVzID0gMiwKKwkubmVlZF9nZnhfaHdz ID0gMSwgLmhhc19ob3RwbHVnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJLnJpbmdfbWFzayA9IFJF TkRFUl9SSU5HIHwgQlNEX1JJTkcsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJQ1VSU09S X09GRlNFVFMsCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGlu dGVsX3NhbmR5YnJpZGdlX2RfaW5mbyA9IHsKKwkuZ2VuID0gNiwgLm51bV9waXBlcyA9IDIsCisJ Lm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLmhhc19mYmMgPSAxLAorCS5y aW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcsCisJLmhhc19sbGMg PSAxLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUNVUlNPUl9PRkZTRVRTLAorfTsKKwor c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9zYW5keWJyaWRnZV9t X2luZm8gPSB7CisJLmdlbiA9IDYsIC5pc19tb2JpbGUgPSAxLCAubnVtX3BpcGVzID0gMiwKKwku bmVlZF9nZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJLnJp bmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORywKKwkuaGFzX2xsYyA9 IDEsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJQ1VSU09SX09GRlNFVFMsCit9OworCisj ZGVmaW5lIEdFTjdfRkVBVFVSRVMgIFwKKwkuZ2VuID0gNywgLm51bV9waXBlcyA9IDMsIFwKKwku bmVlZF9nZnhfaHdzID0gMSwgLmhhc19ob3RwbHVnID0gMSwgXAorCS5oYXNfZmJjID0gMSwgXAor CS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcsIFwKKwkuaGFz X2xsYyA9IDEKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9p dnlicmlkZ2VfZF9pbmZvID0geworCUdFTjdfRkVBVFVSRVMsCisJLmlzX2l2eWJyaWRnZSA9IDEs CisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKwor c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pdnlicmlkZ2VfbV9p bmZvID0geworCUdFTjdfRkVBVFVSRVMsCisJLmlzX2l2eWJyaWRnZSA9IDEsCisJLmlzX21vYmls ZSA9IDEsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAor fTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pdnlicmlk Z2VfcV9pbmZvID0geworCUdFTjdfRkVBVFVSRVMsCisJLmlzX2l2eWJyaWRnZSA9IDEsCisJLm51 bV9waXBlcyA9IDAsIC8qIGxlZ2FsLCBsYXN0IG9uZSB3aW5zICovCisJR0VOX0RFRkFVTFRfUElQ RU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF92YWxsZXl2aWV3X21faW5mbyA9IHsKKwlHRU43X0ZF QVRVUkVTLAorCS5pc19tb2JpbGUgPSAxLAorCS5udW1fcGlwZXMgPSAyLAorCS5pc192YWxsZXl2 aWV3ID0gMSwKKwkuZGlzcGxheV9tbWlvX29mZnNldCA9IFZMVl9ESVNQTEFZX0JBU0UsCisJLmhh c19mYmMgPSAwLCAvKiBsZWdhbCwgbGFzdCBvbmUgd2lucyAqLworCS5oYXNfbGxjID0gMCwgLyog bGVnYWwsIGxhc3Qgb25lIHdpbnMgKi8KKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlDVVJT T1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g aW50ZWxfdmFsbGV5dmlld19kX2luZm8gPSB7CisJR0VON19GRUFUVVJFUywKKwkubnVtX3BpcGVz ID0gMiwKKwkuaXNfdmFsbGV5dmlldyA9IDEsCisJLmRpc3BsYXlfbW1pb19vZmZzZXQgPSBWTFZf RElTUExBWV9CQVNFLAorCS5oYXNfZmJjID0gMCwgLyogbGVnYWwsIGxhc3Qgb25lIHdpbnMgKi8K KwkuaGFzX2xsYyA9IDAsIC8qIGxlZ2FsLCBsYXN0IG9uZSB3aW5zICovCisJR0VOX0RFRkFVTFRf UElQRU9GRlNFVFMsCisJQ1VSU09SX09GRlNFVFMsCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGludGVsX2hhc3dlbGxfZF9pbmZvID0geworCUdFTjdfRkVBVFVS RVMsCisJLmlzX2hhc3dlbGwgPSAxLAorCS5oYXNfZGRpID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0g MSwKKwkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HIHwgVkVC T1hfUklORywKKwlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlJVkJfQ1VSU09SX09GRlNFVFMs Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2hhc3dl bGxfbV9pbmZvID0geworCUdFTjdfRkVBVFVSRVMsCisJLmlzX2hhc3dlbGwgPSAxLAorCS5pc19t b2JpbGUgPSAxLAorCS5oYXNfZGRpID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0gMSwKKwkucmluZ19t YXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJMVF9SSU5HIHwgVkVCT1hfUklORywKKwlH RU5fREVGQVVMVF9QSVBFT0ZGU0VUUywKKwlJVkJfQ1VSU09SX09GRlNFVFMsCit9OworCitzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2Jyb2Fkd2VsbF9kX2luZm8g PSB7CisJLmdlbiA9IDgsIC5udW1fcGlwZXMgPSAzLAorCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFz X2hvdHBsdWcgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxU X1JJTkcgfCBWRUJPWF9SSU5HLAorCS5oYXNfbGxjID0gMSwKKwkuaGFzX2RkaSA9IDEsCisJLmhh c19mcGdhX2RiZyA9IDEsCisJLmhhc19mYmMgPSAxLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRT LAorCUlWQl9DVVJTT1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gaW50ZWxfYnJvYWR3ZWxsX21faW5mbyA9IHsKKwkuZ2VuID0gOCwgLmlzX21v YmlsZSA9IDEsIC5udW1fcGlwZXMgPSAzLAorCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFzX2hvdHBs dWcgPSAxLAorCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcg fCBWRUJPWF9SSU5HLAorCS5oYXNfbGxjID0gMSwKKwkuaGFzX2RkaSA9IDEsCisJLmhhc19mcGdh X2RiZyA9IDEsCisJLmhhc19mYmMgPSAxLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLAorCUlW Ql9DVVJTT1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gaW50ZWxfYnJvYWR3ZWxsX2d0M2RfaW5mbyA9IHsKKwkuZ2VuID0gOCwgLm51bV9waXBl cyA9IDMsCisJLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnJpbmdfbWFz ayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcgfCBCU0Qy X1JJTkcsCisJLmhhc19sbGMgPSAxLAorCS5oYXNfZGRpID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0g MSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJSVZCX0NVUlNP Ul9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBp bnRlbF9icm9hZHdlbGxfZ3QzbV9pbmZvID0geworCS5nZW4gPSA4LCAuaXNfbW9iaWxlID0gMSwg Lm51bV9waXBlcyA9IDMsCisJLm5lZWRfZ2Z4X2h3cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJ LnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORyB8IFZFQk9YX1JJ TkcgfCBCU0QyX1JJTkcsCisJLmhhc19sbGMgPSAxLAorCS5oYXNfZGRpID0gMSwKKwkuaGFzX2Zw Z2FfZGJnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VOX0RFRkFVTFRfUElQRU9GRlNFVFMsCisJ SVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyBpbnRlbF9jaGVycnl2aWV3X2luZm8gPSB7CisJLmdlbiA9IDgsIC5udW1fcGlwZXMg PSAzLAorCS5uZWVkX2dmeF9od3MgPSAxLCAuaGFzX2hvdHBsdWcgPSAxLAorCS5yaW5nX21hc2sg PSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJTkcgfCBWRUJPWF9SSU5HLAorCS5pc192 YWxsZXl2aWV3ID0gMSwKKwkuZGlzcGxheV9tbWlvX29mZnNldCA9IFZMVl9ESVNQTEFZX0JBU0Us CisJR0VOX0NIVl9QSVBFT0ZGU0VUUywKKwlDVVJTT1JfT0ZGU0VUUywKK307CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2t5bGFrZV9pbmZvID0geworCS5p c19za3lsYWtlID0gMSwKKwkuZ2VuID0gOSwgLm51bV9waXBlcyA9IDMsCisJLm5lZWRfZ2Z4X2h3 cyA9IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNE X1JJTkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcsCisJLmhhc19sbGMgPSAxLAorCS5oYXNfZGRp ID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VOX0RFRkFVTFRf UElQRU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGljIGNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9za3lsYWtlX2d0M19pbmZvID0geworCS5pc19z a3lsYWtlID0gMSwKKwkuZ2VuID0gOSwgLm51bV9waXBlcyA9IDMsCisJLm5lZWRfZ2Z4X2h3cyA9 IDEsIC5oYXNfaG90cGx1ZyA9IDEsCisJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5HIHwgQlNEX1JJ TkcgfCBCTFRfUklORyB8IFZFQk9YX1JJTkcgfCBCU0QyX1JJTkcsCisJLmhhc19sbGMgPSAxLAor CS5oYXNfZGRpID0gMSwKKwkuaGFzX2ZwZ2FfZGJnID0gMSwKKwkuaGFzX2ZiYyA9IDEsCisJR0VO X0RFRkFVTFRfUElQRU9GRlNFVFMsCisJSVZCX0NVUlNPUl9PRkZTRVRTLAorfTsKKworc3RhdGlj IGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9icm94dG9uX2luZm8gPSB7CisJ LmlzX3ByZWxpbWluYXJ5ID0gMSwKKwkuZ2VuID0gOSwKKwkubmVlZF9nZnhfaHdzID0gMSwgLmhh c19ob3RwbHVnID0gMSwKKwkucmluZ19tYXNrID0gUkVOREVSX1JJTkcgfCBCU0RfUklORyB8IEJM VF9SSU5HIHwgVkVCT1hfUklORywKKwkubnVtX3BpcGVzID0gMywKKwkuaGFzX2RkaSA9IDEsCisJ Lmhhc19mcGdhX2RiZyA9IDEsCisJLmhhc19mYmMgPSAxLAorCUdFTl9ERUZBVUxUX1BJUEVPRkZT RVRTLAorCUlWQl9DVVJTT1JfT0ZGU0VUUywKK307CisKKy8qCisgKiBNYWtlIHN1cmUgYW55IGRl dmljZSBtYXRjaGVzIGhlcmUgYXJlIGZyb20gbW9zdCBzcGVjaWZpYyB0byBtb3N0CisgKiBnZW5l cmFsLiAgRm9yIGV4YW1wbGUsIHNpbmNlIHRoZSBRdWFudGEgbWF0Y2ggaXMgYmFzZWQgb24gdGhl IHN1YnN5c3RlbQorICogYW5kIHN1YnZlbmRvciBJRHMsIHdlIG5lZWQgaXQgdG8gY29tZSBiZWZv cmUgdGhlIG1vcmUgZ2VuZXJhbCBJVkIKKyAqIFBDSSBJRCBtYXRjaGVzLCBvdGhlcndpc2Ugd2Un bGwgdXNlIHRoZSB3cm9uZyBpbmZvIHN0cnVjdCBhYm92ZS4KKyAqLworI2RlZmluZSBJTlRFTF9Q Q0lfSURTIFwKKwlJTlRFTF9JODMwX0lEUygmaW50ZWxfaTgzMF9pbmZvKSwJXAorCUlOVEVMX0k4 NDVHX0lEUygmaW50ZWxfODQ1Z19pbmZvKSwJXAorCUlOVEVMX0k4NVhfSURTKCZpbnRlbF9pODV4 X2luZm8pLAlcCisJSU5URUxfSTg2NUdfSURTKCZpbnRlbF9pODY1Z19pbmZvKSwJXAorCUlOVEVM X0k5MTVHX0lEUygmaW50ZWxfaTkxNWdfaW5mbyksCVwKKwlJTlRFTF9JOTE1R01fSURTKCZpbnRl bF9pOTE1Z21faW5mbyksCVwKKwlJTlRFTF9JOTQ1R19JRFMoJmludGVsX2k5NDVnX2luZm8pLAlc CisJSU5URUxfSTk0NUdNX0lEUygmaW50ZWxfaTk0NWdtX2luZm8pLAlcCisJSU5URUxfSTk2NUdf SURTKCZpbnRlbF9pOTY1Z19pbmZvKSwJXAorCUlOVEVMX0czM19JRFMoJmludGVsX2czM19pbmZv KSwJCVwKKwlJTlRFTF9JOTY1R01fSURTKCZpbnRlbF9pOTY1Z21faW5mbyksCVwKKwlJTlRFTF9H TTQ1X0lEUygmaW50ZWxfZ200NV9pbmZvKSwgCVwKKwlJTlRFTF9HNDVfSURTKCZpbnRlbF9nNDVf aW5mbyksIAlcCisJSU5URUxfUElORVZJRVdfSURTKCZpbnRlbF9waW5ldmlld19pbmZvKSwJXAor CUlOVEVMX0lST05MQUtFX0RfSURTKCZpbnRlbF9pcm9ubGFrZV9kX2luZm8pLAlcCisJSU5URUxf SVJPTkxBS0VfTV9JRFMoJmludGVsX2lyb25sYWtlX21faW5mbyksCVwKKwlJTlRFTF9TTkJfRF9J RFMoJmludGVsX3NhbmR5YnJpZGdlX2RfaW5mbyksCVwKKwlJTlRFTF9TTkJfTV9JRFMoJmludGVs X3NhbmR5YnJpZGdlX21faW5mbyksCVwKKwlJTlRFTF9JVkJfUV9JRFMoJmludGVsX2l2eWJyaWRn ZV9xX2luZm8pLCAvKiBtdXN0IGJlIGZpcnN0IElWQiAqLyBcCisJSU5URUxfSVZCX01fSURTKCZp bnRlbF9pdnlicmlkZ2VfbV9pbmZvKSwJXAorCUlOVEVMX0lWQl9EX0lEUygmaW50ZWxfaXZ5YnJp ZGdlX2RfaW5mbyksCVwKKwlJTlRFTF9IU1dfRF9JRFMoJmludGVsX2hhc3dlbGxfZF9pbmZvKSwg XAorCUlOVEVMX0hTV19NX0lEUygmaW50ZWxfaGFzd2VsbF9tX2luZm8pLCBcCisJSU5URUxfVkxW X01fSURTKCZpbnRlbF92YWxsZXl2aWV3X21faW5mbyksCVwKKwlJTlRFTF9WTFZfRF9JRFMoJmlu dGVsX3ZhbGxleXZpZXdfZF9pbmZvKSwJXAorCUlOVEVMX0JEV19HVDEyTV9JRFMoJmludGVsX2Jy b2Fkd2VsbF9tX2luZm8pLAlcCisJSU5URUxfQkRXX0dUMTJEX0lEUygmaW50ZWxfYnJvYWR3ZWxs X2RfaW5mbyksCVwKKwlJTlRFTF9CRFdfR1QzTV9JRFMoJmludGVsX2Jyb2Fkd2VsbF9ndDNtX2lu Zm8pLAlcCisJSU5URUxfQkRXX0dUM0RfSURTKCZpbnRlbF9icm9hZHdlbGxfZ3QzZF9pbmZvKSwg XAorCUlOVEVMX0NIVl9JRFMoJmludGVsX2NoZXJyeXZpZXdfaW5mbyksCVwKKwlJTlRFTF9TS0xf R1QxX0lEUygmaW50ZWxfc2t5bGFrZV9pbmZvKSwJXAorCUlOVEVMX1NLTF9HVDJfSURTKCZpbnRl bF9za3lsYWtlX2luZm8pLAlcCisJSU5URUxfU0tMX0dUM19JRFMoJmludGVsX3NreWxha2VfZ3Qz X2luZm8pLAlcCisJSU5URUxfQlhUX0lEUygmaW50ZWxfYnJveHRvbl9pbmZvKQorCisKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rldl9pbmZvLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZXZfaW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjI4NDBiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZXZfaW5mby5oCkBAIC0wLDAgKzEsMzMxIEBACisvKgorICogQ29weXJpZ2h0IDIwMDMg VHVuZ3N0ZW4gR3JhcGhpY3MsIEluYy4sIENlZGFyIFBhcmssIFRleGFzLgorICogQWxsIFJpZ2h0 cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCDCqSAyMDE1IEludGVsIENvcnBvcmF0aW9uCisgKgor ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyAqICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKyAqIHdpdGhvdXQgbGlt aXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwK KyAqIGRpc3RyaWJ1dGUsIHN1YiBsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNv ZnR3YXJlLCBhbmQgdG8KKyAqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlz IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICogdGhlIGZvbGxvd2luZyBjb25kaXRp b25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np b24gbm90aWNlIChpbmNsdWRpbmcgdGhlCisgKiBuZXh0IHBhcmFncmFwaCkgc2hhbGwgYmUgaW5j bHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucworICogb2YgdGhlIFNv ZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU IFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTCisgKiBPUiBJTVBMSUVELCBJTkNMVURJTkcg QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFks IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULgor ICogSU4gTk8gRVZFTlQgU0hBTEwgVFVOR1NURU4gR1JBUEhJQ1MgQU5EL09SIElUUyBTVVBQTElF UlMgQkUgTElBQkxFIEZPUgorICogQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisgKiBUT1JUIE9SIE9USEVSV0lT RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorICogU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgor ICovCisKKworI2lmbmRlZiBfSU5URUxfREVWX0lORk9fSF8KKyNkZWZpbmUgX0lOVEVMX0RFVl9J TkZPX0hfCisKK2VudW0gcGlwZSB7CisJSU5WQUxJRF9QSVBFID0gLTEsCisJUElQRV9BID0gMCwK KwlQSVBFX0IsCisJUElQRV9DLAorCV9QSVBFX0VEUCwKKwlJOTE1X01BWF9QSVBFUyA9IF9QSVBF X0VEUAorfTsKKyNkZWZpbmUgcGlwZV9uYW1lKHApICgocCkgKyAnQScpCisKK2VudW0gdHJhbnNj b2RlciB7CisJVFJBTlNDT0RFUl9BID0gMCwKKwlUUkFOU0NPREVSX0IsCisJVFJBTlNDT0RFUl9D LAorCVRSQU5TQ09ERVJfRURQLAorCUk5MTVfTUFYX1RSQU5TQ09ERVJTCit9OworI2RlZmluZSB0 cmFuc2NvZGVyX25hbWUodCkgKCh0KSArICdBJykKKworCitlbnVtIGludGVsX3JpbmdfaWQgewor CVJDUyA9IDB4MCwKKwlWQ1MsCisJQkNTLAorCVZFQ1MsCisJVkNTMgorfTsKKyNkZWZpbmUgSTkx NV9OVU1fUklOR1MgNQorI2RlZmluZSBMQVNUX1VTRVJfUklORyAoVkVDUyArIDEpCisKKworLyog Tm90ZSB0aGF0IHRoZSAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKikgY2FzdCBpcyBqdXN0IHRv IHNodXQgdXAgZ2NjLiAqLworI2RlZmluZSBfX0k5MTVfXyhwKSAoeyBcCisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKl9fcDsgXAorCWlmIChfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKHR5 cGVvZigqcCksIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlKSkgXAorCQlfX3AgPSAoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKilwOyBcCisJZWxzZSBpZiAoX19idWlsdGluX3R5cGVzX2NvbXBhdGli bGVfcCh0eXBlb2YoKnApLCBzdHJ1Y3QgZHJtX2RldmljZSkpIFwKKwkJX19wID0gdG9faTkxNSgo c3RydWN0IGRybV9kZXZpY2UgKilwKTsgXAorCWVsc2UgXAorCQlCVUlMRF9CVUcoKTsgXAorCV9f cDsgXAorfSkKKyNkZWZpbmUgSU5URUxfSU5GTyhwKSAJKCZfX0k5MTVfXyhwKS0+aW5mbykKKyNk ZWZpbmUgSU5URUxfREVWSUQocCkJKElOVEVMX0lORk8ocCktPmRldmljZV9pZCkKKyNkZWZpbmUg SU5URUxfUkVWSUQocCkJKF9fSTkxNV9fKHApLT5kZXYtPnBkZXYtPnJldmlzaW9uKQorCisjZGVm aW5lIElTX0k4MzAoZGV2KQkJKElOVEVMX0RFVklEKGRldikgPT0gMHgzNTc3KQorI2RlZmluZSBJ U184NDVHKGRldikJCShJTlRFTF9ERVZJRChkZXYpID09IDB4MjU2MikKKyNkZWZpbmUgSVNfSTg1 WChkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5pc19pODV4KQorI2RlZmluZSBJU19JODY1RyhkZXYp CQkoSU5URUxfREVWSUQoZGV2KSA9PSAweDI1NzIpCisjZGVmaW5lIElTX0k5MTVHKGRldikJCShJ TlRFTF9JTkZPKGRldiktPmlzX2k5MTVnKQorI2RlZmluZSBJU19JOTE1R00oZGV2KQkJKElOVEVM X0RFVklEKGRldikgPT0gMHgyNTkyKQorI2RlZmluZSBJU19JOTQ1RyhkZXYpCQkoSU5URUxfREVW SUQoZGV2KSA9PSAweDI3NzIpCisjZGVmaW5lIElTX0k5NDVHTShkZXYpCQkoSU5URUxfSU5GTyhk ZXYpLT5pc19pOTQ1Z20pCisjZGVmaW5lIElTX0JST0FEV0FURVIoZGV2KQkoSU5URUxfSU5GTyhk ZXYpLT5pc19icm9hZHdhdGVyKQorI2RlZmluZSBJU19DUkVTVExJTkUoZGV2KQkoSU5URUxfSU5G TyhkZXYpLT5pc19jcmVzdGxpbmUpCisjZGVmaW5lIElTX0dNNDUoZGV2KQkJKElOVEVMX0RFVklE KGRldikgPT0gMHgyQTQyKQorI2RlZmluZSBJU19HNFgoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+ aXNfZzR4KQorI2RlZmluZSBJU19QSU5FVklFV19HKGRldikJKElOVEVMX0RFVklEKGRldikgPT0g MHhhMDAxKQorI2RlZmluZSBJU19QSU5FVklFV19NKGRldikJKElOVEVMX0RFVklEKGRldikgPT0g MHhhMDExKQorI2RlZmluZSBJU19QSU5FVklFVyhkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX3Bp bmV2aWV3KQorI2RlZmluZSBJU19HMzMoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+aXNfZzMzKQor I2RlZmluZSBJU19JUk9OTEFLRV9NKGRldikJKElOVEVMX0RFVklEKGRldikgPT0gMHgwMDQ2KQor I2RlZmluZSBJU19JVllCUklER0UoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5pc19pdnlicmlkZ2Up CisjZGVmaW5lIElTX0lWQl9HVDEoZGV2KQkJKElOVEVMX0RFVklEKGRldikgPT0gMHgwMTU2IHx8 IFwKKwkJCQkgSU5URUxfREVWSUQoZGV2KSA9PSAweDAxNTIgfHwgXAorCQkJCSBJTlRFTF9ERVZJ RChkZXYpID09IDB4MDE1YSkKKyNkZWZpbmUgSVNfVkFMTEVZVklFVyhkZXYpCShJTlRFTF9JTkZP KGRldiktPmlzX3ZhbGxleXZpZXcpCisjZGVmaW5lIElTX0NIRVJSWVZJRVcoZGV2KQkoSU5URUxf SU5GTyhkZXYpLT5pc192YWxsZXl2aWV3ICYmIElTX0dFTjgoZGV2KSkKKyNkZWZpbmUgSVNfSEFT V0VMTChkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX2hhc3dlbGwpCisjZGVmaW5lIElTX0JST0FE V0VMTChkZXYpCSghSU5URUxfSU5GTyhkZXYpLT5pc192YWxsZXl2aWV3ICYmIElTX0dFTjgoZGV2 KSkKKyNkZWZpbmUgSVNfU0tZTEFLRShkZXYpCShJTlRFTF9JTkZPKGRldiktPmlzX3NreWxha2Up CisjZGVmaW5lIElTX0JST1hUT04oZGV2KQkoIUlOVEVMX0lORk8oZGV2KS0+aXNfc2t5bGFrZSAm JiBJU19HRU45KGRldikpCisjZGVmaW5lIElTX01PQklMRShkZXYpCQkoSU5URUxfSU5GTyhkZXYp LT5pc19tb2JpbGUpCisjZGVmaW5lIElTX0hTV19FQVJMWV9TRFYoZGV2KQkoSVNfSEFTV0VMTChk ZXYpICYmIFwKKwkJCQkgKElOVEVMX0RFVklEKGRldikgJiAweEZGMDApID09IDB4MEMwMCkKKyNk ZWZpbmUgSVNfQkRXX1VMVChkZXYpCQkoSVNfQlJPQURXRUxMKGRldikgJiYgXAorCQkJCSAoKElO VEVMX0RFVklEKGRldikgJiAweGYpID09IDB4NiB8fAlcCisJCQkJIChJTlRFTF9ERVZJRChkZXYp ICYgMHhmKSA9PSAweGIgfHwJXAorCQkJCSAoSU5URUxfREVWSUQoZGV2KSAmIDB4ZikgPT0gMHhl KSkKKy8qIFVMWCBtYWNoaW5lcyBhcmUgYWxzbyBjb25zaWRlcmVkIFVMVC4gKi8KKyNkZWZpbmUg SVNfQkRXX1VMWChkZXYpCQkoSVNfQlJPQURXRUxMKGRldikgJiYgXAorCQkJCSAoSU5URUxfREVW SUQoZGV2KSAmIDB4ZikgPT0gMHhlKQorI2RlZmluZSBJU19CRFdfR1QzKGRldikJCShJU19CUk9B RFdFTEwoZGV2KSAmJiBcCisJCQkJIChJTlRFTF9ERVZJRChkZXYpICYgMHgwMEYwKSA9PSAweDAw MjApCisjZGVmaW5lIElTX0hTV19VTFQoZGV2KQkJKElTX0hBU1dFTEwoZGV2KSAmJiBcCisJCQkJ IChJTlRFTF9ERVZJRChkZXYpICYgMHhGRjAwKSA9PSAweDBBMDApCisjZGVmaW5lIElTX0hTV19H VDMoZGV2KQkJKElTX0hBU1dFTEwoZGV2KSAmJiBcCisJCQkJIChJTlRFTF9ERVZJRChkZXYpICYg MHgwMEYwKSA9PSAweDAwMjApCisvKiBVTFggbWFjaGluZXMgYXJlIGFsc28gY29uc2lkZXJlZCBV TFQuICovCisjZGVmaW5lIElTX0hTV19VTFgoZGV2KQkJKElOVEVMX0RFVklEKGRldikgPT0gMHgw QTBFIHx8IFwKKwkJCQkgSU5URUxfREVWSUQoZGV2KSA9PSAweDBBMUUpCisjZGVmaW5lIElTX1NL TF9VTFQoZGV2KQkJKElOVEVMX0RFVklEKGRldikgPT0gMHgxOTA2IHx8IFwKKwkJCQkgSU5URUxf REVWSUQoZGV2KSA9PSAweDE5MTMgfHwgXAorCQkJCSBJTlRFTF9ERVZJRChkZXYpID09IDB4MTkx NiB8fCBcCisJCQkJIElOVEVMX0RFVklEKGRldikgPT0gMHgxOTIxIHx8IFwKKwkJCQkgSU5URUxf REVWSUQoZGV2KSA9PSAweDE5MjYpCisjZGVmaW5lIElTX1NLTF9VTFgoZGV2KQkJKElOVEVMX0RF VklEKGRldikgPT0gMHgxOTBFIHx8IFwKKwkJCQkgSU5URUxfREVWSUQoZGV2KSA9PSAweDE5MTUg fHwgXAorCQkJCSBJTlRFTF9ERVZJRChkZXYpID09IDB4MTkxRSkKKyNkZWZpbmUgSVNfUFJFTElN SU5BUllfSFcoaW50ZWxfaW5mbykgKChpbnRlbF9pbmZvKS0+aXNfcHJlbGltaW5hcnkpCisKKyNk ZWZpbmUgU0tMX1JFVklEX0EwCQkoMHgwKQorI2RlZmluZSBTS0xfUkVWSURfQjAJCSgweDEpCisj ZGVmaW5lIFNLTF9SRVZJRF9DMAkJKDB4MikKKyNkZWZpbmUgU0tMX1JFVklEX0QwCQkoMHgzKQor I2RlZmluZSBTS0xfUkVWSURfRTAJCSgweDQpCisjZGVmaW5lIFNLTF9SRVZJRF9GMAkJKDB4NSkK KworI2RlZmluZSBCWFRfUkVWSURfQTAJCSgweDApCisjZGVmaW5lIEJYVF9SRVZJRF9CMAkJKDB4 MykKKyNkZWZpbmUgQlhUX1JFVklEX0MwCQkoMHg2KQorCisvKgorICogVGhlIGdlblggZGVzaWdu YXRpb24gdHlwaWNhbGx5IHJlZmVycyB0byB0aGUgcmVuZGVyIGVuZ2luZSwgc28gcmVuZGVyCisg KiBjYXBhYmlsaXR5IHJlbGF0ZWQgY2hlY2tzIHNob3VsZCB1c2UgSVNfR0VOLCB3aGlsZSBkaXNw bGF5IGFuZCBvdGhlciBjaGVja3MKKyAqIGhhdmUgdGhlaXIgb3duIChlLmcuIEhBU19QQ0hfU1BM SVQgZm9yIElMSysgZGlzcGxheSwgSVNfZm9vIGZvciBwYXJ0aWN1bGFyCisgKiBjaGlwcywgZXRj LikuCisgKi8KKyNkZWZpbmUgSVNfR0VOMihkZXYpCShJTlRFTF9JTkZPKGRldiktPmdlbiA9PSAy KQorI2RlZmluZSBJU19HRU4zKGRldikJKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDMpCisjZGVm aW5lIElTX0dFTjQoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gNCkKKyNkZWZpbmUgSVNf R0VONShkZXYpCShJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA1KQorI2RlZmluZSBJU19HRU42KGRl dikJKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDYpCisjZGVmaW5lIElTX0dFTjcoZGV2KQkoSU5U RUxfSU5GTyhkZXYpLT5nZW4gPT0gNykKKyNkZWZpbmUgSVNfR0VOOChkZXYpCShJTlRFTF9JTkZP KGRldiktPmdlbiA9PSA4KQorI2RlZmluZSBJU19HRU45KGRldikJKElOVEVMX0lORk8oZGV2KS0+ Z2VuID09IDkpCisKKyNkZWZpbmUgUkVOREVSX1JJTkcJCSgxPDxSQ1MpCisjZGVmaW5lIEJTRF9S SU5HCQkoMTw8VkNTKQorI2RlZmluZSBCTFRfUklORwkJKDE8PEJDUykKKyNkZWZpbmUgVkVCT1hf UklORwkJKDE8PFZFQ1MpCisjZGVmaW5lIEJTRDJfUklORwkJKDE8PFZDUzIpCisjZGVmaW5lIEhB U19CU0QoZGV2KQkJKElOVEVMX0lORk8oZGV2KS0+cmluZ19tYXNrICYgQlNEX1JJTkcpCisjZGVm aW5lIEhBU19CU0QyKGRldikJCShJTlRFTF9JTkZPKGRldiktPnJpbmdfbWFzayAmIEJTRDJfUklO RykKKyNkZWZpbmUgSEFTX0JMVChkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5yaW5nX21hc2sgJiBC TFRfUklORykKKyNkZWZpbmUgSEFTX1ZFQk9YKGRldikJCShJTlRFTF9JTkZPKGRldiktPnJpbmdf bWFzayAmIFZFQk9YX1JJTkcpCisjZGVmaW5lIEhBU19MTEMoZGV2KQkJKElOVEVMX0lORk8oZGV2 KS0+aGFzX2xsYykKKyNkZWZpbmUgSEFTX1dUKGRldikJCSgoSVNfSEFTV0VMTChkZXYpIHx8IElT X0JST0FEV0VMTChkZXYpKSAmJiBcCisJCQkJIF9fSTkxNV9fKGRldiktPmVsbGNfc2l6ZSkKKyNk ZWZpbmUgSTkxNV9ORUVEX0dGWF9IV1MoZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5uZWVkX2dmeF9o d3MpCisKKyNkZWZpbmUgSEFTX0hXX0NPTlRFWFRTKGRldikJKElOVEVMX0lORk8oZGV2KS0+Z2Vu ID49IDYpCisjZGVmaW5lIEhBU19MT0dJQ0FMX1JJTkdfQ09OVEVYVFMoZGV2KQkoSU5URUxfSU5G TyhkZXYpLT5nZW4gPj0gOCkKKyNkZWZpbmUgVVNFU19QUEdUVChkZXYpCQkoaTkxNS5lbmFibGVf cHBndHQpCisjZGVmaW5lIFVTRVNfRlVMTF9QUEdUVChkZXYpCShpOTE1LmVuYWJsZV9wcGd0dCA+ PSAyKQorI2RlZmluZSBVU0VTX0ZVTExfNDhCSVRfUFBHVFQoZGV2KQkoaTkxNS5lbmFibGVfcHBn dHQgPT0gMykKKworI2RlZmluZSBIQVNfT1ZFUkxBWShkZXYpCQkoSU5URUxfSU5GTyhkZXYpLT5o YXNfb3ZlcmxheSkKKyNkZWZpbmUgT1ZFUkxBWV9ORUVEU19QSFlTSUNBTChkZXYpCShJTlRFTF9J TkZPKGRldiktPm92ZXJsYXlfbmVlZHNfcGh5c2ljYWwpCisKKy8qIEVhcmx5IGdlbjIgaGF2ZSBh IHRvdGFsbHkgYnVzdGVkIENTIHRsYiBhbmQgcmVxdWlyZSBwaW5uZWQgYmF0Y2hlcy4gKi8KKyNk ZWZpbmUgSEFTX0JST0tFTl9DU19UTEIoZGV2KQkJKElTX0k4MzAoZGV2KSB8fCBJU184NDVHKGRl dikpCisvKgorICogZHAgYXV4IGFuZCBnbWJ1cyBpcnEgb24gZ2VuNCBzZWVtcyB0byBiZSBhYmxl IHRvIGdlbmVyYXRlIGxlZ2FjeSBpbnRlcnJ1cHRzCisgKiBldmVuIHdoZW4gaW4gTVNJIG1vZGUu IFRoaXMgcmVzdWx0cyBpbiBzcHVyaW91cyBpbnRlcnJ1cHQgd2FybmluZ3MgaWYgdGhlCisgKiBs ZWdhY3kgaXJxIG5vLiBpcyBzaGFyZWQgd2l0aCBhbm90aGVyIGRldmljZS4gVGhlIGtlcm5lbCB0 aGVuIGRpc2FibGVzIHRoYXQKKyAqIGludGVycnVwdCBzb3VyY2UgYW5kIHNvIHByZXZlbnRzIHRo ZSBvdGhlciBkZXZpY2UgZnJvbSB3b3JraW5nIHByb3Blcmx5LgorICovCisjZGVmaW5lIEhBU19B VVhfSVJRKGRldikgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDUpCisjZGVmaW5lIEhBU19HTUJV U19JUlEoZGV2KSAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSkKKworLyogV2l0aCB0aGUgOTQ1 IGFuZCBsYXRlciwgWSB0aWxpbmcgZ290IGFkanVzdGVkIHNvIHRoYXQgaXQgd2FzIDMyIDEyOC1i eXRlCisgKiByb3dzLCB3aGljaCBjaGFuZ2VkIHRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIGFu ZCBmZW5jZSBwcm9ncmFtbWluZy4KKyAqLworI2RlZmluZSBIQVNfMTI4X0JZVEVfWV9USUxJTkco ZGV2KSAoIUlTX0dFTjIoZGV2KSAmJiAhKElTX0k5MTVHKGRldikgfHwgXAorCQkJCQkJICAgICAg SVNfSTkxNUdNKGRldikpKQorI2RlZmluZSBTVVBQT1JUU19UVihkZXYpCQkoSU5URUxfSU5GTyhk ZXYpLT5zdXBwb3J0c190dikKKyNkZWZpbmUgSTkxNV9IQVNfSE9UUExVRyhkZXYpCQkgKElOVEVM X0lORk8oZGV2KS0+aGFzX2hvdHBsdWcpCisKKyNkZWZpbmUgSEFTX0ZXX0JMQyhkZXYpIChJTlRF TF9JTkZPKGRldiktPmdlbiA+IDIpCisjZGVmaW5lIEhBU19QSVBFX0NYU1IoZGV2KSAoSU5URUxf SU5GTyhkZXYpLT5oYXNfcGlwZV9jeHNyKQorI2RlZmluZSBIQVNfRkJDKGRldikgKElOVEVMX0lO Rk8oZGV2KS0+aGFzX2ZiYykKKworI2RlZmluZSBIQVNfSVBTKGRldikJCShJU19IU1dfVUxUKGRl dikgfHwgSVNfQlJPQURXRUxMKGRldikpCisKKyNkZWZpbmUgSEFTX0RQX01TVChkZXYpCQkoSVNf SEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChkZXYpIHx8IFwKKwkJCQkgSU5URUxfSU5GTyhk ZXYpLT5nZW4gPj0gOSkKKworI2RlZmluZSBIQVNfRERJKGRldikJCShJTlRFTF9JTkZPKGRldikt Pmhhc19kZGkpCisjZGVmaW5lIEhBU19GUEdBX0RCR19VTkNMQUlNRUQoZGV2KQkoSU5URUxfSU5G TyhkZXYpLT5oYXNfZnBnYV9kYmcpCisjZGVmaW5lIEhBU19QU1IoZGV2KQkJKElTX0hBU1dFTEwo ZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSB8fCBcCisJCQkJIElTX1ZBTExFWVZJRVcoZGV2KSB8 fCBJU19DSEVSUllWSUVXKGRldikgfHwgXAorCQkJCSBJU19TS1lMQUtFKGRldikpCisjZGVmaW5l IEhBU19SVU5USU1FX1BNKGRldikJKElTX0dFTjYoZGV2KSB8fCBJU19IQVNXRUxMKGRldikgfHwg XAorCQkJCSBJU19CUk9BRFdFTEwoZGV2KSB8fCBJU19WQUxMRVlWSUVXKGRldikgfHwgXAorCQkJ CSBJU19TS1lMQUtFKGRldikpCisjZGVmaW5lIEhBU19SQzYoZGV2KQkJKElOVEVMX0lORk8oZGV2 KS0+Z2VuID49IDYpCisjZGVmaW5lIEhBU19SQzZwKGRldikJCShJTlRFTF9JTkZPKGRldiktPmdl biA9PSA2IHx8IElTX0lWWUJSSURHRShkZXYpKQorCisjZGVmaW5lIEhBU19DU1IoZGV2KQkoSVNf U0tZTEFLRShkZXYpKQorCisjZGVmaW5lIEhBU19HVUNfVUNPREUoZGV2KQkoSVNfR0VOOShkZXYp KQorI2RlZmluZSBIQVNfR1VDX1NDSEVEKGRldikJKElTX0dFTjkoZGV2KSkKKworI2RlZmluZSBI QVNfUkVTT1VSQ0VfU1RSRUFNRVIoZGV2KSAoSVNfSEFTV0VMTChkZXYpIHx8IFwKKwkJCQkgICAg SU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOCkKKworI2RlZmluZSBIQVNfQ09SRV9SSU5HX0ZSRVEo ZGV2KQkoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNiAmJiBcCisJCQkJICFJU19WQUxMRVlWSUVX KGRldikgJiYgIUlTX0JST1hUT04oZGV2KSkKKworI2RlZmluZSBJTlRFTF9QQ0hfREVWSUNFX0lE X01BU0sJCTB4ZmYwMAorI2RlZmluZSBJTlRFTF9QQ0hfSUJYX0RFVklDRV9JRF9UWVBFCQkweDNi MDAKKyNkZWZpbmUgSU5URUxfUENIX0NQVF9ERVZJQ0VfSURfVFlQRQkJMHgxYzAwCisjZGVmaW5l IElOVEVMX1BDSF9QUFRfREVWSUNFX0lEX1RZUEUJCTB4MWUwMAorI2RlZmluZSBJTlRFTF9QQ0hf TFBUX0RFVklDRV9JRF9UWVBFCQkweDhjMDAKKyNkZWZpbmUgSU5URUxfUENIX0xQVF9MUF9ERVZJ Q0VfSURfVFlQRQkJMHg5YzAwCisjZGVmaW5lIElOVEVMX1BDSF9TUFRfREVWSUNFX0lEX1RZUEUJ CTB4QTEwMAorI2RlZmluZSBJTlRFTF9QQ0hfU1BUX0xQX0RFVklDRV9JRF9UWVBFCQkweDlEMDAK KworI2RlZmluZSBJTlRFTF9QQ0hfVFlQRShkZXYpIChfX0k5MTVfXyhkZXYpLT5wY2hfdHlwZSkK KyNkZWZpbmUgSEFTX1BDSF9TUFQoZGV2KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfU1BU KQorI2RlZmluZSBIQVNfUENIX0xQVChkZXYpIChJTlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9M UFQpCisjZGVmaW5lIEhBU19QQ0hfTFBUX0xQKGRldikgKF9fSTkxNV9fKGRldiktPnBjaF9pZCA9 PSBJTlRFTF9QQ0hfTFBUX0xQX0RFVklDRV9JRF9UWVBFKQorI2RlZmluZSBIQVNfUENIX0NQVChk ZXYpIChJTlRFTF9QQ0hfVFlQRShkZXYpID09IFBDSF9DUFQpCisjZGVmaW5lIEhBU19QQ0hfSUJY KGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgPT0gUENIX0lCWCkKKyNkZWZpbmUgSEFTX1BDSF9O T1AoZGV2KSAoSU5URUxfUENIX1RZUEUoZGV2KSA9PSBQQ0hfTk9QKQorI2RlZmluZSBIQVNfUENI X1NQTElUKGRldikgKElOVEVMX1BDSF9UWVBFKGRldikgIT0gUENIX05PTkUpCisKKyNkZWZpbmUg SEFTX0dNQ0hfRElTUExBWShkZXYpIChJTlRFTF9JTkZPKGRldiktPmdlbiA8IDUgfHwgSVNfVkFM TEVZVklFVyhkZXYpKQorCisvKiBEUEYgPT0gZHluYW1pYyBwYXJpdHkgZmVhdHVyZSAqLworI2Rl ZmluZSBIQVNfTDNfRFBGKGRldikgKElTX0lWWUJSSURHRShkZXYpIHx8IElTX0hBU1dFTEwoZGV2 KSkKKyNkZWZpbmUgTlVNX0wzX1NMSUNFUyhkZXYpIChJU19IU1dfR1QzKGRldikgPyAyIDogSEFT X0wzX0RQRihkZXYpKQorCisjZGVmaW5lIEdUX0ZSRVFVRU5DWV9NVUxUSVBMSUVSIDUwCisjZGVm aW5lIEdFTjlfRlJFUV9TQ0FMRVIgMworCisKKyNkZWZpbmUgREVWX0lORk9fRk9SX0VBQ0hfRkxB RyhmdW5jLCBzZXApIFwKKwlmdW5jKGlzX21vYmlsZSkgc2VwIFwKKwlmdW5jKGlzX2k4NXgpIHNl cCBcCisJZnVuYyhpc19pOTE1Zykgc2VwIFwKKwlmdW5jKGlzX2k5NDVnbSkgc2VwIFwKKwlmdW5j KGlzX2czMykgc2VwIFwKKwlmdW5jKG5lZWRfZ2Z4X2h3cykgc2VwIFwKKwlmdW5jKGlzX2c0eCkg c2VwIFwKKwlmdW5jKGlzX3BpbmV2aWV3KSBzZXAgXAorCWZ1bmMoaXNfYnJvYWR3YXRlcikgc2Vw IFwKKwlmdW5jKGlzX2NyZXN0bGluZSkgc2VwIFwKKwlmdW5jKGlzX2l2eWJyaWRnZSkgc2VwIFwK KwlmdW5jKGlzX3ZhbGxleXZpZXcpIHNlcCBcCisJZnVuYyhpc19oYXN3ZWxsKSBzZXAgXAorCWZ1 bmMoaXNfc2t5bGFrZSkgc2VwIFwKKwlmdW5jKGlzX3ByZWxpbWluYXJ5KSBzZXAgXAorCWZ1bmMo aGFzX2ZiYykgc2VwIFwKKwlmdW5jKGhhc19waXBlX2N4c3IpIHNlcCBcCisJZnVuYyhoYXNfaG90 cGx1Zykgc2VwIFwKKwlmdW5jKGN1cnNvcl9uZWVkc19waHlzaWNhbCkgc2VwIFwKKwlmdW5jKGhh c19vdmVybGF5KSBzZXAgXAorCWZ1bmMob3ZlcmxheV9uZWVkc19waHlzaWNhbCkgc2VwIFwKKwlm dW5jKHN1cHBvcnRzX3R2KSBzZXAgXAorCWZ1bmMoaGFzX2xsYykgc2VwIFwKKwlmdW5jKGhhc19k ZGkpIHNlcCBcCisJZnVuYyhoYXNfZnBnYV9kYmcpCisKKyNkZWZpbmUgREVGSU5FX0ZMQUcobmFt ZSkgdTggbmFtZToxCisjZGVmaW5lIFNFUF9TRU1JQ09MT04gOworCitzdHJ1Y3QgaW50ZWxfZGV2 aWNlX2luZm8geworCXUzMiBkaXNwbGF5X21taW9fb2Zmc2V0OworCXUxNiBkZXZpY2VfaWQ7CisJ dTggbnVtX3BpcGVzOjM7CisJdTggbnVtX3Nwcml0ZXNbSTkxNV9NQVhfUElQRVNdOworCXU4IGdl bjsKKwl1OCByaW5nX21hc2s7IC8qIFJpbmdzIHN1cHBvcnRlZCBieSB0aGUgSFcgKi8KKwlERVZf SU5GT19GT1JfRUFDSF9GTEFHKERFRklORV9GTEFHLCBTRVBfU0VNSUNPTE9OKTsKKwkvKiBSZWdp c3RlciBvZmZzZXRzIGZvciB0aGUgdmFyaW91cyBkaXNwbGF5IHBpcGVzIGFuZCB0cmFuc2NvZGVy cyAqLworCWludCBwaXBlX29mZnNldHNbSTkxNV9NQVhfVFJBTlNDT0RFUlNdOworCWludCB0cmFu c19vZmZzZXRzW0k5MTVfTUFYX1RSQU5TQ09ERVJTXTsKKwlpbnQgcGFsZXR0ZV9vZmZzZXRzW0k5 MTVfTUFYX1BJUEVTXTsKKwlpbnQgY3Vyc29yX29mZnNldHNbSTkxNV9NQVhfUElQRVNdOworCisJ LyogU2xpY2Uvc3Vic2xpY2UvRVUgaW5mbyAqLworCXU4IHNsaWNlX3RvdGFsOworCXU4IHN1YnNs aWNlX3RvdGFsOworCXU4IHN1YnNsaWNlX3Blcl9zbGljZTsKKwl1OCBldV90b3RhbDsKKwl1OCBl dV9wZXJfc3Vic2xpY2U7CisJLyogRm9yIGVhY2ggc2xpY2UsIHdoaWNoIHN1YnNsaWNlKHMpIGhh cyhoYXZlKSA3IEVVcyAoYml0ZmllbGQpPyAqLworCXU4IHN1YnNsaWNlXzdldVszXTsKKwl1OCBo YXNfc2xpY2VfcGc6MTsKKwl1OCBoYXNfc3Vic2xpY2VfcGc6MTsKKwl1OCBoYXNfZXVfcGc6MTsK K307CisKKyN1bmRlZiBERUZJTkVfRkxBRworI3VuZGVmIFNFUF9TRU1JQ09MT04KKworZW51bSBp bnRlbF9wY2ggeworCVBDSF9OT05FID0gMCwJLyogTm8gUENIIHByZXNlbnQgKi8KKwlQQ0hfSUJY LAkvKiBJYmV4cGVhayBQQ0ggKi8KKwlQQ0hfQ1BULAkvKiBDb3VnYXJwb2ludCBQQ0ggKi8KKwlQ Q0hfTFBULAkvKiBMeW54cG9pbnQgUENIICovCisJUENIX1NQVCwgICAgICAgIC8qIFN1bnJpc2Vw b2ludCBQQ0ggKi8KKwlQQ0hfTk9QLAorfTsKKworCisjZW5kaWYgLyogX0lOVEVMX0RFVl9JTkZP X0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggNDlmYTQx ZC4uMDc0ZjYxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAt Myw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2hhc2h0YWJsZS5oPgogI2luY2x1ZGUgImk5 MTVfZ2VtX2JhdGNoX3Bvb2wuaCIKKyNpbmNsdWRlICJpbnRlbF9kZXZfaW5mby5oIgogCiAjZGVm aW5lIEk5MTVfQ01EX0hBU0hfT1JERVIgOQogCkBAIC0xNDUsMTUgKzE0Niw3IEBAIHN0cnVjdCAg aTkxNV9jdHhfd29ya2Fyb3VuZHMgewogCiBzdHJ1Y3QgIGludGVsX2VuZ2luZV9jcyB7CiAJY29u c3QgY2hhcgkqbmFtZTsKLQllbnVtIGludGVsX3JpbmdfaWQgewotCQlSQ1MgPSAweDAsCi0JCVZD UywKLQkJQkNTLAotCQlWRUNTLAotCQlWQ1MyCi0JfSBpZDsKLSNkZWZpbmUgSTkxNV9OVU1fUklO R1MgNQotI2RlZmluZSBMQVNUX1VTRVJfUklORyAoVkVDUyArIDEpCisJZW51bSBpbnRlbF9yaW5n X2lkIGlkOwogCXUzMgkJbW1pb19iYXNlOwogCXN0cnVjdAkJZHJtX2RldmljZSAqZGV2OwogCXN0 cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpidWZmZXI7Ci0tIAoyLjQuMwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK