From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 920AB6E878 for ; Wed, 3 Apr 2019 16:01:39 +0000 (UTC) From: Janusz Krzysztofik Date: Wed, 3 Apr 2019 18:01:22 +0200 Message-Id: <20190403160122.29149-1-janusz.krzysztofik@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH] 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: Daniel Vetter Cc: Janusz Krzysztofik , Petri Latvala , "Lee, Simon B" , igt-dev@lists.freedesktop.org List-ID: RnJvbTogSmFudXN6IEtyenlzenRvZmlrIDxqYW51c3oua3J6eXN6dG9maWtAaW50ZWwuY29tPgoK UnVuIGEgZHVtbXkgbG9hZCBpbiBiYWNrZ3JvdW5kIHRvIHB1dCBzb21lIHdvcmtsb2FkIG9uIGEg ZGV2aWNlLCB0aGVuIHRyeQp0byBlaXRoZXIgcmVtb3ZlICh1bnBsdWcpIHRoZSBkZXZpY2UgZnJv bSBpdHMgYnVzLCBvciB1bmJpbmQgdGhlIGRldmljZSdzCmRyaXZlciBmcm9tIGl0LCBkZXBlbmRp bmcgb24gd2hpY2ggc3VidGVzdCBoYXMgYmVlbiBzZWxlY3RlZC4gIElmCnN1Y2NlZWRlZCwgdW5s b2FkIHRoZSBkcml2ZXIsIHJlc2NhbiB0aGUgZGV2aWNlJ3MgYnVzIGlmIG5lZWRlZCBhbmQKcGVy Zm9ybSBoZWFsdGggY2hlY2tzIG9uIHRoZSBkZXZpY2Ugd2l0aCB0aGUgZHJpdmVyIHJlbG9hZGVk LgoKVGhlIGRyaXZlciBob3QgdW5iaW5kIC8gZGV2aWNlIGhvdCB1bnBsdWcgb3BlcmF0aW9uIGlz IGV4cGVjdGVkIHRvIHN1Y2NlZWQKaW4gYSByZWFzb25hYmxlIHRpbWUsIGhvd2V2ZXIgbG9uZyB0 aW1lb3V0cyBhcmUgdXNlZCB0byBsZXQga2VybmVsIGxldmVsCnRpbWVvdXRzIHBvcCB1cCBmaXJz dCBpZiBoaXQgYnkgYSBidWcuCgpUaGUgZHVtbXkgbG9hZCB3b3JrcyBvbmx5IHdpdGggaTkxNSBk cml2ZXIuICBUaGUgdGVzdCBpcyBza2lwcGVkIG9uIG90aGVyCmhhcmR3YXJlIHVubGVzcyB0aGV5 IHByb3ZpZGUgdGhlaXIgaW1wbGVtZW50YXRpb24gb2YgaWd0X3NwaW5fYmF0Y2hfbmV3KCkKYW5k IGZyaWVuZHMuCgpTaWduZWQtb2ZmLWJ5OiBKYW51c3ogS3J6eXN6dG9maWsgPGphbnVzei5rcnp5 c3p0b2Zpa0BpbnRlbC5jb20+Ci0tLQpDaGFuZ2Vsb2c6CnYxLT52MjoKLSByZW5hbWVkIHRvIGNv cmVfaG90X3JlbG9hZCwKLSBleHRlbmRlZCB3aXRoIG1vZHVsZSB1bmxvYWQsIGRldmljZSByZWRp c2NvdmVyICh1bnBsdWcgY2FzZSksIG1vZHVsZSByZWxvYWQgCiAgYW5kIGhlYWx0aGNoZWNrIG9w ZXJhdGlvbnMgZm9sbG93aW5nIHRoZSBpbml0aWFsIHVucGx1Zy91bmJpbmQsIGFzIHJlcXVlc3Rl ZAogIGJ5IERhbmllbCBhbmQgUGV0ZXIsCi0gZmFpbCBpZiBhbnl0aGluZyBnb2VzIHdyb25nLCBh cyByZXF1ZXN0ZWQgYnkgRGFuaWVsCi0gcmVmYWN0b3JlZCBhIGxvdCB0byByZWR1Y2UgY29kZSBy ZWR1bmRhbmN5LgoKUmVzZW5kaW5nIG5vdyB3aXRoIHRoZSBpZ3QtZGV2IGxpc3QgYWRkcmVzcyBh ZGRlZCB0byBDYzosIHNvcnJ5CgogdGVzdHMvTWFrZWZpbGUuc291cmNlcyAgfCAgIDEgKwogdGVz dHMvY29yZV9ob3RfcmVsb2FkLmMgfCAyNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogdGVzdHMvbWVzb24uYnVpbGQgICAgICAgfCAgIDEgKwogMyBmaWxlcyBjaGFu Z2VkLCAyNTAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2NvcmVfaG90 X3JlbG9hZC5jCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMKaW5kZXggODZhZDMwMWUuLjVmOWRiYTMwIDEwMDY0NAotLS0gYS90ZXN0 cy9NYWtlZmlsZS5zb3VyY2VzCisrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKQEAgLTE2LDYg KzE2LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCiAJY29yZV9nZXRjbGllbnQgXAogCWNvcmVfZ2V0c3Rh dHMgXAogCWNvcmVfZ2V0dmVyc2lvbiBcCisJY29yZV9ob3RfcmVsb2FkIFwKIAljb3JlX3NldG1h c3Rlcl92c19hdXRoIFwKIAlkZWJ1Z2ZzX3Rlc3QgXAogCWRybV9pbXBvcnRfZXhwb3J0IFwKZGlm ZiAtLWdpdCBhL3Rlc3RzL2NvcmVfaG90X3JlbG9hZC5jIGIvdGVzdHMvY29yZV9ob3RfcmVsb2Fk LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjk2ZjBlZmQwCi0tLSAvZGV2 L251bGwKKysrIGIvdGVzdHMvY29yZV9ob3RfcmVsb2FkLmMKQEAgLTAsMCArMSwyNDggQEAKKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Np b24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFp bmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUg d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhl IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs IHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0 byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhl IGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1 ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29w aWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICog VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxM CisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBD TEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIg REVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaW5jbHVkZSAiaWd0LmgiCisj aW5jbHVkZSAiaWd0X2RldmljZS5oIgorI2luY2x1ZGUgImlndF9kdW1teWxvYWQuaCIKKyNpbmNs dWRlICJpZ3Rfa21vZC5oIgorI2luY2x1ZGUgImlndF9zeXNmcy5oIgorCisjaW5jbHVkZSA8Z2V0 b3B0Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVk ZSA8dW5pc3RkLmg+CisKKwordHlwZWRlZiB2b2lkICgqd29ya2xvYWRfd2FpdF90KShpbnQgZGV2 aWNlLCB2b2lkICpwcml2KTsKK3R5cGVkZWYgaW50ICgqYWN0aW9uX3QpKGludCBkaXIpOwordHlw ZWRlZiBpbnQgKCp3b3JrbG9hZF90KShpbnQgZGV2aWNlLCB2b2lkICpwcml2LCBhY3Rpb25fdCBh Y3Rpb24pOworCisKKy8qCisgKiBBY3Rpb25zCisgKi8KKworLyogVW5iaW5kIHRoZSBkcml2ZXIg ZnJvbSB0aGUgZGV2aWNlICovCitzdGF0aWMgaW50IGRyaXZlcl91bmJpbmQoaW50IGRpcikKK3sK KwljaGFyIHBhdGhbUEFUSF9NQVhdLCAqZGV2X2J1c19hZGRyOworCWludCBsZW47CisKKwlsZW4g PSByZWFkbGlua2F0KGRpciwgImRldmljZSIsIHBhdGgsIHNpemVvZihwYXRoKSAtIDEpOworCXBh dGhbbGVuXSA9ICdcMCc7CisJZGV2X2J1c19hZGRyID0gc3RycmNocihwYXRoLCAnLycpICsgMTsK KworCWlndF9zZXRfdGltZW91dCg2MCwgIkRyaXZlciB1bmJpbmQgdGltZW91dCEiKTsKKwlpZ3Rf c3lzZnNfc2V0KGRpciwgImRldmljZS9kcml2ZXIvdW5iaW5kIiwgZGV2X2J1c19hZGRyKTsKKwor CS8qIE5vIG5lZWQgZm9yIGJ1cyByZXNjYW4gKi8KKwlyZXR1cm4gLTE7Cit9CisKKy8qIFJldHVy bnMgb3BlbiBmaWxlIGRlc2NyaXB0b3IgdG8gYSBkaXJlY3Rvcnkgb2YgYSBidXMgdG8gcmVzY2Fu IGZvciByZS1wbHVnICovCitzdGF0aWMgaW50IGRldmljZV91bnBsdWcoaW50IGRpcikKK3sKKwlp bnQgYnVzOworCisJYnVzID0gb3BlbmF0KGRpciwgImRldmljZS9zdWJzeXN0ZW0iLCBPX0RJUkVD VE9SWSk7CisJaWd0X2Fzc2VydChidXMgPj0gMCk7CisKKwlpZ3Rfc2V0X3RpbWVvdXQoNjAsICJE ZXZpY2UgdW5wbHVnIHRpbWVvdXQhIik7CisJaWd0X3N5c2ZzX3NldChkaXIsICJkZXZpY2UvcmVt b3ZlIiwgIjEiKTsKKworCXJldHVybiBidXM7Cit9CisKKworLyoKKyAqIE9wZXJhdGlvbiB0ZW1w bGF0ZQorICovCitzdGF0aWMgaW50IG9wZXJhdGlvbihpbnQgZGV2aWNlLCBhY3Rpb25fdCBhY3Rp b24sIHdvcmtsb2FkX3dhaXRfdCB3b3JrbG9hZF93YWl0LAorCQkgICAgIHZvaWQgKnByaXYpCit7 CisJaW50IGRpciwgYnVzOworCisJZGlyID0gaWd0X3N5c2ZzX29wZW4oZGV2aWNlKTsKKworCWJ1 cyA9IGFjdGlvbihkaXIpOworCWNsb3NlKGRpcik7CisKKwlpZiAod29ya2xvYWRfd2FpdCkKKwkJ d29ya2xvYWRfd2FpdChkZXZpY2UsIHByaXYpOworCWlndF9yZXNldF90aW1lb3V0KCk7CisKKwly ZXR1cm4gYnVzOworfQorCisKKy8qCisgKiBXb3JrbG9hZHMKKyAqLworCisvKiBXb3JrbG9hZCB1 c2luZyBpZ3Rfc3Bpbl9iYXRjaF9ydW4oKSAqLworCitzdGF0aWMgdm9pZCBzcGluX2JhdGNoX3dh aXQoaW50IGRldmljZSwgdm9pZCAqcHJpdikKK3sKKwlpZ3Rfc3Bpbl90ICpzcGluID0gcHJpdjsK KworCS8qIHdhaXQgdW50aWwgdGhlIHdvcmtsb2FkIGhhcyBjcmFzaGVkICovCisJZ2VtX3dhaXQo ZGV2aWNlLCBzcGluLT5oYW5kbGUsIE5VTEwpOworfQorCitzdGF0aWMgaW50IHNwaW5fYmF0Y2go aW50IGRldmljZSwgdm9pZCAqcHJpdiwgYWN0aW9uX3QgYWN0aW9uKQoreworCWlndF9zcGluX3Qg KnNwaW47CisJaW50IGJ1czsKKworCWlndF9hc3NlcnQoIXByaXYpOworCisJLyogU3RhcnQgdGhl IHdvcmtsb2FkIGluIGJhY2tncm91bmQuCisJICogTWFrZSBzdXJlIGl0IGlzIHJ1bm5pbmcgYW5k IHRpbWVzIG91dCBhZnRlciA5MCBzZWNvbmRzICovCisJc3BpbiA9IGlndF9zcGluX2JhdGNoX25l dyhkZXZpY2UsIC5mbGFncyA9IElHVF9TUElOX1BPTExfUlVOKTsKKwlpZ3Rfc3Bpbl9idXN5d2Fp dF91bnRpbF9ydW5uaW5nKHNwaW4pOworCWlndF9zcGluX2JhdGNoX3NldF90aW1lb3V0KHNwaW4s IDkwMDAwMDAwMDAwKTsKKworCS8qIHJ1biB0aGUgdGVzdGVkIGFjdGlvbiAqLworCWJ1cyA9IG9w ZXJhdGlvbihkZXZpY2UsIGFjdGlvbiwgc3Bpbl9iYXRjaF93YWl0LCBzcGluKTsKKworCS8qCisJ ICogQ2xlYW4gdXAgZHJpdmVyIHJlc291cmNlcyBwb3NzaWJseSBub3QgcmVsZWFzZWQgb24gd29y a2xvYWQgY3Jhc2gKKwkgKiBzbyB0aGUgZHJpdmVyIG1vZHVsZSBjYW4gYmUgc3VjY2Vzc2Z1bGx5 IHVubG9hZGVkCisJICovCisJaWd0X3NwaW5fYmF0Y2hfZnJlZShkZXZpY2UsIHNwaW4pOworCisJ cmV0dXJuIGJ1czsKK30KKworCisvKgorICogU2tlbGV0b24KKyAqLworCitzdGF0aWMgdm9pZCBo ZWFsdGhjaGVjayhpbnQgY2hpcHNldCwgaW50ICpkZXZpY2UpCit7CisJaWYgKGNoaXBzZXQgPT0g RFJJVkVSX0lOVEVMKSB7CisJCS8qCisJCSAqIFdlIGhhdmUgaXQgcGVyZmVjdGx5IGltcGxlbWVu dGVkIGluIGk5MTVfbW9kdWxlX2xvYWQsCisJCSAqIGp1c3QgdXNlIGl0LgorCQkgKi8KKwkJaWd0 X2Fzc2VydChpZ3Rfc3lzdGVtX3F1aWV0KCJpOTE1X21vZHVsZV9sb2FkIC0tcnVuLXN1YnRlc3Qg cmVsb2FkIikKKwkJCSAgID09IElHVF9FWElUX1NVQ0NFU1MpOworCX0gZWxzZSB7CisJCS8qCisJ CSAqIFdlIGRvbid0IGtub3cgaG93IHRvIGNoZWNrIGFuIHVuaWRlbnRpZmllZCBkZXZpY2UgZm9y IGhlYWx0aCwKKwkJICoganVzdCByZW9wZW4gaXQuCisJCSAqLworCX0KK30KKworc3RhdGljIHZv aWQgZHJpdmVyX3VubG9hZChpbnQgY2hpcHNldCwgY2hhciAqZHJpdmVyKQoreworCWlmIChjaGlw c2V0ID09IERSSVZFUl9JTlRFTCkKKwkJaWd0X2Fzc2VydChpZ3RfaTkxNV9kcml2ZXJfdW5sb2Fk KCkgPT0gSUdUX0VYSVRfU1VDQ0VTUyk7CisJZWxzZQorCQlpZ3RfYXNzZXJ0KGlndF9rbW9kX3Vu bG9hZChkcml2ZXIsIDApID09IDApOworfQorCitzdGF0aWMgdm9pZCBfX3N1YnRlc3QoaW50IGRl dmljZSwgaW50IGNoaXBzZXQsIGNoYXIgKmRyaXZlciwKKwkJICAgICAgd29ya2xvYWRfdCB3b3Jr bG9hZCwgdm9pZCAqcHJpdiwgYWN0aW9uX3QgYWN0aW9uKQoreworCWludCBidXMgPSB3b3JrbG9h ZChkZXZpY2UsIHByaXYsIGFjdGlvbik7CisKKwljbG9zZShkZXZpY2UpOworCWRyaXZlcl91bmxv YWQoY2hpcHNldCwgZHJpdmVyKTsKKworCS8qIFZhbGlkIGZpbGUgZGVzY3JpcHRvciBpbmRpY2F0 ZXMgd2Ugc2hvdWxkIHJlc2NhbiB0aGUgYnVzICovCisJaWYgKGJ1cyA+PSAwKSB7CisJCWlndF9z eXNmc19zZXQoYnVzLCAicmVzY2FuIiwgIjEiKTsKKwkJY2xvc2UoYnVzKTsKKwl9Cit9CisKK3N0 YXRpYyB2b2lkIHJ1bl9zdWJ0ZXN0KGludCAqZGV2aWNlLCBpbnQgY2hpcHNldCwgY2hhciAqZHJp dmVyLAorCQkJd29ya2xvYWRfdCB3b3JrbG9hZCwgdm9pZCAqcHJpdiwgYWN0aW9uX3QgYWN0aW9u KQoreworCV9fc3VidGVzdCgqZGV2aWNlLCBjaGlwc2V0LCBkcml2ZXIsIHdvcmtsb2FkLCBwcml2 LCBhY3Rpb24pOworCisJc2xlZXAoMik7CisKKwkqZGV2aWNlID0gX19kcm1fb3Blbl9kcml2ZXIo Y2hpcHNldCk7CisJaGVhbHRoY2hlY2soY2hpcHNldCwgZGV2aWNlKTsKKworCWlndF9hc3NlcnQo KmRldmljZSA+PSAwKTsKK30KKworCitpZ3RfbWFpbiB7CisJaW50IGRldmljZSwgY2hpcHNldDsK KwljaGFyICpkcml2ZXI7CisKKwlpZ3RfZml4dHVyZSB7CisJCWNoYXIgcGF0aFtQQVRIX01BWF07 CisJCWludCBkaXIsIGxlbjsKKworCQkvKgorCQkgKiBTaW5jZSB0aGUgdGVzdCBkZXBlbmRzIG9u IHN1Y2Nlc3NmdWwgdW5sb2FkIG9mIGRyaXZlciBtb2R1bGUsCisJCSAqIGRvbid0IHVzZSBkcm1f b3Blbl9kcml2ZXIoKSBhcyBpdCBrZWVwcyBhIGZpbGUgZGVzY3JpcHRvcgorCQkgKiBvcGVuIGZv ciBleGl0IGhhbmRsZXIgdXNlIHRoYXQgZWZmZWN0aXZlbHkgbG9ja3MgdGhlIG1vZHVsZS4KKwkJ ICovCisJCWRldmljZSA9IF9fZHJtX29wZW5fZHJpdmVyKERSSVZFUl9BTlkpOworCQlpZ3RfYXNz ZXJ0KGRldmljZSA+PSAwKTsKKworCQlpZiAoaXNfaTkxNV9kZXZpY2UoZGV2aWNlKSkgeworCQkJ Y2hpcHNldCA9IERSSVZFUl9JTlRFTDsKKwkJCWRyaXZlciA9IHN0cmR1cCgiaTkxNSIpOworCQl9 IGVsc2UgeworCQkJY2hpcHNldCA9IERSSVZFUl9BTlk7CisKKwkJCS8qIENhcHR1cmUgbW9kdWxl IG5hbWUgdG8gYmUgdW5sb2FkZWQgKi8KKwkJCWRpciA9IGlndF9zeXNmc19vcGVuKGRldmljZSk7 CisJCQlsZW4gPSByZWFkbGlua2F0KGRpciwgImRldmljZS9kcml2ZXIvbW9kdWxlIiwgcGF0aCwK KwkJCQkJIHNpemVvZihwYXRoKSAtIDEpOworCQkJY2xvc2UoZGlyKTsKKwkJCXBhdGhbbGVuXSA9 ICdcMCc7CisJCQlkcml2ZXIgPSBzdHJkdXAoc3RycmNocihwYXRoLCAnLycpICsgMSk7CisJCX0K KwkJaWd0X2luZm8oIlJ1bm5pbmcgdGhlIHRlc3Qgb24gZHJpdmVyIFwiJXNcIiwgY2hpcHNldCBt YXNrICUjMHhcbiIsCisJCQkgZHJpdmVyLCBjaGlwc2V0KTsKKwl9CisKKwlpZ3Rfc3VidGVzdCgi dW5wbHVnIikKKwkJcnVuX3N1YnRlc3QoJmRldmljZSwgY2hpcHNldCwgZHJpdmVyLCBzcGluX2Jh dGNoLCBOVUxMLAorCQkJICAgIGRldmljZV91bnBsdWcpOworCisJaWd0X3N1YnRlc3QoInVuYmlu ZCIpCisJCXJ1bl9zdWJ0ZXN0KCZkZXZpY2UsIGNoaXBzZXQsIGRyaXZlciwgc3Bpbl9iYXRjaCwg TlVMTCwKKwkJCSAgICBkcml2ZXJfdW5iaW5kKTsKKworCWlndF9maXh0dXJlIHsKKwkJZnJlZShk cml2ZXIpOworCQljbG9zZShkZXZpY2UpOworCQkvKgorCQkgKiBOb3cgcmVvcGVuIHRoZSBkZXZp Y2Ugd2l0aCBkcm1fb3Blbl9kcml2ZXIoKSBmb3IgYSB3aGlsZQorCQkgKiBzbyBleGl0IGhhbmRs ZXIgaXMgcmVnaXN0ZXJlZCBhbmQgY2FuIGRvIGl0cyBqb2Igb24gZXhpdC4KKwkJICovCisJCWRl dmljZSA9IGRybV9vcGVuX2RyaXZlcihjaGlwc2V0KTsKKwkJY2xvc2UoZGV2aWNlKTsKKwl9Cit9 CmRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCmluZGV4 IDhlMWFlNGZkLi5lNmI4NzQ0NyAxMDA2NDQKLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrIGIv dGVzdHMvbWVzb24uYnVpbGQKQEAgLTMsNiArMyw3IEBAIHRlc3RfcHJvZ3MgPSBbCiAJJ2NvcmVf Z2V0Y2xpZW50JywKIAknY29yZV9nZXRzdGF0cycsCiAJJ2NvcmVfZ2V0dmVyc2lvbicsCisJJ2Nv cmVfaG90X3JlbG9hZCcsCiAJJ2NvcmVfc2V0bWFzdGVyX3ZzX2F1dGgnLAogCSdkZWJ1Z2ZzX3Rl c3QnLAogCSdkcm1faW1wb3J0X2V4cG9ydCcsCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1k ZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaWd0LWRldg==