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 4F3BB8918F for ; Wed, 4 Sep 2019 10:37:12 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Wed, 4 Sep 2019 12:37:00 +0200 Message-Id: <20190904103701.20490-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20190904103701.20490-1-zbigniew.kempczynski@intel.com> References: <20190904103701.20490-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v6 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+Ci0tLQogZG9jcy9jaGFtZWxpdW0udHh0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAzICsKIC4uLi9pZ3QtZ3B1LXRvb2xzL2lndF90ZXN0X3Byb2dyYW1zLnhtbCAgICAg ICB8ICAgNyArCiBsaWIvZHJtdGVzdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMzcgKysrKysrKysrKysrKysrKystCiBsaWIvZHJtdGVzdC5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDcgKwogbGliL2lndF9jb3JlLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQ5ICsrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9jaGFtZWxpdW0udHh0IGIv ZG9jcy9jaGFtZWxpdW0udHh0CmluZGV4IDMyYzI5NmY3Li5kM2EzNzlkMyAxMDA2NDQKLS0tIGEv ZG9jcy9jaGFtZWxpdW0udHh0CisrKyBiL2RvY3MvY2hhbWVsaXVtLnR4dApAQCAtODQsNiArODQs OSBAQCBleGFtcGxlIChvbmx5IENoYW1lbGl1bS5VUkwgaXMgbWFuZGF0b3J5KToKICAgICAjIFRo ZSBwYXRoIHRvIGR1bXAgZnJhbWVzIHRoYXQgZmFpbCBjb21wYXJpc29uIGNoZWNrcwogICAgIEZy YW1lRHVtcFBhdGg9L3Jvb3QvCiAKKyAgICAjIERldmljZSBzZWxlY3Rpb24gZmlsdGVyCisgICAg RGV2aWNlPXBjaTp2ZW5kb3I9ODA4NixjYXJkPTA7dmdlbToKKwogICAgICMgVGhlIGZvbGxvd2lu ZyBzZWN0aW9uIGlzIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBEZXZpY2UgVW5kZXIgVGVzdC4K ICAgICAjIEl0IGlzIG5vdCBtYW5kYXRvcnkgYW5kIGFsbG93cyBvdmVycmlkaW5nIGRlZmF1bHQg dmFsdWVzLgogICAgIFtEVVRdCmRpZmYgLS1naXQgYS9kb2NzL3JlZmVyZW5jZS9pZ3QtZ3B1LXRv b2xzL2lndF90ZXN0X3Byb2dyYW1zLnhtbCBiL2RvY3MvcmVmZXJlbmNlL2lndC1ncHUtdG9vbHMv aWd0X3Rlc3RfcHJvZ3JhbXMueG1sCmluZGV4IGI2NGJhNDc0Li5mY2NlMTQ1OCAxMDA2NDQKLS0t IGEvZG9jcy9yZWZlcmVuY2UvaWd0LWdwdS10b29scy9pZ3RfdGVzdF9wcm9ncmFtcy54bWwKKysr IGIvZG9jcy9yZWZlcmVuY2UvaWd0LWdwdS10b29scy9pZ3RfdGVzdF9wcm9ncmFtcy54bWwKQEAg LTQzLDYgKzQzLDEzIEBACiAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICAgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICAgICAg ICA8dGVybT48b3B0aW9uPi0tZGV2aWNlIGZpbHRlcjwvb3B0aW9uPjwvdGVybT4KKyAgICAgICAg ICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICBzZWxlY3QgZGV2aWNlIHVzaW5n IGZpbHRlciAoc2VlICJEZXZpY2Ugc2VsZWN0aW9uIiBmb3IgZGV0YWlscykKKyAgICAgICAgICAg IDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgICAg ICAgPHZhcmxpc3RlbnRyeT4KICAgICAgICAgICAgIDx0ZXJtPjxvcHRpb24+LS1oZWxwLWRlc2Ny aXB0aW9uPC9vcHRpb24+PC90ZXJtPgogICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgpkaWZm IC0tZ2l0IGEvbGliL2RybXRlc3QuYyBiL2xpYi9kcm10ZXN0LmMKaW5kZXggYzM3OWE3YjcuLjUy MTk5ODIxIDEwMDY0NAotLS0gYS9saWIvZHJtdGVzdC5jCisrKyBiL2xpYi9kcm10ZXN0LmMKQEAg LTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJpZ3RfZ3QuaCIKICNpbmNsdWRlICJpZ3Rfa21vZC5o IgogI2luY2x1ZGUgImlndF9zeXNmcy5oIgorI2luY2x1ZGUgImlndF9kZXZpY2Vfc2Nhbi5oIgog I2luY2x1ZGUgInZlcnNpb24uaCIKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJpbnRl bF9yZWcuaCIKQEAgLTI4OSwyNSArMjkwLDE1NyBAQCBzdGF0aWMgaW50IF9fb3Blbl9kcml2ZXIo Y29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGNoaXBzZXQpCiAJcmV0 dXJuIF9fc2VhcmNoX2FuZF9vcGVuKGJhc2UsIG9mZnNldCwgY2hpcHNldCk7CiB9CiAKK3N0YXRp YyBpbnQgX19vcGVuX2RyaXZlcl9leGFjdChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBpbnQg Y2hpcHNldCkKK3sKKwlzdGF0aWMgcHRocmVhZF9tdXRleF90IG11dGV4ID0gUFRIUkVBRF9NVVRF WF9JTklUSUFMSVpFUjsKKwlpbnQgZmQ7CisKKwlmZCA9IG9wZW5fZGV2aWNlKG5hbWUsIGNoaXBz ZXQpOworCWlmIChmZCAhPSAtMSkKKwkJcmV0dXJuIGZkOworCisJcHRocmVhZF9tdXRleF9sb2Nr KCZtdXRleCk7CisJZm9yIChjb25zdCBzdHJ1Y3QgbW9kdWxlICptID0gbW9kdWxlczsgbS0+bW9k dWxlOyBtKyspIHsKKwkJaWYgKGNoaXBzZXQgJiBtLT5iaXQpIHsKKwkJCWlmIChtLT5tb2Rwcm9i ZSkKKwkJCQltLT5tb2Rwcm9iZShtLT5tb2R1bGUpOworCQkJZWxzZQorCQkJCW1vZHByb2JlKG0t Pm1vZHVsZSk7CisJCX0KKwl9CisJcHRocmVhZF9tdXRleF91bmxvY2soJm11dGV4KTsKKworCXJl dHVybiBvcGVuX2RldmljZShuYW1lLCBjaGlwc2V0KTsKK30KKworLyoKKyAqIEZvciBjb21wYXRp YmlsaXR5IG1vZGUgd2hlbiBtdWx0aXBsZSAtLWRldmljZSBhcmd1bWVudCB3ZXJlIHBhc3NlZAor ICogdGhpcyBmdW5jdGlvbiB0cmllcyB0byBiZSBzbWFydCBlbm91Z2ggdG8gaGFuZGxlIHRlc3Rz IHdoaWNoIG9wZW5zCisgKiBtb3JlIHRoYW4gc2luZ2xlIGRldmljZS4gSXQgaXRlcmF0ZXMgb3Zl ciBmaWx0ZXIgbGlzdCBhbmQKKyAqIGNoZWNrIGRvZXMgcmVxdWVzdGVkIGNoaXBzZXQgaGFzIGNv bW1vbiBiaXRzIHdpdGggY2FyZC0+Y2hpcHNldC4KKyAqCisgKiBAY2hpcHNldDogcmVxdWVzdGVk IGNoaXBzZXQKKyAqIEBjYXJkOiBwb2ludGVyIHRvIHRoZSBpZ3RfZGV2aWNlX2NhcmQgc3RydWN0 dXJlIHRvIGJlIGZpbGxlZAorICogd2hlbiBhIGNhcmQgaXMgZm91bmQuCisgKgorICogUmV0dXJu czoKKyAqIFRydWUgaWYgY2FyZCBhY2NvcmRpbmcgdG8gZmlsdGVycyBhZGRlZCBhbmQgY2hpcHNl dCB3YXMgZm91bmQsCisgKiBmYWxzZSBvdGh3ZXJ3aXNlLgorICovCitzdGF0aWMgYm9vbCBfX2Zp bmRfY2FyZF93aXRoX2NoaXBzZXQoaW50IGNoaXBzZXQsIHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQg KmNhcmQpCit7CisJaW50IGksIG4gPSBpZ3RfZGV2aWNlX2ZpbHRlcl9jb3VudCgpOworCWNvbnN0 IGNoYXIgKmZpbHRlcjsKKwlib29sIG1hdGNoOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykg eworCQlmaWx0ZXIgPSBpZ3RfZGV2aWNlX2ZpbHRlcl9nZXQoaSk7CisJCW1hdGNoID0gaWd0X2Rl dmljZV9jYXJkX21hdGNoKGZpbHRlciwgY2FyZCk7CisJCWlmIChtYXRjaCAmJiAoY2FyZC0+Y2hp cHNldCAmIGNoaXBzZXQpKSB7CisJCQlpZ3RfZGVidWcoIkZpbHRlciBbJXNdIG1hdGNoZWRcbiIs IGZpbHRlcik7CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfQorCX0KKworCWlndF93YXJuKCJDYW4ndCBm aW5kIGNhcmQgd2l0aCBjaGlwc2V0IChtYXNrKTogMHgleFxuIiwgY2hpcHNldCk7CisJaWd0X3dh cm4oIkZpbHRlcnMgdHJpZWQ6XG4iKTsKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCWZp bHRlciA9IGlndF9kZXZpY2VfZmlsdGVyX2dldChpKTsKKwkJaWd0X3dhcm4oIiUyZDogJXNcbiIs IGksIGZpbHRlcik7CisJfQorCisJcmV0dXJuIGZhbHNlOworfQorCiAvKioKICAqIF9fZHJtX29w ZW5fZHJpdmVyOgogICogQGNoaXBzZXQ6IE9SJ2QgZmxhZ3MgZm9yIGVhY2ggY2hpcHNldCB0byBz ZWFyY2gsIGVnLiAjRFJJVkVSX0lOVEVMCiAgKgotICogT3BlbiB0aGUgZmlyc3QgRFJNIGRldmlj ZSB3ZSBjYW4gZmluZCwgc2VhcmNoaW5nIHVwIHRvIDE2IGRldmljZSBub2RlcworICogRnVuY3Rp b24gb3BlbnMgZGV2aWNlIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CisgKiAxLiB3aGVuIC0tZGV2 aWNlIGFyZ3VtZW50cyBhcmUgcHJlc2VudCBkZXZpY2Ugc2Nhbm5pbmcgd2lsbCBiZSBleGVjdXRl ZCwKKyAqIHRoZW4gZmlsdGVyIGFyZ3VtZW50IGlzIHVzZWQgdG8gZmluZCBtYXRjaGluZyBvbmUu CisgKiAyLiBjb21wYXRpYmlsaXR5IG1vZGUgLSBvcGVuIHRoZSBmaXJzdCBEUk0gZGV2aWNlIHdl IGNhbiBmaW5kLAorICogc2VhcmNoaW5nIHVwIHRvIDE2IGRldmljZSBub2Rlcy4KICAqCiAgKiBS ZXR1cm5zOgogICogQW4gb3BlbiBEUk0gZmQgb3IgLTEgb24gZXJyb3IKICAqLwogaW50IF9fZHJt X29wZW5fZHJpdmVyKGludCBjaGlwc2V0KQogeworCWludCBuID0gaWd0X2RldmljZV9maWx0ZXJf Y291bnQoKTsKKworCWlmIChuKSB7CisJCWJvb2wgZm91bmQ7CisJCXN0cnVjdCBpZ3RfZGV2aWNl X2NhcmQgY2FyZDsKKworCQlmb3VuZCA9IF9fZmluZF9jYXJkX3dpdGhfY2hpcHNldChjaGlwc2V0 LCAmY2FyZCk7CisJCWlmICghZm91bmQgfHwgIXN0cmxlbihjYXJkLmNhcmQpKQorCQkJcmV0dXJu IC0xOworCQlpZ3RfZGVidWcoIlRyeWluZyB0byBvcGVuOiAlcyAoY2hpcHNldCBtYXNrL2NhcmQ6 ICV4LyV4KVxuIiwKKwkJCSAgY2FyZC5jYXJkLCBjaGlwc2V0LCBjYXJkLmNoaXBzZXQpOworCisJ CXJldHVybiBfX29wZW5fZHJpdmVyX2V4YWN0KGNhcmQuY2FyZCwgY2hpcHNldCk7CisJfQorCiAJ cmV0dXJuIF9fb3Blbl9kcml2ZXIoIi9kZXYvZHJpL2NhcmQiLCAwLCBjaGlwc2V0KTsKIH0KIAot c3RhdGljIGludCBfX2RybV9vcGVuX2RyaXZlcl9yZW5kZXIoaW50IGNoaXBzZXQpCitpbnQgX19k cm1fb3Blbl9kcml2ZXJfcmVuZGVyKGludCBjaGlwc2V0KQogeworCWludCBuID0gaWd0X2Rldmlj ZV9maWx0ZXJfY291bnQoKTsKKworCWlmIChuKSB7CisJCWJvb2wgZm91bmQ7CisJCXN0cnVjdCBp Z3RfZGV2aWNlX2NhcmQgY2FyZDsKKworCQlmb3VuZCA9IF9fZmluZF9jYXJkX3dpdGhfY2hpcHNl dChjaGlwc2V0LCAmY2FyZCk7CisJCWlmICghZm91bmQgfHwgIXN0cmxlbihjYXJkLnJlbmRlcikp CisJCQlyZXR1cm4gLTE7CisKKwkJaWd0X2RlYnVnKCJUcnlpbmcgdG8gb3BlbjogJXMgKGNoaXBz ZXQgbWFzay9jYXJkOiAleC8leClcbiIsCisJCQkgIGNhcmQucmVuZGVyLCBjaGlwc2V0LCBjYXJk LmNoaXBzZXQpOworCisJCXJldHVybiBfX29wZW5fZHJpdmVyX2V4YWN0KGNhcmQucmVuZGVyLCBj aGlwc2V0KTsKKwl9CisKIAlyZXR1cm4gX19vcGVuX2RyaXZlcigiL2Rldi9kcmkvcmVuZGVyRCIs IDEyOCwgY2hpcHNldCk7CiB9CiAKKy8qKgorICogZHJtX29wZW5fY2FyZDoKKyAqIEBjYXJkOiBw b2ludGVyIHRvIGlndF9kZXZpY2VfY2FyZCBzdHJ1Y3R1cmUKKyAqCisgKiBPcGVuIC9kZXYvZHJp L2NhcmRYIGRldmljZSB1c2luZyBtdWx0aS1kZXZpY2Ugc2VsZWN0aW9uIEFQSS4KKyAqCisgKiBS ZXF1aXJlIGZpbGxlZCBAY2FyZCBhcmd1bWVudCAoc2VlIGlndF9kZXZpY2VfY2FyZF9tYXRjaCgp IGZ1bmN0aW9uKS4KKyAqCisgKiBBbiBvcGVuIERSTSBmZCBvciAtMSBvbiBlcnJvcgorICovCitp bnQgZHJtX29wZW5fY2FyZChzdHJ1Y3QgaWd0X2RldmljZV9jYXJkICpjYXJkKQoreworCWlmICgh Y2FyZCB8fCAhc3RybGVuKGNhcmQtPmNhcmQpKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gX19v cGVuX2RyaXZlcl9leGFjdChjYXJkLT5jYXJkLCBjYXJkLT5jaGlwc2V0KTsKK30KKworLyoqCisg KiBkcm1fb3Blbl9yZW5kZXI6CisgKiBAY2FyZDogcG9pbnRlciB0byBpZ3RfZGV2aWNlX2NhcmQg c3RydWN0dXJlCisgKgorICogT3BlbiAvZGV2L2RyaS9yZW5kZXJEWCBkZXZpY2UgdXNpbmcgbXVs dGktZGV2aWNlIHNlbGVjdGlvbiBBUEkuCisgKiBSZXF1aXJlIGZpbGxlZCBAY2FyZCBhcmd1bWVu dCAoc2VlIGlndF9kZXZpY2VfY2FyZF9tYXRjaCgpIGZ1bmN0aW9uKS4KKyAqCisgKiBBbiBvcGVu IERSTSBmZCBvciAtMSBvbiBlcnJvcgorICovCitpbnQgZHJtX29wZW5fcmVuZGVyKHN0cnVjdCBp Z3RfZGV2aWNlX2NhcmQgKmNhcmQpCit7CisJaWYgKCFjYXJkIHx8ICFzdHJsZW4oY2FyZC0+cmVu ZGVyKSkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIF9fb3Blbl9kcml2ZXJfZXhhY3QoY2FyZC0+ cmVuZGVyLCBjYXJkLT5jaGlwc2V0KTsKK30KKwogc3RhdGljIGludCBhdF9leGl0X2RybV9mZCA9 IC0xOwogc3RhdGljIGludCBhdF9leGl0X2RybV9yZW5kZXJfZmQgPSAtMTsKIApkaWZmIC0tZ2l0 IGEvbGliL2RybXRlc3QuaCBiL2xpYi9kcm10ZXN0LmgKaW5kZXggNjE0ZjU3ZTYuLjMxOTQ3ZjQz IDEwMDY0NAotLS0gYS9saWIvZHJtdGVzdC5oCisrKyBiL2xpYi9kcm10ZXN0LmgKQEAgLTUwLDYg KzUwLDcgQEAKICNkZWZpbmUgRFJJVkVSX0FNREdQVQkoMSA8PCAzKQogI2RlZmluZSBEUklWRVJf VjNECSgxIDw8IDQpCiAjZGVmaW5lIERSSVZFUl9QQU5GUk9TVAkoMSA8PCA1KQorCiAvKgogICog RXhjbHVkZSBEUlZFUl9WR0VNIGZyb20gRFJJVkVSX0FOWSBzaW5jZSBpZiB5b3UgcnVuIG9uIGEg c3lzdGVtCiAgKiB3aXRoIHZnZW0gYXMgd2VsbCBhcyBhIHN1cHBvcnRlZCBkcml2ZXIsIHlvdSBj YW4gZW5kIHVwIHdpdGggYQpAQCAtODEsNiArODIsMTIgQEAgaW50IGRybV9vcGVuX2RyaXZlcihp bnQgY2hpcHNldCk7CiBpbnQgZHJtX29wZW5fZHJpdmVyX21hc3RlcihpbnQgY2hpcHNldCk7CiBp bnQgZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hpcHNldCk7CiBpbnQgX19kcm1fb3Blbl9k cml2ZXIoaW50IGNoaXBzZXQpOworaW50IF9fZHJtX29wZW5fZHJpdmVyX3JlbmRlcihpbnQgY2hp cHNldCk7CisKKy8qIE11bHRpIGRldmljZSBBUEkgKi8KK3N0cnVjdCBpZ3RfZGV2aWNlX2NhcmQ7 CitpbnQgZHJtX29wZW5fY2FyZChzdHJ1Y3QgaWd0X2RldmljZV9jYXJkICpjYXJkKTsKK2ludCBk cm1fb3Blbl9yZW5kZXIoc3RydWN0IGlndF9kZXZpY2VfY2FyZCAqY2FyZCk7CiAKIHZvaWQgZ2Vt X3F1aWVzY2VudF9ncHUoaW50IGZkKTsKIApkaWZmIC0tZ2l0IGEvbGliL2lndF9jb3JlLmMgYi9s aWIvaWd0X2NvcmUuYwppbmRleCAxY2JiMDlmOS4uYjQ1YTFiZTcgMTAwNjQ0Ci0tLSBhL2xpYi9p Z3RfY29yZS5jCisrKyBiL2xpYi9pZ3RfY29yZS5jCkBAIC03MSw2ICs3MSw3IEBACiAjaW5jbHVk ZSAiaWd0X3N5c3JxLmgiCiAjaW5jbHVkZSAiaWd0X3JjLmgiCiAjaW5jbHVkZSAiaWd0X2xpc3Qu aCIKKyNpbmNsdWRlICJpZ3RfZGV2aWNlX3NjYW4uaCIKIAogI2RlZmluZSBVTldfTE9DQUxfT05M WQogI2luY2x1ZGUgPGxpYnVud2luZC5oPgpAQCAtMjQ1LDYgKzI0Niw5IEBACiAgKglbQ29tbW9u XQogICoJRnJhbWVEdW1wUGF0aD0vdG1wICMgVGhlIHBhdGggdG8gZHVtcCBmcmFtZXMgdGhhdCBm YWlsIGNvbXBhcmlzb24gY2hlY2tzCiAgKgorICoJJm51bTsgRGV2aWNlIHNlbGVjdGlvbiBmaWx0 ZXIKKyAqCURldmljZT1wY2k6dmVuZG9yPTgwODYsY2FyZD0wO3ZnZW06CisgKgogICoJJm51bTsg VGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBEZXZpY2Ug VW5kZXIgVGVzdC4KICAqCSZudW07IEl0IGlzIG5vdCBtYW5kYXRvcnkgYW5kIGFsbG93cyBvdmVy cmlkaW5nIGRlZmF1bHQgdmFsdWVzLgogICoJW0RVVF0KQEAgLTMwNCw2ICszMDgsNyBAQCBlbnVt IHsKIAlPUFRfREVCVUcsCiAJT1BUX0lOVEVSQUNUSVZFX0RFQlVHLAogCU9QVF9TS0lQX0NSQywK KwlPUFRfREVWSUNFLAogCU9QVF9IRUxQID0gJ2gnCiB9OwogCkBAIC0zMjAsNiArMzI1LDcgQEAg c3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBsb2dfYnVmZmVyX211dGV4ID0gUFRIUkVBRF9NVVRFWF9J TklUSUFMSVpFUjsKIEdLZXlGaWxlICppZ3Rfa2V5X2ZpbGU7CiAKIGNoYXIgKmlndF9mcmFtZV9k dW1wX3BhdGg7CitjaGFyICppZ3RfcmNfZGV2aWNlOwogCiBzdGF0aWMgYm9vbCBzdGRlcnJfbmVl ZHNfc2VudGluZWwgPSBmYWxzZTsKIApAQCAtNjI0LDYgKzYzMCw3IEBAIHN0YXRpYyB2b2lkIHBy aW50X3VzYWdlKGNvbnN0IGNoYXIgKmhlbHBfc3RyLCBib29sIG91dHB1dF9vbl9zdGRlcnIpCiAJ CSAgICIgIC0tc2tpcC1jcmMtY29tcGFyZVxuIgogCQkgICAiICAtLWhlbHAtZGVzY3JpcHRpb25c biIKIAkJICAgIiAgLS1kZXNjcmliZVxuIgorCQkgICAiICAtLWRldmljZSBmaWx0ZXJcbiIKIAkJ ICAgIiAgLS1oZWxwfC1oXG4iKTsKIAlpZiAoaGVscF9zdHIpCiAJCWZwcmludGYoZiwgIiVzXG4i LCBoZWxwX3N0cik7CkBAIC02ODgsNiArNjk1LDMzIEBAIHN0YXRpYyB2b2lkIGNvbW1vbl9pbml0 X2NvbmZpZyh2b2lkKQogCWlmIChyZXQgIT0gMCkKIAkJaWd0X3NldF9hdXRvcmVzdW1lX2RlbGF5 KHJldCk7CiAKKwkvKiBBZGRpbmcgZmlsdGVycywgb3JkZXIgLmlndHJjLCBJR1RfREVWSUNFLCAt LWRldmljZSBmaWx0ZXIgKi8KKwlpZiAoaWd0X2RldmljZV9maWx0ZXJfY291bnQoKSkKKwkJaWd0 X2RlYnVnKCJOb3RpY2U6IHVzaW5nIC0tZGV2aWNlIGZpbHRlcnM6XG4iKTsKKwllbHNlIHsKKwkJ aWYgKGlndF9yY19kZXZpY2UpIHsKKwkJCWlndF9kZWJ1ZygiTm90aWNlOiB1c2luZyBJR1RfREVW SUNFIGVudjpcbiIpOworCQl9IGVsc2UgeworCQkJaWd0X3JjX2RldmljZSA9CWdfa2V5X2ZpbGVf Z2V0X3N0cmluZyhpZ3Rfa2V5X2ZpbGUsCisJCQkJCQkJICAgICAgIkNvbW1vbiIsCisJCQkJCQkJ ICAgICAgIkRldmljZSIsICZlcnJvcik7CisJCQlnX2NsZWFyX2Vycm9yKCZlcnJvcik7CisJCQlp ZiAoaWd0X3JjX2RldmljZSkKKwkJCQlpZ3RfZGVidWcoIk5vdGljZTogdXNpbmcgLmlndHJjICIK KwkJCQkJICAiQ29tbW9uOjpEZXZpY2U6XG4iKTsKKwkJfQorCQlpZiAoaWd0X3JjX2RldmljZSkg eworCQkJaWd0X2RldmljZV9maWx0ZXJfYWRkKGlndF9yY19kZXZpY2UpOworCQkJZnJlZShpZ3Rf cmNfZGV2aWNlKTsKKwkJCWlndF9yY19kZXZpY2UgPSBOVUxMOworCQl9CisJfQorCisJaWYgKGln dF9kZXZpY2VfZmlsdGVyX2NvdW50KCkpIHsKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBpZ3RfZGV2 aWNlX2ZpbHRlcl9jb3VudCgpOyBpKyspCisJCQlpZ3RfZGVidWcoIiUyZDogWyVzXVxuIiwgaSwg aWd0X2RldmljZV9maWx0ZXJfZ2V0KGkpKTsKKwl9CisKIG91dDoKIAlpZiAoIWtleV9maWxlX2Vu diAmJiBrZXlfZmlsZV9sb2MpCiAJCWZyZWUoa2V5X2ZpbGVfbG9jKTsKQEAgLTcyNSw2ICs3NTks MTEgQEAgc3RhdGljIHZvaWQgY29tbW9uX2luaXRfZW52KHZvaWQpCiAJaWYgKGVudikgewogCQlf X3NldF9mb3JjZWRfZHJpdmVyKGVudik7CiAJfQorCisJZW52ID0gZ2V0ZW52KCJJR1RfREVWSUNF Iik7CisJaWYgKGVudikgeworCQlpZ3RfcmNfZGV2aWNlID0gc3RyZHVwKGVudik7CisJfQogfQog CiBzdGF0aWMgaW50IGNvbW1vbl9pbml0KGludCAqYXJnYywgY2hhciAqKmFyZ3YsCkBAIC03NDMs NiArNzgyLDcgQEAgc3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFyZ2MsIGNoYXIgKiphcmd2 LAogCQl7ImRlYnVnIiwgICAgICAgICAgICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9E RUJVR30sCiAJCXsiaW50ZXJhY3RpdmUtZGVidWciLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwg T1BUX0lOVEVSQUNUSVZFX0RFQlVHfSwKIAkJeyJza2lwLWNyYy1jb21wYXJlIiwgIG5vX2FyZ3Vt ZW50LCAgICAgICBOVUxMLCBPUFRfU0tJUF9DUkN9LAorCQl7ImRldmljZSIsICAgICAgICAgICAg cmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9ERVZJQ0V9LAogCQl7ImhlbHAiLCAgICAgICAg ICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9IRUxQfSwKIAkJezAsIDAsIDAsIDB9 CiAJfTsKQEAgLTg2NSw2ICs5MDUsMTUgQEAgc3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFy Z2MsIGNoYXIgKiphcmd2LAogCQljYXNlIE9QVF9TS0lQX0NSQzoKIAkJCWlndF9za2lwX2NyY19j b21wYXJlID0gdHJ1ZTsKIAkJCWdvdG8gb3V0OworCQljYXNlIE9QVF9ERVZJQ0U6CisJCQlhc3Nl cnQob3B0YXJnKTsKKwkJCS8qIGlmIHNldCBieSBlbnYgSUdUX0RFVklDRSB3ZSBuZWVkIHRvIGZy ZWUgaXQgKi8KKwkJCWlmIChpZ3RfcmNfZGV2aWNlKSB7CisJCQkJZnJlZShpZ3RfcmNfZGV2aWNl KTsKKwkJCQlpZ3RfcmNfZGV2aWNlID0gTlVMTDsKKwkJCX0KKwkJCWlndF9kZXZpY2VfZmlsdGVy X2FkZChvcHRhcmcpOworCQkJYnJlYWs7CiAJCWNhc2UgT1BUX0hFTFA6CiAJCQlwcmludF91c2Fn ZShoZWxwX3N0ciwgZmFsc2UpOwogCQkJcmV0ID0gLTE7Ci0tIAoyLjIzLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==