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 724F06E14F for ; Thu, 4 Apr 2019 13:56:48 +0000 (UTC) Date: Thu, 4 Apr 2019 15:56:44 +0200 From: Katarzyna Dec Message-ID: <20190404135644.GB12599@kdec5-desk.ger.corp.intel.com> References: <20190403160122.29149-1-janusz.krzysztofik@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190403160122.29149-1-janusz.krzysztofik@linux.intel.com> Subject: Re: [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: Janusz Krzysztofik Cc: Petri Latvala , "Lee, Simon B" , igt-dev@lists.freedesktop.org, Daniel Vetter List-ID: T24gV2VkLCBBcHIgMDMsIDIwMTkgYXQgMDY6MDE6MjJQTSArMDIwMCwgSmFudXN6IEtyenlzenRv ZmlrIHdyb3RlOgoKU29ycnkgZm9yIGpvaW5pbmcgdGhlIGRpc2N1c3Npb24gaW4gdjIgb2YgdGhp cyBwYXRjaCA6KQo+IEZyb206IEphbnVzeiBLcnp5c3p0b2ZpayA8amFudXN6LmtyenlzenRvZmlr QGludGVsLmNvbT4KPiAKPiBSdW4gYSBkdW1teSBsb2FkIGluIGJhY2tncm91bmQgdG8gcHV0IHNv bWUgd29ya2xvYWQgb24gYSBkZXZpY2UsIHRoZW4gdHJ5Cj4gdG8gZWl0aGVyIHJlbW92ZSAodW5w bHVnKSB0aGUgZGV2aWNlIGZyb20gaXRzIGJ1cywgb3IgdW5iaW5kIHRoZSBkZXZpY2Uncwo+IGRy aXZlciBmcm9tIGl0LCBkZXBlbmRpbmcgb24gd2hpY2ggc3VidGVzdCBoYXMgYmVlbiBzZWxlY3Rl ZC4gIElmCj4gc3VjY2VlZGVkLCB1bmxvYWQgdGhlIGRyaXZlciwgcmVzY2FuIHRoZSBkZXZpY2Un cyBidXMgaWYgbmVlZGVkIGFuZAo+IHBlcmZvcm0gaGVhbHRoIGNoZWNrcyBvbiB0aGUgZGV2aWNl IHdpdGggdGhlIGRyaXZlciByZWxvYWRlZC4KPiAKPiBUaGUgZHJpdmVyIGhvdCB1bmJpbmQgLyBk ZXZpY2UgaG90IHVucGx1ZyBvcGVyYXRpb24gaXMgZXhwZWN0ZWQgdG8gc3VjY2VlZAo+IGluIGEg cmVhc29uYWJsZSB0aW1lLCBob3dldmVyIGxvbmcgdGltZW91dHMgYXJlIHVzZWQgdG8gbGV0IGtl cm5lbCBsZXZlbAo+IHRpbWVvdXRzIHBvcCB1cCBmaXJzdCBpZiBoaXQgYnkgYSBidWcuCj4gCj4g VGhlIGR1bW15IGxvYWQgd29ya3Mgb25seSB3aXRoIGk5MTUgZHJpdmVyLiAgVGhlIHRlc3QgaXMg c2tpcHBlZCBvbiBvdGhlcgo+IGhhcmR3YXJlIHVubGVzcyB0aGV5IHByb3ZpZGUgdGhlaXIgaW1w bGVtZW50YXRpb24gb2YgaWd0X3NwaW5fYmF0Y2hfbmV3KCkKPiBhbmQgZnJpZW5kcy4KPiAKPiBT aWduZWQtb2ZmLWJ5OiBKYW51c3ogS3J6eXN6dG9maWsgPGphbnVzei5rcnp5c3p0b2Zpa0BpbnRl bC5jb20+Cj4gLS0tCj4gQ2hhbmdlbG9nOgo+IHYxLT52MjoKPiAtIHJlbmFtZWQgdG8gY29yZV9o b3RfcmVsb2FkLAo+IC0gZXh0ZW5kZWQgd2l0aCBtb2R1bGUgdW5sb2FkLCBkZXZpY2UgcmVkaXNj b3ZlciAodW5wbHVnIGNhc2UpLCBtb2R1bGUgcmVsb2FkIAo+ICAgYW5kIGhlYWx0aGNoZWNrIG9w ZXJhdGlvbnMgZm9sbG93aW5nIHRoZSBpbml0aWFsIHVucGx1Zy91bmJpbmQsIGFzIHJlcXVlc3Rl ZAo+ICAgYnkgRGFuaWVsIGFuZCBQZXRlciwKPiAtIGZhaWwgaWYgYW55dGhpbmcgZ29lcyB3cm9u ZywgYXMgcmVxdWVzdGVkIGJ5IERhbmllbAo+IC0gcmVmYWN0b3JlZCBhIGxvdCB0byByZWR1Y2Ug Y29kZSByZWR1bmRhbmN5Lgo+IAo+IFJlc2VuZGluZyBub3cgd2l0aCB0aGUgaWd0LWRldiBsaXN0 IGFkZHJlc3MgYWRkZWQgdG8gQ2M6LCBzb3JyeQpuaXQ6IEkgZG8gbm90IGtub3cgaWYgdGhpcyBp cyBhIHN0cmljdCBydWxlIG9yIGp1c3QgZXZlcnlvbmUgZG9lcyB0aGF0LCBidXQgdXN1YWxseQp3 ZSBwdXQgd2hhdCBoYXMgY2hhbmdlZCBhcyBhIHBhcnQgb2YgY29tbWl0IG1zZyBhYm92ZSBhbnkg U2lnbi1vZmYtYnkgb3IgQ0MuCkFuZCBhcyBzb29uIGFzIHRoaXMgaXMgYSB2MiB5b3UgY291bGQg bWFyayBpdCBpbiB0aGUgcGF0Y2ggbmFtZSAoZHVyaW5nCmdlbmVyYXRpbmcgcGF0Y2ggZm9yIHJl dmlldykuCj4gCj4gIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgIHwgICAxICsKPiAgdGVzdHMvY29y ZV9ob3RfcmVsb2FkLmMgfCAyNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ICB0ZXN0cy9tZXNvbi5idWlsZCAgICAgICB8ICAgMSArCj4gIDMgZmlsZXMgY2hhbmdl ZCwgMjUwIGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2NvcmVfaG90 X3JlbG9hZC5jCj4gCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0 cy9NYWtlZmlsZS5zb3VyY2VzCj4gaW5kZXggODZhZDMwMWUuLjVmOWRiYTMwIDEwMDY0NAo+IC0t LSBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gQEAgLTE2LDYgKzE2LDcgQEAgVEVTVFNfcHJvZ3MgPSBcCj4gIAljb3JlX2dldGNsaWVudCBc Cj4gIAljb3JlX2dldHN0YXRzIFwKPiAgCWNvcmVfZ2V0dmVyc2lvbiBcCj4gKwljb3JlX2hvdF9y ZWxvYWQgXAo+ICAJY29yZV9zZXRtYXN0ZXJfdnNfYXV0aCBcCj4gIAlkZWJ1Z2ZzX3Rlc3QgXAo+ ICAJZHJtX2ltcG9ydF9leHBvcnQgXAo+IGRpZmYgLS1naXQgYS90ZXN0cy9jb3JlX2hvdF9yZWxv YWQuYyBiL3Rlc3RzL2NvcmVfaG90X3JlbG9hZC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCAwMDAwMDAwMC4uOTZmMGVmZDAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvdGVzdHMvY29y ZV9ob3RfcmVsb2FkLmMKPiBAQCAtMCwwICsxLDI0OCBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQg wqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsg KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8g cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwg V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT SU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsg Ki8KPiArCj4gKyNpbmNsdWRlICJpZ3QuaCIKPiArI2luY2x1ZGUgImlndF9kZXZpY2UuaCIKPiAr I2luY2x1ZGUgImlndF9kdW1teWxvYWQuaCIKPiArI2luY2x1ZGUgImlndF9rbW9kLmgiCj4gKyNp bmNsdWRlICJpZ3Rfc3lzZnMuaCIKPiArCj4gKyNpbmNsdWRlIDxnZXRvcHQuaD4KPiArI2luY2x1 ZGUgPGxpbWl0cy5oPgo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDx1bmlzdGQu aD4KPiArCj4gKwo+ICt0eXBlZGVmIHZvaWQgKCp3b3JrbG9hZF93YWl0X3QpKGludCBkZXZpY2Us IHZvaWQgKnByaXYpOwo+ICt0eXBlZGVmIGludCAoKmFjdGlvbl90KShpbnQgZGlyKTsKPiArdHlw ZWRlZiBpbnQgKCp3b3JrbG9hZF90KShpbnQgZGV2aWNlLCB2b2lkICpwcml2LCBhY3Rpb25fdCBh Y3Rpb24pOwo+ICsKPiArCj4gKy8qCj4gKyAqIEFjdGlvbnMKPiArICovCj4gKwo+ICsvKiBVbmJp bmQgdGhlIGRyaXZlciBmcm9tIHRoZSBkZXZpY2UgKi8KSXQgd291bGQgYmUgbmljZSBpZiB5b3Ug YWRkIGRvY3MgdG8gYWxsL2FsbW9zdCBhbGwgZnVuY3Rpb25zIGxpa2U6Ci8qKgogKmRyaXZlcl91 bmJpbmQ6CiAqQGRpcjogZmQgb2YgZGlyZWN0b3J5IHRvIGxvb2sgaW4KICoKICogVW5iaW5kIHRo ZSBkcml2ZXIgZnJvbSB0aGUgZGV2aWNlCiAqIFJldHVybnMgLTEgZm9yID8KICovCiBFeGFtcGxl IGlzIG5vdCBmaW5pc2hlZC4gU2VlIG90aGVyIGZpbGVzIGZvciBleGFtcGxlcy4KPiArc3RhdGlj IGludCBkcml2ZXJfdW5iaW5kKGludCBkaXIpCj4gK3sKPiArCWNoYXIgcGF0aFtQQVRIX01BWF0s ICpkZXZfYnVzX2FkZHI7Cj4gKwlpbnQgbGVuOwo+ICsKPiArCWxlbiA9IHJlYWRsaW5rYXQoZGly LCAiZGV2aWNlIiwgcGF0aCwgc2l6ZW9mKHBhdGgpIC0gMSk7Cj4gKwlwYXRoW2xlbl0gPSAnXDAn Owo+ICsJZGV2X2J1c19hZGRyID0gc3RycmNocihwYXRoLCAnLycpICsgMTsKPiArCj4gKwlpZ3Rf c2V0X3RpbWVvdXQoNjAsICJEcml2ZXIgdW5iaW5kIHRpbWVvdXQhIik7Cj4gKwlpZ3Rfc3lzZnNf c2V0KGRpciwgImRldmljZS9kcml2ZXIvdW5iaW5kIiwgZGV2X2J1c19hZGRyKTsKPiArCj4gKwkv KiBObyBuZWVkIGZvciBidXMgcmVzY2FuICovCj4gKwlyZXR1cm4gLTE7CldoeSBkbyB3ZSBhbHdh eXMgd2FudCB0byByZXR1cm4gLTE/Cj4gK30KPiArCj4gKy8qIFJldHVybnMgb3BlbiBmaWxlIGRl c2NyaXB0b3IgdG8gYSBkaXJlY3Rvcnkgb2YgYSBidXMgdG8gcmVzY2FuIGZvciByZS1wbHVnICov CnMvb3Blbi9vcGVuZWQvCj4gK3N0YXRpYyBpbnQgZGV2aWNlX3VucGx1ZyhpbnQgZGlyKQo+ICt7 Cj4gKwlpbnQgYnVzOwo+ICsKPiArCWJ1cyA9IG9wZW5hdChkaXIsICJkZXZpY2Uvc3Vic3lzdGVt IiwgT19ESVJFQ1RPUlkpOwo+ICsJaWd0X2Fzc2VydChidXMgPj0gMCk7Cj4gKwo+ICsJaWd0X3Nl dF90aW1lb3V0KDYwLCAiRGV2aWNlIHVucGx1ZyB0aW1lb3V0ISIpOwo+ICsJaWd0X3N5c2ZzX3Nl dChkaXIsICJkZXZpY2UvcmVtb3ZlIiwgIjEiKTsKPiArCj4gKwlyZXR1cm4gYnVzOwo+ICt9Cj4g Kwo+ICsKPiArLyoKPiArICogT3BlcmF0aW9uIHRlbXBsYXRlCj4gKyAqLwo+ICtzdGF0aWMgaW50 IG9wZXJhdGlvbihpbnQgZGV2aWNlLCBhY3Rpb25fdCBhY3Rpb24sIHdvcmtsb2FkX3dhaXRfdCB3 b3JrbG9hZF93YWl0LAo+ICsJCSAgICAgdm9pZCAqcHJpdikKPiArewo+ICsJaW50IGRpciwgYnVz Owo+ICsKPiArCWRpciA9IGlndF9zeXNmc19vcGVuKGRldmljZSk7Cj4gKwo+ICsJYnVzID0gYWN0 aW9uKGRpcik7Cj4gKwljbG9zZShkaXIpOwo+ICsKPiArCWlmICh3b3JrbG9hZF93YWl0KQo+ICsJ CXdvcmtsb2FkX3dhaXQoZGV2aWNlLCBwcml2KTsKPiArCWlndF9yZXNldF90aW1lb3V0KCk7Cj4g Kwo+ICsJcmV0dXJuIGJ1czsKPiArfQo+ICsKPiArCj4gKy8qCj4gKyAqIFdvcmtsb2Fkcwo+ICsg Ki8KPiArCj4gKy8qIFdvcmtsb2FkIHVzaW5nIGlndF9zcGluX2JhdGNoX3J1bigpICovCj4gKwo+ ICtzdGF0aWMgdm9pZCBzcGluX2JhdGNoX3dhaXQoaW50IGRldmljZSwgdm9pZCAqcHJpdikKPiAr ewo+ICsJaWd0X3NwaW5fdCAqc3BpbiA9IHByaXY7Cj4gKwo+ICsJLyogd2FpdCB1bnRpbCB0aGUg d29ya2xvYWQgaGFzIGNyYXNoZWQgKi8KPiArCWdlbV93YWl0KGRldmljZSwgc3Bpbi0+aGFuZGxl LCBOVUxMKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBzcGluX2JhdGNoKGludCBkZXZpY2UsIHZv aWQgKnByaXYsIGFjdGlvbl90IGFjdGlvbikKPiArewo+ICsJaWd0X3NwaW5fdCAqc3BpbjsKPiAr CWludCBidXM7Cj4gKwo+ICsJaWd0X2Fzc2VydCghcHJpdik7Cj4gKwo+ICsJLyogU3RhcnQgdGhl IHdvcmtsb2FkIGluIGJhY2tncm91bmQuCj4gKwkgKiBNYWtlIHN1cmUgaXQgaXMgcnVubmluZyBh bmQgdGltZXMgb3V0IGFmdGVyIDkwIHNlY29uZHMgKi8KUGxhc2UgdXNlIGRybS9zY3JpcHRzL2No ZWNrcGF0Y2gucGwgdG8gY2hlY2sgZm9ybWF0aW5nIG9mIHRoaXMgXiBjb21tZW5kIGFuZCB0aGUK cmVzdCBvZiB0aGUgZmlsZS4KPiArCXNwaW4gPSBpZ3Rfc3Bpbl9iYXRjaF9uZXcoZGV2aWNlLCAu ZmxhZ3MgPSBJR1RfU1BJTl9QT0xMX1JVTik7Cj4gKwlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9y dW5uaW5nKHNwaW4pOwo+ICsJaWd0X3NwaW5fYmF0Y2hfc2V0X3RpbWVvdXQoc3BpbiwgOTAwMDAw MDAwMDApOwo+ICsKPiArCS8qIHJ1biB0aGUgdGVzdGVkIGFjdGlvbiAqLwo+ICsJYnVzID0gb3Bl cmF0aW9uKGRldmljZSwgYWN0aW9uLCBzcGluX2JhdGNoX3dhaXQsIHNwaW4pOwo+ICsKPiArCS8q Cj4gKwkgKiBDbGVhbiB1cCBkcml2ZXIgcmVzb3VyY2VzIHBvc3NpYmx5IG5vdCByZWxlYXNlZCBv biB3b3JrbG9hZCBjcmFzaAo+ICsJICogc28gdGhlIGRyaXZlciBtb2R1bGUgY2FuIGJlIHN1Y2Nl c3NmdWxseSB1bmxvYWRlZAo+ICsJICovCj4gKwlpZ3Rfc3Bpbl9iYXRjaF9mcmVlKGRldmljZSwg c3Bpbik7Cj4gKwo+ICsJcmV0dXJuIGJ1czsKPiArfQo+ICsKPiArCj4gKy8qCj4gKyAqIFNrZWxl dG9uCj4gKyAqLwo+ICsKPiArc3RhdGljIHZvaWQgaGVhbHRoY2hlY2soaW50IGNoaXBzZXQsIGlu dCAqZGV2aWNlKQo+ICt7Cj4gKwlpZiAoY2hpcHNldCA9PSBEUklWRVJfSU5URUwpIHsKPiArCQkv Kgo+ICsJCSAqIFdlIGhhdmUgaXQgcGVyZmVjdGx5IGltcGxlbWVudGVkIGluIGk5MTVfbW9kdWxl X2xvYWQsCj4gKwkJICoganVzdCB1c2UgaXQuCj4gKwkJICovCj4gKwkJaWd0X2Fzc2VydChpZ3Rf c3lzdGVtX3F1aWV0KCJpOTE1X21vZHVsZV9sb2FkIC0tcnVuLXN1YnRlc3QgcmVsb2FkIikKPiAr CQkJICAgPT0gSUdUX0VYSVRfU1VDQ0VTUyk7Cj4gKwl9IGVsc2Ugewo+ICsJCS8qCj4gKwkJICog V2UgZG9uJ3Qga25vdyBob3cgdG8gY2hlY2sgYW4gdW5pZGVudGlmaWVkIGRldmljZSBmb3IgaGVh bHRoLAo+ICsJCSAqIGp1c3QgcmVvcGVuIGl0Lgo+ICsJCSAqLwo+ICsJfQpJZiB3ZSBkbyBub3Qg a25vdy9kbyBub3Qgd2FudCB0byBrbm93IGFib3V0IG90aGVyIGRldmljZXMsIHdlIGNvdWxkIGFk ZApyZXF1aXJlbWVudCB0byB3aG9sZSBiaW5hcnk6CmZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZF Ul9JTlRFTCk7CmlndF9yZXF1aXJlX2dlbShmZCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRy aXZlcl91bmxvYWQoaW50IGNoaXBzZXQsIGNoYXIgKmRyaXZlcikKPiArewo+ICsJaWYgKGNoaXBz ZXQgPT0gRFJJVkVSX0lOVEVMKQo+ICsJCWlndF9hc3NlcnQoaWd0X2k5MTVfZHJpdmVyX3VubG9h ZCgpID09IElHVF9FWElUX1NVQ0NFU1MpOwo+ICsJZWxzZQo+ICsJCWlndF9hc3NlcnQoaWd0X2tt b2RfdW5sb2FkKGRyaXZlciwgMCkgPT0gMCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIF9fc3Vi dGVzdChpbnQgZGV2aWNlLCBpbnQgY2hpcHNldCwgY2hhciAqZHJpdmVyLAo+ICsJCSAgICAgIHdv cmtsb2FkX3Qgd29ya2xvYWQsIHZvaWQgKnByaXYsIGFjdGlvbl90IGFjdGlvbikKPiArewo+ICsJ aW50IGJ1cyA9IHdvcmtsb2FkKGRldmljZSwgcHJpdiwgYWN0aW9uKTsKPiArCj4gKwljbG9zZShk ZXZpY2UpOwo+ICsJZHJpdmVyX3VubG9hZChjaGlwc2V0LCBkcml2ZXIpOwo+ICsKPiArCS8qIFZh bGlkIGZpbGUgZGVzY3JpcHRvciBpbmRpY2F0ZXMgd2Ugc2hvdWxkIHJlc2NhbiB0aGUgYnVzICov Cj4gKwlpZiAoYnVzID49IDApIHsKPiArCQlpZ3Rfc3lzZnNfc2V0KGJ1cywgInJlc2NhbiIsICIx Iik7Cj4gKwkJY2xvc2UoYnVzKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIHZvaWQgcnVuX3N1 YnRlc3QoaW50ICpkZXZpY2UsIGludCBjaGlwc2V0LCBjaGFyICpkcml2ZXIsCj4gKwkJCXdvcmts b2FkX3Qgd29ya2xvYWQsIHZvaWQgKnByaXYsIGFjdGlvbl90IGFjdGlvbikKPiArewo+ICsJX19z dWJ0ZXN0KCpkZXZpY2UsIGNoaXBzZXQsIGRyaXZlciwgd29ya2xvYWQsIHByaXYsIGFjdGlvbik7 Cj4gKwo+ICsJc2xlZXAoMik7CldoeSBkbyB3ZSBuZWVkIDIgc2Vjb25kcyBvZiBzbGVlcCBoZXJl PyBXaGVyZSBpcyB0aGUgZGF0YSBjb21pbmcgZnJvbT8KPiArCj4gKwkqZGV2aWNlID0gX19kcm1f b3Blbl9kcml2ZXIoY2hpcHNldCk7Cj4gKwloZWFsdGhjaGVjayhjaGlwc2V0LCBkZXZpY2UpOwo+ ICsKPiArCWlndF9hc3NlcnQoKmRldmljZSA+PSAwKTsKPiArfQo+ICsKPiArCj4gK2lndF9tYWlu IHsKPiArCWludCBkZXZpY2UsIGNoaXBzZXQ7Cj4gKwljaGFyICpkcml2ZXI7Cj4gKwo+ICsJaWd0 X2ZpeHR1cmUgewo+ICsJCWNoYXIgcGF0aFtQQVRIX01BWF07Cj4gKwkJaW50IGRpciwgbGVuOwo+ ICsKPiArCQkvKgo+ICsJCSAqIFNpbmNlIHRoZSB0ZXN0IGRlcGVuZHMgb24gc3VjY2Vzc2Z1bCB1 bmxvYWQgb2YgZHJpdmVyIG1vZHVsZSwKPiArCQkgKiBkb24ndCB1c2UgZHJtX29wZW5fZHJpdmVy KCkgYXMgaXQga2VlcHMgYSBmaWxlIGRlc2NyaXB0b3IKPiArCQkgKiBvcGVuIGZvciBleGl0IGhh bmRsZXIgdXNlIHRoYXQgZWZmZWN0aXZlbHkgbG9ja3MgdGhlIG1vZHVsZS4KPiArCQkgKi8KPiAr CQlkZXZpY2UgPSBfX2RybV9vcGVuX2RyaXZlcihEUklWRVJfQU5ZKTsKQmFzZWQgb24gd2hhdCB5 b3UndmUgd3JvdGUgaW4gY29tbWl0IG1zZyB3aGVuIGR1bW15IGxvYWQgd29ya3Mgb25seSBvbgpE UklWRVJfSU5URUwsIHdoeSBkbyB3ZSBldmVuIGNhcmUgYWJvdXQgb3RoZXIgZHJpdmVycz8gV2h5 IGRvbid0IHdlIG9wZW4gSU5URUwKaGVyZSBhbmQgc2tpcCBvbiBvdGhlciB0eXBlcz8KClF1aXRl IGEgbmljZSBqb2IgZG9uZSBoZXJlIDopIExvb2tzIGxpa2UgeW91IGFyZSBnb2luZyBpbnRvIHJp Z2h0IGRpcmVjdGlvbi4KS2FzaWEgOikKPiArCQlpZ3RfYXNzZXJ0KGRldmljZSA+PSAwKTsKPiAr Cj4gKwkJaWYgKGlzX2k5MTVfZGV2aWNlKGRldmljZSkpIHsKPiArCQkJY2hpcHNldCA9IERSSVZF Ul9JTlRFTDsKPiArCQkJZHJpdmVyID0gc3RyZHVwKCJpOTE1Iik7Cj4gKwkJfSBlbHNlIHsKPiAr CQkJY2hpcHNldCA9IERSSVZFUl9BTlk7Cj4gKwo+ICsJCQkvKiBDYXB0dXJlIG1vZHVsZSBuYW1l IHRvIGJlIHVubG9hZGVkICovCj4gKwkJCWRpciA9IGlndF9zeXNmc19vcGVuKGRldmljZSk7Cj4g KwkJCWxlbiA9IHJlYWRsaW5rYXQoZGlyLCAiZGV2aWNlL2RyaXZlci9tb2R1bGUiLCBwYXRoLAo+ ICsJCQkJCSBzaXplb2YocGF0aCkgLSAxKTsKPiArCQkJY2xvc2UoZGlyKTsKPiArCQkJcGF0aFts ZW5dID0gJ1wwJzsKPiArCQkJZHJpdmVyID0gc3RyZHVwKHN0cnJjaHIocGF0aCwgJy8nKSArIDEp Owo+ICsJCX0KPiArCQlpZ3RfaW5mbygiUnVubmluZyB0aGUgdGVzdCBvbiBkcml2ZXIgXCIlc1wi LCBjaGlwc2V0IG1hc2sgJSMweFxuIiwKPiArCQkJIGRyaXZlciwgY2hpcHNldCk7Cj4gKwl9Cj4g Kwo+ICsJaWd0X3N1YnRlc3QoInVucGx1ZyIpCj4gKwkJcnVuX3N1YnRlc3QoJmRldmljZSwgY2hp cHNldCwgZHJpdmVyLCBzcGluX2JhdGNoLCBOVUxMLAo+ICsJCQkgICAgZGV2aWNlX3VucGx1Zyk7 Cj4gKwo+ICsJaWd0X3N1YnRlc3QoInVuYmluZCIpCj4gKwkJcnVuX3N1YnRlc3QoJmRldmljZSwg Y2hpcHNldCwgZHJpdmVyLCBzcGluX2JhdGNoLCBOVUxMLAo+ICsJCQkgICAgZHJpdmVyX3VuYmlu ZCk7Cj4gKwo+ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWZyZWUoZHJpdmVyKTsKPiArCQljbG9zZShk ZXZpY2UpOwo+ICsJCS8qCj4gKwkJICogTm93IHJlb3BlbiB0aGUgZGV2aWNlIHdpdGggZHJtX29w ZW5fZHJpdmVyKCkgZm9yIGEgd2hpbGUKPiArCQkgKiBzbyBleGl0IGhhbmRsZXIgaXMgcmVnaXN0 ZXJlZCBhbmQgY2FuIGRvIGl0cyBqb2Igb24gZXhpdC4KPiArCQkgKi8KPiArCQlkZXZpY2UgPSBk cm1fb3Blbl9kcml2ZXIoY2hpcHNldCk7Cj4gKwkJY2xvc2UoZGV2aWNlKTsKPiArCX0KPiArfQo+ IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gaW5k ZXggOGUxYWU0ZmQuLmU2Yjg3NDQ3IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCj4g KysrIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBAQCAtMyw2ICszLDcgQEAgdGVzdF9wcm9ncyA9IFsK PiAgCSdjb3JlX2dldGNsaWVudCcsCj4gIAknY29yZV9nZXRzdGF0cycsCj4gIAknY29yZV9nZXR2 ZXJzaW9uJywKPiArCSdjb3JlX2hvdF9yZWxvYWQnLAo+ICAJJ2NvcmVfc2V0bWFzdGVyX3ZzX2F1 dGgnLAo+ICAJJ2RlYnVnZnNfdGVzdCcsCj4gIAknZHJtX2ltcG9ydF9leHBvcnQnLAo+IC0tIAo+ IDIuMjAuMQo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=