From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [RFC] drm: Enable dynamic debug for DRM_[DEV]_DEBUG* Date: Thu, 1 Dec 2016 17:18:00 +0000 Message-ID: <20161201171800.10770-1-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51A096E819 for ; Thu, 1 Dec 2016 17:18:19 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id u144so35146007wmu.0 for ; Thu, 01 Dec 2016 09:18:19 -0800 (PST) Received: from sixbynine.org ([82.132.185.173]) by smtp.gmail.com with ESMTPSA id ba10sm1232393wjb.32.2016.12.01.09.18.13 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 01 Dec 2016 09:18:16 -0800 (PST) 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 SSdtIGN1cnJlbnRseSBjb25zaWRlcmluZyB0aGUgdXNlIG9mIERSTV9FUlJPUiBpbiBpOTE1IHBl cmYgZm9yIHN0ZWFtCmNvbmZpZyB2YWxpZGF0aW9uIGVycm9ycyAoaS5lLiB1c2Vyc3BhY2UgbWlz Y29uZmlndXJhdGlvbnMpIHRoYXQgc2hvdWxkCmJlIGNoYW5nZWQgc28gdGhhdCBpLWctdCB0ZXN0 cyBhcmVuJ3QgdHJlYXRlZCBhcyBmYWlsdXJlcyB3aGVuCnRyaWdnZXJpbmcgdGhlc2UuCgpJIGlu aXRpYWxseSBwcm9wb3NlZCBjaGFuZ2luZyB0aGVzZSB0byBEUk1fSU5GTyBtZXNzYWdlcyBhbmQK aW50ZW50aW9uYWxseSB3YW50ZWQgdG8gYXZvaWQgRFJNX0RFQlVHIHNpbmNlIGluIG15IGxpbWl0 ZWQgZXhwZXJpZW5jZQpEUk1fREVCVUcgbWVzc2FnZXMgYXJlbid0IHByYWN0aWNhbCB0byB3b3Jr IHdpdGguCgpJIHRob3VnaHQgSSdkIHNlZSBpZiBEUk1fREVCVUcgY291bGQgYmUgdXBkYXRlZCB0 byBoYXZlIGEgYml0IG1vcmUgZmluZQpncmFpbmVkIGNvbnRyb2wgaW4gY2FzZSB0aGF0IG1pZ2h0 IGhlbHAgc3dheSBteSB2aWV3LgoKVGJoLCBhbHRob3VnaCBJIHRoaW5rIHNvbWV0aGluZyBsaWtl IHRoaXMgY291bGQgYmUgbmljZSB0byBoYXZlLCBJJ20Kc3RpbGwgbm90IHJlYWxseSBjb252aW5j ZWQgdGhhdCBkZWJ1ZyBtZXNzYWdlcyBhcmUgYSBncmVhdCBmaXQgZm9yCmhlbHBpbmcgdXNlcnNw YWNlIGRldmVsb3BlcnMgaGl0dGluZyBFSU5WQUwgZXJyb3JzLiBTdWNoIGRldmVsb3BlcnMKZG9u J3QgbmVlZCB0byBiZSBkcm0vaTkxNSBkZXZlbG9wZXJzIGFuZCBpbWhvIHNob3VsZG4ndCBiZSBl eHBlY3RlZCB0bwprbm93IG9mIHRoZSBleGlzdGVuY2Ugb2Ygb3B0aW9uYWwgZGVidWcgbWVzc2Fn ZXMsIGFuZCBpZiB5b3UgZG9uJ3Qga25vdwpvZiB0aGVyZSBleGlzdGVuY2UgdGhlbiB0aGUgY29u dHJvbCBpbnRlcmZhY2UgaXNuJ3QgaW1wb3J0YW50IGFuZCB0aGV5Cndvbid0IGhlbHAgYW55b25l LgoKLS0tID44IC0tLSAoZ2l0IGFtIC0tc2Npc3NvcnMpCgpEeW5hbWljIGRlYnVnIG1lc3NhZ2Vz IChyZWY6IERvY3VtZW50YXRpb24vZHluYW1pYy1kZWJ1Zy1ob3d0by50eHQpCmFsbG93IGZpbmUg Z3JhaW5lZCBjb250cm9sIG92ZXIgd2hpY2ggZGVidWcgbWVzc2FnZXMgYXJlIGVuYWJsZWQgd2l0 aApydW50aW1lIGNvbnRyb2wgdGhyb3VnaCAvc3lzZnMva2VybmVsL2RlYnVnL2R5bmFtaWNfZGVi dWcvY29udHJvbAoKVGhpcyBwcm92aWRlcyBtb3JlIGNvbnRyb2wgdGhhbiB0aGUgY3VycmVudCBk cm0uZHJtX2RlYnVnIHBhcmFtZXRlcgp3aGljaCBmb3Igc29tZSB1c2UgY2FzZXMgaXMgaW1wcmFj dGljYWwgdG8gdXNlIGdpdmVuIGhvdyBjaGF0dHkKc29tZSBkcm0gZGVidWcgY2F0ZWdvcmllcyBh cmUuCgpGb3IgZXhhbXBsZSBhbGwgZGVidWcgbWVzc2FnZXMgaW4gaTkxNV9kcm0uYyBjYW4gYmUg ZW5hYmxlZCB3aXRoOgplY2hvICJmaWxlIGk5MTVfcGVyZi5jICtwIiA+IGR5bmFtaWNfZGVidWcv Y29udHJvbAoKVGhpcyBhaW1zIHRvIG1haW50YWluIGNvbXBhdGliaWxpdHkgd2l0aCBjb250cm9s bGluZyBkZWJ1ZyBtZXNzYWdlcwp1c2luZyB0aGUgZHJtX2RlYnVnIHBhcmFtZXRlci4gVGhlIG5l dyBkeW5hbWljIGRlYnVnIG1hY3JvcyBhcmUgY2FsbGVkCmJ5IGRlZmF1bHQgYnV0IGNvbmRpdGlv bmFsbHkgY2FsbGluZyBbZGV2X11wcmludGsgaWYgdGhlIGNhdGVnb3J5IGZsYWcKaXMgc2V0IChz aWRlIHN0ZXBwaW5nIHRoZSBkeW5hbWljIGRlYnVnIGNvbmRpdGlvbiBpbiB0aGF0IGNhc2UpCgpU aGlzIHJlbW92ZXMgdGhlIGRybV9bZGV2X11wcmludGsgd3JhcHBlcnMgY29uc2lkZXJpbmcgdGhh dCB0aGUgZHluYW1pYwpkZWJ1ZyBtYWNyb3MgYXJlIG9ubHkgdXNlZnVsIGlmIHRoZXkgY2FuIHRy YWNrIHRoZSBfX0ZJTEVfXywgX19mdW5jX18KYW5kIF9fTElORV9fIHdoZXJlIHRoZXkgYXJlIGNh bGxlZC4gVGhlIHdyYXBwZXIgZGlkbid0IHNlZW0gbmVjZXNzYXJ5IGluCnRoZSBEUk1fVVRfTk9O RSBjYXNlIHdpdGggbm8gY2F0ZWdvcnkgZmxhZy4KClRoZSBvdXRwdXQgZm9ybWF0IHNob3VsZCBi ZSBjb21wYXRpYmxlLCB1bmxlc3MgdGhlIF9ERVYgbWFjcm9zIGFyZQpwYXNzZWQgYSBOVUxMIGRl diBwb2ludGVyIGNvbnNpZGVyaW5nIGhvdyB0aGUgY29yZS5jIGRldl9wcmludGsKaW1wbGVtZW50 YXRpb24gYWRkcyAiKE5VTEwgZGV2aWNlICopIiB0byB0aGUgbWVzc2FnZSBpbiB0aGF0IGNhc2Ug d2hpbGUKdGhlIGRybSB3cmFwcGVyIHdvdWxkIGZhbGxiYWNrIHRvIGEgcGxhaW4gcHJpbnRrIGlu IHRoaXMgY2FzZS4KUHJldmlvdXNseSBzb21lIG9mIG5vbi1kZXYgZHJtIGRlYnVnIG1hY3JvcyB3 ZXJlIGRlZmluZWQgaW4gdGVybXMgb2YKcGFzc2luZyBOVUxMIHRvIGEgZGV2IHZlcnNpb24gYnV0 IHRoYXQncyBhdm9pZGVkIG5vdyBkdWUgdG8gdGhpcwpkaWZmZXJlbmNlLgoKSSBoYXZlbid0IHNv IGZhciBsb29rZWQgdG8gc2VlIHdoYXQgYWZmZWN0IHRoZXNlIGhhdmUgb24gbGlua2VkIG9iamVj dApzaXplcy4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBCcmFnZyA8cm9iZXJ0QHNpeGJ5bmluZS5v cmc+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIHwgIDQ3IC0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2Ry bVAuaCAgICAgICAgfCAxNjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgMTA3IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2Rydi5jCmluZGV4IGNjNmMyNTMuLjViMmRiY2QgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwpAQCAt NjUsNTMgKzY1LDYgQEAgc3RhdGljIHN0cnVjdCBpZHIgZHJtX21pbm9yc19pZHI7CiAKIHN0YXRp YyBzdHJ1Y3QgZGVudHJ5ICpkcm1fZGVidWdmc19yb290OwogCi0jZGVmaW5lIERSTV9QUklOVEtf Rk1UICJbIiBEUk1fTkFNRSAiOiVzXSVzICVwViIKLQotdm9pZCBkcm1fZGV2X3ByaW50ayhjb25z dCBzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmxldmVsLAotCQkgICAgdW5zaWduZWQg aW50IGNhdGVnb3J5LCBjb25zdCBjaGFyICpmdW5jdGlvbl9uYW1lLAotCQkgICAgY29uc3QgY2hh ciAqcHJlZml4LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKLXsKLQlzdHJ1Y3QgdmFfZm9ybWF0 IHZhZjsKLQl2YV9saXN0IGFyZ3M7Ci0KLQlpZiAoY2F0ZWdvcnkgIT0gRFJNX1VUX05PTkUgJiYg IShkcm1fZGVidWcgJiBjYXRlZ29yeSkpCi0JCXJldHVybjsKLQotCXZhX3N0YXJ0KGFyZ3MsIGZv cm1hdCk7Ci0JdmFmLmZtdCA9IGZvcm1hdDsKLQl2YWYudmEgPSAmYXJnczsKLQotCWlmIChkZXYp Ci0JCWRldl9wcmludGsobGV2ZWwsIGRldiwgRFJNX1BSSU5US19GTVQsIGZ1bmN0aW9uX25hbWUs IHByZWZpeCwKLQkJCSAgICZ2YWYpOwotCWVsc2UKLQkJcHJpbnRrKCIlcyIgRFJNX1BSSU5US19G TVQsIGxldmVsLCBmdW5jdGlvbl9uYW1lLCBwcmVmaXgsICZ2YWYpOwotCi0JdmFfZW5kKGFyZ3Mp OwotfQotRVhQT1JUX1NZTUJPTChkcm1fZGV2X3ByaW50ayk7Ci0KLXZvaWQgZHJtX3ByaW50ayhj b25zdCBjaGFyICpsZXZlbCwgdW5zaWduZWQgaW50IGNhdGVnb3J5LAotCQljb25zdCBjaGFyICpm b3JtYXQsIC4uLikKLXsKLQlzdHJ1Y3QgdmFfZm9ybWF0IHZhZjsKLQl2YV9saXN0IGFyZ3M7Ci0K LQlpZiAoY2F0ZWdvcnkgIT0gRFJNX1VUX05PTkUgJiYgIShkcm1fZGVidWcgJiBjYXRlZ29yeSkp Ci0JCXJldHVybjsKLQotCXZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Ci0JdmFmLmZtdCA9IGZvcm1h dDsKLQl2YWYudmEgPSAmYXJnczsKLQotCXByaW50aygiJXMiICJbIiBEUk1fTkFNRSAiOiVwc10l cyAlcFYiLAotCSAgICAgICBsZXZlbCwgX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApLAotCSAg ICAgICBzdHJjbXAobGV2ZWwsIEtFUk5fRVJSKSA9PSAwID8gIiAqRVJST1IqIiA6ICIiLCAmdmFm KTsKLQotCXZhX2VuZChhcmdzKTsKLX0KLUVYUE9SVF9TWU1CT0woZHJtX3ByaW50ayk7Ci0KIC8q CiAgKiBEUk0gTWlub3JzCiAgKiBBIERSTSBkZXZpY2UgY2FuIHByb3ZpZGUgc2V2ZXJhbCBjaGFy LWRldiBpbnRlcmZhY2VzIG9uIHRoZSBEUk0tTWFqb3IuIEVhY2gKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaAppbmRleCBiMzUyYTdiLi5kNjFkOTM3 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1QLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtUC5o CkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUg PGxpbnV4L3dvcmtxdWV1ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1mZW5jZS5oPgorI2luY2x1 ZGUgPGxpbnV4L2R5bmFtaWNfZGVidWcuaD4KIAogI2luY2x1ZGUgPGFzbS9tbWFuLmg+CiAjaW5j bHVkZSA8YXNtL3BnYWxsb2MuaD4KQEAgLTEyOSw3ICsxMzAsNiBAQCBzdHJ1Y3QgZG1hX2J1Zl9h dHRhY2htZW50OwogICogcnVuLXRpbWUgYnkgZWNob2luZyB0aGUgZGVidWcgdmFsdWUgaW4gaXRz IHN5c2ZzIG5vZGU6CiAgKiAgICMgZWNobyAweGYgPiAvc3lzL21vZHVsZS9kcm0vcGFyYW1ldGVy cy9kZWJ1ZwogICovCi0jZGVmaW5lIERSTV9VVF9OT05FCQkweDAwCiAjZGVmaW5lIERSTV9VVF9D T1JFIAkJMHgwMQogI2RlZmluZSBEUk1fVVRfRFJJVkVSCQkweDAyCiAjZGVmaW5lIERSTV9VVF9L TVMJCTB4MDQKQEAgLTE0NiwyNSArMTQ2LDIyIEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7 CiAvKiogXG5hbWUgTWFjcm9zIHRvIG1ha2UgcHJpbnRrIGVhc2llciAqLwogLypAeyovCiAKLSNk ZWZpbmUgX0RSTV9QUklOVEsob25jZSwgbGV2ZWwsIGZtdCwgLi4uKQkJCQlcCi0JZG8gewkJCQkJ CQkJXAotCQlwcmludGsjI29uY2UoS0VSTl8jI2xldmVsICJbIiBEUk1fTkFNRSAiXSAiIGZtdCwJ XAotCQkJICAgICAjI19fVkFfQVJHU19fKTsJCQkJXAotCX0gd2hpbGUgKDApCisjZGVmaW5lIF9E Uk1fRk1UX1BSRUZJWCAiWyIgRFJNX05BTUUgIl0gIgorI2RlZmluZSBfRFJNX0ZNVF9GVU5DX1BS RUZJWCAiWyIgRFJNX05BTUUgIjolc10gIgogCiAjZGVmaW5lIERSTV9JTkZPKGZtdCwgLi4uKQkJ CQkJCVwKLQlfRFJNX1BSSU5USygsIElORk8sIGZtdCwgIyNfX1ZBX0FSR1NfXykKKwlwcl9pbmZv KF9EUk1fRk1UX1BSRUZJWCBmbXQsICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIERSTV9OT1RFKGZt dCwgLi4uKQkJCQkJCVwKLQlfRFJNX1BSSU5USygsIE5PVElDRSwgZm10LCAjI19fVkFfQVJHU19f KQorCXByX25vdGljZShfRFJNX0ZNVF9QUkVGSVggZm10LCAjI19fVkFfQVJHU19fKQogI2RlZmlu ZSBEUk1fV0FSTihmbXQsIC4uLikJCQkJCQlcCi0JX0RSTV9QUklOVEsoLCBXQVJOSU5HLCBmbXQs ICMjX19WQV9BUkdTX18pCisJcHJfd2FybihfRFJNX0ZNVF9QUkVGSVggZm10LCAjI19fVkFfQVJH U19fKQogCiAjZGVmaW5lIERSTV9JTkZPX09OQ0UoZm10LCAuLi4pCQkJCQkJXAotCV9EUk1fUFJJ TlRLKF9vbmNlLCBJTkZPLCBmbXQsICMjX19WQV9BUkdTX18pCisJcHJfaW5mb19vbmNlKF9EUk1f Rk1UX1BSRUZJWCBmbXQsICMjX19WQV9BUkdTX18pCiAjZGVmaW5lIERSTV9OT1RFX09OQ0UoZm10 LCAuLi4pCQkJCQkJXAotCV9EUk1fUFJJTlRLKF9vbmNlLCBOT1RJQ0UsIGZtdCwgIyNfX1ZBX0FS R1NfXykKKwlwcl9ub3RpY2Vfb25jZShfRFJNX0ZNVF9QUkVGSVggZm10LCAjI19fVkFfQVJHU19f KQogI2RlZmluZSBEUk1fV0FSTl9PTkNFKGZtdCwgLi4uKQkJCQkJCVwKLQlfRFJNX1BSSU5USyhf b25jZSwgV0FSTklORywgZm10LCAjI19fVkFfQVJHU19fKQorCXByX3dhcm5fb25jZShfRFJNX0ZN VF9QUkVGSVggZm10LCAjI19fVkFfQVJHU19fKQogCiAvKioKICAqIEVycm9yIG91dHB1dC4KQEAg LTE3MywxMCArMTcwLDExIEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7CiAgKiBccGFyYW0g YXJnIGFyZ3VtZW50cwogICovCiAjZGVmaW5lIERSTV9ERVZfRVJST1IoZGV2LCBmbXQsIC4uLikJ CQkJCVwKLQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fRVJSLCBEUk1fVVRfTk9ORSwgX19mdW5j X18sICIgKkVSUk9SKiIsXAotCQkgICAgICAgZm10LCAjI19fVkFfQVJHU19fKQorCWRldl9lcnIo ZGV2LCBfRFJNX0ZNVF9GVU5DX1BSRUZJWCAiKkVSUk9SKiIgZm10LCBfX2Z1bmNfXywJXAorCQkj I19fVkFfQVJHU19fKQogI2RlZmluZSBEUk1fRVJST1IoZm10LCAuLi4pCQkJCQkJXAotCWRybV9w cmludGsoS0VSTl9FUlIsIERSTV9VVF9OT05FLCBmbXQsCSMjX19WQV9BUkdTX18pCisJcHJfZXJy KF9EUk1fRk1UX0ZVTkNfUFJFRklYICIqRVJST1IqIiBmbXQsIF9fZnVuY19fLAkgICAgICAgIFwK KwkgICAgICAgIyNfX1ZBX0FSR1NfXykKIAogLyoqCiAgKiBSYXRlIGxpbWl0ZWQgZXJyb3Igb3V0 cHV0LiAgTGlrZSBEUk1fRVJST1IoKSBidXQgd29uJ3QgZmxvb2QgdGhlIGxvZy4KQEAgLTE5Mywy MSArMTkxLDE0IEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQ7CiAJaWYgKF9fcmF0ZWxpbWl0 KCZfcnMpKQkJCQkJCVwKIAkJRFJNX0RFVl9FUlJPUihkZXYsIGZtdCwgIyNfX1ZBX0FSR1NfXyk7 CQkJXAogfSkKLSNkZWZpbmUgRFJNX0VSUk9SX1JBVEVMSU1JVEVEKGZtdCwgLi4uKQkJCQkJXAot CURSTV9ERVZfRVJST1JfUkFURUxJTUlURUQoTlVMTCwgZm10LCAjI19fVkFfQVJHU19fKQorI2Rl ZmluZSBEUk1fRVJST1JfUkFURUxJTUlURUQoZm10LCBhcmdzLi4uKQkJCQlcCisJRFJNX0RFVl9F UlJPUl9SQVRFTElNSVRFRChOVUxMLCBmbXQsICMjYXJncykKIAotI2RlZmluZSBEUk1fREVWX0lO Rk8oZGV2LCBmbXQsIC4uLikJCQkJCVwKLQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fSU5GTywg RFJNX1VUX05PTkUsIF9fZnVuY19fLCAiIiwgZm10LAlcCi0JCSAgICAgICAjI19fVkFfQVJHU19f KQorI2RlZmluZSBEUk1fREVWX0lORk8oZGV2LCBmbXQsIGFyZ3MuLi4pCQkJCQlcCisJZGV2X2lu Zm8oZGV2LCBfRFJNX0ZNVF9GVU5DX1BSRUZJWCBmbXQsIF9fZnVuY19fLCAjI2FyZ3MpCiAKLSNk ZWZpbmUgRFJNX0RFVl9JTkZPX09OQ0UoZGV2LCBmbXQsIC4uLikJCQkJXAotKHsJCQkJCQkJCQlc Ci0Jc3RhdGljIGJvb2wgX19wcmludF9vbmNlIF9fcmVhZF9tb3N0bHk7CQkJCVwKLQlpZiAoIV9f cHJpbnRfb25jZSkgewkJCQkJCVwKLQkJX19wcmludF9vbmNlID0gdHJ1ZTsJCQkJCVwKLQkJRFJN X0RFVl9JTkZPKGRldiwgZm10LCAjI19fVkFfQVJHU19fKTsJCQlcCi0JfQkJCQkJCQkJXAotfSkK KyNkZWZpbmUgRFJNX0RFVl9JTkZPX09OQ0UoZGV2LCBmbXQsIGFyZ3MuLi4pCQkJCVwKKwlkZXZf aW5mb19vbmNlKGRldiwgX0RSTV9GTVRfRlVOQ19QUkVGSVggZm10LCBfX2Z1bmNfXywgIyNhcmdz KQogCiAvKioKICAqIERlYnVnIG91dHB1dC4KQEAgLTIxNSw1MCArMjA2LDEwNCBAQCBzdHJ1Y3Qg ZG1hX2J1Zl9hdHRhY2htZW50OwogICogXHBhcmFtIGZtdCBwcmludGYoKSBsaWtlIGZvcm1hdCBz dHJpbmcuCiAgKiBccGFyYW0gYXJnIGFyZ3VtZW50cwogICovCisKKyNpZiBkZWZpbmVkKENPTkZJ R19EWU5BTUlDX0RFQlVHKQorLyogV2UgZG9uJ3QgdXNlIHByX2RlYnVnIGFuZCBkZXZfZGJnIGRp cmVjdGx5IHNpbmNlIHdlIHdhbnQgdG8KKyAqIG1haW50YWluIGZvcm1hdCBjb21wYXRpYmlsaXR5 IHdpdGggbm9uLWR5bmFtaWMgZHJtIGRlYnVnIG1lc3NhZ2VzCisgKi8KKyNkZWZpbmUgX0RSTV9E WU5BTUlDX0RFVl9ERUJVRyhkZXYsIGZtdCwgYXJncy4uLikJCQlcCisoewkJCQkJCQkJCVwKKwlE RUZJTkVfRFlOQU1JQ19ERUJVR19NRVRBREFUQShkZXNjcmlwdG9yLCBmbXQpOwkJCVwKKwlpZiAo RFlOQU1JQ19ERUJVR19CUkFOQ0goZGVzY3JpcHRvcikpCQkJCVwKKwkJZGV2X3ByaW50ayhLRVJO X0RFQlVHLCBkZXYsIGZtdCwgIyNhcmdzKTsJCVwKK30pCisjZGVmaW5lIF9EUk1fRFlOQU1JQ19E RUJVRyhmbXQsIGFyZ3MuLi4pCQkJCVwKKyh7CQkJCQkJCQkJXAorCURFRklORV9EWU5BTUlDX0RF QlVHX01FVEFEQVRBKGRlc2NyaXB0b3IsIGZtdCk7CQkJXAorCWlmIChEWU5BTUlDX0RFQlVHX0JS QU5DSChkZXNjcmlwdG9yKSkJCQkJXAorCQlwcmludGsoS0VSTl9ERUJVRyBmbXQsICMjYXJncyk7 CQkJCVwKK30pCisjZWxzZQorI2RlZmluZSBfRFJNX0RZTkFNSUNfREVWX0RFQlVHKGRldiwgZm10 LCBhcmdzLi4uKQkJCVwKKwlub19wcmludGsoZm10LCAjI2FyZ3MpCisjZGVmaW5lIF9EUk1fRFlO QU1JQ19ERUJVRyhmbXQsIGFyZ3MuLi4pCQkJCVwKKwlub19wcmludGsoZm10LCAjI2FyZ3MpCisj ZW5kaWYKKworLyogVGhlIGNvbmRpdGlvbmFsIHVzZSBvZiBwcl9kZWJ1Zy9kZXZfZGJnIGhlcmUg YWxsb3dzIHVzIHRvIHRha2UKKyAqIGFkdmFudGFnZSBvZiB0aGUga2VybmVsJ3MgZHluYW1pYyBk ZWJ1ZyBmZWF0dXJlIGJ5IGRlZmF1bHQgKHJlZgorICogRG9jdW1lbnRhdGlvbi9keW5hbWljLWRl YnVnLWhvd3RvLnR4dCkgd2hpbGUgbWFpbnRhaW5pbmcKKyAqIGNvbXBhdGliaWxpdHkgd2l0aCB1 c2luZyBkcm0uZHJtX2RlYnVnIHRvIHR1cm4gb24gc2V0cyBvZiBtZXNzYWdlcworICoKKyAqIE5v dGU6IHByX2RlYnVnIGFuZCBkZXZfZGJnIGNhbid0IGJlIGNhbGxlZCBieSBhIHdyYXBwZXIgZnVu Y3Rpb24KKyAqIG90aGVyd2lzZSB0aGV5IGNhbid0IHRyYWNrIHRoZSBfX0ZJTEVfXywgX19mdW5j X18gYW5kIF9fTElORV9fCisgKiB3aGVyZSB0aGV5IGFyZSBjYWxsZWQuCisgKi8KKyNkZWZpbmUg X0RSTV9ERVZfREVCVUcoZGV2LCBjYXRlZ29yeSwgZm10LCBhcmdzLi4uKQkJCVwKKyh7CQkJCQkJ CQkJXAorCWlmICh1bmxpa2VseShkcm1fZGVidWcgJiBjYXRlZ29yeSkpIHsJCQkJXAorCSAgICBk ZXZfcHJpbnRrKEtFUk5fREVCVUcsIGRldiwgX0RSTV9GTVRfRlVOQ19QUkVGSVggZm10LAlcCisJ CSAgICAgICBfX2Z1bmNfXywgIyNhcmdzKTsJCQkJXAorCX0gZWxzZSB7CQkJCQkJCVwKKwkgICAg X0RSTV9EWU5BTUlDX0RFVl9ERUJVRyhkZXYsIF9EUk1fRk1UX0ZVTkNfUFJFRklYIGZtdCwJXAor CQkJCSAgIF9fZnVuY19fLCAjI2FyZ3MpOwkJCVwKKwl9CQkJCQkJCQlcCit9KQorI2RlZmluZSBf RFJNX0RFQlVHKGNhdGVnb3J5LCBmbXQsIGFyZ3MuLi4pCQkJCVwKKyh7CQkJCQkJCQkJXAorCWlm ICh1bmxpa2VseShkcm1fZGVidWcgJiBjYXRlZ29yeSkpIHsJCQkJXAorCSAgICBwcmludGsoS0VS Tl9ERUJVRyBfRFJNX0ZNVF9GVU5DX1BSRUZJWCBmbXQsCQkJXAorCQkgICBfX2Z1bmNfXywgIyNh cmdzKTsJCQkJCVwKKwl9IGVsc2UJCQkJCQkJCVwKKwkgICAgX0RSTV9EWU5BTUlDX0RFQlVHKF9E Uk1fRk1UX0ZVTkNfUFJFRklYIGZtdCwJCVwKKwkJCSAgICAgICBfX2Z1bmNfXywgIyNhcmdzKTsJ CQlcCit9KQorCiAjZGVmaW5lIERSTV9ERVZfREVCVUcoZGV2LCBmbXQsIGFyZ3MuLi4pCQkJCVwK LQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVCVUcsIERSTV9VVF9DT1JFLCBfX2Z1bmNfXywg IiIsIGZtdCwJXAotCQkgICAgICAgIyNhcmdzKQotI2RlZmluZSBEUk1fREVCVUcoZm10LCAuLi4p CQkJCQkJXAotCWRybV9wcmludGsoS0VSTl9ERUJVRywgRFJNX1VUX0NPUkUsIGZtdCwgIyNfX1ZB X0FSR1NfXykKKwlfRFJNX0RFVl9ERUJVRyhkZXYsIERSTV9VVF9DT1JFLCBmbXQsICMjYXJncykK KyNkZWZpbmUgRFJNX0RFQlVHKGZtdCwgYXJncy4uLikJCQkJCQlcCisJX0RSTV9ERUJVRyhEUk1f VVRfQ09SRSwgZm10LCAjI2FyZ3MpCiAKICNkZWZpbmUgRFJNX0RFVl9ERUJVR19EUklWRVIoZGV2 LCBmbXQsIGFyZ3MuLi4pCQkJCVwKLQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVCVUcsIERS TV9VVF9EUklWRVIsIF9fZnVuY19fLCAiIiwJXAotCQkgICAgICAgZm10LCAjI2FyZ3MpCi0jZGVm aW5lIERSTV9ERUJVR19EUklWRVIoZm10LCAuLi4pCQkJCQlcCi0JZHJtX3ByaW50ayhLRVJOX0RF QlVHLCBEUk1fVVRfRFJJVkVSLCBmbXQsICMjX19WQV9BUkdTX18pCisJX0RSTV9ERVZfREVCVUco ZGV2LCBEUk1fVVRfRFJJVkVSLCBmbXQsICMjYXJncykKKyNkZWZpbmUgRFJNX0RFQlVHX0RSSVZF UihmbXQsIGFyZ3MuLi4pCQkJCQlcCisJX0RSTV9ERUJVRyhEUk1fVVRfRFJJVkVSLCBmbXQsICMj YXJncykKIAogI2RlZmluZSBEUk1fREVWX0RFQlVHX0tNUyhkZXYsIGZtdCwgYXJncy4uLikJCQkJ XAotCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX0tNUywgX19mdW5jX18s ICIiLCBmbXQsCVwKLQkJICAgICAgICMjYXJncykKLSNkZWZpbmUgRFJNX0RFQlVHX0tNUyhmbXQs IC4uLikJCQkJCVwKLQlkcm1fcHJpbnRrKEtFUk5fREVCVUcsIERSTV9VVF9LTVMsIGZtdCwgIyNf X1ZBX0FSR1NfXykKKwlfRFJNX0RFVl9ERUJVRyhkZXYsIERSTV9VVF9LTVMsIGZtdCwgIyNhcmdz KQorI2RlZmluZSBEUk1fREVCVUdfS01TKGZtdCwgYXJncy4uLikJCQkJCVwKKwlfRFJNX0RFQlVH KERSTV9VVF9LTVMsIGZtdCwgIyNhcmdzKQogCiAjZGVmaW5lIERSTV9ERVZfREVCVUdfUFJJTUUo ZGV2LCBmbXQsIGFyZ3MuLi4pCQkJCVwKLQlkcm1fZGV2X3ByaW50ayhkZXYsIEtFUk5fREVCVUcs IERSTV9VVF9QUklNRSwgX19mdW5jX18sICIiLAlcCi0JCSAgICAgICBmbXQsICMjYXJncykKLSNk ZWZpbmUgRFJNX0RFQlVHX1BSSU1FKGZtdCwgLi4uKQkJCQkJXAotCWRybV9wcmludGsoS0VSTl9E RUJVRywgRFJNX1VUX1BSSU1FLCBmbXQsICMjX19WQV9BUkdTX18pCisJX0RSTV9ERVZfREVCVUco ZGV2LCBEUk1fVVRfUFJJTUUsIGZtdCwgIyNhcmdzKQorI2RlZmluZSBEUk1fREVCVUdfUFJJTUUo Zm10LCBhcmdzLi4uKQkJCQkJXAorCV9EUk1fREVCVUcoRFJNX1VUX1BSSU1FLCBmbXQsICMjYXJn cykKIAogI2RlZmluZSBEUk1fREVWX0RFQlVHX0FUT01JQyhkZXYsIGZtdCwgYXJncy4uLikJCQkJ XAotCWRybV9kZXZfcHJpbnRrKGRldiwgS0VSTl9ERUJVRywgRFJNX1VUX0FUT01JQywgX19mdW5j X18sICIiLAlcCi0JCSAgICAgICBmbXQsICMjYXJncykKLSNkZWZpbmUgRFJNX0RFQlVHX0FUT01J QyhmbXQsIC4uLikJCQkJCVwKLQlkcm1fcHJpbnRrKEtFUk5fREVCVUcsIERSTV9VVF9BVE9NSUMs IGZtdCwgIyNfX1ZBX0FSR1NfXykKKwlfRFJNX0RFVl9ERUJVRyhkZXYsIERSTV9VVF9BVE9NSUMs IGZtdCwgIyNhcmdzKQorI2RlZmluZSBEUk1fREVCVUdfQVRPTUlDKGZtdCwgYXJncy4uLikJCQkJ CVwKKwlfRFJNX0RFQlVHKERSTV9VVF9BVE9NSUMsIGZtdCwgIyNhcmdzKQogCiAjZGVmaW5lIERS TV9ERVZfREVCVUdfVkJMKGRldiwgZm10LCBhcmdzLi4uKQkJCQlcCi0JZHJtX2Rldl9wcmludGso ZGV2LCBLRVJOX0RFQlVHLCBEUk1fVVRfVkJMLCBfX2Z1bmNfXywgIiIsIGZtdCwJXAotCQkgICAg ICAgIyNhcmdzKQotI2RlZmluZSBEUk1fREVCVUdfVkJMKGZtdCwgLi4uKQkJCQkJXAotCWRybV9w cmludGsoS0VSTl9ERUJVRywgRFJNX1VUX1ZCTCwgZm10LCAjI19fVkFfQVJHU19fKQorCV9EUk1f REVWX0RFQlVHKGRldiwgRFJNX1VUX1ZCTCwgZm10LCAjI2FyZ3MpCisjZGVmaW5lIERSTV9ERUJV R19WQkwoZm10LCBhcmdzLi4uKQkJCQkJXAorCV9EUk1fREVCVUcoRFJNX1VUX1ZCTCwgZm10LCAj I2FyZ3MpCiAKLSNkZWZpbmUgX0RSTV9ERVZfREVGSU5FX0RFQlVHX1JBVEVMSU1JVEVEKGRldiwg bGV2ZWwsIGZtdCwgYXJncy4uLikJXAorI2RlZmluZSBfRFJNX0RFVl9ERUZJTkVfREVCVUdfUkFU RUxJTUlURUQoZGV2LCBjYXRlZ29yeSwgZm10LCBhcmdzLi4uKQlcCisoewkJCQkJCQkJCVwKKwlz dGF0aWMgREVGSU5FX1JBVEVMSU1JVF9TVEFURShfcnMsCQkJCVwKKwkJCQkgICAgICBERUZBVUxU X1JBVEVMSU1JVF9JTlRFUlZBTCwJXAorCQkJCSAgICAgIERFRkFVTFRfUkFURUxJTUlUX0JVUlNU KTsJCVwKKwlpZiAoX19yYXRlbGltaXQoJl9ycykpCQkJCQkJXAorCQlfRFJNX0RFVl9ERUJVRyhk ZXYsIERSTV9VVF8gIyMgY2F0ZWdvcnksIGZtdCwgIyNhcmdzKTsJXAorfSkKKyNkZWZpbmUgX0RS TV9ERUZJTkVfREVCVUdfUkFURUxJTUlURUQoY2F0ZWdvcnksIGZtdCwgYXJncy4uLikJXAogKHsJ CQkJCQkJCQlcCiAJc3RhdGljIERFRklORV9SQVRFTElNSVRfU1RBVEUoX3JzLAkJCQlcCiAJCQkJ ICAgICAgREVGQVVMVF9SQVRFTElNSVRfSU5URVJWQUwsCVwKIAkJCQkgICAgICBERUZBVUxUX1JB VEVMSU1JVF9CVVJTVCk7CQlcCiAJaWYgKF9fcmF0ZWxpbWl0KCZfcnMpKQkJCQkJCVwKLQkJZHJt X2Rldl9wcmludGsoZGV2LCBLRVJOX0RFQlVHLCBEUk1fVVRfICMjIGxldmVsLAlcCi0JCQkgICAg ICAgX19mdW5jX18sICIiLCBmbXQsICMjYXJncyk7CQlcCisJCV9EUk1fREVCVUcoRFJNX1VUXyAj IyBjYXRlZ29yeSwgZm10LCAjI2FyZ3MpOwkJXAogfSkKIAogLyoqCkBAIC0yNjgsMjEgKzMxMywy NCBAQCBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50OwogICogXHBhcmFtIGFyZyBhcmd1bWVudHMK ICAqLwogI2RlZmluZSBEUk1fREVWX0RFQlVHX1JBVEVMSU1JVEVEKGRldiwgZm10LCBhcmdzLi4u KQkJCVwKLQlERVZfX0RSTV9ERUZJTkVfREVCVUdfUkFURUxJTUlURUQoZGV2LCBDT1JFLCBmbXQs ICMjYXJncykKKwlfRFJNX0RFRklORV9ERUJVR19SQVRFTElNSVRFRChkZXYsIENPUkUsIGZtdCwg IyNhcmdzKQogI2RlZmluZSBEUk1fREVCVUdfUkFURUxJTUlURUQoZm10LCBhcmdzLi4uKQkJCQlc Ci0JRFJNX0RFVl9ERUJVR19SQVRFTElNSVRFRChOVUxMLCBmbXQsICMjYXJncykKKwlfRFJNX0RF RklORV9ERUJVR19SQVRFTElNSVRFRChDT1JFLCBmbXQsICMjYXJncykKKwogI2RlZmluZSBEUk1f REVWX0RFQlVHX0RSSVZFUl9SQVRFTElNSVRFRChkZXYsIGZtdCwgYXJncy4uLikJCVwKIAlfRFJN X0RFVl9ERUZJTkVfREVCVUdfUkFURUxJTUlURUQoZGV2LCBEUklWRVIsIGZtdCwgIyNhcmdzKQog I2RlZmluZSBEUk1fREVCVUdfRFJJVkVSX1JBVEVMSU1JVEVEKGZtdCwgYXJncy4uLikJCQlcCi0J RFJNX0RFVl9ERUJVR19EUklWRVJfUkFURUxJTUlURUQoTlVMTCwgZm10LCAjI2FyZ3MpCisJX0RS TV9ERVZfREVGSU5FX0RFQlVHX1JBVEVMSU1JVEVEKERSSVZFUiwgZm10LCAjI2FyZ3MpCisKICNk ZWZpbmUgRFJNX0RFVl9ERUJVR19LTVNfUkFURUxJTUlURUQoZGV2LCBmbXQsIGFyZ3MuLi4pCQlc CiAJX0RSTV9ERVZfREVGSU5FX0RFQlVHX1JBVEVMSU1JVEVEKGRldiwgS01TLCBmbXQsICMjYXJn cykKICNkZWZpbmUgRFJNX0RFQlVHX0tNU19SQVRFTElNSVRFRChmbXQsIGFyZ3MuLi4pCQkJCVwK LQlEUk1fREVWX0RFQlVHX0tNU19SQVRFTElNSVRFRChOVUxMLCBmbXQsICMjYXJncykKKwlfRFJN X0RFRklORV9ERUJVR19SQVRFTElNSVRFRChLTVMsIGZtdCwgIyNhcmdzKQorCiAjZGVmaW5lIERS TV9ERVZfREVCVUdfUFJJTUVfUkFURUxJTUlURUQoZGV2LCBmbXQsIGFyZ3MuLi4pCQlcCiAJX0RS TV9ERVZfREVGSU5FX0RFQlVHX1JBVEVMSU1JVEVEKGRldiwgUFJJTUUsIGZtdCwgIyNhcmdzKQog I2RlZmluZSBEUk1fREVCVUdfUFJJTUVfUkFURUxJTUlURUQoZm10LCBhcmdzLi4uKQkJCVwKLQlE Uk1fREVWX0RFQlVHX1BSSU1FX1JBVEVMSU1JVEVEKE5VTEwsIGZtdCwgIyNhcmdzKQorCV9EUk1f REVGSU5FX0RFQlVHX1JBVEVMSU1JVEVEKFBSSU1FLCBmbXQsICMjYXJncykKIAogLyogRm9ybWF0 IHN0cmluZ3MgYW5kIGFyZ3VtZW50IHNwbGl0dGVycyB0byBzaW1wbGlmeSBwcmludGluZwogICog dmFyaW91cyAiY29tcGxleCIgb2JqZWN0cwotLSAKMi4xMC4yCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK