From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: Re: [PATCH v2 2/6] misc: sram: add ability to mark sram sections as reserved Date: Wed, 26 Jun 2013 12:09:44 +0200 Message-ID: <1372241384.4041.11.camel@pizza.hi.pengutronix.de> References: <201306251046.04873.heiko@sntech.de> <201306251047.12899.heiko@sntech.de> <1372155425.3981.67.camel@pizza.hi.pengutronix.de> <201306261118.44637.heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201306261118.44637.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Heiko =?ISO-8859-1?Q?St=FCbner?= Cc: Russell King , Greg Kroah-Hartman , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Grant Likely , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" List-Id: devicetree@vger.kernel.org QW0gTWl0dHdvY2gsIGRlbiAyNi4wNi4yMDEzLCAxMToxOCArMDIwMCBzY2hyaWViIEhlaWtvIFN0 w7xibmVyOgo+IEhpIFBoaWxpcHAsCj4gCj4gQW0gRGllbnN0YWcsIDI1LiBKdW5pIDIwMTMsIDEy OjE3OjA1IHNjaHJpZWIgUGhpbGlwcCBaYWJlbDoKPiA+IEhpIEhlaWtvLAo+ID4gCj4gPiBBbSBE aWVuc3RhZywgZGVuIDI1LjA2LjIwMTMsIDEwOjQ3ICswMjAwIHNjaHJpZWIgSGVpa28gU3TDvGJu ZXI6Cj4gPiA+IFNvbWUgU29DcyBuZWVkIHBhcnRzIG9mIHRoZWlyIHNyYW0gZm9yIHNwZWNpYWwg cHVycG9zZXMuIFNvIHdoaWxlIGJlaW5nCj4gPiA+IHBhcnQgb2YgdGhlIHBlcmlwaGFsLCBpdCBz aG91bGQgbm90IGJlIHBhcnQgb2YgdGhlIGdlbnBvb2wgY29udHJvbGxpbmcKPiA+ID4gdGhlIHNy YW0uCj4gPiA+IAo+ID4gPiBUaHJlZm9yZSBhZGQgYW4gb3B0aW9uIG1taW8tc3JhbS1yZXNlcnZl ZCB0byBrZWVwIGFyYml0YXJ5IHBvcnRpb25zIG9mCj4gPiA+IHRoZSBzcmFtIGZyb20gYmVpbmcg cGFydCBvZiB0aGUgcG9vbC4KPiA+ID4gCj4gPiA+IFN1Z2dlc3RlZC1ieTogUm9iIEhlcnJpbmcg PHJvYmhlcnJpbmcyQGdtYWlsLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogSGVpa28gU3R1ZWJu ZXIgPGhlaWtvQHNudGVjaC5kZT4KPiA+ID4gLS0tCj4gPiA+IAo+ID4gPiAgRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2Mvc3JhbS50eHQgfCAgICA4ICsrKwo+ID4gPiAgZHJp dmVycy9taXNjL3NyYW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDg2Cj4gPiA+ ICArKysrKysrKysrKysrKysrKysrKystLSAyIGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMo KyksIDYKPiA+ID4gIGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9taXNjL3NyYW0udHh0Cj4gPiA+IGIvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21pc2Mvc3JhbS50eHQgaW5kZXggNGQwYTAwZS4u ZWFlMDgwZQo+ID4gPiAxMDA2NDQKPiA+ID4gLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL21pc2Mvc3JhbS50eHQKPiA+ID4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL21pc2Mvc3JhbS50eHQKPiA+ID4gCj4gPiA+IEBAIC04LDkgKzgsMTcgQEAg UmVxdWlyZWQgcHJvcGVydGllczoKPiA+ID4gIC0gcmVnIDogU1JBTSBpb21lbSBhZGRyZXNzIHJh bmdlCj4gPiA+IAo+ID4gPiArT3B0aW9uYWwgcHJvcGVydGllczoKPiA+ID4gKwo+ID4gPiArLSBt bWlvLXNyYW0tcmVzZXJ2ZWQ6IG9yZGVyZWQgbGlzdCBvZiByZXNlcnZlZCBjaHVua3MgaW5zaWRl IHRoZSBzcmFtCj4gPiA+IHRoYXQgKyAgc2hvdWxkIG5vdCBiZWNvbWUgcGFydCBvZiB0aGUgZ2Vu YWxsb2MgcG9vbC4KPiA+ID4gKyAgRm9ybWF0IGlzIDxiYXNlIHNpemU+LCA8YmFzZSBzaXplPiwg Li4uOyB3aXRoIGJhc2UgYmVpbmcgcmVsYXRpdmUgdG8KPiA+ID4gdGhlICsgIHJlZyBwcm9wZXJ0 eSBiYXNlLgo+ID4gPiArCj4gPiAKPiA+IHRoZSBrZXl3b3JkIHRvIHJlc2VydmUgYmxvY2tzIG9m IHJhbSBpcyAvbWVtcmVzZXJ2ZS8gLSBzaG91bGQgdGhpcwo+ID4gcHJvcGVydHkgbmFtZSBiZSBh bGlnbmVkIHdpdGggdGhhdD8KPiAKPiBUaGUgbW1pby1zcmFtLXJlc2VydmVkIG5hbWUgd2FzIHN1 Z2dlc3RlZCBieSBSb2IgSGVycmluZywgd2hvIEkgc3VwcG9zZSBoYXMgCj4gc29tZSBzbGlnaHQg ZXhwZXJpZW5jZSB3aXRoIGRldmljZXRyZWUgOi0pIC4KClRoYXQgZGlkIHNvdW5kIGxpa2UgYSBz dWdnZXN0aW9uIGZyb20gdGhlIHRvcCBvZiBoaXMgaGVhZCwgdGhvdWdoLgpJIGp1c3Qgd2FudGVk IHRvIHBvaW50IG91dCB0aGUgc2ltaWxhcml0eSBpbiBmdW5jdGlvbiwgaW4gY2FzZSBpdCBpcwpy ZWxldmFudC4KCj4gSSB3YXNuJ3QgYWJsZSB0byBmaW5kIHJlYWwgZG9jdW1lbnRhdGlvbiBvbiAv bWVtcmVzZXJ2ZS8gYnV0IGl0IGxvb2tzIG1vcmUgCj4gbGlrZSBpdCdzIHVzZWQgdG8gcmVzZXJ2 ZSBnZW5lcmljIG1lbXJlZ2lvbnMsIG5vdCBiZWluZyBub2RlLXNwZWNpZmljLgo+IFNvIHJldXNp bmcgdGhpcyBtaWdodCBhbHNvIGNhdXNlIGNvbmZ1c2lvbiB3aGVuIHRoZSByZXNlcnZlLWRhdGEg bm93IGlzIAo+IHJlbGF0aXZlIHRvIGl0J3Mgbm9kZSByZWcuCgpUcnVlLgoKPiA+ID4gIEV4YW1w bGU6Cj4gPiA+ICAKPiA+ID4gIHNyYW06IHNyYW1ANWMwMDAwMDAgewo+ID4gPiAgCj4gPiA+ICAJ Y29tcGF0aWJsZSA9ICJtbWlvLXNyYW0iOwo+ID4gPiAgCXJlZyA9IDwweDVjMDAwMDAwIDB4NDAw MDA+OyAvKiAyNTYgS2lCIFNSQU0gYXQgYWRkcmVzcyAweDVjMDAwMDAwICovCj4gPiA+IAo+ID4g PiArCW1taW8tc3JhbS1yZXNlcnZlZCA9IDwweDAgMHgxMDA+OyAvKiByZXNlcnZlIDB4NWMwMDAw MDAtMHg1YzAwMDEwMCAqLwo+ID4gPiAKPiA+ID4gIH07Cj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9taXNjL3NyYW0uYyBiL2RyaXZlcnMvbWlzYy9zcmFtLmMKPiA+ID4gaW5kZXgg YWZlNjY1NzEuLjVmY2NiZTMgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvbWlzYy9zcmFtLmMK PiA+ID4gKysrIGIvZHJpdmVycy9taXNjL3NyYW0uYwo+ID4gPiBAQCAtNDIsNiArNDIsOCBAQCBz dGF0aWMgaW50IHNyYW1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ID4g Cj4gPiA+ICAJc3RydWN0IHNyYW1fZGV2ICpzcmFtOwo+ID4gPiAgCXN0cnVjdCByZXNvdXJjZSAq cmVzOwo+ID4gPiAgCXVuc2lnbmVkIGxvbmcgc2l6ZTsKPiA+ID4gCj4gPiA+ICsJY29uc3QgX19i ZTMyICpyZXNlcnZlZF9saXN0ID0gTlVMTDsKPiA+ID4gKwlpbnQgcmVzZXJ2ZWRfc2l6ZSA9IDA7 Cj4gPiA+IAo+ID4gPiAgCWludCByZXQ7Cj4gPiA+ICAJCj4gPiA+ICAJcmVzID0gcGxhdGZvcm1f Z2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPiA+ID4gCj4gPiA+IEBAIC02 NSwxMiArNjcsODkgQEAgc3RhdGljIGludCBzcmFtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCj4gPiA+IAo+ID4gPiAgCWlmICghc3JhbS0+cG9vbCkKPiA+ID4gIAkKPiA+ID4g IAkJcmV0dXJuIC1FTk9NRU07Cj4gPiA+IAo+ID4gPiAtCXJldCA9IGdlbl9wb29sX2FkZF92aXJ0 KHNyYW0tPnBvb2wsICh1bnNpZ25lZCBsb25nKXZpcnRfYmFzZSwKPiA+ID4gLQkJCQlyZXMtPnN0 YXJ0LCBzaXplLCAtMSk7Cj4gPiA+IC0JaWYgKHJldCA8IDApIHsKPiA+ID4gLQkJaWYgKHNyYW0t PmNsaykKPiA+ID4gLQkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShzcmFtLT5jbGspOwo+ID4gPiAt CQlyZXR1cm4gcmV0Owo+ID4gPiArCWlmIChwZGV2LT5kZXYub2Zfbm9kZSkgewo+ID4gPiArCQly ZXNlcnZlZF9saXN0ID0gb2ZfZ2V0X3Byb3BlcnR5KHBkZXYtPmRldi5vZl9ub2RlLAo+ID4gPiAr CQkJCQkJIm1taW8tc3JhbS1yZXNlcnZlZCIsCj4gPiA+ICsJCQkJCQkmcmVzZXJ2ZWRfc2l6ZSk7 Cj4gPiA+ICsJCWlmIChyZXNlcnZlZF9saXN0KSB7Cj4gPiA+ICsJCQlyZXNlcnZlZF9zaXplIC89 IHNpemVvZigqcmVzZXJ2ZWRfbGlzdCk7Cj4gPiA+ICsJCQlpZiAoIXJlc2VydmVkX3NpemUgfHwg cmVzZXJ2ZWRfc2l6ZSAlIDIpIHsKPiA+ID4gKwkJCQlkZXZfd2FybigmcGRldi0+ZGV2LCAid3Jv bmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBpbgo+ID4gPiBtbWlvLXNyYW0tcmVzZXJ2ZWRcbiIpOyAr CQkJCXJlc2VydmVkX2xpc3QgPSBOVUxMOwo+ID4gPiArCQkJfQo+ID4gPiArCQl9Cj4gPiA+ICsJ fQo+ID4gPiArCj4gPiA+ICsJaWYgKCFyZXNlcnZlZF9saXN0KSB7Cj4gPiA+ICsJCXJldCA9IGdl bl9wb29sX2FkZF92aXJ0KHNyYW0tPnBvb2wsICh1bnNpZ25lZCBsb25nKXZpcnRfYmFzZSwKPiA+ ID4gKwkJCQkJcmVzLT5zdGFydCwgc2l6ZSwgLTEpOwo+ID4gPiArCQlpZiAocmV0IDwgMCkgewo+ ID4gPiArCQkJaWYgKHNyYW0tPmNsaykKPiA+ID4gKwkJCQljbGtfZGlzYWJsZV91bnByZXBhcmUo c3JhbS0+Y2xrKTsKPiA+ID4gKwkJCXJldHVybiByZXQ7Cj4gPiA+ICsJCX0KPiA+IAo+ID4gTW92 aW5nIHRoZSBjbGtfcHJlcGFyZV9lbmFibGUoKSBmdXJ0aGVyIGRvd24gd291bGQgYWxsb3cgdG8g YXZvaWQgdGhlCj4gPiBjbGtfZGlzYWJsZV91bnByZXBhcmUoKSBpbiBldmVyeSBlcnJvciBwYXRo LAo+ID4gCj4gPiA+ICsJfSBlbHNlIHsKPiA+ID4gKwkJdW5zaWduZWQgaW50IGN1cl9zdGFydCA9 IDA7Cj4gPiA+ICsJCXVuc2lnbmVkIGludCBjdXJfc2l6ZTsKPiA+ID4gKwkJdW5zaWduZWQgaW50 IHJzdGFydDsKPiA+ID4gKwkJdW5zaWduZWQgaW50IHJzaXplOwo+ID4gPiArCQlpbnQgaTsKPiA+ ID4gKwo+ID4gPiArCQlmb3IgKGkgPSAwOyBpIDwgcmVzZXJ2ZWRfc2l6ZTsgaSArPSAyKSB7Cj4g PiA+ICsJCQkvKiBnZXQgdGhlIG5leHQgcmVzZXJ2ZWQgYmxvY2sgKi8KPiA+ID4gKwkJCXJzdGFy dCA9IGJlMzJfdG9fY3B1KCpyZXNlcnZlZF9saXN0KyspOwo+ID4gPiArCQkJcnNpemUgPSBiZTMy X3RvX2NwdSgqcmVzZXJ2ZWRfbGlzdCsrKTsKPiA+ID4gKwo+ID4gPiArCQkJLyogY2F0Y2ggdW5z b3J0ZWQgbGlzdCBlbnRyaWVzICovCj4gPiA+ICsJCQlpZiAocnN0YXJ0IDwgY3VyX3N0YXJ0KSB7 Cj4gPiA+ICsJCQkJZGV2X2VycigmcGRldi0+ZGV2LCAidW5zb3J0ZWQgcmVzZXJ2ZWQgbGlzdCAo MHgleCBiZWZvcmUgCj4gY3VycmVudAo+ID4gPiAweCV4KVxuIiwgKwkJCQkJcnN0YXJ0LCBjdXJf c3RhcnQpOwo+ID4gPiArCQkJCWlmIChzcmFtLT5jbGspCj4gPiA+ICsJCQkJCWNsa19kaXNhYmxl X3VucHJlcGFyZShzcmFtLT5jbGspOwo+ID4gCj4gPiBsaWtlIGhlcmUKPiA+IAo+ID4gPiArCQkJ CXJldHVybiAtRUlOVkFMOwo+ID4gPiArCQkJfQo+ID4gPiArCj4gPiA+ICsJCQlkZXZfZGJnKCZw ZGV2LT5kZXYsICJmb3VuZCByZXNlcnZlZCBibG9jayAweCV4LTB4JXhcbiIsCj4gPiA+ICsJCQkJ IHJzdGFydCwgcnN0YXJ0ICsgcnNpemUpOwo+ID4gPiArCj4gPiA+ICsJCQkvKiBjdXJyZW50IHN0 YXJ0IGlzIGluIGEgcmVzZXJ2ZWQgYmxvY2sgKi8KPiA+ID4gKwkJCWlmIChyc3RhcnQgPD0gY3Vy X3N0YXJ0KSB7Cj4gPiA+ICsJCQkJY3VyX3N0YXJ0ID0gcnN0YXJ0ICsgcnNpemU7Cj4gPiA+ICsJ CQkJY29udGludWU7Cj4gPiA+ICsJCQl9Cj4gPiA+ICsKPiA+ID4gKwkJCS8qCj4gPiA+ICsJCQkg KiBhbGxvY2F0ZSB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgY3VycmVudCBzdGFydGluZwo+ID4gPiAr CQkJICogYWRkcmVzcyBhbmQgdGhlIGZvbGxvd2luZyByZXNlcnZlZCBibG9jawo+ID4gPiArCQkJ ICovCj4gPiA+ICsJCQljdXJfc2l6ZSA9IHJzdGFydCAtIGN1cl9zdGFydDsKPiA+ID4gKwo+ID4g PiArCQkJZGV2X2RiZygmcGRldi0+ZGV2LCAiYWRkaW5nIGNodW5rIDB4JXgtMHgleFxuIiwKPiA+ ID4gKwkJCQkgY3VyX3N0YXJ0LCBjdXJfc3RhcnQgKyBjdXJfc2l6ZSk7Cj4gPiA+ICsJCQlyZXQg PSBnZW5fcG9vbF9hZGRfdmlydChzcmFtLT5wb29sLAo+ID4gPiArCQkJCQkodW5zaWduZWQgbG9u Zyl2aXJ0X2Jhc2UgKyBjdXJfc3RhcnQsCj4gPiA+ICsJCQkJCXJlcy0+c3RhcnQgKyBjdXJfc3Rh cnQsIGN1cl9zaXplLCAtMSk7Cj4gPiA+ICsJCQlpZiAocmV0IDwgMCkgewo+ID4gPiArCQkJCWlm IChzcmFtLT5jbGspCj4gPiA+ICsJCQkJCWNsa19kaXNhYmxlX3VucHJlcGFyZShzcmFtLT5jbGsp Owo+ID4gCj4gPiBhbmQgaGVyZS4KPiA+IAo+ID4gPiArCQkJCXJldHVybiByZXQ7Cj4gPiA+ICsJ CQl9Cj4gPiA+ICsKPiA+ID4gKwkJCS8qIG5leHQgYWxsb2NhdGlvbiBhZnRlciB0aGlzIHJlc2Vy dmVkIGJsb2NrICovCj4gPiA+ICsJCQljdXJfc3RhcnQgPSByc3RhcnQgKyByc2l6ZTsKPiA+ID4g KwkJfQo+ID4gPiArCj4gPiA+ICsJCS8qIGFsbG9jYXRlIHRoZSBzcGFjZSBhZnRlciB0aGUgbGFz dCByZXNlcnZlZCBibG9jayAqLwo+ID4gPiArCQlpZiAoY3VyX3N0YXJ0IDwgc2l6ZSkgewo+ID4g PiArCQkJY3VyX3NpemUgPSBzaXplIC0gY3VyX3N0YXJ0Owo+ID4gPiArCj4gPiA+ICsJCQlkZXZf ZGJnKCZwZGV2LT5kZXYsICJhZGRpbmcgY2h1bmsgMHgleC0weCV4XG4iLAo+ID4gPiArCQkJCSBj dXJfc3RhcnQsIGN1cl9zdGFydCArIGN1cl9zaXplKTsKPiA+ID4gKwkJCXJldCA9IGdlbl9wb29s X2FkZF92aXJ0KHNyYW0tPnBvb2wsCj4gPiA+ICsJCQkJCSh1bnNpZ25lZCBsb25nKXZpcnRfYmFz ZSArIGN1cl9zdGFydCwKPiA+ID4gKwkJCQkJcmVzLT5zdGFydCArIGN1cl9zdGFydCwgY3VyX3Np emUsIC0xKTsKPiA+ID4gKwkJfQo+ID4gPiArCj4gPiA+IAo+ID4gPiAgCX0KPiA+ID4gIAkKPiA+ ID4gIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBzcmFtKTsKPiA+IAo+ID4gQWxzbywgSSB0 aGluayB5b3UgY291bGQgcmVkdWNlIHRoZSBkdXBsaWNhdGlvbiBvZiBnZW5fcG9vbF9hZGRfdmly dCgpCj4gPiBmdW5jdGlvbiBjYWxscywgc29tZWhvdyBsaWtlIHRoaXM6Cj4gPiAKPiA+IAl1bnNp Z25lZCBpbnQgY3VyX3N0YXJ0ID0gMDsKPiA+IAl1bnNpZ25lZCBpbnQgY3VyX3NpemU7Cj4gPiAJ dW5zaWduZWQgaW50IHJzdGFydDsKPiA+IAl1bnNpZ25lZCBpbnQgcnNpemU7Cj4gPiAJaW50IGkg PSAwOwo+ID4gCj4gPiAJaWYgKCFyZXNlcnZlZF9saXN0KQo+ID4gCQlyZXNlcnZlZF9zaXplID0g MDsKPiA+IAo+ID4gCWZvciAoaSA9IDA7IGkgPCAocmVzZXJ2ZWRfc2l6ZSArIDIpOyBpICs9IDIp IHsKPiA+IAkJaWYgKGkgPCByZXNlcnZlZF9zaXplKSB7Cj4gPiAJCQkvKiBnZXQgdGhlIG5leHQg cmVzZXJ2ZWQgYmxvY2sgKi8KPiA+IAkJCXJzdGFydCA9IGJlMzJfdG9fY3B1KCpyZXNlcnZlZF9s aXN0KyspOwo+ID4gCQkJcnNpemUgPSBiZTMyX3RvX2NwdSgqcmVzZXJ2ZWRfbGlzdCsrKTsKPiA+ IAo+ID4gCQkJLyogY2F0Y2ggdW5zb3J0ZWQgbGlzdCBlbnRyaWVzICovCj4gPiAJCQlpZiAocnN0 YXJ0IDwgY3VyX3N0YXJ0KSB7Cj4gPiAJCQkJZGV2X2VycigmcGRldi0+ZGV2LAo+ID4gCQkJCQki dW5zb3J0ZWQgcmVzZXJ2ZWQgbGlzdCAoMHgleCBiZWZvcmUgY3VycmVudCAweCV4KVxuIiwKPiA+ IAkJCQkJcnN0YXJ0LCBjdXJfc3RhcnQpOwo+ID4gCQkJCXJldHVybiAtRUlOVkFMOwo+ID4gCQkJ fQo+ID4gCj4gPiAJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCj4gPiAJCQkJImZvdW5kIHJlc2VydmVk IGJsb2NrIDB4JXgtMHgleFxuIiwKPiA+IAkJCQlyc3RhcnQsIHJzdGFydCArIHJzaXplKTsKPiA+ IAkJfSBlbHNlIHsKPiA+IAkJCS8qIHRoZSBsYXN0IGNodW5rIGV4dGVuZHMgdG8gdGhlIGVuZCBv ZiB0aGUgcmVnaW9uICovCj4gPiAJCQlyc3RhcnQgPSBzaXplOwo+ID4gCQl9Cj4gPiAKPiA+IAkJ LyogY3VycmVudCBzdGFydCBpcyBpbiBhIHJlc2VydmVkIGJsb2NrICovCj4gPiAJCWlmIChyc3Rh cnQgPD0gY3VyX3N0YXJ0KSB7Cj4gPiAJCQljdXJfc3RhcnQgPSByc3RhcnQgKyByc2l6ZTsKPiA+ IAkJCWNvbnRpbnVlOwo+ID4gCQl9Cj4gPiAKPiA+IAkJLyoKPiA+IAkJICogYWxsb2NhdGUgdGhl IHNwYWNlIGJldHdlZW4gdGhlIGN1cnJlbnQgc3RhcnRpbmcKPiA+IAkJICogYWRkcmVzcyBhbmQg dGhlIGZvbGxvd2luZyByZXNlcnZlZCBibG9jaywgb3IgdGhlCj4gPiAJCSAqIGVuZCBvZiB0aGUg cmVnaW9uLgo+ID4gCQkgKi8KPiA+IAkJY3VyX3NpemUgPSByc3RhcnQgLSBjdXJfc3RhcnQ7Cj4g PiAKPiA+IAkJZGV2X2RiZygmcGRldi0+ZGV2LCAiYWRkaW5nIGNodW5rIDB4JXgtMHgleFxuIiwK PiA+IAkJCWN1cl9zdGFydCwgY3VyX3N0YXJ0ICsgY3VyX3NpemUpOwo+ID4gCQlyZXQgPSBnZW5f cG9vbF9hZGRfdmlydChzcmFtLT5wb29sLAo+ID4gCQkJCSh1bnNpZ25lZCBsb25nKXZpcnRfYmFz ZSArIGN1cl9zdGFydCwKPiA+IAkJCQlyZXMtPnN0YXJ0ICsgY3VyX3N0YXJ0LCBjdXJfc2l6ZSwg LTEpOwo+ID4gCQlpZiAocmV0IDwgMCkKPiA+IAkJCXJldHVybiByZXQ7Cj4gPiAJfQo+IAo+IHll cCwgdGhpcyBsb29rcyBuaWNlciAtIHNhbWUgZm9yIG1vdmluZyB0aGUgY2xrX3ByZXBhcmVfZW5h YmxlIHRvIGJlbG93IHRoaXMgCj4gbG9vcCB0byB1bmNsdXR0ZXIgdGhlIGVycm9yLXBhdGguCj4g Cj4gU28gSSB3aWxsIGluY29ycG9yYXRlIHRoaXMgaW4gdjMuCgpFeGNlbGxlbnQuCgp0aGFua3MK UGhpbGlwcAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRldmljZXRyZWUtZGlzY3VzcyBtYWlsaW5nIGxpc3QKZGV2aWNldHJlZS1kaXNjdXNzQGxpc3Rz Lm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xpc3RpbmZvL2RldmljZXRyZWUt ZGlzY3Vzcwo=