From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 07/32] drm/amd/display: Add Dynamic debug prints Date: Tue, 3 Apr 2018 21:27:22 -0400 Message-ID: <20180404012747.5651-8-harry.wentland@amd.com> References: <20180404012747.5651-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180404012747.5651-1-harry.wentland-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Bhawanpreet Lakha RnJvbTogQmhhd2FucHJlZXQgTGFraGEgPEJoYXdhbnByZWV0Lkxha2hhQGFtZC5jb20+CgpDcmVh dGVkIE1hY3JvcyBmb3IgRENfTE9HX1hYWCB0byBwcl9kZWJ1ZygpICYgRFJNX0RFQlVHX0tNUy4K ClNpZ25lZC1vZmYtYnk6IEJoYXdhbnByZWV0IExha2hhIDxCaGF3YW5wcmVldC5MYWtoYUBhbWQu Y29tPgpSZXZpZXdlZC1ieTogSGFycnkgV2VudGxhbmQgPEhhcnJ5LldlbnRsYW5kQGFtZC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyAg fCAgNSAtLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfZGVidWcuYyAg ICAgfCAyMCArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19s aW5rLmMgICAgICB8IDE5ICsrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjX3Jlc291cmNlLmMgIHwgIDcgKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNlL2RjZV9hdWRpby5jICAgICB8ICA5ICstLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNlL2RjZV9jbG9ja19zb3VyY2UuYyAgfCAxMSArKy0tCiAuLi4vYW1kL2Rpc3BsYXkvZGMv ZGNlMTEwL2RjZTExMF9od19zZXF1ZW5jZXIuYyAgICB8ICA3ICsrLQogLi4uL2RybS9hbWQvZGlz cGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1ZW5jZXIuYyAgfCAxNCArKy0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2luY2x1ZGUvbG9nZ2VyX3R5cGVzLmggfCA2NCArKysrKysrKysr Ky0tLS0tLS0tLS0tCiA5IGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDc5IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVf ZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbS5jCmluZGV4IGEyMzk5YjUzYzllMC4uN2JjMzFmMjgwYTU2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTQzMywx MSArNDMzLDYgQEAgc3RhdGljIGludCBhbWRncHVfZG1faW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAogCWluaXRfZGF0YS5kY2VfZW52aXJvbm1lbnQgPSBEQ0VfRU5WX1BST0RVQ1RJ T05fRFJWOwogCi0JaWYgKGFtZGdwdV9kY19sb2cpCi0JCWluaXRfZGF0YS5sb2dfbWFzayA9IERD X0RFRkFVTFRfTE9HX01BU0s7Ci0JZWxzZQotCQlpbml0X2RhdGEubG9nX21hc2sgPSBEQ19NSU5f TE9HX01BU0s7Ci0KIAkvKgogCSAqIFRPRE8gZGVidWcgd2h5IHRoaXMgZG9lc24ndCB3b3JrIG9u IFJhdmVuCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19kZWJ1Zy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNf ZGVidWcuYwppbmRleCA3MWNjNjBmY2ZmNWUuLmEzYzg3NjExMjIwZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfZGVidWcuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19kZWJ1Zy5jCkBAIC0zNiw4ICszNiw5IEBA CiAjaW5jbHVkZSAiaHdfc2VxdWVuY2VyLmgiCiAKICNpbmNsdWRlICJyZXNvdXJjZS5oIgotI2Rl ZmluZSBEQ19MT0dHRVIgXAotCWxvZ2dlcgorCisjZGVmaW5lIERDX0xPR0dFUl9JTklUKGxvZ2dl cikKKwogCiAjZGVmaW5lIFNVUkZBQ0VfVFJBQ0UoLi4uKSBkbyB7XAogCQlpZiAoZGMtPmRlYnVn LnN1cmZhY2VfdHJhY2UpIFwKQEAgLTYwLDggKzYxLDcgQEAgdm9pZCBwcmVfc3VyZmFjZV90cmFj ZSgKIAkJaW50IHN1cmZhY2VfY291bnQpCiB7CiAJaW50IGk7Ci0Jc3RydWN0IGRjICAqY29yZV9k YyA9IGRjOwotCXN0cnVjdCBkYWxfbG9nZ2VyICpsb2dnZXIgPSAgY29yZV9kYy0+Y3R4LT5sb2dn ZXI7CisJRENfTE9HR0VSX0lOSVQoZGMtPmN0eC0+bG9nZ2VyKTsKIAogCWZvciAoaSA9IDA7IGkg PCBzdXJmYWNlX2NvdW50OyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IGRjX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZSA9IHBsYW5lX3N0YXRlc1tpXTsKQEAgLTE4Myw4ICsxODMsNyBAQCB2b2lkIHVw ZGF0ZV9zdXJmYWNlX3RyYWNlKAogCQlpbnQgc3VyZmFjZV9jb3VudCkKIHsKIAlpbnQgaTsKLQlz dHJ1Y3QgZGMgICpjb3JlX2RjID0gZGM7Ci0Jc3RydWN0IGRhbF9sb2dnZXIgKmxvZ2dlciA9ICBj b3JlX2RjLT5jdHgtPmxvZ2dlcjsKKwlEQ19MT0dHRVJfSU5JVChkYy0+Y3R4LT5sb2dnZXIpOwog CiAJZm9yIChpID0gMDsgaSA8IHN1cmZhY2VfY291bnQ7IGkrKykgewogCQljb25zdCBzdHJ1Y3Qg ZGNfc3VyZmFjZV91cGRhdGUgKnVwZGF0ZSA9ICZ1cGRhdGVzW2ldOwpAQCAtMzA0LDggKzMwMyw3 IEBAIHZvaWQgdXBkYXRlX3N1cmZhY2VfdHJhY2UoCiAKIHZvaWQgcG9zdF9zdXJmYWNlX3RyYWNl KHN0cnVjdCBkYyAqZGMpCiB7Ci0Jc3RydWN0IGRjICAqY29yZV9kYyA9IGRjOwotCXN0cnVjdCBk YWxfbG9nZ2VyICpsb2dnZXIgPSAgY29yZV9kYy0+Y3R4LT5sb2dnZXI7CisJRENfTE9HR0VSX0lO SVQoZGMtPmN0eC0+bG9nZ2VyKTsKIAogCVNVUkZBQ0VfVFJBQ0UoInBvc3Qgc3VyZmFjZSBwcm9j ZXNzLlxuIik7CiAKQEAgLTMxNywxMCArMzE1LDEwIEBAIHZvaWQgY29udGV4dF90aW1pbmdfdHJh Y2UoCiB7CiAJaW50IGk7CiAJc3RydWN0IGRjICAqY29yZV9kYyA9IGRjOwotCXN0cnVjdCBkYWxf bG9nZ2VyICpsb2dnZXIgPSAgY29yZV9kYy0+Y3R4LT5sb2dnZXI7CiAJaW50IGhfcG9zW01BWF9Q SVBFU10sIHZfcG9zW01BWF9QSVBFU107CiAJc3RydWN0IGNydGNfcG9zaXRpb24gcG9zaXRpb247 CiAJdW5zaWduZWQgaW50IHVuZGVybGF5X2lkeCA9IGNvcmVfZGMtPnJlc19wb29sLT51bmRlcmxh eV9waXBlX2luZGV4OworCURDX0xPR0dFUl9JTklUKGRjLT5jdHgtPmxvZ2dlcik7CiAKIAogCWZv ciAoaSA9IDA7IGkgPCBjb3JlX2RjLT5yZXNfcG9vbC0+cGlwZV9jb3VudDsgaSsrKSB7CkBAIC0z NTUsOSArMzUzLDcgQEAgdm9pZCBjb250ZXh0X2Nsb2NrX3RyYWNlKAogCQlzdHJ1Y3QgZGNfc3Rh dGUgKmNvbnRleHQpCiB7CiAjaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04xXzApCi0J c3RydWN0IGRjICAqY29yZV9kYyA9IGRjOwotCXN0cnVjdCBkYWxfbG9nZ2VyICpsb2dnZXIgPSAg Y29yZV9kYy0+Y3R4LT5sb2dnZXI7Ci0KKwlEQ19MT0dHRVJfSU5JVChkYy0+Y3R4LT5sb2dnZXIp OwogCUNMT0NLX1RSQUNFKCJDdXJyZW50OiBkaXNwY2xrX2toejolZCAgbWF4X2RwcGNsa19raHo6 JWQgIGRjZmNsa19raHo6JWRcbiIKIAkJCSJkY2ZjbGtfZGVlcF9zbGVlcF9raHo6JWQgIGZjbGtf a2h6OiVkICBzb2NjbGtfa2h6OiVkXG4iLAogCQkJY29udGV4dC0+YncuZGNuLmNhbGNfY2xrLmRp c3BjbGtfa2h6LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Nv cmUvZGNfbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlu ay5jCmluZGV4IGU2MTI4NDFmN2Y5MS4uZDllZmRkOTI2MTQ1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jCkBAIC00NSw4ICs0NSw5IEBACiAjaW5j bHVkZSAiZGNlL2RjZV8xMV8wX2QuaCIKICNpbmNsdWRlICJkY2UvZGNlXzExXzBfZW51bS5oIgog I2luY2x1ZGUgImRjZS9kY2VfMTFfMF9zaF9tYXNrLmgiCi0jZGVmaW5lIERDX0xPR0dFUiBcCi0J ZGNfY3R4LT5sb2dnZXIKKworI2RlZmluZSBEQ19MT0dHRVJfSU5JVChsb2dnZXIpCisKIAogI2Rl ZmluZSBMSU5LX0lORk8oLi4uKSBcCiAJRENfTE9HX0hXX0hPVFBMVUcoICBcCkBAIC01NjEsNyAr NTYyLDcgQEAgYm9vbCBkY19saW5rX2RldGVjdChzdHJ1Y3QgZGNfbGluayAqbGluaywgZW51bSBk Y19kZXRlY3RfcmVhc29uIHJlYXNvbikKIAlzdHJ1Y3QgZGNfY29udGV4dCAqZGNfY3R4ID0gbGlu ay0+Y3R4OwogCXN0cnVjdCBkY19zaW5rICpzaW5rID0gTlVMTDsKIAllbnVtIGRjX2Nvbm5lY3Rp b25fdHlwZSBuZXdfY29ubmVjdGlvbl90eXBlID0gZGNfY29ubmVjdGlvbl9ub25lOwotCisJRENf TE9HR0VSX0lOSVQobGluay0+Y3R4LT5sb2dnZXIpOwogCWlmIChsaW5rLT5jb25uZWN0b3Jfc2ln bmFsID09IFNJR05BTF9UWVBFX1ZJUlRVQUwpCiAJCXJldHVybiBmYWxzZTsKIApAQCAtOTI3LDYg KzkyOCw3IEBAIHN0YXRpYyBib29sIGNvbnN0cnVjdCgKIAlzdHJ1Y3QgaW50ZWdyYXRlZF9pbmZv IGluZm8gPSB7e3sgMCB9fX07CiAJc3RydWN0IGRjX2Jpb3MgKmJpb3MgPSBpbml0X3BhcmFtcy0+ ZGMtPmN0eC0+ZGNfYmlvczsKIAljb25zdCBzdHJ1Y3QgZGNfdmJpb3NfZnVuY3MgKmJwX2Z1bmNz ID0gYmlvcy0+ZnVuY3M7CisJRENfTE9HR0VSX0lOSVQoZGNfY3R4LT5sb2dnZXIpOwogCiAJbGlu ay0+aXJxX3NvdXJjZV9ocGQgPSBEQ19JUlFfU09VUkNFX0lOVkFMSUQ7CiAJbGluay0+aXJxX3Nv dXJjZV9ocGRfcnggPSBEQ19JUlFfU09VUkNFX0lOVkFMSUQ7CkBAIC0xMTM1LDcgKzExMzcsOCBA QCBzdGF0aWMgdm9pZCBkcGNkX2NvbmZpZ3VyZV9wYW5lbF9tb2RlKAogewogCXVuaW9uIGRwY2Rf ZWRwX2NvbmZpZyBlZHBfY29uZmlnX3NldDsKIAlib29sIHBhbmVsX21vZGVfZWRwID0gZmFsc2U7 Ci0Jc3RydWN0IGRjX2NvbnRleHQgKmRjX2N0eCA9IGxpbmstPmN0eDsKKwlEQ19MT0dHRVJfSU5J VChsaW5rLT5jdHgtPmxvZ2dlcik7CisKIAltZW1zZXQoJmVkcF9jb25maWdfc2V0LCAnXDAnLCBz aXplb2YodW5pb24gZHBjZF9lZHBfY29uZmlnKSk7CiAKIAlpZiAoRFBfUEFORUxfTU9ERV9ERUZB VUxUICE9IHBhbmVsX21vZGUpIHsKQEAgLTE5NjgsMTAgKzE5NzEsMTAgQEAgYm9vbCBkY19saW5r X3NldF9iYWNrbGlnaHRfbGV2ZWwoY29uc3Qgc3RydWN0IGRjX2xpbmsgKmxpbmssIHVpbnQzMl90 IGxldmVsLAogCXN0cnVjdCBkYyAgKmNvcmVfZGMgPSBsaW5rLT5jdHgtPmRjOwogCXN0cnVjdCBh Ym0gKmFibSA9IGNvcmVfZGMtPnJlc19wb29sLT5hYm07CiAJc3RydWN0IGRtY3UgKmRtY3UgPSBj b3JlX2RjLT5yZXNfcG9vbC0+ZG1jdTsKLQlzdHJ1Y3QgZGNfY29udGV4dCAqZGNfY3R4ID0gbGlu ay0+Y3R4OwogCXVuc2lnbmVkIGludCBjb250cm9sbGVyX2lkID0gMDsKIAlib29sIHVzZV9zbW9v dGhfYnJpZ2h0bmVzcyA9IHRydWU7CiAJaW50IGk7CisJRENfTE9HR0VSX0lOSVQobGluay0+Y3R4 LT5sb2dnZXIpOwogCiAJaWYgKChkbWN1ID09IE5VTEwpIHx8CiAJCShhYm0gPT0gTlVMTCkgfHwK QEAgLTIxNTQsOCArMjE1Nyw4IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBhbGxvY2F0ZV9tc3Rf cGF5bG9hZChzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogCXN0cnVjdCBmaXhlZDMxXzMyIGF2 Z190aW1lX3Nsb3RzX3Blcl9tdHA7CiAJc3RydWN0IGZpeGVkMzFfMzIgcGJuOwogCXN0cnVjdCBm aXhlZDMxXzMyIHBibl9wZXJfc2xvdDsKLQlzdHJ1Y3QgZGNfY29udGV4dCAqZGNfY3R4ID0gbGlu ay0+Y3R4OwogCXVpbnQ4X3QgaTsKKwlEQ19MT0dHRVJfSU5JVChsaW5rLT5jdHgtPmxvZ2dlcik7 CiAKIAkvKiBlbmFibGVfbGlua19kcF9tc3QgYWxyZWFkeSBjaGVjayBsaW5rLT5lbmFibGVkX3N0 cmVhbV9jb3VudAogCSAqIGFuZCBzdHJlYW0gaXMgaW4gbGluay0+c3RyZWFtW10uIFRoaXMgaXMg Y2FsbGVkIGR1cmluZyBzZXQgbW9kZSwKQEAgLTIyMzQsNyArMjIzNyw3IEBAIHN0YXRpYyBlbnVt IGRjX3N0YXR1cyBkZWFsbG9jYXRlX21zdF9wYXlsb2FkKHN0cnVjdCBwaXBlX2N0eCAqcGlwZV9j dHgpCiAJc3RydWN0IGZpeGVkMzFfMzIgYXZnX3RpbWVfc2xvdHNfcGVyX210cCA9IGRhbF9maXhl ZDMxXzMyX2Zyb21faW50KDApOwogCXVpbnQ4X3QgaTsKIAlib29sIG1zdF9tb2RlID0gKGxpbmst PnR5cGUgPT0gZGNfY29ubmVjdGlvbl9tc3RfYnJhbmNoKTsKLQlzdHJ1Y3QgZGNfY29udGV4dCAq ZGNfY3R4ID0gbGluay0+Y3R4OworCURDX0xPR0dFUl9JTklUKGxpbmstPmN0eC0+bG9nZ2VyKTsK IAogCS8qIGRlYWxsb2NhdGVfbXN0X3BheWxvYWQgaXMgY2FsbGVkIGJlZm9yZSBkaXNhYmxlIGxp bmsuIFdoZW4gbW9kZSBvcgogCSAqIGRpc2FibGUvZW5hYmxlIG1vbml0b3IsIG5ldyBzdHJlYW0g aXMgY3JlYXRlZCB3aGljaCBpcyBub3QgaW4gbGluawpAQCAtMjMwNyw4ICsyMzEwLDggQEAgdm9p ZCBjb3JlX2xpbmtfZW5hYmxlX3N0cmVhbSgKIAkJc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkK IHsKIAlzdHJ1Y3QgZGMgICpjb3JlX2RjID0gcGlwZV9jdHgtPnN0cmVhbS0+Y3R4LT5kYzsKLQlz dHJ1Y3QgZGNfY29udGV4dCAqZGNfY3R4ID0gcGlwZV9jdHgtPnN0cmVhbS0+Y3R4OwogCWVudW0g ZGNfc3RhdHVzIHN0YXR1czsKKwlEQ19MT0dHRVJfSU5JVChwaXBlX2N0eC0+c3RyZWFtLT5jdHgt PmxvZ2dlcik7CiAKIAkvKiBlRFAgbGl0IHVwIGJ5IGJpb3MgYWxyZWFkeSwgbm8gbmVlZCB0byBl bmFibGUgYWdhaW4uICovCiAJaWYgKHBpcGVfY3R4LT5zdHJlYW0tPnNpZ25hbCA9PSBTSUdOQUxf VFlQRV9FRFAgJiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjX3Jlc291cmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9k Y19yZXNvdXJjZS5jCmluZGV4IDM3OWIwNTUzNjMyMS4uNTBiODRmNjliZDI1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJjZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3Jlc291cmNlLmMKQEAgLTQ1 LDggKzQ1LDkgQEAKICNpbmNsdWRlICJkY24xMC9kY24xMF9yZXNvdXJjZS5oIgogI2VuZGlmCiAj aW5jbHVkZSAiZGNlMTIwL2RjZTEyMF9yZXNvdXJjZS5oIgotI2RlZmluZSBEQ19MT0dHRVIgXAot CWN0eC0+bG9nZ2VyCisKKyNkZWZpbmUgRENfTE9HR0VSX0lOSVQobG9nZ2VyKQorCiBlbnVtIGRj ZV92ZXJzaW9uIHJlc291cmNlX3BhcnNlX2FzaWNfaWQoc3RydWN0IGh3X2FzaWNfaWQgYXNpY19p ZCkKIHsKIAllbnVtIGRjZV92ZXJzaW9uIGRjX3ZlcnNpb24gPSBEQ0VfVkVSU0lPTl9VTktOT1dO OwpAQCAtODM1LDcgKzgzNiw3IEBAIGJvb2wgcmVzb3VyY2VfYnVpbGRfc2NhbGluZ19wYXJhbXMo c3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkKIAlzdHJ1Y3QgZGNfY3J0Y190aW1pbmcgKnRpbWlu ZyA9ICZwaXBlX2N0eC0+c3RyZWFtLT50aW1pbmc7CiAJc3RydWN0IHZpZXcgcmVjb3V0X3NraXAg PSB7IDAgfTsKIAlib29sIHJlcyA9IGZhbHNlOwotCXN0cnVjdCBkY19jb250ZXh0ICpjdHggPSBw aXBlX2N0eC0+c3RyZWFtLT5jdHg7CisJRENfTE9HR0VSX0lOSVQocGlwZV9jdHgtPnN0cmVhbS0+ Y3R4LT5sb2dnZXIpOwogCS8qIEltcG9ydGFudDogc2NhbGluZyByYXRpbyBjYWxjdWxhdGlvbiBy ZXF1aXJlcyBwaXhlbCBmb3JtYXQsCiAJICogbGIgZGVwdGggY2FsY3VsYXRpb24gcmVxdWlyZXMg cmVjb3V0IGFuZCB0YXBzIHJlcXVpcmUgc2NhbGluZyByYXRpb3MuCiAJICogSW5pdHMgcmVxdWly ZSB2aWV3cG9ydCwgdGFwcywgcmF0aW9zIGFuZCByZWNvdXQgb2Ygc3BsaXQgcGlwZQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZS9kY2VfYXVkaW8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX2F1ZGlvLmMKaW5kZXggNmQ1Y2Rj ZGM4ZWM5Li43ZjZkNzI0Njg2ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2UvZGNlX2F1ZGlvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2RjZS9kY2VfYXVkaW8uYwpAQCAtMzMsOCArMzMsOSBAQAogCiAjZGVmaW5lIENUWCBcCiAJ YXVkLT5iYXNlLmN0eAotI2RlZmluZSBEQ19MT0dHRVIgXAotCWF1ZC0+YmFzZS5jdHgtPmxvZ2dl cgorCisjZGVmaW5lIERDX0xPR0dFUl9JTklUKCkKKwogI2RlZmluZSBSRUcocmVnKVwKIAkoYXVk LT5yZWdzLT5yZWcpCiAKQEAgLTM0OCw4ICszNDksOCBAQCBzdGF0aWMgdm9pZCBzZXRfYXVkaW9f bGF0ZW5jeSgKIAogdm9pZCBkY2VfYXVkX2F6X2VuYWJsZShzdHJ1Y3QgYXVkaW8gKmF1ZGlvKQog ewotCXN0cnVjdCBkY2VfYXVkaW8gKmF1ZCA9IERDRV9BVUQoYXVkaW8pOwogCXVpbnQzMl90IHZh bHVlID0gQVpfUkVHX1JFQUQoQVpBTElBX0YwX0NPREVDX1BJTl9DT05UUk9MX0hPVF9QTFVHX0NP TlRST0wpOworCURDX0xPR0dFUl9JTklUKCk7CiAKIAlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHZhbHVl LCAxLAogCQkJICAgIEFaQUxJQV9GMF9DT0RFQ19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05UUk9M LApAQCAtMzcxLDcgKzM3Miw3IEBAIHZvaWQgZGNlX2F1ZF9hel9lbmFibGUoc3RydWN0IGF1ZGlv ICphdWRpbykKIHZvaWQgZGNlX2F1ZF9hel9kaXNhYmxlKHN0cnVjdCBhdWRpbyAqYXVkaW8pCiB7 CiAJdWludDMyX3QgdmFsdWU7Ci0Jc3RydWN0IGRjZV9hdWRpbyAqYXVkID0gRENFX0FVRChhdWRp byk7CisJRENfTE9HR0VSX0lOSVQoKTsKIAogCXZhbHVlID0gQVpfUkVHX1JFQUQoQVpBTElBX0Yw X0NPREVDX1BJTl9DT05UUk9MX0hPVF9QTFVHX0NPTlRST0wpOwogCXNldF9yZWdfZmllbGRfdmFs dWUodmFsdWUsIDEsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv ZGNlL2RjZV9jbG9ja19zb3VyY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9k Y2UvZGNlX2Nsb2NrX3NvdXJjZS5jCmluZGV4IDBhYTJjZGE2MDg5MC4uNjdkYWQ3ZjFlNjQzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9jbG9ja19z b3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9jbG9j a19zb3VyY2UuYwpAQCAtNDEsOCArNDEsOSBAQAogCiAjZGVmaW5lIENUWCBcCiAJY2xrX3NyYy0+ YmFzZS5jdHgKLSNkZWZpbmUgRENfTE9HR0VSIFwKLQljYWxjX3BsbF9jcy0+Y3R4LT5sb2dnZXIK KworI2RlZmluZSBEQ19MT0dHRVJfSU5JVCgpCisKICN1bmRlZiBGTgogI2RlZmluZSBGTihyZWdf bmFtZSwgZmllbGRfbmFtZSkgXAogCWNsa19zcmMtPmNzX3NoaWZ0LT5maWVsZF9uYW1lLCBjbGtf c3JjLT5jc19tYXNrLT5maWVsZF9uYW1lCkBAIC00NjcsNyArNDY4LDcgQEAgc3RhdGljIHVpbnQz Ml90IGRjZTExMF9nZXRfcGl4X2Nsa19kaXZpZGVyc19oZWxwZXIgKAogewogCXVpbnQzMl90IGZp ZWxkID0gMDsKIAl1aW50MzJfdCBwbGxfY2FsY19lcnJvciA9IE1BWF9QTExfQ0FMQ19FUlJPUjsK LQlzdHJ1Y3QgY2FsY19wbGxfY2xvY2tfc291cmNlICpjYWxjX3BsbF9jcyA9ICZjbGtfc3JjLT5j YWxjX3BsbDsKKwlEQ19MT0dHRVJfSU5JVCgpOwogCS8qIENoZWNrIGlmIHJlZmVyZW5jZSBjbG9j ayBpcyBleHRlcm5hbCAobm90IHBjaWUveHRhbGluKQogCSogSFcgRGNlODAgc3BlYzoKIAkqIDAw IC0gUENJRV9SRUZDTEssIDAxIC0gWFRBTElOLCAgICAwMiAtIEdFTkVSSUNBLCAgICAwMyAtIEdF TkVSSUNCCkBAIC01NTcsOCArNTU4LDggQEAgc3RhdGljIHVpbnQzMl90IGRjZTExMF9nZXRfcGl4 X2Nsa19kaXZpZGVycygKIAkJc3RydWN0IHBsbF9zZXR0aW5ncyAqcGxsX3NldHRpbmdzKQogewog CXN0cnVjdCBkY2UxMTBfY2xrX3NyYyAqY2xrX3NyYyA9IFRPX0RDRTExMF9DTEtfU1JDKGNzKTsK LQlzdHJ1Y3QgY2FsY19wbGxfY2xvY2tfc291cmNlICpjYWxjX3BsbF9jcyA9ICZjbGtfc3JjLT5j YWxjX3BsbDsKIAl1aW50MzJfdCBwbGxfY2FsY19lcnJvciA9IE1BWF9QTExfQ0FMQ19FUlJPUjsK KwlEQ19MT0dHRVJfSU5JVCgpOwogCiAJaWYgKHBpeF9jbGtfcGFyYW1zID09IE5VTEwgfHwgcGxs X3NldHRpbmdzID09IE5VTEwKIAkJCXx8IHBpeF9jbGtfcGFyYW1zLT5yZXF1ZXN0ZWRfcGl4X2Ns ayA9PSAwKSB7CkBAIC0xMDU0LDcgKzEwNTUsNyBAQCBzdGF0aWMgdm9pZCBnZXRfc3NfaW5mb19m cm9tX2F0b21iaW9zKAogCXN0cnVjdCBzcHJlYWRfc3BlY3RydW1faW5mbyAqc3NfaW5mb19jdXI7 CiAJc3RydWN0IHNwcmVhZF9zcGVjdHJ1bV9kYXRhICpzc19kYXRhX2N1cjsKIAl1aW50MzJfdCBp OwotCXN0cnVjdCBjYWxjX3BsbF9jbG9ja19zb3VyY2UgKmNhbGNfcGxsX2NzID0gJmNsa19zcmMt PmNhbGNfcGxsOworCURDX0xPR0dFUl9JTklUKCk7CiAJaWYgKHNzX2VudHJpZXNfbnVtID09IE5V TEwpIHsKIAkJRENfTE9HX1NZTkMoCiAJCQkiSW52YWxpZCBlbnRyeSAhISFcbiIpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfaHdfc2Vx dWVuY2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9o d19zZXF1ZW5jZXIuYwppbmRleCBjNjIxMjMwMTcxMmIuLmU4ZGY1MGYzMGU1YiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfaHdfc2VxdWVu Y2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBf aHdfc2VxdWVuY2VyLmMKQEAgLTcwLDggKzcwLDkgQEAKIAogI2RlZmluZSBDVFggXAogCWh3cy0+ Y3R4Ci0jZGVmaW5lIERDX0xPR0dFUiBcCi0JY3R4LT5sb2dnZXIKKworI2RlZmluZSBEQ19MT0dH RVJfSU5JVCgpCisKICNkZWZpbmUgUkVHKHJlZylcCiAJaHdzLT5yZWdzLT5yZWcKIApAQCAtMjcw MSw3ICsyNzAyLDcgQEAgc3RhdGljIHZvaWQgZGNlMTEwX3Byb2dyYW1fZnJvbnRfZW5kX2Zvcl9w aXBlKAogCXN0cnVjdCB4Zm1fZ3JwaF9jc2NfYWRqdXN0bWVudCBhZGp1c3Q7CiAJc3RydWN0IG91 dF9jc2NfY29sb3JfbWF0cml4IHRibF9lbnRyeTsKIAl1bnNpZ25lZCBpbnQgaTsKLQlzdHJ1Y3Qg ZGNfY29udGV4dCAqY3R4ID0gZGMtPmN0eDsKKwlEQ19MT0dHRVJfSU5JVCgpOwogCW1lbXNldCgm dGJsX2VudHJ5LCAwLCBzaXplb2YodGJsX2VudHJ5KSk7CiAKIAlpZiAoZGMtPmN1cnJlbnRfc3Rh dGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNu MTBfaHdfc2VxdWVuY2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAv ZGNuMTBfaHdfc2VxdWVuY2VyLmMKaW5kZXggZTIxNDU4MTY5ZDE1Li5kZTUyOTNkYzRkYjMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19z ZXF1ZW5jZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNu MTBfaHdfc2VxdWVuY2VyLmMKQEAgLTQ1LDggKzQ1LDggQEAKICNpbmNsdWRlICJkY24xMF9odWJi dWIuaCIKICNpbmNsdWRlICJkY24xMF9jbV9jb21tb24uaCIKIAotI2RlZmluZSBEQ19MT0dHRVIg XAotCWN0eC0+bG9nZ2VyCisjZGVmaW5lIERDX0xPR0dFUl9JTklUKGxvZ2dlcikKKwogI2RlZmlu ZSBDVFggXAogCWh3cy0+Y3R4CiAjZGVmaW5lIFJFRyhyZWcpXApAQCAtMzYzLDcgKzM2Myw3IEBA IHN0YXRpYyB2b2lkIHBvd2VyX29uX3BsYW5lKAogCXN0cnVjdCBkY2VfaHdzZXEgKmh3cywKIAlp bnQgcGxhbmVfaWQpCiB7Ci0Jc3RydWN0IGRjX2NvbnRleHQgKmN0eCA9IGh3cy0+Y3R4OworCURD X0xPR0dFUl9JTklUKGh3cy0+Y3R4LT5sb2dnZXIpOwogCWlmIChSRUcoRENfSVBfUkVRVUVTVF9D TlRMKSkgewogCQlSRUdfU0VUKERDX0lQX1JFUVVFU1RfQ05UTCwgMCwKIAkJCQlJUF9SRVFVRVNU X0VOLCAxKTsKQEAgLTU2Miw3ICs1NjIsNyBAQCBzdGF0aWMgdm9pZCByZXNldF9iYWNrX2VuZF9m b3JfcGlwZSgKIAkJc3RydWN0IGRjX3N0YXRlICpjb250ZXh0KQogewogCWludCBpOwotCXN0cnVj dCBkY19jb250ZXh0ICpjdHggPSBkYy0+Y3R4OworCURDX0xPR0dFUl9JTklUKGRjLT5jdHgtPmxv Z2dlcik7CiAJaWYgKHBpcGVfY3R4LT5zdHJlYW1fcmVzLnN0cmVhbV9lbmMgPT0gTlVMTCkgewog CQlwaXBlX2N0eC0+c3RyZWFtID0gTlVMTDsKIAkJcmV0dXJuOwpAQCAtNjU4LDcgKzY1OCw3IEBA IHN0YXRpYyB2b2lkIHBsYW5lX2F0b21pY19wb3dlcl9kb3duKHN0cnVjdCBkYyAqZGMsIHN0cnVj dCBwaXBlX2N0eCAqcGlwZV9jdHgpCiB7CiAJc3RydWN0IGRjZV9od3NlcSAqaHdzID0gZGMtPmh3 c2VxOwogCXN0cnVjdCBkcHAgKmRwcCA9IHBpcGVfY3R4LT5wbGFuZV9yZXMuZHBwOwotCXN0cnVj dCBkY19jb250ZXh0ICpjdHggPSBkYy0+Y3R4OworCURDX0xPR0dFUl9JTklUKGRjLT5jdHgtPmxv Z2dlcik7CiAKIAlpZiAoUkVHKERDX0lQX1JFUVVFU1RfQ05UTCkpIHsKIAkJUkVHX1NFVChEQ19J UF9SRVFVRVNUX0NOVEwsIDAsCkBAIC03MDgsNyArNzA4LDcgQEAgc3RhdGljIHZvaWQgcGxhbmVf YXRvbWljX2Rpc2FibGUoc3RydWN0IGRjICpkYywgc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkK IAogc3RhdGljIHZvaWQgZGNuMTBfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3Qg cGlwZV9jdHggKnBpcGVfY3R4KQogewotCXN0cnVjdCBkY19jb250ZXh0ICpjdHggPSBkYy0+Y3R4 OworCURDX0xPR0dFUl9JTklUKGRjLT5jdHgtPmxvZ2dlcik7CiAKIAlpZiAoIXBpcGVfY3R4LT5w bGFuZV9yZXMuaHVicCB8fCBwaXBlX2N0eC0+cGxhbmVfcmVzLmh1YnAtPnBvd2VyX2dhdGVkKQog CQlyZXR1cm47CkBAIC0yMDAxLDkgKzIwMDEsOSBAQCBzdGF0aWMgdm9pZCBkY24xMF9hcHBseV9j dHhfZm9yX3N1cmZhY2UoCiAJYm9vbCByZW1vdmVkX3BpcGVbNF0gPSB7IGZhbHNlIH07CiAJdW5z aWduZWQgaW50IHJlZl9jbGtfbWh6ID0gZGMtPnJlc19wb29sLT5yZWZfY2xvY2tfaW5LaHovMTAw MDsKIAlib29sIHByb2dyYW1fd2F0ZXJfbWFyayA9IGZhbHNlOwotCXN0cnVjdCBkY19jb250ZXh0 ICpjdHggPSBkYy0+Y3R4OwogCXN0cnVjdCBwaXBlX2N0eCAqdG9wX3BpcGVfdG9fcHJvZ3JhbSA9 CiAJCQlmaW5kX3RvcF9waXBlX2Zvcl9zdHJlYW0oZGMsIGNvbnRleHQsIHN0cmVhbSk7CisJRENf TE9HR0VSX0lOSVQoZGMtPmN0eC0+bG9nZ2VyKTsKIAogCWlmICghdG9wX3BpcGVfdG9fcHJvZ3Jh bSkKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2lu Y2x1ZGUvbG9nZ2VyX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvaW5jbHVk ZS9sb2dnZXJfdHlwZXMuaAppbmRleCA0Mjc3OTZiZGMxNGEuLjRmMzMyZTgwY2VjYyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2luY2x1ZGUvbG9nZ2VyX3R5cGVzLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2luY2x1ZGUvbG9nZ2VyX3R5cGVzLmgK QEAgLTI5LDM5ICsyOSwzOSBAQAogI2luY2x1ZGUgIm9zX3R5cGVzLmgiCiAKICNkZWZpbmUgTUFY X05BTUVfTEVOIDMyCi0jZGVmaW5lIERDX0xPR19FUlJPUihhLCAuLi4pIGRtX2xvZ2dlcl93cml0 ZShEQ19MT0dHRVIsIExPR19FUlJPUiwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xP R19XQVJOSU5HKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwgTE9HX1dBUk5JTkcs IGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmluZSBEQ19MT0dfREVCVUcoYSwgLi4uKSBkbV9sb2dn ZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfREVCVUcsIGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmlu ZSBEQ19MT0dfREMoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfREMsIGEs ICMjIF9fVkFfQVJHU19fKQotI2RlZmluZSBEQ19MT0dfRFROKGEsIC4uLikgZG1fbG9nZ2VyX3dy aXRlKERDX0xPR0dFUiwgTE9HX0RUTiwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xP R19TVVJGQUNFKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwgTE9HX1NVUkZBQ0Us IGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmluZSBEQ19MT0dfSFdfSE9UUExVRyhhLCAuLi4pIGRt X2xvZ2dlcl93cml0ZShEQ19MT0dHRVIsIExPR19IV19IT1RQTFVHLCBhLCAjIyBfX1ZBX0FSR1Nf XykKLSNkZWZpbmUgRENfTE9HX0hXX0xJTktfVFJBSU5JTkcoYSwgLi4uKSBkbV9sb2dnZXJfd3Jp dGUoRENfTE9HR0VSLCBMT0dfSFdfTElOS19UUkFJTklORywgYSwgIyMgX19WQV9BUkdTX18pCi0j ZGVmaW5lIERDX0xPR19IV19TRVRfTU9ERShhLCAuLi4pIGRtX2xvZ2dlcl93cml0ZShEQ19MT0dH RVIsIExPR19IV19TRVRfTU9ERSwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xPR19I V19SRVNVTUVfUzMoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfSFdfUkVT VU1FX1MzLCBhLCAjIyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX0hXX0FVRElPKGEsIC4u LikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwgTE9HX0hXX0FVRElPLCBhLCAjIyBfX1ZBX0FS R1NfXykKLSNkZWZpbmUgRENfTE9HX0hXX0hQRF9JUlEoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUo RENfTE9HR0VSLCBMT0dfSFdfSFBEX0lSUSwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERD X0xPR19NU1QoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfTVNULCBhLCAj IyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX1NDQUxFUihhLCAuLi4pIGRtX2xvZ2dlcl93 cml0ZShEQ19MT0dHRVIsIExPR19TQ0FMRVIsIGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmluZSBE Q19MT0dfQklPUyhhLCAuLi4pIGRtX2xvZ2dlcl93cml0ZShEQ19MT0dHRVIsIExPR19CSU9TLCBh LCAjIyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX0JBTkRXSURUSF9DQUxDUyhhLCAuLi4p IGRtX2xvZ2dlcl93cml0ZShEQ19MT0dHRVIsIExPR19CQU5EV0lEVEhfQ0FMQ1MsIGEsICMjIF9f VkFfQVJHU19fKQotI2RlZmluZSBEQ19MT0dfQkFORFdJRFRIX1ZBTElEQVRJT04oYSwgLi4uKSBk bV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfQkFORFdJRFRIX1ZBTElEQVRJT04sIGEsICMj IF9fVkFfQVJHU19fKQotI2RlZmluZSBEQ19MT0dfSTJDX0FVWChhLCAuLi4pIGRtX2xvZ2dlcl93 cml0ZShEQ19MT0dHRVIsIExPR19JMkNfQVVYLCBhLCAjIyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUg RENfTE9HX1NZTkMoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfU1lOQywg YSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xPR19CQUNLTElHSFQoYSwgLi4uKSBkbV9s b2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfQkFDS0xJR0hULCBhLCAjIyBfX1ZBX0FSR1NfXykK LSNkZWZpbmUgRENfTE9HX0ZFQVRVUkVfT1ZFUlJJREUoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUo RENfTE9HR0VSLCBMT0dfRkVBVFVSRV9PVkVSUklERSwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVm aW5lIERDX0xPR19ERVRFQ1RJT05fRURJRF9QQVJTRVIoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUo RENfTE9HR0VSLCBMT0dfREVURUNUSU9OX0VESURfUEFSU0VSLCBhLCAjIyBfX1ZBX0FSR1NfXykK LSNkZWZpbmUgRENfTE9HX0RFVEVDVElPTl9EUF9DQVBTKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRl KERDX0xPR0dFUiwgTE9HX0RFVEVDVElPTl9EUF9DQVBTLCBhLCAjIyBfX1ZBX0FSR1NfXykKLSNk ZWZpbmUgRENfTE9HX1JFU09VUkNFKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwg TE9HX1JFU09VUkNFLCBhLCAjIyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX0RNTChhLCAu Li4pIGRtX2xvZ2dlcl93cml0ZShEQ19MT0dHRVIsIExPR19ETUwsIGEsICMjIF9fVkFfQVJHU19f KQotI2RlZmluZSBEQ19MT0dfRVZFTlRfTU9ERV9TRVQoYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUo RENfTE9HR0VSLCBMT0dfRVZFTlRfTU9ERV9TRVQsIGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmlu ZSBEQ19MT0dfRVZFTlRfREVURUNUSU9OKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dF UiwgTE9HX0VWRU5UX0RFVEVDVElPTiwgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xP R19FVkVOVF9MSU5LX1RSQUlOSU5HKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwg TE9HX0VWRU5UX0xJTktfVFJBSU5JTkcsIGEsICMjIF9fVkFfQVJHU19fKQotI2RlZmluZSBEQ19M T0dfRVZFTlRfTElOS19MT1NTKGEsIC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwgTE9H X0VWRU5UX0xJTktfTE9TUywgYSwgIyMgX19WQV9BUkdTX18pCi0jZGVmaW5lIERDX0xPR19FVkVO VF9VTkRFUkZMT1coYSwgLi4uKSBkbV9sb2dnZXJfd3JpdGUoRENfTE9HR0VSLCBMT0dfRVZFTlRf VU5ERVJGTE9XLCBhLCAjIyBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX0lGX1RSQUNFKGEs IC4uLikgZG1fbG9nZ2VyX3dyaXRlKERDX0xPR0dFUiwgTE9HX0lGX1RSQUNFLCBhLCAjIyBfX1ZB X0FSR1NfXykKLSNkZWZpbmUgRENfTE9HX1BFUkZfVFJBQ0UoYSwgLi4uKSBkbV9sb2dnZXJfd3Jp dGUoRENfTE9HR0VSLCBMT0dfUEVSRl9UUkFDRSwgYSwgIyMgX19WQV9BUkdTX18pCiAKKyNkZWZp bmUgRENfTE9HX0VSUk9SKC4uLikgRFJNX0VSUk9SKF9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19M T0dfV0FSTklORyguLi4pIERSTV9XQVJOKF9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfREVC VUcoLi4uKSBEUk1fSU5GTyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0RDKC4uLikgRFJN X0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0RUTiguLi4pIERSTV9ERUJV R19LTVMoX19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19TVVJGQUNFKC4uLikgcHJfZGVidWco IltTVVJGQUNFXToiX19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19IV19IT1RQTFVHKC4uLikg RFJNX0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0hXX0xJTktfVFJBSU5J TkcoLi4uKSBwcl9kZWJ1ZygiW0hXX0xJTktfVFJBSU5JTkddOiJfX1ZBX0FSR1NfXykKKyNkZWZp bmUgRENfTE9HX0hXX1NFVF9NT0RFKC4uLikgRFJNX0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNk ZWZpbmUgRENfTE9HX0hXX1JFU1VNRV9TMyguLi4pIERSTV9ERUJVR19LTVMoX19WQV9BUkdTX18p CisjZGVmaW5lIERDX0xPR19IV19BVURJTyguLi4pIHByX2RlYnVnKCJbSFdfQVVESU9dOiJfX1ZB X0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0hXX0hQRF9JUlEoLi4uKSBEUk1fREVCVUdfS01TKF9f VkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfTVNUKC4uLikgRFJNX0RFQlVHX0tNUyhfX1ZBX0FS R1NfXykKKyNkZWZpbmUgRENfTE9HX1NDQUxFUiguLi4pIHByX2RlYnVnKCJbU0NBTEVSXToiX19W QV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19CSU9TKC4uLikgcHJfZGVidWcoIltCSU9TXToiX19W QV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19CQU5EV0lEVEhfQ0FMQ1MoLi4uKSBwcl9kZWJ1Zygi W0JBTkRXSURUSF9DQUxDU106Il9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfQkFORFdJRFRI X1ZBTElEQVRJT04oLi4uKSBEUk1fREVCVUdfS01TKF9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19M T0dfSTJDX0FVWCguLi4pIERSTV9ERUJVR19LTVMoX19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xP R19TWU5DKC4uLikgRFJNX0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0JB Q0tMSUdIVCguLi4pIERSTV9ERUJVR19LTVMoX19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19G RUFUVVJFX09WRVJSSURFKC4uLikgRFJNX0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUg RENfTE9HX0RFVEVDVElPTl9FRElEX1BBUlNFUiguLi4pIERSTV9ERUJVR19LTVMoX19WQV9BUkdT X18pCisjZGVmaW5lIERDX0xPR19ERVRFQ1RJT05fRFBfQ0FQUyguLi4pIERSTV9ERUJVR19LTVMo X19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19SRVNPVVJDRSguLi4pIERSTV9ERUJVR19LTVMo X19WQV9BUkdTX18pCisjZGVmaW5lIERDX0xPR19ETUwoLi4uKSBwcl9kZWJ1ZygiW0RNTF06Il9f VkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfRVZFTlRfTU9ERV9TRVQoLi4uKSBEUk1fREVCVUdf S01TKF9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfRVZFTlRfREVURUNUSU9OKC4uLikgRFJN X0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9HX0VWRU5UX0xJTktfVFJBSU5J TkcoLi4uKSBEUk1fREVCVUdfS01TKF9fVkFfQVJHU19fKQorI2RlZmluZSBEQ19MT0dfRVZFTlRf TElOS19MT1NTKC4uLikgRFJNX0RFQlVHX0tNUyhfX1ZBX0FSR1NfXykKKyNkZWZpbmUgRENfTE9H X0VWRU5UX1VOREVSRkxPVyguLi4pIERSTV9ERUJVR19LTVMoX19WQV9BUkdTX18pCisjZGVmaW5l IERDX0xPR19JRl9UUkFDRSguLi4pIHByX2RlYnVnKCJbSUZfVFJBQ0VdOiJfX1ZBX0FSR1NfXykK KyNkZWZpbmUgRENfTE9HX1BFUkZfVFJBQ0UoLi4uKSBEUk1fREVCVUdfS01TKF9fVkFfQVJHU19f KQogCiBzdHJ1Y3QgZGFsX2xvZ2dlcjsKIAotLSAKMi4xNS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK