From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [for-4.8 2/2] xen/arm: Provide device tree debugging helper in a single place Date: Tue, 24 May 2016 09:40:06 -0400 Message-ID: <20160524134006.GD29391@char.us.oracle.com> References: <1464085241-12929-1-git-send-email-julien.grall@arm.com> <1464085241-12929-3-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1464085241-12929-3-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: sstabellini@kernel.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBNYXkgMjQsIDIwMTYgYXQgMTE6MjA6NDFBTSArMDEwMCwgSnVsaWVuIEdyYWxsIHdy b3RlOgo+IFByb3ZpZGUgaGVscGVyIHRvIGRlYnVnIHRoZSBkZXZpY2UgdHJlZSBpbiBkZXZpY2Vf dHJlZS5oLiBUaGlzIHdpbGwKPiBhdm9pZCB0byBoYXZlIHRvIHJlZGVjbGFyZSBoZWxwZXIgZm9y IGVhY2ggZmlsZSByZXF1aXJpbmcgZGVidWcuCj4gCj4gQWxzbyByZXBsYWNlIERQUklOVCBieSB0 aGUgbmV3IGhlbHBlciBkdF9kcHJpbnRrIGluIGRvbWFpbl9idWlsZC5jCgpSZXZpZXdlZC1ieTog S29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgo+IAo+IFNpZ25l ZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4gLS0tCj4gIHhl bi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyAgIHwgNzEgKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+ICB4ZW4vY29tbW9uL2RldmljZV90cmVlLmMgICAgICB8ICAy IC0tCj4gIHhlbi9pbmNsdWRlL3hlbi9kZXZpY2VfdHJlZS5oIHwgIDkgKysrKysrCj4gIDMgZmls ZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5f YnVpbGQuYwo+IGluZGV4IGZiMDM1ZmYuLjcxZWFkOGIgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gv YXJtL2RvbWFpbl9idWlsZC5jCj4gKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4g QEAgLTQyLDEyICs0Miw2IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9kb20wX21lbShjb25z dCBjaGFyICpzKQo+ICB9Cj4gIGN1c3RvbV9wYXJhbSgiZG9tMF9tZW0iLCBwYXJzZV9kb20wX21l bSk7Cj4gIAo+IC0jaWZkZWYgQ09ORklHX0RFVklDRV9UUkVFX0RFQlVHCj4gLSMgZGVmaW5lIERQ UklOVChmbXQsIGFyZ3MuLi4pIHByaW50ayhYRU5MT0dfREVCVUcgZm10LCAjI2FyZ3MpCj4gLSNl bHNlCj4gLSMgZGVmaW5lIERQUklOVChmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICggMCApCj4g LSNlbmRpZgo+IC0KPiAgLy8jZGVmaW5lIERFQlVHXzExX0FMTE9DQVRJT04KPiAgI2lmZGVmIERF QlVHXzExX0FMTE9DQVRJT04KPiAgIyBkZWZpbmUgRDExUFJJTlQoZm10LCBhcmdzLi4uKSBwcmlu dGsoWEVOTE9HX0RFQlVHIGZtdCwgIyNhcmdzKQo+IEBAIC0zNjQsNyArMzU4LDcgQEAgc3RhdGlj IHZvaWQgYWxsb2NhdGVfbWVtb3J5KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5m byAqa2luZm8pCj4gICAgICB7Cj4gICAgICAgICAgaW50IGw7Cj4gIAo+IC0gICAgICAgIERQUklO VCgibWVtb3J5IG5vZGVcbiIpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIm1lbW9yeSBub2RlXG4i KTsKPiAgCj4gICAgICAgICAgcmVnX3NpemUgPSBkdF9jZWxsc190b19zaXplKGR0X25fYWRkcl9j ZWxscyhtZW1vcnkpICsgZHRfbl9zaXplX2NlbGxzKG1lbW9yeSkpOwo+ICAKPiBAQCAtNTcxLDcg KzU2NSw4IEBAIHN0YXRpYyBpbnQgbWFrZV9tZW1vcnlfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWlu ICpkLAo+ICAgICAgX19iZTMyIHJlZ1tucl9jZWxsc107Cj4gICAgICBfX2JlMzIgKmNlbGxzOwo+ ICAKPiAtICAgIERQUklOVCgiQ3JlYXRlIG1lbW9yeSBub2RlIChyZWcgc2l6ZSAlZCwgbnIgY2Vs bHMgJWQpXG4iLCByZWdfc2l6ZSwgbnJfY2VsbHMpOwo+ICsgICAgZHRfZHByaW50aygiQ3JlYXRl IG1lbW9yeSBub2RlIChyZWcgc2l6ZSAlZCwgbnIgY2VsbHMgJWQpXG4iLAo+ICsgICAgICAgICAg ICAgICByZWdfc2l6ZSwgbnJfY2VsbHMpOwo+ICAKPiAgICAgIC8qIGVQQVBSIDMuNCAqLwo+ICAg ICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAibWVtb3J5Iik7Cj4gQEAgLTU4OCw4ICs1ODMs OCBAQCBzdGF0aWMgaW50IG1ha2VfbWVtb3J5X25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwK PiAgICAgICAgICB1NjQgc3RhcnQgPSBraW5mby0+bWVtLmJhbmtbaV0uc3RhcnQ7Cj4gICAgICAg ICAgdTY0IHNpemUgPSBraW5mby0+bWVtLmJhbmtbaV0uc2l6ZTsKPiAgCj4gLSAgICAgICAgRFBS SU5UKCIgIEJhbmsgJWQ6ICUjIlBSSXg2NCItPiUjIlBSSXg2NCJcbiIsCj4gLSAgICAgICAgICAg ICAgICBpLCBzdGFydCwgc3RhcnQgKyBzaXplKTsKPiArICAgICAgICBkdF9kcHJpbnRrKCIgIEJh bmsgJWQ6ICUjIlBSSXg2NCItPiUjIlBSSXg2NCJcbiIsCj4gKyAgICAgICAgICAgICAgICAgICBp LCBzdGFydCwgc3RhcnQgKyBzaXplKTsKPiAgCj4gICAgICAgICAgZHRfY2hpbGRfc2V0X3Jhbmdl KCZjZWxscywgcGFyZW50LCBzdGFydCwgc2l6ZSk7Cj4gICAgICB9Cj4gQEAgLTYxOCw3ICs2MTMs NyBAQCBzdGF0aWMgaW50IG1ha2VfaHlwZXJ2aXNvcl9ub2RlKGNvbnN0IHN0cnVjdCBrZXJuZWxf aW5mbyAqa2luZm8sCj4gICAgICBpbnQgc2l6ZWNlbGxzID0gZHRfY2hpbGRfbl9zaXplX2NlbGxz KHBhcmVudCk7Cj4gICAgICB2b2lkICpmZHQgPSBraW5mby0+ZmR0Owo+ICAKPiAtICAgIERQUklO VCgiQ3JlYXRlIGh5cGVydmlzb3Igbm9kZVxuIik7Cj4gKyAgICBkdF9kcHJpbnRrKCJDcmVhdGUg aHlwZXJ2aXNvciBub2RlXG4iKTsKPiAgCj4gICAgICAvKgo+ICAgICAgICogU2FuaXR5LWNoZWNr IGFkZHJlc3Mgc2l6ZXMsIHNpbmNlIGFkZHJlc3NlcyBhbmQgc2l6ZXMgd2hpY2ggZG8KPiBAQCAt NjY3LDcgKzY2Miw3IEBAIHN0YXRpYyBpbnQgbWFrZV9wc2NpX25vZGUodm9pZCAqZmR0LCBjb25z dCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKnBhcmVudCkKPiAgICAgICAgICAiYXJtLHBzY2ktMC4y IiJcMCIKPiAgICAgICAgICAiYXJtLHBzY2kiOwo+ICAKPiAtICAgIERQUklOVCgiQ3JlYXRlIFBT Q0kgbm9kZVxuIik7Cj4gKyAgICBkdF9kcHJpbnRrKCJDcmVhdGUgUFNDSSBub2RlXG4iKTsKPiAg Cj4gICAgICAvKiBTZWUgbGludXggRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Fy bS9wc2NpLnR4dCAqLwo+ICAgICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAicHNjaSIpOwo+ IEBAIC03MTAsNyArNzA1LDcgQEAgc3RhdGljIGludCBtYWtlX2NwdXNfbm9kZShjb25zdCBzdHJ1 Y3QgZG9tYWluICpkLCB2b2lkICpmZHQsCj4gICAgICBib29sX3QgY2xvY2tfdmFsaWQ7Cj4gICAg ICB1aW50NjRfdCBtcGlkcl9hZmY7Cj4gIAo+IC0gICAgRFBSSU5UKCJDcmVhdGUgY3B1cyBub2Rl XG4iKTsKPiArICAgIGR0X2RwcmludGsoIkNyZWF0ZSBjcHVzIG5vZGVcbiIpOwo+ICAKPiAgICAg IGlmICggIWNwdXMgKQo+ICAgICAgewo+IEBAIC03NjUsNyArNzYwLDggQEAgc3RhdGljIGludCBt YWtlX2NwdXNfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpmZHQsCj4gICAgICAg ICAgICogaXMgZW5vdWdoIGZvciB0aGUgY3VycmVudCBtYXggdmNwdSBudW1iZXIuCj4gICAgICAg ICAgICovCj4gICAgICAgICAgbXBpZHJfYWZmID0gdmNwdWlkX3RvX3ZhZmZpbml0eShjcHUpOwo+ IC0gICAgICAgIERQUklOVCgiQ3JlYXRlIGNwdUAlIlBSSXg2NCIgKGxvZ2ljYWwgQ1BVSUQ6ICVk KSBub2RlXG4iLCBtcGlkcl9hZmYsIGNwdSk7Cj4gKyAgICAgICAgZHRfZHByaW50aygiQ3JlYXRl IGNwdUAlIlBSSXg2NCIgKGxvZ2ljYWwgQ1BVSUQ6ICVkKSBub2RlXG4iLAo+ICsgICAgICAgICAg ICAgICAgICAgbXBpZHJfYWZmLCBjcHUpOwo+ICAKPiAgICAgICAgICBzbnByaW50ZihidWYsIHNp emVvZihidWYpLCAiY3B1QCUiUFJJeDY0LCBtcGlkcl9hZmYpOwo+ICAgICAgICAgIHJlcyA9IGZk dF9iZWdpbl9ub2RlKGZkdCwgYnVmKTsKPiBAQCAtODIxLDExICs4MTcsMTEgQEAgc3RhdGljIGlu dCBtYWtlX2dpY19ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmZkdCwKPiAgICAg ICAqLwo+ICAgICAgaWYgKCBub2RlICE9IGR0X2ludGVycnVwdF9jb250cm9sbGVyICkKPiAgICAg IHsKPiAtICAgICAgICBEUFJJTlQoIiAgU2tpcHBpbmcgKHNlY29uZGFyeSBHSUMpXG4iKTsKPiAr ICAgICAgICBkdF9kcHJpbnRrKCIgIFNraXBwaW5nIChzZWNvbmRhcnkgR0lDKVxuIik7Cj4gICAg ICAgICAgcmV0dXJuIDA7Cj4gICAgICB9Cj4gIAo+IC0gICAgRFBSSU5UKCJDcmVhdGUgZ2ljIG5v ZGVcbiIpOwo+ICsgICAgZHRfZHByaW50aygiQ3JlYXRlIGdpYyBub2RlXG4iKTsKPiAgCj4gICAg ICByZXMgPSBmZHRfYmVnaW5fbm9kZShmZHQsICJpbnRlcnJ1cHQtY29udHJvbGxlciIpOwo+ICAg ICAgaWYgKCByZXMgKQo+IEBAIC04MzcsNyArODMzLDcgQEAgc3RhdGljIGludCBtYWtlX2dpY19u b2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHZvaWQgKmZkdCwKPiAgICAgICAqLwo+ICAgICAg aWYgKCBnaWMtPnBoYW5kbGUgKQo+ICAgICAgewo+IC0gICAgICAgIERQUklOVCgiICBTZXQgcGhh bmRsZSA9IDB4JXhcbiIsIGdpYy0+cGhhbmRsZSk7Cj4gKyAgICAgICAgZHRfZHByaW50aygiICBT ZXQgcGhhbmRsZSA9IDB4JXhcbiIsIGdpYy0+cGhhbmRsZSk7Cj4gICAgICAgICAgcmVzID0gZmR0 X3Byb3BlcnR5X2NlbGwoZmR0LCAicGhhbmRsZSIsIGdpYy0+cGhhbmRsZSk7Cj4gICAgICAgICAg aWYgKCByZXMgKQo+ICAgICAgICAgICAgICByZXR1cm4gcmVzOwo+IEBAIC04OTQsNyArODkwLDcg QEAgc3RhdGljIGludCBtYWtlX3RpbWVyX25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9p ZCAqZmR0LAo+ICAgICAgdTMyIGNsb2NrX2ZyZXF1ZW5jeTsKPiAgICAgIGJvb2xfdCBjbG9ja192 YWxpZDsKPiAgCj4gLSAgICBEUFJJTlQoIkNyZWF0ZSB0aW1lciBub2RlXG4iKTsKPiArICAgIGR0 X2RwcmludGsoIkNyZWF0ZSB0aW1lciBub2RlXG4iKTsKPiAgCj4gICAgICBkZXYgPSBkdF9maW5k X21hdGNoaW5nX25vZGUoTlVMTCwgdGltZXJfaWRzKTsKPiAgICAgIGlmICggIWRldiApCj4gQEAg LTkyMiwxNSArOTE4LDE1IEBAIHN0YXRpYyBpbnQgbWFrZV90aW1lcl9ub2RlKGNvbnN0IHN0cnVj dCBkb21haW4gKmQsIHZvaWQgKmZkdCwKPiAgICAgICAqIGxldmVsLXNlbnNpdGl2ZSBpbnRlcnJ1 cHQgKi8KPiAgCj4gICAgICBpcnEgPSB0aW1lcl9nZXRfaXJxKFRJTUVSX1BIWVNfU0VDVVJFX1BQ SSk7Cj4gLSAgICBEUFJJTlQoIiAgU2VjdXJlIGludGVycnVwdCAldVxuIiwgaXJxKTsKPiArICAg IGR0X2RwcmludGsoIiAgU2VjdXJlIGludGVycnVwdCAldVxuIiwgaXJxKTsKPiAgICAgIHNldF9p bnRlcnJ1cHRfcHBpKGludHJzWzBdLCBpcnEsIDB4ZiwgSVJRX1RZUEVfTEVWRUxfTE9XKTsKPiAg Cj4gICAgICBpcnEgPSB0aW1lcl9nZXRfaXJxKFRJTUVSX1BIWVNfTk9OU0VDVVJFX1BQSSk7Cj4g LSAgICBEUFJJTlQoIiAgTm9uIHNlY3VyZSBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Cj4gKyAgICBk dF9kcHJpbnRrKCIgIE5vbiBzZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwo+ICAgICAgc2V0 X2ludGVycnVwdF9wcGkoaW50cnNbMV0sIGlycSwgMHhmLCBJUlFfVFlQRV9MRVZFTF9MT1cpOwo+ ICAKPiAgICAgIGlycSA9IHRpbWVyX2dldF9pcnEoVElNRVJfVklSVF9QUEkpOwo+IC0gICAgRFBS SU5UKCIgIFZpcnQgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwo+ICsgICAgZHRfZHByaW50aygiICBW aXJ0IGludGVycnVwdCAldVxuIiwgaXJxKTsKPiAgICAgIHNldF9pbnRlcnJ1cHRfcHBpKGludHJz WzJdLCBpcnEsIDB4ZiwgSVJRX1RZUEVfTEVWRUxfTE9XKTsKPiAgCj4gICAgICByZXMgPSBmZHRf cHJvcGVydHlfaW50ZXJydXB0cyhmZHQsIGludHJzLCAzKTsKPiBAQCAtOTg0LDcgKzk4MCw3IEBA IHN0YXRpYyBpbnQgbWFwX2lycV90b19kb21haW4oY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2Rl ICpkZXYsCj4gICAgICAgICAgfQo+ICAgICAgfQo+ICAKPiAtICAgIERQUklOVCgiICAtIElSUTog JXVcbiIsIGlycSk7Cj4gKyAgICBkdF9kcHJpbnRrKCIgIC0gSVJROiAldVxuIiwgaXJxKTsKPiAg ICAgIHJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0xMDUzLDcgKzEwNDksNyBAQCBzdGF0aWMgaW50 IG1hcF9yYW5nZV90b19kb21haW4oY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYsCj4g ICAgICAgICAgfQo+ICAgICAgfQo+ICAKPiAtICAgIERQUklOVCgiICAtIE1NSU86ICUwMTAiUFJJ eDY0IiAtICUwMTAiUFJJeDY0IlxuIiwgYWRkciwgYWRkciArIGxlbik7Cj4gKyAgICBkdF9kcHJp bnRrKCIgIC0gTU1JTzogJTAxMCJQUkl4NjQiIC0gJTAxMCJQUkl4NjQiXG4iLCBhZGRyLCBhZGRy ICsgbGVuKTsKPiAgCj4gICAgICByZXR1cm4gMDsKPiAgfQo+IEBAIC0xMDcwLDcgKzEwNjYsOCBA QCBzdGF0aWMgaW50IG1hcF9kZXZpY2VfY2hpbGRyZW4oc3RydWN0IGRvbWFpbiAqZCwKPiAgCj4g ICAgICBpZiAoIGR0X2RldmljZV90eXBlX2lzX2VxdWFsKGRldiwgInBjaSIpICkKPiAgICAgIHsK PiAtICAgICAgICBEUFJJTlQoIk1hcHBpbmcgY2hpbGRyZW4gb2YgJXMgdG8gZ3Vlc3RcbiIsIGR0 X25vZGVfZnVsbF9uYW1lKGRldikpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIk1hcHBpbmcgY2hp bGRyZW4gb2YgJXMgdG8gZ3Vlc3RcbiIsCj4gKyAgICAgICAgICAgICAgICAgICBkdF9ub2RlX2Z1 bGxfbmFtZShkZXYpKTsKPiAgCj4gICAgICAgICAgcmV0ID0gZHRfZm9yX2VhY2hfaXJxX21hcChk ZXYsICZtYXBfZHRfaXJxX3RvX2RvbWFpbiwgZCk7Cj4gICAgICAgICAgaWYgKCByZXQgPCAwICkK PiBAQCAtMTEwNSwxMiArMTEwMiwxMiBAQCBzdGF0aWMgaW50IGhhbmRsZV9kZXZpY2Uoc3RydWN0 IGRvbWFpbiAqZCwgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYpCj4gICAgICBuaXJxID0gZHRf bnVtYmVyX29mX2lycShkZXYpOwo+ICAgICAgbmFkZHIgPSBkdF9udW1iZXJfb2ZfYWRkcmVzcyhk ZXYpOwo+ICAKPiAtICAgIERQUklOVCgiJXMgcGFzc3Rocm91Z2ggPSAlZCBuaXJxID0gJWQgbmFk ZHIgPSAldVxuIiwgZHRfbm9kZV9mdWxsX25hbWUoZGV2KSwKPiAtICAgICAgICAgICBuZWVkX21h cHBpbmcsIG5pcnEsIG5hZGRyKTsKPiArICAgIGR0X2RwcmludGsoIiVzIHBhc3N0aHJvdWdoID0g JWQgbmlycSA9ICVkIG5hZGRyID0gJXVcbiIsCj4gKyAgICAgICAgICAgICAgIGR0X25vZGVfZnVs bF9uYW1lKGRldiksIG5lZWRfbWFwcGluZywgbmlycSwgbmFkZHIpOwo+ICAKPiAgICAgIGlmICgg ZHRfZGV2aWNlX2lzX3Byb3RlY3RlZChkZXYpICYmIG5lZWRfbWFwcGluZyApCj4gICAgICB7Cj4g LSAgICAgICAgRFBSSU5UKCIlcyBzZXR1cCBpb21tdVxuIiwgZHRfbm9kZV9mdWxsX25hbWUoZGV2 KSk7Cj4gKyAgICAgICAgZHRfZHByaW50aygiJXMgc2V0dXAgaW9tbXVcbiIsIGR0X25vZGVfZnVs bF9uYW1lKGRldikpOwo+ICAgICAgICAgIHJlcyA9IGlvbW11X2Fzc2lnbl9kdF9kZXZpY2UoZCwg ZGV2KTsKPiAgICAgICAgICBpZiAoIHJlcyApCj4gICAgICAgICAgewo+IEBAIC0xMTM3LDggKzEx MzQsOCBAQCBzdGF0aWMgaW50IGhhbmRsZV9kZXZpY2Uoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IGR0X2RldmljZV9ub2RlICpkZXYpCj4gICAgICAgICAgICovCj4gICAgICAgICAgaWYgKCByaXJx LmNvbnRyb2xsZXIgIT0gZHRfaW50ZXJydXB0X2NvbnRyb2xsZXIgKQo+ICAgICAgICAgIHsKPiAt ICAgICAgICAgICAgRFBSSU5UKCJpcnEgJXUgbm90IGNvbm5lY3RlZCB0byBwcmltYXJ5IGNvbnRy b2xsZXIuIgo+IC0gICAgICAgICAgICAgICAgICAgIkNvbm5lY3RlZCB0byAlc1xuIiwgaSwgZHRf bm9kZV9mdWxsX25hbWUocmlycS5jb250cm9sbGVyKSk7Cj4gKyAgICAgICAgICAgIGR0X2Rwcmlu dGsoImlycSAldSBub3QgY29ubmVjdGVkIHRvIHByaW1hcnkgY29udHJvbGxlci4gQ29ubmVjdGVk IHRvICVzXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgaSwgZHRfbm9kZV9mdWxsX25hbWUo cmlycS5jb250cm9sbGVyKSk7Cj4gICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICAgICAgICAgIH0K PiAgCj4gQEAgLTEyMTcsMTcgKzEyMTQsMTcgQEAgc3RhdGljIGludCBoYW5kbGVfbm9kZShzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAo+ICAKPiAgICAgIHBhdGgg PSBkdF9ub2RlX2Z1bGxfbmFtZShub2RlKTsKPiAgCj4gLSAgICBEUFJJTlQoImhhbmRsZSAlc1xu IiwgcGF0aCk7Cj4gKyAgICBkdF9kcHJpbnRrKCJoYW5kbGUgJXNcbiIsIHBhdGgpOwo+ICAKPiAg ICAgIC8qIFNraXAgdGhlc2VzIG5vZGVzIGFuZCB0aGUgc3ViLW5vZGVzICovCj4gICAgICBpZiAo IGR0X21hdGNoX25vZGUoc2tpcF9tYXRjaGVzLCBub2RlKSApCj4gICAgICB7Cj4gLSAgICAgICAg RFBSSU5UKCIgIFNraXAgaXQgKG1hdGNoZWQpXG4iKTsKPiArICAgICAgICBkdF9kcHJpbnRrKCIg IFNraXAgaXQgKG1hdGNoZWQpXG4iKTsKPiAgICAgICAgICByZXR1cm4gMDsKPiAgICAgIH0KPiAg ICAgIGlmICggcGxhdGZvcm1fZGV2aWNlX2lzX2JsYWNrbGlzdGVkKG5vZGUpICkKPiAgICAgIHsK PiAtICAgICAgICBEUFJJTlQoIiAgU2tpcCBpdCAoYmxhY2tsaXN0ZWQpXG4iKTsKPiArICAgICAg ICBkdF9kcHJpbnRrKCIgIFNraXAgaXQgKGJsYWNrbGlzdGVkKVxuIik7Cj4gICAgICAgICAgcmV0 dXJuIDA7Cj4gICAgICB9Cj4gIAo+IEBAIC0xMjQzLDcgKzEyNDAsNyBAQCBzdGF0aWMgaW50IGhh bmRsZV9ub2RlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sCj4g ICAgICAvKiBTa2lwIG5vZGVzIHVzZWQgYnkgWGVuICovCj4gICAgICBpZiAoIGR0X2RldmljZV91 c2VkX2J5KG5vZGUpID09IERPTUlEX1hFTiApCj4gICAgICB7Cj4gLSAgICAgICAgRFBSSU5UKCIg IFNraXAgaXQgKHVzZWQgYnkgWGVuKVxuIik7Cj4gKyAgICAgICAgZHRfZHByaW50aygiICBTa2lw IGl0ICh1c2VkIGJ5IFhlbilcbiIpOwo+ICAgICAgICAgIHJldHVybiAwOwo+ICAgICAgfQo+ICAK PiBAQCAtMTI1Myw3ICsxMjUwLDcgQEAgc3RhdGljIGludCBoYW5kbGVfbm9kZShzdHJ1Y3QgZG9t YWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAo+ICAgICAgICovCj4gICAgICBpZiAo IGRldmljZV9nZXRfY2xhc3Mobm9kZSkgPT0gREVWSUNFX0lPTU1VICkKPiAgICAgIHsKPiAtICAg ICAgICBEUFJJTlQoIiBJT01NVSwgc2tpcCBpdFxuIik7Cj4gKyAgICAgICAgZHRfZHByaW50aygi IElPTU1VLCBza2lwIGl0XG4iKTsKPiAgICAgICAgICByZXR1cm4gMDsKPiAgICAgIH0KPiAgCj4g QEAgLTE0MjgsNyArMTQyNSw3IEBAIHN0YXRpYyBpbnQgYWNwaV9tYWtlX2Nob3Nlbl9ub2RlKGNv bnN0IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCj4gICAgICBjb25zdCBzdHJ1Y3QgYm9vdG1v ZHVsZSAqbW9kID0ga2luZm8tPmtlcm5lbF9ib290bW9kdWxlOwo+ICAgICAgdm9pZCAqZmR0ID0g a2luZm8tPmZkdDsKPiAgCj4gLSAgICBEUFJJTlQoIkNyZWF0ZSBjaG9zZW4gbm9kZVxuIik7Cj4g KyAgICBkdF9kcHJpbnRrKCJDcmVhdGUgY2hvc2VuIG5vZGVcbiIpOwo+ICAgICAgcmVzID0gZmR0 X2JlZ2luX25vZGUoZmR0LCAiY2hvc2VuIik7Cj4gICAgICBpZiAoIHJlcyApCj4gICAgICAgICAg cmV0dXJuIHJlczsKPiBAQCAtMTQ3Miw3ICsxNDY5LDcgQEAgc3RhdGljIGludCBhY3BpX21ha2Vf aHlwZXJ2aXNvcl9ub2RlKGNvbnN0IHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8sCj4gICAgICAv KiBDb252ZW5pZW5jZSBhbGlhcyAqLwo+ICAgICAgdm9pZCAqZmR0ID0ga2luZm8tPmZkdDsKPiAg Cj4gLSAgICBEUFJJTlQoIkNyZWF0ZSBoeXBlcnZpc29yIG5vZGVcbiIpOwo+ICsgICAgZHRfZHBy aW50aygiQ3JlYXRlIGh5cGVydmlzb3Igbm9kZVxuIik7Cj4gIAo+ICAgICAgLyogU2VlIGxpbnV4 IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0veGVuLnR4dCAqLwo+ICAgICAg cmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAiaHlwZXJ2aXNvciIpOwo+IEBAIC0xNTAyLDcgKzE0 OTksNyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9hY3BpX2R0YihzdHJ1Y3Qga2VybmVsX2luZm8gKmtp bmZvLCBzdHJ1Y3QgbWVtYmFuayB0YmxfYWRkW10pCj4gICAgICBpbnQgbmV3X3NpemU7Cj4gICAg ICBpbnQgcmV0Owo+ICAKPiAtICAgIERQUklOVCgiUHJlcGFyZSBhIG1pbiBEVEIgZm9yIERPTTBc biIpOwo+ICsgICAgZHRfZHByaW50aygiUHJlcGFyZSBhIG1pbiBEVEIgZm9yIERPTTBcbiIpOwo+ ICAKPiAgICAgIC8qIEFsbG9jYXRlIG1pbiBzaXplIGZvciBEVCAqLwo+ICAgICAgbmV3X3NpemUg PSBBQ1BJX0RPTTBfRkRUX01JTl9TSVpFOwo+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2Rldmlj ZV90cmVlLmMgYi94ZW4vY29tbW9uL2RldmljZV90cmVlLmMKPiBpbmRleCAwZGYyZTRiLi5iMzlj OGNhIDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYwo+ICsrKyBiL3hlbi9j b21tb24vZGV2aWNlX3RyZWUuYwo+IEBAIC01NSw3ICs1NSw2IEBAIHN0cnVjdCBkdF9hbGlhc19w cm9wIHsKPiAgc3RhdGljIExJU1RfSEVBRChhbGlhc2VzX2xvb2t1cCk7Cj4gIAo+ICAjaWZkZWYg Q09ORklHX0RFVklDRV9UUkVFX0RFQlVHCj4gLSMgZGVmaW5lIGR0X2RwcmludGsoZm10LCBhcmdz Li4uKSBwcmludGsoWEVOTE9HX0RFQlVHIGZtdCwgIyNhcmdzKQo+ICBzdGF0aWMgdm9pZCBkdF9k dW1wX2FkZHIoY29uc3QgY2hhciAqcywgY29uc3QgX19iZTMyICphZGRyLCBpbnQgbmEpCj4gIHsK PiAgICAgIGR0X2RwcmludGsoIiVzIiwgcyk7Cj4gQEAgLTY0LDcgKzYzLDYgQEAgc3RhdGljIHZv aWQgZHRfZHVtcF9hZGRyKGNvbnN0IGNoYXIgKnMsIGNvbnN0IF9fYmUzMiAqYWRkciwgaW50IG5h KQo+ICAgICAgZHRfZHByaW50aygiXG4iKTsKPiAgfQo+ICAjZWxzZQo+IC0jIGRlZmluZSBkdF9k cHJpbnRrKGZtdCwgYXJncy4uLikgZG8ge30gd2hpbGUgKCAwICkKPiAgc3RhdGljIHZvaWQgZHRf ZHVtcF9hZGRyKGNvbnN0IGNoYXIgKnMsIGNvbnN0IF9fYmUzMiAqYWRkciwgaW50IG5hKSB7IH0K PiAgI2VuZGlmCj4gIAo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUu aCBiL3hlbi9pbmNsdWRlL3hlbi9kZXZpY2VfdHJlZS5oCj4gaW5kZXggZTNmZTc3Yy4uZDdkMWI0 MCAxMDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUuaAo+ICsrKyBiL3hl bi9pbmNsdWRlL3hlbi9kZXZpY2VfdHJlZS5oCj4gQEAgLTc1Myw2ICs3NTMsMTUgQEAgaW50IGR0 X3BhcnNlX3BoYW5kbGVfd2l0aF9hcmdzKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbnAs Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjZWxsc19uYW1l LCBpbnQgaW5kZXgsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHRf cGhhbmRsZV9hcmdzICpvdXRfYXJncyk7Cj4gIAo+ICsjaWZkZWYgQ09ORklHX0RFVklDRV9UUkVF X0RFQlVHCj4gKyNkZWZpbmUgZHRfZHByaW50ayhmbXQsIGFyZ3MuLi4pICBcCj4gKyAgICBwcmlu dGsoWEVOTE9HX0RFQlVHIGZtdCwgIyMgYXJncykKPiArI2Vsc2UKPiArc3RhdGljIGlubGluZSB2 b2lkCj4gK19fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpCj4g K2R0X2RwcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pIHt9Cj4gKyNlbmRpZgo+ICsKPiAgI2Vu ZGlmIC8qIF9fWEVOX0RFVklDRV9UUkVFX0ggKi8KPiAgCj4gIC8qCj4gLS0gCj4gMS45LjEKPiAK PiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK