From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dxUjd-0005PW-LH for barebox@lists.infradead.org; Thu, 28 Sep 2017 09:04:03 +0000 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Thu, 28 Sep 2017 11:03:28 +0200 Message-Id: <20170928090329.28006-3-u.kleine-koenig@pengutronix.de> In-Reply-To: <20170928090329.28006-1-u.kleine-koenig@pengutronix.de> References: <20170928090329.28006-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v2 2/3] state: new backend format "rawcompat" To: barebox@lists.infradead.org VGhpcyBpcyB0aGUgZm9ybWF0IHRoYXQgd2FzIGluaXRpYWxseSB1c2VkIGR1cmluZyBkZXZlbG9w bWVudCBvZiB0aGUKc3RhdGUgZnJhbWV3b3JrLiBTb21lIGVhcmx5IGFkb3B0ZXJzIHN0aWxsIHN0 aWNrIHRvIHRoaXMgb25lLgoKU2lnbmVkLW9mZi1ieTogVXdlIEtsZWluZS1Lw7ZuaWcgPHUua2xl aW5lLWtvZW5pZ0BwZW5ndXRyb25peC5kZT4KLS0tCiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9i YXJlYm94L2JhcmVib3gsc3RhdGUucnN0ICB8ICAgOSArLQogY29tbW9uL3N0YXRlL01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogY29tbW9uL3N0YXRlL2JhY2tl bmRfZm9ybWF0X3Jhd2NvbXBhdC5jICAgICAgICAgICAgfCAxNDUgKysrKysrKysrKysrKysrKysr KysrCiBjb21tb24vc3RhdGUvc3RhdGUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMyArCiBjb21tb24vc3RhdGUvc3RhdGUuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMiArCiA1IGZpbGVzIGNoYW5nZWQsIDE1OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbW1vbi9zdGF0ZS9iYWNrZW5kX2Zvcm1hdF9yYXdj b21wYXQuYwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9i YXJlYm94L2JhcmVib3gsc3RhdGUucnN0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2JhcmVib3gvYmFyZWJveCxzdGF0ZS5yc3QKaW5kZXggZWQxN2UzZTc1ODgzLi5jMTNhMDAx ZDc5N2UgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9iYXJl Ym94L2JhcmVib3gsc3RhdGUucnN0CisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9iYXJlYm94L2JhcmVib3gsc3RhdGUucnN0CkBAIC0zMSw3ICszMSw3IEBAIFJlcXVpcmVk IHByb3BlcnRpZXM6CiAqIGBgbWFnaWNgYDogQSAzMmJpdCBudW1iZXIgdXNlZCBhcyBhIG1hZ2lj IHRvIGlkZW50aWZ5IHRoZSBzdGF0ZQogKiBgYGJhY2tlbmRgYDogY29udGFpbnMgYSBwaGFuZGxl IHRvIHRoZSBkZXZpY2UvcGFydGl0aW9uIHdoaWNoIGhvbGRzIHRoZQogICBhY3R1YWwgc3RhdGUg ZGF0YS4KLSogYGBiYWNrZW5kLXR5cGVgYDogc2hvdWxkIGJlIGBgcmF3YGAgb3IgYGBkdGJgYC4K KyogYGBiYWNrZW5kLXR5cGVgYDogc2hvdWxkIGJlIGBgcmF3YGAsIGBgZHRiYGAgb3IgYGByYXdj b21wYXRgYCAobm90IHJlY29tbWVuZGVkKS4KICogYWRkaXRpb25hbGx5IGEgc3RhdGUgbm9kZSBt dXN0IGhhdmUgYW4gYWxpYXMgaW4gdGhlIC9hbGlhc2VzLyBub2RlIHBvaW50aW5nCiAgIHRvIGl0 LgogCkBAIC0xMjcsNyArMTI3LDcgQEAgVmFyaWFibGUgVHlwZXMKIEJhY2tlbmRzCiAtLS0tLS0t LQogCi1DdXJyZW50bHkgdHdvIGJhY2tlbmRzIGV4aXN0LiBUaGUgYGByYXdgYCBiYWNrZW5kIGlz IGEgdmVyeSBjb21wYWN0IGZvcm1hdAorQ3VycmVudGx5IHRocmVlIGJhY2tlbmRzIGV4aXN0LiBU aGUgYGByYXdgYCBiYWNrZW5kIGlzIGEgdmVyeSBjb21wYWN0IGZvcm1hdAogY29uc2lzdGluZyBv ZiBhIG1hZ2ljIHZhbHVlIGZvciBpZGVudGlmaWNhdGlvbiwgYSBjcmMtcHJvdGVjdGVkIGhlYWRl ciBnaXZpbmcKIHRoZSBhY3R1YWwgbGVuZ3RoIGFuZCB0aGVuIHRoZSByYXcgdmFsdWVzIGFuZCBh bm90aGVyIENSQy4gVG8gbWFrZSBzdXJlIHRoYXQKIGR1cmluZyB1cGRhdGUgdGhlIHN0b3JhZ2Ug ZGV2aWNlIGFsd2F5cyBjb250YWlucyBhIHZhbGlkIHN0YXRlLCB0aGUgZGF0YSBpcwpAQCAtMTM4 LDYgKzEzOCwxMSBAQCBleGFjdGx5IHRoZSBvcmlnaW5hbCBkZXZpY2V0cmVlIGRlc2NyaXB0aW9u IG9mIHRoZSBzdGF0ZSBpdHNlbGYsIGJ1dAogYWRkaXRpb25hbGx5IGNvbnRhaW5zIHRoZSBhY3R1 YWwgdmFsdWVzIG9mIHRoZSB2YXJpYWJsZXMuIFVubGlrZSB0aGUgYGByYXdgYAogc3RhdGUgYmFj a2VuZCB0aGUgYGBkdGJgYCBzdGF0ZSBiYWNrZW5kIGNhbiBkZXNjcmliZSBpdHNlbGYuCiAKK1Ro ZXJlIGlzIGEgdGhpcmQgYmFja2VuZCBjYWxsZWQgYGByYXdjb21wYXRgYCB3aGljaCBpbXBsZW1l bnRzIHRoZSBiaW5hcnkKK2Zvcm1hdCBvZiB0aGUgZWFybHkgZGF5cyBvZiB0aGUgc3RhdGUgZnJh bWV3b3JrLiBJdCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIG5ldwordXNhZ2UgYW5kIG9ubHkgZXhp c3RzIHRvIG1ha2UgYmFyZWJveCB3b3JrIG9uIG1hY2hpbmVzIHRoYXQgaGF2ZSB0byBzdGljayB0 bwordGhlIG9sZCBmb3JtYXQgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KKwogSE1BQwogLS0t LQogCmRpZmYgLS1naXQgYS9jb21tb24vc3RhdGUvTWFrZWZpbGUgYi9jb21tb24vc3RhdGUvTWFr ZWZpbGUKaW5kZXggZmNmOWFkZDUyY2JlLi5lNDM1N2U5YzIwOWEgMTAwNjQ0Ci0tLSBhL2NvbW1v bi9zdGF0ZS9NYWtlZmlsZQorKysgYi9jb21tb24vc3RhdGUvTWFrZWZpbGUKQEAgLTIsNiArMiw3 IEBAIG9iai15ICs9IHN0YXRlLm8KIG9iai15ICs9IHN0YXRlX3ZhcmlhYmxlcy5vCiBvYmoteSAr PSBiYWNrZW5kX2Zvcm1hdF9kdGIubwogb2JqLXkgKz0gYmFja2VuZF9mb3JtYXRfcmF3Lm8KK29i ai15ICs9IGJhY2tlbmRfZm9ybWF0X3Jhd2NvbXBhdC5vCiBvYmoteSArPSBiYWNrZW5kX3N0b3Jh Z2Uubwogb2JqLXkgKz0gYmFja2VuZF9idWNrZXRfZGlyZWN0Lm8KIG9iai0kKENPTkZJR19NVEQp ICs9IGJhY2tlbmRfYnVja2V0X2NpcmN1bGFyLm8KZGlmZiAtLWdpdCBhL2NvbW1vbi9zdGF0ZS9i YWNrZW5kX2Zvcm1hdF9yYXdjb21wYXQuYyBiL2NvbW1vbi9zdGF0ZS9iYWNrZW5kX2Zvcm1hdF9y YXdjb21wYXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZmYzli NGIwNTU0YQotLS0gL2Rldi9udWxsCisrKyBiL2NvbW1vbi9zdGF0ZS9iYWNrZW5kX2Zvcm1hdF9y YXdjb21wYXQuYwpAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBQ ZW5ndXRyb25peCwgVXdlIEtsZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRyb25p eC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor ICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNp bmNsdWRlIDxtYWxsb2MuaD4KKyNpbmNsdWRlIDxjcmMuaD4KKyNpbmNsdWRlIDxhc20vdW5hbGln bmVkLmg+CisKKyNpbmNsdWRlICJzdGF0ZS5oIgorCitzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3Jt YXRfcmF3Y29tcGF0IHsKKwlzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXQgZm9ybWF0OworCisJ LyogRm9yIG91dHB1dHMgKi8KKwlzdHJ1Y3QgZGV2aWNlX2QgKmRldjsKK307CisKK3N0YXRpYyBp bmxpbmUgc3RydWN0IHN0YXRlX2JhY2tlbmRfZm9ybWF0X3Jhd2NvbXBhdCAqZ2V0X2Zvcm1hdF9y YXdjb21wYXQoCisJCXN0cnVjdCBzdGF0ZV9iYWNrZW5kX2Zvcm1hdCAqZm9ybWF0KQoreworCXJl dHVybiBjb250YWluZXJfb2YoZm9ybWF0LCBzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXRfcmF3 Y29tcGF0LCBmb3JtYXQpOworfQorCitzdGF0aWMgaW50IGJhY2tlbmRfZm9ybWF0X3Jhd2NvbXBh dF92ZXJpZnkoc3RydWN0IHN0YXRlX2JhY2tlbmRfZm9ybWF0ICpmb3JtYXQsCisJCQkJCSAgIHVp bnQzMl90IG1hZ2ljLCBjb25zdCB2b2lkICpidWYsCisJCQkJCSAgIHNzaXplX3QgKmxlbnAsIGVu dW0gc3RhdGVfZmxhZ3MgZmxhZ3MpCit7CisJdWludDMyX3QgY3JjOworCXVpbnQzMl90IHRtcDsK KwlzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXRfcmF3Y29tcGF0ICpiYWNrZW5kID0gZ2V0X2Zv cm1hdF9yYXdjb21wYXQoZm9ybWF0KTsKKworCXRtcCA9IGdldF91bmFsaWduZWQoKHVpbnQzMl90 ICopYnVmKTsKKwlpZiAobWFnaWMgJiYgbWFnaWMgIT0gdG1wKSB7CisJCWRldl9lcnIoYmFja2Vu ZC0+ZGV2LAorCQkJIkVycm9yLCBmb3VuZCBpbnZhbGlkIG1hZ2ljIDB4JTA4eCwgc2hvdWxkIGJl IDB4JTA4eFxuIiwKKwkJCXRtcCwgbWFnaWMpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl0 bXAgPSBnZXRfdW5hbGlnbmVkKCh1aW50MzJfdCAqKShidWYgKyAqbGVucCAtIHNpemVvZih1aW50 MzJfdCkpKTsKKwljcmMgPSBjcmMzMigwLCBidWYsICpsZW5wIC0gc2l6ZW9mKHVpbnQzMl90KSk7 CisJaWYgKGNyYyAhPSB0bXApIHsKKwkJZGV2X2VycihiYWNrZW5kLT5kZXYsCisJCQkiRXJyb3Is IGludmFsaWQgaGVhZGVyIGNyYyBpbiByYXdjb21wYXQgZm9ybWF0LCBjYWxjdWxhdGVkIDB4JTA4 eCwgZm91bmQgMHglMDh4XG4iLAorCQkJY3JjLCB0bXApOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9 CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiYWNrZW5kX2Zvcm1hdF9yYXdjb21wYXRf dW5wYWNrKHN0cnVjdCBzdGF0ZV9iYWNrZW5kX2Zvcm1hdCAqZm9ybWF0LAorCQkJCQkgICBzdHJ1 Y3Qgc3RhdGUgKnN0YXRlLCBjb25zdCB2b2lkICpidWYsCisJCQkJCSAgIHNzaXplX3QgbGVuKQor eworCXN0cnVjdCBzdGF0ZV92YXJpYWJsZSAqc3Y7CisJY29uc3Qgdm9pZCAqZGF0YTsKKwlzdHJ1 Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXRfcmF3Y29tcGF0ICpiYWNrZW5kID0gZ2V0X2Zvcm1hdF9y YXdjb21wYXQoZm9ybWF0KTsKKworCWRhdGEgPSBidWYgKyBzaXplb2YodWludDMyX3QpOworCisJ bGlzdF9mb3JfZWFjaF9lbnRyeShzdiwgJnN0YXRlLT52YXJpYWJsZXMsIGxpc3QpIHsKKwkJaWYg KHN2LT5zdGFydCArIHN2LT5zaXplID4gbGVuIC0gOCkgeworCQkJZGV2X2VycihiYWNrZW5kLT5k ZXYsICJTdGF0ZSB2YXJpYWJsZSBlbmRzIGJlaGluZCB2YWxpZCBkYXRhLCAlc1xuIiwKKwkJCQlz di0+bmFtZSk7CisJCQljb250aW51ZTsKKwkJfQorCQltZW1jcHkoc3YtPnJhdywgZGF0YSArIHN2 LT5zdGFydCwgc3YtPnNpemUpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJh Y2tlbmRfZm9ybWF0X3Jhd2NvbXBhdF9wYWNrKHN0cnVjdCBzdGF0ZV9iYWNrZW5kX2Zvcm1hdCAq Zm9ybWF0LAorCQkJCQkgc3RydWN0IHN0YXRlICpzdGF0ZSwgdm9pZCAqKmJ1Zl9vdXQsCisJCQkJ CSBzc2l6ZV90ICpsZW5fb3V0KQoreworCXN0cnVjdCBzdGF0ZV9iYWNrZW5kX2Zvcm1hdF9yYXdj b21wYXQgKmJhY2tlbmQgPSBnZXRfZm9ybWF0X3Jhd2NvbXBhdChmb3JtYXQpOworCXZvaWQgKmJ1 ZiwgKmRhdGE7CisJc3RydWN0IHN0YXRlX3ZhcmlhYmxlICpzdjsKKwl1aW50MzJfdCBjcmM7CisK KwkqbGVuX291dCA9IDA7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShzdiwgJnN0YXRlLT52YXJpYWJs ZXMsIGxpc3QpIHsKKwkJaWYgKCpsZW5fb3V0IDwgc3YtPnN0YXJ0ICsgc3YtPnNpemUpCisJCQkq bGVuX291dCA9IHN2LT5zdGFydCArIHN2LT5zaXplOworCX0KKworCS8qIGZvciBoZWFkZXIgYW5k IGNyYyAqLworCSpsZW5fb3V0ICs9IDIgKiBzaXplb2YodWludDMyX3QpOworCisJYnVmID0geHph bGxvYygqbGVuX291dCk7CisKKwlwdXRfdW5hbGlnbmVkX2xlMzIoc3RhdGUtPm1hZ2ljLCBidWYp OworCisJZGF0YSA9IGJ1ZiArIHNpemVvZih1aW50MzJfdCk7CisKKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHN2LCAmc3RhdGUtPnZhcmlhYmxlcywgbGlzdCkgeworCQltZW1jcHkoZGF0YSArIHN2LT5z dGFydCwgc3YtPnJhdywgc3YtPnNpemUpOworCX0KKworCWNyYyA9IGNyYzMyKDAsIGJ1ZiwgKmxl bl9vdXQgLSBzaXplb2YodWludDMyX3QpKTsKKwlwdXRfdW5hbGlnbmVkX2xlMzIoY3JjLCBidWYg KyAqbGVuX291dCAtIHNpemVvZih1aW50MzJfdCkpOworCisJKmJ1Zl9vdXQgPSBidWY7CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYmFja2VuZF9mb3JtYXRfcmF3Y29tcGF0X2ZyZWUo c3RydWN0IHN0YXRlX2JhY2tlbmRfZm9ybWF0ICpmb3JtYXQpCit7CisJc3RydWN0IHN0YXRlX2Jh Y2tlbmRfZm9ybWF0X3Jhd2NvbXBhdCAqYmFja2VuZCA9IGdldF9mb3JtYXRfcmF3Y29tcGF0KGZv cm1hdCk7CisKKwlmcmVlKGJhY2tlbmQpOworfQorCitpbnQgYmFja2VuZF9mb3JtYXRfcmF3Y29t cGF0X2NyZWF0ZShzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXQgKipmb3JtYXQsCisJCQkJICAg IHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgc3RydWN0IGRldmljZV9kICpkZXYpCit7CisJc3Ry dWN0IHN0YXRlX2JhY2tlbmRfZm9ybWF0X3Jhd2NvbXBhdCAqcmF3Y29tcGF0OworCisJcmF3Y29t cGF0ID0geHphbGxvYyhzaXplb2YoKnJhd2NvbXBhdCkpOworCisJcmF3Y29tcGF0LT5kZXYgPSBk ZXY7CisKKwlyYXdjb21wYXQtPmZvcm1hdC5wYWNrID0gYmFja2VuZF9mb3JtYXRfcmF3Y29tcGF0 X3BhY2s7CisJcmF3Y29tcGF0LT5mb3JtYXQudW5wYWNrID0gYmFja2VuZF9mb3JtYXRfcmF3Y29t cGF0X3VucGFjazsKKwlyYXdjb21wYXQtPmZvcm1hdC52ZXJpZnkgPSBiYWNrZW5kX2Zvcm1hdF9y YXdjb21wYXRfdmVyaWZ5OworCXJhd2NvbXBhdC0+Zm9ybWF0LmZyZWUgPSBiYWNrZW5kX2Zvcm1h dF9yYXdjb21wYXRfZnJlZTsKKwlyYXdjb21wYXQtPmZvcm1hdC5uYW1lID0gInJhd2NvbXBhdCI7 CisJKmZvcm1hdCA9ICZyYXdjb21wYXQtPmZvcm1hdDsKKworCXJldHVybiAwOworfQpkaWZmIC0t Z2l0IGEvY29tbW9uL3N0YXRlL3N0YXRlLmMgYi9jb21tb24vc3RhdGUvc3RhdGUuYwppbmRleCAx MjFiYTBjNmQzNGEuLmMzODNjNTI5ZTk3MyAxMDA2NDQKLS0tIGEvY29tbW9uL3N0YXRlL3N0YXRl LmMKKysrIGIvY29tbW9uL3N0YXRlL3N0YXRlLmMKQEAgLTEyNCw2ICsxMjQsOSBAQCBzdGF0aWMg aW50IHN0YXRlX2Zvcm1hdF9pbml0KHN0cnVjdCBzdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKmJh Y2tlbmRfZm9ybWF0LAogCWlmICghYmFja2VuZF9mb3JtYXQgfHwgIXN0cmNtcChiYWNrZW5kX2Zv cm1hdCwgInJhdyIpKSB7CiAJCXJldCA9IGJhY2tlbmRfZm9ybWF0X3Jhd19jcmVhdGUoJnN0YXRl LT5mb3JtYXQsIG5vZGUsCiAJCQkJCQlzdGF0ZV9uYW1lLCAmc3RhdGUtPmRldik7CisJfSBlbHNl IGlmICghc3RyY21wKGJhY2tlbmRfZm9ybWF0LCAicmF3Y29tcGF0IikpIHsKKwkJcmV0ID0gYmFj a2VuZF9mb3JtYXRfcmF3Y29tcGF0X2NyZWF0ZSgmc3RhdGUtPmZvcm1hdCwgbm9kZSwKKwkJCQkJ CSAgICAgICZzdGF0ZS0+ZGV2KTsKIAl9IGVsc2UgaWYgKCFzdHJjbXAoYmFja2VuZF9mb3JtYXQs ICJkdGIiKSkgewogCQlyZXQgPSBiYWNrZW5kX2Zvcm1hdF9kdGJfY3JlYXRlKCZzdGF0ZS0+Zm9y bWF0LCAmc3RhdGUtPmRldik7CiAJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL2NvbW1vbi9zdGF0ZS9z dGF0ZS5oIGIvY29tbW9uL3N0YXRlL3N0YXRlLmgKaW5kZXggODFhYWVjMjNiNjJiLi41ODdiYzEx ZTQ1MDEgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zdGF0ZS9zdGF0ZS5oCisrKyBiL2NvbW1vbi9zdGF0 ZS9zdGF0ZS5oCkBAIC0xODgsNiArMTg4LDggQEAgc3RydWN0IGRldmljZV9ub2RlICpzdGF0ZV90 b19ub2RlKHN0cnVjdCBzdGF0ZSAqc3RhdGUsCiBpbnQgYmFja2VuZF9mb3JtYXRfcmF3X2NyZWF0 ZShzdHJ1Y3Qgc3RhdGVfYmFja2VuZF9mb3JtYXQgKipmb3JtYXQsCiAJCQkgICAgICBzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKnNlY3JldF9uYW1lLAogCQkJICAgICAgc3Ry dWN0IGRldmljZV9kICpkZXYpOworaW50IGJhY2tlbmRfZm9ybWF0X3Jhd2NvbXBhdF9jcmVhdGUo c3RydWN0IHN0YXRlX2JhY2tlbmRfZm9ybWF0ICoqZm9ybWF0LAorCQkJCSAgICBzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5vZGUsIHN0cnVjdCBkZXZpY2VfZCAqZGV2KTsKIGludCBiYWNrZW5kX2Zvcm1h dF9kdGJfY3JlYXRlKHN0cnVjdCBzdGF0ZV9iYWNrZW5kX2Zvcm1hdCAqKmZvcm1hdCwKIAkJCSAg ICAgIHN0cnVjdCBkZXZpY2VfZCAqZGV2KTsKIGludCBzdGF0ZV9zdG9yYWdlX2luaXQoc3RydWN0 IHN0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqcGF0aCwKLS0gCjIuMTEuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmJhcmVib3ggbWFpbGluZyBsaXN0 CmJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2JhcmVib3gK