From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mikko Perttunen Subject: [PATCH v3 3/6] gpu: host1x: Improve debug disassembly formatting Date: Thu, 28 Sep 2017 15:50:41 +0300 Message-ID: <20170928125044.32516-4-mperttunen@nvidia.com> References: <20170928125044.32516-1-mperttunen@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170928125044.32516-1-mperttunen@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: thierry.reding@gmail.com, jonathanh@nvidia.com Cc: linux-tegra@vger.kernel.org, digetx@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: linux-tegra@vger.kernel.org VGhlIGhvc3QxeCBkcml2ZXIgcHJpbnRzIG91dCAiZGlzYXNzZW1ibHkiIGR1bXBzIG9mIHRoZSBj b21tYW5kIEZJRk8KYW5kIGdhdGhlciBjb250ZW50cyBvbiBzdWJtaXNzaW9uIHRpbWVvdXRzLiBI b3dldmVyLCB0aGUgb3V0cHV0IGhhcwpiZWVuIHF1aXRlIGRpZmZpY3VsdCB0byByZWFkIHdpdGgg dW5uZWNlc3NhcnkgbmV3bGluZXMgYW5kIG9jY2FzaW9uYWwKbWlzc2luZyBwYXJlbnRoZXNlcy4K CkZpeCB0aGVzZSBwcm9ibGVtcyBieSB1c2luZyBwcl9jb250IHRvIHJlbW92ZSB1bm5lY2Vzc2Fy eSBuZXdsaW5lcwphbmQgYnkgZml4aW5nIG90aGVyIHNtYWxsIGlzc3Vlcy4KClNpZ25lZC1vZmYt Ynk6IE1pa2tvIFBlcnR0dW5lbiA8bXBlcnR0dW5lbkBudmlkaWEuY29tPgpSZXZpZXdlZC1ieTog RG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhAZ21haWwuY29tPgpUZXN0ZWQtYnk6IERtaXRyeSBPc2lw ZW5rbyA8ZGlnZXR4QGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9ob3N0MXgvZGVidWcuYyAg ICAgICAgICAgIHwgMTQgKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5oICAg ICAgICAgICAgfCAxNCArKysrKysrKy0tLQogZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVnX2h3 LmMgICAgICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9ob3N0MXgvaHcvZGVidWdfaHdfMXgwMS5jIHwgIDggKysrLS0tCiBkcml2ZXJzL2dwdS9o b3N0MXgvaHcvZGVidWdfaHdfMXgwNi5jIHwgIDkgKysrKy0tLQogNSBmaWxlcyBjaGFuZ2VkLCA2 MSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9ob3N0MXgvZGVidWcuYyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5jCmluZGV4IDJhYWUw ZTYzMjE0Yy4uZGM3N2VjNDUyZmZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvZGVi dWcuYworKysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvZGVidWcuYwpAQCAtNDAsNyArNDAsMTkgQEAg dm9pZCBob3N0MXhfZGVidWdfb3V0cHV0KHN0cnVjdCBvdXRwdXQgKm8sIGNvbnN0IGNoYXIgKmZt dCwgLi4uKQogCWxlbiA9IHZzbnByaW50ZihvLT5idWYsIHNpemVvZihvLT5idWYpLCBmbXQsIGFy Z3MpOwogCXZhX2VuZChhcmdzKTsKIAotCW8tPmZuKG8tPmN0eCwgby0+YnVmLCBsZW4pOworCW8t PmZuKG8tPmN0eCwgby0+YnVmLCBsZW4sIGZhbHNlKTsKK30KKwordm9pZCBob3N0MXhfZGVidWdf Y29udChzdHJ1Y3Qgb3V0cHV0ICpvLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0 IGFyZ3M7CisJaW50IGxlbjsKKworCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7CisJbGVuID0gdnNucHJp bnRmKG8tPmJ1Ziwgc2l6ZW9mKG8tPmJ1ZiksIGZtdCwgYXJncyk7CisJdmFfZW5kKGFyZ3MpOwor CisJby0+Zm4oby0+Y3R4LCBvLT5idWYsIGxlbiwgdHJ1ZSk7CiB9CiAKIHN0YXRpYyBpbnQgc2hv d19jaGFubmVsKHN0cnVjdCBob3N0MXhfY2hhbm5lbCAqY2gsIHZvaWQgKmRhdGEsIGJvb2wgc2hv d19maWZvKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvaG9zdDF4L2RlYnVnLmggYi9kcml2ZXJz L2dwdS9ob3N0MXgvZGVidWcuaAppbmRleCA0NTk1YjJlMDc5OWYuLjk5MGNjZTQ3ZTczNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvaG9zdDF4L2RlYnVnLmgKKysrIGIvZHJpdmVycy9ncHUvaG9z dDF4L2RlYnVnLmgKQEAgLTI0LDIyICsyNCwyOCBAQAogc3RydWN0IGhvc3QxeDsKIAogc3RydWN0 IG91dHB1dCB7Ci0Jdm9pZCAoKmZuKSh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90 IGxlbik7CisJdm9pZCAoKmZuKSh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxl biwgYm9vbCBjb250KTsKIAl2b2lkICpjdHg7CiAJY2hhciBidWZbMjU2XTsKIH07CiAKLXN0YXRp YyBpbmxpbmUgdm9pZCB3cml0ZV90b19zZXFmaWxlKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqc3Ry LCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3RvX3NlcWZpbGUodm9pZCAq Y3R4LCBjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4sCisJCQkJICAgIGJvb2wgY29udCkKIHsK IAlzZXFfd3JpdGUoKHN0cnVjdCBzZXFfZmlsZSAqKWN0eCwgc3RyLCBsZW4pOwogfQogCi1zdGF0 aWMgaW5saW5lIHZvaWQgd3JpdGVfdG9fcHJpbnRrKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqc3Ry LCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3RvX3ByaW50ayh2b2lkICpj dHgsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKKwkJCQkgICBib29sIGNvbnQpCiB7Ci0J cHJfaW5mbygiJXMiLCBzdHIpOworCWlmIChjb250KQorCQlwcl9jb250KCIlcyIsIHN0cik7CisJ ZWxzZQorCQlwcl9pbmZvKCIlcyIsIHN0cik7CiB9CiAKIHZvaWQgX19wcmludGYoMiwgMykgaG9z dDF4X2RlYnVnX291dHB1dChzdHJ1Y3Qgb3V0cHV0ICpvLCBjb25zdCBjaGFyICpmbXQsIC4uLik7 Cit2b2lkIF9fcHJpbnRmKDIsIDMpIGhvc3QxeF9kZWJ1Z19jb250KHN0cnVjdCBvdXRwdXQgKm8s IGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBob3N0MXhfZGVi dWdfdHJhY2VfY21kYnVmOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvZGVi dWdfaHcuYyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19ody5jCmluZGV4IDc3MGQ5MmU2 MmQ2OS4uMWU2NzY2N2UzMDhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvZGVi dWdfaHcuYworKysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvZGVidWdfaHcuYwpAQCAtNDAsNDgg KzQwLDU5IEBAIGVudW0gewogCiBzdGF0aWMgdW5zaWduZWQgaW50IHNob3dfY2hhbm5lbF9jb21t YW5kKHN0cnVjdCBvdXRwdXQgKm8sIHUzMiB2YWwpCiB7Ci0JdW5zaWduZWQgaW50IG1hc2ssIHN1 Ym9wOworCXVuc2lnbmVkIGludCBtYXNrLCBzdWJvcCwgbnVtOwogCiAJc3dpdGNoICh2YWwgPj4g MjgpIHsKIAljYXNlIEhPU1QxWF9PUENPREVfU0VUQ0xBU1M6CiAJCW1hc2sgPSB2YWwgJiAweDNm OwogCQlpZiAobWFzaykgewotCQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiU0VUQ0woY2xhc3M9 JTAzeCwgb2Zmc2V0PSUwM3gsIG1hc2s9JTAyeCwgWyIsCisJCQlob3N0MXhfZGVidWdfY29udChv LCAiU0VUQ0woY2xhc3M9JTAzeCwgb2Zmc2V0PSUwM3gsIG1hc2s9JTAyeCwgWyIsCiAJCQkJCSAg ICB2YWwgPj4gNiAmIDB4M2ZmLAogCQkJCQkgICAgdmFsID4+IDE2ICYgMHhmZmYsIG1hc2spOwog CQkJcmV0dXJuIGh3ZWlnaHQ4KG1hc2spOwogCQl9CiAKLQkJaG9zdDF4X2RlYnVnX291dHB1dChv LCAiU0VUQ0woY2xhc3M9JTAzeClcbiIsIHZhbCA+PiA2ICYgMHgzZmYpOworCQlob3N0MXhfZGVi dWdfY29udChvLCAiU0VUQ0woY2xhc3M9JTAzeClcbiIsIHZhbCA+PiA2ICYgMHgzZmYpOwogCQly ZXR1cm4gMDsKIAogCWNhc2UgSE9TVDFYX09QQ09ERV9JTkNSOgotCQlob3N0MXhfZGVidWdfb3V0 cHV0KG8sICJJTkNSKG9mZnNldD0lMDN4LCBbIiwKKwkJbnVtID0gdmFsICYgMHhmZmZmOworCQlo b3N0MXhfZGVidWdfY29udChvLCAiSU5DUihvZmZzZXQ9JTAzeCwgWyIsCiAJCQkJICAgIHZhbCA+ PiAxNiAmIDB4ZmZmKTsKLQkJcmV0dXJuIHZhbCAmIDB4ZmZmZjsKKwkJaWYgKCFudW0pCisJCQlo b3N0MXhfZGVidWdfY29udChvLCAiXSlcbiIpOworCisJCXJldHVybiBudW07CiAKIAljYXNlIEhP U1QxWF9PUENPREVfTk9OSU5DUjoKLQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiTk9OSU5DUihv ZmZzZXQ9JTAzeCwgWyIsCisJCW51bSA9IHZhbCAmIDB4ZmZmZjsKKwkJaG9zdDF4X2RlYnVnX2Nv bnQobywgIk5PTklOQ1Iob2Zmc2V0PSUwM3gsIFsiLAogCQkJCSAgICB2YWwgPj4gMTYgJiAweGZm Zik7Ci0JCXJldHVybiB2YWwgJiAweGZmZmY7CisJCWlmICghbnVtKQorCQkJaG9zdDF4X2RlYnVn X2NvbnQobywgIl0pXG4iKTsKKworCQlyZXR1cm4gbnVtOwogCiAJY2FzZSBIT1NUMVhfT1BDT0RF X01BU0s6CiAJCW1hc2sgPSB2YWwgJiAweGZmZmY7Ci0JCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywg Ik1BU0sob2Zmc2V0PSUwM3gsIG1hc2s9JTAzeCwgWyIsCisJCWhvc3QxeF9kZWJ1Z19jb250KG8s ICJNQVNLKG9mZnNldD0lMDN4LCBtYXNrPSUwM3gsIFsiLAogCQkJCSAgICB2YWwgPj4gMTYgJiAw eGZmZiwgbWFzayk7CisJCWlmICghbWFzaykKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJdKVxu Iik7CisKIAkJcmV0dXJuIGh3ZWlnaHQxNihtYXNrKTsKIAogCWNhc2UgSE9TVDFYX09QQ09ERV9J TU06Ci0JCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIklNTShvZmZzZXQ9JTAzeCwgZGF0YT0lMDN4 KVxuIiwKKwkJaG9zdDF4X2RlYnVnX2NvbnQobywgIklNTShvZmZzZXQ9JTAzeCwgZGF0YT0lMDN4 KVxuIiwKIAkJCQkgICAgdmFsID4+IDE2ICYgMHhmZmYsIHZhbCAmIDB4ZmZmZik7CiAJCXJldHVy biAwOwogCiAJY2FzZSBIT1NUMVhfT1BDT0RFX1JFU1RBUlQ6Ci0JCWhvc3QxeF9kZWJ1Z19vdXRw dXQobywgIlJFU1RBUlQob2Zmc2V0PSUwOHgpXG4iLCB2YWwgPDwgNCk7CisJCWhvc3QxeF9kZWJ1 Z19jb250KG8sICJSRVNUQVJUKG9mZnNldD0lMDh4KVxuIiwgdmFsIDw8IDQpOwogCQlyZXR1cm4g MDsKIAogCWNhc2UgSE9TVDFYX09QQ09ERV9HQVRIRVI6Ci0JCWhvc3QxeF9kZWJ1Z19vdXRwdXQo bywgIkdBVEhFUihvZmZzZXQ9JTAzeCwgaW5zZXJ0PSVkLCB0eXBlPSVkLCBjb3VudD0lMDR4LCBh ZGRyPVsiLAorCQlob3N0MXhfZGVidWdfY29udChvLCAiR0FUSEVSKG9mZnNldD0lMDN4LCBpbnNl cnQ9JWQsIHR5cGU9JWQsIGNvdW50PSUwNHgsIGFkZHI9WyIsCiAJCQkJICAgIHZhbCA+PiAxNiAm IDB4ZmZmLCB2YWwgPj4gMTUgJiAweDEsCiAJCQkJICAgIHZhbCA+PiAxNCAmIDB4MSwgdmFsICYg MHgzZmZmKTsKIAkJcmV0dXJuIDE7CkBAIC04OSwxNiArMTAwLDE3IEBAIHN0YXRpYyB1bnNpZ25l ZCBpbnQgc2hvd19jaGFubmVsX2NvbW1hbmQoc3RydWN0IG91dHB1dCAqbywgdTMyIHZhbCkKIAlj YXNlIEhPU1QxWF9PUENPREVfRVhURU5EOgogCQlzdWJvcCA9IHZhbCA+PiAyNCAmIDB4ZjsKIAkJ aWYgKHN1Ym9wID09IEhPU1QxWF9PUENPREVfRVhURU5EX0FDUVVJUkVfTUxPQ0spCi0JCQlob3N0 MXhfZGVidWdfb3V0cHV0KG8sICJBQ1FVSVJFX01MT0NLKGluZGV4PSVkKVxuIiwKKwkJCWhvc3Qx eF9kZWJ1Z19jb250KG8sICJBQ1FVSVJFX01MT0NLKGluZGV4PSVkKVxuIiwKIAkJCQkJICAgIHZh bCAmIDB4ZmYpOwogCQllbHNlIGlmIChzdWJvcCA9PSBIT1NUMVhfT1BDT0RFX0VYVEVORF9SRUxF QVNFX01MT0NLKQotCQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiUkVMRUFTRV9NTE9DSyhpbmRl eD0lZClcbiIsCisJCQlob3N0MXhfZGVidWdfY29udChvLCAiUkVMRUFTRV9NTE9DSyhpbmRleD0l ZClcbiIsCiAJCQkJCSAgICB2YWwgJiAweGZmKTsKIAkJZWxzZQotCQkJaG9zdDF4X2RlYnVnX291 dHB1dChvLCAiRVhURU5EX1VOS05PV04oJTA4eClcbiIsIHZhbCk7CisJCQlob3N0MXhfZGVidWdf Y29udChvLCAiRVhURU5EX1VOS05PV04oJTA4eClcbiIsIHZhbCk7CiAJCXJldHVybiAwOwogCiAJ ZGVmYXVsdDoKKwkJaG9zdDF4X2RlYnVnX2NvbnQobywgIlVOS05PV05cbiIpOwogCQlyZXR1cm4g MDsKIAl9CiB9CkBAIC0xMjYsMTEgKzEzOCwxMSBAQCBzdGF0aWMgdm9pZCBzaG93X2dhdGhlcihz dHJ1Y3Qgb3V0cHV0ICpvLCBwaHlzX2FkZHJfdCBwaHlzX2FkZHIsCiAJCXUzMiB2YWwgPSAqKG1h cF9hZGRyICsgb2Zmc2V0IC8gNCArIGkpOwogCiAJCWlmICghZGF0YV9jb3VudCkgewotCQkJaG9z dDF4X2RlYnVnX291dHB1dChvLCAiJTA4eDogJTA4eDoiLCBhZGRyLCB2YWwpOworCQkJaG9zdDF4 X2RlYnVnX291dHB1dChvLCAiJTA4eDogJTA4eDogIiwgYWRkciwgdmFsKTsKIAkJCWRhdGFfY291 bnQgPSBzaG93X2NoYW5uZWxfY29tbWFuZChvLCB2YWwpOwogCQl9IGVsc2UgewotCQkJaG9zdDF4 X2RlYnVnX291dHB1dChvLCAiJTA4eCVzIiwgdmFsLAotCQkJCQkgICAgZGF0YV9jb3VudCA+IDAg PyAiLCAiIDogIl0pXG4iKTsKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICIlMDh4JXMiLCB2YWws CisJCQkJCSAgICBkYXRhX2NvdW50ID4gMSA/ICIsICIgOiAiXSlcbiIpOwogCQkJZGF0YV9jb3Vu dC0tOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVnX2h3 XzF4MDEuYyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19od18xeDAxLmMKaW5kZXggOGYy NDM5MDNjYzdmLi4wOWUxYWE3YmI1ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2hvc3QxeC9o dy9kZWJ1Z19od18xeDAxLmMKKysrIGIvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVnX2h3XzF4 MDEuYwpAQCAtMTExLDExICsxMTEsMTEgQEAgc3RhdGljIHZvaWQgaG9zdDF4X2RlYnVnX3Nob3df Y2hhbm5lbF9maWZvKHN0cnVjdCBob3N0MXggKmhvc3QsCiAJCXZhbCA9IGhvc3QxeF9zeW5jX3Jl YWRsKGhvc3QsIEhPU1QxWF9TWU5DX0NGUEVFS19SRUFEKTsKIAogCQlpZiAoIWRhdGFfY291bnQp IHsKLQkJCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIiUwOHg6IiwgdmFsKTsKKwkJCWhvc3QxeF9k ZWJ1Z19vdXRwdXQobywgIiUwOHg6ICIsIHZhbCk7CiAJCQlkYXRhX2NvdW50ID0gc2hvd19jaGFu bmVsX2NvbW1hbmQobywgdmFsKTsKIAkJfSBlbHNlIHsKLQkJCWhvc3QxeF9kZWJ1Z19vdXRwdXQo bywgIiUwOHglcyIsIHZhbCwKLQkJCQkJICAgIGRhdGFfY291bnQgPiAwID8gIiwgIiA6ICJdKVxu Iik7CisJCQlob3N0MXhfZGVidWdfY29udChvLCAiJTA4eCVzIiwgdmFsLAorCQkJCQkgIGRhdGFf Y291bnQgPiAxID8gIiwgIiA6ICJdKVxuIik7CiAJCQlkYXRhX2NvdW50LS07CiAJCX0KIApAQCAt MTI2LDcgKzEyNiw3IEBAIHN0YXRpYyB2b2lkIGhvc3QxeF9kZWJ1Z19zaG93X2NoYW5uZWxfZmlm byhzdHJ1Y3QgaG9zdDF4ICpob3N0LAogCX0gd2hpbGUgKHJkX3B0ciAhPSB3cl9wdHIpOwogCiAJ aWYgKGRhdGFfY291bnQpCi0JCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIiwgLi4uXSlcbiIpOwor CQlob3N0MXhfZGVidWdfY29udChvLCAiLCAuLi5dKVxuIik7CiAJaG9zdDF4X2RlYnVnX291dHB1 dChvLCAiXG4iKTsKIAogCWhvc3QxeF9zeW5jX3dyaXRlbChob3N0LCAweDAsIEhPU1QxWF9TWU5D X0NGUEVFS19DVFJMKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19o d18xeDA2LmMgYi9kcml2ZXJzL2dwdS9ob3N0MXgvaHcvZGVidWdfaHdfMXgwNi5jCmluZGV4IDlj ZGVlNjU3ZmI0Ni4uYmQ4OWRhNWRjNjRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgv aHcvZGVidWdfaHdfMXgwNi5jCisrKyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19od18x eDA2LmMKQEAgLTEwNSwxMSArMTA1LDEyIEBAIHN0YXRpYyB2b2lkIGhvc3QxeF9kZWJ1Z19zaG93 X2NoYW5uZWxfZmlmbyhzdHJ1Y3QgaG9zdDF4ICpob3N0LAogCQkJCQkgICAgICBIT1NUMVhfSFZf Q01ERklGT19QRUVLX1JFQUQpOwogCiAJCWlmICghZGF0YV9jb3VudCkgewotCQkJaG9zdDF4X2Rl YnVnX291dHB1dChvLCAiJTA4eDoiLCB2YWwpOworCQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAi JTAzeCAweCUwOHg6ICIsCisJCQkJCSAgICByZF9wdHIgLSBzdGFydCwgdmFsKTsKIAkJCWRhdGFf Y291bnQgPSBzaG93X2NoYW5uZWxfY29tbWFuZChvLCB2YWwpOwogCQl9IGVsc2UgewotCQkJaG9z dDF4X2RlYnVnX291dHB1dChvLCAiJTA4eCVzIiwgdmFsLAotCQkJCQkgICAgZGF0YV9jb3VudCA+ IDAgPyAiLCAiIDogIl0pXG4iKTsKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICIlMDh4JXMiLCB2 YWwsCisJCQkJCSAgZGF0YV9jb3VudCA+IDEgPyAiLCAiIDogIl0pXG4iKTsKIAkJCWRhdGFfY291 bnQtLTsKIAkJfQogCkBAIC0xMjAsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgaG9zdDF4X2RlYnVn X3Nob3dfY2hhbm5lbF9maWZvKHN0cnVjdCBob3N0MXggKmhvc3QsCiAJfSB3aGlsZSAocmRfcHRy ICE9IHdyX3B0cik7CiAKIAlpZiAoZGF0YV9jb3VudCkKLQkJaG9zdDF4X2RlYnVnX291dHB1dChv LCAiLCAuLi5dKVxuIik7CisJCWhvc3QxeF9kZWJ1Z19jb250KG8sICIsIC4uLl0pXG4iKTsKIAlo b3N0MXhfZGVidWdfb3V0cHV0KG8sICJcbiIpOwogCiAJaG9zdDF4X2h5cGVydmlzb3Jfd3JpdGVs KGhvc3QsIDB4MCwgSE9TVDFYX0hWX0NNREZJRk9fUEVFS19DVFJMKTsKLS0gCjIuMTQuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==