From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 733AF6E00E for ; Tue, 30 Oct 2018 03:47:34 +0000 (UTC) Date: Mon, 29 Oct 2018 23:18:31 +0000 From: Tarun Vyas Message-ID: <20181029231831.GA18598@otc-arch-ivb-06> References: <20181022214118.19823-1-tarun.vyas@intel.com> <87a7n5dp20.fsf@intel.com> <20181023121334.GA30824@otc-arch-ivb-06> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20181023121334.GA30824@otc-arch-ivb-06> Subject: Re: [igt-dev] [PATCH i-g-t] tools/dpcd_reg: Add dump all functionality List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jani Nikula Cc: igt-dev@lists.freedesktop.org, dhinakaran.pandiyan@intel.com, Rodrigo Vivi List-ID: T24gVHVlLCBPY3QgMjMsIDIwMTggYXQgMTI6MTM6MzRQTSArMDAwMCwgVGFydW4gVnlhcyB3cm90 ZToKPiBPbiBUdWUsIE9jdCAyMywgMjAxOCBhdCAxMTo1MDo0N0FNICswMzAwLCBKYW5pIE5pa3Vs YSB3cm90ZToKPiA+IE9uIE1vbiwgMjIgT2N0IDIwMTgsIFRhcnVuIFZ5YXMgPHRhcnVuLnZ5YXNA aW50ZWwuY29tPiB3cm90ZToKPiA+ID4gRnJvbTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgo+ID4gPgo+ID4gPiBBbmQgbWFrZSBpdCB0aGUgZGVmYXVsdCB3aGVuIG5vIG9w ZXJhdGlvbiBvciBkZXZpY2UgaXMgZ2l2ZW4uCj4gPiA+Cj4gPiA+IFNvLCB0aGlzIHdpbGwgcmVw bGFjZSBpOTE1X2RwY2QgZm9yIG5vdyBidXQgY2FuIGJlIGV4cGFuZGVkCj4gPiA+IGxhdGVyLgo+ ID4gPgo+ID4gPiBDdXJyZW50IGRlYnVnZnM6Cj4gPiA+Cj4gPiA+ICQgc3VkbyBjYXQgL3N5cy9r ZXJuZWwvZGVidWcvZHJpLzAvRFAtMS9pOTE1X2RwY2QKPiA+ID4gMDAwMDogMTIgMTQgYzQgMDEg MDEgMDAgMDEgMDAgMDIgMDIgMDYgMDAgMDAgMDAgMDIKPiA+ID4gMDA3MDogMDAgMDAKPiA+ID4g MDA4MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKPiA+ ID4gMDEwMDogMTQgODQgMDAgMDYgMDYgMDYgMDYgMDAgMDEgMDQgMDAKPiA+ID4gMDIwMDogNDEg MDAgNzcgNzcgMDEgMDMgMjIgMjIKPiA+ID4gMDYwMDogMDEKPiA+ID4gMDcwMDogMDEKPiA+ID4g MDcwMTogMDAgMDAgMDAgMDAKPiA+ID4gMDcyMDogMDAgMDEgMDAgMDAgMDAgMDEgMDEgMDAgMDAg MDAgMDAgMDAgMDEgMDAgMDAgMDEKPiA+ID4gMDczMjogMDAgMDAKPiA+ID4KPiA+ID4gJCBzdWRv IGNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9kcmkvMC9lRFAtMS9pOTE1X2RwY2QKPiA+ID4gMDAwMDog MTIgMTQgODQgNDAgMDAgMDAgMDEgMDEgMDIgMDAgMDAgMDAgMDAgMGIgMDAKPiA+ID4gMDA3MDog MDEgMDAKPiA+ID4gMDA4MDogMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDAKPiA+ID4gMDEwMDogMTQgMDQgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKPiA+ ID4gMDIwMDogNDEgMDAgMDAgMDAgODAgMDAgNjYgNjYKPiA+ID4gMDYwMDogMDEKPiA+ID4gMDcw MDogMDIKPiA+ID4gMDcwMTogOWYgNDAgMDAgMDAKPiA+ID4gMDcyMDogMDAgMDAgMDAgMDAgMDAg MDAgMDAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKPiA+ID4gMDczMjogMDAgMDAKPiA+ID4K PiA+ID4gbmV3IHRvb2w6Cj4gPiA+Cj4gPiA+ICQgc3VkbyB0b29scy9kcGNkX3JlZwo+ID4gPgo+ ID4gPiBEdW1waW5nIERQRERDLUIKPiA+ID4gMHgwMDAwOiAxMiAxNCBjNCAwMSAwMSAwMCAwMSAw MCAwMiAwMiAwNiAwMCAwMCAwMCAwMgo+ID4gPiAweDAwNzA6IDAwIDAwCj4gPiA+IDB4MDA4MDog MDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKPiA+ID4gMHgw MTAwOiAxNCA4NCAwMCAwNiAwNiAwNiAwNiAwMCAwMSAwNCAwMAo+ID4gPiAweDAyMDA6IDQxIDAw IDc3IDc3IDAxIDAzIDIyIDIyCj4gPiA+IDB4MDYwMDogMDEKPiA+ID4gMHgwNzAwOiAwMQo+ID4g PiAweDA3MDE6IDAwIDAwIDAwIDAwCj4gPiA+IDB4MDcyMDogMDAgMDEgMDAgMDAgMDAgMDEgMDEg MDAgMDAgMDAgMDAgMDAgMDEgMDAgMDAgMDEKPiA+ID4gMHgwNzMyOiAwMCAwMAo+ID4gPiAweDIw MDg6IDAwCj4gPiA+Cj4gPiA+IER1bXBpbmcgRFBEREMtQQo+ID4gPiAweDAwMDA6ICAxNCAwYSA4 MiA0MSAwMCAwMCAwMSBjMCAwMiAwMCAwMCAwMCAwZiAwOSA4MAo+ID4gPiAweDAwNzA6ICAwMyAx Ygo+ID4gPiAweDAwODA6ICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMAo+ID4gPiAweDAxMDA6ICAwMCA4MiAwMCAwMCAwMCAwMCAwMCAwMCAwMSAwOCAwMAo+ ID4gPiAweDAyMDA6ICAwMSAwMCAwMCAwMCAwMCAwMSAwMCAwMAo+ID4gPiAweDA2MDA6ICAwMQo+ ID4gPiAweDA3MDA6ICAwNAo+ID4gPiAweDA3MDE6ICBmYiBmZiAwMCAwMAo+ID4gPiAweDA3MjA6 ICAwMSAwMyBmZiBmZiAxMCAwYSAxMCAwMCAwMSAwMCAwMSAwMCAwMCBjMCAwMCAwMAo+ID4gPiAw eDA3MzI6ICAwMCAxNAo+ID4gPiAweDIwMDg6ICAwMgo+ID4gPgo+ID4gPiBDYzogRGhpbmFrYXJh biBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1v ZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ID4gU2lnbmVk LW9mZi1ieTogVGFydW4gVnlhcyA8dGFydW4udnlhc0BpbnRlbC5jb20+Cj4gPiA+IC0tLQo+ID4g PiAgdG9vbHMvZHBjZF9yZWcuYyB8IDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgOTEgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvZHBj ZF9yZWcuYyBiL3Rvb2xzL2RwY2RfcmVnLmMKPiA+ID4gaW5kZXggMjc2MTE2OGQuLjUxY2VjODVm IDEwMDY0NAo+ID4gPiAtLS0gYS90b29scy9kcGNkX3JlZy5jCj4gPiA+ICsrKyBiL3Rvb2xzL2Rw Y2RfcmVnLmMKPiA+ID4gQEAgLTM1LDYgKzM1LDcgQEAKPiA+ID4gICNpbmNsdWRlIDx1bmlzdGQu aD4KPiA+ID4gICNpbmNsdWRlIDxsaW1pdHMuaD4KPiA+ID4gICNpbmNsdWRlIDxzdGRib29sLmg+ Cj4gPiA+ICsjaW5jbHVkZSA8ZGlyZW50Lmg+Cj4gPiA+ICAKPiA+ID4gICNkZWZpbmUgTUFYX0RQ X09GRlNFVAkweGZmZmZmCj4gPiA+ICAjZGVmaW5lIERSTV9BVVhfTUlOT1JTCTI1Ngo+ID4gPiBA QCAtMTA5LDYgKzExMCwzNSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc3RydG9sX2Vycl91dGlsKGNo YXIgKmVuZHB0ciwgbG9uZyAqdmFsKQo+ID4gPiAgCXJldHVybiBmYWxzZTsKPiA+ID4gIH0KPiA+ ID4gIAo+ID4gPiArc3RhdGljIHZvaWQgY29ubmVjdG9yX25hbWUoY2hhciAqZl9uYW1lLCBjaGFy ICpkcGNkX25hbWUpCj4gPiA+ICt7Cj4gPiA+ICsJY2hhciBzeXNmc19wYXRoW1BBVEhfTUFYXTsK PiA+ID4gKwlpbnQgc3lzZnNfZmQsIHJldDsKPiA+ID4gKwo+ID4gPiArCXNucHJpbnRmKHN5c2Zz X3BhdGgsIFBBVEhfTUFYLAo+ID4gPiArCQkgIi9zeXMvY2xhc3MvZHJtX2RwX2F1eF9kZXYvJXMv bmFtZSIsCj4gPiA+ICsJCSBmX25hbWUpOwo+ID4gPiArCXN5c2ZzX2ZkID0gb3BlbihzeXNmc19w YXRoLCBPX1JET05MWSk7Cj4gPiA+ICsJaWYgKHN5c2ZzX2ZkIDwgMCkgewo+ID4gPiArCQlmcHJp bnRmKHN0ZGVyciwKPiA+ID4gKwkJCSJmYWlsIHRvIG9wZW4gJXNcbiIsIHN5c2ZzX3BhdGgpOwo+ ID4gPiArCQlyZXR1cm47Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJcmV0ID0gcmVhZChzeXNm c19mZCwgZHBjZF9uYW1lLCBzaXplb2YoZHBjZF9uYW1lKSAtIDEpOwo+ID4gCj4gPiBTZXJpb3Vz IGJ1ZyAjMS4gVGhlIHNpemVvZiBkb2Vzbid0IGRvIHdoYXQgeW91IGludGVuZC4KPiA+Cj4gWWVz LCB0aGF0IHdhcyBzdHVwaWQuIFRoZSBvcmlnaW5hbCBwYXRjaCB3YXMgZG9pbmcgaXQgcmlnaHQg d2hlcmUgdGhlIGFycmF5IHdhcyBkZWNsYXJlZC4gSSBtZXNzZWQgaXQgdXAgd2hpbGUgY3JlYXRp bmcgYSBuZXcgZnVuY3Rpb24gb3V0IG9mIGl0Lgo+ID4gUmVndWxhciBDIGJ1Zy4gcmVhZCgpIG1h eSByZXR1cm4gYSBwb3NpdGl2ZSByZXN1bHQgc21hbGxlciB0aGFuCj4gPiByZXF1ZXN0ZWQuIFNl ZSByZWFkTigpIGluIGlndF9zeXNmcy5jLgo+ID4gCj4gPiAKPiBZZXMsIGJ1dCwgaWYgdGhlIHJl YWQgd2FzIHBhcnRpYWwgKG9yIHplcm8pICwgdGhlbiB3ZSB3b3VsZCBzdGlsbCBsaWtlIHRvIHRy ZWF0IGl0IGFzIGEgZmFpbHVyZSwgaW4gdGhpcyBzcGVjaWZpYyBjYXNlLCByaWdodCA/Cj4gPiA+ ICsJaWYgKHJldCA8IDApIHsKPiA+ID4gKwkJZnByaW50ZihzdGRlcnIsCj4gPiA+ICsJCQkiZmFp bCB0byByZWFkIGRwY2QgbmFtZSBmcm9tICVzXG5cbiIsIHN5c2ZzX3BhdGgpOwo+ID4gCj4gPiBU d28gbmV3bGluZXMgaXMgdW5uZWNlc3NhcnkuCj4gPiAKPiBPay4KPiA+ID4gKwkJZ290byBjbGVh bnVwOwo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCWRwY2RfbmFtZVtyZXRdID0gJ1wwJzsKPiA+ ID4gKwlwcmludGYoIiVzXG4iLCBkcGNkX25hbWUpOwo+ID4gCj4gPiBXaHkgZG9lcyB0aGlzIGZ1 bmN0aW9uIGJvdGggcmV0cmlldmUgdGhlIG5hbWUgdG8gdGhlIGNhbGxlciBhbmQgcHJpbnQKPiA+ IGl0PyBUaG9zZSBhcmUgdHdvIHRoaW5ncyB0aGF0IHNob3VsZCBzdGF5IG9ydGhvZ29uYWwuCj4g PiAKPiBJIGtlcHQgdGhlbSBzZXBhcmF0ZSBvcmlnaW5hbGx5Li4ud2lsbCB3b3JrIG9uIGl0IGlu IHRoZSBuZXh0IHZlcnNpb24uCj4gPiA+ICsKPiA+ID4gK2NsZWFudXA6Cj4gPiA+ICsJY2xvc2Uo c3lzZnNfZmQpOwo+ID4gPiArfQo+ID4gPiArCj4gPiA+ICBzdGF0aWMgaW50IHBhcnNlX29wdHMo c3RydWN0IGRwY2RfZGF0YSAqZHBjZCwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+ID4gPiAgewo+ ID4gPiAgCWludCByZXQsIHZmbGFnID0gMDsKPiA+ID4gQEAgLTI4MCwxMyArMzEwLDYxIEBAIHN0 YXRpYyBpbnQgZHBjZF9kdW1wKGludCBmZCkKPiA+ID4gIAlyZXR1cm4gcmV0Owo+ID4gPiAgfQo+ ID4gPiAgCj4gPiA+ICtzdGF0aWMgaW50IGRwY2RfZHVtcF9hbGwodm9pZCkKPiA+ID4gK3sKPiA+ ID4gKwlzdHJ1Y3QgZGlyZW50ICpkaXJlbnQ7Cj4gPiA+ICsJRElSICpkaXI7Cj4gPiA+ICsJY2hh ciBkZXZfcGF0aFtQQVRIX01BWF07Cj4gPiA+ICsJaW50IGRldl9mZCwgcmV0ID0gMDsKPiA+ID4g KwljaGFyIGRwY2RfbmFtZVs4XTsKPiA+ID4gKwljaGFyIGRpc2NhcmQ7Cj4gPiA+ICsKPiA+ID4g KwlkaXIgPSBvcGVuZGlyKCIvc3lzL2NsYXNzL2RybV9kcF9hdXhfZGV2LyIpOwo+ID4gPiArCWlm ICghZGlyKSB7Cj4gPiA+ICsJCWZwcmludGYoc3RkZXJyLCAiZmFpbCB0byByZWFkIC9kZXZcbiIp Owo+ID4gPiArCQlyZXR1cm4gRU5PRU5UOwo+ID4gPiArCX0KPiA+ID4gKwo+ID4gPiArCXdoaWxl ICgoZGlyZW50ID0gcmVhZGRpcihkaXIpKSkgewo+ID4gPiArCQlpZiAoc3RybmNtcChkaXJlbnQt PmRfbmFtZSwgImRybV9kcF9hdXgiLCAxMCkgPT0gMCkgewo+ID4gPiArCQkJc25wcmludGYoZGV2 X3BhdGgsIFBBVEhfTUFYLAo+ID4gPiArCQkJCSIvZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOwo+ ID4gPiArCj4gPiA+ICsJCQlkZXZfZmQgPSBvcGVuKGRldl9wYXRoLCBPX1JET05MWSk7Cj4gPiA+ ICsJCQlpZiAoZGV2X2ZkIDwgMCkgewo+ID4gPiArCQkJCWZwcmludGYoc3RkZXJyLAo+ID4gPiAr CQkJCQkiZmFpbCB0byBvcGVuICVzXG4iLCBkZXZfcGF0aCk7Cj4gPiA+ICsJCQkJY29udGludWU7 Cj4gPiA+ICsJCQl9Cj4gPiA+ICsKPiA+ID4gKwkJCXByaW50ZigiXG5EdW1waW5nICIpOwo+ID4g PiArCQkJY29ubmVjdG9yX25hbWUoZGlyZW50LT5kX25hbWUsIGRwY2RfbmFtZSk7Cj4gPiAKPiA+ IEFuZCB3aGF0IGlmIGNvbm5lY3Rvcl9uYW1lKCkgZmFpbHM/Cj4gPiAKPiBJIGhhZCBjb25uZWN0 b3JfbmFtZSgpIHJldHVybiBhbiBpbnQgYnV0IHRoZW4gY2hhbmdlZCBpdCB0byB2b2lkIGIvYyBJ IHdhcyBsaWtlLAo+IEknZCBzdGlsbCB3YW50IHRvIGR1bXAgdGhlIHJlZ2lzdGVycyByZWdhcmRs ZXNzIG9mIGNvbm5lY3Rvcl9uYW1lLgo+IERvIHdlIHdhbm5hIHNraXAgaXQgYWxsIGlmIHdlIGNh bnQgZ2V0IHRoZSBjb25uZWN0b3JfbmFtZSA/Cj4gPiA+ICsKPiA+ID4gKwkJCS8qIER1bW15IHJl YWQgdG8gY2hlY2sgaWYgZHBjZCBpcyBhdmFpbGFibGUgKi8KPiA+ID4gKwkJCXJldCA9IHJlYWQo ZGV2X2ZkLCAmZGlzY2FyZCwgMSk7Cj4gPiAKPiA+IFNlcmlvdXMgYnVnICMyLiBUaGlzIHJlYWQg Ym90Y2hlcyB1cCB0aGUgd2hvbGUgZHVtcC4KPiA+IAo+IEhtbS4gd2Ugc2hvdWxkIHNraXAgdGhl IGR1bXAgb25seSBpZiB0aGUgcmVhZCByZXR1cm4gYSAtdmUuLi4KPiA+ID4gKwkJCWlmIChyZXQg IT0gMSkgewo+ID4gPiArCQkJCXByaW50ZigiRFBDRCAlcyBzZWVtcyBub3QgYXZhaWxhYmxlLiBz a2lwcGluZy4uLlxuIiwKPiA+ID4gKwkJCQkJZHBjZF9uYW1lKTsKPiA+ID4gKwkJCQljb250aW51 ZTsKPiA+ID4gKwkJCX0KPiA+ID4gKwo+ID4gPiArCQkJZHBjZF9kdW1wKGRldl9mZCk7Cj4gPiA+ ICsJCQljbG9zZShkZXZfZmQpOwo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJ Y2xvc2VkaXIoZGlyKTsKPiA+ID4gKwo+ID4gPiArCXJldHVybiBFWElUX1NVQ0NFU1M7Cj4gPiA+ ICt9Cj4gPiA+ICBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCj4gPiA+ICB7Cj4gPiA+ ICAJY2hhciBkZXZfbmFtZVsyMF07Cj4gPiA+ICsJY2hhciBzeXNfbmFtZVsxNl0sIGRwY2RfbmFt ZVs4XTsKPiA+ID4gIAlpbnQgcmV0LCBmZDsKPiA+ID4gIAo+ID4gPiAgCXN0cnVjdCBkcGNkX2Rh dGEgZHBjZCA9IHsKPiA+ID4gLQkJLmRldmlkID0gMCwKPiA+ID4gKwkJLmRldmlkID0gLTEsCj4g PiA+ICAJCS5maWxlX29wID0gT19SRE9OTFksCj4gPiA+ICAJCS5ydy5vZmZzZXQgPSAweDAsCj4g PiA+ICAJCS5ydy5jb3VudCA9IDEsCj4gPiA+IEBAIC0yOTcsNyArMzc1LDE2IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKPiA+ID4gIAlpZiAocmV0ICE9IEVYSVRfU1VDQ0VTUykK PiA+ID4gIAkJcmV0dXJuIHJldDsKPiA+ID4gIAo+ID4gPiArCWlmIChkcGNkLmRldmlkIDwgMCkg ewo+ID4gPiArCQlpZiAoZHBjZC5jbWQgPT0gRFVNUCkKPiA+ID4gKwkJCXJldHVybiBkcGNkX2R1 bXBfYWxsKCk7Cj4gPiA+ICsKPiA+ID4gKwkJZHBjZC5kZXZpZCA9IDA7Cj4gPiA+ICsJfQo+ID4g PiArCj4gPiA+ICAJc25wcmludGYoZGV2X25hbWUsIHN0cmxlbihhdXhfZGV2KSArIDQsICIlcyVk IiwgYXV4X2RldiwgZHBjZC5kZXZpZCk7Cj4gPiAKPiA+IFRoYXQncyBub3QgcGFydCBvZiB0aGlz IHBhdGNoLCBidXQgd2hhdCBvbiBlYXJ0aCBkb2VzIHN0cmxlbihhdXhfZGV2KQo+ID4gaGF2ZSB0 byBkbyB3aXRoIGhvdyBtdWNoIGZpdHMgaW50byBkZXZfbmFtZT8hPwo+ID4gCj4gWWVzLiBXaWxs IGZpeCBpdC4KPiA+ID4gKwlzbnByaW50ZihzeXNfbmFtZSwgMTYsICJkcm1fZHBfYXV4JWQiLCBk cGNkLmRldmlkKTsKPiA+IAo+ID4gc2l6ZW9mLgo+ID4KPiBSaWdodCAKPiA+ID4gKwo+ID4gCj4g PiBTdXBlcmZsdW91cyBuZXdsaW5lLgo+ID4gCj4gT2sKPiA+ID4gIAo+ID4gPiAgCWZkID0gb3Bl bihkZXZfbmFtZSwgZHBjZC5maWxlX29wKTsKPiA+ID4gIAlpZiAoZmQgPCAwKSB7Cj4gPiA+IEBA IC0zMDcsNiArMzk0LDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQo+ID4gPiAg CQlyZXR1cm4gZXJybm87Cj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+ICsJcHJpbnRmKCJcbiIpOwo+ ID4gPiArCWNvbm5lY3Rvcl9uYW1lKHN5c19uYW1lLCBkcGNkX25hbWUpOwo+ID4gPiArCj4gPiAK PiA+IFdoeSBpcyB0aGUgb3V0cHV0IGRpZmZlcmVudCBmb3Igb25lIHZzLiBhbGwgZGV2aWNlcyBk dW1waW5nPyBEdW1waW5nIG9uZQo+ID4gc3BlY2lmaWVkIGRldmljZSBzaG91bGQgbG9vayBleGFj dGx5IHRoZSBzYW1lIGFzIGR1bXBpbmcgYWxsIGRldmljZXMKPiA+IHdoZW4gdGhlcmUncyBqdXN0 IG9uZSBhdmFpbGFibGUgZGV2aWNlLiBNYXliZSB0aGlzIHNob3VsZG4ndCBiZQo+ID4gZHVwbGlj YXRlZC4gTWF5YmUgdGhlIGR1bXAgcGF0aCBzaG91bGRuJ3QgYmUgaW4gKmFueSogd2F5IGRpZmZl cmVudCBmb3IKPiA+IG11bHRpcGxlIHZzIG9uZSBkZXZpY2UuIE1heWJlIHlvdSBjb3VsZCB3cml0 ZSBhIGR1bXAgd3JhcHBlciB0aGF0IHRha2VzCj4gPiB0aGUgYXV4IGRldiBuYW1lIHBhdHRlcm4g YXMgaW5wdXQsIGFuZCBpbiB0aGUgc3BlY2lmaWVkIGNhc2UgaXQgc2hvdWxkCj4gPiBvbmx5IG1h dGNoIG9uZS4gV291bGQgbWFrZSB0aGUgd2hvbGUgdGhpbmcgbXVjaCBuZWF0ZXIuCmM+ID4gCj4g PiBCUiwKPiA+IEphbmkuCj4gPgpBbm90aGVyIHRoaW5nIGlzIHRoYXQgZHBjZF9kdW1wX2FsbCgp IGl0ZXJhdGVzIG92ZXIgYWxsIG9mIHRoZSBhdmFpbGFibGUgZGV2aWNlcywKd2hlcmVhcyBmb3Ig YSBzaW5nbGUgZGV2aWNlIGR1bXAsIHdlIHNwZWNpZnkgdGhlIGRldmljZSBpZCBpdHNlbGYuCgpI ZXJlIGlzIHRoZSBkaWZmIGZvciB1bmlmaWNhdGlvbiBvZiB0aGUgZHVtcCBwYXRoOgoKZGlmZiAt LWdpdCBhL3Rvb2xzL2RwY2RfcmVnLmMgYi90b29scy9kcGNkX3JlZy5jCmluZGV4IDUxY2VjODVm Li5mYTdmMDc3YSAxMDA2NDQKLS0tIGEvdG9vbHMvZHBjZF9yZWcuYworKysgYi90b29scy9kcGNk X3JlZy5jCkBAIC0xMTAsNyArMTEwLDcgQEAgc3RhdGljIGlubGluZSBib29sIHN0cnRvbF9lcnJf dXRpbChjaGFyICplbmRwdHIsIGxvbmcgKnZhbCkKICAgICAgICByZXR1cm4gZmFsc2U7CiB9Cgot c3RhdGljIHZvaWQgY29ubmVjdG9yX25hbWUoY2hhciAqZl9uYW1lLCBjaGFyICpkcGNkX25hbWUp CitzdGF0aWMgdm9pZCBjb25uZWN0b3JfbmFtZShjaGFyICpmX25hbWUsIGNoYXIgKmRwY2RfbmFt ZSwgc2l6ZV90IHNpemUpCiB7CiAgICAgICAgY2hhciBzeXNmc19wYXRoW1BBVEhfTUFYXTsKICAg ICAgICBpbnQgc3lzZnNfZmQsIHJldDsKQEAgLTEyNSwxNSArMTI1LDE0IEBAIHN0YXRpYyB2b2lk IGNvbm5lY3Rvcl9uYW1lKGNoYXIgKmZfbmFtZSwgY2hhciAqZHBjZF9uYW1lKQogICAgICAgICAg ICAgICAgcmV0dXJuOwogICAgICAgIH0KCi0gICAgICAgcmV0ID0gcmVhZChzeXNmc19mZCwgZHBj ZF9uYW1lLCBzaXplb2YoZHBjZF9uYW1lKSAtIDEpOworICAgICAgIHJldCA9IHJlYWQoc3lzZnNf ZmQsIGRwY2RfbmFtZSwgc2l6ZSAtIDEpOwogICAgICAgIGlmIChyZXQgPCAwKSB7CiAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwKICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwgdG8g cmVhZCBkcGNkIG5hbWUgZnJvbSAlc1xuXG4iLCBzeXNmc19wYXRoKTsKICAgICAgICAgICAgICAg IGdvdG8gY2xlYW51cDsKICAgICAgICB9CgotICAgICAgIGRwY2RfbmFtZVtyZXRdID0gJ1wwJzsK LSAgICAgICBwcmludGYoIiVzXG4iLCBkcGNkX25hbWUpOworICAgICAgIGRwY2RfbmFtZVtzaXpl IC0gMV0gPSAnXDAnOwoKIGNsZWFudXA6CiAgICAgICAgY2xvc2Uoc3lzZnNfZmQpOwpAQCAtMzEw LDE1ICszMDksMjEgQEAgc3RhdGljIGludCBkcGNkX2R1bXAoaW50IGZkKQogICAgICAgIHJldHVy biByZXQ7CiB9Cgotc3RhdGljIGludCBkcGNkX2R1bXBfYWxsKHZvaWQpCitzdGF0aWMgaW50IGRw Y2RfZHVtcF9hbGwoaW50IGRldmlkKQogewogICAgICAgIHN0cnVjdCBkaXJlbnQgKmRpcmVudDsK ICAgICAgICBESVIgKmRpcjsKICAgICAgICBjaGFyIGRldl9wYXRoW1BBVEhfTUFYXTsKICAgICAg ICBpbnQgZGV2X2ZkLCByZXQgPSAwOwogICAgICAgIGNoYXIgZHBjZF9uYW1lWzhdOworICAgICAg IGNoYXIgZGV2X3BhdHRlcm5bMTZdOwogICAgICAgIGNoYXIgZGlzY2FyZDsKCisgICAgICAgaWYg KGRldmlkIDwgMCkKKyAgICAgICAgICAgICAgIHN0cmNweShkZXZfcGF0dGVybiwgImRybV9kcF9h dXgiKTsKKyAgICAgICBlbHNlCisgICAgICAgICAgICAgICBzbnByaW50ZihkZXZfcGF0dGVybiwg c2l6ZW9mKGRldl9wYXR0ZXJuKSwgImRybV9kcF9hdXglZCIsIGRldmlkKTsKKwogICAgICAgIGRp ciA9IG9wZW5kaXIoIi9zeXMvY2xhc3MvZHJtX2RwX2F1eF9kZXYvIik7CiAgICAgICAgaWYgKCFk aXIpIHsKICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbCB0byByZWFkIC9kZXZc biIpOwpAQCAtMzI2LDcgKzMzMSw3IEBAIHN0YXRpYyBpbnQgZHBjZF9kdW1wX2FsbCh2b2lkKQog ICAgICAgIH0KCiAgICAgICAgd2hpbGUgKChkaXJlbnQgPSByZWFkZGlyKGRpcikpKSB7Ci0gICAg ICAgICAgICAgICBpZiAoc3RybmNtcChkaXJlbnQtPmRfbmFtZSwgImRybV9kcF9hdXgiLCAxMCkg PT0gMCkgeworICAgICAgICAgICAgICAgaWYgKHN0cm5jbXAoZGlyZW50LT5kX25hbWUsIGRldl9w YXR0ZXJuLCBzdHJsZW4oZGV2X3BhdHRlcm4pKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAg ICAgIHNucHJpbnRmKGRldl9wYXRoLCBQQVRIX01BWCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiL2Rldi8lcyIsIGRpcmVudC0+ZF9uYW1lKTsKCkBAIC0zMzcsMTcgKzM0MiwxOCBA QCBzdGF0aWMgaW50IGRwY2RfZHVtcF9hbGwodm9pZCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKLSAgICAgICAgICAg ICAgICAgICAgICAgcHJpbnRmKCJcbkR1bXBpbmcgIik7Ci0gICAgICAgICAgICAgICAgICAgICAg IGNvbm5lY3Rvcl9uYW1lKGRpcmVudC0+ZF9uYW1lLCBkcGNkX25hbWUpOworICAgICAgICAgICAg ICAgICAgICAgICBjb25uZWN0b3JfbmFtZShkaXJlbnQtPmRfbmFtZSwgZHBjZF9uYW1lLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoZHBjZF9uYW1lKSk7Cgog ICAgICAgICAgICAgICAgICAgICAgICAvKiBEdW1teSByZWFkIHRvIGNoZWNrIGlmIGRwY2QgaXMg YXZhaWxhYmxlICovCiAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJlYWQoZGV2X2ZkLCAm ZGlzY2FyZCwgMSk7Ci0gICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMSkgeworICAg ICAgICAgICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHByaW50ZigiRFBDRCAlcyBzZWVtcyBub3QgYXZhaWxhYmxlLiBza2lwcGluZy4u LlxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRwY2RfbmFtZSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCisgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiXG5EdW1waW5nICVz XG4iLCBkcGNkX25hbWUpOwogICAgICAgICAgICAgICAgICAgICAgICBkcGNkX2R1bXAoZGV2X2Zk KTsKICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoZGV2X2ZkKTsKICAgICAgICAgICAgICAg IH0KQEAgLTM3NSwxNSArMzgxLDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK ICAgICAgICBpZiAocmV0ICE9IEVYSVRfU1VDQ0VTUykKICAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7CgotICAgICAgIGlmIChkcGNkLmRldmlkIDwgMCkgewotICAgICAgICAgICAgICAgaWYgKGRw Y2QuY21kID09IERVTVApCi0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkcGNkX2R1bXBf YWxsKCk7Ci0KKyAgICAgICBpZiAoZHBjZC5jbWQgPT0gRFVNUCkKKyAgICAgICAgICAgICAgIHJl dHVybiBkcGNkX2R1bXBfYWxsKGRwY2QuZGV2aWQpOworICAgICAgIGVsc2UgaWYgKGRwY2QuZGV2 aWQgPCAwKQogICAgICAgICAgICAgICAgZHBjZC5kZXZpZCA9IDA7Ci0gICAgICAgfQoKLSAgICAg ICBzbnByaW50ZihkZXZfbmFtZSwgc3RybGVuKGF1eF9kZXYpICsgNCwgIiVzJWQiLCBhdXhfZGV2 LCBkcGNkLmRldmlkKTsKLSAgICAgICBzbnByaW50ZihzeXNfbmFtZSwgMTYsICJkcm1fZHBfYXV4 JWQiLCBkcGNkLmRldmlkKTsKKworICAgICAgIHNucHJpbnRmKGRldl9uYW1lLCBzaXplb2YoZGV2 X25hbWUpLCAiJXMlZCIsIGF1eF9kZXYsIGRwY2QuZGV2aWQpOworICAgICAgIHNucHJpbnRmKHN5 c19uYW1lLCBzaXplb2Yoc3lzX25hbWUpLCAiZHJtX2RwX2F1eCVkIiwgZHBjZC5kZXZpZCk7CgoK ICAgICAgICBmZCA9IG9wZW4oZGV2X25hbWUsIGRwY2QuZmlsZV9vcCk7CkBAIC0zOTQsOCArMzk5 LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgcmV0 dXJuIGVycm5vOwogICAgICAgIH0KCi0gICAgICAgcHJpbnRmKCJcbiIpOwotICAgICAgIGNvbm5l Y3Rvcl9uYW1lKHN5c19uYW1lLCBkcGNkX25hbWUpOworICAgICAgIGNvbm5lY3Rvcl9uYW1lKHN5 c19uYW1lLCBkcGNkX25hbWUsIHNpemVvZihkcGNkX25hbWUpKTsKKyAgICAgICBwcmludGYoIlxu JXNcbiIsIGRwY2RfbmFtZSk7CgogICAgICAgIHN3aXRjaCAoZHBjZC5jbWQpIHsKICAgICAgICBj YXNlIFJFQUQ6CkBAIC00MDQsOSArNDA5LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogICAgICAgIGNhc2UgV1JJVEU6CiAgICAgICAgICAgICAgICByZXQgPSBkcGNkX3dyaXRl KGZkLCBkcGNkLnJ3Lm9mZnNldCwgZHBjZC52YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgY2FzZSBEVU1QOgogICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICByZXQgPSBk cGNkX2R1bXAoZmQpOworICAgICAgICAgICAgICAgLyogTm8tb3AgdG8gbWFrZSB0aGUgY29tcGls ZXIgaGFwcHkgKi8KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCgpUaGFua3MsClRh cnVuCj4gTXkgdGhvdWdodCB3YXMgdGhhdCBhdCB0aGlzIHBvaW50LCBpdCB3b250IGJlIGEgZHVt cCBhbnltb3JlLgo+IEkgbWVhbnQgdGhpcyBzcGVjaWZpY2FsbHkgZm9yIHJlYWRzL3dyaXRlcyBv ZiBieXRlKHMpLCB0byBhIHNwZWNpZmljIGRldmljZS4KPiBUaGF0J3Mgd2h5IEkgY2hhbmdlZCB0 aGUgY29ubmVjdG9yX25hbWUoKSB0byBpbmNsdWRlIHByaW50aW5nIHRoZSBkcGNkX25hbWUgCj4g KGJ1dCB0aGF0J3MganVzdCBub3QgcmlnaHQpLiBCdXQsIHllYSwgdGhlIGlkZWEgd2FzIHRvIG1h a2UgdGhpcyBsb29rIGRpZmZlcmVudAo+IHRoYW4gYSByZWd1bGFyIGR1bXAgb2YgYWxsIHJlZ2lz dGVycywgYi9jIGhlcmUgd2UganVzdCB3YW50IHRvIHByaW50IHRoZSBjb25uZWN0b3IKPiBuYW1l IGZvciB0aGUgZGV2aWNlIHdlIGFyZSBsb29raW5nIGF0Lgo+IAo+IFRoYW5rcyBmb3IgdGhlIHJl dmlldyBKYW5pLgo+IAo+IC0gVGFydW4KPiA+ID4gIAlzd2l0Y2ggKGRwY2QuY21kKSB7Cj4gPiA+ ICAJY2FzZSBSRUFEOgo+ID4gPiAgCQlyZXQgPSBkcGNkX3JlYWQoZmQsIGRwY2Qucncub2Zmc2V0 LCBkcGNkLnJ3LmNvdW50KTsKPiA+IAo+ID4gLS0gCj4gPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3Bl biBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldgo=