From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id DC80689F45 for ; Mon, 2 Dec 2019 12:25:27 +0000 (UTC) From: Arkadiusz Hiler Date: Mon, 2 Dec 2019 14:25:02 +0200 Message-ID: <20191202122503.146142-2-arkadiusz.hiler@intel.com> In-Reply-To: <20191202122503.146142-1-arkadiusz.hiler@intel.com> References: <20191202122503.146142-1-arkadiusz.hiler@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/3] Introduce device selection lsgpu tool 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+CgpUb29sIHVzZXMgZGV2aWNlIHNlbGVjdGlvbiBBUEkgdG8gc2NhbiBhbmQgZGlzcGxheSBH UFUgZGV2aWNlcy4KSXQgY2FuIGJlIHVzZWQgdG8gY2hlY2sgZmlsdGVyIGNvcnJlY3RuZXNzIGFz IHdlbGwgYXMgb3JkZXIKb2YgYXBwbHlpbmcgdGhlIGZpbHRlcnMgKC5pZ3RyYywgSUdUX0RFVklD RSBhbmQgLS1kZXZpY2UgYXJndW1lbnQpLgoKdjIgKEFyZWspOgogKiBkb24ndCBwcmludCBjaGlw IGFzIGl0J3Mgbm8gbG9uZ2VyIHRoZXJlCiAqIG1ha2UgaXQgYSBzZWNvbmQgcGF0Y2gsIGJlZm9y ZSBhbnkgYWx0ZXJhdGlvbnMgdG8gaWd0X2NvcmUgb3IgZHJtdGVzdAogKiB1c2Ugb25seSBhIHNp bmdsZSBmaWx0ZXIKCnYzIChBcmVrKToKICogdXNlIGlndF9sb2FkX2lndHJjKCkgKFBldHJpKQog KiBhZGQgdXNhZ2UgZXhhbXBsZSAoQ2hyaXMpCiAqIGdlbmVyYWwgbG9naWMgY2xlYW51cAoKTE9O RyBFWEFNUExFOgoKJCAuL2J1aWxkL3Rvb2xzL2xzZ3B1IC0taGVscAogIHVzYWdlOiBsc2dwdSBb b3B0aW9uc10KCiAgT3B0aW9uczoKICAgIC1wLCAtLXByaW50LWRldGFpbHMgICAgICAgICBQcmlu dCBkZXZpY2VzIHdpdGggZGV0YWlscwogICAgLXYsIC0tbGlzdC12ZW5kb3JzICAgICAgICAgIExp c3QgcmVjb2duaXplZCB2ZW5kb3JzCiAgICAtbCwgLS1saXN0LWZpbHRlci10eXBlcyAgICAgTGlz dCByZWdpc3RlcmVkIGRldmljZSBmaWx0ZXJzIHR5cGVzCiAgICAtZCwgLS1kZXZpY2UgZmlsdGVy ICAgICAgICAgRGV2aWNlIGZpbHRlciwgY2FuIGJlIGdpdmVuIG11bHRpcGxlIHRpbWVzCiAgICAt aCwgLS1oZWxwICAgICAgICAgICAgICAgICAgU2hvdyB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhp dAoKJCAuL2J1aWxkL3Rvb2xzL2xzZ3B1CiAgc3lzOi9zeXMvZGV2aWNlcy9wY2kwMDAwOjAwLzAw MDA6MDA6MDIuMC9kcm0vY2FyZDAKICAgICAgc3Vic3lzdGVtICAgICAgIDogZHJtCiAgICAgIGRy bSBjYXJkICAgICAgICA6IC9kZXYvZHJpL2NhcmQwCiAgICAgIHBhcmVudCAgICAgICAgICA6IHN5 czovc3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjAyLjAKCiAgc3lzOi9zeXMvZGV2aWNl cy9wY2kwMDAwOjAwLzAwMDA6MDA6MDIuMC9kcm0vcmVuZGVyRDEyOAogICAgICBzdWJzeXN0ZW0g ICAgICAgOiBkcm0KICAgICAgZHJtIHJlbmRlciAgICAgIDogL2Rldi9kcmkvcmVuZGVyRDEyOAog ICAgICBwYXJlbnQgICAgICAgICAgOiBzeXM6L3N5cy9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDow MDowMi4wCgogIHN5czovc3lzL2RldmljZXMvcGxhdGZvcm0vdmdlbS9kcm0vY2FyZDEKICAgICAg c3Vic3lzdGVtICAgICAgIDogZHJtCiAgICAgIGRybSBjYXJkICAgICAgICA6IC9kZXYvZHJpL2Nh cmQxCiAgICAgIHBhcmVudCAgICAgICAgICA6IHN5czovc3lzL2RldmljZXMvcGxhdGZvcm0vdmdl bQoKICBzeXM6L3N5cy9kZXZpY2VzL3BsYXRmb3JtL3ZnZW0vZHJtL3JlbmRlckQxMjkKICAgICAg c3Vic3lzdGVtICAgICAgIDogZHJtCiAgICAgIGRybSByZW5kZXIgICAgICA6IC9kZXYvZHJpL3Jl bmRlckQxMjkKICAgICAgcGFyZW50ICAgICAgICAgIDogc3lzOi9zeXMvZGV2aWNlcy9wbGF0Zm9y bS92Z2VtCgogIHN5czovc3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjAyLjAKICAgICAg c3Vic3lzdGVtICAgICAgIDogcGNpCiAgICAgIGRybSBjYXJkICAgICAgICA6IC9kZXYvZHJpL2Nh cmQwCiAgICAgIGRybSByZW5kZXIgICAgICA6IC9kZXYvZHJpL3JlbmRlckQxMjgKICAgICAgdmVu ZG9yICAgICAgICAgIDogODA4NgogICAgICBkZXZpY2UgICAgICAgICAgOiA1OTI3CgogIHN5czov c3lzL2RldmljZXMvcGxhdGZvcm0vdmdlbQogICAgICBzdWJzeXN0ZW0gICAgICAgOiBwbGF0Zm9y bQogICAgICBkcm0gY2FyZCAgICAgICAgOiAvZGV2L2RyaS9jYXJkMQogICAgICBkcm0gcmVuZGVy ICAgICAgOiAvZGV2L2RyaS9yZW5kZXJEMTI5CgokIC4vYnVpbGQvdG9vbHMvbHNncHUgLWwKICBG aWx0ZXIgdHlwZXM6CiAgLS0tCiAgZmlsdGVyICAgICAgICBzeW50YXgKICAtLS0KICBzeXMgICAg ICAgICAgIHN5czovc3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjAyLjAKICAgICAgICAg ICAgICAgIGZpbmQgZGV2aWNlIGJ5IGl0cyBzeXNmcyBwYXRoCgogIGRybSAgICAgICAgICAgZHJt Oi9kZXYvZHJpLyogcGF0aAogICAgICAgICAgICAgICAgZmluZCBkcm0gZGV2aWNlIGJ5IC9kZXYv ZHJpLyogbm9kZQoKICBwY2kgICAgICAgICAgIHBjaTpbdmVuZG9yPSUwNHgvbmFtZV1bLGRldmlj ZT0lMDR4XVssY2FyZD0lZF0KICAgICAgICAgICAgICAgIHZlbmRvciBpcyBoZXggbnVtYmVyIG9y IHZlbmRvciBuYW1lCgokIC4vYnVpbGQvdG9vbHMvbHNncHUgLWQgcGNpOnZlbmRvcj1JbnRlbAog IE5vdGljZTogVXNpbmcgLS1kZXZpY2UgZmlsdGVycwogID09PSBEZXZpY2UgZmlsdGVyID09PQog IHBjaTp2ZW5kb3I9SW50ZWwKCiAgPT09IFRlc3RpbmcgZGV2aWNlIG9wZW4gPT09CiAgRGV2aWNl IGRldGFpbDoKICBzdWJzeXN0ZW0gICA6IHBjaQogIGRybSBjYXJkICAgIDogL2Rldi9kcmkvY2Fy ZDAKICBkcm0gcmVuZGVyICA6IC9kZXYvZHJpL3JlbmRlckQxMjgKICBEZXZpY2UgL2Rldi9kcmkv Y2FyZDAgc3VjY2Vzc2Z1bGx5IG9wZW5lZAogIERldmljZSAvZGV2L2RyaS9yZW5kZXJEMTI4IHN1 Y2Nlc3NmdWxseSBvcGVuZWQKICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgogICQgLi9idWlsZC90b29scy9sc2dwdSAtZCBwY2k6dmVuZG9yPWludGVsCiAgTm90 aWNlOiBVc2luZyAtLWRldmljZSBmaWx0ZXJzCiAgPT09IERldmljZSBmaWx0ZXIgPT09CiAgcGNp OnZlbmRvcj1pbnRlbAoKICA9PT0gVGVzdGluZyBkZXZpY2Ugb3BlbiA9PT0KICBEZXZpY2UgZGV0 YWlsOgogIHN1YnN5c3RlbSAgIDogcGNpCiAgZHJtIGNhcmQgICAgOiAvZGV2L2RyaS9jYXJkMAog IGRybSByZW5kZXIgIDogL2Rldi9kcmkvcmVuZGVyRDEyOAogIERldmljZSAvZGV2L2RyaS9jYXJk MCBzdWNjZXNzZnVsbHkgb3BlbmVkCiAgRGV2aWNlIC9kZXYvZHJpL3JlbmRlckQxMjggc3VjY2Vz c2Z1bGx5IG9wZW5lZAogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCiQgLi9idWlsZC90b29scy9sc2dwdSAtZCBwY2k6dmVuZG9yPWludGVsIC1wCiAgTm90aWNl OiBVc2luZyAtLWRldmljZSBmaWx0ZXJzCiAgPT09IERldmljZSBmaWx0ZXIgPT09CiAgcGNpOnZl bmRvcj1pbnRlbAoKICA9PT0gVGVzdGluZyBkZXZpY2Ugb3BlbiA9PT0KICBEZXZpY2UgZGV0YWls OgogIHN1YnN5c3RlbSAgIDogcGNpCiAgZHJtIGNhcmQgICAgOiAvZGV2L2RyaS9jYXJkMAogIGRy bSByZW5kZXIgIDogL2Rldi9kcmkvcmVuZGVyRDEyOAogIERldmljZSAvZGV2L2RyaS9jYXJkMCBz dWNjZXNzZnVsbHkgb3BlbmVkCiAgRGV2aWNlIC9kZXYvZHJpL3JlbmRlckQxMjggc3VjY2Vzc2Z1 bGx5IG9wZW5lZAoKICA9PT09PT09PT09IHBjaTovc3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAw OjAwOjAyLjAgPT09PT09PT09PQogIGNhcmQgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgOiAv ZGV2L2RyaS9jYXJkMAogIHJlbmRlciBkZXZpY2UgICAgICAgICAgICAgICAgICAgOiAvZGV2L2Ry aS9yZW5kZXJEMTI4CgogIFtwcm9wZXJ0aWVzXQogIERFVlBBVEggICAgICAgICAgICAgICAgICAg ICAgICAgOiAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MDIuMAogIERSSVZFUiAgICAgICAg ICAgICAgICAgICAgICAgICAgOiBpOTE1CiAgRldVUERfR1VJRCAgICAgICAgICAgICAgICAgICAg ICA6IDB4ODA4NjoweDU5MjcKICBJRF9NT0RFTF9GUk9NX0RBVEFCQVNFICAgICAgICAgIDogSXJp cyBQbHVzIEdyYXBoaWNzIDY1MAogIElEX1BDSV9DTEFTU19GUk9NX0RBVEFCQVNFICAgICAgOiBE aXNwbGF5IGNvbnRyb2xsZXIKICBJRF9QQ0lfSU5URVJGQUNFX0ZST01fREFUQUJBU0UgIDogVkdB IGNvbnRyb2xsZXIKICBJRF9QQ0lfU1VCQ0xBU1NfRlJPTV9EQVRBQkFTRSAgIDogVkdBIGNvbXBh dGlibGUgY29udHJvbGxlcgogIElEX1ZFTkRPUl9GUk9NX0RBVEFCQVNFICAgICAgICAgOiBJbnRl bCBDb3Jwb3JhdGlvbgogIE1PREFMSUFTICAgICAgICAgICAgICAgICAgICAgICAgOiBwY2k6djAw MDA4MDg2ZDAwMDA1OTI3c3YwMDAwODA4NnNkMDAwMDIwNjhiYzAzc2MwMGkwMAogIFBDSV9DTEFT UyAgICAgICAgICAgICAgICAgICAgICAgOiAzMDAwMAogIFBDSV9JRCAgICAgICAgICAgICAgICAg ICAgICAgICAgOiA4MDg2OjU5MjcKICBQQ0lfU0xPVF9OQU1FICAgICAgICAgICAgICAgICAgIDog MDAwMDowMDowMi4wCiAgUENJX1NVQlNZU19JRCAgICAgICAgICAgICAgICAgICA6IDgwODY6MjA2 OAogIFNVQlNZU1RFTSAgICAgICAgICAgICAgICAgICAgICAgOiBwY2kKICBVU0VDX0lOSVRJQUxJ WkVEICAgICAgICAgICAgICAgIDogMjI4ODExNzEKCiAgW2F0dHJpYnV0ZXNdCiAgYXJpX2VuYWJs ZWQgICAgICAgICAgICAgICAgICAgICA6IDAKICBib290X3ZnYSAgICAgICAgICAgICAgICAgICAg ICAgIDogMQogIGJyb2tlbl9wYXJpdHlfc3RhdHVzICAgICAgICAgICAgOiAwCiAgY2xhc3MgICAg ICAgICAgICAgICAgICAgICAgICAgICA6IDB4MDMwMDAwCiAgY29uc2lzdGVudF9kbWFfbWFza19i aXRzICAgICAgICA6IDM5CiAgY3VycmVudF9saW5rX3NwZWVkICAgICAgICAgICAgICA6IFVua25v d24gc3BlZWQKICBjdXJyZW50X2xpbmtfd2lkdGggICAgICAgICAgICAgIDogMAogIGQzY29sZF9h bGxvd2VkICAgICAgICAgICAgICAgICAgOiAxCiAgZGV2aWNlICAgICAgICAgICAgICAgICAgICAg ICAgICA6IDB4NTkyNwogIGRtYV9tYXNrX2JpdHMgICAgICAgICAgICAgICAgICAgOiAzOQogIGRy aXZlcl9vdmVycmlkZSAgICAgICAgICAgICAgICAgOiAobnVsbCkKICBlbmFibGUgICAgICAgICAg ICAgICAgICAgICAgICAgIDogMQogIGZpcm13YXJlX25vZGUgICAgICAgICAgICAgICAgICAgOiBM TlhWSURFTzowMAogIGluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxCiAgaXJxICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6IDEyOQogIGxhYmVsICAgICAgICAgICAgICAgICAg ICAgICAgICAgOiAgQ1BVCiAgbG9jYWxfY3B1bGlzdCAgICAgICAgICAgICAgICAgICA6IDAtMwog IGxvY2FsX2NwdXMgICAgICAgICAgICAgICAgICAgICAgOiBmCiAgbWF4X2xpbmtfc3BlZWQgICAg ICAgICAgICAgICAgICA6IFVua25vd24gc3BlZWQKICBtYXhfbGlua193aWR0aCAgICAgICAgICAg ICAgICAgIDogMjU1CiAgbXNpX2J1cyAgICAgICAgICAgICAgICAgICAgICAgICA6IDEKICBudW1h X25vZGUgICAgICAgICAgICAgICAgICAgICAgIDogLTEKICByZXZpc2lvbiAgICAgICAgICAgICAg ICAgICAgICAgIDogMHgwNgogIHN1YnN5c3RlbSAgICAgICAgICAgICAgICAgICAgICAgOiBwY2kK ICBzdWJzeXN0ZW1fZGV2aWNlICAgICAgICAgICAgICAgIDogMHgyMDY4CiAgc3Vic3lzdGVtX3Zl bmRvciAgICAgICAgICAgICAgICA6IDB4ODA4NgogIHZlbmRvciAgICAgICAgICAgICAgICAgICAg ICAgICAgOiAweDgwODYKCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQoKQ2M6IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBaYmlnbmlldyBLZW1wY3p5xYRza2kgPHpiaWduaWV3LmtlbXBjenluc2tpQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogUGV0cmkgTGF0dmFsYSA8cGV0cmkubGF0dmFsYUBpbnRlbC5j b20+Ci0tLQogdG9vbHMvTWFrZWZpbGUuc291cmNlcyB8ICAgMSArCiB0b29scy9sc2dwdS5jICAg ICAgICAgIHwgMjUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0 b29scy9tZXNvbi5idWlsZCAgICAgIHwgICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMjUyIGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy9sc2dwdS5jCgpkaWZmIC0tZ2l0IGEv dG9vbHMvTWFrZWZpbGUuc291cmNlcyBiL3Rvb2xzL01ha2VmaWxlLnNvdXJjZXMKaW5kZXggZDc2 NDg5NWQuLmI3YTQzZDQ3IDEwMDY0NAotLS0gYS90b29scy9NYWtlZmlsZS5zb3VyY2VzCisrKyBi L3Rvb2xzL01ha2VmaWxlLnNvdXJjZXMKQEAgLTMzLDYgKzMzLDcgQEAgdG9vbHNfcHJvZ19saXN0 cyA9CQlcCiAJaW50ZWxfd2F0ZXJtYXJrCQlcCiAJaW50ZWxfZ2VtX2luZm8JCVwKIAlpbnRlbF9n dnRnX3Rlc3QgICAgIFwKKwlsc2dwdQkJCVwKIAkkKE5VTEwpCiAKIGRpc3RfYmluX1NDUklQVFMg PSBpbnRlbF9ncHVfYWJydApkaWZmIC0tZ2l0IGEvdG9vbHMvbHNncHUuYyBiL3Rvb2xzL2xzZ3B1 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjI1NDFkMWMyCi0tLSAvZGV2 L251bGwKKysrIGIvdG9vbHMvbHNncHUuYwpAQCAtMCwwICsxLDI1MCBAQAorLyoKKyAqIENvcHly aWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBu ZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vi c3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS QUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENP Tk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwor ICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCisjaW5jbHVkZSAiaWd0X2RldmljZV9zY2Fu LmgiCisjaW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8 ZmNudGwuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1 ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGdsaWIuaD4KKworLyoqCisgKiBTRUNUSU9OOmxzZ3B1 CisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGxzZ3B1CisgKiBAdGl0bGU6IGxzZ3B1CisgKiBAaW5j bHVkZTogbHNncHUuYworICoKKyAqICMgbHNncHUKKyAqCisgKiBUaGUgZGV2aWNlcyBjYW4gYmUg c2Nhbm5lZCBhbmQgZGlzcGxheWVkIHVzaW5nICdsc2dwdScgdG9vbC4gVG9vbCBhbHNvCisgKiBk aXNwbGF5cyBwcm9wZXJ0aWVzIGFuZCBzeXNhdHRycyAoLXAgc3dpdGNoLCBtZWFucyBwcmludCBk ZXRhaWwpIHdoaWNoCisgKiBjYW4gYmUgdXNlZCBkdXJpbmcgZmlsdGVyIGltcGxlbWVudGF0aW9u LgorICoKKyAqIFRvb2wgY2FuIGFsc28gYmUgdXNlZCB0byB0cnkgb3V0IGZpbHRlcnMuCisgKiBU byBzZWxlY3QgZGV2aWNlIHVzZSAnLWQnIG9yICctLWRldmljZScgYXJndW1lbnQgbGlrZToKKyAq CisgKiB8WzwhLS0gbGFuZ3VhZ2U9InBsYWluIiAtLT4KKyAqIC4vbHNncHUgLWQgJ3BjaTp2ZW5k b3I9SW50ZWwnCisgKiA9PT0gRGV2aWNlIGZpbHRlciBsaXN0ID09PQorICogWyAwXTogcGNpOnZl bmRvcj1JbnRlbAorCisgKiA9PT0gVGVzdGluZyBkZXZpY2Ugb3BlbiA9PT0KKyAqIHN1YnN5c3Rl bSAgIDogcGNpCisgKiBkcm0gY2FyZCAgICA6IC9kZXYvZHJpL2NhcmQwCisgKiBkcm0gcmVuZGVy ICA6IC9kZXYvZHJpL3JlbmRlckQxMjgKKyAqIERldmljZSAvZGV2L2RyaS9jYXJkMCBzdWNjZXNz ZnVsbHkgb3BlbmVkCisgKiBEZXZpY2UgL2Rldi9kcmkvcmVuZGVyRDEyOCBzdWNjZXNzZnVsbHkg b3BlbmVkCisgKiBdfAorICoKKyAqIE5PVEU6IFdoZW4gdXNpbmcgZmlsdGVycyBvbmx5IHRoZSBm aXJzdCBtYXRjaGluZyBkZXZpY2UgaXMgcHJpbnRlZC4KKyAqCisgKiBBZGRpdGlvbmFsbHkgbHNn cHUgdHJpZXMgdG8gb3BlbiB0aGUgY2FyZCBhbmQgcmVuZGVyIG5vZGVzIHRvIHZlcmlmeQorICog cGVybWlzc2lvbnMuIEl0IGFsc28gdXNlcyBJR1QgdmFyaWFibGUgc2VhcmNoIG9yZGVyOgorICog LSB1c2UgLS1kZXZpY2UgZmlyc3QgKGl0IG92ZXJyaWRlcyBJR1RfREVWSUNFIGFuZCAuaWd0cmMg Q29tbW9uOjpEZXZpY2UKKyAqICAgc2V0dGluZ3MpCisgKiAtIHVzZSBJR1RfREVWSUNFIGVudmly b21lbnQgdmFyaWFibGUgaWYgbm8gLS1kZXZpY2UgYXJlIHBhc3NlZAorICogLSB1c2UgLmlndHJj IENvbW1vbjo6RGV2aWNlIGlmIG5vIC0tZGV2aWNlIG5vciBJR1RfREVWSUNFIGFyZSBwYXNzZWQK KyAqLworCitlbnVtIHsKKwlPUFRfUFJJTlRfREVUQUlMICAgPSAncCcsCisJT1BUX0xJU1RfVkVO RE9SUyAgID0gJ3YnLAorCU9QVF9MSVNUX0ZJTFRFUlMgICA9ICdsJywKKwlPUFRfREVWSUNFICAg ICAgICAgPSAnZCcsCisJT1BUX0hFTFAgICAgICAgICAgID0gJ2gnCit9OworCitzdGF0aWMgYm9v bCBnX3Nob3dfdmVuZG9yczsKK3N0YXRpYyBib29sIGdfbGlzdF9maWx0ZXJzOworc3RhdGljIGJv b2wgZ19oZWxwOworc3RhdGljIGNoYXIgKmlndF9kZXZpY2U7CisKK3N0YXRpYyBjb25zdCBjaGFy ICp1c2FnZV9zdHIgPQorCSJ1c2FnZTogbHNncHUgW29wdGlvbnNdXG5cbiIKKwkiT3B0aW9uczpc biIKKwkiICAtcCwgLS1wcmludC1kZXRhaWxzICAgICAgICAgUHJpbnQgZGV2aWNlcyB3aXRoIGRl dGFpbHNcbiIKKwkiICAtdiwgLS1saXN0LXZlbmRvcnMgICAgICAgICAgTGlzdCByZWNvZ25pemVk IHZlbmRvcnNcbiIKKwkiICAtbCwgLS1saXN0LWZpbHRlci10eXBlcyAgICAgTGlzdCByZWdpc3Rl cmVkIGRldmljZSBmaWx0ZXJzIHR5cGVzXG4iCisJIiAgLWQsIC0tZGV2aWNlIGZpbHRlciAgICAg ICAgIERldmljZSBmaWx0ZXIsIGNhbiBiZSBnaXZlbiBtdWx0aXBsZSB0aW1lc1xuIgorCSIgIC1o LCAtLWhlbHAgICAgICAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlIGFuZCBleGl0 XG4iOworCitzdGF0aWMgdm9pZCB0ZXN0X2RldmljZV9vcGVuKHN0cnVjdCBpZ3RfZGV2aWNlX2Nh cmQgKmNhcmQpCit7CisJaW50IGZkOworCisJaWYgKCFjYXJkKQorCQlyZXR1cm47CisKKwlmZCA9 IGlndF9vcGVuX2NhcmQoY2FyZCk7CisJaWYgKGZkID49IDApIHsKKwkJcHJpbnRmKCJEZXZpY2Ug JXMgc3VjY2Vzc2Z1bGx5IG9wZW5lZFxuIiwgY2FyZC0+Y2FyZCk7CisJCWNsb3NlKGZkKTsKKwl9 IGVsc2UgeworCQlpZiAoc3RybGVuKGNhcmQtPmNhcmQpKQorCQkJcHJpbnRmKCJDYW5ub3Qgb3Bl biBjYXJkICVzIGRldmljZVxuIiwgY2FyZC0+Y2FyZCk7CisJCWVsc2UKKwkJCXByaW50ZigiQ2Fu bm90IG9wZW4gY2FyZCBkZXZpY2UsIGVtcHR5IG5hbWVcbiIpOworCX0KKworCWZkID0gaWd0X29w ZW5fcmVuZGVyKGNhcmQpOworCWlmIChmZCA+PSAwKSB7CisJCXByaW50ZigiRGV2aWNlICVzIHN1 Y2Nlc3NmdWxseSBvcGVuZWRcbiIsIGNhcmQtPnJlbmRlcik7CisJCWNsb3NlKGZkKTsKKwl9IGVs c2UgeworCQlpZiAoc3RybGVuKGNhcmQtPnJlbmRlcikpCisJCQlwcmludGYoIkNhbm5vdCBvcGVu IHJlbmRlciAlcyBkZXZpY2VcbiIsIGNhcmQtPnJlbmRlcik7CisJCWVsc2UKKwkJCXByaW50Zigi Q2Fubm90IG9wZW4gcmVuZGVyIGRldmljZSwgZW1wdHkgbmFtZVxuIik7CisJfQorfQorCitzdGF0 aWMgdm9pZCBwcmludF9jYXJkKHN0cnVjdCBpZ3RfZGV2aWNlX2NhcmQgKmNhcmQpCit7CisJaWYg KCFjYXJkKQorCQlyZXR1cm47CisKKwlwcmludGYoInN1YnN5c3RlbSAgIDogJXNcbiIsIGNhcmQt PnN1YnN5c3RlbSk7CisJcHJpbnRmKCJkcm0gY2FyZCAgICA6ICVzXG4iLCBjYXJkLT5jYXJkKTsK KwlwcmludGYoImRybSByZW5kZXIgIDogJXNcbiIsIGNhcmQtPnJlbmRlcik7Cit9CisKK3N0YXRp YyBjaGFyICpnZXRfZGV2aWNlX2Zyb21fcmModm9pZCkKK3sKKwljaGFyICpyY19kZXZpY2UgPSBO VUxMOworCUdFcnJvciAqZXJyb3IgPSBOVUxMOworCUdLZXlGaWxlICprZXlfZmlsZSA9IGlndF9s b2FkX2lndHJjKCk7CisKKwlpZiAoa2V5X2ZpbGUgPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisK KwlyY19kZXZpY2UgPSBnX2tleV9maWxlX2dldF9zdHJpbmcoa2V5X2ZpbGUsICJDb21tb24iLAor CQkJCQkgICJEZXZpY2UiLCAmZXJyb3IpOworCisJZ19jbGVhcl9lcnJvcigmZXJyb3IpOworCisJ cmV0dXJuIHJjX2RldmljZTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK K3sKKwlzdGF0aWMgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKKwkJeyJwcmludC1k ZXRhaWwiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfUFJJTlRfREVUQUlMfSwK KwkJeyJsaXN0LXZlbmRvcnMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfTElT VF9WRU5ET1JTfSwKKwkJeyJsaXN0LWZpbHRlci10eXBlcyIsIG5vX2FyZ3VtZW50LCAgICAgICBO VUxMLCBPUFRfTElTVF9GSUxURVJTfSwKKwkJeyJkZXZpY2UiLCAgICAgICAgICAgIHJlcXVpcmVk X2FyZ3VtZW50LCBOVUxMLCBPUFRfREVWSUNFfSwKKwkJeyJoZWxwIiwgICAgICAgICAgICAgIG5v X2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfSEVMUH0sCisJCXswLCAwLCAwLCAwfQorCX07CisJ aW50IGMsIGluZGV4ID0gMDsKKwljaGFyICplbnZfZGV2aWNlID0gTlVMTCwgKm9wdF9kZXZpY2Ug PSBOVUxMLCAqcmNfZGV2aWNlID0gTlVMTDsKKwllbnVtIGlndF9kZXZpY2VzX3ByaW50X3R5cGUg cHJpbnR0eXBlID0gSUdUX1BSSU5UX1NJTVBMRTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25n KGFyZ2MsIGFyZ3YsICJwdmxkOmgiLAorCQkJCWxvbmdfb3B0aW9ucywgJmluZGV4KSkgIT0gLTEp IHsKKwkJc3dpdGNoKGMpIHsKKworCQljYXNlIE9QVF9QUklOVF9ERVRBSUw6CisJCQlwcmludHR5 cGUgPSBJR1RfUFJJTlRfREVUQUlMOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0xJU1RfVkVORE9S UzoKKwkJCWdfc2hvd192ZW5kb3JzID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9MSVNU X0ZJTFRFUlM6CisJCQlnX2xpc3RfZmlsdGVycyA9IHRydWU7CisJCQlicmVhazsKKwkJY2FzZSBP UFRfREVWSUNFOgorCQkJb3B0X2RldmljZSA9IHN0cmR1cChvcHRhcmcpOworCQkJYnJlYWs7CisJ CWNhc2UgT1BUX0hFTFA6CisJCQlnX2hlbHAgPSB0cnVlOworCQkJYnJlYWs7CisJCX0KKwl9CisK KwlpZiAoZ19oZWxwKSB7CisJCXByaW50ZigiJXNcbiIsIHVzYWdlX3N0cik7CisJCWV4aXQoMCk7 CisJfQorCisJaWYgKGdfc2hvd192ZW5kb3JzKSB7CisJCWlndF9kZXZpY2VzX3ByaW50X3ZlbmRv cnMoKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKGdfbGlzdF9maWx0ZXJzKSB7CisJCWlndF9k ZXZpY2VfcHJpbnRfZmlsdGVyX3R5cGVzKCk7CisJCXJldHVybiAwOworCX0KKworCWVudl9kZXZp Y2UgPSBnZXRlbnYoIklHVF9ERVZJQ0UiKTsKKwlyY19kZXZpY2UgPSBnZXRfZGV2aWNlX2Zyb21f cmMoKTsKKworCWlmIChvcHRfZGV2aWNlICE9IE5VTEwpIHsKKwkJaWd0X2RldmljZSA9IG9wdF9k ZXZpY2U7CisJCXByaW50ZigiTm90aWNlOiBVc2luZyBmaWx0ZXIgc3VwcGxpZWQgdmlhIC0tZGV2 aWNlXG4iKTsKKwl9CisJZWxzZSBpZiAoZW52X2RldmljZSAhPSBOVUxMKSB7CisJCWlndF9kZXZp Y2UgPSBlbnZfZGV2aWNlOworCQlwcmludGYoIk5vdGljZTogVXNpbmcgZmlsdGVyIGZyb20gSUdU X0RFVklDRSBlbnYgdmFyaWFibGVcbiIpOworCX0KKwllbHNlIGlmIChyY19kZXZpY2UgIT0gTlVM TCkgeworCQlpZ3RfZGV2aWNlID0gcmNfZGV2aWNlOworCQlwcmludGYoIk5vdGljZTogVXNpbmcg ZmlsdGVyIGZyb20gLmlndHJjXG4iKTsKKwl9CisKKwlpZ3RfZGV2aWNlc19zY2FuKGZhbHNlKTsK KworCWlmIChpZ3RfZGV2aWNlICE9IE5VTEwpIHsKKwkJc3RydWN0IGlndF9kZXZpY2VfY2FyZCBj YXJkOworCisJCXByaW50ZigiPT09IERldmljZSBmaWx0ZXIgPT09XG4iKTsKKwkJcHJpbnRmKCIl c1xuXG4iLCBpZ3RfZGV2aWNlKTsKKworCQlwcmludGYoIj09PSBUZXN0aW5nIGRldmljZSBvcGVu ID09PVxuIik7CisKKwkJaWYgKCFpZ3RfZGV2aWNlX2NhcmRfbWF0Y2goaWd0X2RldmljZSwgJmNh cmQpKSB7CisJCQlwcmludGYoIk5vIGRldmljZSBmb3VuZCBmb3IgdGhlIGZpbHRlclxuXG4iKTsK KwkJCXJldHVybiAtMTsKKwkJfQorCisJCXByaW50ZigiRGV2aWNlIGRldGFpbDpcbiIpOworCQlw cmludF9jYXJkKCZjYXJkKTsKKwkJdGVzdF9kZXZpY2Vfb3BlbigmY2FyZCk7CisJCWlmIChwcmlu dHR5cGUgPT0gSUdUX1BSSU5UX0RFVEFJTCkgeworCQkJcHJpbnRmKCJcbiIpOworCQkJaWd0X2Rl dmljZXNfcHJpbnQocHJpbnR0eXBlKTsKKwkJfQorCQlwcmludGYoIi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCisJfSBlbHNlIHsKKwkJaWd0X2Rldmlj ZXNfcHJpbnQocHJpbnR0eXBlKTsKKwl9CisKKwlmcmVlKHJjX2RldmljZSk7CisJZnJlZShvcHRf ZGV2aWNlKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdG9vbHMvbWVzb24uYnVpbGQg Yi90b29scy9tZXNvbi5idWlsZAppbmRleCBlZWNiMTIyYi4uNzQ4MjJhMzMgMTAwNjQ0Ci0tLSBh L3Rvb2xzL21lc29uLmJ1aWxkCisrKyBiL3Rvb2xzL21lc29uLmJ1aWxkCkBAIC0zNiw2ICszNiw3 IEBAIHRvb2xzX3Byb2dzID0gWwogCSdpbnRlbF9nZW1faW5mbycsCiAJJ2ludGVsX2d2dGdfdGVz dCcsCiAJJ2RwY2RfcmVnJywKKwknbHNncHUnLAogXQogdG9vbF9kZXBzID0gaWd0X2RlcHMKIAot LSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=