From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [RFCv2 04/12] drm/i915: Extending i915_gem_check_wedge to check engine reset in progress Date: Tue, 21 Jul 2015 14:58:47 +0100 Message-ID: <1437487135-32520-5-git-send-email-tomas.elf@intel.com> References: <1437487135-32520-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id ADDAA7208B for ; Tue, 21 Jul 2015 06:59:39 -0700 (PDT) In-Reply-To: <1437487135-32520-1-git-send-email-tomas.elf@intel.com> 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: Ian Lister List-Id: intel-gfx@lists.freedesktop.org aTkxNV9nZW1fd2VkZ2Ugbm93IHJldHVybnMgYSBwb3NpdGl2ZSByZXN1bHQgaW4gdGhyZWUgZGlm ZmVyZW50IGNhc2VzOgoKMS4gTGVnYWN5OiBBIGhhbmcgaGFzIGJlZW4gZGV0ZWN0ZWQgYW5kIGZ1 bGwgR1BVIHJlc2V0IGhhcyBiZWVuIHByb21vdGVkLgoKMi4gUGVyLWVuZ2luZSByZWNvdmVyeToK CglhLiBBIHNpbmdsZSBlbmdpbmUgcmVmZXJlbmNlIGNhbiBiZSBwYXNzZWQgdG8gdGhlIGZ1bmN0 aW9uLCBpbiB3aGljaAoJY2FzZSBvbmx5IHRoYXQgZW5naW5lIHdpbGwgYmUgY2hlY2tlZC4gSWYg dGhhdCBwYXJ0aWN1bGFyIGVuZ2luZSBpcwoJZGV0ZWN0ZWQgdG8gYmUgaHVuZyBhbmQgaXMgdG8g YmUgcmVzZXQgdGhpcyB3aWxsIHlpZWxkIGEgcG9zaXRpdmUKCXJlc3VsdCBidXQgbm90IGlmIHJl c2V0IGlzIGluIHByb2dyZXNzIGZvciBhbnkgb3RoZXIgZW5naW5lLgoKCWIuIE5vIGVuZ2luZSBy ZWZlcmVuY2UgaXMgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiwgaW4gd2hpY2ggY2FzZSBhbGwKCWVu Z2luZXMgYXJlIGNoZWNrZWQgZm9yIG9uZ29pbmcgcGVyLWVuZ2luZSBoYW5nIHJlY292ZXJ5LgoK QWxzbywgaTkxNV93YWl0X3JlcXVlc3Qgd2FzIHVwZGF0ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2Yg dGhpcyBuZXcKZnVuY3Rpb25hbGl0eS4gVGhpcyBpcyBpbXBvcnRhbnQgc2luY2UgdGhlIFREUiBo YW5nIHJlY292ZXJ5IG1lY2hhbmlzbSBuZWVkcyBhCndheSB0byBmb3JjZSB3YWl0aW5nIHRocmVh ZHMgdGhhdCBob2xkIHRoZSBzdHJ1Y3RfbXV0ZXggdG8gZ2l2ZSB1cCB0aGUKc3RydWN0X211dGV4 IGFuZCB0cnkgYWdhaW4gYWZ0ZXIgdGhlIGhhbmcgcmVjb3ZlcnkgaGFzIGNvbXBsZXRlZC4gSWYK aTkxNV93YWl0X3JlcXVlc3QgZG9lcyBub3QgdGFrZSBwZXItZW5naW5lIGhhbmcgcmVjb3Zlcnkg aW50byBhY2NvdW50IHRoZXJlIGlzCm5vIHdheSBmb3IgYSB3YWl0aW5nIHRocmVhZCB0byBrbm93 IHRoYXQgYSBwZXItZW5naW5lIHJlY292ZXJ5IGlzIGFib3V0IHRvCmhhcHBlbiBhbmQgdGhhdCBp dCBuZWVkcyB0byBiYWNrIG9mZi4KCiogdjIgKENocmlzIFdpbHNvbik6ClJlbW92ZWQgdW53YXJy YW50ZWQgY2hhbmdlcyBtYWRlIHRvIGk5MTVfZ2VtX3JpbmdfdGhyb3R0bGUoKS4KClNpZ25lZC1v ZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1 biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IElhbiBM aXN0ZXIgPGlhbi5saXN0ZXJAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAg MyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgNjMgKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jIHwgIDMgKy0KIDQgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYmU0Yzk1Yy4uZjRkMGMxZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yODA3LDcgKzI4MDcsOCBAQCBpOTE1X2dlbV9maW5k X2FjdGl2ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwogCiBib29sIGk5 MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaTkx NV9nZW1fcmV0aXJlX3JlcXVlc3RzX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7 Ci1pbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2NoZWNrX3dlZGdlKHN0cnVjdCBpOTE1X2dwdV9l cnJvciAqZXJyb3IsCitpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2NoZWNrX3dlZGdlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCiAJCQkJICAgICAgYm9vbCBpbnRlcnJ1cHRpYmxlKTsKIGludCBfX211 c3RfY2hlY2sgaTkxNV9nZW1fY2hlY2tfb2xyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNGY0ZmMzZTAuLjAzNjczNWIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtOTcsMTIgKzk3LDM4IEBAIHN0YXRpYyB2b2lkIGk5 MTVfZ2VtX2luZm9fcmVtb3ZlX29iaihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJc3Bpbl91bmxvY2soJmRldl9wcml2LT5tbS5vYmplY3Rfc3RhdF9sb2NrKTsKIH0KIAorc3Rh dGljIGlubGluZSBpbnQKK2k5MTVfZW5naW5lX3Jlc2V0X2luX3Byb2dyZXNzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp Cit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoZW5naW5lKSB7CisJCXJldCA9ICEhKGF0b21pY19y ZWFkKCZkZXZfcHJpdi0+cmluZ1tlbmdpbmUtPmlkXS5oYW5nY2hlY2suZmxhZ3MpCisJCQkmIEk5 MTVfRU5HSU5FX1JFU0VUX0lOX1BST0dSRVNTKTsKKwl9IGVsc2UgeworCQlpbnQgaTsKKworCQlm b3IgKGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykKKwkJCWlmIChhdG9taWNfcmVhZCgm ZGV2X3ByaXYtPnJpbmdbaV0uaGFuZ2NoZWNrLmZsYWdzKQorCQkJCSYgSTkxNV9FTkdJTkVfUkVT RVRfSU5fUFJPR1JFU1MpIHsKKworCQkJCXJldCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJfQor CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludAotaTkxNV9nZW1fd2FpdF9mb3JfZXJyb3Io c3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJvcikKK2k5MTVfZ2VtX3dhaXRfZm9yX2Vycm9yKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlpbnQgcmV0OworCXN0cnVjdCBp OTE1X2dwdV9lcnJvciAqZXJyb3IgPSAmZGV2X3ByaXYtPmdwdV9lcnJvcjsKIAogI2RlZmluZSBF WElUX0NPTkQgKCFpOTE1X3Jlc2V0X2luX3Byb2dyZXNzKGVycm9yKSB8fCBcCisJCSAgICFpOTE1 X2VuZ2luZV9yZXNldF9pbl9wcm9ncmVzcyhkZXZfcHJpdiwgTlVMTCkgfHwgXAogCQkgICBpOTE1 X3Rlcm1pbmFsbHlfd2VkZ2VkKGVycm9yKSkKIAlpZiAoRVhJVF9DT05EKQogCQlyZXR1cm4gMDsK QEAgLTEzMSw3ICsxNTcsNyBAQCBpbnQgaTkxNV9tdXRleF9sb2NrX2ludGVycnVwdGlibGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwogCWludCByZXQ7CiAKLQlyZXQgPSBpOTE1X2dlbV93YWl0X2Zv cl9lcnJvcigmZGV2X3ByaXYtPmdwdV9lcnJvcik7CisJcmV0ID0gaTkxNV9nZW1fd2FpdF9mb3Jf ZXJyb3IoZGV2X3ByaXYpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTExMjgsMTAg KzExNTQsMTUgQEAgcHV0X3JwbToKIH0KIAogaW50Ci1pOTE1X2dlbV9jaGVja193ZWRnZShzdHJ1 Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yLAoraTkxNV9nZW1fY2hlY2tfd2VkZ2Uoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIAkJICAgICBib29sIGludGVycnVwdGlibGUpCiB7Ci0JaWYgKGk5MTVfcmVzZXRf aW5fcHJvZ3Jlc3MoZXJyb3IpKSB7CisJc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJvciA9ICZk ZXZfcHJpdi0+Z3B1X2Vycm9yOworCisJaWYgKGk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3MoZXJyb3Ip IHx8CisJICAgIGk5MTVfZW5naW5lX3Jlc2V0X2luX3Byb2dyZXNzKGRldl9wcml2LCBlbmdpbmUp KSB7CisKIAkJLyogTm9uLWludGVycnVwdGlibGUgY2FsbGVycyBjYW4ndCBoYW5kbGUgLUVBR0FJ TiwgaGVuY2UgcmV0dXJuCiAJCSAqIC1FSU8gdW5jb25kaXRpb25hbGx5IGZvciB0aGVzZS4gKi8K IAkJaWYgKCFpbnRlcnJ1cHRpYmxlKQpAQCAtMTIxMyw2ICsxMjQ0LDcgQEAgaW50IF9faTkxNV93 YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJdW5zaWduZWQg bG9uZyB0aW1lb3V0X2V4cGlyZTsKIAlzNjQgYmVmb3JlLCBub3c7CiAJaW50IHJldDsKKwlpbnQg cmVzZXRfaW5fcHJvZ3Jlc3MgPSAwOwogCiAJV0FSTighaW50ZWxfaXJxc19lbmFibGVkKGRldl9w cml2KSwgIklSUXMgZGlzYWJsZWQiKTsKIApAQCAtMTIzOSwxMSArMTI3MSwxNyBAQCBpbnQgX19p OTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCQkv KiBXZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIgYW55IGdwdSByZXNldCBoYXBwZW5lZCBpbiBiZXR3 ZWVuCiAJCSAqIHRoZSBjYWxsZXIgZ3JhYmJpbmcgdGhlIHNlcW5vIGFuZCBub3cgLi4uICovCi0J CWlmIChyZXNldF9jb3VudGVyICE9IGF0b21pY19yZWFkKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLnJl c2V0X2NvdW50ZXIpKSB7CisJCXJlc2V0X2luX3Byb2dyZXNzID0KKwkJCWk5MTVfZ2VtX2NoZWNr X3dlZGdlKHJpbmctPmRldi0+ZGV2X3ByaXZhdGUsIE5VTEwsIGludGVycnVwdGlibGUpOworCisJ CWlmICgocmVzZXRfY291bnRlciAhPSBhdG9taWNfcmVhZCgmZGV2X3ByaXYtPmdwdV9lcnJvci5y ZXNldF9jb3VudGVyKSkgfHwKKwkJICAgICByZXNldF9pbl9wcm9ncmVzcykgeworCiAJCQkvKiAu Li4gYnV0IHVwZ3JhZGUgdGhlIC1FQUdBSU4gdG8gYW4gLUVJTyBpZiB0aGUgZ3B1CiAJCQkgKiBp cyB0cnVlbHkgZ29uZS4gKi8KLQkJCXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJp di0+Z3B1X2Vycm9yLCBpbnRlcnJ1cHRpYmxlKTsKLQkJCWlmIChyZXQgPT0gMCkKKwkJCWlmIChy ZXNldF9pbl9wcm9ncmVzcykKKwkJCQlyZXQgPSByZXNldF9pbl9wcm9ncmVzczsKKwkJCWVsc2UK IAkJCQlyZXQgPSAtRUFHQUlOOwogCQkJYnJlYWs7CiAJCX0KQEAgLTEzMjcsNyArMTM2NSw3IEBA IGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCiAJ QlVHX09OKCFtdXRleF9pc19sb2NrZWQoJmRldi0+c3RydWN0X211dGV4KSk7CiAKLQlyZXQgPSBp OTE1X2dlbV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwgaW50ZXJydXB0aWJsZSk7 CisJcmV0ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoZGV2X3ByaXYsIE5VTEwsIGludGVycnVwdGli bGUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTEzOTYsNiArMTQzNCw3IEBAIGk5 MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmluZ19fbm9uYmxvY2tpbmcoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwogCXVuc2lnbmVkIHJlc2V0X2NvdW50ZXI7CiAJaW50IHJldDsKKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gTlVMTDsKIAogCUJVR19PTighbXV0ZXhfaXNf bG9ja2VkKCZkZXYtPnN0cnVjdF9tdXRleCkpOwogCUJVR19PTighZGV2X3ByaXYtPm1tLmludGVy cnVwdGlibGUpOwpAQCAtMTQwNCw3ICsxNDQzLDkgQEAgaTkxNV9nZW1fb2JqZWN0X3dhaXRfcmVu ZGVyaW5nX19ub25ibG9ja2luZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWlm ICghcmVxKQogCQlyZXR1cm4gMDsKIAotCXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZf cHJpdi0+Z3B1X2Vycm9yLCB0cnVlKTsKKwlyaW5nID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmlu ZyhyZXEpOworCisJcmV0ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoZGV2X3ByaXYsIHJpbmcsIHRy dWUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTQwNzUsMTEgKzQxMTYsMTEgQEAg aTkxNV9nZW1fcmluZ190aHJvdHRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCiAJdW5zaWduZWQgcmVzZXRfY291bnRlcjsKIAlpbnQgcmV0OwogCi0JcmV0 ID0gaTkxNV9nZW1fd2FpdF9mb3JfZXJyb3IoJmRldl9wcml2LT5ncHVfZXJyb3IpOworCXJldCA9 IGk5MTVfZ2VtX3dhaXRfZm9yX2Vycm9yKGRldl9wcml2KTsKIAlpZiAocmV0KQogCQlyZXR1cm4g cmV0OwogCi0JcmV0ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoJmRldl9wcml2LT5ncHVfZXJyb3Is IGZhbHNlKTsKKwlyZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZShkZXZfcHJpdiwgTlVMTCwgZmFs c2UpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK aW5kZXggZTAyYWJlYy4uNGExOTM4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTk4 Niw3ICs5ODYsOCBAQCBzdGF0aWMgaW50IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihzdHJ1Y3Qg aW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCWludCByZXQ7CiAKLQlyZXQgPSBpOTE1X2dlbV9j aGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwKKwlyZXQgPSBpOTE1X2dlbV9jaGVja193 ZWRnZShkZXZfcHJpdiwKKwkJCQkgICByaW5nLAogCQkJCSAgIGRldl9wcml2LT5tbS5pbnRlcnJ1 cHRpYmxlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDBmZGY5ODMuLmZjODI5NDIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTIyNTksNyArMjI1OSw4IEBAIGludCBpbnRlbF9y aW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoJmRldl9wcml2LT5ncHVfZXJyb3IsCisJcmV0 ID0gaTkxNV9nZW1fY2hlY2tfd2VkZ2UoZGV2X3ByaXYsCisJCQkJICAgcmluZywKIAkJCQkgICBk ZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=