From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 384BED1AD53 for ; Wed, 16 Oct 2024 12:31:22 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4427A88CA1; Wed, 16 Oct 2024 14:31:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=dh-electronics.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=dh-electronics.com header.i=@dh-electronics.com header.b="eqXnJ2ZL"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7D05788CB8; Wed, 16 Oct 2024 14:31:18 +0200 (CEST) Received: from mx3.securetransport.de (mx3.securetransport.de [116.203.31.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id D52B188CA1 for ; Wed, 16 Oct 2024 14:31:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=dh-electronics.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=cniedermaier@dh-electronics.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dh-electronics.com; s=dhelectronicscom; t=1729081869; bh=W+4avIhIl6ig25FEhYuPFUD0sgOonemFhPuGklWzxos=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=eqXnJ2ZLUQvls/gcxf5NXZedclVcQ1PzeW5ax7putN/mwxL6fNtFNxuoRNdW6oIX+ OfZz+lHldToqEm4mQAuu2YdAQ3RkbffUUqfIL5kpwl17jRhHHQo9kQGNGrhNvD1DBI unvndln2iLHgS5w4mzi3miO/Fq7fQlucgpdhUyiE3nZBtSz6f41lRC9QMJfx9MT9A/ nGwqVDjXCuUs8/2en2xfkZ06kz50RU6CucMl/KxPzSlZiGEXQjanwCQ845LwSpw4tS C9dLcTpVpNYBhF3Ibr/zKcoJDSsd9SriAt/ItGfRBiNV7OLfsyHws4XEReM2JEJL9c iZg7nqsFa+yRw== X-secureTransport-forwarded: yes From: Christoph Niedermaier Complaints-To: abuse@cubewerk.de To: Marek Vasut , "u-boot@lists.denx.de" CC: NXP i.MX U-Boot Team , Fabio Estevam , Stefano Babic , Tom Rini , u-boot Subject: RE: [PATCH 2/2] arm64: imx8mp: Read item and serial number from EEPROM ID page on DH i.MX8MP DHCOM Thread-Topic: [PATCH 2/2] arm64: imx8mp: Read item and serial number from EEPROM ID page on DH i.MX8MP DHCOM Thread-Index: AQHbGxfHmD5+3BWcGkWm07IML/aPr7KDeoyAgAXUiUA= Date: Wed, 16 Oct 2024 12:31:06 +0000 Message-ID: References: <20241010132337.3259-1-cniedermaier@dh-electronics.com> <20241010132337.3259-2-cniedermaier@dh-electronics.com> <934d25c2-39d8-4f51-b29e-8f20feb7431f@denx.de> In-Reply-To: <934d25c2-39d8-4f51-b29e-8f20feb7431f@denx.de> Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean RnJvbTogTWFyZWsgVmFzdXQgPG1hcmV4QGRlbnguZGU+DQpTZW50OiBTYXR1cmRheSwgT2N0b2Jl ciAxMiwgMjAyNCAxMDo1NiBQTQ0KPiBPbiAxMC8xMC8yNCAzOjIzIFBNLCBDaHJpc3RvcGggTmll ZGVybWFpZXIgd3JvdGU6DQo+PiBUaGUgbmV3IGkuTVg4TSBQbHVzIERIQ09NIHJldi4yMDAgaXMg cG9wdWxhdGVkIHdpdGggTTI0QzMyLUQgRUVQUk9NDQo+PiB3aGljaCBjb250YWlucyBhZGRpdGlv bmFsIHdyaXRlLWxvY2thYmxlIHBhZ2UgY2FsbGVkIElEIHBhZ2UsIHdoaWNoDQo+PiBpcyBwb3B1 bGF0ZWQgd2l0aCBhIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBpdGVtIGFuZCBzZXJpYWwgbnVt YmVyLg0KPj4NCj4+IEV4dGVuZCB0aGUgc3VwcG9ydCBmb3IgcGFyc2luZyB0aGUgaXRlbSBhbmQg c2VyaWFsIG51bWJlciBvZiB0aGUNCj4+IEVFUFJPTSBJRCBwYWdlLiBXcml0ZSB0aGUgaXRlbSBh bmQgc2VyaWFsIG51bWJlciB0byB0aGUgVS1Cb290DQo+PiBlbnZpcm9ubWVudCBpZiB0aGUgYXJl bid0IHRoZXJlLiBJZiB0aGUgZW52aXJvbm1lbnQgaXMgYWxyZWFkeQ0KPj4gdGhlcmUgY29tcGFy ZSBpdCB3aXRoIHRoZSBvbmUgZnJvbSB0aGUgRUVQUk9NIElEIHBhZ2UgYW5kIG91dHB1dA0KPj4g YSB3YXJuaW5nIGlmIGl0IGRpZmZlcnMuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3Bo IE5pZWRlcm1haWVyIDxjbmllZGVybWFpZXJAZGgtZWxlY3Ryb25pY3MuY29tPg0KPj4gLS0tDQo+ PiBDYzogIk5YUCBpLk1YIFUtQm9vdCBUZWFtIiA8dWJvb3QtaW14QG54cC5jb20+DQo+PiBDYzog TWFyZWsgVmFzdXQgPG1hcmV4QGRlbnguZGU+DQo+PiBDYzogRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2 YW1AZ21haWwuY29tPg0KPj4gQ2M6IFN0ZWZhbm8gQmFiaWMgPHNiYWJpY0BkZW54LmRlPg0KPj4g Q2M6IFRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+DQo+PiBDYzogdS1ib290QGRoLWVsZWN0 cm9uaWNzLmNvbQ0KPj4gLS0tDQo+PiAgIGJvYXJkL2RoZWxlY3Ryb25pY3MvY29tbW9uL2RoX2Nv bW1vbi5jICAgICAgICB8IDUxICsrKysrKysrKysrKysrKysrKw0KPj4gICBib2FyZC9kaGVsZWN0 cm9uaWNzL2NvbW1vbi9kaF9jb21tb24uaCAgICAgICAgfCAgMiArDQo+PiAgIC4uLi9kaF9pbXg4 bXAvaW14OG1wX2RoY29tX3BkazIuYyAgICAgICAgICAgICB8IDUzICsrKysrKysrKysrKysrKysr KysNCj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYg LS1naXQgYS9ib2FyZC9kaGVsZWN0cm9uaWNzL2NvbW1vbi9kaF9jb21tb24uYyBiL2JvYXJkL2Ro ZWxlY3Ryb25pY3MvY29tbW9uL2RoX2NvbW1vbi5jDQo+PiBpbmRleCA4ZWE3MGZjOTg0Li40YzMx YjMyZTBjIDEwMDY0NA0KPj4gLS0tIGEvYm9hcmQvZGhlbGVjdHJvbmljcy9jb21tb24vZGhfY29t bW9uLmMNCj4+ICsrKyBiL2JvYXJkL2RoZWxlY3Ryb25pY3MvY29tbW9uL2RoX2NvbW1vbi5jDQo+ PiBAQCAtMTEsNiArMTEsMjMgQEANCj4+DQo+PiAgICNpbmNsdWRlICJkaF9jb21tb24uaCINCj4+ DQo+PiArLyogREggaXRlbTogVmVuZG9yIGNvZGluZyAqLw0KPj4gKyNkZWZpbmUgSVRFTV9QUkVG SVhfTlhQICAgICAgICAgICAgICAweDAxDQo+PiArI2RlZmluZSBJVEVNX1BSRUZJWF9OWFBfQ0hS ICAnSScNCj4+ICsjZGVmaW5lIElURU1fUFJFRklYX1NUICAgICAgICAgICAgICAgMHgwMg0KPj4g KyNkZWZpbmUgSVRFTV9QUkVGSVhfU1RfQ0hSICAgJ1MnDQo+IA0KPiAjZGVmaW5lIERIX0lURU1f Li4uIHRvIG5hbWVzcGFjZSB0aGUgbWFjcm9zLCBwbGVhc2UgZml4IGdsb2JhbGx5Lg0KDQpXaWxs IGJlIGZpeGVkIGluIHYyLg0KDQo+PiArLyoNCj4+ICsgKiBESCBpdGVtOiBGaW5pc2hlZCBzdGF0 ZSBjb2RpbmcNCj4+ICsgKiBCaXQgPSAwIG1lYW5zIGhhbGYgZmluaXNoZWQNCj4+ICsgKiAgICAg ICAgIFByZWZpeCBpcyAnSCcNCj4+ICsgKiBCaXQgPSAxIG1lYW5zIGZpbmlzaGVkIHdpdGggYSBj dXN0b21lciBpbWFnZSBmbGFzaGVkDQo+PiArICogICAgICAgICBQcmVmaXggaXMgJ0YnDQo+PiAr ICovDQo+PiArI2RlZmluZSBJVEVNX1BSRUZJWF9GSU5fQklUICAgICAgICAgIEJJVCg3KQ0KPj4g KyNkZWZpbmUgSVRFTV9QUkVGSVhfRklOX0hBTEZfQ0hSICAgICAnSCcNCj4+ICsjZGVmaW5lIElU RU1fUFJFRklYX0ZJTl9GTEFTSEVEX0NIUiAgJ0YnDQo+PiArDQo+PiAgIHN0cnVjdCBlZXByb21f aWRfcGFnZSB7DQo+PiAgICAgICB1OCAgICAgIGlkWzNdOyAgICAgICAgICAvKiBJZGVudGlmaWVy ICdEJywgJ0gnLCAnRScgLSAnRCcgaXMgYXQgaW5kZXggMCAqLw0KPj4gICAgICAgdTggICAgICB2 ZXJzaW9uOyAgICAgICAgLyogMHgxMCAtLSBWZXJzaW9uIDEuMCAqLw0KPj4gQEAgLTU0LDYgKzcx LDcgQEAgaW50IGRoX2dldF92YWx1ZV9mcm9tX2VlcHJvbV9pZF9wYWdlKGVudW0gZWlwX3JlcXVl c3RfdmFsdWVzIHJlcXVlc3QsIHU4ICpkYXRhLA0KPj4gICAgICAgb2Zub2RlIG5vZGU7DQo+PiAg ICAgICB1MTYgYzE2Ow0KPj4gICAgICAgdTggYzg7DQo+PiArICAgICBjaGFyIHNvYzsNCj4gDQo+ IFJldmVyc2UgeG1hcyB0cmVlIG9yZGVyaW5nIGhlcmUgcGxlYXNlLg0KDQpXaWxsIGJlIGZpeGVk IGluIHYyLg0KDQo+PiAgICAgICBlaXBwID0gKHN0cnVjdCBlZXByb21faWRfcGFnZSAqKWVpcGE7 DQo+Pg0KPj4gQEAgLTEzNiw2ICsxNTQsMzkgQEAgaW50IGRoX2dldF92YWx1ZV9mcm9tX2VlcHJv bV9pZF9wYWdlKGVudW0gZWlwX3JlcXVlc3RfdmFsdWVzIHJlcXVlc3QsIHU4ICpkYXRhLA0KPj4g ICAgICAgICAgICAgICBlbHNlDQo+PiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7DQo+PiAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gKyAgICAgY2FzZSBJVEVNX05VTUJFUjoN Cj4+ICsgICAgICAgICAgICAgaWYgKGRhdGFfbGVuID49IDgpIHsgLyogU3RyaW5nIHdpdGggNyBj aGFyYWN0ZXJzICsgc3RyaW5nIHRlcm1pbmF0aW9uICovDQo+IA0KPiBJbnZlcnQgdGhpcyBjb25k aXRpb24gYW5kIHJlZHVjZSBpbmRlbnQ6DQo+IA0KPiBpZiAoZGF0YSA8IDgpDQo+ICAgIHJldHVy biAtRUlOVkFMOw0KPiANCj4gc3dpdGNoIC4uLg0KPiAuLi4NCg0KV2lsbCBiZSBmaXhlZCBpbiB2 Mi4NCg0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZWlwcC0+aXRlbV9wcmVmaXgg JiAweGYpIHsNCj4+ICsgICAgICAgICAgICAgICAgICAgICBjYXNlIElURU1fUFJFRklYX05YUDoN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvYyA9IElURU1fUFJFRklYX05YUF9D SFI7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICsgICAgICAg ICAgICAgICAgICAgICBjYXNlIElURU1fUFJFRklYX1NUOg0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc29jID0gSVRFTV9QUkVGSVhfU1RfQ0hSOw0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7DQo+PiArICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoN Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4gKyAg ICAgICAgICAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICAgICAgICAgICBzbnByaW50Zihk YXRhLCBkYXRhX2xlbiwgIiVjJWMlMDVkIiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZWlwcC0+aXRlbV9wcmVmaXggJiBJVEVNX1BSRUZJWF9GSU5fQklUKSA/DQo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSVRFTV9QUkVGSVhfRklOX0ZMQVNIRURfQ0hSIDog SVRFTV9QUkVGSVhfRklOX0hBTEZfQ0hSLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNvYywgKGVpcHAtPml0ZW1fbnVtWzBdIDw8IDE2KSB8IChlaXBwLT5pdGVtX251bVsxXSA8 PCA4KQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZWlwcC0+aXRl bV9udW1bMl0pOw0KPj4gKyAgICAgICAgICAgICB9IGVsc2Ugew0KPj4gKyAgICAgICAgICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4gKyAgICAgICAgICAgICB9DQo+PiArICAgICAgICAg ICAgIGJyZWFrOw0KPj4gKyAgICAgY2FzZSBTTjoNCj4gDQo+IFVzZSBuYW1lc3BhY2VkICJESF9T RVJJQUxfTlVNQkVSIjoNCg0KV2lsbCBiZSBmaXhlZCBpbiB2Mi4NCg0KPj4gKyAgICAgICAgICAg ICAvKg0KPj4gKyAgICAgICAgICAgICAgKiBkYXRhX2xlbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0 aGUgc2l6ZSBvZiBlaXBwLT5zZXJpYWwsDQo+PiArICAgICAgICAgICAgICAqIGJlY2F1c2UgdGhl cmUgaXMgYSBzdHJpbmcgdGVybWluYXRpb24gbmVlZGVkLg0KPj4gKyAgICAgICAgICAgICAgKi8N Cj4gDQo+IEludmVydCB0aGlzIGNvbmRpdGlvbiBhbmQgcmVkdWNlIGluZGVudDoNCj4gDQo+IGlm IChkYXRhX2xlbiA8PSBzaXplb2YoZWlwcC0+c2VyaWFsKSkNCj4gICAgcmV0dXJuIC1FSU5WQUw7 DQo+IA0KPiAuLi4NCg0KV2lsbCBiZSBmaXhlZCBpbiB2Mi4NCg0KPj4gKyAgICAgICAgICAgICBp ZiAoZGF0YV9sZW4gPiBzaXplb2YoZWlwcC0+c2VyaWFsKSkgew0KPj4gKyAgICAgICAgICAgICAg ICAgICAgIGRhdGFbc2l6ZW9mKGVpcHAtPnNlcmlhbCldID0gMDsNCj4+ICsgICAgICAgICAgICAg ICAgICAgICBtZW1jcHkoZGF0YSwgZWlwcC0+c2VyaWFsLCBzaXplb2YoZWlwcC0+c2VyaWFsKSk7 DQo+PiArICAgICAgICAgICAgIH0gZWxzZSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIC1FSU5WQUw7DQo+PiArICAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICAgYnJlYWs7 DQo+PiAgICAgICBkZWZhdWx0Og0KPj4gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ ICAgICAgIH0NCj4+IGRpZmYgLS1naXQgYS9ib2FyZC9kaGVsZWN0cm9uaWNzL2NvbW1vbi9kaF9j b21tb24uaCBiL2JvYXJkL2RoZWxlY3Ryb25pY3MvY29tbW9uL2RoX2NvbW1vbi5oDQo+PiBpbmRl eCA0YzIyZWNlNDM1Li4xYmFhNDVlMzQwIDEwMDY0NA0KPj4gLS0tIGEvYm9hcmQvZGhlbGVjdHJv bmljcy9jb21tb24vZGhfY29tbW9uLmgNCj4+ICsrKyBiL2JvYXJkL2RoZWxlY3Ryb25pY3MvY29t bW9uL2RoX2NvbW1vbi5oDQo+PiBAQCAtNiw2ICs2LDggQEANCj4+ICAgZW51bSBlaXBfcmVxdWVz dF92YWx1ZXMgew0KPj4gICAgICAgTUFDMCwNCj4+ICAgICAgIE1BQzEsDQo+PiArICAgICBJVEVN X05VTUJFUiwNCj4+ICsgICAgIFNOLA0KPiANCj4gV2h5IGlzIHRoaXMgcGF0Y2ggbm90IHNxdWFz aGVkIGludG8gMS8yID8gSXQgc2VlbXMgdG8gYmUgY2hhbmdpbmcgdGhlDQo+IHNhbWUgY29kZS4N Cg0KVGhlIGZpcnN0IHBhdGNoIGFkZCB0aGUgcmVhZGluZyBmb3IgTUFDIGFkZHJlc3MgZnJvbSB0 aGUgRUVQUk9NIElEDQpwYWdlIGFuZCBhZGQgdGhlIHVzZSBvZiB0aGF0IGFkZHJlc3Nlcy4gVGhl IHNlY29uZCBleHRlbmRzIHRoZSByZWFkaW5nDQp0byB0aGUgc2VyaWFsIG51bWJlciBhbmQgdGhl IGl0ZW0gbnVtYmVyLiBTbyB0aGF0IHRoZSBwYXRjaCBkb2Vzbid0DQpnZXQgdG9vIGJpZyBJIGZv dW5kIGl0IHVzZWZ1bCB0byBzcGxpdCBpdCBpbnRvIHR3by4gRG8geW91IHdhbnQgbWUgdG8NCm1h a2Ugb25lIHBhdGNoIG91dCBvZiBpdD8NCg0KPj4gICB9Ow0KPj4NCj4+ICAgLyoNCj4+IGRpZmYg LS1naXQgYS9ib2FyZC9kaGVsZWN0cm9uaWNzL2RoX2lteDhtcC9pbXg4bXBfZGhjb21fcGRrMi5j IGIvYm9hcmQvZGhlbGVjdHJvbmljcy9kaF9pbXg4bXAvaW14OG1wX2RoY29tX3BkazIuYw0KPj4g aW5kZXggOWE4ZjA5ZmNkNC4uODk3MGM4ZmMyZCAxMDA2NDQNCj4+IC0tLSBhL2JvYXJkL2RoZWxl Y3Ryb25pY3MvZGhfaW14OG1wL2lteDhtcF9kaGNvbV9wZGsyLmMNCj4+ICsrKyBiL2JvYXJkL2Ro ZWxlY3Ryb25pY3MvZGhfaW14OG1wL2lteDhtcF9kaGNvbV9wZGsyLmMNCj4+IEBAIC0xMTYsNiAr MTE2LDU2IEBAIGludCBkaF9zZXR1cF9tYWNfYWRkcmVzcyh2b2lkKQ0KPj4gICAgICAgcmV0dXJu IHJldDsNCj4+ICAgfQ0KPj4NCj4+ICt2b2lkIGRoX2FkZF9pdGVtX251bWJlcl9hbmRfc2VyaWFs X3RvX2Vudih2b2lkKQ0KPj4gK3sNCj4+ICsgICAgIGNoYXIgaXRlbV9udW1iZXJbOF07ICAgIC8q IFN0cmluZyB3aXRoIDcgY2hhcmFjdGVycyArIHN0cmluZyB0ZXJtaW5hdGlvbiAqLw0KPj4gKyAg ICAgY2hhciAqaXRlbV9udW1iZXJfZW52Ow0KPj4gKyAgICAgY2hhciBzZXJpYWxbMTBdOyAgICAg ICAgLyogU3RyaW5nIHdpdGggOSBjaGFyYWN0ZXJzICsgc3RyaW5nIHRlcm1pbmF0aW9uICovDQo+ PiArICAgICBjaGFyICpzZXJpYWxfZW52Ow0KPj4gKyAgICAgaW50IHJldDsNCj4gDQo+IFJldmVy c2UgeG1hcyB0cmVlIHBsZWFzZSAtLSBzd2FwIHRoZSBmaXJzdCBwYWlyIGFuZCBzZWNvbmQgcGFp ciBvZg0KPiB2YXJpYWJsZXMuDQoNCldpbGwgYmUgZml4ZWQgaW4gdjIuDQoNCj4+ICsNCj4+ICsg ICAgIHJldCA9IGRoX2dldF92YWx1ZV9mcm9tX2VlcHJvbV9pZF9wYWdlKElURU1fTlVNQkVSLCBp dGVtX251bWJlciwgc2l6ZW9mKGl0ZW1fbnVtYmVyKSwNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJlZXByb20wIik7DQo+PiArICAgICBpZiAocmV0KSB7 DQo+PiArICAgICAgICAgICAgIC8qDQo+PiArICAgICAgICAgICAgICAqIFRoZSBmdW5jdGlvbiBv bmx5IHJldHVybnMgdGhlIHZhbHVlIC1FTk9FTlQgZm9yIFNvTSByZXYuMTAwLCBiZWNhdXNlDQo+ PiArICAgICAgICAgICAgICAqIHRoZSBFRVBST00gSUQgcGFnZSBpc24ndCBhdmFpbGFibGUgdGhl cmUuIFRoZXJlZm9yZSB0aGUgb3V0cHV0IG1ha2VzDQo+PiArICAgICAgICAgICAgICAqIG5vIHNl bnNlIGFuZCB3aWxsIGJlIHN1cHByZXNzZWQgaGVyZS4NCj4+ICsgICAgICAgICAgICAgICovDQo+ PiArICAgICAgICAgICAgIGlmIChyZXQgIT0gLUVOT0VOVCkNCj4+ICsgICAgICAgICAgICAgICAg ICAgICBwcmludGYoIiVzOiBVbmFibGUgdG8gZ2V0IGl0ZW0gbnVtYmVyIGZvcm0gRUVQUk9NIElE IHBhZ2UhIHJldCA9ICVkXG4iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2Z1 bmNfXywgcmV0KTsNCj4gDQo+IFRoaXMgd2lsbCBiZSBwcmludGVkIG9uIGV2ZXJ5IGRldmljZSwg ZXZlbiB0aGUgb25lcyB3aXRob3V0IElEIEVFUFJPTSwNCj4gY29ycmVjdCA/IFRoaXMgc2hvdWxk IG5vdCBiZSBwcmludGVkIG9uIGRldmljZXMgd2l0aG91dCBJRCBFRVBST00uIEFsc28sDQoNClRo aXMgaXMgc3VwcHJlc3NlZCBieSB0aGUgLUVOT0VOVCBjaGVjay4NCg0KPiBpZiAocmV0ICYmIHJl dCAhPSAtRU5PRU5UKSB7fQ0KPiANCj4gd29ya3MgZXF1YWxseSB3ZWxsIHdpdGhvdXQgdGhlIGV4 dHJhIGluZGVudC4NCg0KSSBoYXZlIGFuIGVsc2UgdG8gKHJldCkgaGVyZSBub3QgdG8gKHJldCAm JiByZXQgIT0gLUVOT0VOVCkuDQpUaGlzIHdvdWxkIGNoYW5nZSB0aGUgbG9naWMuDQoNCj4+ICsg ICAgIH0gZWxzZSB7DQo+PiArICAgICAgICAgICAgIGl0ZW1fbnVtYmVyX2VudiA9IGVudl9nZXQo InZlbmRvcl9pdGVtX251bWJlciIpOw0KPj4gKyAgICAgICAgICAgICBpZiAoIWl0ZW1fbnVtYmVy X2VudikNCj4+ICsgICAgICAgICAgICAgICAgICAgICBlbnZfc2V0KCJ2ZW5kb3JfaXRlbV9udW1i ZXIiLCBpdGVtX251bWJlcik7DQo+PiArICAgICAgICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAg ICAgICAgICAgICBpZiAoc3RyY21wKGl0ZW1fbnVtYmVyX2VudiwgaXRlbV9udW1iZXIpICE9IDAp DQo+IA0KPiBlbHNlIGlmIChzdHJjbXAoLi4uLCAuLi4pKQ0KPiAgICBsb2dfd2FybmluZyguLi4p DQoNCldpbGwgYmUgZml4ZWQgaW4gdjIuDQogDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwcmludGYoIldhcm5pbmc6IEVudmlyb25tZW50IHZlbmRvcl9pdGVtX251bWJlciBkaWZm ZXJzIGZyb20gRUVQUk9NIElEIHBhZ2UgdmFsdWUgKCVzICE9ICVzKVxuIiwNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX251bWJlcl9lbnYsIGl0ZW1fbnVtYmVy KTsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAgIHJldCA9IGRoX2dldF92YWx1ZV9mcm9tX2Vl cHJvbV9pZF9wYWdlKFNOLCBzZXJpYWwsIHNpemVvZihzZXJpYWwpLCAiZWVwcm9tMCIpOw0KPj4g KyAgICAgaWYgKHJldCkgew0KPj4gKyAgICAgICAgICAgICAvKg0KPj4gKyAgICAgICAgICAgICAg KiBUaGUgZnVuY3Rpb24gb25seSByZXR1cm5zIHRoZSB2YWx1ZSAtRU5PRU5UIGZvciBTb00gcmV2 LjEwMCwgYmVjYXVzZQ0KPj4gKyAgICAgICAgICAgICAgKiB0aGUgRUVQUk9NIElEIHBhZ2UgaXNu J3QgYXZhaWxhYmxlIHRoZXJlLiBUaGVyZWZvcmUgdGhlIG91dHB1dCBtYWtlcw0KPj4gKyAgICAg ICAgICAgICAgKiBubyBzZW5zZSBhbmQgd2lsbCBiZSBzdXBwcmVzc2VkIGhlcmUuDQo+PiArICAg ICAgICAgICAgICAqLw0KPj4gKyAgICAgICAgICAgICBpZiAocmV0ICE9IC1FTk9FTlQpDQo+PiAr ICAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlczogVW5hYmxlIHRvIGdldCBzZXJpYWwgZm9y bSBFRVBST00gSUQgcGFnZSEgcmV0ID0gJWRcbiIsDQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF9fZnVuY19fLCByZXQpOw0KPiANCj4gU2VlIGFib3ZlLg0KDQpXaWxsIGJlIGZpeGVk IGluIHYyLg0KDQo+IEFsc28sIHRoaXMgc2hvdWxkbid0IGJlIHJlcGVhdGVkbHkgcmVhZGluZyB0 aGUgRUVQUk9NLCB0aGUgRUVQUk9NIHJlYWQNCj4gb3BlcmF0aW9uIGlzIHRoZSBzbG93IHBhcnQs IHRoZSBFRVBST00gaXMgMzIgYnl0ZXMsIHNvIHRoZSBFRVBST00gc2hvdWxkDQo+IGJlIHJlYWQg b25jZSBhbmQgY2FjaGVkLCBhbmQgb25jZSB0aGUgY2FjaGUgaXMgcG9wdWxhdGVkIGFsbCByZWFk DQo+IGFjY2Vzc2VzIHRvIHRoZSBFRVBST00gc2hvdWxkIHVzZSB0aGUgY2FjaGUuDQoNClRoaXMg aXMgYWxyZWFkeSBjb3ZlcmVkIGluIGZ1bmN0aW9uIGRoX2dldF92YWx1ZV9mcm9tX2VlcHJvbV9p ZF9wYWdlKCkuDQoNCj4+ICsgICAgIH0gZWxzZSB7DQo+PiArICAgICAgICAgICAgIHNlcmlhbF9l bnYgPSBlbnZfZ2V0KCJTTiIpOw0KPj4gKyAgICAgICAgICAgICBpZiAoIXNlcmlhbF9lbnYpDQo+ PiArICAgICAgICAgICAgICAgICAgICAgZW52X3NldCgiU04iLCBzZXJpYWwpOw0KPj4gKyAgICAg ICAgICAgICBlbHNlDQo+PiArICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cmNtcChzZXJpYWxf ZW52LCBzZXJpYWwpICE9IDApDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlu dGYoIldhcm5pbmc6IEVudmlyb25tZW50IFNOIGRpZmZlcnMgZnJvbSBFRVBST00gSUQgcGFnZSB2 YWx1ZSAoJXMgIT0gJXMpXG4iLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlcmlhbF9lbnYsIHNlcmlhbCk7DQo+PiArICAgICB9DQo+PiArfQ0KPj4gKw0KPj4gICBp bnQgYm9hcmRfaW5pdCh2b2lkKQ0KPj4gICB7DQo+PiAgICAgICByZXR1cm4gMDsNCj4gWy4uLl0N Cg0KUmVnYXJkcw0KQ2hyaXN0b3BoDQo=