From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA2F46E2EB for ; Wed, 21 Aug 2019 12:08:24 +0000 (UTC) Date: Wed, 21 Aug 2019 14:08:22 +0200 From: Katarzyna Dec Message-ID: <20190821120822.GC21194@kdec5-desk.ger.corp.intel.com> References: <20190812084718.9999-1-zbigniew.kempczynski@intel.com> <20190812084718.9999-3-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190812084718.9999-3-zbigniew.kempczynski@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v4 2/2] Add multi-device selection for IGT 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: Zbigniew =?utf-8?Q?Kempczy=C5=84ski?= Cc: igt-dev@lists.freedesktop.org, Petri Latvala , Daniel Vetter List-ID: T24gTW9uLCBBdWcgMTIsIDIwMTkgYXQgMTA6NDc6MThBTSArMDIwMCwgWmJpZ25pZXcgS2VtcGN6 ecWEc2tpIHdyb3RlOgo+IE5ldyBJR1QgY29tbWFuZCBsaW5lIGFyZ3VtZW50IC0tZGV2aWNlIGFz IHdlbGwgYXMgSUdUX0RFVklDRSBlbnZpcm9tZW50Cj4gd2VyZSBhZGRlZCB0byBhbGxvdyBzZWxl Y3RpbmcgZGV2aWNlIHVzaW5nIG11bHRpLWRldmljZSBzZWxlY3Rpb24gQVBJLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2VtcGN6eW5za2lAaW50 ZWwuY29tPgo+IENjOiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVzei5oaWxlckBpbnRlbC5jb20+ Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPiBDYzogUGV0cmkgTGF0dmFs YSA8cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGxpYi9kcm10ZXN0LmMgIHwgMTg4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgbGli L2RybXRlc3QuaCAgfCAgIDkgKysrCj4gIGxpYi9pZ3RfY29yZS5jIHwgIDEzICsrKysKPiAgMyBm aWxlcyBjaGFuZ2VkLCAyMDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvbGliL2RybXRlc3QuYyBiL2xpYi9kcm10ZXN0LmMKPiBpbmRleCBjMzc5YTdiNy4u YzAxYTg4YTkgMTAwNjQ0Cj4gLS0tIGEvbGliL2RybXRlc3QuYwo+ICsrKyBiL2xpYi9kcm10ZXN0 LmMKPiBAQCAtNTUsNiArNTUsNyBAQAo+ICAjaW5jbHVkZSAiaWd0X2d0LmgiCj4gICNpbmNsdWRl ICJpZ3Rfa21vZC5oIgo+ICAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4gKyNpbmNsdWRlICJpZ3Rf ZGV2aWNlX3NjYW4uaCIKPiAgI2luY2x1ZGUgInZlcnNpb24uaCIKPiAgI2luY2x1ZGUgImNvbmZp Zy5oIgo+ICAjaW5jbHVkZSAiaW50ZWxfcmVnLmgiCj4gQEAgLTI4OSwyNSArMjkwLDIwOCBAQCBz dGF0aWMgaW50IF9fb3Blbl9kcml2ZXIoY29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5z aWduZWQgaW50IGNoaXBzZXQpCj4gIAlyZXR1cm4gX19zZWFyY2hfYW5kX29wZW4oYmFzZSwgb2Zm c2V0LCBjaGlwc2V0KTsKPiAgfQo+ICAKPiArc3RhdGljIGludCBfX29wZW5fZHJpdmVyX2V4YWN0 KGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCBjaGlwc2V0KQo+ICt7Cj4gKwlzdGF0aWMg cHRocmVhZF9tdXRleF90IG11dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKPiArCWlu dCBmZDsKPiArCj4gKwlmZCA9IG9wZW5fZGV2aWNlKG5hbWUsIGNoaXBzZXQpOwo+ICsJaWYgKGZk ICE9IC0xKQo+ICsJCXJldHVybiBmZDsKPiArCj4gKwlwdGhyZWFkX211dGV4X2xvY2soJm11dGV4 KTsKPiArCWZvciAoY29uc3Qgc3RydWN0IG1vZHVsZSAqbSA9IG1vZHVsZXM7IG0tPm1vZHVsZTsg bSsrKSB7Cj4gKwkJaWYgKGNoaXBzZXQgJiBtLT5iaXQpIHsKPiArCQkJaWYgKG0tPm1vZHByb2Jl KQo+ICsJCQkJbS0+bW9kcHJvYmUobS0+bW9kdWxlKTsKPiArCQkJZWxzZQo+ICsJCQkJbW9kcHJv YmUobS0+bW9kdWxlKTsKPiArCQl9Cj4gKwl9Cj4gKwlwdGhyZWFkX211dGV4X3VubG9jaygmbXV0 ZXgpOwo+ICsKPiArCXJldHVybiBvcGVuX2RldmljZShuYW1lLCBjaGlwc2V0KTsKPiArfQo+ICsK PiArLyoKPiArICogRm9yIGNvbXBhdGliaWxpdHkgbW9kZSB3aGVuIG11bHRpcGxlIC0tZGV2aWNl IGFyZ3VtZW50IHdlcmUgcGFzc2VkCj4gKyAqIHRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gYmUgc21h cnQgZW5vdWdoIHRvIGhhbmRsZSB0ZXN0cyB3aGljaCBvcGVucwo+ICsgKiBtb3JlIHRoYW4gc2lu Z2xlIGRldmljZS4gSXQgaXRlcmF0ZXMgb3ZlciBmaWx0ZXIgbGlzdCBhbmQKPiArICogY29tcGFy ZXMgcmVxdWVzdGVkIGNoaXBzZXQgdG8gY2FyZCBjaGlwc2V0IChvciBhbnkpLgo+ICsgKgo+ICsg KiBSZXR1cm5zOgo+ICsgKiBUcnVlIGlmIGNhcmQgYWNjb3JkaW5nIHRvIGZpbHRlcnMgYWRkZWQg YW5kIGNoaXBzZXQgd2FzIGZvdW5kLAo+ICsgKiBmYWxzZSBvdGh3ZXJ3aXNlLgo+ICsgKi8KPiAr c3RhdGljIGJvb2wgX19maW5kX2NhcmRfd2l0aF9jaGlwc2V0KGludCBjaGlwc2V0LCBzdHJ1Y3Qg aWd0X2RldmljZV9jYXJkICpjYXJkKQo+ICt7Cj4gKwlpbnQgaSwgbiA9IGlndF9kZXZpY2VfZmls dGVyX2NvdW50KCk7Cj4gKwljb25zdCBjaGFyICpmaWx0ZXI7Cj4gKwlib29sIG1hdGNoOwo+ICsK PiArCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKPiArCQlmaWx0ZXIgPSBpZ3RfZGV2aWNlX2Zp bHRlcl9nZXQoaSk7Cj4gKwkJbWF0Y2ggPSBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goZmlsdGVyLCBj YXJkKTsKPiArCQlpZiAobWF0Y2ggJiYgKGNhcmQtPmNoaXBzZXQgPT0gY2hpcHNldCB8fAo+ICsJ CQkgICAgICBjYXJkLT5jaGlwc2V0ID09IERSSVZFUl9BTlkpKSB7Cj4gKwkJCXJldHVybiB0cnVl Owo+ICsJCX0KPiArCX0KPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gIC8qKgo+ICAg KiBfX2RybV9vcGVuX2RyaXZlcjoKPiAgICogQGNoaXBzZXQ6IE9SJ2QgZmxhZ3MgZm9yIGVhY2gg Y2hpcHNldCB0byBzZWFyY2gsIGVnLiAjRFJJVkVSX0lOVEVMCj4gICAqCj4gLSAqIE9wZW4gdGhl IGZpcnN0IERSTSBkZXZpY2Ugd2UgY2FuIGZpbmQsIHNlYXJjaGluZyB1cCB0byAxNiBkZXZpY2Ug bm9kZXMKPiArICogRnVuY3Rpb24gb3BlbnMgZGV2aWNlIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6 Cj4gKyAqIDEuIHdoZW4gLS1kZXZpY2UgYXJndW1lbnRzIGFyZSBwcmVzZW50IGRldmljZSBzY2Fu bmluZyB3aWxsIGJlIGV4ZWN1dGVkLAo+ICsgKiB0aGVuIGZpbHRlciBhcmd1bWVudCBpcyB1c2Vk IHRvIGZpbmQgbWF0Y2hpbmcgb25lLgo+ICsgKiAyLiBjb21wYXRpYmlsaXR5IG1vZGUgLSBvcGVu IHRoZSBmaXJzdCBEUk0gZGV2aWNlIHdlIGNhbiBmaW5kLAo+ICsgKiBzZWFyY2hpbmcgdXAgdG8g MTYgZGV2aWNlIG5vZGVzLgo+ICAgKgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBBbiBvcGVuIERSTSBm ZCBvciAtMSBvbiBlcnJvcgo+ICAgKi8KPiAgaW50IF9fZHJtX29wZW5fZHJpdmVyKGludCBjaGlw c2V0KQo+ICB7Cj4gKwlpbnQgbiA9IGlndF9kZXZpY2VfZmlsdGVyX2NvdW50KCk7Cj4gKwo+ICsJ aWYgKG4pIHsKWW91IGRvIG5vdCB1c2UgdGhpcyB2YXJpYWJsZSBhbnkgd2hlcmUgbW9yZSwgc28g bWF5YmU6CmlmIChpZ3RfZGV2aWNlX2ZpbHRlcl9jb3VudCgpKSA/Pwo+ICsJCWJvb2wgZm91bmQ7 Cj4gKwkJc3RydWN0IGlndF9kZXZpY2VfY2FyZCBjYXJkOwo+ICsKPiArCQlmb3VuZCA9IF9fZmlu ZF9jYXJkX3dpdGhfY2hpcHNldChjaGlwc2V0LCAmY2FyZCk7Cj4gKwkJaWYgKCFmb3VuZCB8fCAh c3RybGVuKGNhcmQuY2FyZCkpCj4gKwkJCXJldHVybiAtMTsKPiArCj4gKwkJcmV0dXJuIF9fb3Bl bl9kcml2ZXJfZXhhY3QoY2FyZC5jYXJkLCBjaGlwc2V0KTsKPiArCX0KPiArCj4gIAlyZXR1cm4g X19vcGVuX2RyaXZlcigiL2Rldi9kcmkvY2FyZCIsIDAsIGNoaXBzZXQpOwo+ICB9Cj4gIAo+IC1z dGF0aWMgaW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCkKPiAraW50IF9f ZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCkKPiAgewo+ICsJaW50IG4gPSBpZ3Rf ZGV2aWNlX2ZpbHRlcl9jb3VudCgpOwo+ICsKPiArCWlmIChuKSB7ClNhbWUgaGVyZSA6KQo+ICsJ CWJvb2wgZm91bmQ7Cj4gKwkJc3RydWN0IGlndF9kZXZpY2VfY2FyZCBjYXJkOwo+ICsKPiArCQlm b3VuZCA9IF9fZmluZF9jYXJkX3dpdGhfY2hpcHNldChjaGlwc2V0LCAmY2FyZCk7Cj4gKwkJaWYg KCFmb3VuZCB8fCAhc3RybGVuKGNhcmQucmVuZGVyKSkKPiArCQkJcmV0dXJuIC0xOwo+ICsKPiAr CQlyZXR1cm4gX19vcGVuX2RyaXZlcl9leGFjdChjYXJkLnJlbmRlciwgY2hpcHNldCk7Cj4gKwl9 Cj4gKwo+ICAJcmV0dXJuIF9fb3Blbl9kcml2ZXIoIi9kZXYvZHJpL3JlbmRlckQiLCAxMjgsIGNo aXBzZXQpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50IF9fZHJtX29wZW5fd2l0aF9udGhfZmlsdGVy KGludCBudW0sIGludCBjaGlwc2V0LCBib29sIG9wZW5fcmVuZGVyKQo+ICt7Cj4gKwlzdHJ1Y3Qg aWd0X2RldmljZV9jYXJkIGNhcmQ7Cj4gKwljb25zdCBjaGFyICpmaWx0ZXIsICpkZXZuYW1lOwo+ ICsJYm9vbCBtYXRjaDsKPiArCWludCBuID0gaWd0X2RldmljZV9maWx0ZXJfY291bnQoKTsKPiAr Cj4gKwlpZiAoIW4gfHwgbnVtIDwgMCB8fCBudW0gPj0gbikgewo+ICsJCWlndF93YXJuKCJObyBk ZXZpY2UgZmlsdGVyIG51bSA9PSAlZCBwYXNzZWRcbiIsIG51bSk7Cj4gKwkJcmV0dXJuIC0xOwo+ ICsJfQo+ICsKPiArCWZpbHRlciA9IGlndF9kZXZpY2VfZmlsdGVyX2dldChudW0pOwo+ICsJbWF0 Y2ggPSBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goZmlsdGVyLCAmY2FyZCk7Cj4gKwlpZiAoIW1hdGNo KSB7Cj4gKwkJaWd0X3dhcm4oIk5vIGRldmljZSBtYXRjaCBmaWx0ZXI6ICVzXG4iLCBmaWx0ZXIp Owo+ICsJCXJldHVybiAtMTsKPiArCX0KPiArCj4gKwlpZiAoIXN0cmxlbihjYXJkLmNhcmQpICYm ICFzdHJsZW4oY2FyZC5yZW5kZXIpKQo+ICsJCXJldHVybiAtMTsKPiArCj4gKwlkZXZuYW1lID0g b3Blbl9yZW5kZXIgPyBjYXJkLnJlbmRlciA6IGNhcmQuY2FyZDsKPiArCWlmICghc3RybGVuKGRl dm5hbWUpKSB7Cj4gKwkJaWd0X3dhcm4oIk5vICVzIG5vZGUgbWF0Y2hpbmcgZmlsdGVyOiAlc1xu IiwKPiArCQkJIG9wZW5fcmVuZGVyID8gInJlbmRlciIgOiAiY2FyZCIsIGZpbHRlcik7Cj4gKwkJ cmV0dXJuIC0xOwo+ICsJfQo+ICsJcmV0dXJuIF9fb3Blbl9kcml2ZXJfZXhhY3QoZGV2bmFtZSwg Y2hpcHNldCk7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBkcm1fb3Blbl9jYXJkX3dpdGhfbnRoX2Zp bHRlcjoKPiArICogQG51bTogbnVtYmVyIG9mIC0tZGV2aWNlIGFyZ3VtZW50Cj4gKyAqIEBjaGlw c2V0OiBPUidkIGZsYWdzIGZvciBlYWNoIGNoaXBzZXQgdG8gc2VhcmNoLCBlZy4gI0RSSVZFUl9J TlRFTAo+ICsgKgo+ICsgKiBPcGVuIC9kZXYvZHJpL2NhcmRYIGRldmljZSB1c2luZyBtdWx0aS1k ZXZpY2Ugc2VsZWN0aW9uIEFQSS4KPiArICogV2hlbiB0ZXN0IHJlcXVpcmUgdG8gb3BlbiBtb3Jl IHRoYW4gb25lIGRldmljZSBzZWxlY3Rpb24gdXNlcyBmaWx0ZXIKPiArICogcGFzc2VkIGFzIC0t ZGV2aWNlIGFyZ3VtZW50LiBBcmd1bWVudHMgQG51bSBpbmRpY2F0ZSBmaWx0ZXIgbnVtYmVyCj4g KyAqIGFuZCBAY2hpcHNldCBleHBlY3RlZCBkZXZpY2UgY2FyZCBjaGlwc2V0Lgo+ICsgKgo+ICsg KiBBbiBvcGVuIERSTSBmZCBvciAtMSBvbiBlcnJvcgo+ICsgKi8KPiAraW50IGRybV9vcGVuX2Nh cmRfd2l0aF9udGhfZmlsdGVyKGludCBudW0sIGludCBjaGlwc2V0KQo+ICt7Cj4gKwlyZXR1cm4g X19kcm1fb3Blbl93aXRoX250aF9maWx0ZXIobnVtLCBjaGlwc2V0LCBmYWxzZSk7Cj4gK30KPiAr Cj4gKy8qKgo+ICsgKiBkcm1fb3Blbl9yZW5kZXJfd2l0aF9udGhfZmlsdGVyOgo+ICsgKiBAbnVt OiBudW1iZXIgb2YgLS1kZXZpY2UgYXJndW1lbnQKPiArICogQGNoaXBzZXQ6IE9SJ2QgZmxhZ3Mg Zm9yIGVhY2ggY2hpcHNldCB0byBzZWFyY2gsIGVnLiAjRFJJVkVSX0lOVEVMCj4gKyAqCj4gKyAq IE9wZW4gL2Rldi9kcmkvcmVuZGVyRFggZGV2aWNlIHVzaW5nIG11bHRpLWRldmljZSBzZWxlY3Rp b24gQVBJLgo+ICsgKgo+ICsgKiBXaGVuIHRlc3QgcmVxdWlyZSB0byBvcGVuIG1vcmUgdGhhbiBv bmUgZGV2aWNlIHNlbGVjdGlvbiB1c2VzIGZpbHRlcgo+ICsgKiBwYXNzZWQgYXMgLS1kZXZpY2Ug YXJndW1lbnQuIEFyZ3VtZW50cyBAbnVtIGluZGljYXRlIGZpbHRlciBudW1iZXIKPiArICogYW5k IEBjaGlwc2V0IGV4cGVjdGVkIGRldmljZSBjYXJkIGNoaXBzZXQuCj4gKyAqCj4gKyAqIEFuIG9w ZW4gRFJNIGZkIG9yIC0xIG9uIGVycm9yCj4gKyAqLwo+ICtpbnQgZHJtX29wZW5fcmVuZGVyX3dp dGhfbnRoX2ZpbHRlcihpbnQgbnVtLCBpbnQgY2hpcHNldCkKPiArewo+ICsJcmV0dXJuIF9fZHJt X29wZW5fd2l0aF9udGhfZmlsdGVyKG51bSwgY2hpcHNldCwgdHJ1ZSk7Cj4gK30KPiArCj4gKy8q Kgo+ICsgKiBkcm1fb3Blbl9jYXJkOgo+ICsgKiBAY2FyZDogcG9pbnRlciB0byBpZ3RfZGV2aWNl X2NhcmQgc3RydWN0dXJlCj4gKyAqCj4gKyAqIE9wZW4gL2Rldi9kcmkvY2FyZFggZGV2aWNlIHVz aW5nIG11bHRpLWRldmljZSBzZWxlY3Rpb24gQVBJLgo+ICsgKgo+ICsgKiBSZXF1aXJlIGZpbGxl ZCBAY2FyZCBhcmd1bWVudCAoc2VlIGlndF9kZXZpY2VfY2FyZF9tYXRjaCgpIGZ1bmN0aW9uKS4K PiArICoKPiArICogQW4gb3BlbiBEUk0gZmQgb3IgLTEgb24gZXJyb3IKPiArICovCj4gK2ludCBk cm1fb3Blbl9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpCj4gK3sKPiArCWlmICgh Y2FyZCB8fCAhc3RybGVuKGNhcmQtPmNhcmQpKQo+ICsJCXJldHVybiAtMTsKPiArCj4gKwlyZXR1 cm4gX19vcGVuX2RyaXZlcl9leGFjdChjYXJkLT5jYXJkLCBjYXJkLT5jaGlwc2V0KTsKPiArfQo+ ICsKPiArLyoqCj4gKyAqIGRybV9vcGVuX3JlbmRlcjoKPiArICogQGNhcmQ6IHBvaW50ZXIgdG8g aWd0X2RldmljZV9jYXJkIHN0cnVjdHVyZQo+ICsgKgo+ICsgKiBPcGVuIC9kZXYvZHJpL3JlbmRl ckRYIGRldmljZSB1c2luZyBtdWx0aS1kZXZpY2Ugc2VsZWN0aW9uIEFQSS4KPiArICogUmVxdWly ZSBmaWxsZWQgQGNhcmQgYXJndW1lbnQgKHNlZSBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goKSBmdW5j dGlvbikuCj4gKyAqCj4gKyAqIEFuIG9wZW4gRFJNIGZkIG9yIC0xIG9uIGVycm9yCj4gKyAqLwo+ ICtpbnQgZHJtX29wZW5fcmVuZGVyKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpCj4gK3sK PiArCWlmICghY2FyZCB8fCAhc3RybGVuKGNhcmQtPnJlbmRlcikpCj4gKwkJcmV0dXJuIC0xOwo+ ICsKPiArCXJldHVybiBfX29wZW5fZHJpdmVyX2V4YWN0KGNhcmQtPnJlbmRlciwgY2FyZC0+Y2hp cHNldCk7Cj4gK30KPiArCj4gKwo+ICBzdGF0aWMgaW50IGF0X2V4aXRfZHJtX2ZkID0gLTE7Cj4g IHN0YXRpYyBpbnQgYXRfZXhpdF9kcm1fcmVuZGVyX2ZkID0gLTE7Cj4gIAo+IGRpZmYgLS1naXQg YS9saWIvZHJtdGVzdC5oIGIvbGliL2RybXRlc3QuaAo+IGluZGV4IDYxNGY1N2U2Li5mYzJhMGI1 NyAxMDA2NDQKPiAtLS0gYS9saWIvZHJtdGVzdC5oCj4gKysrIGIvbGliL2RybXRlc3QuaAo+IEBA IC01MCw2ICs1MCw3IEBACj4gICNkZWZpbmUgRFJJVkVSX0FNREdQVQkoMSA8PCAzKQo+ICAjZGVm aW5lIERSSVZFUl9WM0QJKDEgPDwgNCkKPiAgI2RlZmluZSBEUklWRVJfUEFORlJPU1QJKDEgPDwg NSkKPiArCj4gIC8qCj4gICAqIEV4Y2x1ZGUgRFJWRVJfVkdFTSBmcm9tIERSSVZFUl9BTlkgc2lu Y2UgaWYgeW91IHJ1biBvbiBhIHN5c3RlbQo+ICAgKiB3aXRoIHZnZW0gYXMgd2VsbCBhcyBhIHN1 cHBvcnRlZCBkcml2ZXIsIHlvdSBjYW4gZW5kIHVwIHdpdGggYQo+IEBAIC04MSw2ICs4MiwxNCBA QCBpbnQgZHJtX29wZW5fZHJpdmVyKGludCBjaGlwc2V0KTsKPiAgaW50IGRybV9vcGVuX2RyaXZl cl9tYXN0ZXIoaW50IGNoaXBzZXQpOwo+ICBpbnQgZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQg Y2hpcHNldCk7Cj4gIGludCBfX2RybV9vcGVuX2RyaXZlcihpbnQgY2hpcHNldCk7Cj4gK2ludCBf X2RybV9vcGVuX2RyaXZlcl9yZW5kZXIoaW50IGNoaXBzZXQpOwo+ICsKPiArLyogTXVsdGkgZGV2 aWNlIEFQSSAqLwo+ICtpbnQgZHJtX29wZW5fY2FyZF93aXRoX250aF9maWx0ZXIoaW50IG51bSwg aW50IGNoaXBzZXQpOwo+ICtpbnQgZHJtX29wZW5fcmVuZGVyX3dpdGhfbnRoX2ZpbHRlcihpbnQg bnVtLCBpbnQgY2hpcHNldCk7Cj4gK3N0cnVjdCBpZ3RfZGV2aWNlX2NhcmQ7Cj4gK2ludCBkcm1f b3Blbl9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpOwo+ICtpbnQgZHJtX29wZW5f cmVuZGVyKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpOwo+ICAKPiAgdm9pZCBnZW1fcXVp ZXNjZW50X2dwdShpbnQgZmQpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9jb3JlLmMgYi9s aWIvaWd0X2NvcmUuYwo+IGluZGV4IDFjYmIwOWY5Li45Yjg1MTE3NSAxMDA2NDQKPiAtLS0gYS9s aWIvaWd0X2NvcmUuYwo+ICsrKyBiL2xpYi9pZ3RfY29yZS5jCj4gQEAgLTcxLDYgKzcxLDcgQEAK PiAgI2luY2x1ZGUgImlndF9zeXNycS5oIgo+ICAjaW5jbHVkZSAiaWd0X3JjLmgiCj4gICNpbmNs dWRlICJpZ3RfbGlzdC5oIgo+ICsjaW5jbHVkZSAiaWd0X2RldmljZV9zY2FuLmgiCj4gIAo+ICAj ZGVmaW5lIFVOV19MT0NBTF9PTkxZCj4gICNpbmNsdWRlIDxsaWJ1bndpbmQuaD4KPiBAQCAtMzA0 LDYgKzMwNSw3IEBAIGVudW0gewo+ICAJT1BUX0RFQlVHLAo+ICAJT1BUX0lOVEVSQUNUSVZFX0RF QlVHLAo+ICAJT1BUX1NLSVBfQ1JDLAo+ICsJT1BUX0RFVklDRSwKPiAgCU9QVF9IRUxQID0gJ2gn Cj4gIH07Cj4gIAo+IEBAIC02MjQsNiArNjI2LDcgQEAgc3RhdGljIHZvaWQgcHJpbnRfdXNhZ2Uo Y29uc3QgY2hhciAqaGVscF9zdHIsIGJvb2wgb3V0cHV0X29uX3N0ZGVycikKPiAgCQkgICAiICAt LXNraXAtY3JjLWNvbXBhcmVcbiIKPiAgCQkgICAiICAtLWhlbHAtZGVzY3JpcHRpb25cbiIKPiAg CQkgICAiICAtLWRlc2NyaWJlXG4iCj4gKwkJICAgIiAgLS1kZXZpY2UgZmlsdGVyXG4iCj4gIAkJ ICAgIiAgLS1oZWxwfC1oXG4iKTsKPiAgCWlmIChoZWxwX3N0cikKPiAgCQlmcHJpbnRmKGYsICIl c1xuIiwgaGVscF9zdHIpOwo+IEBAIC03MjUsNiArNzI4LDExIEBAIHN0YXRpYyB2b2lkIGNvbW1v bl9pbml0X2Vudih2b2lkKQo+ICAJaWYgKGVudikgewo+ICAJCV9fc2V0X2ZvcmNlZF9kcml2ZXIo ZW52KTsKPiAgCX0KPiArCj4gKwllbnYgPSBnZXRlbnYoIklHVF9ERVZJQ0UiKTsKPiArCWlmIChl bnYpIHsKPiArCQlpZ3RfZGV2aWNlX2ZpbHRlcl9hZGQoZW52KTsKPiArCX0KPiAgfQo+ICAKPiAg c3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFyZ2MsIGNoYXIgKiphcmd2LAo+IEBAIC03NDMs NiArNzUxLDcgQEAgc3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFyZ2MsIGNoYXIgKiphcmd2 LAo+ICAJCXsiZGVidWciLCAgICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BU X0RFQlVHfSwKPiAgCQl7ImludGVyYWN0aXZlLWRlYnVnIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5V TEwsIE9QVF9JTlRFUkFDVElWRV9ERUJVR30sCj4gIAkJeyJza2lwLWNyYy1jb21wYXJlIiwgIG5v X2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfU0tJUF9DUkN9LAo+ICsJCXsiZGV2aWNlIiwgICAg ICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0RFVklDRX0sCj4gIAkJeyJoZWxw IiwgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfSEVMUH0sCj4gIAkJ ezAsIDAsIDAsIDB9Cj4gIAl9Owo+IEBAIC04NjUsNiArODc0LDEwIEBAIHN0YXRpYyBpbnQgY29t bW9uX2luaXQoaW50ICphcmdjLCBjaGFyICoqYXJndiwKPiAgCQljYXNlIE9QVF9TS0lQX0NSQzoK PiAgCQkJaWd0X3NraXBfY3JjX2NvbXBhcmUgPSB0cnVlOwo+ICAJCQlnb3RvIG91dDsKPiArCQlj YXNlIE9QVF9ERVZJQ0U6Cj4gKwkJCWFzc2VydChvcHRhcmcpOwo+ICsJCQlpZ3RfZGV2aWNlX2Zp bHRlcl9hZGQob3B0YXJnKTsKPiArCQkJYnJlYWs7Cj4gIAkJY2FzZSBPUFRfSEVMUDoKPiAgCQkJ cHJpbnRfdXNhZ2UoaGVscF9zdHIsIGZhbHNlKTsKPiAgCQkJcmV0ID0gLTE7Cj4gLS0gCj4gMi4y MS4wCgpHZW5lcmFsbHkgbG9va3MgZ29vZCA6KQpLYXNpYQo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gaWd0LWRldiBtYWlsaW5nIGxpc3QKPiBp Z3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXY=