From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch Date: Fri, 7 Sep 2018 10:30:08 +0100 Message-ID: <20180907093008.12414-2-tvrtko.ursulin@linux.intel.com> References: <20180907093008.12414-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0726D6E89B for ; Fri, 7 Sep 2018 09:30:16 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id s12-v6so14085375wmc.0 for ; Fri, 07 Sep 2018 02:30:16 -0700 (PDT) In-Reply-To: <20180907093008.12414-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk5ldyBob21l IGlzIG1vcmUgYXBwcm9wcmlhdGUgZm9yIHRoaXMgdGVzdC4KCkF0IHRoZSBzYW1lIHRpbWUgdGlk eSBjb2RlIGEgdGlueSBiaXQuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9jdHhfZXhlYy5jICAgfCA3NSArKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRlc3RzL2dlbV9jdHhfc3dp dGNoLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1 OCBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9nZW1f Y3R4X2V4ZWMuYyBiL3Rlc3RzL2dlbV9jdHhfZXhlYy5jCmluZGV4IGIzNWVjOWY2NDc3NS4uYjkx NzNlOWUyYjE3IDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fY3R4X2V4ZWMuYworKysgYi90ZXN0cy9n ZW1fY3R4X2V4ZWMuYwpAQCAtMjUsMTAgKzI1LDYgQEAKICAqCiAgKi8KIAotLyoKLSAqIFRoaXMg dGVzdCBjb3ZlcnMgYmFzaWMgY29udGV4dCBzd2l0Y2ggZnVuY3Rpb25hbGl0eQotICovCi0KICNp bmNsdWRlICJpZ3QuaCIKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K QEAgLTQ1LDM0ICs0MSwxOCBAQAogI2luY2x1ZGUgPGRybS5oPgogCiAKLUlHVF9URVNUX0RFU0NS SVBUSU9OKCJUZXN0IGJhc2ljIGNvbnRleHQgc3dpdGNoIGZ1bmN0aW9uYWxpdHkuIik7CitJR1Rf VEVTVF9ERVNDUklQVElPTigiVGVzdCBjb250ZXh0IGJhdGNoIGV4ZWN1dGlvbi4iKTsKIAotLyog Q29waWVkIGZyb20gZ2VtX2V4ZWNfbm9wLmMgKi8KIHN0YXRpYyBpbnQgZXhlYyhpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSwgaW50IHJpbmcsIGludCBjdHhfaWQpCiB7Ci0Jc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIGdlbV9leGVjOwotCi0JZ2VtX2V4ZWMuaGFuZGxlID0gaGFuZGxlOwotCWdlbV9leGVjLnJl bG9jYXRpb25fY291bnQgPSAwOwotCWdlbV9leGVjLnJlbG9jc19wdHIgPSAwOwotCWdlbV9leGVj LmFsaWdubWVudCA9IDA7Ci0JZ2VtX2V4ZWMub2Zmc2V0ID0gMDsKLQlnZW1fZXhlYy5mbGFncyA9 IDA7Ci0JZ2VtX2V4ZWMucnN2ZDEgPSAwOwotCWdlbV9leGVjLnJzdmQyID0gMDsKLQotCWV4ZWNi dWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmdlbV9leGVjKTsKLQlleGVjYnVmLmJ1 ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1Zi5iYXRjaF9zdGFydF9vZmZzZXQgPSAwOwotCWV4ZWNi dWYuYmF0Y2hfbGVuID0gODsKLQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSAwOwotCWV4ZWNidWYu bnVtX2NsaXByZWN0cyA9IDA7Ci0JZXhlY2J1Zi5EUjEgPSAwOwotCWV4ZWNidWYuRFI0ID0gMDsK LQlleGVjYnVmLmZsYWdzID0gcmluZzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0 MiBvYmogPSB7IC5oYW5kbGUgPSBoYW5kbGUgfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyIGV4ZWNidWYgPSB7CisJCS5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2Jq KSwKKwkJLmJ1ZmZlcl9jb3VudCA9IDEsCisJCS5mbGFncyA9IHJpbmcsCisJfTsKKwogCWk5MTVf ZXhlY2J1ZmZlcjJfc2V0X2NvbnRleHRfaWQoZXhlY2J1ZiwgY3R4X2lkKTsKLQlleGVjYnVmLnJz dmQyID0gMDsKIAogCXJldHVybiBfX2dlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CiB9CkBAIC05 MiwxMyArNzIsMTEgQEAgc3RhdGljIHZvaWQgYmlnX2V4ZWMoaW50IGZkLCB1aW50MzJfdCBoYW5k bGUsIGludCByaW5nKQogCWlndF9hc3NlcnQoZ2VtX2V4ZWMpOwogCW1lbXNldChnZW1fZXhlYywg MCwgKG51bV9idWZmZXJzICsgMSkgKiBzaXplb2YoKmdlbV9leGVjKSk7CiAKLQogCWN0eF9pZDEg PSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOwogCWN0eF9pZDIgPSBnZW1fY29udGV4dF9jcmVhdGUo ZmQpOwogCiAJZ2VtX2V4ZWNbMF0uaGFuZGxlID0gaGFuZGxlOwogCi0KIAlleGVjYnVmLmJ1ZmZl cnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKGdlbV9leGVjKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3Vu dCA9IG51bV9idWZmZXJzICsgMTsKIAlleGVjYnVmLmJhdGNoX3N0YXJ0X29mZnNldCA9IDA7CkBA IC0xNTUsMTQgKzEzMywxMyBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkX2NvbnRleHQoaW50IGZkLCB1 bnNpZ25lZCByaW5nKQogCWlndF9hc3NlcnRfZXEoX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYp LCAtRU5PRU5UKTsKIH0KIAotdWludDMyX3QgaGFuZGxlOwotdWludDMyX3QgYmF0Y2hbMl0gPSB7 MCwgTUlfQkFUQ0hfQlVGRkVSX0VORH07Ci11aW50MzJfdCBjdHhfaWQsIGN0eF9pZDI7Ci1pbnQg ZmQ7Ci0KIGlndF9tYWluCiB7CisJY29uc3QgdWludDMyX3QgYmF0Y2hbMl0gPSB7IDAsIE1JX0JB VENIX0JVRkZFUl9FTkQgfTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAq ZTsKKwl1aW50MzJfdCBoYW5kbGU7CisJdWludDMyX3QgY3R4X2lkOworCWludCBmZDsKIAogCWln dF9maXh0dXJlIHsKIAkJZmQgPSBkcm1fb3Blbl9kcml2ZXJfcmVuZGVyKERSSVZFUl9JTlRFTCk7 CkBAIC0yMjUsMzIgKzIwMiw0IEBAIGlndF9tYWluCiAKIAkJZ2VtX2NvbnRleHRfZGVzdHJveShm ZCwgY3R4X2lkKTsKIAl9Ci0KLQlpZ3Rfc3VidGVzdCgibHJjLWxpdGUtcmVzdG9yZSIpIHsKLQkJ aW50IGksIGo7Ci0KLQkJLyoKLQkJICogTmVlZCAyIGNvbnRleHRzIHRvIGJlIGFibGUgdG8gcmVw bGljYXRlIGEgbGl0ZSByZXN0b3JlLAotCQkgKiBpLmUuIGEgcnVubmluZyBjb250ZXh0IGlzIHJl c3VibWl0dGVkLgotCQkgKi8KLQkJY3R4X2lkID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKLQkJ Y3R4X2lkMiA9IGdlbV9jb250ZXh0X2NyZWF0ZShmZCk7Ci0KLQkJLyoKLQkJICogUXVldWUgc2V2 ZXJhbCBzbWFsbCBiYXRjaGJ1ZmZlcnMgdG8gYmUgc3VyZSB3ZSdsbCBzZW5kIGV4ZWNsaXN0cwot CQkgKiB3aXRoIDIgdmFsaWQgY29udGV4dCwgYW5kIGxpa2VseSBjYXVzZSBhIGxpdGUgcmVzdG9y ZSB3aGVuIGN0eEIKLQkJICogaXMgcmVzdWJtaXR0ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbmV3IGV4 ZWNsaXN0LgotCQkgKi8KLQkJZm9yIChpID0gMDsgaSA8IDIwOyBpKyspIHsKLQkJCWZvciAoaiA9 IDA7IGogPCAyMDA7IGorKykgewotCQkJCWlndF9hc3NlcnQoZXhlYyhmZCwgaGFuZGxlLCBJOTE1 X0VYRUNfUkVOREVSLCBjdHhfaWQpID09IDApOwotCQkJCWlndF9hc3NlcnQoZXhlYyhmZCwgaGFu ZGxlLCBJOTE1X0VYRUNfUkVOREVSLCBjdHhfaWQyKSA9PSAwKTsKLQkJCX0KLQotCQkJZ2VtX3N5 bmMoZmQsIGhhbmRsZSk7Ci0JCX0KLQotCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhfaWQp OwotCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhfaWQyKTsKLQl9CiB9CmRpZmYgLS1naXQg YS90ZXN0cy9nZW1fY3R4X3N3aXRjaC5jIGIvdGVzdHMvZ2VtX2N0eF9zd2l0Y2guYwppbmRleCAx MjA4Y2I4ZDdmZTIuLjdhZDdiMzFlYTE4MyAxMDA2NDQKLS0tIGEvdGVzdHMvZ2VtX2N0eF9zd2l0 Y2guYworKysgYi90ZXN0cy9nZW1fY3R4X3N3aXRjaC5jCkBAIC04Myw2ICs4MywyMCBAQCBzdGF0 aWMgaW50IG1lYXN1cmVfcWxlbihpbnQgZmQsCiAJcmV0dXJuIHFsZW47CiB9CiAKK3N0YXRpYyBp bnQgZXhlYyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHJpbmcsIGludCBjdHhfaWQpCit7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqID0geyAuaGFuZGxlID0gaGFu ZGxlIH07CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmID0geworCQku YnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJm9iaiksCisJCS5idWZmZXJfY291bnQgPSAx LAorCQkuZmxhZ3MgPSByaW5nLAorCX07CisKKwlpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0 X2lkKGV4ZWNidWYsIGN0eF9pZCk7CisKKwlyZXR1cm4gX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNi dWYpOworfQorCiBzdGF0aWMgdm9pZCBzaW5nbGUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJ CSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplLAogCQkgICB1bnNpZ25l ZCBmbGFncywKQEAgLTMxOCw2ICszMzIsMzggQEAgaWd0X21haW4KIAlpZ3Rfc3VidGVzdCgiYmFz aWMtYWxsLWhlYXZ5IikKIAkJYWxsKGZkLCBoZWF2eSwgMCwgNSk7CiAKKwlpZ3Rfc3VidGVzdCgi bHJjLWxpdGUtcmVzdG9yZSIpIHsKKwkJdWludDMyX3QgY3R4WzJdOworCQlpbnQgaSwgajsKKwor CQkvKgorCQkgKiBOZWVkIDIgY29udGV4dHMgdG8gYmUgYWJsZSB0byByZXBsaWNhdGUgYSBsaXRl IHJlc3RvcmUsCisJCSAqIGkuZS4gYSBydW5uaW5nIGNvbnRleHQgaXMgcmVzdWJtaXR0ZWQuCisJ CSAqLworCQljdHhbMF0gPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOworCQljdHhbMV0gPSBnZW1f Y29udGV4dF9jcmVhdGUoZmQpOworCisJCS8qCisJCSAqIFF1ZXVlIHNldmVyYWwgc21hbGwgYmF0 Y2hidWZmZXJzIHRvIGJlIHN1cmUgd2UnbGwgc2VuZAorCQkgKiBleGVjbGlzdHMgd2l0aCAyIHZh bGlkIGNvbnRleHQsIGFuZCBsaWtlbHkgY2F1c2UgYSBsaXRlCisJCSAqIHJlc3RvcmUgd2hlbiBj dHhCIGlzIHJlc3VibWl0dGVkIGF0IHRoZSB0b3Agb2YgdGhlIG5ldworCQkgKiBleGVjbGlzdC4K KwkJICovCisJCWZvciAoaSA9IDA7IGkgPCAyMDsgaSsrKSB7CisJCQlmb3IgKGogPSAwOyBqIDwg MjAwOyBqKyspIHsKKwkJCQlpZ3RfYXNzZXJ0X2VxKGV4ZWMoZmQsIGxpZ2h0LCBJOTE1X0VYRUNf UkVOREVSLAorCQkJCQkJICAgY3R4WzBdKSwgMCk7CisJCQkJaWd0X2Fzc2VydF9lcShleGVjKGZk LCBsaWdodCwgSTkxNV9FWEVDX1JFTkRFUiwKKwkJCQkJCSAgIGN0eFsxXSksIDApOworCQkJfQor CisJCQlnZW1fc3luYyhmZCwgbGlnaHQpOworCQl9CisKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShm ZCwgY3R4WzBdKTsKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgY3R4WzFdKTsKKwl9CisKIAlp Z3RfZml4dHVyZSB7CiAJCWlndF9zdG9wX2hhbmdfZGV0ZWN0b3IoKTsKIAkJZ2VtX2Nsb3NlKGZk LCBoZWF2eSk7Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 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 22E8F6E8A1 for ; Fri, 7 Sep 2018 09:30:17 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id y2-v6so14055865wma.1 for ; Fri, 07 Sep 2018 02:30:17 -0700 (PDT) From: Tvrtko Ursulin Date: Fri, 7 Sep 2018 10:30:08 +0100 Message-Id: <20180907093008.12414-2-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180907093008.12414-1-tvrtko.ursulin@linux.intel.com> References: <20180907093008.12414-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATH i-g-t 2/2] tests/gem_ctx_exec: Move lrc-lite-restore to gem_ctx_switch List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk5ldyBob21l IGlzIG1vcmUgYXBwcm9wcmlhdGUgZm9yIHRoaXMgdGVzdC4KCkF0IHRoZSBzYW1lIHRpbWUgdGlk eSBjb2RlIGEgdGlueSBiaXQuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9jdHhfZXhlYy5jICAgfCA3NSArKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHRlc3RzL2dlbV9jdHhfc3dp dGNoLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1 OCBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9nZW1f Y3R4X2V4ZWMuYyBiL3Rlc3RzL2dlbV9jdHhfZXhlYy5jCmluZGV4IGIzNWVjOWY2NDc3NS4uYjkx NzNlOWUyYjE3IDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fY3R4X2V4ZWMuYworKysgYi90ZXN0cy9n ZW1fY3R4X2V4ZWMuYwpAQCAtMjUsMTAgKzI1LDYgQEAKICAqCiAgKi8KIAotLyoKLSAqIFRoaXMg dGVzdCBjb3ZlcnMgYmFzaWMgY29udGV4dCBzd2l0Y2ggZnVuY3Rpb25hbGl0eQotICovCi0KICNp bmNsdWRlICJpZ3QuaCIKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K QEAgLTQ1LDM0ICs0MSwxOCBAQAogI2luY2x1ZGUgPGRybS5oPgogCiAKLUlHVF9URVNUX0RFU0NS SVBUSU9OKCJUZXN0IGJhc2ljIGNvbnRleHQgc3dpdGNoIGZ1bmN0aW9uYWxpdHkuIik7CitJR1Rf VEVTVF9ERVNDUklQVElPTigiVGVzdCBjb250ZXh0IGJhdGNoIGV4ZWN1dGlvbi4iKTsKIAotLyog Q29waWVkIGZyb20gZ2VtX2V4ZWNfbm9wLmMgKi8KIHN0YXRpYyBpbnQgZXhlYyhpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSwgaW50IHJpbmcsIGludCBjdHhfaWQpCiB7Ci0Jc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIGdlbV9leGVjOwotCi0JZ2VtX2V4ZWMuaGFuZGxlID0gaGFuZGxlOwotCWdlbV9leGVjLnJl bG9jYXRpb25fY291bnQgPSAwOwotCWdlbV9leGVjLnJlbG9jc19wdHIgPSAwOwotCWdlbV9leGVj LmFsaWdubWVudCA9IDA7Ci0JZ2VtX2V4ZWMub2Zmc2V0ID0gMDsKLQlnZW1fZXhlYy5mbGFncyA9 IDA7Ci0JZ2VtX2V4ZWMucnN2ZDEgPSAwOwotCWdlbV9leGVjLnJzdmQyID0gMDsKLQotCWV4ZWNi dWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmdlbV9leGVjKTsKLQlleGVjYnVmLmJ1 ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1Zi5iYXRjaF9zdGFydF9vZmZzZXQgPSAwOwotCWV4ZWNi dWYuYmF0Y2hfbGVuID0gODsKLQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSAwOwotCWV4ZWNidWYu bnVtX2NsaXByZWN0cyA9IDA7Ci0JZXhlY2J1Zi5EUjEgPSAwOwotCWV4ZWNidWYuRFI0ID0gMDsK LQlleGVjYnVmLmZsYWdzID0gcmluZzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0 MiBvYmogPSB7IC5oYW5kbGUgPSBoYW5kbGUgfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyIGV4ZWNidWYgPSB7CisJCS5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2Jq KSwKKwkJLmJ1ZmZlcl9jb3VudCA9IDEsCisJCS5mbGFncyA9IHJpbmcsCisJfTsKKwogCWk5MTVf ZXhlY2J1ZmZlcjJfc2V0X2NvbnRleHRfaWQoZXhlY2J1ZiwgY3R4X2lkKTsKLQlleGVjYnVmLnJz dmQyID0gMDsKIAogCXJldHVybiBfX2dlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CiB9CkBAIC05 MiwxMyArNzIsMTEgQEAgc3RhdGljIHZvaWQgYmlnX2V4ZWMoaW50IGZkLCB1aW50MzJfdCBoYW5k bGUsIGludCByaW5nKQogCWlndF9hc3NlcnQoZ2VtX2V4ZWMpOwogCW1lbXNldChnZW1fZXhlYywg MCwgKG51bV9idWZmZXJzICsgMSkgKiBzaXplb2YoKmdlbV9leGVjKSk7CiAKLQogCWN0eF9pZDEg PSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOwogCWN0eF9pZDIgPSBnZW1fY29udGV4dF9jcmVhdGUo ZmQpOwogCiAJZ2VtX2V4ZWNbMF0uaGFuZGxlID0gaGFuZGxlOwogCi0KIAlleGVjYnVmLmJ1ZmZl cnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKGdlbV9leGVjKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3Vu dCA9IG51bV9idWZmZXJzICsgMTsKIAlleGVjYnVmLmJhdGNoX3N0YXJ0X29mZnNldCA9IDA7CkBA IC0xNTUsMTQgKzEzMywxMyBAQCBzdGF0aWMgdm9pZCBpbnZhbGlkX2NvbnRleHQoaW50IGZkLCB1 bnNpZ25lZCByaW5nKQogCWlndF9hc3NlcnRfZXEoX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYp LCAtRU5PRU5UKTsKIH0KIAotdWludDMyX3QgaGFuZGxlOwotdWludDMyX3QgYmF0Y2hbMl0gPSB7 MCwgTUlfQkFUQ0hfQlVGRkVSX0VORH07Ci11aW50MzJfdCBjdHhfaWQsIGN0eF9pZDI7Ci1pbnQg ZmQ7Ci0KIGlndF9tYWluCiB7CisJY29uc3QgdWludDMyX3QgYmF0Y2hbMl0gPSB7IDAsIE1JX0JB VENIX0JVRkZFUl9FTkQgfTsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAq ZTsKKwl1aW50MzJfdCBoYW5kbGU7CisJdWludDMyX3QgY3R4X2lkOworCWludCBmZDsKIAogCWln dF9maXh0dXJlIHsKIAkJZmQgPSBkcm1fb3Blbl9kcml2ZXJfcmVuZGVyKERSSVZFUl9JTlRFTCk7 CkBAIC0yMjUsMzIgKzIwMiw0IEBAIGlndF9tYWluCiAKIAkJZ2VtX2NvbnRleHRfZGVzdHJveShm ZCwgY3R4X2lkKTsKIAl9Ci0KLQlpZ3Rfc3VidGVzdCgibHJjLWxpdGUtcmVzdG9yZSIpIHsKLQkJ aW50IGksIGo7Ci0KLQkJLyoKLQkJICogTmVlZCAyIGNvbnRleHRzIHRvIGJlIGFibGUgdG8gcmVw bGljYXRlIGEgbGl0ZSByZXN0b3JlLAotCQkgKiBpLmUuIGEgcnVubmluZyBjb250ZXh0IGlzIHJl c3VibWl0dGVkLgotCQkgKi8KLQkJY3R4X2lkID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKLQkJ Y3R4X2lkMiA9IGdlbV9jb250ZXh0X2NyZWF0ZShmZCk7Ci0KLQkJLyoKLQkJICogUXVldWUgc2V2 ZXJhbCBzbWFsbCBiYXRjaGJ1ZmZlcnMgdG8gYmUgc3VyZSB3ZSdsbCBzZW5kIGV4ZWNsaXN0cwot CQkgKiB3aXRoIDIgdmFsaWQgY29udGV4dCwgYW5kIGxpa2VseSBjYXVzZSBhIGxpdGUgcmVzdG9y ZSB3aGVuIGN0eEIKLQkJICogaXMgcmVzdWJtaXR0ZWQgYXQgdGhlIHRvcCBvZiB0aGUgbmV3IGV4 ZWNsaXN0LgotCQkgKi8KLQkJZm9yIChpID0gMDsgaSA8IDIwOyBpKyspIHsKLQkJCWZvciAoaiA9 IDA7IGogPCAyMDA7IGorKykgewotCQkJCWlndF9hc3NlcnQoZXhlYyhmZCwgaGFuZGxlLCBJOTE1 X0VYRUNfUkVOREVSLCBjdHhfaWQpID09IDApOwotCQkJCWlndF9hc3NlcnQoZXhlYyhmZCwgaGFu ZGxlLCBJOTE1X0VYRUNfUkVOREVSLCBjdHhfaWQyKSA9PSAwKTsKLQkJCX0KLQotCQkJZ2VtX3N5 bmMoZmQsIGhhbmRsZSk7Ci0JCX0KLQotCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhfaWQp OwotCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhfaWQyKTsKLQl9CiB9CmRpZmYgLS1naXQg YS90ZXN0cy9nZW1fY3R4X3N3aXRjaC5jIGIvdGVzdHMvZ2VtX2N0eF9zd2l0Y2guYwppbmRleCAx MjA4Y2I4ZDdmZTIuLjdhZDdiMzFlYTE4MyAxMDA2NDQKLS0tIGEvdGVzdHMvZ2VtX2N0eF9zd2l0 Y2guYworKysgYi90ZXN0cy9nZW1fY3R4X3N3aXRjaC5jCkBAIC04Myw2ICs4MywyMCBAQCBzdGF0 aWMgaW50IG1lYXN1cmVfcWxlbihpbnQgZmQsCiAJcmV0dXJuIHFsZW47CiB9CiAKK3N0YXRpYyBp bnQgZXhlYyhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHJpbmcsIGludCBjdHhfaWQpCit7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqID0geyAuaGFuZGxlID0gaGFu ZGxlIH07CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmID0geworCQku YnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJm9iaiksCisJCS5idWZmZXJfY291bnQgPSAx LAorCQkuZmxhZ3MgPSByaW5nLAorCX07CisKKwlpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0 X2lkKGV4ZWNidWYsIGN0eF9pZCk7CisKKwlyZXR1cm4gX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNi dWYpOworfQorCiBzdGF0aWMgdm9pZCBzaW5nbGUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCiAJ CSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplLAogCQkgICB1bnNpZ25l ZCBmbGFncywKQEAgLTMxOCw2ICszMzIsMzggQEAgaWd0X21haW4KIAlpZ3Rfc3VidGVzdCgiYmFz aWMtYWxsLWhlYXZ5IikKIAkJYWxsKGZkLCBoZWF2eSwgMCwgNSk7CiAKKwlpZ3Rfc3VidGVzdCgi bHJjLWxpdGUtcmVzdG9yZSIpIHsKKwkJdWludDMyX3QgY3R4WzJdOworCQlpbnQgaSwgajsKKwor CQkvKgorCQkgKiBOZWVkIDIgY29udGV4dHMgdG8gYmUgYWJsZSB0byByZXBsaWNhdGUgYSBsaXRl IHJlc3RvcmUsCisJCSAqIGkuZS4gYSBydW5uaW5nIGNvbnRleHQgaXMgcmVzdWJtaXR0ZWQuCisJ CSAqLworCQljdHhbMF0gPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOworCQljdHhbMV0gPSBnZW1f Y29udGV4dF9jcmVhdGUoZmQpOworCisJCS8qCisJCSAqIFF1ZXVlIHNldmVyYWwgc21hbGwgYmF0 Y2hidWZmZXJzIHRvIGJlIHN1cmUgd2UnbGwgc2VuZAorCQkgKiBleGVjbGlzdHMgd2l0aCAyIHZh bGlkIGNvbnRleHQsIGFuZCBsaWtlbHkgY2F1c2UgYSBsaXRlCisJCSAqIHJlc3RvcmUgd2hlbiBj dHhCIGlzIHJlc3VibWl0dGVkIGF0IHRoZSB0b3Agb2YgdGhlIG5ldworCQkgKiBleGVjbGlzdC4K KwkJICovCisJCWZvciAoaSA9IDA7IGkgPCAyMDsgaSsrKSB7CisJCQlmb3IgKGogPSAwOyBqIDwg MjAwOyBqKyspIHsKKwkJCQlpZ3RfYXNzZXJ0X2VxKGV4ZWMoZmQsIGxpZ2h0LCBJOTE1X0VYRUNf UkVOREVSLAorCQkJCQkJICAgY3R4WzBdKSwgMCk7CisJCQkJaWd0X2Fzc2VydF9lcShleGVjKGZk LCBsaWdodCwgSTkxNV9FWEVDX1JFTkRFUiwKKwkJCQkJCSAgIGN0eFsxXSksIDApOworCQkJfQor CisJCQlnZW1fc3luYyhmZCwgbGlnaHQpOworCQl9CisKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShm ZCwgY3R4WzBdKTsKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgY3R4WzFdKTsKKwl9CisKIAlp Z3RfZml4dHVyZSB7CiAJCWlndF9zdG9wX2hhbmdfZGV0ZWN0b3IoKTsKIAkJZ2VtX2Nsb3NlKGZk LCBoZWF2eSk7Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0 LWRldgo=