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 7161A89F99 for ; Thu, 24 Oct 2019 11:05:50 +0000 (UTC) From: Arkadiusz Hiler Date: Thu, 24 Oct 2019 14:05:15 +0300 Message-ID: <20191024110515.11741-5-arkadiusz.hiler@intel.com> In-Reply-To: <20191024110515.11741-1-arkadiusz.hiler@intel.com> References: <20191024110515.11741-1-arkadiusz.hiler@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 4/4] Add device selection in 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: igt-dev@lists.freedesktop.org Cc: Petri Latvala List-ID: RnJvbTogWmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymlnbmlldy5rZW1wY3p5bnNraUBpbnRlbC5j b20+CgpOZXcgSUdUIGNvbW1hbmQgbGluZSBhcmd1bWVudCAtLWRldmljZSwgSUdUX0RFVklDRSBl bnZpcm9tZW50CmFuZCAuaWd0cmMgQ29tbW9uOjpEZXZpY2Ugd2VyZSBhZGRlZCB0byBhbGxvdyBz ZWxlY3RpbmcgZGV2aWNlCnVzaW5nIGRldmljZSBzZWxlY3Rpb24gQVBJLgoKdjIgKEFyZWspOgog KiByZW1vdmUgZnVuY3Rpb25zIGFjdGluZyBvbiBpZ3RfZGV2aWNlX2NhcmQKICogdXNlIG9ubHkg YSBzaW5nbGUgZmlsdGVyCgpDYzogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2VtcGN6 eW5za2lAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVz ei5oaWxlckBpbnRlbC5jb20+Ci0tLQogLi4uL2lndC1ncHUtdG9vbHMvaWd0X3Rlc3RfcHJvZ3Jh bXMueG1sICAgICAgIHwgIDcgKysKIGxpYi9kcm10ZXN0LmMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDk0ICsrKysrKysrKysrKysrKysrLS0KIGxpYi9kcm10ZXN0LmggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsKIGxpYi9pZ3RfY29yZS5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDQ3ICsrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwg MTQyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9yZWZl cmVuY2UvaWd0LWdwdS10b29scy9pZ3RfdGVzdF9wcm9ncmFtcy54bWwgYi9kb2NzL3JlZmVyZW5j ZS9pZ3QtZ3B1LXRvb2xzL2lndF90ZXN0X3Byb2dyYW1zLnhtbAppbmRleCBiNjRiYTQ3NC4uZmNj ZTE0NTggMTAwNjQ0Ci0tLSBhL2RvY3MvcmVmZXJlbmNlL2lndC1ncHUtdG9vbHMvaWd0X3Rlc3Rf cHJvZ3JhbXMueG1sCisrKyBiL2RvY3MvcmVmZXJlbmNlL2lndC1ncHUtdG9vbHMvaWd0X3Rlc3Rf cHJvZ3JhbXMueG1sCkBAIC00Myw2ICs0MywxMyBAQAogICAgICAgICAgICAgPC9wYXJhPjwvbGlz dGl0ZW0+CiAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgICAgICA8dmFybGlzdGVu dHJ5PgorICAgICAgICAgICAgPHRlcm0+PG9wdGlvbj4tLWRldmljZSBmaWx0ZXI8L29wdGlvbj48 L3Rlcm0+CisgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgc2Vs ZWN0IGRldmljZSB1c2luZyBmaWx0ZXIgKHNlZSAiRGV2aWNlIHNlbGVjdGlvbiIgZm9yIGRldGFp bHMpCisgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3Rl bnRyeT4KKwogICAgICAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICAgICAgICA8dGVybT48b3B0 aW9uPi0taGVscC1kZXNjcmlwdGlvbjwvb3B0aW9uPjwvdGVybT4KICAgICAgICAgICAgIDxsaXN0 aXRlbT48cGFyYT4KZGlmZiAtLWdpdCBhL2xpYi9kcm10ZXN0LmMgYi9saWIvZHJtdGVzdC5jCmlu ZGV4IGMzNzlhN2I3Li40MzQ3MTYyNSAxMDA2NDQKLS0tIGEvbGliL2RybXRlc3QuYworKysgYi9s aWIvZHJtdGVzdC5jCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiaWd0X2d0LmgiCiAjaW5j bHVkZSAiaWd0X2ttb2QuaCIKICNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKKyNpbmNsdWRlICJpZ3Rf ZGV2aWNlX3NjYW4uaCIKICNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAjaW5jbHVkZSAiY29uZmlnLmgi CiAjaW5jbHVkZSAiaW50ZWxfcmVnLmgiCkBAIC0yNjYsMTQgKzI2Nyw5IEBAIHN0YXRpYyBpbnQg X19zZWFyY2hfYW5kX29wZW4oY29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5zaWduZWQg aW50IGNoaXBzZXQpCiAJcmV0dXJuIC0xOwogfQogCi1zdGF0aWMgaW50IF9fb3Blbl9kcml2ZXIo Y29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGNoaXBzZXQpCitzdGF0 aWMgdm9pZCBfX3RyeV9tb2Rwcm9iZSh1bnNpZ25lZCBpbnQgY2hpcHNldCkKIHsKIAlzdGF0aWMg cHRocmVhZF9tdXRleF90IG11dGV4ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKLQlpbnQg ZmQ7Ci0KLQlmZCA9IF9fc2VhcmNoX2FuZF9vcGVuKGJhc2UsIG9mZnNldCwgY2hpcHNldCk7Ci0J aWYgKGZkICE9IC0xKQotCQlyZXR1cm4gZmQ7CiAKIAlwdGhyZWFkX211dGV4X2xvY2soJm11dGV4 KTsKIAlmb3IgKGNvbnN0IHN0cnVjdCBtb2R1bGUgKm0gPSBtb2R1bGVzOyBtLT5tb2R1bGU7IG0r KykgewpAQCAtMjg1LDI2ICsyODEsMTA4IEBAIHN0YXRpYyBpbnQgX19vcGVuX2RyaXZlcihjb25z dCBjaGFyICpiYXNlLCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgY2hpcHNldCkKIAkJfQogCX0K IAlwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworfQorCitzdGF0aWMgaW50IF9fb3Blbl9k cml2ZXIoY29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGNoaXBzZXQp Cit7CisJaW50IGZkOworCisJZmQgPSBfX3NlYXJjaF9hbmRfb3BlbihiYXNlLCBvZmZzZXQsIGNo aXBzZXQpOworCWlmIChmZCAhPSAtMSkKKwkJcmV0dXJuIGZkOworCisJX190cnlfbW9kcHJvYmUo Y2hpcHNldCk7CiAKIAlyZXR1cm4gX19zZWFyY2hfYW5kX29wZW4oYmFzZSwgb2Zmc2V0LCBjaGlw c2V0KTsKIH0KIAorc3RhdGljIGludCBfX29wZW5fZHJpdmVyX2V4YWN0KGNvbnN0IGNoYXIgKm5h bWUsIHVuc2lnbmVkIGludCBjaGlwc2V0KQoreworCWludCBmZDsKKworCWZkID0gb3Blbl9kZXZp Y2UobmFtZSwgY2hpcHNldCk7CisJaWYgKGZkICE9IC0xKQorCQlyZXR1cm4gZmQ7CisKKwlfX3Ry eV9tb2Rwcm9iZShjaGlwc2V0KTsKKworCXJldHVybiBvcGVuX2RldmljZShuYW1lLCBjaGlwc2V0 KTsKK30KKworLyoKKyAqIEEgaGVscGVyIHRvIGdldCB0aGUgZmlyc3QgbWFyY2hpbmcgY2FyZCBp biBjYXNlIGEgZmlsdGVyIGlzIHNldC4KKyAqIEl0IGRvZXMgYWxsIHRoZSBleHRyYSBsb2dnaW5n IGFyb3VuZCB0aGUgZmlsdGVycyBmb3IgdXMuCisgKgorICogQGNhcmQ6IHBvaW50ZXIgdG8gdGhl IGlndF9kZXZpY2VfY2FyZCBzdHJ1Y3R1cmUgdG8gYmUgZmlsbGVkCisgKiB3aGVuIGEgY2FyZCBp cyBmb3VuZC4KKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiBjYXJkIGFjY29yZGluZyB0byB0 aGUgYWRkZWQgZmlsdGVyIHdhcyBmb3VuZCwKKyAqIGZhbHNlIG90aHdlcndpc2UuCisgKi8KK3N0 YXRpYyBib29sIF9fZ2V0X3RoZV9maXJzdF9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNh cmQpCit7CisJY29uc3QgY2hhciAqZmlsdGVyOworCisJaWYgKGlndF9kZXZpY2VfaXNfZmlsdGVy X3NldCgpKSB7CisJCWZpbHRlciA9IGlndF9kZXZpY2VfZmlsdGVyX2dldCgpOworCQlpZ3RfaW5m bygiTG9va2luZyBmb3IgZGV2aWNlcyB0byBvcGVuIHVzaW5nIGZpbHRlcjogJXNcbiIsIGZpbHRl cik7CisKKwkJaWYgKGlndF9kZXZpY2VfY2FyZF9tYXRjaChmaWx0ZXIsIGNhcmQpKSB7CisJCQlp Z3RfaW5mbygiRmlsdGVyIG1hdGNoZWQgJXMgfCAlc1xuIiwgY2FyZC0+Y2FyZCwgY2FyZC0+cmVu ZGVyKTsKKwkJCXJldHVybiB0cnVlOworCQl9CisKKwkJaWd0X3dhcm4oIk5vIGNhcmQgbWF0Y2hl cyB0aGUgZmlsdGVyIVxuIik7CisJfQorCisJcmV0dXJuIGZhbHNlOworfQorCiAvKioKICAqIF9f ZHJtX29wZW5fZHJpdmVyOgogICogQGNoaXBzZXQ6IE9SJ2QgZmxhZ3MgZm9yIGVhY2ggY2hpcHNl dCB0byBzZWFyY2gsIGVnLiAjRFJJVkVSX0lOVEVMCiAgKgotICogT3BlbiB0aGUgZmlyc3QgRFJN IGRldmljZSB3ZSBjYW4gZmluZCwgc2VhcmNoaW5nIHVwIHRvIDE2IGRldmljZSBub2RlcworICog RnVuY3Rpb24gb3BlbnMgZGV2aWNlIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CisgKiAxLiB3aGVu IC0tZGV2aWNlIGFyZ3VtZW50cyBhcmUgcHJlc2VudCBkZXZpY2Ugc2Nhbm5pbmcgd2lsbCBiZSBl eGVjdXRlZCwKKyAqIHRoZW4gZmlsdGVyIGFyZ3VtZW50IGlzIHVzZWQgdG8gZmluZCBtYXRjaGlu ZyBvbmUuCisgKiAyLiBjb21wYXRpYmlsaXR5IG1vZGUgLSBvcGVuIHRoZSBmaXJzdCBEUk0gZGV2 aWNlIHdlIGNhbiBmaW5kLAorICogc2VhcmNoaW5nIHVwIHRvIDE2IGRldmljZSBub2Rlcy4KICAq CiAgKiBSZXR1cm5zOgogICogQW4gb3BlbiBEUk0gZmQgb3IgLTEgb24gZXJyb3IKICAqLwogaW50 IF9fZHJtX29wZW5fZHJpdmVyKGludCBjaGlwc2V0KQogeworCWlmIChpZ3RfZGV2aWNlX2lzX2Zp bHRlcl9zZXQoKSkgeworCQlib29sIGZvdW5kOworCQlzdHJ1Y3QgaWd0X2RldmljZV9jYXJkIGNh cmQ7CisKKwkJZm91bmQgPSBfX2dldF90aGVfZmlyc3RfY2FyZCgmY2FyZCk7CisKKwkJaWYgKCFm b3VuZCB8fCAhc3RybGVuKGNhcmQuY2FyZCkpCisJCQlyZXR1cm4gLTE7CisKKwkJcmV0dXJuIF9f b3Blbl9kcml2ZXJfZXhhY3QoY2FyZC5jYXJkLCBjaGlwc2V0KTsKKwl9CisKIAlyZXR1cm4gX19v cGVuX2RyaXZlcigiL2Rldi9kcmkvY2FyZCIsIDAsIGNoaXBzZXQpOwogfQogCi1zdGF0aWMgaW50 IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCkKK2ludCBfX2RybV9vcGVuX2Ry aXZlcl9yZW5kZXIoaW50IGNoaXBzZXQpCiB7CisJaWYgKGlndF9kZXZpY2VfaXNfZmlsdGVyX3Nl dCgpKSB7CisJCWJvb2wgZm91bmQ7CisJCXN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgY2FyZDsKKwor CQlmb3VuZCA9IF9fZ2V0X3RoZV9maXJzdF9jYXJkKCZjYXJkKTsKKworCQlpZiAoIWZvdW5kIHx8 ICFzdHJsZW4oY2FyZC5yZW5kZXIpKQorCQkJcmV0dXJuIC0xOworCisJCXJldHVybiBfX29wZW5f ZHJpdmVyX2V4YWN0KGNhcmQucmVuZGVyLCBjaGlwc2V0KTsKKwl9CisKIAlyZXR1cm4gX19vcGVu X2RyaXZlcigiL2Rldi9kcmkvcmVuZGVyRCIsIDEyOCwgY2hpcHNldCk7CiB9CiAKZGlmZiAtLWdp dCBhL2xpYi9kcm10ZXN0LmggYi9saWIvZHJtdGVzdC5oCmluZGV4IDYxNGY1N2U2Li43YTk4NWIy NiAxMDA2NDQKLS0tIGEvbGliL2RybXRlc3QuaAorKysgYi9saWIvZHJtdGVzdC5oCkBAIC01MCw2 ICs1MCw3IEBACiAjZGVmaW5lIERSSVZFUl9BTURHUFUJKDEgPDwgMykKICNkZWZpbmUgRFJJVkVS X1YzRAkoMSA8PCA0KQogI2RlZmluZSBEUklWRVJfUEFORlJPU1QJKDEgPDwgNSkKKwogLyoKICAq IEV4Y2x1ZGUgRFJWRVJfVkdFTSBmcm9tIERSSVZFUl9BTlkgc2luY2UgaWYgeW91IHJ1biBvbiBh IHN5c3RlbQogICogd2l0aCB2Z2VtIGFzIHdlbGwgYXMgYSBzdXBwb3J0ZWQgZHJpdmVyLCB5b3Ug Y2FuIGVuZCB1cCB3aXRoIGEKQEAgLTgxLDYgKzgyLDcgQEAgaW50IGRybV9vcGVuX2RyaXZlcihp bnQgY2hpcHNldCk7CiBpbnQgZHJtX29wZW5fZHJpdmVyX21hc3RlcihpbnQgY2hpcHNldCk7CiBp bnQgZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCk7CiBpbnQgX19kcm1fb3Blbl9k cml2ZXIoaW50IGNoaXBzZXQpOworaW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hp cHNldCk7CiAKIHZvaWQgZ2VtX3F1aWVzY2VudF9ncHUoaW50IGZkKTsKIApkaWZmIC0tZ2l0IGEv bGliL2lndF9jb3JlLmMgYi9saWIvaWd0X2NvcmUuYwppbmRleCA2N2I3NjAyNS4uOTQxMjFmOTkg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5jCisrKyBiL2xpYi9pZ3RfY29yZS5jCkBAIC03MSw2 ICs3MSw3IEBACiAjaW5jbHVkZSAiaWd0X3N5c3JxLmgiCiAjaW5jbHVkZSAiaWd0X3JjLmgiCiAj aW5jbHVkZSAiaWd0X2xpc3QuaCIKKyNpbmNsdWRlICJpZ3RfZGV2aWNlX3NjYW4uaCIKIAogI2Rl ZmluZSBVTldfTE9DQUxfT05MWQogI2luY2x1ZGUgPGxpYnVud2luZC5oPgpAQCAtMjQ1LDYgKzI0 Niw5IEBACiAgKglbQ29tbW9uXQogICoJRnJhbWVEdW1wUGF0aD0vdG1wICMgVGhlIHBhdGggdG8g ZHVtcCBmcmFtZXMgdGhhdCBmYWlsIGNvbXBhcmlzb24gY2hlY2tzCiAgKgorICoJJm51bTsgRGV2 aWNlIHNlbGVjdGlvbiBmaWx0ZXIKKyAqCURldmljZT1wY2k6dmVuZG9yPTgwODYsY2FyZD0wO3Zn ZW06CisgKgogICoJJm51bTsgVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHVzZWQgZm9yIGNvbmZp Z3VyaW5nIHRoZSBEZXZpY2UgVW5kZXIgVGVzdC4KICAqCSZudW07IEl0IGlzIG5vdCBtYW5kYXRv cnkgYW5kIGFsbG93cyBvdmVycmlkaW5nIGRlZmF1bHQgdmFsdWVzLgogICoJW0RVVF0KQEAgLTMw NCw2ICszMDgsNyBAQCBlbnVtIHsKIAlPUFRfREVCVUcsCiAJT1BUX0lOVEVSQUNUSVZFX0RFQlVH LAogCU9QVF9TS0lQX0NSQywKKwlPUFRfREVWSUNFLAogCU9QVF9IRUxQID0gJ2gnCiB9OwogCkBA IC0zMjAsNiArMzI1LDcgQEAgc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBsb2dfYnVmZmVyX211dGV4 ID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKIEdLZXlGaWxlICppZ3Rfa2V5X2ZpbGU7CiAK IGNoYXIgKmlndF9mcmFtZV9kdW1wX3BhdGg7CitjaGFyICppZ3RfcmNfZGV2aWNlOwogCiBzdGF0 aWMgYm9vbCBzdGRlcnJfbmVlZHNfc2VudGluZWwgPSBmYWxzZTsKIApAQCAtNjQ0LDYgKzY1MCw3 IEBAIHN0YXRpYyB2b2lkIHByaW50X3VzYWdlKGNvbnN0IGNoYXIgKmhlbHBfc3RyLCBib29sIG91 dHB1dF9vbl9zdGRlcnIpCiAJCSAgICIgIC0tc2tpcC1jcmMtY29tcGFyZVxuIgogCQkgICAiICAt LWhlbHAtZGVzY3JpcHRpb25cbiIKIAkJICAgIiAgLS1kZXNjcmliZVxuIgorCQkgICAiICAtLWRl dmljZSBmaWx0ZXJcbiIKIAkJICAgIiAgLS1oZWxwfC1oXG4iKTsKIAlpZiAoaGVscF9zdHIpCiAJ CWZwcmludGYoZiwgIiVzXG4iLCBoZWxwX3N0cik7CkBAIC03MzMsNiArNzQwLDMxIEBAIHN0YXRp YyB2b2lkIGNvbW1vbl9pbml0X2NvbmZpZyh2b2lkKQogCiAJaWYgKHJldCAhPSAwKQogCQlpZ3Rf c2V0X2F1dG9yZXN1bWVfZGVsYXkocmV0KTsKKworCS8qIEFkZGluZyBmaWx0ZXJzLCBvcmRlciAu aWd0cmMsIElHVF9ERVZJQ0UsIC0tZGV2aWNlIGZpbHRlciAqLworCWlmIChpZ3RfZGV2aWNlX2lz X2ZpbHRlcl9zZXQoKSkKKwkJaWd0X2RlYnVnKCJOb3RpY2U6IHVzaW5nIC0tZGV2aWNlIGZpbHRl cnM6XG4iKTsKKwllbHNlIHsKKwkJaWYgKGlndF9yY19kZXZpY2UpIHsKKwkJCWlndF9kZWJ1Zygi Tm90aWNlOiB1c2luZyBJR1RfREVWSUNFIGVudjpcbiIpOworCQl9IGVsc2UgeworCQkJaWd0X3Jj X2RldmljZSA9CWdfa2V5X2ZpbGVfZ2V0X3N0cmluZyhpZ3Rfa2V5X2ZpbGUsCisJCQkJCQkJICAg ICAgIkNvbW1vbiIsCisJCQkJCQkJICAgICAgIkRldmljZSIsICZlcnJvcik7CisJCQlnX2NsZWFy X2Vycm9yKCZlcnJvcik7CisJCQlpZiAoaWd0X3JjX2RldmljZSkKKwkJCQlpZ3RfZGVidWcoIk5v dGljZTogdXNpbmcgLmlndHJjICIKKwkJCQkJICAiQ29tbW9uOjpEZXZpY2U6XG4iKTsKKwkJfQor CQlpZiAoaWd0X3JjX2RldmljZSkgeworCQkJaWd0X2RldmljZV9maWx0ZXJfc2V0KGlndF9yY19k ZXZpY2UpOworCQkJZnJlZShpZ3RfcmNfZGV2aWNlKTsKKwkJCWlndF9yY19kZXZpY2UgPSBOVUxM OworCQl9CisJfQorCisJaWYgKGlndF9kZXZpY2VfaXNfZmlsdGVyX3NldCgpKQorCQlpZ3RfZGVi dWcoIlslc11cbiIsICBpZ3RfZGV2aWNlX2ZpbHRlcl9nZXQoKSk7CiB9CiAKIHN0YXRpYyB2b2lk IGNvbW1vbl9pbml0X2Vudih2b2lkKQpAQCAtNzY3LDYgKzc5OSwxMSBAQCBzdGF0aWMgdm9pZCBj b21tb25faW5pdF9lbnYodm9pZCkKIAlpZiAoZW52KSB7CiAJCV9fc2V0X2ZvcmNlZF9kcml2ZXIo ZW52KTsKIAl9CisKKwllbnYgPSBnZXRlbnYoIklHVF9ERVZJQ0UiKTsKKwlpZiAoZW52KSB7CisJ CWlndF9yY19kZXZpY2UgPSBzdHJkdXAoZW52KTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgY29tbW9u X2luaXQoaW50ICphcmdjLCBjaGFyICoqYXJndiwKQEAgLTc4NSw2ICs4MjIsNyBAQCBzdGF0aWMg aW50IGNvbW1vbl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCiAJCXsiZGVidWciLCAgICAg ICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0RFQlVHfSwKIAkJeyJpbnRlcmFj dGl2ZS1kZWJ1ZyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfSU5URVJBQ1RJVkVfREVC VUd9LAogCQl7InNraXAtY3JjLWNvbXBhcmUiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9Q VF9TS0lQX0NSQ30sCisJCXsiZGV2aWNlIiwgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwg TlVMTCwgT1BUX0RFVklDRX0sCiAJCXsiaGVscCIsICAgICAgICAgICAgICBub19hcmd1bWVudCwg ICAgICAgTlVMTCwgT1BUX0hFTFB9LAogCQl7MCwgMCwgMCwgMH0KIAl9OwpAQCAtOTA3LDYgKzk0 NSwxNSBAQCBzdGF0aWMgaW50IGNvbW1vbl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCiAJ CWNhc2UgT1BUX1NLSVBfQ1JDOgogCQkJaWd0X3NraXBfY3JjX2NvbXBhcmUgPSB0cnVlOwogCQkJ Z290byBvdXQ7CisJCWNhc2UgT1BUX0RFVklDRToKKwkJCWFzc2VydChvcHRhcmcpOworCQkJLyog aWYgc2V0IGJ5IGVudiBJR1RfREVWSUNFIHdlIG5lZWQgdG8gZnJlZSBpdCAqLworCQkJaWYgKGln dF9yY19kZXZpY2UpIHsKKwkJCQlmcmVlKGlndF9yY19kZXZpY2UpOworCQkJCWlndF9yY19kZXZp Y2UgPSBOVUxMOworCQkJfQorCQkJaWd0X2RldmljZV9maWx0ZXJfc2V0KG9wdGFyZyk7CisJCQli cmVhazsKIAkJY2FzZSBPUFRfSEVMUDoKIAkJCXByaW50X3VzYWdlKGhlbHBfc3RyLCBmYWxzZSk7 CiAJCQlyZXQgPSAtMTsKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2