From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Edgar E. Iglesias" Subject: Re: [for-4.8 2/2] xen/arm: Provide device tree debugging helper in a single place Date: Tue, 24 May 2016 16:17:50 +0200 Message-ID: <20160524141750.GU16305@toto> 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 RWRnYXIgRS4gSWdsZXNpYXMgPGVkZ2FyLmlnbGVzaWFzQHhpbGlueC5jb20+CgoKPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgo+IC0tLQo+ICB4 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICB8IDcxICsrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgeGVuL2NvbW1vbi9kZXZpY2VfdHJlZS5jICAgICAgfCAg MiAtLQo+ICB4ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUuaCB8ICA5ICsrKysrKwo+ICAzIGZp bGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDM5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWlu X2J1aWxkLmMKPiBpbmRleCBmYjAzNWZmLi43MWVhZDhiIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNo L2FybS9kb21haW5fYnVpbGQuYwo+ICsrKyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+ IEBAIC00MiwxMiArNDIsNiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfZG9tMF9tZW0oY29u c3QgY2hhciAqcykKPiAgfQo+ICBjdXN0b21fcGFyYW0oImRvbTBfbWVtIiwgcGFyc2VfZG9tMF9t ZW0pOwo+ICAKPiAtI2lmZGVmIENPTkZJR19ERVZJQ0VfVFJFRV9ERUJVRwo+IC0jIGRlZmluZSBE UFJJTlQoZm10LCBhcmdzLi4uKSBwcmludGsoWEVOTE9HX0RFQlVHIGZtdCwgIyNhcmdzKQo+IC0j ZWxzZQo+IC0jIGRlZmluZSBEUFJJTlQoZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoIDAgKQo+ IC0jZW5kaWYKPiAtCj4gIC8vI2RlZmluZSBERUJVR18xMV9BTExPQ0FUSU9OCj4gICNpZmRlZiBE RUJVR18xMV9BTExPQ0FUSU9OCj4gICMgZGVmaW5lIEQxMVBSSU5UKGZtdCwgYXJncy4uLikgcHJp bnRrKFhFTkxPR19ERUJVRyBmbXQsICMjYXJncykKPiBAQCAtMzY0LDcgKzM1OCw3IEBAIHN0YXRp YyB2b2lkIGFsbG9jYXRlX21lbW9yeShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2lu Zm8gKmtpbmZvKQo+ICAgICAgewo+ICAgICAgICAgIGludCBsOwo+ICAKPiAtICAgICAgICBEUFJJ TlQoIm1lbW9yeSBub2RlXG4iKTsKPiArICAgICAgICBkdF9kcHJpbnRrKCJtZW1vcnkgbm9kZVxu Iik7Cj4gIAo+ICAgICAgICAgIHJlZ19zaXplID0gZHRfY2VsbHNfdG9fc2l6ZShkdF9uX2FkZHJf Y2VsbHMobWVtb3J5KSArIGR0X25fc2l6ZV9jZWxscyhtZW1vcnkpKTsKPiAgCj4gQEAgLTU3MSw3 ICs1NjUsOCBAQCBzdGF0aWMgaW50IG1ha2VfbWVtb3J5X25vZGUoY29uc3Qgc3RydWN0IGRvbWFp biAqZCwKPiAgICAgIF9fYmUzMiByZWdbbnJfY2VsbHNdOwo+ICAgICAgX19iZTMyICpjZWxsczsK PiAgCj4gLSAgICBEUFJJTlQoIkNyZWF0ZSBtZW1vcnkgbm9kZSAocmVnIHNpemUgJWQsIG5yIGNl bGxzICVkKVxuIiwgcmVnX3NpemUsIG5yX2NlbGxzKTsKPiArICAgIGR0X2RwcmludGsoIkNyZWF0 ZSBtZW1vcnkgbm9kZSAocmVnIHNpemUgJWQsIG5yIGNlbGxzICVkKVxuIiwKPiArICAgICAgICAg ICAgICAgcmVnX3NpemUsIG5yX2NlbGxzKTsKPiAgCj4gICAgICAvKiBlUEFQUiAzLjQgKi8KPiAg ICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgIm1lbW9yeSIpOwo+IEBAIC01ODgsOCArNTgz LDggQEAgc3RhdGljIGludCBtYWtlX21lbW9yeV9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQs Cj4gICAgICAgICAgdTY0IHN0YXJ0ID0ga2luZm8tPm1lbS5iYW5rW2ldLnN0YXJ0Owo+ICAgICAg ICAgIHU2NCBzaXplID0ga2luZm8tPm1lbS5iYW5rW2ldLnNpemU7Cj4gIAo+IC0gICAgICAgIERQ UklOVCgiICBCYW5rICVkOiAlIyJQUkl4NjQiLT4lIyJQUkl4NjQiXG4iLAo+IC0gICAgICAgICAg ICAgICAgaSwgc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7Cj4gKyAgICAgICAgZHRfZHByaW50aygiICBC YW5rICVkOiAlIyJQUkl4NjQiLT4lIyJQUkl4NjQiXG4iLAo+ICsgICAgICAgICAgICAgICAgICAg aSwgc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7Cj4gIAo+ICAgICAgICAgIGR0X2NoaWxkX3NldF9yYW5n ZSgmY2VsbHMsIHBhcmVudCwgc3RhcnQsIHNpemUpOwo+ICAgICAgfQo+IEBAIC02MTgsNyArNjEz LDcgQEAgc3RhdGljIGludCBtYWtlX2h5cGVydmlzb3Jfbm9kZShjb25zdCBzdHJ1Y3Qga2VybmVs X2luZm8gKmtpbmZvLAo+ICAgICAgaW50IHNpemVjZWxscyA9IGR0X2NoaWxkX25fc2l6ZV9jZWxs cyhwYXJlbnQpOwo+ICAgICAgdm9pZCAqZmR0ID0ga2luZm8tPmZkdDsKPiAgCj4gLSAgICBEUFJJ TlQoIkNyZWF0ZSBoeXBlcnZpc29yIG5vZGVcbiIpOwo+ICsgICAgZHRfZHByaW50aygiQ3JlYXRl IGh5cGVydmlzb3Igbm9kZVxuIik7Cj4gIAo+ICAgICAgLyoKPiAgICAgICAqIFNhbml0eS1jaGVj ayBhZGRyZXNzIHNpemVzLCBzaW5jZSBhZGRyZXNzZXMgYW5kIHNpemVzIHdoaWNoIGRvCj4gQEAg LTY2Nyw3ICs2NjIsNyBAQCBzdGF0aWMgaW50IG1ha2VfcHNjaV9ub2RlKHZvaWQgKmZkdCwgY29u c3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpwYXJlbnQpCj4gICAgICAgICAgImFybSxwc2NpLTAu MiIiXDAiCj4gICAgICAgICAgImFybSxwc2NpIjsKPiAgCj4gLSAgICBEUFJJTlQoIkNyZWF0ZSBQ U0NJIG5vZGVcbiIpOwo+ICsgICAgZHRfZHByaW50aygiQ3JlYXRlIFBTQ0kgbm9kZVxuIik7Cj4g IAo+ICAgICAgLyogU2VlIGxpbnV4IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9h cm0vcHNjaS50eHQgKi8KPiAgICAgIHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgInBzY2kiKTsK PiBAQCAtNzEwLDcgKzcwNSw3IEBAIHN0YXRpYyBpbnQgbWFrZV9jcHVzX25vZGUoY29uc3Qgc3Ry dWN0IGRvbWFpbiAqZCwgdm9pZCAqZmR0LAo+ICAgICAgYm9vbF90IGNsb2NrX3ZhbGlkOwo+ICAg ICAgdWludDY0X3QgbXBpZHJfYWZmOwo+ICAKPiAtICAgIERQUklOVCgiQ3JlYXRlIGNwdXMgbm9k ZVxuIik7Cj4gKyAgICBkdF9kcHJpbnRrKCJDcmVhdGUgY3B1cyBub2RlXG4iKTsKPiAgCj4gICAg ICBpZiAoICFjcHVzICkKPiAgICAgIHsKPiBAQCAtNzY1LDcgKzc2MCw4IEBAIHN0YXRpYyBpbnQg bWFrZV9jcHVzX25vZGUoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdm9pZCAqZmR0LAo+ICAgICAg ICAgICAqIGlzIGVub3VnaCBmb3IgdGhlIGN1cnJlbnQgbWF4IHZjcHUgbnVtYmVyLgo+ICAgICAg ICAgICAqLwo+ICAgICAgICAgIG1waWRyX2FmZiA9IHZjcHVpZF90b192YWZmaW5pdHkoY3B1KTsK PiAtICAgICAgICBEUFJJTlQoIkNyZWF0ZSBjcHVAJSJQUkl4NjQiIChsb2dpY2FsIENQVUlEOiAl ZCkgbm9kZVxuIiwgbXBpZHJfYWZmLCBjcHUpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIkNyZWF0 ZSBjcHVAJSJQUkl4NjQiIChsb2dpY2FsIENQVUlEOiAlZCkgbm9kZVxuIiwKPiArICAgICAgICAg ICAgICAgICAgIG1waWRyX2FmZiwgY3B1KTsKPiAgCj4gICAgICAgICAgc25wcmludGYoYnVmLCBz aXplb2YoYnVmKSwgImNwdUAlIlBSSXg2NCwgbXBpZHJfYWZmKTsKPiAgICAgICAgICByZXMgPSBm ZHRfYmVnaW5fbm9kZShmZHQsIGJ1Zik7Cj4gQEAgLTgyMSwxMSArODE3LDExIEBAIHN0YXRpYyBp bnQgbWFrZV9naWNfbm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpmZHQsCj4gICAg ICAgKi8KPiAgICAgIGlmICggbm9kZSAhPSBkdF9pbnRlcnJ1cHRfY29udHJvbGxlciApCj4gICAg ICB7Cj4gLSAgICAgICAgRFBSSU5UKCIgIFNraXBwaW5nIChzZWNvbmRhcnkgR0lDKVxuIik7Cj4g KyAgICAgICAgZHRfZHByaW50aygiICBTa2lwcGluZyAoc2Vjb25kYXJ5IEdJQylcbiIpOwo+ICAg ICAgICAgIHJldHVybiAwOwo+ICAgICAgfQo+ICAKPiAtICAgIERQUklOVCgiQ3JlYXRlIGdpYyBu b2RlXG4iKTsKPiArICAgIGR0X2RwcmludGsoIkNyZWF0ZSBnaWMgbm9kZVxuIik7Cj4gIAo+ICAg ICAgcmVzID0gZmR0X2JlZ2luX25vZGUoZmR0LCAiaW50ZXJydXB0LWNvbnRyb2xsZXIiKTsKPiAg ICAgIGlmICggcmVzICkKPiBAQCAtODM3LDcgKzgzMyw3IEBAIHN0YXRpYyBpbnQgbWFrZV9naWNf bm9kZShjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB2b2lkICpmZHQsCj4gICAgICAgKi8KPiAgICAg IGlmICggZ2ljLT5waGFuZGxlICkKPiAgICAgIHsKPiAtICAgICAgICBEUFJJTlQoIiAgU2V0IHBo YW5kbGUgPSAweCV4XG4iLCBnaWMtPnBoYW5kbGUpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIiAg U2V0IHBoYW5kbGUgPSAweCV4XG4iLCBnaWMtPnBoYW5kbGUpOwo+ICAgICAgICAgIHJlcyA9IGZk dF9wcm9wZXJ0eV9jZWxsKGZkdCwgInBoYW5kbGUiLCBnaWMtPnBoYW5kbGUpOwo+ICAgICAgICAg IGlmICggcmVzICkKPiAgICAgICAgICAgICAgcmV0dXJuIHJlczsKPiBAQCAtODk0LDcgKzg5MCw3 IEBAIHN0YXRpYyBpbnQgbWFrZV90aW1lcl9ub2RlKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHZv aWQgKmZkdCwKPiAgICAgIHUzMiBjbG9ja19mcmVxdWVuY3k7Cj4gICAgICBib29sX3QgY2xvY2tf dmFsaWQ7Cj4gIAo+IC0gICAgRFBSSU5UKCJDcmVhdGUgdGltZXIgbm9kZVxuIik7Cj4gKyAgICBk dF9kcHJpbnRrKCJDcmVhdGUgdGltZXIgbm9kZVxuIik7Cj4gIAo+ICAgICAgZGV2ID0gZHRfZmlu ZF9tYXRjaGluZ19ub2RlKE5VTEwsIHRpbWVyX2lkcyk7Cj4gICAgICBpZiAoICFkZXYgKQo+IEBA IC05MjIsMTUgKzkxOCwxNSBAQCBzdGF0aWMgaW50IG1ha2VfdGltZXJfbm9kZShjb25zdCBzdHJ1 Y3QgZG9tYWluICpkLCB2b2lkICpmZHQsCj4gICAgICAgKiBsZXZlbC1zZW5zaXRpdmUgaW50ZXJy dXB0ICovCj4gIAo+ICAgICAgaXJxID0gdGltZXJfZ2V0X2lycShUSU1FUl9QSFlTX1NFQ1VSRV9Q UEkpOwo+IC0gICAgRFBSSU5UKCIgIFNlY3VyZSBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Cj4gKyAg ICBkdF9kcHJpbnRrKCIgIFNlY3VyZSBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Cj4gICAgICBzZXRf aW50ZXJydXB0X3BwaShpbnRyc1swXSwgaXJxLCAweGYsIElSUV9UWVBFX0xFVkVMX0xPVyk7Cj4g IAo+ICAgICAgaXJxID0gdGltZXJfZ2V0X2lycShUSU1FUl9QSFlTX05PTlNFQ1VSRV9QUEkpOwo+ IC0gICAgRFBSSU5UKCIgIE5vbiBzZWN1cmUgaW50ZXJydXB0ICV1XG4iLCBpcnEpOwo+ICsgICAg ZHRfZHByaW50aygiICBOb24gc2VjdXJlIGludGVycnVwdCAldVxuIiwgaXJxKTsKPiAgICAgIHNl dF9pbnRlcnJ1cHRfcHBpKGludHJzWzFdLCBpcnEsIDB4ZiwgSVJRX1RZUEVfTEVWRUxfTE9XKTsK PiAgCj4gICAgICBpcnEgPSB0aW1lcl9nZXRfaXJxKFRJTUVSX1ZJUlRfUFBJKTsKPiAtICAgIERQ UklOVCgiICBWaXJ0IGludGVycnVwdCAldVxuIiwgaXJxKTsKPiArICAgIGR0X2RwcmludGsoIiAg VmlydCBpbnRlcnJ1cHQgJXVcbiIsIGlycSk7Cj4gICAgICBzZXRfaW50ZXJydXB0X3BwaShpbnRy c1syXSwgaXJxLCAweGYsIElSUV9UWVBFX0xFVkVMX0xPVyk7Cj4gIAo+ICAgICAgcmVzID0gZmR0 X3Byb3BlcnR5X2ludGVycnVwdHMoZmR0LCBpbnRycywgMyk7Cj4gQEAgLTk4NCw3ICs5ODAsNyBA QCBzdGF0aWMgaW50IG1hcF9pcnFfdG9fZG9tYWluKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9k ZSAqZGV2LAo+ICAgICAgICAgIH0KPiAgICAgIH0KPiAgCj4gLSAgICBEUFJJTlQoIiAgLSBJUlE6 ICV1XG4iLCBpcnEpOwo+ICsgICAgZHRfZHByaW50aygiICAtIElSUTogJXVcbiIsIGlycSk7Cj4g ICAgICByZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtMTA1Myw3ICsxMDQ5LDcgQEAgc3RhdGljIGlu dCBtYXBfcmFuZ2VfdG9fZG9tYWluKGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2LAo+ ICAgICAgICAgIH0KPiAgICAgIH0KPiAgCj4gLSAgICBEUFJJTlQoIiAgLSBNTUlPOiAlMDEwIlBS SXg2NCIgLSAlMDEwIlBSSXg2NCJcbiIsIGFkZHIsIGFkZHIgKyBsZW4pOwo+ICsgICAgZHRfZHBy aW50aygiICAtIE1NSU86ICUwMTAiUFJJeDY0IiAtICUwMTAiUFJJeDY0IlxuIiwgYWRkciwgYWRk ciArIGxlbik7Cj4gIAo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMTA3MCw3ICsxMDY2LDgg QEAgc3RhdGljIGludCBtYXBfZGV2aWNlX2NoaWxkcmVuKHN0cnVjdCBkb21haW4gKmQsCj4gIAo+ ICAgICAgaWYgKCBkdF9kZXZpY2VfdHlwZV9pc19lcXVhbChkZXYsICJwY2kiKSApCj4gICAgICB7 Cj4gLSAgICAgICAgRFBSSU5UKCJNYXBwaW5nIGNoaWxkcmVuIG9mICVzIHRvIGd1ZXN0XG4iLCBk dF9ub2RlX2Z1bGxfbmFtZShkZXYpKTsKPiArICAgICAgICBkdF9kcHJpbnRrKCJNYXBwaW5nIGNo aWxkcmVuIG9mICVzIHRvIGd1ZXN0XG4iLAo+ICsgICAgICAgICAgICAgICAgICAgZHRfbm9kZV9m dWxsX25hbWUoZGV2KSk7Cj4gIAo+ICAgICAgICAgIHJldCA9IGR0X2Zvcl9lYWNoX2lycV9tYXAo ZGV2LCAmbWFwX2R0X2lycV90b19kb21haW4sIGQpOwo+ICAgICAgICAgIGlmICggcmV0IDwgMCAp Cj4gQEAgLTExMDUsMTIgKzExMDIsMTIgQEAgc3RhdGljIGludCBoYW5kbGVfZGV2aWNlKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2KQo+ICAgICAgbmlycSA9IGR0 X251bWJlcl9vZl9pcnEoZGV2KTsKPiAgICAgIG5hZGRyID0gZHRfbnVtYmVyX29mX2FkZHJlc3Mo ZGV2KTsKPiAgCj4gLSAgICBEUFJJTlQoIiVzIHBhc3N0aHJvdWdoID0gJWQgbmlycSA9ICVkIG5h ZGRyID0gJXVcbiIsIGR0X25vZGVfZnVsbF9uYW1lKGRldiksCj4gLSAgICAgICAgICAgbmVlZF9t YXBwaW5nLCBuaXJxLCBuYWRkcik7Cj4gKyAgICBkdF9kcHJpbnRrKCIlcyBwYXNzdGhyb3VnaCA9 ICVkIG5pcnEgPSAlZCBuYWRkciA9ICV1XG4iLAo+ICsgICAgICAgICAgICAgICBkdF9ub2RlX2Z1 bGxfbmFtZShkZXYpLCBuZWVkX21hcHBpbmcsIG5pcnEsIG5hZGRyKTsKPiAgCj4gICAgICBpZiAo IGR0X2RldmljZV9pc19wcm90ZWN0ZWQoZGV2KSAmJiBuZWVkX21hcHBpbmcgKQo+ICAgICAgewo+ IC0gICAgICAgIERQUklOVCgiJXMgc2V0dXAgaW9tbXVcbiIsIGR0X25vZGVfZnVsbF9uYW1lKGRl dikpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIiVzIHNldHVwIGlvbW11XG4iLCBkdF9ub2RlX2Z1 bGxfbmFtZShkZXYpKTsKPiAgICAgICAgICByZXMgPSBpb21tdV9hc3NpZ25fZHRfZGV2aWNlKGQs IGRldik7Cj4gICAgICAgICAgaWYgKCByZXMgKQo+ICAgICAgICAgIHsKPiBAQCAtMTEzNyw4ICsx MTM0LDggQEAgc3RhdGljIGludCBoYW5kbGVfZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVj dCBkdF9kZXZpY2Vfbm9kZSAqZGV2KQo+ICAgICAgICAgICAqLwo+ICAgICAgICAgIGlmICggcmly cS5jb250cm9sbGVyICE9IGR0X2ludGVycnVwdF9jb250cm9sbGVyICkKPiAgICAgICAgICB7Cj4g LSAgICAgICAgICAgIERQUklOVCgiaXJxICV1IG5vdCBjb25uZWN0ZWQgdG8gcHJpbWFyeSBjb250 cm9sbGVyLiIKPiAtICAgICAgICAgICAgICAgICAgICJDb25uZWN0ZWQgdG8gJXNcbiIsIGksIGR0 X25vZGVfZnVsbF9uYW1lKHJpcnEuY29udHJvbGxlcikpOwo+ICsgICAgICAgICAgICBkdF9kcHJp bnRrKCJpcnEgJXUgbm90IGNvbm5lY3RlZCB0byBwcmltYXJ5IGNvbnRyb2xsZXIuIENvbm5lY3Rl ZCB0byAlc1xuIiwKPiArICAgICAgICAgICAgICAgICAgICAgIGksIGR0X25vZGVfZnVsbF9uYW1l KHJpcnEuY29udHJvbGxlcikpOwo+ICAgICAgICAgICAgICBjb250aW51ZTsKPiAgICAgICAgICB9 Cj4gIAo+IEBAIC0xMjE3LDE3ICsxMjE0LDE3IEBAIHN0YXRpYyBpbnQgaGFuZGxlX25vZGUoc3Ry dWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywKPiAgCj4gICAgICBwYXRo ID0gZHRfbm9kZV9mdWxsX25hbWUobm9kZSk7Cj4gIAo+IC0gICAgRFBSSU5UKCJoYW5kbGUgJXNc biIsIHBhdGgpOwo+ICsgICAgZHRfZHByaW50aygiaGFuZGxlICVzXG4iLCBwYXRoKTsKPiAgCj4g ICAgICAvKiBTa2lwIHRoZXNlcyBub2RlcyBhbmQgdGhlIHN1Yi1ub2RlcyAqLwo+ICAgICAgaWYg KCBkdF9tYXRjaF9ub2RlKHNraXBfbWF0Y2hlcywgbm9kZSkgKQo+ICAgICAgewo+IC0gICAgICAg IERQUklOVCgiICBTa2lwIGl0IChtYXRjaGVkKVxuIik7Cj4gKyAgICAgICAgZHRfZHByaW50aygi ICBTa2lwIGl0IChtYXRjaGVkKVxuIik7Cj4gICAgICAgICAgcmV0dXJuIDA7Cj4gICAgICB9Cj4g ICAgICBpZiAoIHBsYXRmb3JtX2RldmljZV9pc19ibGFja2xpc3RlZChub2RlKSApCj4gICAgICB7 Cj4gLSAgICAgICAgRFBSSU5UKCIgIFNraXAgaXQgKGJsYWNrbGlzdGVkKVxuIik7Cj4gKyAgICAg ICAgZHRfZHByaW50aygiICBTa2lwIGl0IChibGFja2xpc3RlZClcbiIpOwo+ICAgICAgICAgIHJl dHVybiAwOwo+ICAgICAgfQo+ICAKPiBAQCAtMTI0Myw3ICsxMjQwLDcgQEAgc3RhdGljIGludCBo YW5kbGVfbm9kZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAo+ ICAgICAgLyogU2tpcCBub2RlcyB1c2VkIGJ5IFhlbiAqLwo+ICAgICAgaWYgKCBkdF9kZXZpY2Vf dXNlZF9ieShub2RlKSA9PSBET01JRF9YRU4gKQo+ICAgICAgewo+IC0gICAgICAgIERQUklOVCgi ICBTa2lwIGl0ICh1c2VkIGJ5IFhlbilcbiIpOwo+ICsgICAgICAgIGR0X2RwcmludGsoIiAgU2tp cCBpdCAodXNlZCBieSBYZW4pXG4iKTsKPiAgICAgICAgICByZXR1cm4gMDsKPiAgICAgIH0KPiAg Cj4gQEAgLTEyNTMsNyArMTI1MCw3IEBAIHN0YXRpYyBpbnQgaGFuZGxlX25vZGUoc3RydWN0IGRv bWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5mbywKPiAgICAgICAqLwo+ICAgICAgaWYg KCBkZXZpY2VfZ2V0X2NsYXNzKG5vZGUpID09IERFVklDRV9JT01NVSApCj4gICAgICB7Cj4gLSAg ICAgICAgRFBSSU5UKCIgSU9NTVUsIHNraXAgaXRcbiIpOwo+ICsgICAgICAgIGR0X2RwcmludGso IiBJT01NVSwgc2tpcCBpdFxuIik7Cj4gICAgICAgICAgcmV0dXJuIDA7Cj4gICAgICB9Cj4gIAo+ IEBAIC0xNDI4LDcgKzE0MjUsNyBAQCBzdGF0aWMgaW50IGFjcGlfbWFrZV9jaG9zZW5fbm9kZShj b25zdCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICAgICAgY29uc3Qgc3RydWN0IGJvb3Rt b2R1bGUgKm1vZCA9IGtpbmZvLT5rZXJuZWxfYm9vdG1vZHVsZTsKPiAgICAgIHZvaWQgKmZkdCA9 IGtpbmZvLT5mZHQ7Cj4gIAo+IC0gICAgRFBSSU5UKCJDcmVhdGUgY2hvc2VuIG5vZGVcbiIpOwo+ ICsgICAgZHRfZHByaW50aygiQ3JlYXRlIGNob3NlbiBub2RlXG4iKTsKPiAgICAgIHJlcyA9IGZk dF9iZWdpbl9ub2RlKGZkdCwgImNob3NlbiIpOwo+ICAgICAgaWYgKCByZXMgKQo+ICAgICAgICAg IHJldHVybiByZXM7Cj4gQEAgLTE0NzIsNyArMTQ2OSw3IEBAIHN0YXRpYyBpbnQgYWNwaV9tYWtl X2h5cGVydmlzb3Jfbm9kZShjb25zdCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLAo+ICAgICAg LyogQ29udmVuaWVuY2UgYWxpYXMgKi8KPiAgICAgIHZvaWQgKmZkdCA9IGtpbmZvLT5mZHQ7Cj4g IAo+IC0gICAgRFBSSU5UKCJDcmVhdGUgaHlwZXJ2aXNvciBub2RlXG4iKTsKPiArICAgIGR0X2Rw cmludGsoIkNyZWF0ZSBoeXBlcnZpc29yIG5vZGVcbiIpOwo+ICAKPiAgICAgIC8qIFNlZSBsaW51 eCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL3hlbi50eHQgKi8KPiAgICAg IHJlcyA9IGZkdF9iZWdpbl9ub2RlKGZkdCwgImh5cGVydmlzb3IiKTsKPiBAQCAtMTUwMiw3ICsx NDk5LDcgQEAgc3RhdGljIGludCBjcmVhdGVfYWNwaV9kdGIoc3RydWN0IGtlcm5lbF9pbmZvICpr aW5mbywgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKQo+ICAgICAgaW50IG5ld19zaXplOwo+ICAg ICAgaW50IHJldDsKPiAgCj4gLSAgICBEUFJJTlQoIlByZXBhcmUgYSBtaW4gRFRCIGZvciBET00w XG4iKTsKPiArICAgIGR0X2RwcmludGsoIlByZXBhcmUgYSBtaW4gRFRCIGZvciBET00wXG4iKTsK PiAgCj4gICAgICAvKiBBbGxvY2F0ZSBtaW4gc2l6ZSBmb3IgRFQgKi8KPiAgICAgIG5ld19zaXpl ID0gQUNQSV9ET00wX0ZEVF9NSU5fU0laRTsKPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kZXZp Y2VfdHJlZS5jIGIveGVuL2NvbW1vbi9kZXZpY2VfdHJlZS5jCj4gaW5kZXggMGRmMmU0Yi4uYjM5 YzhjYSAxMDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL2RldmljZV90cmVlLmMKPiArKysgYi94ZW4v Y29tbW9uL2RldmljZV90cmVlLmMKPiBAQCAtNTUsNyArNTUsNiBAQCBzdHJ1Y3QgZHRfYWxpYXNf cHJvcCB7Cj4gIHN0YXRpYyBMSVNUX0hFQUQoYWxpYXNlc19sb29rdXApOwo+ICAKPiAgI2lmZGVm IENPTkZJR19ERVZJQ0VfVFJFRV9ERUJVRwo+IC0jIGRlZmluZSBkdF9kcHJpbnRrKGZtdCwgYXJn cy4uLikgcHJpbnRrKFhFTkxPR19ERUJVRyBmbXQsICMjYXJncykKPiAgc3RhdGljIHZvaWQgZHRf ZHVtcF9hZGRyKGNvbnN0IGNoYXIgKnMsIGNvbnN0IF9fYmUzMiAqYWRkciwgaW50IG5hKQo+ICB7 Cj4gICAgICBkdF9kcHJpbnRrKCIlcyIsIHMpOwo+IEBAIC02NCw3ICs2Myw2IEBAIHN0YXRpYyB2 b2lkIGR0X2R1bXBfYWRkcihjb25zdCBjaGFyICpzLCBjb25zdCBfX2JlMzIgKmFkZHIsIGludCBu YSkKPiAgICAgIGR0X2RwcmludGsoIlxuIik7Cj4gIH0KPiAgI2Vsc2UKPiAtIyBkZWZpbmUgZHRf ZHByaW50ayhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICggMCApCj4gIHN0YXRpYyB2b2lkIGR0 X2R1bXBfYWRkcihjb25zdCBjaGFyICpzLCBjb25zdCBfX2JlMzIgKmFkZHIsIGludCBuYSkgeyB9 Cj4gICNlbmRpZgo+ICAKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2RldmljZV90cmVl LmggYi94ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUuaAo+IGluZGV4IGUzZmU3N2MuLmQ3ZDFi NDAgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL2RldmljZV90cmVlLmgKPiArKysgYi94 ZW4vaW5jbHVkZS94ZW4vZGV2aWNlX3RyZWUuaAo+IEBAIC03NTMsNiArNzUzLDE1IEBAIGludCBk dF9wYXJzZV9waGFuZGxlX3dpdGhfYXJncyhjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5w LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY2VsbHNfbmFt ZSwgaW50IGluZGV4LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGR0 X3BoYW5kbGVfYXJncyAqb3V0X2FyZ3MpOwo+ICAKPiArI2lmZGVmIENPTkZJR19ERVZJQ0VfVFJF RV9ERUJVRwo+ICsjZGVmaW5lIGR0X2RwcmludGsoZm10LCBhcmdzLi4uKSAgXAo+ICsgICAgcHJp bnRrKFhFTkxPR19ERUJVRyBmbXQsICMjIGFyZ3MpCj4gKyNlbHNlCj4gK3N0YXRpYyBpbmxpbmUg dm9pZAo+ICtfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKQo+ ICtkdF9kcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSB7fQo+ICsjZW5kaWYKPiArCj4gICNl bmRpZiAvKiBfX1hFTl9ERVZJQ0VfVFJFRV9IICovCj4gIAo+ICAvKgo+IC0tIAo+IDEuOS4xCj4g Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKPiBodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==