From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC i-g-t 1/2] igt/gem_engine_info: Test the new uAPI Date: Mon, 26 Jun 2017 16:49:41 +0100 Message-ID: <20170626154942.31428-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id CF5E989D4F for ; Mon, 26 Jun 2017 15:49:50 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id y5so965787wmh.3 for ; Mon, 26 Jun 2017 08:49:50 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRlc3QgdGhh dCB0aGUgZW5naW5lIGluZm8gaW9jdGwgd29ya3MuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIHRlc3RzL01ha2VmaWxlLnNvdXJj ZXMgIHwgICAxICsKIHRlc3RzL2dlbV9lbmdpbmVfaW5mby5jIHwgMzE3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzMTgg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2dlbV9lbmdpbmVfaW5mby5j CgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2VmaWxlLnNv dXJjZXMKaW5kZXggNWI5OGE1YTM3MWI4Li4wMTBkOWQ3OTY5NTQgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L01ha2VmaWxlLnNvdXJjZXMKKysrIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwpAQCAtNjEsNiAr NjEsNyBAQCBURVNUU19wcm9ncyA9IFwKIAlnZW1fY3R4X3RocmFzaCBcCiAJZ2VtX2RvdWJsZV9p cnFfbG9vcCBcCiAJZ2VtX2VpbyBcCisJZ2VtX2VuZ2luZV9pbmZvIFwKIAlnZW1fZXZpY3RfYWxp Z25tZW50IFwKIAlnZW1fZXZpY3RfZXZlcnl0aGluZyBcCiAJZ2VtX2V4ZWNfYWxpZ25tZW50IFwK ZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbV9lbmdpbmVfaW5mby5jIGIvdGVzdHMvZ2VtX2VuZ2luZV9p bmZvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jZDU3MGRlNjBl YmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9nZW1fZW5naW5lX2luZm8uYwpAQCAtMCwwICsx LDMxNyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgor ICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw ZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRl ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRo ZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0 aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwg ZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMg ZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoK KyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v dGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVk IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2Fy ZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8g RVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJM RSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICog RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVT RSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRl ICJpZ3QuaCIKKworSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRlc3RpbmcgdGhlIGVuZ2luZSBpbmZv IHVBUEkuIik7CisKKyNkZWZpbmUgTE9DQUxfRFJNX0k5MTVfR0VNX0VOR0lORV9JTkZPCTB4MzcK KworI2RlZmluZSBMT0NBTF9EUk1fSU9DVExfSTkxNV9HRU1fRU5HSU5FX0lORk8gXAorCURSTV9J T1dSKERSTV9DT01NQU5EX0JBU0UgKyBMT0NBTF9EUk1fSTkxNV9HRU1fRU5HSU5FX0lORk8sIFwK KwkJIHN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fZW5naW5lX2luZm8pCisKK2VudW0gbG9jYWxf ZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyB7CisJSTkxNV9FTkdJTkVfQ0xBU1NfT1RIRVIgPSAw LAorCUk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiA9IDEsCisJSTkxNV9FTkdJTkVfQ0xBU1NfQ09Q WSA9IDIsCisJSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8gPSAzLAorCUk5MTVfRU5HSU5FX0NMQVNT X1ZJREVPX0VOSEFOQ0UgPSA0LAorCUk5MTVfRU5HSU5FX0NMQVNTX01BWCAvKiBub24tQUJJICov Cit9OworCitzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZW5naW5lX2luZm8geworCS8qKiBFbmdpbmUg aW5zdGFuY2UgbnVtYmVyLiAqLworCV9fdTgJaW5zdGFuY2U7CisKKwkvKiogRW5naW5lIHNwZWNp ZmljIGluZm8uICovCisjZGVmaW5lIExPQ0FMX0k5MTVfVkNTX0hBU19IRVZDCUJJVCgwKQorCV9f dTgJaW5mbzsKKworCV9fdTgJcnN2ZFs2XTsKK307CisKK3N0cnVjdCBsb2NhbF9kcm1faTkxNV9n ZW1fZW5naW5lX2luZm8geworCS8qKiBpbi9vdXQ6IFByb3RvY29sIHZlcnNpb24gcmVxdWVzdGVk L3N1cHBvcnRlZC4gKi8KKwlfX3UzMiB2ZXJzaW9uOworCisJLyoqIGluOiBFbmdpbmUgY2xhc3Mg dG8gcHJvYmUgKGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcykuICovCisJX191MzIgZW5n aW5lX2NsYXNzOworCisJLyoqCisJICogaW4vb3V0OiBOdW1iZXIgb2Ygc3RydWN0IGRybV9pOTE1 X2VuZ2luZV9pbmZvIGVudHJpZXMgaW4gdGhlIHByb3ZpZGVkCisJICogQGluZm9fcHRyIGFycmF5 IGFuZCBhY3R1YWwgbnVtYmVyIG9mIHN1cHBvcnRlZCBoYXJkd2FyZSBlbmdpbmVzLgorCSAqLwor CV9fdTMyIG51bV9lbmdpbmVzOworCV9fdTMyIHJzdmQ7CisKKwkvKiogaW4vb3V0OiBQb2ludGVy IHRvIGFycmF5IG9mIHN0cnVjdCBpOTE1X2VuZ2luZV9pbmZvIGVsZW1lbnRzLiAqLworCV9fdTY0 IGluZm9fcHRyOworCit9OworCitzdGF0aWMgaW50CitfX2dldF9lbmdpbmVfaW5mbyhpbnQgZmQs IHN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fZW5naW5lX2luZm8gKmluZm8pCit7CisJaW50IHJl dDsKKworCXJldCA9IGRybUlvY3RsKGZkLCBMT0NBTF9EUk1fSU9DVExfSTkxNV9HRU1fRU5HSU5F X0lORk8sIGluZm8pOworCWlmIChyZXQpCisJCXJldCA9IC1lcnJubzsKKworCXJldHVybiByZXQ7 Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RfdmVyc2lvbihpbnQgZmQpCit7CisJc3RydWN0IGxvY2Fs X2RybV9pOTE1X2dlbV9lbmdpbmVfaW5mbyBpbmZvID0ge307CisJaW50IHJldDsKKworCWluZm8u dmVyc2lvbiA9IDA7CisJcmV0ID0gX19nZXRfZW5naW5lX2luZm8oZmQsICZpbmZvKTsKKwlpZ3Rf YXNzZXJ0X2VxKHJldCwgMCk7CisJaWd0X2Fzc2VydF9lcShpbmZvLnZlcnNpb24sIDEpOworfQor CitzdGF0aWMgdm9pZCB0ZXN0X2dhcmJhZ2UoaW50IGZkKQoreworCXN0cnVjdCBsb2NhbF9kcm1f aTkxNV9nZW1fZW5naW5lX2luZm8gaW5mbyA9IHt9OworCWludCByZXQ7CisKKwlpbmZvLnZlcnNp b24gPSAxOworCWluZm8ucnN2ZCA9IDE7CisKKwlyZXQgPSBfX2dldF9lbmdpbmVfaW5mbyhmZCwg JmluZm8pOworCWlndF9hc3NlcnRfZXEocmV0LCAtRUlOVkFMKTsKK30KKworc3RhdGljIHZvaWQg dGVzdF9lbnVtX2NsYXNzZXMoaW50IGZkKQoreworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1f ZW5naW5lX2luZm8gaW5mbzsKKwllbnVtIGxvY2FsX2RybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3Mg Y2xhc3M7CisJaW50IHJldDsKKworCWZvciAoY2xhc3MgPSAwOyBjbGFzcyA8IDEwMCAvKiBhIGxh cmdlIG51bWJlciAqLzsgY2xhc3MrKykgeworCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZv KSk7CisJCWluZm8udmVyc2lvbiA9IDE7CisJCWluZm8uZW5naW5lX2NsYXNzID0gY2xhc3M7CisJ CXJldCA9IF9fZ2V0X2VuZ2luZV9pbmZvKGZkLCAmaW5mbyk7CisJCWlmIChjbGFzcyA8IEk5MTVf RU5HSU5FX0NMQVNTX01BWCkgeworCQkJaWd0X2Fzc2VydF9lcShyZXQsIDApOworCQl9IGVsc2Ug eworCQkJaWd0X2Fzc2VydF9lcShyZXQsIC1FSU5WQUwpOworCQkJYnJlYWs7CisJCX0KKwl9Cit9 CisKK3N0YXRpYyB2b2lkIHRlc3RfZW51bV9vdGhlcl9jbGFzcyhpbnQgZmQpCit7CisJc3RydWN0 IGxvY2FsX2RybV9pOTE1X2dlbV9lbmdpbmVfaW5mbyBpbmZvID0ge307CisJaW50IHJldDsKKwor CWluZm8udmVyc2lvbiA9IDE7CisJaW5mby5lbmdpbmVfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFT U19PVEhFUjsKKworCXJldCA9IF9fZ2V0X2VuZ2luZV9pbmZvKGZkLCAmaW5mbyk7CisJaWd0X2Fz c2VydF9lcShyZXQsIDApOworCWlndF9hc3NlcnRfZXEoaW5mby5udW1fZW5naW5lcywgMCk7Cit9 CisKK3N0YXRpYyB2b2lkIHRlc3RfZW51bV92Y3NfY2xhc3MoaW50IGZkKQoreworCXN0cnVjdCBs b2NhbF9kcm1faTkxNV9nZW1fZW5naW5lX2luZm8gaW5mbyA9IHt9OworCXVuc2lnbmVkIGludCBu dW1fdmNzOworCWludCByZXQ7CisKKwludW1fdmNzID0gZ2VtX2hhc19ic2QoZmQpOworCW51bV92 Y3MgKz0gZ2VtX2hhc19ic2QyKGZkKTsKKworCWluZm8udmVyc2lvbiA9IDE7CisJaW5mby5lbmdp bmVfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFTU19WSURFTzsKKworCXJldCA9IF9fZ2V0X2VuZ2lu ZV9pbmZvKGZkLCAmaW5mbyk7CisJaWd0X2Fzc2VydF9lcShyZXQsIDApOworCWlndF9hc3NlcnQo aW5mby5udW1fZW5naW5lcyA+PSBudW1fdmNzKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9lbnVt X290aGVyX2NsYXNzZXMoaW50IGZkKQoreworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fZW5n aW5lX2luZm8gaW5mbzsKKwllbnVtIGxvY2FsX2RybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3MgY2xh c3M7CisJaW50IHJldDsKKworCWZvciAoY2xhc3MgPSAwOyBjbGFzcyA8IEk5MTVfRU5HSU5FX0NM QVNTX01BWDsgY2xhc3MrKykgeworCQlpZiAoY2xhc3MgPT0gSTkxNV9FTkdJTkVfQ0xBU1NfVklE RU8gfHwKKwkJICAgIGNsYXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX09USEVSKQorCQkJY29udGlu dWU7CisKKwkJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2YoaW5mbykpOworCQlpbmZvLnZlcnNpb24g PSAxOworCQlpbmZvLmVuZ2luZV9jbGFzcyA9IGNsYXNzOworCQlyZXQgPSBfX2dldF9lbmdpbmVf aW5mbyhmZCwgJmluZm8pOworCQlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7CisJCWlndF9hc3NlcnRf ZXEoaW5mby5udW1fZW5naW5lcywgMSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB0ZXN0X251bGxf YXJyYXkoaW50IGZkKQoreworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fZW5naW5lX2luZm8g aW5mbyA9IHt9OworCWludCByZXQ7CisKKwlpbmZvLnZlcnNpb24gPSAxOworCWluZm8uZW5naW5l X2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSOworCWluZm8ubnVtX2VuZ2luZXMgPSAx OworCWluZm8uaW5mb19wdHIgPSAwOworCisJcmV0ID0gX19nZXRfZW5naW5lX2luZm8oZmQsICZp bmZvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgLUVGQVVMVCk7Cit9CisKK3N0YXRpYyB2b2lkIHRl c3Rfc2hvcnRfYXJyYXkoaW50IGZkKQoreworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1fZW5n aW5lX2luZm8gaW5mbyA9IHt9OworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9lbmdpbmVfaW5mbyBl bmdpbmVzWzJdOworCXVuc2lnbmVkIGludCBudW1fdmNzOworCWludCByZXQ7CisKKwlpZ3RfcmVx dWlyZShnZW1faGFzX2JzZDIoZmQpKTsKKworCW51bV92Y3MgPSBnZW1faGFzX2JzZChmZCk7CisJ bnVtX3ZjcyArPSBnZW1faGFzX2JzZDIoZmQpOworCisJaW5mby52ZXJzaW9uID0gMTsKKwlpbmZv LmVuZ2luZV9jbGFzcyA9IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPOworCWluZm8ubnVtX2VuZ2lu ZXMgPSAxOworCWluZm8uaW5mb19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmVuZ2luZXNbMF0pOwor CW1lbXNldChlbmdpbmVzLCAwLCBzaXplb2YoZW5naW5lcykpOworCisJcmV0ID0gX19nZXRfZW5n aW5lX2luZm8oZmQsICZpbmZvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7CisKKwlpZ3RfYXNz ZXJ0X2VxKGluZm8ubnVtX2VuZ2luZXMsIG51bV92Y3MpOworCWlndF9hc3NlcnRfZXEoZW5naW5l c1sxXS5pbnN0YW5jZSwgMCk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbGVnYWN5X2NvdW50 X2VuZ2luZXMoaW50IGZkKQoreworCXVuc2lnbmVkIGludCB0b3RhbCA9IDA7CisJY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmU7CisKKwlmb3IgKGUgPSBpbnRlbF9leGVjdXRp b25fZW5naW5lczsgZS0+bmFtZTsgZSsrKSB7CisJCWlmIChlLT5leGVjX2lkID09IDApCisJCQlj b250aW51ZTsKKworCQlpZiAoIWdlbV9oYXNfcmluZyhmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdz KSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChlLT5leGVjX2lkID09IEk5MTVfRVhFQ19CU0QpIHsK KwkJCWludCBpc19ic2QyID0gZS0+ZmxhZ3MgIT0gMDsKKwkJCWlmIChnZW1faGFzX2JzZDIoZmQp ICE9IGlzX2JzZDIpCisJCQkJY29udGludWU7CisJCX0KKworCQl0b3RhbCsrOworCX0KKworCXJl dHVybiB0b3RhbDsKK30KKworc3RhdGljIHZvaWQgdGVzdF9xdWVyeV9jbGFzc2VzKGludCBmZCkK K3sKKwl1bnNpZ25lZCBpbnQgbGVnYWN5X251bV9lbmdpbmVzID0gbGVnYWN5X2NvdW50X2VuZ2lu ZXMoZmQpOworCXVuc2lnbmVkIGludCBudW1fZW5naW5lcyA9IDA7CisJZW51bSBsb2NhbF9kcm1f aTkxNV9nZW1fZW5naW5lX2NsYXNzIGNsYXNzOworCXN0cnVjdCBsb2NhbF9kcm1faTkxNV9nZW1f ZW5naW5lX2luZm8gaW5mbzsKKwlzdHJ1Y3QgbG9jYWxfZHJtX2k5MTVfZW5naW5lX2luZm8gZW5n aW5lc1sxNl07IC8qIGEgbGFyZ2UgbnVtYmVyICovCisJdW5zaWduZWQgaW50IGksIGo7CisJaW50 IHJldDsKKworCWZvciAoY2xhc3MgPSAwOyBjbGFzcyA8IEk5MTVfRU5HSU5FX0NMQVNTX01BWDsg Y2xhc3MrKykgeworCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZvKSk7CisJCWluZm8udmVy c2lvbiA9IDE7CisJCWluZm8uZW5naW5lX2NsYXNzID0gY2xhc3M7CisJCWluZm8ubnVtX2VuZ2lu ZXMgPSBBUlJBWV9TSVpFKGVuZ2luZXMpOworCQlpbmZvLmluZm9fcHRyID0gdG9fdXNlcl9wb2lu dGVyKCZlbmdpbmVzWzBdKTsKKwkJcmV0ID0gX19nZXRfZW5naW5lX2luZm8oZmQsICZpbmZvKTsK KwkJaWd0X2Fzc2VydF9lcShyZXQsIDApOworCQludW1fZW5naW5lcyArPSBpbmZvLm51bV9lbmdp bmVzOworCQlmb3IgKGkgPSAwOyBpIDwgaW5mby5udW1fZW5naW5lczsgaSsrKSB7CisJCQlmb3Ig KGogPSAwOyBqIDwgQVJSQVlfU0laRShlbmdpbmVzWzBdLnJzdmQpOyBqKyspCisJCQkJaWd0X2Fz c2VydF9lcShlbmdpbmVzW2ldLnJzdmRbal0sIDApOworCQl9CisJfQorCisJaWd0X2RlYnVnKCJu dW1fZW5naW5lcz0ldS8ldVxuIiwgbnVtX2VuZ2luZXMsIGxlZ2FjeV9udW1fZW5naW5lcyk7CisK KwlpZ3RfYXNzZXJ0X2VxKG51bV9lbmdpbmVzLCBsZWdhY3lfbnVtX2VuZ2luZXMpOworfQorCitp Z3RfbWFpbgoreworCWludCBmZCA9IC0xOworCisJaWd0X2ZpeHR1cmUgeworCQlzdHJ1Y3QgbG9j YWxfZHJtX2k5MTVfZ2VtX2VuZ2luZV9pbmZvIGluZm8gPSB7fTsKKwkJaW50IHJldDsKKworCQlm ZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOworCisJCWluZm8udmVyc2lvbiA9IDE7 CisJCXJldCA9IF9fZ2V0X2VuZ2luZV9pbmZvKGZkLCAmaW5mbyk7CisJCWlndF9yZXF1aXJlKHJl dCA9PSAwKTsKKwkJaWd0X3JlcXVpcmUoaW5mby52ZXJzaW9uID09IDEpOworCX0KKworCWlndF9z dWJ0ZXN0KCJiYXNpYy12ZXJzaW9uIikKKwkJdGVzdF92ZXJzaW9uKGZkKTsKKworCWlndF9zdWJ0 ZXN0KCJiYXNpYy1nYXJiYWdlIikKKwkJdGVzdF9nYXJiYWdlKGZkKTsKKworCWlndF9zdWJ0ZXN0 KCJiYXNpYy1lbnVtLWNsYXNzZXMiKQorCQl0ZXN0X2VudW1fY2xhc3NlcyhmZCk7CisKKwlpZ3Rf c3VidGVzdCgiYmFzaWMtZW51bS1vdGhlci1jbGFzcyIpCisJCXRlc3RfZW51bV9vdGhlcl9jbGFz cyhmZCk7CisKKwlpZ3Rfc3VidGVzdCgiYmFzaWMtZW51bS12Y3MtY2xhc3MiKQorCQl0ZXN0X2Vu dW1fdmNzX2NsYXNzKGZkKTsKKworCWlndF9zdWJ0ZXN0KCJiYXNpYy1lbnVtLW90aGVyLWNsYXNz ZXMiKQorCQl0ZXN0X2VudW1fb3RoZXJfY2xhc3NlcyhmZCk7CisKKwlpZ3Rfc3VidGVzdCgiYmFz aWMtbnVsbC1hcnJheSIpCisJCXRlc3RfbnVsbF9hcnJheShmZCk7CisKKwlpZ3Rfc3VidGVzdCgi YmFzaWMtc2hvcnQtYXJyYXkiKQorCQl0ZXN0X3Nob3J0X2FycmF5KGZkKTsKKworCWlndF9zdWJ0 ZXN0KCJiYXNpYy1xdWVyeS1jbGFzc2VzIikKKwkJdGVzdF9xdWVyeV9jbGFzc2VzKGZkKTsKKwor CWlndF9maXh0dXJlIHsKKwkJY2xvc2UoZmQpOworCX0KK30KLS0gCjIuOS40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK