From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id CFA9789395 for ; Wed, 10 Apr 2019 10:02:39 +0000 (UTC) From: Janusz Krzysztofik Date: Wed, 10 Apr 2019 12:02:25 +0200 Message-Id: <20190410100226.20618-2-janusz.krzysztofik@linux.intel.com> In-Reply-To: <20190410100226.20618-1-janusz.krzysztofik@linux.intel.com> References: <20190410100226.20618-1-janusz.krzysztofik@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v6 1/2] tests: Add a new test for driver/device hot reload List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Arkadiusz Hiler , Petri Latvala Cc: Janusz Krzysztofik , igt-dev@lists.freedesktop.org, Daniel Vetter List-ID: RnJvbTogSmFudXN6IEtyenlzenRvZmlrIDxqYW51c3oua3J6eXN6dG9maWtAaW50ZWwuY29tPgoK UnVuIGEgZHVtbXkgbG9hZCBpbiBiYWNrZ3JvdW5kIHRvIHB1dCBzb21lIHdvcmtsb2FkIG9uIGEg ZGV2aWNlLCB0aGVuIHRyeQp0byBlaXRoZXIgcmVtb3ZlICh1bnBsdWcpIHRoZSBkZXZpY2UgZnJv bSBpdHMgYnVzLCBvciB1bmJpbmQgdGhlIGRldmljZSdzCmRyaXZlciBmcm9tIGl0LCBkZXBlbmRp bmcgb24gd2hpY2ggc3VidGVzdCBoYXMgYmVlbiBzZWxlY3RlZC4gIElmCnN1Y2NlZWRlZCwgdW5s b2FkIHRoZSBkcml2ZXIsIHJlc2NhbiB0aGUgZGV2aWNlJ3MgYnVzIGlmIG5lZWRlZCBhbmQKcGVy Zm9ybSBoZWFsdGggY2hlY2tzIG9uIHRoZSBkZXZpY2Ugd2l0aCB0aGUgZHJpdmVyIHJlbG9hZGVk LgoKVGhlIGR1bW15IGxvYWQgaXMgcnVuIGZyb20gaWd0X2ZpeHR1cmUgYW5kIGluIGEgc3ViLXBy b2Nlc3MsIG5vdCBkaXJlY3RseQpmcm9tIHN1YnRlc3RzLCAgYXMgaXQgaXMgZXhwZWN0ZWQgdG8g ZmFpbCBhbmQgaXQncyBtb3JlIHNpbXBsZSB0byBpZ25vcmUKaWd0X2Fib3J0KCkgaW4gYSBzdWIt cHJvY2Vzcy4gIE1vcmVvdmVyLCBhcyBzb29uIGFzIHRoZSBzdWItcHJvY2VzcyBmYWlscwphbmQg ZXhpdHMsIHJlc291cmNlcyBpdCB3YXMgdXNpbmcgYXJlIGZyZWVkIGF1dG9tYXRpY2FsbHkgc28g dGhlcmUgaXMgbm8KbmVlZCB0byBkbyBhbnkgY2xlYW51cHMgcmVxdWlyZWQgZm9yIHNtb290aCBt b2R1bGUgdW5sb2FkIGZyb20gdGhlIHRlc3QKbGV2ZWwgaXRzZWxmLiAgVGhvc2UgY2xlYW51cHMg bWlnaHQgYWxzbyBtYWtlIHRoZSBzdWJ0ZXN0cyBmYWlsIGlmIHNpbXBseQp1c2luZyBpZ3QgbGli cmFyeSBmdW5jdGlvbnMgZm9yIHRoYXQgaW5zdGVhZCBvZiByZWltcGxlbWVudGluZyB0aGVpciBz YWZlCnBhcnRzIG9ubHkuCgpUaGUgZHJpdmVyIGhvdCB1bmJpbmQgLyBkZXZpY2UgaG90IHVucGx1 ZyBvcGVyYXRpb24gaXMgZXhwZWN0ZWQgdG8gc3VjY2VlZAphbmQgdGhlIGJhY2tncm91bmQgd29y a2xvYWQgc3ViLXByb2Nlc3MgdG8gZGllIGluIGEgcmVhc29uYWJsZSB0aW1lLApob3dldmVyIGxv bmcgdGltZW91dHMgYXJlIHVzZWQgdG8gbGV0IGtlcm5lbCBsZXZlbCB0aW1lb3V0cyBwb3AgdXAg Zmlyc3QKaWYgaGl0IGJ5IGEgYnVnLgoKVGhlIGR1bW15IGxvYWQgd29ya3Mgb25seSBvbiBpOTE1 IGRyaXZlci4gIFRoZSB0ZXN0IGlzIHNraXBwZWQgb24gb3RoZXIKaGFyZHdhcmUgdW5sZXNzIHRo ZXkgcHJvdmlkZSB0aGVpciBpbXBsZW1lbnRhdGlvbiBvZiBpZ3Rfc3Bpbl9iYXRjaF9uZXcoKQph bmQgZnJpZW5kcy4KClNpZ25lZC1vZmYtYnk6IEphbnVzeiBLcnp5c3p0b2ZpayA8amFudXN6Lmty enlzenRvZmlrQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICB8ICAgMSAr CiB0ZXN0cy9jb3JlX2hvdF9yZWxvYWQuYyB8IDI1NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiB0ZXN0cy9tZXNvbi5idWlsZCAgICAgICB8ICAgMSArCiAzIGZpbGVz IGNoYW5nZWQsIDI1OCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvY29y ZV9ob3RfcmVsb2FkLmMKCmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVz dHMvTWFrZWZpbGUuc291cmNlcwppbmRleCAyMTQ2OThkYS4uZDJjMDk0MWQgMTAwNjQ0Ci0tLSBh L3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKKysrIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwpAQCAt MTYsNiArMTYsNyBAQCBURVNUU19wcm9ncyA9IFwKIAljb3JlX2dldGNsaWVudCBcCiAJY29yZV9n ZXRzdGF0cyBcCiAJY29yZV9nZXR2ZXJzaW9uIFwKKwljb3JlX2hvdF9yZWxvYWQgXAogCWNvcmVf c2V0bWFzdGVyX3ZzX2F1dGggXAogCWRlYnVnZnNfdGVzdCBcCiAJZHJtX2ltcG9ydF9leHBvcnQg XApkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZV9ob3RfcmVsb2FkLmMgYi90ZXN0cy9jb3JlX2hvdF9y ZWxvYWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZDg2MmM5OWMKLS0t IC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb3JlX2hvdF9yZWxvYWQuYwpAQCAtMCwwICsxLDI1NiBA QAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisg KiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisg KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAo aW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAq CisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQg U0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig QU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlICJpZ3Qu aCIKKyNpbmNsdWRlICJpZ3RfZGV2aWNlLmgiCisjaW5jbHVkZSAiaWd0X2R1bW15bG9hZC5oIgor I2luY2x1ZGUgImlndF9rbW9kLmgiCisjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCisKKyNpbmNsdWRl IDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNp bmNsdWRlIDx1bmlzdGQuaD4KKworCit0eXBlZGVmIGludCAoKmFjdGlvbl90KShpbnQgZGlyKTsK K3R5cGVkZWYgdm9pZCAoKndvcmtsb2FkX3dhaXRfdCkodm9pZCAqcHJpdik7Cit0eXBlZGVmIHZv aWQgKCp3b3JrbG9hZF90KShpbnQgZGV2aWNlLCBjb25zdCB2b2lkICpwcml2KTsKKworCisvKgor ICogQWN0aW9ucworICoKKyAqIFB1cnBvc2U6IG1ha2UgdGhlIGRldmljZSBkaXNhcHBlYXIKKyAq CisgKiBAZGlyOiBmaWxlIGRlc2NyaXB0b3Igb2YgYW4gb3BlbiBkZXZpY2Ugc3lzZnMgZGlyZWN0 b3J5CisgKgorICogUmV0dXJuIHZhbHVlOiBmaWxlIGRlc2NyaXB0b3Igb2YgYW4gb3BlbiBkZXZp Y2UgYnVzJyBzeXNmcyBkaXJlY3RvcnkKKyAqIAkJIG9yIC0xIGlmIG5vIGJ1cyByZXNjYW4gaXMg bmVlZGVkCisgKi8KKworLyogVW5iaW5kIHRoZSBkcml2ZXIgZnJvbSB0aGUgZGV2aWNlICovCitz dGF0aWMgaW50IGRyaXZlcl91bmJpbmQoaW50IGRpcikKK3sKKwljaGFyIHBhdGhbUEFUSF9NQVhd LCAqZGV2X2J1c19hZGRyOworCWludCBsZW47CisKKwlsZW4gPSByZWFkbGlua2F0KGRpciwgImRl dmljZSIsIHBhdGgsIHNpemVvZihwYXRoKSAtIDEpOworCXBhdGhbbGVuXSA9ICdcMCc7CisJZGV2 X2J1c19hZGRyID0gc3RycmNocihwYXRoLCAnLycpICsgMTsKKworCWlndF9zZXRfdGltZW91dCg2 MCwgIkRyaXZlciB1bmJpbmQgdGltZW91dCEiKTsKKwlpZ3Rfc3lzZnNfc2V0KGRpciwgImRldmlj ZS9kcml2ZXIvdW5iaW5kIiwgZGV2X2J1c19hZGRyKTsKKworCS8qIE5vIG5lZWQgZm9yIGJ1cyBy ZXNjYW4gKi8KKwlyZXR1cm4gLTE7Cit9CisKKy8qIFJlbW92ZSAodmlydHVhbGx5IHVucGx1Zykg dGhlIGRldmljZSBmcm9tIGl0cyBidXMgKi8KK3N0YXRpYyBpbnQgZGV2aWNlX3VucGx1ZyhpbnQg ZGlyKQoreworCWludCBidXM7CisKKwlidXMgPSBvcGVuYXQoZGlyLCAiZGV2aWNlL3N1YnN5c3Rl bSIsIE9fRElSRUNUT1JZKTsKKwlpZ3RfYXNzZXJ0KGJ1cyA+PSAwKTsKKworCWlndF9zZXRfdGlt ZW91dCg2MCwgIkRldmljZSB1bnBsdWcgdGltZW91dCEiKTsKKwlpZ3Rfc3lzZnNfc2V0KGRpciwg ImRldmljZS9yZW1vdmUiLCAiMSIpOworCisJcmV0dXJuIGJ1czsKK30KKworCisvKgorICogV29y a2xvYWRzCisgKgorICogUHVycG9zZTogUHV0IHNvbWUgbG9uZyBsYXN0aW5nIGxvYWQgb24gdGhl IGRldmljZQorICoKKyAqIEBkZXZpY2U6IG9wZW4gZGV2aWNlIGZpbGUgZGVzY3JpcHRvciwKKyAq IEBwcml2OiBwb2ludGVyIHRvIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgd29y a2xvYWQKKyAqCisgKiBSZXR1cm4gdmFsdWU6IG5vbmUKKyAqLworCisvKiBXb3JrbG9hZCB1c2lu ZyBpZ3Rfc3Bpbl9iYXRjaF9ydW4oKSAqLworCitzdGF0aWMgdm9pZCBzcGluX2JhdGNoKGludCBk ZXZpY2UsIGNvbnN0IHZvaWQgKnByaXYpCit7CisJaWd0X3NwaW5fdCAqc3BpbjsKKworCS8qIHN1 Ym1pdCB0aGUgam9iICovCisJc3BpbiA9IGlndF9zcGluX2JhdGNoX25ldyhkZXZpY2UpOworCisJ Lyogd2FpdCBmb3IgdGhlIGpvYiB0byBjcmFzaCAqLworCWdlbV9zeW5jKGRldmljZSwgc3Bpbi0+ aGFuZGxlKTsKKworCS8qIGNsZWFuIHVwIGlmIHN0aWxsIHBvc3NpYmxlICovCisJaWd0X3NwaW5f YmF0Y2hfZnJlZShkZXZpY2UsIHNwaW4pOworfQorCisKKy8qCisgKiBTa2VsZXRvbgorICovCisK K3N0YXRpYyB2b2lkIGhlYWx0aGNoZWNrKGludCBjaGlwc2V0KQoreworCWlmIChjaGlwc2V0ID09 IERSSVZFUl9JTlRFTCkgeworCQkvKgorCQkgKiBXZSBoYXZlIGl0IHBlcmZlY3RseSBpbXBsZW1l bnRlZCBpbiBpOTE1X21vZHVsZV9sb2FkLAorCQkgKiBqdXN0IHVzZSBpdC4KKwkJICovCisJCWln dF9hc3NlcnQoaWd0X3N5c3RlbV9xdWlldCgiaTkxNV9tb2R1bGVfbG9hZCAtLXJ1bi1zdWJ0ZXN0 IHJlbG9hZCIpCisJCQkgICA9PSBJR1RfRVhJVF9TVUNDRVNTKTsKKwl9IGVsc2UgeworCQkvKgor CQkgKiBXZSBkb24ndCBrbm93IGhvdyB0byBjaGVjayBhbiB1bmlkZW50aWZpZWQgZGV2aWNlIGZv ciBoZWFsdGgsCisJCSAqIGRldmljZSByZW9wZW4gbXVzdCBzdWZmaWNlLgorCQkgKi8KKwl9Cit9 CisKK3N0YXRpYyB2b2lkIGRyaXZlcl91bmxvYWQoaW50IGNoaXBzZXQsIGNoYXIgKmRyaXZlcikK K3sKKwlpZiAoY2hpcHNldCA9PSBEUklWRVJfSU5URUwpCisJCWlndF9hc3NlcnQoaWd0X2k5MTVf ZHJpdmVyX3VubG9hZCgpID09IElHVF9FWElUX1NVQ0NFU1MpOworCWVsc2UKKwkJaWd0X2Fzc2Vy dChpZ3Rfa21vZF91bmxvYWQoZHJpdmVyLCAwKSA9PSAwKTsKK30KKworc3RhdGljIGludCBvcGVy YXRpb24oaW50IGRldmljZSwgYWN0aW9uX3QgYWN0aW9uLCB3b3JrbG9hZF93YWl0X3Qgd29ya2xv YWRfd2FpdCwKKwkJICAgICB2b2lkICp3b3JrbG9hZF9wcml2KQoreworCWludCBkaXIsIGJ1czsK KworCWRpciA9IGlndF9zeXNmc19vcGVuKGRldmljZSk7CisKKwlidXMgPSBhY3Rpb24oZGlyKTsK KwljbG9zZShkaXIpOworCisJaWYgKHdvcmtsb2FkX3dhaXQpCisJCXdvcmtsb2FkX3dhaXQod29y a2xvYWRfcHJpdik7CisJaWd0X3Jlc2V0X3RpbWVvdXQoKTsKKworCXJldHVybiBidXM7Cit9CisK Kworc3RhdGljIHZvaWQgX19zdWJ0ZXN0KGludCBkZXZpY2UsIGludCBjaGlwc2V0LCBjaGFyICpk cml2ZXIsIGFjdGlvbl90IGFjdGlvbiwKKwkJICAgICAgd29ya2xvYWRfd2FpdF90IHdvcmtsb2Fk X3dhaXQsIHZvaWQgKndvcmtsb2FkX3ByaXYpCit7CisJaW50IGJ1cyA9IG9wZXJhdGlvbihkZXZp Y2UsIGFjdGlvbiwgd29ya2xvYWRfd2FpdCwgd29ya2xvYWRfcHJpdik7CisKKwljbG9zZShkZXZp Y2UpOworCWRyaXZlcl91bmxvYWQoY2hpcHNldCwgZHJpdmVyKTsKKworCS8qIFZhbGlkIGZpbGUg ZGVzY3JpcHRvciBpbmRpY2F0ZXMgd2Ugc2hvdWxkIHJlc2NhbiB0aGUgYnVzICovCisJaWYgKGJ1 cyA+PSAwKSB7CisJCWlndF9zeXNmc19zZXQoYnVzLCAicmVzY2FuIiwgIjEiKTsKKwkJY2xvc2Uo YnVzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHJ1bl9zdWJ0ZXN0KGludCAqZGV2aWNlLCBpbnQg Y2hpcHNldCwgY2hhciAqZHJpdmVyLCBhY3Rpb25fdCBhY3Rpb24sCisJCQl3b3JrbG9hZF93YWl0 X3Qgd29ya2xvYWRfd2FpdCwgdm9pZCAqd29ya2xvYWRfcHJpdikKK3sKKwlfX3N1YnRlc3QoKmRl dmljZSwgY2hpcHNldCwgZHJpdmVyLCBhY3Rpb24sIHdvcmtsb2FkX3dhaXQsIHdvcmtsb2FkX3By aXYpOworCisJaGVhbHRoY2hlY2soY2hpcHNldCk7CisKKwkqZGV2aWNlID0gX19kcm1fb3Blbl9k cml2ZXIoY2hpcHNldCk7CisJaWd0X2Fzc2VydCgqZGV2aWNlID49IDApOworfQorCitzdGF0aWMg dm9pZCBfX3dvcmtsb2FkKHdvcmtsb2FkX3Qgd29ya2xvYWQsIGludCBkZXZpY2UsIGNvbnN0IHZv aWQgKnByaXYsCisJCSAgICAgIHN0cnVjdCBpZ3RfaGVscGVyX3Byb2Nlc3MgKnByb2MpCit7CisJ aWd0X2ZvcmtfaGVscGVyKHByb2MpCisJCXdvcmtsb2FkKGRldmljZSwgcHJpdik7CisJLyogbGV0 IHRoZSBiYWNrZ3JvdW5kIHByb2Nlc3Mgc3RhcnQgZG9pbmcgaXRzIGpvYiAqLworCXNsZWVwKDIp OworfQorCitzdGF0aWMgdm9pZCBfX3dvcmtsb2FkX3dhaXQodm9pZCAqcHJpdikKK3sKKwlzdHJ1 Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jID0gcHJpdjsKKworCS8qIHdhaXQgdW50aWwgdGhl IHdvcmtsb2FkIGhhcyBjcmFzaGVkICovCisJaWd0X3dhaXRfaGVscGVyKHByb2MpOworfQorCisK K2lndF9tYWluIHsKKwlpbnQgZGV2aWNlLCBjaGlwc2V0OworCWNoYXIgKmRyaXZlcjsKKwlzdHJ1 Y3QgaWd0X2hlbHBlcl9wcm9jZXNzIHByb2MgPSB7fTsKKwl3b3JrbG9hZF93YWl0X3Qgd29ya2xv YWRfd2FpdDsKKwl2b2lkICp3b3JrbG9hZF9wcml2OworCisJaWd0X2ZpeHR1cmUgeworCQljaGFy IHBhdGhbUEFUSF9NQVhdOworCQlpbnQgZGlyLCBsZW47CisKKwkJLyoKKwkJICogU2luY2UgdGhl IHRlc3QgZGVwZW5kcyBvbiBzdWNjZXNzZnVsIHVubG9hZCBvZiBkcml2ZXIgbW9kdWxlLAorCQkg KiBkb24ndCB1c2UgZHJtX29wZW5fZHJpdmVyKCkgYXMgaXQga2VlcHMgYSBmaWxlIGRlc2NyaXB0 b3IKKwkJICogb3BlbiBmb3IgZXhpdCBoYW5kbGVyIHVzZSB0aGF0IGVmZmVjdGl2ZWx5IGxvY2tz IHRoZSBtb2R1bGUuCisJCSAqLworCQlkZXZpY2UgPSBfX2RybV9vcGVuX2RyaXZlcihEUklWRVJf QU5ZKTsKKwkJaWd0X2Fzc2VydChkZXZpY2UgPj0gMCk7CisKKwkJaWYgKGlzX2k5MTVfZGV2aWNl KGRldmljZSkpIHsKKwkJCWNoaXBzZXQgPSBEUklWRVJfSU5URUw7CisJCQlkcml2ZXIgPSBzdHJk dXAoImk5MTUiKTsKKwkJfSBlbHNlIHsKKwkJCWNoaXBzZXQgPSBEUklWRVJfQU5ZOworCisJCQkv KiBDYXB0dXJlIG1vZHVsZSBuYW1lIHRvIGJlIHVubG9hZGVkICovCisJCQlkaXIgPSBpZ3Rfc3lz ZnNfb3BlbihkZXZpY2UpOworCQkJbGVuID0gcmVhZGxpbmthdChkaXIsICJkZXZpY2UvZHJpdmVy L21vZHVsZSIsIHBhdGgsCisJCQkJCSBzaXplb2YocGF0aCkgLSAxKTsKKwkJCWNsb3NlKGRpcik7 CisJCQlwYXRoW2xlbl0gPSAnXDAnOworCQkJZHJpdmVyID0gc3RyZHVwKHN0cnJjaHIocGF0aCwg Jy8nKSArIDEpOworCQl9CisJCWlndF9pbmZvKCJSdW5uaW5nIHRoZSB0ZXN0IG9uIGRyaXZlciBc IiVzXCIsIGNoaXBzZXQgbWFzayAlIzB4XG4iLAorCQkJIGRyaXZlciwgY2hpcHNldCk7CisKKwkJ d29ya2xvYWRfd2FpdCA9IF9fd29ya2xvYWRfd2FpdDsKKwkJd29ya2xvYWRfcHJpdiA9ICZwcm9j OworCQlfX3dvcmtsb2FkKHNwaW5fYmF0Y2gsIGRldmljZSwgTlVMTCwgJnByb2MpOworCX0KKwor CWlndF9zdWJ0ZXN0KCJ1bnBsdWciKQorCQlydW5fc3VidGVzdCgmZGV2aWNlLCBjaGlwc2V0LCBk cml2ZXIsIGRldmljZV91bnBsdWcsCisJCQkgICAgd29ya2xvYWRfd2FpdCwgd29ya2xvYWRfcHJp dik7CisKKwlpZ3Rfc3VidGVzdCgidW5iaW5kIikKKwkJcnVuX3N1YnRlc3QoJmRldmljZSwgY2hp cHNldCwgZHJpdmVyLCBkcml2ZXJfdW5iaW5kLAorCQkJICAgIHdvcmtsb2FkX3dhaXQsIHdvcmts b2FkX3ByaXYpOworCisJaWd0X2ZpeHR1cmUgeworCQlmcmVlKGRyaXZlcik7CisJCWNsb3NlKGRl dmljZSk7CisJfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNv bi5idWlsZAppbmRleCA1MTY3YTZjYy4uMWI5MWU1YTIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21lc29u LmJ1aWxkCisrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCkBAIC0zLDYgKzMsNyBAQCB0ZXN0X3Byb2dz ID0gWwogCSdjb3JlX2dldGNsaWVudCcsCiAJJ2NvcmVfZ2V0c3RhdHMnLAogCSdjb3JlX2dldHZl cnNpb24nLAorCSdjb3JlX2hvdF9yZWxvYWQnLAogCSdjb3JlX3NldG1hc3Rlcl92c19hdXRoJywK IAknZGVidWdmc190ZXN0JywKIAknZHJtX2ltcG9ydF9leHBvcnQnLAotLSAKMi4yMC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxp bmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=