From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id BEA0D88E38 for ; Wed, 17 Apr 2019 08:53:08 +0000 (UTC) Date: Wed, 17 Apr 2019 10:53:05 +0200 From: Katarzyna Dec Message-ID: <20190417085305.GA29604@kdec5-desk.ger.corp.intel.com> References: <20190410100226.20618-1-janusz.krzysztofik@linux.intel.com> <20190411122629.30983-2-janusz.krzysztofik@linux.intel.com> <20190412081641.GA8051@kdec5-desk.ger.corp.intel.com> <1878653.rxHacvj8Me@jkrzyszt-desk.ger.corp.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1878653.rxHacvj8Me@jkrzyszt-desk.ger.corp.intel.com> Subject: Re: [igt-dev] [PATCH v7 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: Janusz Krzysztofik Cc: igt-dev@lists.freedesktop.org, Daniel Vetter List-ID: T24gVHVlLCBBcHIgMTYsIDIwMTkgYXQgMDk6MTc6MjFBTSArMDIwMCwgSmFudXN6IEtyenlzenRv ZmlrIHdyb3RlOgo+IEhpIEthc2lhLAo+IAo+IE9uIEZyaWRheSwgQXByaWwgMTIsIDIwMTkgMTA6 MTY6NDEgQU0gQ0VTVCBLYXRhcnp5bmEgRGVjIHdyb3RlOgo+ID4gT24gVGh1LCBBcHIgMTEsIDIw MTkgYXQgMDI6MjY6MjhQTSArMDIwMCwgSmFudXN6IEtyenlzenRvZmlrIHdyb3RlOgo+ID4gPiBG cm9tOiBKYW51c3ogS3J6eXN6dG9maWsgPGphbnVzei5rcnp5c3p0b2Zpa0BpbnRlbC5jb20+Cj4g PiA+IAo+ID4gPiBSdW4gYSBkdW1teSBsb2FkIGluIGJhY2tncm91bmQgdG8gcHV0IHNvbWUgd29y a2xvYWQgb24gYSBkZXZpY2UsIHRoZW4gdHJ5Cj4gPiA+IHRvIGVpdGhlciByZW1vdmUgKHVucGx1 ZykgdGhlIGRldmljZSBmcm9tIGl0cyBidXMsIG9yIHVuYmluZCB0aGUgZGV2aWNlJ3MKPiA+ID4g ZHJpdmVyIGZyb20gaXQsIGRlcGVuZGluZyBvbiB3aGljaCBzdWJ0ZXN0IGhhcyBiZWVuIHNlbGVj dGVkLiAgSWYKPiA+ID4gc3VjY2VlZGVkLCB1bmxvYWQgdGhlIGRyaXZlciwgcmVzY2FuIHRoZSBk ZXZpY2UncyBidXMgaWYgbmVlZGVkIGFuZAo+ID4gPiBwZXJmb3JtIGhlYWx0aCBjaGVja3Mgb24g dGhlIGRldmljZSB3aXRoIHRoZSBkcml2ZXIgcmVsb2FkZWQuCj4gPiA+IAo+ID4gPiBUaGUgZHVt bXkgbG9hZCBpcyBydW4gZnJvbSBpZ3RfZml4dHVyZSBhbmQgaW4gYSBzdWItcHJvY2Vzcywgbm90 IGRpcmVjdGx5Cj4gPiA+IGZyb20gc3VidGVzdHMsICBhcyBpdCBpcyBleHBlY3RlZCB0byBmYWls IGFuZCBpdCdzIG1vcmUgc2ltcGxlIHRvIGlnbm9yZQo+ID4gPiBpZ3RfYWJvcnQoKSBpbiBhIHN1 Yi1wcm9jZXNzLiAgTW9yZW92ZXIsIGFzIHNvb24gYXMgdGhlIHN1Yi1wcm9jZXNzIGZhaWxzCj4g PiA+IGFuZCBleGl0cywgcmVzb3VyY2VzIGl0IHdhcyB1c2luZyBhcmUgZnJlZWQgYXV0b21hdGlj YWxseSBzbyB0aGVyZSBpcyBubwo+ID4gPiBuZWVkIHRvIGRvIGFueSBjbGVhbnVwcyByZXF1aXJl ZCBmb3Igc21vb3RoIG1vZHVsZSB1bmxvYWQgZnJvbSB0aGUgdGVzdAo+ID4gPiBsZXZlbCBpdHNl bGYuICBUaG9zZSBjbGVhbnVwcyBtaWdodCBhbHNvIG1ha2UgdGhlIHN1YnRlc3RzIGZhaWwgaWYg c2ltcGx5Cj4gPiA+IAo+ID4gPiB1c2luZyBpZ3QgbGlicmFyeSBmdW5jdGlvbnMgZm9yIHRoYXQg aW5zdGVhZCBvZiByZWltcGxlbWVudGluZyB0aGVpciBzYWZlCj4gPiA+IHBhcnRzIG9ubHkuCj4g PiA+IAo+ID4gPiBUaGUgZHJpdmVyIGhvdCB1bmJpbmQgLyBkZXZpY2UgaG90IHVucGx1ZyBvcGVy YXRpb24gaXMgZXhwZWN0ZWQgdG8gc3VjY2VlZAo+ID4gPiBhbmQgdGhlIGJhY2tncm91bmQgd29y a2xvYWQgc3ViLXByb2Nlc3MgdG8gZGllIGluIGEgcmVhc29uYWJsZSB0aW1lLAo+ID4gPiBob3dl dmVyIGxvbmcgdGltZW91dHMgYXJlIHVzZWQgdG8gbGV0IGtlcm5lbCBsZXZlbCB0aW1lb3V0cyBw b3AgdXAgZmlyc3QKPiA+ID4gaWYgaGl0IGJ5IGEgYnVnLgo+ID4gPiAKPiA+ID4gVGhlIGR1bW15 IGxvYWQgd29ya3Mgb25seSBvbiBpOTE1IGRyaXZlci4gIFRoZSB0ZXN0IGlzIHNraXBwZWQgb24g b3RoZXIKPiA+ID4gaGFyZHdhcmUgdW5sZXNzIHRoZXkgcHJvdmlkZSB0aGVpciBpbXBsZW1lbnRh dGlvbiBvZiBpZ3Rfc3Bpbl9iYXRjaF9uZXcoKQo+ID4gPiBhbmQgZnJpZW5kcy4KPiA+IAo+ID4g VGhlcmUgYXJlIGZldyBub3QgbmVlZGVkIHNwYWNlcyBhYm92ZSwgbm8gbmVlZCB0byBzZW5kIG5l dyB2ZXJzaW9uIGlmIHRoaXMKPiA+IHdpbGwgYmUgdGhlIG9ubHkgdGhpbmcgKGNhbiBiZSBmaXhl ZCBkdXJpbmcgbWVyZ2luZykuCj4gCj4gT0suCj4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEphbnVz eiBLcnp5c3p0b2ZpayA8amFudXN6LmtyenlzenRvZmlrQGludGVsLmNvbT4KPiA+ID4gLS0tCj4g PiA+IAo+ID4gPiAgdGVzdHMvTWFrZWZpbGUuc291cmNlcyAgfCAgIDEgKwo+ID4gPiAgdGVzdHMv Y29yZV9ob3RfcmVsb2FkLmMgfCAyNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ID4gPiAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgfCAgIDEgKwo+ID4gPiAgMyBm aWxlcyBjaGFuZ2VkLCAyNTggaW5zZXJ0aW9ucygrKQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3RzL2NvcmVfaG90X3JlbG9hZC5jCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMv TWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiA+ID4gaW5kZXggMjE0 Njk4ZGEuLmQyYzA5NDFkIDEwMDY0NAo+ID4gPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gPiA+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiA+ID4gQEAgLTE2LDYgKzE2LDcg QEAgVEVTVFNfcHJvZ3MgPSBcCj4gPiA+IAo+ID4gPiAgCWNvcmVfZ2V0Y2xpZW50IFwKPiA+ID4g IAljb3JlX2dldHN0YXRzIFwKPiA+ID4gIAljb3JlX2dldHZlcnNpb24gXAo+ID4gPiAKPiA+ID4g Kwljb3JlX2hvdF9yZWxvYWQgXAo+ID4gPiAKPiA+ID4gIAljb3JlX3NldG1hc3Rlcl92c19hdXRo IFwKPiA+ID4gIAlkZWJ1Z2ZzX3Rlc3QgXAo+ID4gPiAgCWRybV9pbXBvcnRfZXhwb3J0IFwKPiA+ ID4gCj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9jb3JlX2hvdF9yZWxvYWQuYyBiL3Rlc3RzL2Nv cmVfaG90X3JlbG9hZC5jCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAw MDAwMDAwLi5kODYyYzk5Ywo+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ICsrKyBiL3Rlc3RzL2Nv cmVfaG90X3JlbG9hZC5jCj4gPiA+IEBAIC0wLDAgKzEsMjU2IEBACj4gPiA+ICsvKgo+ID4gPiAr ICogQ29weXJpZ2h0IMKpIDIwMTkgSW50ZWwgQ29ycG9yYXRpb24KPiA+ID4gKyAqCj4gPiA+ICsg KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcKPiA+ID4gYQo+ID4gPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQo+ID4gPiAiU29mdHdhcmUiKSwg KyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu Zwo+ID4gPiB3aXRob3V0IGxpbWl0YXRpb24gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLAo+ID4gPiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCArICog YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCj4gPiA+IHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1 YmplY3QgdG8KPiA+ID4gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOiArICoKPiA+ID4gKyAqIFRo ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNs dWRpbmcgdGhlCj4gPiA+IG5leHQgKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4g YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbAo+ID4gPiBwb3J0aW9ucyBvZiB0aGUgKyAqIFNvZnR3 YXJlLgo+ID4gPiArICoKPiA+ID4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAo+ID4gPiBFWFBSRVNTIE9SICsgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCj4gPiA+ IE1FUkNIQU5UQUJJTElUWSwgKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFO RAo+ID4gPiBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTCArICogVEhFIEFVVEhP UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMKPiA+ID4gQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERB TUFHRVMgT1IgT1RIRVIgKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTgo+ID4gPiBBQ1RJT04g T0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HICsgKiBGUk9NLCBPVVQgT0Yg T1IgSU4KPiA+ID4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9U SEVSIERFQUxJTkdTICsgKiBJTiBUSEUKPiA+ID4gU09GVFdBUkUuCj4gPiA+ICsgKi8KPiA+ID4g Kwo+ID4gPiArI2luY2x1ZGUgImlndC5oIgo+ID4gPiArI2luY2x1ZGUgImlndF9kZXZpY2UuaCIK PiA+ID4gKyNpbmNsdWRlICJpZ3RfZHVtbXlsb2FkLmgiCj4gPiA+ICsjaW5jbHVkZSAiaWd0X2tt b2QuaCIKPiA+ID4gKyNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKPiA+ID4gKwo+ID4gPiArI2luY2x1 ZGUgPGdldG9wdC5oPgo+ID4gPiArI2luY2x1ZGUgPGxpbWl0cy5oPgo+ID4gPiArI2luY2x1ZGUg PHN0cmluZy5oPgo+ID4gPiArI2luY2x1ZGUgPHVuaXN0ZC5oPgo+ID4gPiArCj4gPiA+ICsKPiA+ IAo+ID4gSSB0aGluayB0aGF0IDEgYmxhbmsgbGluZSB3aWxsIGJlIGZpbmUuCj4gCj4gT0suCj4g Cj4gPiA+ICt0eXBlZGVmIGludCAoKmFjdGlvbl90KShpbnQgZGlyKTsKPiA+ID4gK3R5cGVkZWYg dm9pZCAoKndvcmtsb2FkX3dhaXRfdCkodm9pZCAqcHJpdik7Cj4gPiA+ICt0eXBlZGVmIHZvaWQg KCp3b3JrbG9hZF90KShpbnQgZGV2aWNlLCBjb25zdCB2b2lkICpwcml2KTsKPiA+ID4gKwo+ID4g PiArCj4gPiAKPiA+IHNhbWUgaGVyZSA6KQo+IAo+IE9LLgo+IAo+ID4gPiArLyoKPiA+ID4gKyAq IEFjdGlvbnMKPiA+ID4gKyAqCj4gPiA+ICsgKiBQdXJwb3NlOiBtYWtlIHRoZSBkZXZpY2UgZGlz YXBwZWFyCj4gPiA+ICsgKgo+ID4gPiArICogQGRpcjogZmlsZSBkZXNjcmlwdG9yIG9mIGFuIG9w ZW4gZGV2aWNlIHN5c2ZzIGRpcmVjdG9yeQo+ID4gPiArICoKPiA+ID4gKyAqIFJldHVybiB2YWx1 ZTogZmlsZSBkZXNjcmlwdG9yIG9mIGFuIG9wZW4gZGV2aWNlIGJ1cycgc3lzZnMgZGlyZWN0b3J5 Cj4gPiA+ICsgKiAJCSBvciAtMSBpZiBubyBidXMgcmVzY2FuIGlzIG5lZWRlZAo+ID4gPiArICov Cj4gPiA+ICsKPiA+IAo+ID4gSSB3ZW50IHRob3VnaCB5b3VyIGFuc3dlcnMgb24gbXkgcXVlc2lv bnMuIEl0IGlzIG1vcmUgdGhlbiBvayB0byBoYXZlIGEKPiA+IHdpZGVyIG92ZXJ2aWV3IG9uIHdo YXQgaXMgZ29pbmcgb24gaW4gd2hvbGUgYmluYXJ5LCBhbHRob3VnaCBJIHdvdWxkIHByZWZlcgo+ ID4gdG8gaGF2ZSBzb21lIHN1bW1hcnkgZG9jIGF0IHRoZSBiZWdpbmluZyBhbmQgc21hbGwgZG9j cyBhYm9lIGZ1bmN0aW9ucyAoaWYKPiA+IG5lZWRlZCkuCj4gCj4gTGV0J3MgdHJ5IHRvIGFncmVl IG9uIHRoYXQgYmVmb3JlIEkgc3VibWl0IGFub3RoZXIgdmVyc2lvbi4KPiAKPiBUaGVyZSBhcmUg bm93IDMgbXVsdGlsaW5lIGNvbW1lbnRzLCBlYWNoIG9mIHRoZW0gb3BlbiBvbmUgb2YgdGhyZWUg c2VjdGlvbnMgb2YgCj4gdGhlIGNvZGU6Cj4gMSkgYSBzZWN0aW9uIHdpdGggZGlmZmVyZW50IGFj dGlvbiBmdW5jdGlvbnMsCj4gMikgYSBzZWN0aW9uIHdpdGggZGlmZmVyZW50IHdvcmtsb2FkIGZ1 bmN0aW9ucywKPiAzKSBhIHNlY3Rpb24gd2l0aCBjb21tb24gY29kZSwgSSBjYWxsZWQgaXQgc2tl bGV0b24uCj4gCj4gSWYgSSBtb3ZlIGFsbCB0aG9zZSB0aHJlZSBjb21tZW50cyBhdCB0aGUgdG9w LCB0aGV5IHdpbGwgbG9vc2UgdGhlaXIgcHVycG9zZSAKPiBvZiBvcGVuaW5nIHRoZSBzZWN0aW9u cy4gIFRoYXQncyB3aHkgSSBwcm9wb3NlIHRvIGtlZXAgdGhlbSB3aGVyZSB0aGV5IGFyZSAKPiBu b3csIGFuZCB0byBhZGQgYW5vdGhlciBjb21tZW50IGF0IHRoZSB0b3AuICBIZXJlIGlzIGhvdyBp dCBtYXkgbG9vayBsaWtlOgo+IAo+ICAvKioKPiAgKiBUaGlzIGJpbmFyeSBpbmNsdWRlcyBzdWJ0 ZXN0cyBmb3IgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nIHR3byBhY3Rpb25zOgo+ICAqIC0gdW5i aW5kaW5nIHRoZSBkcml2ZXIgZnJvbSBhIGRldmljZSB1bmRlciBsb2FkLAo+ICAqIC0gdmlydHVh bGx5IHVucGx1Z2dpbmcgdGhlIGRldmljZSB1bmRlciBsb2FkIGZyb20gaXRzIGJ1cy4KPiAgKiBC b3RoIGFjdGlvbnMgYXJlIGltcGxlbWVudGVkIGFzIHNlcGFyYXRlIGZ1bmN0aW9ucyBzaGFyaW5n IHRoZSBzYW1lIEFQSSwKPiAgKiB3cmFwcGVkIHdpdGggYSBjb21tb24gc2tlbGV0b24uICBBIHNp bWlsYXIgYXBwcm9hY2ggaGFzIGJlZW4gdGFrZW4gZm9yCj4gICogZGVmaW5pbmcgZGlmZmVyZW50 IHdvcmtsb2Fkcy4gIEV2ZW4gaWYgb25seSBvbmUgdHlwZSBvZiB3b3JrbG9hZCBpcyBjdXJyZW50 bHkKPiAgKiBpbXBsZW1lbnRlZCwgdGhlIGNvZGUgaXMgcmVhZHkgZm9yIGV4dGVuZGluZyBpdCB3 aXRoIG90aGVyIHdvcmtsb2FkcyBkZWZpbmVkCj4gICogYXMgYWRkaXRpb25hbCB3b3JrbG9hZCBm dW5jdGlvbnMgd2hpY2ggZm9sbG93IHRoZSBzYW1lIEFQSS4KPiAgKiBTaW5jZSB0aGUgdW5wbHVn IGFjdGlvbiBhY3R1YWxseSByZW1vdmVzIHRoZSBkZXZpY2UgaW5zdGFuY2UgZnJvbSB0aGUgc3lz dGVtLAo+ICAqIGEgYnVzIHJlc2NhbiBvcGVyYXRpb24gaXMgbmVlZGVkIHRvIHJlaW5zdGFudGlh dGUgdGhlIGRldmljZSBhZnRlciBjb21wbGV0aW9uCj4gICogb2YgdGhlIHRlc3QuICBGb3IgdGhh dCBwdXJwb3NlLCB0aGUgYWN0aW9uIHBhc3NlcyBiYWNrIGEgZmlsZSBkZXNjcmlwdG9yIG9mCj4g ICogYW4gb3BlbiBzeXNmcyBkaXJlY3RvcnkgcmVwcmVzZW50aW5nIHRoZSBidXMgb24gd2hpY2gg dGhlIHJlc2NhbiBpcyB0aGVuIAo+ICAqIHBlcmZvcm1lZC4gIEluIGNhc2Ugb2YgdGhlIHVuYmlu ZCBhY3Rpb24sIGl0IGFsd2F5cyByZXR1cm5zIGFuIGludmFsaWQgZmlsZQo+ICAqIGRlc2NyaXB0 b3IgdG8gaW5mb3JtIHRoZSBza2VsZXRvbiB0aGF0IG5vIGJ1cyByZXNjYW4gaXMgbmVlZGVkLgo+ ICAqIFNpbmNlIGEgd29ya2xvYWQgaXMgZXhwZWN0ZWQgdG8gY3Jhc2ggYXMgYSByZXN1bHQgb2Yg YW4gYWN0aW9uLCBpdHMKPiAgKiBpbnZvY2F0aW9uIGlzIHBlcmZvcm1lZCBmcm9tIGEgaGVscGVy IHByb2Nlc3MgcnVuIGZyb20gdGhlIGlndF9maXh0dXJlIGJsb2NrCj4gICogaW4gb3JkZXIgdG8g YXZvaWQgZGlyZWN0IGluZmx1ZW5jZSBvZiB0aGF0IGNyYXNoIG9uIGEgdGVzdCByZXN1bHQuCj4g ICovCj4gCj4gV2hhdCBkbyB5b3UgdGhpbms/Ckl0IGxvb2tzIGEgbGl0dGxlIHRvbyBsb25nLCBi dXQgaXQgaXMgb2sgOikuCj4gCj4gPiA+ICsvKiBVbmJpbmQgdGhlIGRyaXZlciBmcm9tIHRoZSBk ZXZpY2UgKi8KPiA+ID4gK3N0YXRpYyBpbnQgZHJpdmVyX3VuYmluZChpbnQgZGlyKQo+ID4gPiAr ewo+ID4gPiArCWNoYXIgcGF0aFtQQVRIX01BWF0sICpkZXZfYnVzX2FkZHI7Cj4gPiA+ICsJaW50 IGxlbjsKPiA+ID4gKwo+ID4gPiArCWxlbiA9IHJlYWRsaW5rYXQoZGlyLCAiZGV2aWNlIiwgcGF0 aCwgc2l6ZW9mKHBhdGgpIC0gMSk7Cj4gPiA+ICsJcGF0aFtsZW5dID0gJ1wwJzsKPiA+ID4gKwlk ZXZfYnVzX2FkZHIgPSBzdHJyY2hyKHBhdGgsICcvJykgKyAxOwo+ID4gPiArCj4gPiA+ICsJaWd0 X3NldF90aW1lb3V0KDYwLCAiRHJpdmVyIHVuYmluZCB0aW1lb3V0ISIpOwo+ID4gPiArCWlndF9z eXNmc19zZXQoZGlyLCAiZGV2aWNlL2RyaXZlci91bmJpbmQiLCBkZXZfYnVzX2FkZHIpOwo+ID4g PiArCj4gPiA+ICsJLyogTm8gbmVlZCBmb3IgYnVzIHJlc2NhbiAqLwo+ID4gPiArCXJldHVybiAt MTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiArLyogUmVtb3ZlICh2aXJ0dWFsbHkgdW5wbHVnKSB0 aGUgZGV2aWNlIGZyb20gaXRzIGJ1cyAqLwo+ID4gPiArc3RhdGljIGludCBkZXZpY2VfdW5wbHVn KGludCBkaXIpCj4gPiA+ICt7Cj4gPiA+ICsJaW50IGJ1czsKPiA+ID4gKwo+ID4gPiArCWJ1cyA9 IG9wZW5hdChkaXIsICJkZXZpY2Uvc3Vic3lzdGVtIiwgT19ESVJFQ1RPUlkpOwo+ID4gPiArCWln dF9hc3NlcnQoYnVzID49IDApOwo+ID4gPiArCj4gPiA+ICsJaWd0X3NldF90aW1lb3V0KDYwLCAi RGV2aWNlIHVucGx1ZyB0aW1lb3V0ISIpOwo+ID4gPiArCWlndF9zeXNmc19zZXQoZGlyLCAiZGV2 aWNlL3JlbW92ZSIsICIxIik7Cj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4gYnVzOwo+ID4gPiArfQo+ ID4gPiArCj4gPiA+ICsKPiA+ID4gKy8qCj4gPiA+ICsgKiBXb3JrbG9hZHMKPiA+ID4gKyAqCj4g PiA+ICsgKiBQdXJwb3NlOiBQdXQgc29tZSBsb25nIGxhc3RpbmcgbG9hZCBvbiB0aGUgZGV2aWNl Cj4gPiA+ICsgKgo+ID4gPiArICogQGRldmljZTogb3BlbiBkZXZpY2UgZmlsZSBkZXNjcmlwdG9y LAo+ID4gPiArICogQHByaXY6IHBvaW50ZXIgdG8gYW4gb3B0aW9uYWwgYXJndW1lbnQgcGFzc2Vk IHRvIHRoZSB3b3JrbG9hZAo+ID4gPiArICoKPiA+ID4gKyAqIFJldHVybiB2YWx1ZTogbm9uZQo+ ID4gPiArICovCj4gPiA+ICsKPiA+ID4gKy8qIFdvcmtsb2FkIHVzaW5nIGlndF9zcGluX2JhdGNo X3J1bigpICovCj4gPiA+ICsKPiA+ID4gK3N0YXRpYyB2b2lkIHNwaW5fYmF0Y2goaW50IGRldmlj ZSwgY29uc3Qgdm9pZCAqcHJpdikKPiA+ID4gK3sKPiA+ID4gKwlpZ3Rfc3Bpbl90ICpzcGluOwo+ ID4gPiArCj4gPiA+ICsJLyogc3VibWl0IHRoZSBqb2IgKi8KPiA+ID4gKwlzcGluID0gaWd0X3Nw aW5fYmF0Y2hfbmV3KGRldmljZSk7Cj4gPiA+ICsKPiA+ID4gKwkvKiB3YWl0IGZvciB0aGUgam9i IHRvIGNyYXNoICovCj4gPiA+ICsJZ2VtX3N5bmMoZGV2aWNlLCBzcGluLT5oYW5kbGUpOwo+ID4g PiArCj4gPiA+ICsJLyogY2xlYW4gdXAgaWYgc3RpbGwgcG9zc2libGUgKi8KPiA+ID4gKwlpZ3Rf c3Bpbl9iYXRjaF9mcmVlKGRldmljZSwgc3Bpbik7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gKwo+ ID4gPiArLyoKPiA+ID4gKyAqIFNrZWxldG9uCj4gPiA+ICsgKi8KPiA+ID4gKwo+ID4gPiArc3Rh dGljIHZvaWQgaGVhbHRoY2hlY2soaW50IGNoaXBzZXQpCj4gPiA+ICt7Cj4gPiA+ICsJaWYgKGNo aXBzZXQgPT0gRFJJVkVSX0lOVEVMKSB7Cj4gPiA+ICsJCS8qCj4gPiA+ICsJCSAqIFdlIGhhdmUg aXQgcGVyZmVjdGx5IGltcGxlbWVudGVkIGluIGk5MTVfbW9kdWxlX2xvYWQsCj4gPiA+ICsJCSAq IGp1c3QgdXNlIGl0Lgo+ID4gPiArCQkgKi8KPiA+ID4gKwkJaWd0X2Fzc2VydChpZ3Rfc3lzdGVt X3F1aWV0KCJpOTE1X21vZHVsZV9sb2FkIC0tcnVuLXN1YnRlc3QgcmVsb2FkIikKPiA+ID4gKwkJ CSAgID09IElHVF9FWElUX1NVQ0NFU1MpOwo+ID4gPiArCX0gZWxzZSB7Cj4gPiA+ICsJCS8qCj4g PiA+ICsJCSAqIFdlIGRvbid0IGtub3cgaG93IHRvIGNoZWNrIGFuIHVuaWRlbnRpZmllZCBkZXZp Y2UgZm9yIGhlYWx0aCwKPiA+ID4gKwkJICogZGV2aWNlIHJlb3BlbiBtdXN0IHN1ZmZpY2UuCj4g PiA+ICsJCSAqLwo+ID4gPiArCX0KPiA+IAo+ID4gSSBzYXcgeW91IGFuc3dlciBhYm91dCB0aGlz IGVsc2UgYW5kIEkgYWdyZWUgdGhhdCBpdCBpcyBub3QgZm9yIHVzIHRvIGRlY2lkZQo+ID4gd2hh dCBzaG91bGQgY29kZSBmb3Igb3RoZXIgdmVuZG9ycyBsb29rIGxpa2UuIFRoYXQgaXMgd2h5IHdl IGRvIG5vdCBuZWVkCj4gPiBlbHNlIGhlcmUgYXQgYWxsCj4gCj4gT0suCj4gCj4gSmFudXN6Cj4g Cj4gPiAtIGhlYWx0aGNoZWNrIHdpbGwgYmUgcnVuIG9ubHkgZm9yIElOVEVMICsgcGVyc29uIHdo byBydW5zCj4gPiBjb2RlIHdpbGwgbm90IHNlZSBhbnkgbWVzc2FnZSB0aGF0ICdpZicgaGVyZSB3 YXMgbm90IGhpdC4KPiA+IAo+ID4gVGhlIHJlc3QgbG9va3MgZmluZS4KPiA+IEthc2lhIDopCj4g Cj4gCj4KV2UgaGF2ZSBhIGRpc2N1c3Npb24gYXQgdGhlIG9mZmljZSB0b2dldGhlciB3aXRoIGtu ciBhYm91dCB0aGlzIGJpbmFyeS4gVGhlCm91dGNvbWUgd2FzOgoqIHdlIHNob3VsZCBub3QgcnVu IHRlc3QgZnJvbSBpbnNpZGUgdGhpcyBvbmUsIHNvIHNob3VsZCBhdm9pZCBjYXNlcyB3aGVuIHdl IHJ1biAKJ2k5MTVfbW9kdWxlX2xvYWQnIGluc2lkZSBoZWFsdGhjaGVjaywgeW91IHNob3VsZCBh ZGQgdGVzdCBjb2RlIC0gZXhhY3RseSB0aGUKZnVuY3Rpb25zIHRoYXQgeW91IG5lZWQuCiogSXQg d291bGQgYmUgbmljZSB0byBoYXZlIGJpbmQvdW5iaW5kIHNjZW5hcmlvIHdpdGggRFJJVkVSX0FO WSBsb2NhdGVkCnNvbWV3aGVyZSBpbiBpZ3QvdGVzdHMvKiAodmVuZG9yIGFnbm9zdGljKQoqIHdl IGhhdmUgYWxzbyBkb3VidHMgYWJvdXQgc2Vjb25kIHBhdGNoLiBFdmVuIGlmIGl0IGxvb2tzIGNv b2wsIGl0IGNhbm5vdCBiZQpwcm9iYWJseSB1c2VkIGJ5IENJLiBBbmQgaWYgQ0kgaXMgbm90IHVz aW5nIGl0LCBtb3N0IHByb2JhYmx5IGRldmVsb3BlcnMgd2lsbApub3QgYmUgdXNpbmcgaXQgdG9v LgoKRm9yIG1vcmUgcXVlc3Rpb25zL2NsYXJpZmljYXRpb25zIG9yIGNvbmNlcm5zLCBwbGVhc2Ug c3RhcnQgZGlzY3Vzc2lvbiBvbgppbnRlbC1nZnggcG9pbnRpbmcgcGVvcGxlIHRoYXQgeW91IG5l ZWQgOikgSXQgaXMgdGhlIGZhc3Rlc3Qgd2F5IHRvIGhhdmUKZmVlZGJhY2suCgpLYXNpYSA6KQo+ IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2 IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=