From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C86A6E9F8 for ; Wed, 11 Sep 2019 04:01:01 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 11 Sep 2019 06:00:50 +0200 Message-Id: <20190911040051.15779-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20190911040051.15779-1-zbigniew.kempczynski@intel.com> References: <20190911040051.15779-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v7 2/3] 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: Daniel Vetter , Petri Latvala List-ID: TmV3IElHVCBjb21tYW5kIGxpbmUgYXJndW1lbnQgLS1kZXZpY2UsIElHVF9ERVZJQ0UgZW52aXJv bWVudAphbmQgLmlndHJjIENvbW1vbjo6RGV2aWNlIHdlcmUgYWRkZWQgdG8gYWxsb3cgc2VsZWN0 aW5nIGRldmljZQp1c2luZyBkZXZpY2Ugc2VsZWN0aW9uIEFQSS4KClNpZ25lZC1vZmYtYnk6IFpi aWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2VtcGN6eW5za2lAaW50ZWwuY29tPgpDYzog QXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwuY29tPgpDYzogRGFuaWVsIFZl dHRlciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBp bnRlbC5jb20+Ci0tLQogLi4uL2lndC1ncHUtdG9vbHMvaWd0X3Rlc3RfcHJvZ3JhbXMueG1sICAg ICAgIHwgICA3ICsKIGxpYi9kcm10ZXN0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDE0MSArKysrKysrKysrKysrKysrKy0KIGxpYi9kcm10ZXN0LmggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgNyArCiBsaWIvaWd0X2NvcmUuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgNDkgKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE5NiBpbnNlcnRp b25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvcmVmZXJlbmNlL2lndC1n cHUtdG9vbHMvaWd0X3Rlc3RfcHJvZ3JhbXMueG1sIGIvZG9jcy9yZWZlcmVuY2UvaWd0LWdwdS10 b29scy9pZ3RfdGVzdF9wcm9ncmFtcy54bWwKaW5kZXggYjY0YmE0NzQuLmZjY2UxNDU4IDEwMDY0 NAotLS0gYS9kb2NzL3JlZmVyZW5jZS9pZ3QtZ3B1LXRvb2xzL2lndF90ZXN0X3Byb2dyYW1zLnht bAorKysgYi9kb2NzL3JlZmVyZW5jZS9pZ3QtZ3B1LXRvb2xzL2lndF90ZXN0X3Byb2dyYW1zLnht bApAQCAtNDMsNiArNDMsMTMgQEAKICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAg ICAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAg ICAgICAgIDx0ZXJtPjxvcHRpb24+LS1kZXZpY2UgZmlsdGVyPC9vcHRpb24+PC90ZXJtPgorICAg ICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgIHNlbGVjdCBkZXZpY2Ug dXNpbmcgZmlsdGVyIChzZWUgIkRldmljZSBzZWxlY3Rpb24iIGZvciBkZXRhaWxzKQorICAgICAg ICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgPC92YXJsaXN0ZW50cnk+CisKICAg ICAgICAgICA8dmFybGlzdGVudHJ5PgogICAgICAgICAgICAgPHRlcm0+PG9wdGlvbj4tLWhlbHAt ZGVzY3JpcHRpb248L29wdGlvbj48L3Rlcm0+CiAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+ CmRpZmYgLS1naXQgYS9saWIvZHJtdGVzdC5jIGIvbGliL2RybXRlc3QuYwppbmRleCBjMzc5YTdi Ny4uMjE3ZmY2ZjAgMTAwNjQ0Ci0tLSBhL2xpYi9kcm10ZXN0LmMKKysrIGIvbGliL2RybXRlc3Qu YwpAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgImlndF9ndC5oIgogI2luY2x1ZGUgImlndF9r bW9kLmgiCiAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCisjaW5jbHVkZSAiaWd0X2RldmljZV9zY2Fu LmgiCiAjaW5jbHVkZSAidmVyc2lvbi5oIgogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg ImludGVsX3JlZy5oIgpAQCAtMjY2LDE0ICsyNjcsOSBAQCBzdGF0aWMgaW50IF9fc2VhcmNoX2Fu ZF9vcGVuKGNvbnN0IGNoYXIgKmJhc2UsIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBjaGlwc2V0 KQogCXJldHVybiAtMTsKIH0KIAotc3RhdGljIGludCBfX29wZW5fZHJpdmVyKGNvbnN0IGNoYXIg KmJhc2UsIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBjaGlwc2V0KQorc3RhdGljIHZvaWQgX190 cnlfbW9kcHJvYmUodW5zaWduZWQgaW50IGNoaXBzZXQpCiB7CiAJc3RhdGljIHB0aHJlYWRfbXV0 ZXhfdCBtdXRleCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7Ci0JaW50IGZkOwotCi0JZmQg PSBfX3NlYXJjaF9hbmRfb3BlbihiYXNlLCBvZmZzZXQsIGNoaXBzZXQpOwotCWlmIChmZCAhPSAt MSkKLQkJcmV0dXJuIGZkOwogCiAJcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7CiAJZm9yIChj b25zdCBzdHJ1Y3QgbW9kdWxlICptID0gbW9kdWxlczsgbS0+bW9kdWxlOyBtKyspIHsKQEAgLTI4 NSwyOSArMjgxLDE1OCBAQCBzdGF0aWMgaW50IF9fb3Blbl9kcml2ZXIoY29uc3QgY2hhciAqYmFz ZSwgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGNoaXBzZXQpCiAJCX0KIAl9CiAJcHRocmVhZF9t dXRleF91bmxvY2soJm11dGV4KTsKK30KKworc3RhdGljIGludCBfX29wZW5fZHJpdmVyKGNvbnN0 IGNoYXIgKmJhc2UsIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBjaGlwc2V0KQoreworCWludCBm ZDsKKworCWZkID0gX19zZWFyY2hfYW5kX29wZW4oYmFzZSwgb2Zmc2V0LCBjaGlwc2V0KTsKKwlp ZiAoZmQgIT0gLTEpCisJCXJldHVybiBmZDsKKworCV9fdHJ5X21vZHByb2JlKGNoaXBzZXQpOwog CiAJcmV0dXJuIF9fc2VhcmNoX2FuZF9vcGVuKGJhc2UsIG9mZnNldCwgY2hpcHNldCk7CiB9CiAK K3N0YXRpYyBpbnQgX19vcGVuX2RyaXZlcl9leGFjdChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25l ZCBpbnQgY2hpcHNldCkKK3sKKwlpbnQgZmQ7CisKKwlmZCA9IG9wZW5fZGV2aWNlKG5hbWUsIGNo aXBzZXQpOworCWlmIChmZCAhPSAtMSkKKwkJcmV0dXJuIGZkOworCisJX190cnlfbW9kcHJvYmUo Y2hpcHNldCk7CisKKwlyZXR1cm4gb3Blbl9kZXZpY2UobmFtZSwgY2hpcHNldCk7Cit9CisKKy8q CisgKiBGb3IgY29tcGF0aWJpbGl0eSBtb2RlIHdoZW4gbXVsdGlwbGUgLS1kZXZpY2UgYXJndW1l bnQgd2VyZSBwYXNzZWQKKyAqIHRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gYmUgc21hcnQgZW5vdWdo IHRvIGhhbmRsZSB0ZXN0cyB3aGljaCBvcGVucworICogbW9yZSB0aGFuIHNpbmdsZSBkZXZpY2Uu IEl0IGl0ZXJhdGVzIG92ZXIgZmlsdGVyIGxpc3QgYW5kCisgKiBjaGVjayBkb2VzIHJlcXVlc3Rl ZCBjaGlwc2V0IGhhcyBjb21tb24gYml0cyB3aXRoIGNhcmQtPmNoaXBzZXQuCisgKgorICogQGNo aXBzZXQ6IHJlcXVlc3RlZCBjaGlwc2V0CisgKiBAY2FyZDogcG9pbnRlciB0byB0aGUgaWd0X2Rl dmljZV9jYXJkIHN0cnVjdHVyZSB0byBiZSBmaWxsZWQKKyAqIHdoZW4gYSBjYXJkIGlzIGZvdW5k LgorICoKKyAqIFJldHVybnM6CisgKiBUcnVlIGlmIGNhcmQgYWNjb3JkaW5nIHRvIGZpbHRlcnMg YWRkZWQgYW5kIGNoaXBzZXQgd2FzIGZvdW5kLAorICogZmFsc2Ugb3Rod2Vyd2lzZS4KKyAqLwor c3RhdGljIGJvb2wgX19maW5kX2NhcmRfd2l0aF9jaGlwc2V0KGludCBjaGlwc2V0LCBzdHJ1Y3Qg aWd0X2RldmljZV9jYXJkICpjYXJkKQoreworCWludCBpLCBmaWx0ZXJfY291bnQgPSBpZ3RfZGV2 aWNlX2ZpbHRlcl9jb3VudCgpOworCWNvbnN0IGNoYXIgKmZpbHRlcjsKKwlib29sIG1hdGNoOwor CisJZm9yIChpID0gMDsgaSA8IGZpbHRlcl9jb3VudDsgaSsrKSB7CisJCWZpbHRlciA9IGlndF9k ZXZpY2VfZmlsdGVyX2dldChpKTsKKwkJbWF0Y2ggPSBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goZmls dGVyLCBjYXJkKTsKKwkJaWYgKG1hdGNoICYmIChjYXJkLT5jaGlwc2V0ICYgY2hpcHNldCkpIHsK KwkJCWlndF9kZWJ1ZygiRmlsdGVyIFslc10gbWF0Y2hlZFxuIiwgZmlsdGVyKTsKKwkJCXJldHVy biB0cnVlOworCQl9CisJfQorCisJaWd0X3dhcm4oIkNhbid0IGZpbmQgY2FyZCB3aXRoIGNoaXBz ZXQgKG1hc2spOiAweCV4XG4iLCBjaGlwc2V0KTsKKwlpZ3Rfd2FybigiRmlsdGVycyB0cmllZDpc biIpOworCWZvciAoaSA9IDA7IGkgPCBmaWx0ZXJfY291bnQ7IGkrKykgeworCQlmaWx0ZXIgPSBp Z3RfZGV2aWNlX2ZpbHRlcl9nZXQoaSk7CisJCWlndF93YXJuKCIlMmQ6ICVzXG4iLCBpLCBmaWx0 ZXIpOworCX0KKworCXJldHVybiBmYWxzZTsKK30KKwogLyoqCiAgKiBfX2RybV9vcGVuX2RyaXZl cjoKICAqIEBjaGlwc2V0OiBPUidkIGZsYWdzIGZvciBlYWNoIGNoaXBzZXQgdG8gc2VhcmNoLCBl Zy4gI0RSSVZFUl9JTlRFTAogICoKLSAqIE9wZW4gdGhlIGZpcnN0IERSTSBkZXZpY2Ugd2UgY2Fu IGZpbmQsIHNlYXJjaGluZyB1cCB0byAxNiBkZXZpY2Ugbm9kZXMKKyAqIEZ1bmN0aW9uIG9wZW5z IGRldmljZSBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgorICogMS4gd2hlbiAtLWRldmljZSBhcmd1 bWVudHMgYXJlIHByZXNlbnQgZGV2aWNlIHNjYW5uaW5nIHdpbGwgYmUgZXhlY3V0ZWQsCisgKiB0 aGVuIGZpbHRlciBhcmd1bWVudCBpcyB1c2VkIHRvIGZpbmQgbWF0Y2hpbmcgb25lLgorICogMi4g Y29tcGF0aWJpbGl0eSBtb2RlIC0gb3BlbiB0aGUgZmlyc3QgRFJNIGRldmljZSB3ZSBjYW4gZmlu ZCwKKyAqIHNlYXJjaGluZyB1cCB0byAxNiBkZXZpY2Ugbm9kZXMuCiAgKgogICogUmV0dXJuczoK ICAqIEFuIG9wZW4gRFJNIGZkIG9yIC0xIG9uIGVycm9yCiAgKi8KIGludCBfX2RybV9vcGVuX2Ry aXZlcihpbnQgY2hpcHNldCkKIHsKKwlpZiAoaWd0X2RldmljZV9maWx0ZXJfY291bnQoKSkgewor CQlib29sIGZvdW5kOworCQlzdHJ1Y3QgaWd0X2RldmljZV9jYXJkIGNhcmQ7CisKKwkJZm91bmQg PSBfX2ZpbmRfY2FyZF93aXRoX2NoaXBzZXQoY2hpcHNldCwgJmNhcmQpOworCQlpZiAoIWZvdW5k IHx8ICFzdHJsZW4oY2FyZC5jYXJkKSkKKwkJCXJldHVybiAtMTsKKwkJaWd0X2RlYnVnKCJUcnlp bmcgdG8gb3BlbjogJXMgKGNoaXBzZXQgbWFzay9jYXJkOiAleC8leClcbiIsCisJCQkgIGNhcmQu Y2FyZCwgY2hpcHNldCwgY2FyZC5jaGlwc2V0KTsKKworCQlyZXR1cm4gX19vcGVuX2RyaXZlcl9l eGFjdChjYXJkLmNhcmQsIGNoaXBzZXQpOworCX0KKwogCXJldHVybiBfX29wZW5fZHJpdmVyKCIv ZGV2L2RyaS9jYXJkIiwgMCwgY2hpcHNldCk7CiB9CiAKLXN0YXRpYyBpbnQgX19kcm1fb3Blbl9k cml2ZXJfcmVuZGVyKGludCBjaGlwc2V0KQoraW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihp bnQgY2hpcHNldCkKIHsKKwlpZiAoaWd0X2RldmljZV9maWx0ZXJfY291bnQoKSkgeworCQlib29s IGZvdW5kOworCQlzdHJ1Y3QgaWd0X2RldmljZV9jYXJkIGNhcmQ7CisKKwkJZm91bmQgPSBfX2Zp bmRfY2FyZF93aXRoX2NoaXBzZXQoY2hpcHNldCwgJmNhcmQpOworCQlpZiAoIWZvdW5kIHx8ICFz dHJsZW4oY2FyZC5yZW5kZXIpKQorCQkJcmV0dXJuIC0xOworCisJCWlndF9kZWJ1ZygiVHJ5aW5n IHRvIG9wZW46ICVzIChjaGlwc2V0IG1hc2svY2FyZDogJXgvJXgpXG4iLAorCQkJICBjYXJkLnJl bmRlciwgY2hpcHNldCwgY2FyZC5jaGlwc2V0KTsKKworCQlyZXR1cm4gX19vcGVuX2RyaXZlcl9l eGFjdChjYXJkLnJlbmRlciwgY2hpcHNldCk7CisJfQorCiAJcmV0dXJuIF9fb3Blbl9kcml2ZXIo Ii9kZXYvZHJpL3JlbmRlckQiLCAxMjgsIGNoaXBzZXQpOwogfQogCisvKioKKyAqIGRybV9vcGVu X2NhcmQ6CisgKiBAY2FyZDogcG9pbnRlciB0byBpZ3RfZGV2aWNlX2NhcmQgc3RydWN0dXJlCisg KgorICogT3BlbiAvZGV2L2RyaS9jYXJkWCBkZXZpY2UgdXNpbmcgbXVsdGktZGV2aWNlIHNlbGVj dGlvbiBBUEkuCisgKgorICogUmVxdWlyZSBmaWxsZWQgQGNhcmQgYXJndW1lbnQgKHNlZSBpZ3Rf ZGV2aWNlX2NhcmRfbWF0Y2goKSBmdW5jdGlvbikuCisgKgorICogQW4gb3BlbiBEUk0gZmQgb3Ig LTEgb24gZXJyb3IKKyAqLworaW50IGRybV9vcGVuX2NhcmQoc3RydWN0IGlndF9kZXZpY2VfY2Fy ZCAqY2FyZCkKK3sKKwlpZiAoIWNhcmQgfHwgIXN0cmxlbihjYXJkLT5jYXJkKSkKKwkJcmV0dXJu IC0xOworCisJcmV0dXJuIF9fb3Blbl9kcml2ZXJfZXhhY3QoY2FyZC0+Y2FyZCwgY2FyZC0+Y2hp cHNldCk7Cit9CisKKy8qKgorICogZHJtX29wZW5fcmVuZGVyOgorICogQGNhcmQ6IHBvaW50ZXIg dG8gaWd0X2RldmljZV9jYXJkIHN0cnVjdHVyZQorICoKKyAqIE9wZW4gL2Rldi9kcmkvcmVuZGVy RFggZGV2aWNlIHVzaW5nIG11bHRpLWRldmljZSBzZWxlY3Rpb24gQVBJLgorICogUmVxdWlyZSBm aWxsZWQgQGNhcmQgYXJndW1lbnQgKHNlZSBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goKSBmdW5jdGlv bikuCisgKgorICogQW4gb3BlbiBEUk0gZmQgb3IgLTEgb24gZXJyb3IKKyAqLworaW50IGRybV9v cGVuX3JlbmRlcihzdHJ1Y3QgaWd0X2RldmljZV9jYXJkICpjYXJkKQoreworCWlmICghY2FyZCB8 fCAhc3RybGVuKGNhcmQtPnJlbmRlcikpCisJCXJldHVybiAtMTsKKworCXJldHVybiBfX29wZW5f ZHJpdmVyX2V4YWN0KGNhcmQtPnJlbmRlciwgY2FyZC0+Y2hpcHNldCk7Cit9CisKIHN0YXRpYyBp bnQgYXRfZXhpdF9kcm1fZmQgPSAtMTsKIHN0YXRpYyBpbnQgYXRfZXhpdF9kcm1fcmVuZGVyX2Zk ID0gLTE7CiAKZGlmZiAtLWdpdCBhL2xpYi9kcm10ZXN0LmggYi9saWIvZHJtdGVzdC5oCmluZGV4 IDYxNGY1N2U2Li4zMTk0N2Y0MyAxMDA2NDQKLS0tIGEvbGliL2RybXRlc3QuaAorKysgYi9saWIv ZHJtdGVzdC5oCkBAIC01MCw2ICs1MCw3IEBACiAjZGVmaW5lIERSSVZFUl9BTURHUFUJKDEgPDwg MykKICNkZWZpbmUgRFJJVkVSX1YzRAkoMSA8PCA0KQogI2RlZmluZSBEUklWRVJfUEFORlJPU1QJ KDEgPDwgNSkKKwogLyoKICAqIEV4Y2x1ZGUgRFJWRVJfVkdFTSBmcm9tIERSSVZFUl9BTlkgc2lu Y2UgaWYgeW91IHJ1biBvbiBhIHN5c3RlbQogICogd2l0aCB2Z2VtIGFzIHdlbGwgYXMgYSBzdXBw b3J0ZWQgZHJpdmVyLCB5b3UgY2FuIGVuZCB1cCB3aXRoIGEKQEAgLTgxLDYgKzgyLDEyIEBAIGlu dCBkcm1fb3Blbl9kcml2ZXIoaW50IGNoaXBzZXQpOwogaW50IGRybV9vcGVuX2RyaXZlcl9tYXN0 ZXIoaW50IGNoaXBzZXQpOwogaW50IGRybV9vcGVuX2RyaXZlcl9yZW5kZXIoaW50IGNoaXBzZXQp OwogaW50IF9fZHJtX29wZW5fZHJpdmVyKGludCBjaGlwc2V0KTsKK2ludCBfX2RybV9vcGVuX2Ry aXZlcl9yZW5kZXIoaW50IGNoaXBzZXQpOworCisvKiBNdWx0aSBkZXZpY2UgQVBJICovCitzdHJ1 Y3QgaWd0X2RldmljZV9jYXJkOworaW50IGRybV9vcGVuX2NhcmQoc3RydWN0IGlndF9kZXZpY2Vf Y2FyZCAqY2FyZCk7CitpbnQgZHJtX29wZW5fcmVuZGVyKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQg KmNhcmQpOwogCiB2b2lkIGdlbV9xdWllc2NlbnRfZ3B1KGludCBmZCk7CiAKZGlmZiAtLWdpdCBh L2xpYi9pZ3RfY29yZS5jIGIvbGliL2lndF9jb3JlLmMKaW5kZXggMWNiYjA5ZjkuLmI0NWExYmU3 IDEwMDY0NAotLS0gYS9saWIvaWd0X2NvcmUuYworKysgYi9saWIvaWd0X2NvcmUuYwpAQCAtNzEs NiArNzEsNyBAQAogI2luY2x1ZGUgImlndF9zeXNycS5oIgogI2luY2x1ZGUgImlndF9yYy5oIgog I2luY2x1ZGUgImlndF9saXN0LmgiCisjaW5jbHVkZSAiaWd0X2RldmljZV9zY2FuLmgiCiAKICNk ZWZpbmUgVU5XX0xPQ0FMX09OTFkKICNpbmNsdWRlIDxsaWJ1bndpbmQuaD4KQEAgLTI0NSw2ICsy NDYsOSBAQAogICoJW0NvbW1vbl0KICAqCUZyYW1lRHVtcFBhdGg9L3RtcCAjIFRoZSBwYXRoIHRv IGR1bXAgZnJhbWVzIHRoYXQgZmFpbCBjb21wYXJpc29uIGNoZWNrcwogICoKKyAqCSZudW07IERl dmljZSBzZWxlY3Rpb24gZmlsdGVyCisgKglEZXZpY2U9cGNpOnZlbmRvcj04MDg2LGNhcmQ9MDt2 Z2VtOgorICoKICAqCSZudW07IFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyB1c2VkIGZvciBjb25m aWd1cmluZyB0aGUgRGV2aWNlIFVuZGVyIFRlc3QuCiAgKgkmbnVtOyBJdCBpcyBub3QgbWFuZGF0 b3J5IGFuZCBhbGxvd3Mgb3ZlcnJpZGluZyBkZWZhdWx0IHZhbHVlcy4KICAqCVtEVVRdCkBAIC0z MDQsNiArMzA4LDcgQEAgZW51bSB7CiAJT1BUX0RFQlVHLAogCU9QVF9JTlRFUkFDVElWRV9ERUJV RywKIAlPUFRfU0tJUF9DUkMsCisJT1BUX0RFVklDRSwKIAlPUFRfSEVMUCA9ICdoJwogfTsKIApA QCAtMzIwLDYgKzMyNSw3IEBAIHN0YXRpYyBwdGhyZWFkX211dGV4X3QgbG9nX2J1ZmZlcl9tdXRl eCA9IFBUSFJFQURfTVVURVhfSU5JVElBTElaRVI7CiBHS2V5RmlsZSAqaWd0X2tleV9maWxlOwog CiBjaGFyICppZ3RfZnJhbWVfZHVtcF9wYXRoOworY2hhciAqaWd0X3JjX2RldmljZTsKIAogc3Rh dGljIGJvb2wgc3RkZXJyX25lZWRzX3NlbnRpbmVsID0gZmFsc2U7CiAKQEAgLTYyNCw2ICs2MzAs NyBAQCBzdGF0aWMgdm9pZCBwcmludF91c2FnZShjb25zdCBjaGFyICpoZWxwX3N0ciwgYm9vbCBv dXRwdXRfb25fc3RkZXJyKQogCQkgICAiICAtLXNraXAtY3JjLWNvbXBhcmVcbiIKIAkJICAgIiAg LS1oZWxwLWRlc2NyaXB0aW9uXG4iCiAJCSAgICIgIC0tZGVzY3JpYmVcbiIKKwkJICAgIiAgLS1k ZXZpY2UgZmlsdGVyXG4iCiAJCSAgICIgIC0taGVscHwtaFxuIik7CiAJaWYgKGhlbHBfc3RyKQog CQlmcHJpbnRmKGYsICIlc1xuIiwgaGVscF9zdHIpOwpAQCAtNjg4LDYgKzY5NSwzMyBAQCBzdGF0 aWMgdm9pZCBjb21tb25faW5pdF9jb25maWcodm9pZCkKIAlpZiAocmV0ICE9IDApCiAJCWlndF9z ZXRfYXV0b3Jlc3VtZV9kZWxheShyZXQpOwogCisJLyogQWRkaW5nIGZpbHRlcnMsIG9yZGVyIC5p Z3RyYywgSUdUX0RFVklDRSwgLS1kZXZpY2UgZmlsdGVyICovCisJaWYgKGlndF9kZXZpY2VfZmls dGVyX2NvdW50KCkpCisJCWlndF9kZWJ1ZygiTm90aWNlOiB1c2luZyAtLWRldmljZSBmaWx0ZXJz OlxuIik7CisJZWxzZSB7CisJCWlmIChpZ3RfcmNfZGV2aWNlKSB7CisJCQlpZ3RfZGVidWcoIk5v dGljZTogdXNpbmcgSUdUX0RFVklDRSBlbnY6XG4iKTsKKwkJfSBlbHNlIHsKKwkJCWlndF9yY19k ZXZpY2UgPQlnX2tleV9maWxlX2dldF9zdHJpbmcoaWd0X2tleV9maWxlLAorCQkJCQkJCSAgICAg ICJDb21tb24iLAorCQkJCQkJCSAgICAgICJEZXZpY2UiLCAmZXJyb3IpOworCQkJZ19jbGVhcl9l cnJvcigmZXJyb3IpOworCQkJaWYgKGlndF9yY19kZXZpY2UpCisJCQkJaWd0X2RlYnVnKCJOb3Rp Y2U6IHVzaW5nIC5pZ3RyYyAiCisJCQkJCSAgIkNvbW1vbjo6RGV2aWNlOlxuIik7CisJCX0KKwkJ aWYgKGlndF9yY19kZXZpY2UpIHsKKwkJCWlndF9kZXZpY2VfZmlsdGVyX2FkZChpZ3RfcmNfZGV2 aWNlKTsKKwkJCWZyZWUoaWd0X3JjX2RldmljZSk7CisJCQlpZ3RfcmNfZGV2aWNlID0gTlVMTDsK KwkJfQorCX0KKworCWlmIChpZ3RfZGV2aWNlX2ZpbHRlcl9jb3VudCgpKSB7CisJCWZvciAoaW50 IGkgPSAwOyBpIDwgaWd0X2RldmljZV9maWx0ZXJfY291bnQoKTsgaSsrKQorCQkJaWd0X2RlYnVn KCIlMmQ6IFslc11cbiIsIGksIGlndF9kZXZpY2VfZmlsdGVyX2dldChpKSk7CisJfQorCiBvdXQ6 CiAJaWYgKCFrZXlfZmlsZV9lbnYgJiYga2V5X2ZpbGVfbG9jKQogCQlmcmVlKGtleV9maWxlX2xv Yyk7CkBAIC03MjUsNiArNzU5LDExIEBAIHN0YXRpYyB2b2lkIGNvbW1vbl9pbml0X2Vudih2b2lk KQogCWlmIChlbnYpIHsKIAkJX19zZXRfZm9yY2VkX2RyaXZlcihlbnYpOwogCX0KKworCWVudiA9 IGdldGVudigiSUdUX0RFVklDRSIpOworCWlmIChlbnYpIHsKKwkJaWd0X3JjX2RldmljZSA9IHN0 cmR1cChlbnYpOworCX0KIH0KIAogc3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFyZ2MsIGNo YXIgKiphcmd2LApAQCAtNzQzLDYgKzc4Miw3IEBAIHN0YXRpYyBpbnQgY29tbW9uX2luaXQoaW50 ICphcmdjLCBjaGFyICoqYXJndiwKIAkJeyJkZWJ1ZyIsICAgICAgICAgICAgIG9wdGlvbmFsX2Fy Z3VtZW50LCBOVUxMLCBPUFRfREVCVUd9LAogCQl7ImludGVyYWN0aXZlLWRlYnVnIiwgb3B0aW9u YWxfYXJndW1lbnQsIE5VTEwsIE9QVF9JTlRFUkFDVElWRV9ERUJVR30sCiAJCXsic2tpcC1jcmMt Y29tcGFyZSIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX1NLSVBfQ1JDfSwKKwkJeyJk ZXZpY2UiLCAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfREVWSUNFfSwK IAkJeyJoZWxwIiwgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfSEVM UH0sCiAJCXswLCAwLCAwLCAwfQogCX07CkBAIC04NjUsNiArOTA1LDE1IEBAIHN0YXRpYyBpbnQg Y29tbW9uX2luaXQoaW50ICphcmdjLCBjaGFyICoqYXJndiwKIAkJY2FzZSBPUFRfU0tJUF9DUkM6 CiAJCQlpZ3Rfc2tpcF9jcmNfY29tcGFyZSA9IHRydWU7CiAJCQlnb3RvIG91dDsKKwkJY2FzZSBP UFRfREVWSUNFOgorCQkJYXNzZXJ0KG9wdGFyZyk7CisJCQkvKiBpZiBzZXQgYnkgZW52IElHVF9E RVZJQ0Ugd2UgbmVlZCB0byBmcmVlIGl0ICovCisJCQlpZiAoaWd0X3JjX2RldmljZSkgeworCQkJ CWZyZWUoaWd0X3JjX2RldmljZSk7CisJCQkJaWd0X3JjX2RldmljZSA9IE5VTEw7CisJCQl9CisJ CQlpZ3RfZGV2aWNlX2ZpbHRlcl9hZGQob3B0YXJnKTsKKwkJCWJyZWFrOwogCQljYXNlIE9QVF9I RUxQOgogCQkJcHJpbnRfdXNhZ2UoaGVscF9zdHIsIGZhbHNlKTsKIAkJCXJldCA9IC0xOwotLSAK Mi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=