From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mikko Perttunen Subject: [PATCH 3/4] gpu: host1x: Improve debug disassembly formatting Date: Fri, 18 Aug 2017 19:15:52 +0300 Message-ID: <20170818161553.27597-4-mperttunen@nvidia.com> References: <20170818161553.27597-1-mperttunen@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170818161553.27597-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 Ynk6IE1pa2tvIFBlcnR0dW5lbiA8bXBlcnR0dW5lbkBudmlkaWEuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2hvc3QxeC9kZWJ1Zy5jICAgICAgICAgICAgfCAxNCArKysrKysrKysrLQogZHJpdmVycy9n cHUvaG9zdDF4L2RlYnVnLmggICAgICAgICAgICB8IDE0ICsrKysrKysrLS0tCiBkcml2ZXJzL2dw dS9ob3N0MXgvaHcvZGVidWdfaHcuYyAgICAgIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19od18xeDAxLmMgfCAgOCAr KystLS0KIGRyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19od18xeDA2LmMgfCAgOSArKysrLS0t CiA1IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5jIGIvZHJpdmVycy9ncHUvaG9zdDF4 L2RlYnVnLmMKaW5kZXggMmFhZTBlNjMyMTRjLi5kYzc3ZWM0NTJmZmMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5jCisrKyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5j CkBAIC00MCw3ICs0MCwxOSBAQCB2b2lkIGhvc3QxeF9kZWJ1Z19vdXRwdXQoc3RydWN0IG91dHB1 dCAqbywgY29uc3QgY2hhciAqZm10LCAuLi4pCiAJbGVuID0gdnNucHJpbnRmKG8tPmJ1Ziwgc2l6 ZW9mKG8tPmJ1ZiksIGZtdCwgYXJncyk7CiAJdmFfZW5kKGFyZ3MpOwogCi0Jby0+Zm4oby0+Y3R4 LCBvLT5idWYsIGxlbik7CisJby0+Zm4oby0+Y3R4LCBvLT5idWYsIGxlbiwgZmFsc2UpOworfQor Cit2b2lkIGhvc3QxeF9kZWJ1Z19jb250KHN0cnVjdCBvdXRwdXQgKm8sIGNvbnN0IGNoYXIgKmZt dCwgLi4uKQoreworCXZhX2xpc3QgYXJnczsKKwlpbnQgbGVuOworCisJdmFfc3RhcnQoYXJncywg Zm10KTsKKwlsZW4gPSB2c25wcmludGYoby0+YnVmLCBzaXplb2Yoby0+YnVmKSwgZm10LCBhcmdz KTsKKwl2YV9lbmQoYXJncyk7CisKKwlvLT5mbihvLT5jdHgsIG8tPmJ1ZiwgbGVuLCB0cnVlKTsK IH0KIAogc3RhdGljIGludCBzaG93X2NoYW5uZWwoc3RydWN0IGhvc3QxeF9jaGFubmVsICpjaCwg dm9pZCAqZGF0YSwgYm9vbCBzaG93X2ZpZm8pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9ob3N0 MXgvZGVidWcuaCBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9kZWJ1Zy5oCmluZGV4IDQ1OTViMmUwNzk5 Zi4uOTkwY2NlNDdlNzM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9ob3N0MXgvZGVidWcuaAor KysgYi9kcml2ZXJzL2dwdS9ob3N0MXgvZGVidWcuaApAQCAtMjQsMjIgKzI0LDI4IEBACiBzdHJ1 Y3QgaG9zdDF4OwogCiBzdHJ1Y3Qgb3V0cHV0IHsKLQl2b2lkICgqZm4pKHZvaWQgKmN0eCwgY29u c3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKTsKKwl2b2lkICgqZm4pKHZvaWQgKmN0eCwgY29uc3Qg Y2hhciAqc3RyLCBzaXplX3QgbGVuLCBib29sIGNvbnQpOwogCXZvaWQgKmN0eDsKIAljaGFyIGJ1 ZlsyNTZdOwogfTsKIAotc3RhdGljIGlubGluZSB2b2lkIHdyaXRlX3RvX3NlcWZpbGUodm9pZCAq Y3R4LCBjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp dGVfdG9fc2VxZmlsZSh2b2lkICpjdHgsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKKwkJ CQkgICAgYm9vbCBjb250KQogewogCXNlcV93cml0ZSgoc3RydWN0IHNlcV9maWxlICopY3R4LCBz dHIsIGxlbik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV90b19wcmludGsodm9pZCAq Y3R4LCBjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCitzdGF0aWMgaW5saW5lIHZvaWQgd3Jp dGVfdG9fcHJpbnRrKHZvaWQgKmN0eCwgY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuLAorCQkJ CSAgIGJvb2wgY29udCkKIHsKLQlwcl9pbmZvKCIlcyIsIHN0cik7CisJaWYgKGNvbnQpCisJCXBy X2NvbnQoIiVzIiwgc3RyKTsKKwllbHNlCisJCXByX2luZm8oIiVzIiwgc3RyKTsKIH0KIAogdm9p ZCBfX3ByaW50ZigyLCAzKSBob3N0MXhfZGVidWdfb3V0cHV0KHN0cnVjdCBvdXRwdXQgKm8sIGNv bnN0IGNoYXIgKmZtdCwgLi4uKTsKK3ZvaWQgX19wcmludGYoMiwgMykgaG9zdDF4X2RlYnVnX2Nv bnQoc3RydWN0IG91dHB1dCAqbywgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiBleHRlcm4gdW5z aWduZWQgaW50IGhvc3QxeF9kZWJ1Z190cmFjZV9jbWRidWY7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19ody5jIGIvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVn X2h3LmMKaW5kZXggNzcwZDkyZTYyZDY5Li4xZTY3NjY3ZTMwOGMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19ody5jCisrKyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9k ZWJ1Z19ody5jCkBAIC00MCw0OCArNDAsNTkgQEAgZW51bSB7CiAKIHN0YXRpYyB1bnNpZ25lZCBp bnQgc2hvd19jaGFubmVsX2NvbW1hbmQoc3RydWN0IG91dHB1dCAqbywgdTMyIHZhbCkKIHsKLQl1 bnNpZ25lZCBpbnQgbWFzaywgc3Vib3A7CisJdW5zaWduZWQgaW50IG1hc2ssIHN1Ym9wLCBudW07 CiAKIAlzd2l0Y2ggKHZhbCA+PiAyOCkgewogCWNhc2UgSE9TVDFYX09QQ09ERV9TRVRDTEFTUzoK IAkJbWFzayA9IHZhbCAmIDB4M2Y7CiAJCWlmIChtYXNrKSB7Ci0JCQlob3N0MXhfZGVidWdfb3V0 cHV0KG8sICJTRVRDTChjbGFzcz0lMDN4LCBvZmZzZXQ9JTAzeCwgbWFzaz0lMDJ4LCBbIiwKKwkJ CWhvc3QxeF9kZWJ1Z19jb250KG8sICJTRVRDTChjbGFzcz0lMDN4LCBvZmZzZXQ9JTAzeCwgbWFz az0lMDJ4LCBbIiwKIAkJCQkJICAgIHZhbCA+PiA2ICYgMHgzZmYsCiAJCQkJCSAgICB2YWwgPj4g MTYgJiAweGZmZiwgbWFzayk7CiAJCQlyZXR1cm4gaHdlaWdodDgobWFzayk7CiAJCX0KIAotCQlo b3N0MXhfZGVidWdfb3V0cHV0KG8sICJTRVRDTChjbGFzcz0lMDN4KVxuIiwgdmFsID4+IDYgJiAw eDNmZik7CisJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJTRVRDTChjbGFzcz0lMDN4KVxuIiwgdmFs ID4+IDYgJiAweDNmZik7CiAJCXJldHVybiAwOwogCiAJY2FzZSBIT1NUMVhfT1BDT0RFX0lOQ1I6 Ci0JCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIklOQ1Iob2Zmc2V0PSUwM3gsIFsiLAorCQludW0g PSB2YWwgJiAweGZmZmY7CisJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJJTkNSKG9mZnNldD0lMDN4 LCBbIiwKIAkJCQkgICAgdmFsID4+IDE2ICYgMHhmZmYpOwotCQlyZXR1cm4gdmFsICYgMHhmZmZm OworCQlpZiAoIW51bSkKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJdKVxuIik7CisKKwkJcmV0 dXJuIG51bTsKIAogCWNhc2UgSE9TVDFYX09QQ09ERV9OT05JTkNSOgotCQlob3N0MXhfZGVidWdf b3V0cHV0KG8sICJOT05JTkNSKG9mZnNldD0lMDN4LCBbIiwKKwkJbnVtID0gdmFsICYgMHhmZmZm OworCQlob3N0MXhfZGVidWdfY29udChvLCAiTk9OSU5DUihvZmZzZXQ9JTAzeCwgWyIsCiAJCQkJ ICAgIHZhbCA+PiAxNiAmIDB4ZmZmKTsKLQkJcmV0dXJuIHZhbCAmIDB4ZmZmZjsKKwkJaWYgKCFu dW0pCisJCQlob3N0MXhfZGVidWdfY29udChvLCAiXSlcbiIpOworCisJCXJldHVybiBudW07CiAK IAljYXNlIEhPU1QxWF9PUENPREVfTUFTSzoKIAkJbWFzayA9IHZhbCAmIDB4ZmZmZjsKLQkJaG9z dDF4X2RlYnVnX291dHB1dChvLCAiTUFTSyhvZmZzZXQ9JTAzeCwgbWFzaz0lMDN4LCBbIiwKKwkJ aG9zdDF4X2RlYnVnX2NvbnQobywgIk1BU0sob2Zmc2V0PSUwM3gsIG1hc2s9JTAzeCwgWyIsCiAJ CQkJICAgIHZhbCA+PiAxNiAmIDB4ZmZmLCBtYXNrKTsKKwkJaWYgKCFtYXNrKQorCQkJaG9zdDF4 X2RlYnVnX2NvbnQobywgIl0pXG4iKTsKKwogCQlyZXR1cm4gaHdlaWdodDE2KG1hc2spOwogCiAJ Y2FzZSBIT1NUMVhfT1BDT0RFX0lNTToKLQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiSU1NKG9m ZnNldD0lMDN4LCBkYXRhPSUwM3gpXG4iLAorCQlob3N0MXhfZGVidWdfY29udChvLCAiSU1NKG9m ZnNldD0lMDN4LCBkYXRhPSUwM3gpXG4iLAogCQkJCSAgICB2YWwgPj4gMTYgJiAweGZmZiwgdmFs ICYgMHhmZmZmKTsKIAkJcmV0dXJuIDA7CiAKIAljYXNlIEhPU1QxWF9PUENPREVfUkVTVEFSVDoK LQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiUkVTVEFSVChvZmZzZXQ9JTA4eClcbiIsIHZhbCA8 PCA0KTsKKwkJaG9zdDF4X2RlYnVnX2NvbnQobywgIlJFU1RBUlQob2Zmc2V0PSUwOHgpXG4iLCB2 YWwgPDwgNCk7CiAJCXJldHVybiAwOwogCiAJY2FzZSBIT1NUMVhfT1BDT0RFX0dBVEhFUjoKLQkJ aG9zdDF4X2RlYnVnX291dHB1dChvLCAiR0FUSEVSKG9mZnNldD0lMDN4LCBpbnNlcnQ9JWQsIHR5 cGU9JWQsIGNvdW50PSUwNHgsIGFkZHI9WyIsCisJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJHQVRI RVIob2Zmc2V0PSUwM3gsIGluc2VydD0lZCwgdHlwZT0lZCwgY291bnQ9JTA0eCwgYWRkcj1bIiwK IAkJCQkgICAgdmFsID4+IDE2ICYgMHhmZmYsIHZhbCA+PiAxNSAmIDB4MSwKIAkJCQkgICAgdmFs ID4+IDE0ICYgMHgxLCB2YWwgJiAweDNmZmYpOwogCQlyZXR1cm4gMTsKQEAgLTg5LDE2ICsxMDAs MTcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBzaG93X2NoYW5uZWxfY29tbWFuZChzdHJ1Y3Qgb3V0 cHV0ICpvLCB1MzIgdmFsKQogCWNhc2UgSE9TVDFYX09QQ09ERV9FWFRFTkQ6CiAJCXN1Ym9wID0g dmFsID4+IDI0ICYgMHhmOwogCQlpZiAoc3Vib3AgPT0gSE9TVDFYX09QQ09ERV9FWFRFTkRfQUNR VUlSRV9NTE9DSykKLQkJCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIkFDUVVJUkVfTUxPQ0soaW5k ZXg9JWQpXG4iLAorCQkJaG9zdDF4X2RlYnVnX2NvbnQobywgIkFDUVVJUkVfTUxPQ0soaW5kZXg9 JWQpXG4iLAogCQkJCQkgICAgdmFsICYgMHhmZik7CiAJCWVsc2UgaWYgKHN1Ym9wID09IEhPU1Qx WF9PUENPREVfRVhURU5EX1JFTEVBU0VfTUxPQ0spCi0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8s ICJSRUxFQVNFX01MT0NLKGluZGV4PSVkKVxuIiwKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJS RUxFQVNFX01MT0NLKGluZGV4PSVkKVxuIiwKIAkJCQkJICAgIHZhbCAmIDB4ZmYpOwogCQllbHNl Ci0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICJFWFRFTkRfVU5LTk9XTiglMDh4KVxuIiwgdmFs KTsKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICJFWFRFTkRfVU5LTk9XTiglMDh4KVxuIiwgdmFs KTsKIAkJcmV0dXJuIDA7CiAKIAlkZWZhdWx0OgorCQlob3N0MXhfZGVidWdfY29udChvLCAiVU5L Tk9XTlxuIik7CiAJCXJldHVybiAwOwogCX0KIH0KQEAgLTEyNiwxMSArMTM4LDExIEBAIHN0YXRp YyB2b2lkIHNob3dfZ2F0aGVyKHN0cnVjdCBvdXRwdXQgKm8sIHBoeXNfYWRkcl90IHBoeXNfYWRk ciwKIAkJdTMyIHZhbCA9ICoobWFwX2FkZHIgKyBvZmZzZXQgLyA0ICsgaSk7CiAKIAkJaWYgKCFk YXRhX2NvdW50KSB7Ci0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICIlMDh4OiAlMDh4OiIsIGFk ZHIsIHZhbCk7CisJCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICIlMDh4OiAlMDh4OiAiLCBhZGRy LCB2YWwpOwogCQkJZGF0YV9jb3VudCA9IHNob3dfY2hhbm5lbF9jb21tYW5kKG8sIHZhbCk7CiAJ CX0gZWxzZSB7Ci0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICIlMDh4JXMiLCB2YWwsCi0JCQkJ CSAgICBkYXRhX2NvdW50ID4gMCA/ICIsICIgOiAiXSlcbiIpOworCQkJaG9zdDF4X2RlYnVnX2Nv bnQobywgIiUwOHglcyIsIHZhbCwKKwkJCQkJICAgIGRhdGFfY291bnQgPiAxID8gIiwgIiA6ICJd KVxuIik7CiAJCQlkYXRhX2NvdW50LS07CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9ob3N0MXgvaHcvZGVidWdfaHdfMXgwMS5jIGIvZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVn X2h3XzF4MDEuYwppbmRleCA4ZjI0MzkwM2NjN2YuLjA5ZTFhYTdiYjVkZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvaG9zdDF4L2h3L2RlYnVnX2h3XzF4MDEuYworKysgYi9kcml2ZXJzL2dwdS9o b3N0MXgvaHcvZGVidWdfaHdfMXgwMS5jCkBAIC0xMTEsMTEgKzExMSwxMSBAQCBzdGF0aWMgdm9p ZCBob3N0MXhfZGVidWdfc2hvd19jaGFubmVsX2ZpZm8oc3RydWN0IGhvc3QxeCAqaG9zdCwKIAkJ dmFsID0gaG9zdDF4X3N5bmNfcmVhZGwoaG9zdCwgSE9TVDFYX1NZTkNfQ0ZQRUVLX1JFQUQpOwog CiAJCWlmICghZGF0YV9jb3VudCkgewotCQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiJTA4eDoi LCB2YWwpOworCQkJaG9zdDF4X2RlYnVnX291dHB1dChvLCAiJTA4eDogIiwgdmFsKTsKIAkJCWRh dGFfY291bnQgPSBzaG93X2NoYW5uZWxfY29tbWFuZChvLCB2YWwpOwogCQl9IGVsc2UgewotCQkJ aG9zdDF4X2RlYnVnX291dHB1dChvLCAiJTA4eCVzIiwgdmFsLAotCQkJCQkgICAgZGF0YV9jb3Vu dCA+IDAgPyAiLCAiIDogIl0pXG4iKTsKKwkJCWhvc3QxeF9kZWJ1Z19jb250KG8sICIlMDh4JXMi LCB2YWwsCisJCQkJCSAgZGF0YV9jb3VudCA+IDEgPyAiLCAiIDogIl0pXG4iKTsKIAkJCWRhdGFf Y291bnQtLTsKIAkJfQogCkBAIC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIHZvaWQgaG9zdDF4X2Rl YnVnX3Nob3dfY2hhbm5lbF9maWZvKHN0cnVjdCBob3N0MXggKmhvc3QsCiAJfSB3aGlsZSAocmRf cHRyICE9IHdyX3B0cik7CiAKIAlpZiAoZGF0YV9jb3VudCkKLQkJaG9zdDF4X2RlYnVnX291dHB1 dChvLCAiLCAuLi5dKVxuIik7CisJCWhvc3QxeF9kZWJ1Z19jb250KG8sICIsIC4uLl0pXG4iKTsK IAlob3N0MXhfZGVidWdfb3V0cHV0KG8sICJcbiIpOwogCiAJaG9zdDF4X3N5bmNfd3JpdGVsKGhv c3QsIDB4MCwgSE9TVDFYX1NZTkNfQ0ZQRUVLX0NUUkwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvaG9zdDF4L2h3L2RlYnVnX2h3XzF4MDYuYyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1 Z19od18xeDA2LmMKaW5kZXggOWNkZWU2NTdmYjQ2Li5iZDg5ZGE1ZGM2NGMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2hvc3QxeC9ody9kZWJ1Z19od18xeDA2LmMKKysrIGIvZHJpdmVycy9ncHUv aG9zdDF4L2h3L2RlYnVnX2h3XzF4MDYuYwpAQCAtMTA1LDExICsxMDUsMTIgQEAgc3RhdGljIHZv aWQgaG9zdDF4X2RlYnVnX3Nob3dfY2hhbm5lbF9maWZvKHN0cnVjdCBob3N0MXggKmhvc3QsCiAJ CQkJCSAgICAgIEhPU1QxWF9IVl9DTURGSUZPX1BFRUtfUkVBRCk7CiAKIAkJaWYgKCFkYXRhX2Nv dW50KSB7Ci0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICIlMDh4OiIsIHZhbCk7CisJCQlob3N0 MXhfZGVidWdfb3V0cHV0KG8sICIlMDN4IDB4JTA4eDogIiwKKwkJCQkJICAgIHJkX3B0ciAtIHN0 YXJ0LCB2YWwpOwogCQkJZGF0YV9jb3VudCA9IHNob3dfY2hhbm5lbF9jb21tYW5kKG8sIHZhbCk7 CiAJCX0gZWxzZSB7Ci0JCQlob3N0MXhfZGVidWdfb3V0cHV0KG8sICIlMDh4JXMiLCB2YWwsCi0J CQkJCSAgICBkYXRhX2NvdW50ID4gMCA/ICIsICIgOiAiXSlcbiIpOworCQkJaG9zdDF4X2RlYnVn X2NvbnQobywgIiUwOHglcyIsIHZhbCwKKwkJCQkJICBkYXRhX2NvdW50ID4gMSA/ICIsICIgOiAi XSlcbiIpOwogCQkJZGF0YV9jb3VudC0tOwogCQl9CiAKQEAgLTEyMCw3ICsxMjEsNyBAQCBzdGF0 aWMgdm9pZCBob3N0MXhfZGVidWdfc2hvd19jaGFubmVsX2ZpZm8oc3RydWN0IGhvc3QxeCAqaG9z dCwKIAl9IHdoaWxlIChyZF9wdHIgIT0gd3JfcHRyKTsKIAogCWlmIChkYXRhX2NvdW50KQotCQlo b3N0MXhfZGVidWdfb3V0cHV0KG8sICIsIC4uLl0pXG4iKTsKKwkJaG9zdDF4X2RlYnVnX2NvbnQo bywgIiwgLi4uXSlcbiIpOwogCWhvc3QxeF9kZWJ1Z19vdXRwdXQobywgIlxuIik7CiAKIAlob3N0 MXhfaHlwZXJ2aXNvcl93cml0ZWwoaG9zdCwgMHgwLCBIT1NUMVhfSFZfQ01ERklGT19QRUVLX0NU UkwpOwotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK