From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8B9FFC43603 for ; Wed, 4 Dec 2019 11:26:53 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 67B6320637 for ; Wed, 4 Dec 2019 11:26:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67B6320637 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0BFEB6E8C5; Wed, 4 Dec 2019 11:26:53 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1FC976E8C5 for ; Wed, 4 Dec 2019 11:26:50 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19455444-1500050 for multiple; Wed, 04 Dec 2019 11:26:32 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Wed, 4 Dec 2019 11:26:33 +0000 Message-Id: <20191204112633.3649206-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2] drm/i915: Copy across scheduler behaviour flags across submit fences X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" V2Ugd2FudCB0aGUgYm9uZGVkIHJlcXVlc3QgdG8gaGF2ZSB0aGUgc2FtZSBzY2hlZHVsZXIgcHJv cGVydGllcyBhcyBpdHMKbWFzdGVyIHNvIHRoYXQgaXQgaXMgcGxhY2VkIGF0IHRoZSBzYW1lIGRl cHRoIGluIHRoZSBxdWV1ZS4gRm9yIGV4YW1wbGUsCmNvbnNpZGVyIHdlIGhhdmUgcmVxdWVzdHMg QSwgQiBhbmQgQicsIHdoZXJlIEIgJiBCJyBhcmUgYSBib25kZWQgcGFpciB0bwpydW4gaW4gcGFy YWxsZWwgb24gdHdvIGVuZ2luZXMuCgoJQSAtPiBCCiAgICAgCSAgICAgXC0gQicKCkIgd2lsbCBy dW4gYWZ0ZXIgQSBhbmQgc28gbWF5IGJlIHNjaGVkdWxlZCBvbiBhbiBpZGxlIGVuZ2luZSBhbmQg d2FpdCBvbgpBIHVzaW5nIGEgc2VtYXBob3JlLiBCJyBzZWVzIEIgYmVpbmcgZXhlY3V0ZWQgYW5k IHNvIGVudGVycyB0aGUgcXVldWUgb24KdGhlIHNhbWUgZW5naW5lIGFzIEEuIEFzIEInIGRpZCBu b3QgaW5oZXJpdCB0aGUgc2VtYXBob3JlLWNoYWluIGZyb20gQiwKaXQgbWF5IGhhdmUgaGlnaGVy IHByZWNlZGVuY2UgdGhhbiBBIGFuZCBzbyBwcmVlbXB0cyBleGVjdXRpb24uIEhvd2V2ZXIsCkIn IHRoZW4gc2l0cyBvbiBhIHNlbWFwaG9yZSB3YWl0aW5nIGZvciBCLCB3aG8gaXMgd2FpdGluZyBm b3IgQSwgd2hvIGlzCmJsb2NrZWQgYnkgQi4KCkVyZ28gQicgbmVlZHMgdG8gaW5oZXJpdCB0aGUg c2NoZWR1bGVyIHByb3BlcnRpZXMgZnJvbSBCIChpLmUuIHRoZQpzZW1hcGhvcmUgY2hhaW4pIHNv IHRoYXQgaXQgaXMgc2NoZWR1bGVkIHdpdGggdGhlIHNhbWUgcHJpb3JpdHkgYXMgQiBhbmQKd2ls bCBub3QgYmUgZXhlY3V0ZWQgYWhlYWQgb2YgQnMgZGVwZW5kZW5jaWVzLgoKRnVydGhlcm1vcmUs IHRvIHByZXZlbnQgdGhlIHByaW9yaXRpZXMgY2hhbmdpbmcgdmlhIHRoZSBleHBvc2UgZmVuY2Ug b24KQicsIHdlIG5lZWQgdG8gY291cGxlIGluIHRoZSBkZXBlbmRlbmNpZXMgZm9yIFBJLiBUaGlz IHJlcXVpcmVzIHVzIHRvCnJlbGF4IG91ciBzYW5pdHktY2hlY2tzIHRoYXQgZGVwZW5kZW5jaWVz IGFyZSBzdHJpY3RseSBpbiBvcmRlci4KCkZpeGVzOiBlZTExMzY5MDhlOWIgKCJkcm0vaTkxNS9l eGVjbGlzdHM6IFZpcnR1YWwgZW5naW5lIGJvbmRpbmciKQpUZXN0Y2FzZTogaWd0L2dlbV9leGVj X2JhbGFuY2VyL2JvbmRlZC1jaGFpbgpUZXN0Y2FzZTogaWd0L2dlbV9leGVjX2JhbGFuY2VyL2Jv bmRlZC1zZW1hcGhvcmUKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t PgotLS0KVHJhbnNmZXIgYW55IHNlbWFwaG9yZSBkZXBlbmRlbmNpZXMgYXMgd2VsbC4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyAgIHwgMTE1ICsrKysrKysrKysrKysr KysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jIHwgICAx IC0KIDIgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwppbmRleCAzMTA5YjhhNzliOWYuLmUwZDI0OTc3 YWE5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTMwMCwxMSArMzAwLDEx IEBAIHZvaWQgaTkxNV9yZXF1ZXN0X3JldGlyZV91cHRvKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx KQogfQogCiBzdGF0aWMgaW50Ci1fX2k5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEsCi0JCQkgICAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFs LAotCQkJICAgICAgIHZvaWQgKCpob29rKShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKLQkJCQkJ ICAgIHN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbCksCi0JCQkgICAgICAgZ2ZwX3QgZ2ZwKQorX19h d2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCSAgc3RydWN0IGk5MTVf cmVxdWVzdCAqc2lnbmFsLAorCQkgIHZvaWQgKCpob29rKShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cSwKKwkJCSAgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpzaWduYWwpLAorCQkgIGdmcF90IGdmcCkK IHsKIAlzdHJ1Y3QgZXhlY3V0ZV9jYiAqY2I7CiAKQEAgLTM0MSw2ICszNDEsOCBAQCBfX2k5MTVf cmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJfQogCXNw aW5fdW5sb2NrX2lycSgmc2lnbmFsLT5sb2NrKTsKIAorCS8qIENvcHkgYWNyb3NzIHNlbWFwaG9y ZSBzdGF0dXMgYXMgd2UgbmVlZCB0aGUgc2FtZSBiZWhhdmlvdXIgKi8KKwlycS0+c2NoZWQuZmxh Z3MgfD0gc2lnbmFsLT5zY2hlZC5mbGFnczsKIAlyZXR1cm4gMDsKIH0KIApAQCAtODI0LDMxICs4 MjYsMjEgQEAgYWxyZWFkeV9idXN5d2FpdGluZyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIH0K IAogc3RhdGljIGludAotZW1pdF9zZW1hcGhvcmVfd2FpdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0 bywKLQkJICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCi0JCSAgICBnZnBfdCBnZnApCitf X2VtaXRfc2VtYXBob3JlX3dhaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8sCisJCSAgICAgIHN0 cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCisJCSAgICAgIHUzMiBzZXFubykKIHsKIAljb25zdCBp bnQgaGFzX3Rva2VuID0gSU5URUxfR0VOKHRvLT5pOTE1KSA+PSAxMjsKIAl1MzIgaHdzcF9vZmZz ZXQ7Ci0JaW50IGxlbjsKKwlpbnQgbGVuLCBlcnI7CiAJdTMyICpjczsKIAogCUdFTV9CVUdfT04o SU5URUxfR0VOKHRvLT5pOTE1KSA8IDgpOwogCi0JLyogSnVzdCBlbWl0IHRoZSBmaXJzdCBzZW1h cGhvcmUgd2Ugc2VlIGFzIHJlcXVlc3Qgc3BhY2UgaXMgbGltaXRlZC4gKi8KLQlpZiAoYWxyZWFk eV9idXN5d2FpdGluZyh0bykgJiBmcm9tLT5lbmdpbmUtPm1hc2spCi0JCWdvdG8gYXdhaXRfZmVu Y2U7Ci0KLQlpZiAoaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHRvLCBmcm9tKSA8IDApCi0JCWdv dG8gYXdhaXRfZmVuY2U7Ci0KLQkvKiBPbmx5IHN1Ym1pdCBvdXIgc3Bpbm5lciBhZnRlciB0aGUg c2lnbmFsZXIgaXMgcnVubmluZyEgKi8KLQlpZiAoX19pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0 aW9uKHRvLCBmcm9tLCBOVUxMLCBnZnApKQotCQlnb3RvIGF3YWl0X2ZlbmNlOwotCiAJLyogV2Ug bmVlZCB0byBwaW4gdGhlIHNpZ25hbGVyJ3MgSFdTUCB1bnRpbCB3ZSBhcmUgZmluaXNoZWQgcmVh ZGluZy4gKi8KLQlpZiAoaW50ZWxfdGltZWxpbmVfcmVhZF9od3NwKGZyb20sIHRvLCAmaHdzcF9v ZmZzZXQpKQotCQlnb3RvIGF3YWl0X2ZlbmNlOworCWVyciA9IGludGVsX3RpbWVsaW5lX3JlYWRf aHdzcChmcm9tLCB0bywgJmh3c3Bfb2Zmc2V0KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOwog CiAJbGVuID0gNDsKIAlpZiAoaGFzX3Rva2VuKQpAQCAtODcxLDcgKzg2Myw3IEBAIGVtaXRfc2Vt YXBob3JlX3dhaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8sCiAJCSBNSV9TRU1BUEhPUkVfUE9M TCB8CiAJCSBNSV9TRU1BUEhPUkVfU0FEX0dURV9TREQpICsKIAkJaGFzX3Rva2VuOwotCSpjcysr ID0gZnJvbS0+ZmVuY2Uuc2Vxbm87CisJKmNzKysgPSBzZXFubzsKIAkqY3MrKyA9IGh3c3Bfb2Zm c2V0OwogCSpjcysrID0gMDsKIAlpZiAoaGFzX3Rva2VuKSB7CkBAIC04ODAsNiArODcyLDI4IEBA IGVtaXRfc2VtYXBob3JlX3dhaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8sCiAJfQogCiAJaW50 ZWxfcmluZ19hZHZhbmNlKHRvLCBjcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2Vt aXRfc2VtYXBob3JlX3dhaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8sCisJCSAgICBzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpmcm9tLAorCQkgICAgZ2ZwX3QgZ2ZwKQoreworCS8qIEp1c3QgZW1pdCB0 aGUgZmlyc3Qgc2VtYXBob3JlIHdlIHNlZSBhcyByZXF1ZXN0IHNwYWNlIGlzIGxpbWl0ZWQuICov CisJaWYgKGFscmVhZHlfYnVzeXdhaXRpbmcodG8pICYgZnJvbS0+ZW5naW5lLT5tYXNrKQorCQln b3RvIGF3YWl0X2ZlbmNlOworCisJaWYgKGk5MTVfcmVxdWVzdF9hd2FpdF9zdGFydCh0bywgZnJv bSkgPCAwKQorCQlnb3RvIGF3YWl0X2ZlbmNlOworCisJLyogT25seSBzdWJtaXQgb3VyIHNwaW5u ZXIgYWZ0ZXIgdGhlIHNpZ25hbGVyIGlzIHJ1bm5pbmchICovCisJaWYgKF9fYXdhaXRfZXhlY3V0 aW9uKHRvLCBmcm9tLCBOVUxMLCBnZnApKQorCQlnb3RvIGF3YWl0X2ZlbmNlOworCisJaWYgKF9f ZW1pdF9zZW1hcGhvcmVfd2FpdCh0bywgZnJvbSwgZnJvbS0+ZmVuY2Uuc2Vxbm8pKQorCQlnb3Rv IGF3YWl0X2ZlbmNlOworCiAJdG8tPnNjaGVkLnNlbWFwaG9yZXMgfD0gZnJvbS0+ZW5naW5lLT5t YXNrOwogCXRvLT5zY2hlZC5mbGFncyB8PSBJOTE1X1NDSEVEX0hBU19TRU1BUEhPUkVfQ0hBSU47 CiAJcmV0dXJuIDA7CkBAIC05OTMsNiArMTAwNyw1OCBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1h X2ZlbmNlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkK IAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGJvb2wgaW50ZWxfdGltZWxpbmVfc3luY19oYXNfc3Rh cnQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCQkJICBzdHJ1Y3QgZG1hX2ZlbmNlICpm ZW5jZSkKK3sKKwlyZXR1cm4gX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHRsLAorCQkJ CQkgICAgICBmZW5jZS0+Y29udGV4dCwKKwkJCQkJICAgICAgZmVuY2UtPnNlcW5vIC0gMSk7Cit9 CisKK3N0YXRpYyBpbnQgaW50ZWxfdGltZWxpbmVfc3luY19zZXRfc3RhcnQoc3RydWN0IGludGVs X3RpbWVsaW5lICp0bCwKKwkJCQkJIGNvbnN0IHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQorewor CXJldHVybiBfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBmZW5jZS0+Y29udGV4dCwgZmVu Y2UtPnNlcW5vIC0gMSk7Cit9CisKK3N0YXRpYyBpbnQKK19faTkxNV9yZXF1ZXN0X2F3YWl0X2V4 ZWN1dGlvbihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywKKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpmcm9tLAorCQkJICAgICAgIHZvaWQgKCpob29rKShzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSwKKwkJCQkJICAgIHN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbCkpCit7CisJYm9vbCBoYXNf c3luYzsKKwlpbnQgZXJyOworCisJLyogU3VibWl0IGJvdGggcmVxdWVzdHMgYXQgdGhlIHNhbWUg dGltZSAqLworCWVyciA9IF9fYXdhaXRfZXhlY3V0aW9uKHRvLCBmcm9tLCBob29rLCBJOTE1X0ZF TkNFX0dGUCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlmICghdG8tPmVuZ2luZS0+ c2NoZWR1bGUpCisJCXJldHVybiAwOworCisJLyogU3F1YXNoIHJlcGVhdGVkIGRlcGVuZW5kaWNl cyB0byB0aGUgc2FtZSB0aW1lbGluZXMgKi8KKwlpZiAoaW50ZWxfdGltZWxpbmVfc3luY19oYXNf c3RhcnQoaTkxNV9yZXF1ZXN0X3RpbWVsaW5lKHRvKSwKKwkJCQkJICAmZnJvbS0+ZmVuY2UpKQor CQlyZXR1cm4gMDsKKworCS8qIEVuc3VyZSBib3RoIHN0YXJ0IHRvZ2V0aGVyIGFmdGVyIGFsbCBz ZW1hcGhvcmVzIGluIHNpZ25hbCAqLworCWlmIChmcm9tLT5zY2hlZC5zZW1hcGhvcmVzICYmICFo YXNfc3luYykgeworCQllcnIgPV9fZW1pdF9zZW1hcGhvcmVfd2FpdCh0bywgZnJvbSwgZnJvbS0+ ZmVuY2Uuc2Vxbm8gLSAxKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CisJfQorCisJLyog Q291cGxlIHRoZSBkZXBlbmRlbmN5IHRyZWUgZm9yIFBJIG9uIHRoaXMgZXhwb3NlZCB0by0+ZmVu Y2UgKi8KKwllcnIgPSBpOTE1X3NjaGVkX25vZGVfYWRkX2RlcGVuZGVuY3koJnRvLT5zY2hlZCwg JmZyb20tPnNjaGVkKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXJldHVybiBp bnRlbF90aW1lbGluZV9zeW5jX3NldF9zdGFydChpOTE1X3JlcXVlc3RfdGltZWxpbmUodG8pLAor CQkJCQkgICAgICZmcm9tLT5mZW5jZSk7Cit9CisKIGludAogaTkxNV9yZXF1ZXN0X2F3YWl0X2V4 ZWN1dGlvbihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkJCSAgICAgc3RydWN0IGRtYV9mZW5j ZSAqZmVuY2UsCkBAIC0xMDI2LDggKzEwOTIsNyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0 aW9uKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAogCQlpZiAoZG1hX2ZlbmNlX2lzX2k5MTUoZmVu Y2UpKQogCQkJcmV0ID0gX19pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHJxLAogCQkJCQkJ CSAgICAgdG9fcmVxdWVzdChmZW5jZSksCi0JCQkJCQkJICAgICBob29rLAotCQkJCQkJCSAgICAg STkxNV9GRU5DRV9HRlApOworCQkJCQkJCSAgICAgaG9vayk7CiAJCWVsc2UKIAkJCXJldCA9IGk5 MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZycS0+c3VibWl0LCBmZW5jZSwKIAkJCQkJCQkg ICAgSTkxNV9GRU5DRV9USU1FT1VULApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMK aW5kZXggYWQ2ZmY1MmJjMzE2Li4wMGY1ZDEwN2YyYjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zY2hlZHVsZXIuYwpAQCAtNDkyLDcgKzQ5Miw2IEBAIHZvaWQgaTkxNV9zY2hlZF9ub2RlX2Zp bmkoc3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSkKIAkgKiBzbyB3ZSBtYXkgYmUgY2FsbGVk IG91dC1vZi1vcmRlci4KIAkgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZGVwLCB0bXAs ICZub2RlLT5zaWduYWxlcnNfbGlzdCwgc2lnbmFsX2xpbmspIHsKLQkJR0VNX0JVR19PTighbm9k ZV9zaWduYWxlZChkZXAtPnNpZ25hbGVyKSk7CiAJCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJmRl cC0+ZGZzX2xpbmspKTsKIAogCQlsaXN0X2RlbCgmZGVwLT53YWl0X2xpbmspOwotLSAKMi4yNC4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=