From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH igt v2] test/gem_exec_schedule: Check each engine is an independent timeline Date: Mon, 23 Apr 2018 21:33:59 +0100 Message-ID: <20180423203359.357-1-chris@chris-wilson.co.uk> References: <20180423134345.28153-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180423134345.28153-1-chris@chris-wilson.co.uk> 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 Cc: igt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW4gdGhlIGV4aXN0aW5nIEFCSSwgZWFjaCBlbmdpbmUgb3BlcmF0ZXMgaXRzIG93biB0aW1lbGlu ZQooZmVuY2UuY29udGV4dCkgYW5kIHNvIHNob3VsZCBleGVjdXRlIGluZGVwZW5kZW50bHkgb2Yg YW55IG90aGVyLiBJZiB3ZQppbnN0YWxsIGEgYmxvY2tlciBvbiBhbGwgb3RoZXIgZW5naW5lcywg dGhhdCBzaG91bGQgbm90IGFmZmVjdCBleGVjdXRpb24Kb24gdGhlIGxvY2FsIGVuZ2luZS4KCnYy OiBNb3ZlIHRoZSByZXF1aXJlbWVudHMgY2hlY2tzIGZyb20gdGhlIGZpeHR1cmUgdG8gc3VidGVz dCBzbyB0aGF0CnRoZSB0ZXN0IGxpc3QgaXMgc3RhYmxlIChBbnRvbmlvKQoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQW50b25pbyBBcmdlbnppYW5vIDxh bnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9leGVjX3NjaGVkdWxl LmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rl c3RzL2dlbV9leGVjX3NjaGVkdWxlLmMgYi90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jCmluZGV4 IDVkMGYyMTViMi4uOGU4MmYxMTNmIDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fZXhlY19zY2hlZHVs ZS5jCisrKyBiL3Rlc3RzL2dlbV9leGVjX3NjaGVkdWxlLmMKQEAgLTQ5LDkgKzQ5LDkgQEAKIAog SUdUX1RFU1RfREVTQ1JJUFRJT04oIkNoZWNrIHRoYXQgd2UgY2FuIGNvbnRyb2wgdGhlIG9yZGVy IG9mIGV4ZWN1dGlvbiIpOwogCi1zdGF0aWMgdm9pZCBzdG9yZV9kd29yZChpbnQgZmQsIHVpbnQz Ml90IGN0eCwgdW5zaWduZWQgcmluZywKLQkJCXVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zm c2V0LCB1aW50MzJfdCB2YWx1ZSwKLQkJCXVpbnQzMl90IGNvcmssIHVuc2lnbmVkIHdyaXRlX2Rv bWFpbikKK3N0YXRpYyB1aW50MzJfdCBfX3N0b3JlX2R3b3JkKGludCBmZCwgdWludDMyX3QgY3R4 LCB1bnNpZ25lZCByaW5nLAorCQkJICAgICAgdWludDMyX3QgdGFyZ2V0LCB1aW50MzJfdCBvZmZz ZXQsIHVpbnQzMl90IHZhbHVlLAorCQkJICAgICAgdWludDMyX3QgY29yaywgdW5zaWduZWQgd3Jp dGVfZG9tYWluKQogewogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9k ZXZpZChmZCkpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKQEAg LTEwMCw3ICsxMDAsMTcgQEAgc3RhdGljIHZvaWQgc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJf dCBjdHgsIHVuc2lnbmVkIHJpbmcsCiAJYmF0Y2hbKytpXSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7 CiAJZ2VtX3dyaXRlKGZkLCBvYmpbMl0uaGFuZGxlLCAwLCBiYXRjaCwgc2l6ZW9mKGJhdGNoKSk7 CiAJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKLQlnZW1fY2xvc2UoZmQsIG9ialsyXS5oYW5k bGUpOworCisJcmV0dXJuIG9ialsyXS5oYW5kbGU7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3JlX2R3 b3JkKGludCBmZCwgdWludDMyX3QgY3R4LCB1bnNpZ25lZCByaW5nLAorCQkJdWludDMyX3QgdGFy Z2V0LCB1aW50MzJfdCBvZmZzZXQsIHVpbnQzMl90IHZhbHVlLAorCQkJdWludDMyX3QgY29yaywg dW5zaWduZWQgd3JpdGVfZG9tYWluKQoreworCWdlbV9jbG9zZShmZCwgX19zdG9yZV9kd29yZChm ZCwgY3R4LCByaW5nLAorCQkJCSAgICB0YXJnZXQsIG9mZnNldCwgdmFsdWUsCisJCQkJICAgIGNv cmssIHdyaXRlX2RvbWFpbikpOwogfQogCiBzdGF0aWMgdWludDMyX3QgY3JlYXRlX2hpZ2hlc3Rf cHJpb3JpdHkoaW50IGZkKQpAQCAtMTYxLDYgKzE3MSw3MSBAQCBzdGF0aWMgdm9pZCBmaWZvKGlu dCBmZCwgdW5zaWduZWQgcmluZykKIAltdW5tYXAocHRyLCA0MDk2KTsKIH0KIAorc3RhdGljIHZv aWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQoreworCUlHVF9DT1JL X0hBTkRMRShjb3JrKTsKKwl1aW50MzJfdCBzY3JhdGNoLCBwbHVnLCBiYXRjaDsKKwlpZ3Rfc3Bp bl90ICpzcGluID0gTlVMTDsKKwl1bnNpZ25lZCBpbnQgb3RoZXI7CisJdWludDMyX3QgKnB0cjsK KworCWlndF9yZXF1aXJlKGVuZ2luZSAhPSAwKTsKKworCXNjcmF0Y2ggPSBnZW1fY3JlYXRlKGZk LCA0MDk2KTsKKwlwdHIgPSBnZW1fbW1hcF9fZ3R0KGZkLCBzY3JhdGNoLCA0MDk2LCBQUk9UX1JF QUQpOworCWlndF9hc3NlcnRfZXEocHRyWzBdLCAwKTsKKworCXBsdWcgPSBpZ3RfY29ya19wbHVn KCZjb3JrLCBmZCk7CisKKwkvKiBDaGVjayB0aGF0IHdlIGNhbiBzdWJtaXQgdG8gZW5naW5lIHdo aWxlIGFsbCBvdGhlcnMgYXJlIGJsb2NrZWQgKi8KKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIG90aGVyKSB7CisJCWlmIChvdGhlciA9PSBlbmdpbmUpCisJCQljb250aW51ZTsKKworCQlp ZiAoc3BpbiA9PSBOVUxMKSB7CisJCQlzcGluID0gX19pZ3Rfc3Bpbl9iYXRjaF9uZXcoZmQsIDAs IG90aGVyLCAwKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIG9iaiA9IHsKKwkJCQkuaGFuZGxlID0gc3Bpbi0+aGFuZGxlLAorCQkJfTsKKwkJCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZWIgPSB7CisJCQkJLmJ1ZmZlcl9jb3VudCA9IDEs CisJCQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopLAorCQkJCS5mbGFncyA9 IG90aGVyLAorCQkJfTsKKwkJCWdlbV9leGVjYnVmKGZkLCAmZWIpOworCQl9CisKKwkJc3RvcmVf ZHdvcmQoZmQsIDAsIG90aGVyLCBzY3JhdGNoLCAwLCBvdGhlciwgcGx1ZywgMCk7CisJfQorCWln dF9yZXF1aXJlKHNwaW4pOworCisJLyogU2FtZSBwcmlvcml0eSwgYnV0IGRpZmZlcmVudCB0aW1l bGluZSAoYXMgZGlmZmVyZW50IGVuZ2luZSkgKi8KKwliYXRjaCA9IF9fc3RvcmVfZHdvcmQoZmQs IDAsIGVuZ2luZSwgc2NyYXRjaCwgMCwgZW5naW5lLCBwbHVnLCAwKTsKKworCXVucGx1Z19zaG93 X3F1ZXVlKGZkLCAmY29yaywgZW5naW5lKTsKKwlnZW1fY2xvc2UoZmQsIHBsdWcpOworCisJZ2Vt X3N5bmMoZmQsIGJhdGNoKTsKKwlpZ3RfYXNzZXJ0KCFnZW1fYm9fYnVzeShmZCwgYmF0Y2gpKTsK KwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBzcGluLT5oYW5kbGUpKTsKKwlnZW1fY2xvc2Uo ZmQsIGJhdGNoKTsKKworCS8qIE9ubHkgdGhlIGxvY2FsIGVuZ2luZSBzaG91bGQgYmUgZnJlZSB0 byBjb21wbGV0ZS4gKi8KKwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBzY3JhdGNoKSk7CisJ aWd0X2Fzc2VydF9lcShwdHJbMF0sIGVuZ2luZSk7CisKKwlpZ3Rfc3Bpbl9iYXRjaF9mcmVlKGZk LCBzcGluKTsKKwlnZW1fcXVpZXNjZW50X2dwdShmZCk7CisKKwkvKiBBbmQgd2UgZXhwZWN0IHRo ZSBvdGhlcnMgdG8gaGF2ZSBvdmVyd3JpdHRlbiB1cywgb3JkZXIgdW5zcGVjaWZpZWQgKi8KKwlp Z3RfYXNzZXJ0KCFnZW1fYm9fYnVzeShmZCwgc2NyYXRjaCkpOworCWlndF9hc3NlcnRfbmVxKHB0 clswXSwgZW5naW5lKTsKKworCWdlbV9jbG9zZShmZCwgc2NyYXRjaCk7CisJbXVubWFwKHB0ciwg NDA5Nik7Cit9CisKIHN0YXRpYyB2b2lkIHNtb2tldGVzdChpbnQgZmQsIHVuc2lnbmVkIHJpbmcs IHVuc2lnbmVkIHRpbWVvdXQpCiB7CiAJY29uc3QgaW50IG5jcHVzID0gc3lzY29uZihfU0NfTlBS T0NFU1NPUlNfT05MTik7CkBAIC0xMDc1LDYgKzExNTAsMTIgQEAgaWd0X21haW4KIAkJCQlpZ3Rf cmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkKSB8IGUtPmZsYWdzKTsK IAkJCQlmaWZvKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpOwogCQkJfQorCisJCQlpZ3Rfc3Vi dGVzdF9mKCJpbmRlcGVuZGVudC0lcyIsIGUtPm5hbWUpIHsKKwkJCQlpZ3RfcmVxdWlyZShnZW1f cmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKKwkJ CQlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkKSB8IGUtPmZs YWdzKTsKKwkJCQlpbmRlcGVuZGVudChmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKTsKKwkJCX0K IAkJfQogCX0KIAotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Chris Wilson Date: Mon, 23 Apr 2018 21:33:59 +0100 Message-Id: <20180423203359.357-1-chris@chris-wilson.co.uk> In-Reply-To: <20180423134345.28153-1-chris@chris-wilson.co.uk> References: <20180423134345.28153-1-chris@chris-wilson.co.uk> Subject: [igt-dev] [PATCH igt v2] test/gem_exec_schedule: Check each engine is an independent timeline 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: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org, Tvrtko Ursulin List-ID: SW4gdGhlIGV4aXN0aW5nIEFCSSwgZWFjaCBlbmdpbmUgb3BlcmF0ZXMgaXRzIG93biB0aW1lbGlu ZQooZmVuY2UuY29udGV4dCkgYW5kIHNvIHNob3VsZCBleGVjdXRlIGluZGVwZW5kZW50bHkgb2Yg YW55IG90aGVyLiBJZiB3ZQppbnN0YWxsIGEgYmxvY2tlciBvbiBhbGwgb3RoZXIgZW5naW5lcywg dGhhdCBzaG91bGQgbm90IGFmZmVjdCBleGVjdXRpb24Kb24gdGhlIGxvY2FsIGVuZ2luZS4KCnYy OiBNb3ZlIHRoZSByZXF1aXJlbWVudHMgY2hlY2tzIGZyb20gdGhlIGZpeHR1cmUgdG8gc3VidGVz dCBzbyB0aGF0CnRoZSB0ZXN0IGxpc3QgaXMgc3RhYmxlIChBbnRvbmlvKQoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQW50b25pbyBBcmdlbnppYW5vIDxh bnRvbmlvLmFyZ2Vuemlhbm9AaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9leGVjX3NjaGVkdWxl LmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBj aGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rl c3RzL2dlbV9leGVjX3NjaGVkdWxlLmMgYi90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jCmluZGV4 IDVkMGYyMTViMi4uOGU4MmYxMTNmIDEwMDY0NAotLS0gYS90ZXN0cy9nZW1fZXhlY19zY2hlZHVs ZS5jCisrKyBiL3Rlc3RzL2dlbV9leGVjX3NjaGVkdWxlLmMKQEAgLTQ5LDkgKzQ5LDkgQEAKIAog SUdUX1RFU1RfREVTQ1JJUFRJT04oIkNoZWNrIHRoYXQgd2UgY2FuIGNvbnRyb2wgdGhlIG9yZGVy IG9mIGV4ZWN1dGlvbiIpOwogCi1zdGF0aWMgdm9pZCBzdG9yZV9kd29yZChpbnQgZmQsIHVpbnQz Ml90IGN0eCwgdW5zaWduZWQgcmluZywKLQkJCXVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zm c2V0LCB1aW50MzJfdCB2YWx1ZSwKLQkJCXVpbnQzMl90IGNvcmssIHVuc2lnbmVkIHdyaXRlX2Rv bWFpbikKK3N0YXRpYyB1aW50MzJfdCBfX3N0b3JlX2R3b3JkKGludCBmZCwgdWludDMyX3QgY3R4 LCB1bnNpZ25lZCByaW5nLAorCQkJICAgICAgdWludDMyX3QgdGFyZ2V0LCB1aW50MzJfdCBvZmZz ZXQsIHVpbnQzMl90IHZhbHVlLAorCQkJICAgICAgdWludDMyX3QgY29yaywgdW5zaWduZWQgd3Jp dGVfZG9tYWluKQogewogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9k ZXZpZChmZCkpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKQEAg LTEwMCw3ICsxMDAsMTcgQEAgc3RhdGljIHZvaWQgc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJf dCBjdHgsIHVuc2lnbmVkIHJpbmcsCiAJYmF0Y2hbKytpXSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7 CiAJZ2VtX3dyaXRlKGZkLCBvYmpbMl0uaGFuZGxlLCAwLCBiYXRjaCwgc2l6ZW9mKGJhdGNoKSk7 CiAJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsKLQlnZW1fY2xvc2UoZmQsIG9ialsyXS5oYW5k bGUpOworCisJcmV0dXJuIG9ialsyXS5oYW5kbGU7Cit9CisKK3N0YXRpYyB2b2lkIHN0b3JlX2R3 b3JkKGludCBmZCwgdWludDMyX3QgY3R4LCB1bnNpZ25lZCByaW5nLAorCQkJdWludDMyX3QgdGFy Z2V0LCB1aW50MzJfdCBvZmZzZXQsIHVpbnQzMl90IHZhbHVlLAorCQkJdWludDMyX3QgY29yaywg dW5zaWduZWQgd3JpdGVfZG9tYWluKQoreworCWdlbV9jbG9zZShmZCwgX19zdG9yZV9kd29yZChm ZCwgY3R4LCByaW5nLAorCQkJCSAgICB0YXJnZXQsIG9mZnNldCwgdmFsdWUsCisJCQkJICAgIGNv cmssIHdyaXRlX2RvbWFpbikpOwogfQogCiBzdGF0aWMgdWludDMyX3QgY3JlYXRlX2hpZ2hlc3Rf cHJpb3JpdHkoaW50IGZkKQpAQCAtMTYxLDYgKzE3MSw3MSBAQCBzdGF0aWMgdm9pZCBmaWZvKGlu dCBmZCwgdW5zaWduZWQgcmluZykKIAltdW5tYXAocHRyLCA0MDk2KTsKIH0KIAorc3RhdGljIHZv aWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQoreworCUlHVF9DT1JL X0hBTkRMRShjb3JrKTsKKwl1aW50MzJfdCBzY3JhdGNoLCBwbHVnLCBiYXRjaDsKKwlpZ3Rfc3Bp bl90ICpzcGluID0gTlVMTDsKKwl1bnNpZ25lZCBpbnQgb3RoZXI7CisJdWludDMyX3QgKnB0cjsK KworCWlndF9yZXF1aXJlKGVuZ2luZSAhPSAwKTsKKworCXNjcmF0Y2ggPSBnZW1fY3JlYXRlKGZk LCA0MDk2KTsKKwlwdHIgPSBnZW1fbW1hcF9fZ3R0KGZkLCBzY3JhdGNoLCA0MDk2LCBQUk9UX1JF QUQpOworCWlndF9hc3NlcnRfZXEocHRyWzBdLCAwKTsKKworCXBsdWcgPSBpZ3RfY29ya19wbHVn KCZjb3JrLCBmZCk7CisKKwkvKiBDaGVjayB0aGF0IHdlIGNhbiBzdWJtaXQgdG8gZW5naW5lIHdo aWxlIGFsbCBvdGhlcnMgYXJlIGJsb2NrZWQgKi8KKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIG90aGVyKSB7CisJCWlmIChvdGhlciA9PSBlbmdpbmUpCisJCQljb250aW51ZTsKKworCQlp ZiAoc3BpbiA9PSBOVUxMKSB7CisJCQlzcGluID0gX19pZ3Rfc3Bpbl9iYXRjaF9uZXcoZmQsIDAs IG90aGVyLCAwKTsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmpl Y3QyIG9iaiA9IHsKKwkJCQkuaGFuZGxlID0gc3Bpbi0+aGFuZGxlLAorCQkJfTsKKwkJCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZWIgPSB7CisJCQkJLmJ1ZmZlcl9jb3VudCA9IDEs CisJCQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopLAorCQkJCS5mbGFncyA9 IG90aGVyLAorCQkJfTsKKwkJCWdlbV9leGVjYnVmKGZkLCAmZWIpOworCQl9CisKKwkJc3RvcmVf ZHdvcmQoZmQsIDAsIG90aGVyLCBzY3JhdGNoLCAwLCBvdGhlciwgcGx1ZywgMCk7CisJfQorCWln dF9yZXF1aXJlKHNwaW4pOworCisJLyogU2FtZSBwcmlvcml0eSwgYnV0IGRpZmZlcmVudCB0aW1l bGluZSAoYXMgZGlmZmVyZW50IGVuZ2luZSkgKi8KKwliYXRjaCA9IF9fc3RvcmVfZHdvcmQoZmQs IDAsIGVuZ2luZSwgc2NyYXRjaCwgMCwgZW5naW5lLCBwbHVnLCAwKTsKKworCXVucGx1Z19zaG93 X3F1ZXVlKGZkLCAmY29yaywgZW5naW5lKTsKKwlnZW1fY2xvc2UoZmQsIHBsdWcpOworCisJZ2Vt X3N5bmMoZmQsIGJhdGNoKTsKKwlpZ3RfYXNzZXJ0KCFnZW1fYm9fYnVzeShmZCwgYmF0Y2gpKTsK KwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBzcGluLT5oYW5kbGUpKTsKKwlnZW1fY2xvc2Uo ZmQsIGJhdGNoKTsKKworCS8qIE9ubHkgdGhlIGxvY2FsIGVuZ2luZSBzaG91bGQgYmUgZnJlZSB0 byBjb21wbGV0ZS4gKi8KKwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBzY3JhdGNoKSk7CisJ aWd0X2Fzc2VydF9lcShwdHJbMF0sIGVuZ2luZSk7CisKKwlpZ3Rfc3Bpbl9iYXRjaF9mcmVlKGZk LCBzcGluKTsKKwlnZW1fcXVpZXNjZW50X2dwdShmZCk7CisKKwkvKiBBbmQgd2UgZXhwZWN0IHRo ZSBvdGhlcnMgdG8gaGF2ZSBvdmVyd3JpdHRlbiB1cywgb3JkZXIgdW5zcGVjaWZpZWQgKi8KKwlp Z3RfYXNzZXJ0KCFnZW1fYm9fYnVzeShmZCwgc2NyYXRjaCkpOworCWlndF9hc3NlcnRfbmVxKHB0 clswXSwgZW5naW5lKTsKKworCWdlbV9jbG9zZShmZCwgc2NyYXRjaCk7CisJbXVubWFwKHB0ciwg NDA5Nik7Cit9CisKIHN0YXRpYyB2b2lkIHNtb2tldGVzdChpbnQgZmQsIHVuc2lnbmVkIHJpbmcs IHVuc2lnbmVkIHRpbWVvdXQpCiB7CiAJY29uc3QgaW50IG5jcHVzID0gc3lzY29uZihfU0NfTlBS T0NFU1NPUlNfT05MTik7CkBAIC0xMDc1LDYgKzExNTAsMTIgQEAgaWd0X21haW4KIAkJCQlpZ3Rf cmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkKSB8IGUtPmZsYWdzKTsK IAkJCQlmaWZvKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpOwogCQkJfQorCisJCQlpZ3Rfc3Vi dGVzdF9mKCJpbmRlcGVuZGVudC0lcyIsIGUtPm5hbWUpIHsKKwkJCQlpZ3RfcmVxdWlyZShnZW1f cmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKKwkJ CQlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkKSB8IGUtPmZs YWdzKTsKKwkJCQlpbmRlcGVuZGVudChmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKTsKKwkJCX0K IAkJfQogCX0KIAotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXYK