From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 28/38] drm/i915: Added debug state dump facilities to scheduler Date: Mon, 11 Jan 2016 18:42:57 +0000 Message-ID: <1452537788-32136-29-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C98C66E51B for ; Mon, 11 Jan 2016 10:43:39 -0800 (PST) In-Reply-To: <1452537788-32136-1-git-send-email-John.C.Harrison@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCldoZW4gZGVi dWdnaW5nIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uIGlzc3VlcywgaXQgaXMgdXNlZnVsIHRvIGJl IGFibGUKdG8gc2VlIHdoYXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHNjaGVkdWxlciBpcy4g VGhpcyBjaGFuZ2UgYWRkcwpmdW5jdGlvbnMgZm9yIGRlY29kaW5nIHRoZSBpbnRlcm5hbCBzY2hl ZHVsZXIgc3RhdGUgYW5kIHJlcG9ydGluZyBpdC4KCnYzOiBVcGRhdGVkIGEgZGVidWcgbWVzc2Fn ZSB3aXRoIHRoZSBuZXcgc3RhdGVfc3RyKCkgZnVuY3Rpb24uCgp2NDogV3JhcHBlZCBzb21lIGxv bmcgbGluZXMgdG8ga2VlcCB0aGUgc3R5bGUgY2hlY2tlciBoYXBweS4gUmVtb3ZlZAp0aGUgZmVu Y2Uvc3luYyBjb2RlIGFzIHRoYXQgd2lsbCBub3cgYmUgcGFydCBvZiBhIHNlcGFyYXRlIHBhdGNo IHNlcmllcy4KCkZvcjogVklaLTE1ODcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9o bi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5jIHwgMjgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmggfCAgMTQgKysKIDIgZmlsZXMgY2hhbmdl ZCwgMjkzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc2NoZWR1bGVyLmMKaW5kZXggYmU1ZGYyMi4uMmI0Yjc0ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NjaGVkdWxlci5jCkBAIC0zNSw2ICszNSwxMCBAQCBzdGF0aWMgaW50ICAgICAgICAg aTkxNV9zY2hlZHVsZXJfc3VibWl0X21heF9wcmlvcml0eShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaQogCQkJCQkJICAgICAgYm9vbCBpc19sb2NrZWQpOwogc3RhdGljIHVpbnQzMl90ICAgIGk5 MTVfc2NoZWR1bGVyX2NvdW50X2ZseWluZyhzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxl ciwKIAkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOworc3RhdGljIGlu dCAgICAgICAgIGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCisJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm1zZyk7CitzdGF0aWMgaW50ICAgICAg ICAgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CisJCQkJCQkgIGNvbnN0IGNoYXIgKm1zZyk7CiBzdGF0aWMgdm9pZCAgICAgICAgaTkxNV9zY2hl ZHVsZXJfcHJpb3JpdHlfYnVtcF9jbGVhcihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxl cik7CiBzdGF0aWMgaW50ICAgICAgICAgaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcChzdHJ1 Y3QgaTkxNV9zY2hlZHVsZXIgKnNjaGVkdWxlciwKIAkJCQkJCXN0cnVjdCBpOTE1X3NjaGVkdWxl cl9xdWV1ZV9lbnRyeSAqdGFyZ2V0LApAQCAtNTIsNiArNTYsMTE2IEBAIGJvb2wgaTkxNV9zY2hl ZHVsZXJfaXNfZW5hYmxlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXJldHVybiBkZXZfcHJp di0+c2NoZWR1bGVyICE9IE5VTEw7CiB9CiAKK2NvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3Ry KHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSkKK3sKKwlzdGF0aWMgY2hh cglzdHJbNTBdOworCWNoYXIJCSpwdHIgPSBzdHI7CisKKwkqKHB0cisrKSA9IG5vZGUtPmJ1bXBl ZCA/ICdCJyA6ICctJywKKwkqKHB0cisrKSA9IGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKG5v ZGUtPnBhcmFtcy5yZXF1ZXN0KSA/ICdDJyA6ICctJzsKKworCSpwdHIgPSAwOworCisJcmV0dXJu IHN0cjsKK30KKworY2hhciBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVudW0gaTkx NV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzIHN0YXR1cykKK3sKKwlzd2l0Y2ggKHN0YXR1cykgewor CWNhc2UgaTkxNV9zcXNfbm9uZToKKwlyZXR1cm4gJ04nOworCisJY2FzZSBpOTE1X3Nxc19xdWV1 ZWQ6CisJcmV0dXJuICdRJzsKKworCWNhc2UgaTkxNV9zcXNfcG9wcGVkOgorCXJldHVybiAnWCc7 CisKKwljYXNlIGk5MTVfc3FzX2ZseWluZzoKKwlyZXR1cm4gJ0YnOworCisJY2FzZSBpOTE1X3Nx c19jb21wbGV0ZToKKwlyZXR1cm4gJ0MnOworCisJY2FzZSBpOTE1X3Nxc19kZWFkOgorCXJldHVy biAnRCc7CisKKwlkZWZhdWx0OgorCWJyZWFrOworCX0KKworCXJldHVybiAnPyc7Cit9CisKK2Nv bnN0IGNoYXIgKmk5MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19zdHIoCisJCQkJZW51bSBpOTE1 X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXMgc3RhdHVzKQoreworCXN0YXRpYyBjaGFyCXN0cls1MF07 CisKKwlzd2l0Y2ggKHN0YXR1cykgeworCWNhc2UgaTkxNV9zcXNfbm9uZToKKwlyZXR1cm4gIk5v bmUiOworCisJY2FzZSBpOTE1X3Nxc19xdWV1ZWQ6CisJcmV0dXJuICJRdWV1ZWQiOworCisJY2Fz ZSBpOTE1X3Nxc19wb3BwZWQ6CisJcmV0dXJuICJQb3BwZWQiOworCisJY2FzZSBpOTE1X3Nxc19m bHlpbmc6CisJcmV0dXJuICJGbHlpbmciOworCisJY2FzZSBpOTE1X3Nxc19jb21wbGV0ZToKKwly ZXR1cm4gIkNvbXBsZXRlIjsKKworCWNhc2UgaTkxNV9zcXNfZGVhZDoKKwlyZXR1cm4gIkRlYWQi OworCisJZGVmYXVsdDoKKwlicmVhazsKKwl9CisKKwlzcHJpbnRmKHN0ciwgIltVbmtub3duXyVk IV0iLCBzdGF0dXMpOworCXJldHVybiBzdHI7Cit9CisKK2NvbnN0IGNoYXIgKmk5MTVfc2NoZWR1 bGVyX2ZsYWdfc3RyKHVpbnQzMl90IGZsYWdzKQoreworCXN0YXRpYyBjaGFyICAgICBzdHJbMTAw XTsKKwljaGFyICAgICAgICAgICAqcHRyID0gc3RyOworCisJKnB0ciA9IDA7CisKKyNkZWZpbmUg VEVTVF9GTEFHKGZsYWcsIG1zZykJCQkJCQlcCisJZG8gewkJCQkJCQkJXAorCQlpZiAoZmxhZ3Mg JiAoZmxhZykpIHsJCQkJCVwKKwkJCXN0cmNweShwdHIsIG1zZyk7CQkJCVwKKwkJCXB0ciArPSBz dHJsZW4ocHRyKTsJCQkJXAorCQkJZmxhZ3MgJj0gfihmbGFnKTsJCQkJXAorCQl9CQkJCQkJCVwK Kwl9IHdoaWxlICgwKQorCisJVEVTVF9GTEFHKGk5MTVfc2ZfaW50ZXJydXB0c19lbmFibGVkLCAi SW50T258Iik7CisJVEVTVF9GTEFHKGk5MTVfc2Zfc3VibWl0dGluZywgICAgICAgICAiU3VibWl0 dGluZ3wiKTsKKwlURVNUX0ZMQUcoaTkxNV9zZl9kdW1wX2ZvcmNlLCAgICAgICAgICJEdW1wRm9y Y2V8Iik7CisJVEVTVF9GTEFHKGk5MTVfc2ZfZHVtcF9kZXRhaWxzLCAgICAgICAiRHVtcERldGFp bHN8Iik7CisJVEVTVF9GTEFHKGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNpZXMsICAiRHVtcERlcHN8 Iik7CisKKyN1bmRlZiBURVNUX0ZMQUcKKworCWlmIChmbGFncykgeworCQlzcHJpbnRmKHB0ciwg IlVua25vd25fMHglWCEiLCBmbGFncyk7CisJCXB0ciArPSBzdHJsZW4ocHRyKTsKKwl9CisKKwlp ZiAocHRyID09IHN0cikKKwkJc3RyY3B5KHN0ciwgIi0iKTsKKwllbHNlCisJCXB0clstMV0gPSAw OworCisJcmV0dXJuIHN0cjsKK307CisKIGludCBpOTE1X3NjaGVkdWxlcl9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTYzMCw2ICs3NDQsMTY5IEBAIHZvaWQgaTkxNV9nZW1fc2No ZWR1bGVyX3dvcmtfaGFuZGxlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJfQogfQogCitp bnQgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3Qg Y2hhciAqbXNnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9w cml2LT5zY2hlZHVsZXI7CisJdW5zaWduZWQgbG9uZyAgIGZsYWdzOworCWludCAgICAgICAgICAg ICByZXQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CisJ cmV0ID0gaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKGRldiwgbXNnKTsKKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7 Cit9CisKK3N0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfZHVtcF9hbGxfbG9ja2VkKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCisJCQkJCSAgY29uc3QgY2hhciAqbXNnKQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVf c2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5zY2hlZHVsZXI7CisJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAgKnJpbmc7CisJaW50ICAgICAgICAgICAgICAgICAgICAgaSwgciwgcmV0 ID0gMDsKKworCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKKwkJc2NoZWR1bGVy LT5mbGFnc1tyaW5nLT5pZF0gfD0gaTkxNV9zZl9kdW1wX2ZvcmNlICAgfAorCQkJCQkgICAgICBp OTE1X3NmX2R1bXBfZGV0YWlscyB8CisJCQkJCSAgICAgIGk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNp ZXM7CisJCXIgPSBpOTE1X3NjaGVkdWxlcl9kdW1wX2xvY2tlZChyaW5nLCBtc2cpOworCQlpZiAo cmV0ID09IDApCisJCQlyZXQgPSByOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK2ludCBpOTE1 X3NjaGVkdWxlcl9kdW1wKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGNvbnN0IGNoYXIg Km1zZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSByaW5nLT5kZXYt PmRldl9wcml2YXRlOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZf cHJpdi0+c2NoZWR1bGVyOworCXVuc2lnbmVkIGxvbmcgICBmbGFnczsKKwlpbnQgICAgICAgICAg ICAgcmV0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOwor CXJldCA9IGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHJpbmcsIG1zZyk7CisJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CisKKwlyZXR1cm4gcmV0Owor fQorCitzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX2R1bXBfbG9ja2VkKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCisJCQkJICAgICAgY29uc3QgY2hhciAqbXNnKQoreworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5zY2hlZHVsZXI7CisJ c3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICAqbm9kZTsKKwlpbnQgICAgICAgICAg ICAgICAgIGZseWluZyA9IDAsIHF1ZXVlZCA9IDAsIGNvbXBsZXRlID0gMCwgb3RoZXIgPSAwOwor CXN0YXRpYyBpbnQgICAgICAgICAgb2xkX2ZseWluZyA9IC0xLCBvbGRfcXVldWVkID0gLTEsIG9s ZF9jb21wbGV0ZSA9IC0xOworCWJvb2wgICAgICAgICAgICAgICAgYl9kdW1wOworCWNoYXIgICAg ICAgICAgICAgICAgYnJrdFsyXSA9IHsgJzwnLCAnPicgfTsKKworCWlmICghcmluZykKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KG5vZGUsICZzY2hlZHVsZXItPm5v ZGVfcXVldWVbcmluZy0+aWRdLCBsaW5rKSB7CisJCWlmIChJOTE1X1NRU19JU19RVUVVRUQobm9k ZSkpCisJCQlxdWV1ZWQrKzsKKwkJZWxzZSBpZiAoSTkxNV9TUVNfSVNfRkxZSU5HKG5vZGUpKQor CQkJZmx5aW5nKys7CisJCWVsc2UgaWYgKEk5MTVfU1FTX0lTX0NPTVBMRVRFKG5vZGUpKQorCQkJ Y29tcGxldGUrKzsKKwkJZWxzZQorCQkJb3RoZXIrKzsKKwl9CisKKwliX2R1bXAgPSAoZmx5aW5n ICE9IG9sZF9mbHlpbmcpIHx8CisJCSAocXVldWVkICE9IG9sZF9xdWV1ZWQpIHx8CisJCSAoY29t cGxldGUgIT0gb2xkX2NvbXBsZXRlKTsKKwlpZiAoc2NoZWR1bGVyLT5mbGFnc1tyaW5nLT5pZF0g JiBpOTE1X3NmX2R1bXBfZm9yY2UpIHsKKwkJaWYgKCFiX2R1bXApIHsKKwkJCWJfZHVtcCA9IHRy dWU7CisJCQlicmt0WzBdID0gJ3snOworCQkJYnJrdFsxXSA9ICd9JzsKKwkJfQorCisJCXNjaGVk dWxlci0+ZmxhZ3NbcmluZy0+aWRdICY9IH5pOTE1X3NmX2R1bXBfZm9yY2U7CisJfQorCisJaWYg KGJfZHVtcCkgeworCQlvbGRfZmx5aW5nICAgPSBmbHlpbmc7CisJCW9sZF9xdWV1ZWQgICA9IHF1 ZXVlZDsKKwkJb2xkX2NvbXBsZXRlID0gY29tcGxldGU7CisJCURSTV9ERUJVR19EUklWRVIoIjwl cz4gUTolMDJkLCBGOiUwMmQsIEM6JTAyZCwgTzolMDJkLCAiCisJCQkJICJGbGFncyA9ICVzLCBO ZXh0ID0gJWQ6JWQgJWMlcyVjXG4iLAorCQkJCSByaW5nLT5uYW1lLCBxdWV1ZWQsIGZseWluZywg Y29tcGxldGUsIG90aGVyLAorCQkJCSBpOTE1X3NjaGVkdWxlcl9mbGFnX3N0cihzY2hlZHVsZXIt PmZsYWdzW3JpbmctPmlkXSksCisJCQkJIGRldl9wcml2LT5yZXF1ZXN0X3VuaXEsIGRldl9wcml2 LT5uZXh0X3NlcW5vLAorCQkJCSBicmt0WzBdLCBtc2csIGJya3RbMV0pOworCX0gZWxzZSB7CisJ CS8qRFJNX0RFQlVHX0RSSVZFUigiPCVzPiBROiUwMmQsIEY6JTAyZCwgQzolMDJkLCBPOiUwMmQi CisJCQkJICIsIEZsYWdzID0gJXMsIE5leHQgPSAlZDolZCBbJXNdXG4iLAorCQkJCSByaW5nLT5u YW1lLAorCQkJCSBxdWV1ZWQsIGZseWluZywgY29tcGxldGUsIG90aGVyLAorCQkJCSBpOTE1X3Nj aGVkdWxlcl9mbGFnX3N0cihzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSksCisJCQkJIGRldl9w cml2LT5yZXF1ZXN0X3VuaXEsIGRldl9wcml2LT5uZXh0X3NlcW5vLCBtc2cpOyAqLworCisJCXJl dHVybiAwOworCX0KKworCWlmIChzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2Zf ZHVtcF9kZXRhaWxzKSB7CisJCWludCAgICAgICAgIGksIGRlcHM7CisJCXVpbnQzMl90ICAgIGNv dW50LCBjb3VudHNbaTkxNV9zcXNfTUFYXTsKKworCQltZW1zZXQoY291bnRzLCAweDAwLCBzaXpl b2YoY291bnRzKSk7CisKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShub2RlLCAmc2NoZWR1bGVyLT5u b2RlX3F1ZXVlW3JpbmctPmlkXSwgbGluaykgeworCQkJaWYgKG5vZGUtPnN0YXR1cyA8IGk5MTVf c3FzX01BWCkgeworCQkJCWNvdW50ID0gY291bnRzW25vZGUtPnN0YXR1c10rKzsKKwkJCX0gZWxz ZSB7CisJCQkJRFJNX0RFQlVHX0RSSVZFUigiPCVzPiAgIFVua25vd24gc3RhdHVzOiAlZCFcbiIs CisJCQkJCQkgcmluZy0+bmFtZSwgbm9kZS0+c3RhdHVzKTsKKwkJCQljb3VudCA9IC0xOworCQkJ fQorCisJCQlkZXBzID0gMDsKKwkJCWZvciAoaSA9IDA7IGkgPCBub2RlLT5udW1fZGVwczsgaSsr KQorCQkJCWlmIChpOTE1X3NjaGVkdWxlcl9pc19kZXBlbmRlbmN5X3ZhbGlkKG5vZGUsIGkpKQor CQkJCQlkZXBzKys7CisKKwkJCURSTV9ERUJVR19EUklWRVIoIjwlcz4gICAlYzolMDJkPiB1bmlx ID0gJWQsIHNlcW5vIgorCQkJCQkgIiA9ICVkLyVzLCBkZXBzID0gJWQgLyAlZCwgJXMgW3ByaSA9 ICIKKwkJCQkJICIlNGRdXG4iLCByaW5nLT5uYW1lLAorCQkJCQkgaTkxNV9zY2hlZHVsZXJfcXVl dWVfc3RhdHVzX2Nocihub2RlLT5zdGF0dXMpLAorCQkJCQkgY291bnQsCisJCQkJCSBub2RlLT5w YXJhbXMucmVxdWVzdC0+dW5pcSwKKwkJCQkJIG5vZGUtPnBhcmFtcy5yZXF1ZXN0LT5zZXFubywK KwkJCQkJIG5vZGUtPnBhcmFtcy5yaW5nLT5uYW1lLAorCQkJCQkgZGVwcywgbm9kZS0+bnVtX2Rl cHMsCisJCQkJCSBpOTE1X3FlX3N0YXRlX3N0cihub2RlKSwKKwkJCQkJIG5vZGUtPnByaW9yaXR5 KTsKKworCQkJaWYgKChzY2hlZHVsZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2ZfZHVtcF9k ZXBlbmRlbmNpZXMpCisJCQkJPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJZm9yIChpID0gMDsg aSA8IG5vZGUtPm51bV9kZXBzOyBpKyspCisJCQkJaWYgKG5vZGUtPmRlcF9saXN0W2ldKQorCQkJ CQlEUk1fREVCVUdfRFJJVkVSKCI8JXM+ICAgICAgIHwtJWM6IgorCQkJCQkJIiUwMmQlYyB1bmlx ID0gJWQsIHNlcW5vID0gJWQvJXMsICVzIFtwcmkgPSAlNGRdXG4iLAorCQkJCQkJcmluZy0+bmFt ZSwKKwkJCQkJCWk5MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1c19jaHIobm9kZS0+ZGVwX2xpc3Rb aV0tPnN0YXR1cyksCisJCQkJCQlpLAorCQkJCQkJaTkxNV9zY2hlZHVsZXJfaXNfZGVwZW5kZW5j eV92YWxpZChub2RlLCBpKQorCQkJCQkJCT8gJz4nIDogJyMnLAorCQkJCQkJbm9kZS0+ZGVwX2xp c3RbaV0tPnBhcmFtcy5yZXF1ZXN0LT51bmlxLAorCQkJCQkJbm9kZS0+ZGVwX2xpc3RbaV0tPnBh cmFtcy5yZXF1ZXN0LT5zZXFubywKKwkJCQkJCW5vZGUtPmRlcF9saXN0W2ldLT5wYXJhbXMucmlu Zy0+bmFtZSwKKwkJCQkJCWk5MTVfcWVfc3RhdGVfc3RyKG5vZGUtPmRlcF9saXN0W2ldKSwKKwkJ CQkJCW5vZGUtPmRlcF9saXN0W2ldLT5wcmlvcml0eSk7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsK K30KKwogaW50IGk5MTVfc2NoZWR1bGVyX2ZsdXNoX3N0YW1wKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCiAJCQkgICAgICAgdW5zaWduZWQgbG9uZyB0YXJnZXQsCiAJCQkgICAgICAgYm9v bCBpc19sb2NrZWQpCkBAIC0xMDk4LDEwICsxMzc1LDEwIEBAIGludCBpOTE1X3NjaGVkdWxlcl9j bG9zZWZpbGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQog CQkJCWNvbnRpbnVlOwogCiAJCQlpZiAoIUk5MTVfU1FTX0lTX0NPTVBMRVRFKG5vZGUpKQotCQkJ CURSTV9ERUJVR19EUklWRVIoIkNsb3NpbmcgZmlsZSBoYW5kbGUgd2l0aCBvdXRzdGFuZGluZyB3 b3JrOiAlZDolZC8lZCBvbiAlc1xuIiwKKwkJCQlEUk1fREVCVUdfRFJJVkVSKCJDbG9zaW5nIGZp bGUgaGFuZGxlIHdpdGggb3V0c3RhbmRpbmcgd29yazogJWQ6JWQvJXMgb24gJXNcbiIsCiAJCQkJ CQkgbm9kZS0+cGFyYW1zLnJlcXVlc3QtPnVuaXEsCiAJCQkJCQkgbm9kZS0+cGFyYW1zLnJlcXVl c3QtPnNlcW5vLAotCQkJCQkJIG5vZGUtPnN0YXR1cywKKwkJCQkJCSBpOTE1X3FlX3N0YXRlX3N0 cihub2RlKSwKIAkJCQkJCSByaW5nLT5uYW1lKTsKIAogCQkJaTkxNV9zY2hlZHVsZXJfZmlsZV9x dWV1ZV9kZWMobm9kZS0+cGFyYW1zLmZpbGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmgKaW5kZXggNGNmYzFmZS4uOTkwZjA5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5oCkBAIC00MSw2ICs0MSw5IEBAIGVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVfc3Rh dHVzIHsKIAkvKiBMaW1pdCB2YWx1ZSBmb3IgdXNlIHdpdGggYXJyYXlzL2xvb3BzICovCiAJaTkx NV9zcXNfTUFYCiB9OworY2hhciBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0dXNfY2hyKGVudW0g aTkxNV9zY2hlZHVsZXJfcXVldWVfc3RhdHVzIHN0YXR1cyk7Citjb25zdCBjaGFyICppOTE1X3Nj aGVkdWxlcl9xdWV1ZV9zdGF0dXNfc3RyKAorCQkJCWVudW0gaTkxNV9zY2hlZHVsZXJfcXVldWVf c3RhdHVzIHN0YXR1cyk7CiAKICNkZWZpbmUgSTkxNV9TUVNfSVNfUVVFVUVEKG5vZGUpCSgoKG5v ZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfcXVldWVkKSkKICNkZWZpbmUgSTkxNV9TUVNfSVNfRkxZ SU5HKG5vZGUpCSgoKG5vZGUpLT5zdGF0dXMgPT0gaTkxNV9zcXNfZmx5aW5nKSkKQEAgLTY1LDYg KzY4LDcgQEAgc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5IHsKIAl1bnNpZ25lZCBs b25nICAgICAgICAgICAgICAgICAgICAgICBzdGFtcDsKIAlzdHJ1Y3QgbGlzdF9oZWFkICAgICAg ICAgICAgICAgICAgICBsaW5rOwogfTsKK2NvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3RyKHN0 cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSk7CiAKIHN0cnVjdCBpOTE1X3Nj aGVkdWxlciB7CiAJc3RydWN0IGxpc3RfaGVhZCAgICBub2RlX3F1ZXVlW0k5MTVfTlVNX1JJTkdT XTsKQEAgLTgxLDkgKzg1LDE2IEBAIHN0cnVjdCBpOTE1X3NjaGVkdWxlciB7CiAKIC8qIEZsYWcg Yml0cyBmb3IgaTkxNV9zY2hlZHVsZXI6OmZsYWdzICovCiBlbnVtIHsKKwkvKiBJbnRlcm5hbCBz dGF0ZSAqLwogCWk5MTVfc2ZfaW50ZXJydXB0c19lbmFibGVkICA9ICgxIDw8IDApLAogCWk5MTVf c2Zfc3VibWl0dGluZyAgICAgICAgICA9ICgxIDw8IDEpLAorCisJLyogRHVtcC9kZWJ1ZyBmbGFn cyAqLworCWk5MTVfc2ZfZHVtcF9mb3JjZSAgICAgICAgICA9ICgxIDw8IDgpLAorCWk5MTVfc2Zf ZHVtcF9kZXRhaWxzICAgICAgICA9ICgxIDw8IDkpLAorCWk5MTVfc2ZfZHVtcF9kZXBlbmRlbmNp ZXMgICA9ICgxIDw8IDEwKSwKIH07Citjb25zdCBjaGFyICppOTE1X3NjaGVkdWxlcl9mbGFnX3N0 cih1aW50MzJfdCBmbGFncyk7CiAKIC8qIE9wdGlvbnMgZm9yICdzY2hlZHVsZXJfb3ZlcnJpZGUn IG1vZHVsZSBwYXJhbWV0ZXI6ICovCiBlbnVtIHsKQEAgLTEwMyw2ICsxMTQsOSBAQCB2b2lkICAg ICAgICBpOTE1X2dlbV9zY2hlZHVsZXJfd29ya19oYW5kbGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yayk7CiBpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9mbHVzaChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLCBib29sIGlzX2xvY2tlZCk7CiBpbnQgICAgICAgICBpOTE1X3NjaGVkdWxl cl9mbHVzaF9zdGFtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJCSAgICAgICB1 bnNpZ25lZCBsb25nIHN0YW1wLCBib29sIGlzX2xvY2tlZCk7CitpbnQgICAgICAgICBpOTE1X3Nj aGVkdWxlcl9kdW1wKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJY29uc3QgY2hh ciAqbXNnKTsKK2ludCAgICAgICAgIGk5MTVfc2NoZWR1bGVyX2R1bXBfYWxsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKm1zZyk7CiBib29sICAgICAgICBpOTE1X3NjaGVkdWxl cl9pc19yZXF1ZXN0X3RyYWNrZWQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJ CQkJCSAgICAgIGJvb2wgKmNvbXBsZXRlZCwgYm9vbCAqYnVzeSk7CiBib29sICAgICAgICBpOTE1 X3NjaGVkdWxlcl9maWxlX3F1ZXVlX2lzX2Z1bGwoc3RydWN0IGRybV9maWxlICpmaWxlKTsKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=