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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 93163C2D0CB for ; Fri, 13 Dec 2019 20:59:57 +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 CC0F9246BC for ; Fri, 13 Dec 2019 20:59:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CC0F9246BC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 044066E8F0; Fri, 13 Dec 2019 15:34:53 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 79F396E8F0 for ; Fri, 13 Dec 2019 15:34:51 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2019 07:34:31 -0800 X-IronPort-AV: E=Sophos;i="5.69,309,1571727600"; d="scan'208";a="208489593" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Dec 2019 07:34:27 -0800 From: Jani Nikula To: Sean Paul , dri-devel@lists.freedesktop.org Subject: Re: [PATCH v3] drm: Funnel drm logs to tracepoints In-Reply-To: <20191212203301.142437-1-sean@poorly.run> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20191212203301.142437-1-sean@poorly.run> Date: Fri, 13 Dec 2019 17:34:25 +0200 Message-ID: <87mubw1bpa.fsf@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , Daniel Vetter , Steven Rostedt , Ingo Molnar , Sean Paul , Thomas Zimmermann , Sean Paul Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCAxMiBEZWMgMjAxOSwgU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+IHdyb3RlOgo+ IEZyb206IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+Cj4gRm9yIGEgbG9uZyB3 aGlsZSBub3csIHdlIChDaHJvbWVPUykgaGF2ZSBiZWVuIHN0cnVnZ2xpbmcgZ2V0dGluZyBhbnkK PiB2YWx1ZSBvdXQgb2YgdXNlciBmZWVkYmFjayByZXBvcnRzIG9mIGRpc3BsYXkgZmFpbHVyZXMg KG5vdGFibHkgZXh0ZXJuYWwKPiBkaXNwbGF5cyBub3Qgd29ya2luZykuIFRoZSBwcm9ibGVtIGlz IHRoYXQgYWxsIGxvZ2dpbmcsIGV2ZW4gZmF0YWwKPiBlcnJvcnMgKHdlbGwsIGZhdGFsIGluIHRo ZSBzZW5zZSB0aGF0IGEgZGlzcGxheSB3b24ndCBsaWdodCB1cCkgYXJlCj4gbG9nZ2VkIGF0IERF QlVHIGxvZyBsZXZlbC4gU28gaW4gb3JkZXIgdG8gZXh0cmFjdCB0aGVzZSBsb2dzLCB1c2VycyBu ZWVkCj4gdG8gYmUgYWJsZSB0byB0dXJuIG9uIGxvZ2dpbmcsIGFuZCByZXByb2R1Y2UgdGhlIGlz c3VlIHdpdGggZGVidWcKPiBlbmFibGVkLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGlzbid0IHJlYWxs eSBzb21ldGhpbmcgd2UgY2FuIGFzayBDck9TIHVzZXJzCj4gdG8gZG8uIEkgc3Bva2Ugd2l0aCBh aXJsaWVkIGFib3V0IHRoaXMgYW5kIFJIRUwgaGFzIHNpbWlsYXIgaXNzdWVzLiBBZnRlcgo+IGEg ZmV3IG1vcmUgcGVvcGxlIHBpcGVkIHVwIG9uIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoaXMgcGF0 Y2gsIGl0IGlzIGEKPiBSZWFsIElzc3VlLgo+Cj4gU28gd2h5IGRvbid0IHdlIGp1c3QgZW5hYmxl IERSTV9VVF9CTEFIPyBIZXJlIGFyZSB0aGUgcmVhc29ucyBpbgo+IGFzY2VuZGluZyBvcmRlciBv ZiBzZXZlcml0eToKPiAgMS0gUGVvcGxlIGFyZW4ndCBjb25zaXN0ZW50IHdpdGggdGhlaXIgY2F0 ZWdvcmllcywgc28gd2UnZCBoYXZlIHRvCj4gICAgIGVuYWJsZSBhIGJ1bmNoIHRvIGdldCBwcm9w ZXIgY292ZXJhZ2UKPiAgMi0gV2UgZG9uJ3Qgd2FudCB0byBvdmVyd2hlbG0gc3lzbG9nIHdpdGgg ZHJtIHNwYW0sIG90aGVycyBoYXZlIHRvIHVzZQo+ICAgICBpdCB0b28KPiAgMy0gQ29uc29sZSBs b2dnaW5nIGlzIHNsb3cKPgo+IFNvIHdoYXQgd2UgcmVhbGx5IHdhbnQgaXMgYSByaW5nYnVmZmVy IG9mIHRoZSBtb3N0IHJlY2VudCBsb2dzCj4gKGZpbHRlcmVkIGJ5IGNhdGVnb3JpZXMgd2UncmUg aW50ZXJlc3RlZCBpbikgZXhwb3NlZCB2aWEgZGVidWdmcyBzbyB0aGUKPiBsb2dzIGNhbiBiZSBl eHRyYWN0ZWQgd2hlbiB1c2VycyBmaWxlIGZlZWRiYWNrLgo+Cj4gSXQganVzdCBzbyBoYXBwZW5z IHRoYXQgdGhlcmUgaXMgc29tZXRoaW5nIHdoaWNoIGRvZXMgX2V4YWN0bHlfIHRoaXMhCj4gVGhp cyBwYXRjaCBkdW1wcyBkcm0gbG9ncyBpbnRvIHRyYWNlcG9pbnRzLCB3aGljaCBhbGxvd3MgdXMg dG8gdHVybiB0cmFjaW5nCj4gb24gYW5kIG9mZiBkZXBlbmRpbmcgb24gd2hpY2ggY2F0ZWdvcnkg aXMgdXNlZnVsLCBhbmQgcHVsbCB0aGVtIGZyb20KPiB0cmFjZWZzIG9uIGRlbWFuZC4KPgo+IFdo YXQgYWJvdXQgdHJhY2VfcHJpbnRrKCk/IEl0IGRvZXNuJ3QgZ2l2ZSB1cyB0aGUgY29udHJvbCB3 ZSBnZXQgZnJvbSB1c2luZwo+IHRyYWNlcG9pbnRzIGFuZCBpdCdzIG5vdCBtZWFudCB0byBiZSBs ZWZ0IHNwcmlua2xlZCBhcm91bmQgaW4gY29kZS4KPgo+IENjOiBEYXZpZCBBaXJsaWUgPGFpcmxp ZWRAZ21haWwuY29tPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNo Pgo+IENjOiBQZWtrYSBQYWFsYW5lbiA8cHBhYWxhbmVuQGdtYWlsLmNvbT4KPiBDYzogSm9vbmFz IExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENjOiBUaG9tYXMg WmltbWVybWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4KPiBDYzogUm9iIENsYXJrIDxyb2JkY2xh cmtAZ21haWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+IEFja2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPgo+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ IExpbms6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8yMDE5 MTAxMDIwNDgyMy4xOTU1NDAtMS1zZWFuQHBvb3JseS5ydW4gI3YxCj4KPiBDaGFuZ2VzIGluIHYy Ogo+IC0gV2VudCB3aXRoIGEgY29tcGxldGVseSBkaWZmZXJlbnQgYXBwcm9hY2g6IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE5LU5vdmVtYmVyLzI0 MzIzMC5odG1sCj4KPiBDaGFuZ2VzIGluIHYzOgo+IC0gQ2hhbmdlZCBjb21taXQgbWVzc2FnZSB0 byBiZSBhIGJpdCBsZXNzIFJGQy15Cj4gLSBNYWtlIGNsYXNzX2RybV9jYXRlZ29yeV9sb2cgYW4g YWN0dWFsIHRyYWNlIGNsYXNzCj4gLS0tCj4KPiBFdmVuIHRob3VnaCB3ZSBkb24ndCB3YW50IGl0 IHRvIGJlLCB0aGlzIGlzIFVBUEkuIFNvIGhlcmUncyBzb21lIHVzZXJzcGFjZQo+IGNvZGUgd2hp Y2ggdXNlcyBpdDoKPiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv Y2hyb21pdW1vcy9wbGF0Zm9ybTIvKy8xOTY1NTYyCj4KPgo+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X3ByaW50LmMgICAgICB8IDE0MyArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gIGlu Y2x1ZGUvdHJhY2UvZXZlbnRzL2RybV9wcmludC5oIHwgMTE2ICsrKysrKysrKysrKysrKysrKysr KysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMzkgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z KC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3RyYWNlL2V2ZW50cy9kcm1fcHJpbnQu aAo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbnQuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJpbnQuYwo+IGluZGV4IDlhMjVkNzNjMTU1Yy4uZjU5MTI5MjgxMWFhIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbnQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJpbnQuYwo+IEBAIC0yNywxMSArMjcsMTUgQEAKPiAgCj4gICNpbmNsdWRl IDxzdGRhcmcuaD4KPiAgCj4gKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L2lvLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgo+ICAjaW5jbHVk ZSA8bGludXgvc2VxX2ZpbGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiAgCj4gKyNk ZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UUwo+ICsjaW5jbHVkZSA8dHJhY2UvZXZlbnRzL2RybV9w cmludC5oPgo+ICsKPiAgI2luY2x1ZGUgPGRybS9kcm0uaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1f ZHJ2Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4gQEAgLTI0MSwxMCArMjQ1LDEw IEBAIHZvaWQgZHJtX2Rldl9wcmludGsoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBj aGFyICpsZXZlbCwKPiAgCXN0cnVjdCB2YV9mb3JtYXQgdmFmOwo+ICAJdmFfbGlzdCBhcmdzOwo+ ICAKPiAtCXZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Cj4gIAl2YWYuZm10ID0gZm9ybWF0Owo+ICAJ dmFmLnZhID0gJmFyZ3M7Cj4gIAo+ICsJdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKPiAgCWlmIChk ZXYpCj4gIAkJZGV2X3ByaW50ayhsZXZlbCwgZGV2LCAiWyIgRFJNX05BTUUgIjolcHNdICVwViIs Cj4gIAkJCSAgIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgJnZhZik7Cj4gQEAgLTI1Myw0 OSArMjU3LDE0NSBAQCB2b2lkIGRybV9kZXZfcHJpbnRrKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRl diwgY29uc3QgY2hhciAqbGV2ZWwsCj4gIAkJICAgICAgIGxldmVsLCBfX2J1aWx0aW5fcmV0dXJu X2FkZHJlc3MoMCksICZ2YWYpOwo+ICAKPiAgCXZhX2VuZChhcmdzKTsKPiArCj4gKwl2YV9zdGFy dChhcmdzLCBmb3JtYXQpOwo+ICsJdHJhY2VfZHJtX2xvZyhsZXZlbCwgZGV2LCAmdmFmKTsKPiAr CXZhX2VuZChhcmdzKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9kZXZfcHJpbnRrKTsKPiAg Cj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgZHJtX3RyYWNlX2VuYWJsZWQodW5zaWduZWQgaW50IGNh dGVnb3J5KQo+ICt7Cj4gKwl1bnNpZ25lZCBpbnQgYml0Owo+ICsKPiArCWZvcl9lYWNoX3NldF9i aXQoYml0LCAodW5zaWduZWQgbG9uZyopJmNhdGVnb3J5LCBzaXplb2YoY2F0ZWdvcnkpICogOCkg ewoKWW91J2xsIHdhbnQgdG8gdXNlIEJJVFNfUEVSX1RZUEUoKS4KCkJ1dCB3YWl0LCBJJ3ZlIHN3 aXRjaGVkIGNhdGVnb3J5IHRvIGFuIGVudW0gdXBzdHJlYW0sIGFuZCB0aGVyZSBzaG91bGQKb25s eSBldmVyIGJlIG9uZSBiaXQgc2V0IGFueXdheT8KCj4gKwkJc3dpdGNoIChCSVQoYml0KSkgewo+ ICsJCWNhc2UgRFJNX1VUX05PTkU6Cj4gKwkJCXJldHVybiB0cmFjZV9kcm1fZGJnX25vbmVfZW5h YmxlZCgpOwo+ICsJCWNhc2UgRFJNX1VUX0NPUkU6Cj4gKwkJCXJldHVybiB0cmFjZV9kcm1fZGJn X2NvcmVfZW5hYmxlZCgpOwo+ICsJCWNhc2UgRFJNX1VUX0RSSVZFUjoKPiArCQkJcmV0dXJuIHRy YWNlX2RybV9kYmdfZHJpdmVyX2VuYWJsZWQoKTsKPiArCQljYXNlIERSTV9VVF9LTVM6Cj4gKwkJ CXJldHVybiB0cmFjZV9kcm1fZGJnX2ttc19lbmFibGVkKCk7Cj4gKwkJY2FzZSBEUk1fVVRfUFJJ TUU6Cj4gKwkJCXJldHVybiB0cmFjZV9kcm1fZGJnX3ByaW1lX2VuYWJsZWQoKTsKPiArCQljYXNl IERSTV9VVF9BVE9NSUM6Cj4gKwkJCXJldHVybiB0cmFjZV9kcm1fZGJnX2F0b21pY19lbmFibGVk KCk7Cj4gKwkJY2FzZSBEUk1fVVRfVkJMOgo+ICsJCQlyZXR1cm4gdHJhY2VfZHJtX2RiZ192Ymxf ZW5hYmxlZCgpOwo+ICsJCWNhc2UgRFJNX1VUX1NUQVRFOgo+ICsJCQlyZXR1cm4gdHJhY2VfZHJt X2RiZ19zdGF0ZV9lbmFibGVkKCk7Cj4gKwkJY2FzZSBEUk1fVVRfTEVBU0U6Cj4gKwkJCXJldHVy biB0cmFjZV9kcm1fZGJnX2xlYXNlX2VuYWJsZWQoKTsKPiArCQljYXNlIERSTV9VVF9EUDoKPiAr CQkJcmV0dXJuIHRyYWNlX2RybV9kYmdfZHBfZW5hYmxlZCgpOwo+ICsJCWRlZmF1bHQ6Cj4gKwkJ CXJldHVybiB0cmFjZV9kcm1fZGJnX3Vua25vd25fZW5hYmxlZCgpOwo+ICsJCX0KPiArCX0KPiAr CXJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZHJtX2RvX3RyYWNlKGNvbnN0 IHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGNhdGVnb3J5LAo+ICsJCQkgc3RydWN0 IHZhX2Zvcm1hdCAqdmFmKQo+ICt7Cj4gKwlXQVJOX09OKGh3ZWlnaHQzMihjYXRlZ29yeSkgPiAx KTsKPiArCj4gKwlzd2l0Y2ggKGNhdGVnb3J5KSB7Cj4gKwljYXNlIERSTV9VVF9OT05FOgo+ICsJ CXRyYWNlX2RybV9kYmdfbm9uZShkZXYsIHZhZik7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIERSTV9V VF9DT1JFOgo+ICsJCXRyYWNlX2RybV9kYmdfY29yZShkZXYsIHZhZik7Cj4gKwkJYnJlYWs7Cj4g KwljYXNlIERSTV9VVF9EUklWRVI6Cj4gKwkJdHJhY2VfZHJtX2RiZ19kcml2ZXIoZGV2LCB2YWYp Owo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1fVVRfS01TOgo+ICsJCXRyYWNlX2RybV9kYmdfa21z KGRldiwgdmFmKTsKPiArCQlicmVhazsKPiArCWNhc2UgRFJNX1VUX1BSSU1FOgo+ICsJCXRyYWNl X2RybV9kYmdfcHJpbWUoZGV2LCB2YWYpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1fVVRfQVRP TUlDOgo+ICsJCXRyYWNlX2RybV9kYmdfYXRvbWljKGRldiwgdmFmKTsKPiArCQlicmVhazsKPiAr CWNhc2UgRFJNX1VUX1ZCTDoKPiArCQl0cmFjZV9kcm1fZGJnX3ZibChkZXYsIHZhZik7Cj4gKwkJ YnJlYWs7Cj4gKwljYXNlIERSTV9VVF9TVEFURToKPiArCQl0cmFjZV9kcm1fZGJnX3N0YXRlKGRl diwgdmFmKTsKPiArCQlicmVhazsKPiArCWNhc2UgRFJNX1VUX0xFQVNFOgo+ICsJCXRyYWNlX2Ry bV9kYmdfbGVhc2UoZGV2LCB2YWYpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1fVVRfRFA6Cj4g KwkJdHJhY2VfZHJtX2RiZ19kcChkZXYsIHZhZik7Cj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ ICsJCXRyYWNlX2RybV9kYmdfdW5rbm93bihkZXYsIHZhZik7Cj4gKwkJYnJlYWs7Cj4gKwl9Cj4g K30KPiArCj4gIHZvaWQgZHJtX2Rldl9kYmcoY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgY2F0ZWdvcnksCj4gIAkJIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQo+ICB7Cj4g IAlzdHJ1Y3QgdmFfZm9ybWF0IHZhZjsKPiArCXVuc2lnbmVkIGludCBiaXQ7Cj4gIAl2YV9saXN0 IGFyZ3M7Cj4gIAo+IC0JaWYgKCFkcm1fZGVidWdfZW5hYmxlZChjYXRlZ29yeSkpCj4gLQkJcmV0 dXJuOwo+IC0KPiAtCXZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Cj4gIAl2YWYuZm10ID0gZm9ybWF0 Owo+ICAJdmFmLnZhID0gJmFyZ3M7Cj4gIAo+IC0JaWYgKGRldikKPiAtCQlkZXZfcHJpbnRrKEtF Uk5fREVCVUcsIGRldiwgIlsiIERSTV9OQU1FICI6JXBzXSAlcFYiLAo+IC0JCQkgICBfX2J1aWx0 aW5fcmV0dXJuX2FkZHJlc3MoMCksICZ2YWYpOwo+IC0JZWxzZQo+IC0JCXByaW50ayhLRVJOX0RF QlVHICJbIiBEUk1fTkFNRSAiOiVwc10gJXBWIiwKPiAtCQkgICAgICAgX19idWlsdGluX3JldHVy bl9hZGRyZXNzKDApLCAmdmFmKTsKPiArCWlmIChkcm1fZGVidWdfZW5hYmxlZChjYXRlZ29yeSkp IHsKClZpbGxlIHdhbnRzIHRvIG1vdmUgdGhpcyBjaGVjayBvdXRzaWRlIG9mIHRoZSBmdW5jdGlv bnMgaW4gdGhlIG1hY3JvCmxldmVsIGluIHRoZSBoZWFkZXIgZmlsZS4gQXBwYXJlbnRseSBpdCdz IHByZXR0eSBiYWQgZm9yIHBlcmZvcm1hbmNlIG9uCnNvbWUgKG9sZGVyIEF0b20pIG1hY2hpbmVz IHRvIGRvIHRoZSBjYWxsIGZvciBub3RoaW5nLgoKQlIsCkphbmkuCgo+ICsJCXZhX3N0YXJ0KGFy Z3MsIGZvcm1hdCk7Cj4gKwkJaWYgKGRldikKPiArCQkJZGV2X3ByaW50ayhLRVJOX0RFQlVHLCBk ZXYsICJbIiBEUk1fTkFNRSAiOiVwc10gJXBWIiwKPiArCQkJCSAgIF9fYnVpbHRpbl9yZXR1cm5f YWRkcmVzcygwKSwgJnZhZik7Cj4gKwkJZWxzZQo+ICsJCQlwcmludGsoS0VSTl9ERUJVRyAiWyIg RFJNX05BTUUgIjolcHNdICVwViIsCj4gKwkJCSAgICAgICBfX2J1aWx0aW5fcmV0dXJuX2FkZHJl c3MoMCksICZ2YWYpOwo+ICsJCXZhX2VuZChhcmdzKTsKPiArCX0KPiArCj4gKwlpZiAoIWRybV90 cmFjZV9lbmFibGVkKGNhdGVnb3J5KSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJZm9yX2VhY2hfc2V0 X2JpdChiaXQsICh1bnNpZ25lZCBsb25nKikmY2F0ZWdvcnksIHNpemVvZihjYXRlZ29yeSkgKiA4 KSB7Cj4gKwkJdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKPiArCQlkcm1fZG9fdHJhY2UoZGV2LCBC SVQoYml0KSwgJnZhZik7Cj4gKwkJdmFfZW5kKGFyZ3MpOwo+ICsJfQo+ICAKPiAtCXZhX2VuZChh cmdzKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9kZXZfZGJnKTsKPiAgCj4gIHZvaWQgZHJt X2RiZyh1bnNpZ25lZCBpbnQgY2F0ZWdvcnksIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKQo+ICB7 Cj4gIAlzdHJ1Y3QgdmFfZm9ybWF0IHZhZjsKPiArCXVuc2lnbmVkIGludCBiaXQ7Cj4gIAl2YV9s aXN0IGFyZ3M7Cj4gIAo+IC0JaWYgKCFkcm1fZGVidWdfZW5hYmxlZChjYXRlZ29yeSkpCj4gLQkJ cmV0dXJuOwo+IC0KPiAtCXZhX3N0YXJ0KGFyZ3MsIGZvcm1hdCk7Cj4gIAl2YWYuZm10ID0gZm9y bWF0Owo+ICAJdmFmLnZhID0gJmFyZ3M7Cj4gIAo+IC0JcHJpbnRrKEtFUk5fREVCVUcgIlsiIERS TV9OQU1FICI6JXBzXSAlcFYiLAo+IC0JICAgICAgIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygw KSwgJnZhZik7Cj4gKwlpZiAoZHJtX2RlYnVnX2VuYWJsZWQoY2F0ZWdvcnkpKSB7Cj4gKwkJdmFf c3RhcnQoYXJncywgZm9ybWF0KTsKPiArCQlwcmludGsoS0VSTl9ERUJVRyAiWyIgRFJNX05BTUUg IjolcHNdICVwViIsCj4gKwkJICAgICAgIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgJnZh Zik7Cj4gKwkJdmFfZW5kKGFyZ3MpOwo+ICsJfQo+ICAKPiAtCXZhX2VuZChhcmdzKTsKPiArCWlm ICghZHJtX3RyYWNlX2VuYWJsZWQoY2F0ZWdvcnkpKQo+ICsJCXJldHVybjsKPiArCj4gKwlmb3Jf ZWFjaF9zZXRfYml0KGJpdCwgKHVuc2lnbmVkIGxvbmcqKSZjYXRlZ29yeSwgc2l6ZW9mKGNhdGVn b3J5KSAqIDgpIHsKPiArCQl2YV9zdGFydChhcmdzLCBmb3JtYXQpOwo+ICsJCWRybV9kb190cmFj ZShOVUxMLCBCSVQoYml0KSwgJnZhZik7Cj4gKwkJdmFfZW5kKGFyZ3MpOwo+ICsJfQo+ICB9Cj4g IEVYUE9SVF9TWU1CT0woZHJtX2RiZyk7Cj4gIAo+IEBAIC0zMDQsMTMgKzQwNCwxNiBAQCB2b2lk IGRybV9lcnIoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCj4gIAlzdHJ1Y3QgdmFfZm9ybWF0IHZh ZjsKPiAgCXZhX2xpc3QgYXJnczsKPiAgCj4gLQl2YV9zdGFydChhcmdzLCBmb3JtYXQpOwo+ICAJ dmFmLmZtdCA9IGZvcm1hdDsKPiAgCXZhZi52YSA9ICZhcmdzOwo+ICAKPiArCXZhX3N0YXJ0KGFy Z3MsIGZvcm1hdCk7Cj4gIAlwcmludGsoS0VSTl9FUlIgIlsiIERSTV9OQU1FICI6JXBzXSAqRVJS T1IqICVwViIsCj4gIAkgICAgICAgX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApLCAmdmFmKTsK PiArCXZhX2VuZChhcmdzKTsKPiAgCj4gKwl2YV9zdGFydChhcmdzLCBmb3JtYXQpOwo+ICsJdHJh Y2VfZHJtX2VycihOVUxMLCAmdmFmKTsKPiAgCXZhX2VuZChhcmdzKTsKPiAgfQo+ICBFWFBPUlRf U1lNQk9MKGRybV9lcnIpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3RyYWNlL2V2ZW50cy9kcm1f cHJpbnQuaCBiL2luY2x1ZGUvdHJhY2UvZXZlbnRzL2RybV9wcmludC5oCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjg2MjcyOGZlMGY4OQo+IC0tLSAvZGV2L251 bGwKPiArKysgYi9pbmNsdWRlL3RyYWNlL2V2ZW50cy9kcm1fcHJpbnQuaAo+IEBAIC0wLDAgKzEs MTE2IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKPiArLyoKPiArICogQ29w eXJpZ2h0IChDKSAyMDE5IEdvb2dsZSwgSW5jLgo+ICsgKgo+ICsgKiBBdXRob3JzOgo+ICsgKiBT ZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiArICovCj4gKyN1bmRlZiBUUkFDRV9T WVNURU0KPiArI2RlZmluZSBUUkFDRV9TWVNURU0gZHJtX3ByaW50Cj4gKwo+ICsjaWYgIWRlZmlu ZWQoX1RSQUNFX0RSTV9QUklOVF9IKSB8fCBkZWZpbmVkKFRSQUNFX0hFQURFUl9NVUxUSV9SRUFE KQo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvdHJh Y2Vwb2ludC5oPgo+ICsKPiArI2RlZmluZSBEUk1fUFJJTlRfTUFYIDI1Ngo+ICsKPiArI2RlZmlu ZSBfVFJBQ0VfRFJNX1BSSU5UX0gKPiArCj4gK1RSQUNFX0VWRU5UKGRybV9sb2csCj4gKwlUUF9Q Uk9UTyhjb25zdCBjaGFyICogbGV2ZWwsIGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwKPiArCQkg c3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwKPiArCVRQX0FSR1MobGV2ZWwsIGRldiwgdmFmKSwKPiAr CVRQX1NUUlVDVF9fZW50cnkoCj4gKwkJX19maWVsZChjb25zdCBjaGFyICosCQlsZXZlbAkJCSkK PiArCQlfX2ZpZWxkKGNvbnN0IHN0cnVjdCBkZXZpY2UgKiwJZGV2CQkJKQo+ICsJCV9fZHluYW1p Y19hcnJheShjaGFyLAkJbXNnLAlEUk1fUFJJTlRfTUFYCSkKPiArCQlfX2ZpZWxkKGludCwJCQls ZW4JCQkpCj4gKwkpLAo+ICsJVFBfZmFzdF9hc3NpZ24oCj4gKwkJX19lbnRyeS0+bGV2ZWwgPSBs ZXZlbDsKPiArCQlfX2VudHJ5LT5kZXYgPSBkZXY7Cj4gKwkJX19lbnRyeS0+bGVuID0gdnNucHJp bnRmKF9fZ2V0X3N0cihtc2cpLCBEUk1fUFJJTlRfTUFYLAo+ICsJCQkJCSB2YWYtPmZtdCwgKnZh Zi0+dmEpOwo+ICsJCWlmIChfX2VudHJ5LT5sZW4gPiAwICYmCj4gKwkJICAgIF9fZ2V0X3N0ciht c2cpW19fZW50cnktPmxlbiAtIDFdID09ICdcbicpCj4gKwkJCV9fZ2V0X3N0cihtc2cpWy0tX19l bnRyeS0+bGVuXSA9ICdcMCc7Cj4gKwkpLAo+ICsJVFBfcHJpbnRrKCIlcyAlcyAlczogJXMiLCBf X2VudHJ5LT5sZXZlbCwKPiArCQkgIF9fZW50cnktPmRldiA/IGRldl9kcml2ZXJfc3RyaW5nKF9f ZW50cnktPmRldikgOiAiKE5VTEwpOiIsCj4gKwkJICBfX2VudHJ5LT5kZXYgPyBkZXZfbmFtZShf X2VudHJ5LT5kZXYpIDogIiIsIF9fZ2V0X3N0cihtc2cpKQo+ICspOwo+ICsKPiArREVDTEFSRV9F VkVOVF9DTEFTUyhjbGFzc19kcm1fY2F0ZWdvcnlfbG9nLAo+ICsJVFBfUFJPVE8oY29uc3Qgc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYs IHZhZiksCj4gKwlUUF9TVFJVQ1RfX2VudHJ5KAo+ICsJCV9fZmllbGQoY29uc3Qgc3RydWN0IGRl dmljZSAqLAlkZXYJCQkpCj4gKwkJX19keW5hbWljX2FycmF5KGNoYXIsCQltc2csCURSTV9QUklO VF9NQVgJKQo+ICsJCV9fZmllbGQoaW50LAkJCWxlbgkJCSkKPiArCSksCj4gKwlUUF9mYXN0X2Fz c2lnbigKPiArCQlfX2VudHJ5LT5kZXYgPSBkZXY7Cj4gKwkJX19lbnRyeS0+bGVuID0gdnNucHJp bnRmKF9fZ2V0X3N0cihtc2cpLCBEUk1fUFJJTlRfTUFYLAo+ICsJCQkJCSB2YWYtPmZtdCwgKnZh Zi0+dmEpOwo+ICsJCWlmIChfX2VudHJ5LT5sZW4gPiAwICYmCj4gKwkJICAgIF9fZ2V0X3N0ciht c2cpW19fZW50cnktPmxlbiAtIDFdID09ICdcbicpCj4gKwkJCV9fZ2V0X3N0cihtc2cpWy0tX19l bnRyeS0+bGVuXSA9ICdcMCc7Cj4gKwkpLAo+ICsJVFBfcHJpbnRrKCIlcyAlcyVzJXMiLAo+ICsJ CSAgX19lbnRyeS0+ZGV2ID8gZGV2X2RyaXZlcl9zdHJpbmcoX19lbnRyeS0+ZGV2KSA6ICIiLAo+ ICsJCSAgX19lbnRyeS0+ZGV2ID8gZGV2X25hbWUoX19lbnRyeS0+ZGV2KSA6ICIiLAo+ICsJCSAg X19lbnRyeS0+ZGV2ID8gIjogIiA6ICIiLCBfX2dldF9zdHIobXNnKSkKPiArKTsKPiArREVGSU5F X0VWRU5UKGNsYXNzX2RybV9jYXRlZ29yeV9sb2csIGRybV9lcnIsCj4gKwlUUF9QUk9UTyhjb25z dCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2YV9mb3JtYXQgKnZhZiksCj4gKwlUUF9BUkdT KGRldiwgdmFmKQo+ICspOwo+ICtERUZJTkVfRVZFTlQoY2xhc3NfZHJtX2NhdGVnb3J5X2xvZywg ZHJtX2RiZ19ub25lLAo+ICsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1 Y3QgdmFfZm9ybWF0ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYsIHZhZikKPiArKTsKPiArREVGSU5F X0VWRU5UKGNsYXNzX2RybV9jYXRlZ29yeV9sb2csIGRybV9kYmdfY29yZSwKPiArCVRQX1BST1RP KGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwKPiArCVRQ X0FSR1MoZGV2LCB2YWYpCj4gKyk7Cj4gK0RFRklORV9FVkVOVChjbGFzc19kcm1fY2F0ZWdvcnlf bG9nLCBkcm1fZGJnX2RyaXZlciwKPiArCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRl diwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwKPiArCVRQX0FSR1MoZGV2LCB2YWYpCj4gKyk7Cj4g K0RFRklORV9FVkVOVChjbGFzc19kcm1fY2F0ZWdvcnlfbG9nLCBkcm1fZGJnX2ttcywKPiArCVRQ X1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwK PiArCVRQX0FSR1MoZGV2LCB2YWYpCj4gKyk7Cj4gK0RFRklORV9FVkVOVChjbGFzc19kcm1fY2F0 ZWdvcnlfbG9nLCBkcm1fZGJnX3ByaW1lLAo+ICsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYsIHZhZikKPiAr KTsKPiArREVGSU5FX0VWRU5UKGNsYXNzX2RybV9jYXRlZ29yeV9sb2csIGRybV9kYmdfYXRvbWlj LAo+ICsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdmFfZm9ybWF0 ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYsIHZhZikKPiArKTsKPiArREVGSU5FX0VWRU5UKGNsYXNz X2RybV9jYXRlZ29yeV9sb2csIGRybV9kYmdfdmJsLAo+ICsJVFBfUFJPVE8oY29uc3Qgc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYsIHZh ZikKPiArKTsKPiArREVGSU5FX0VWRU5UKGNsYXNzX2RybV9jYXRlZ29yeV9sb2csIGRybV9kYmdf c3RhdGUsCj4gKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB2YV9m b3JtYXQgKnZhZiksCj4gKwlUUF9BUkdTKGRldiwgdmFmKQo+ICspOwo+ICtERUZJTkVfRVZFTlQo Y2xhc3NfZHJtX2NhdGVnb3J5X2xvZywgZHJtX2RiZ19sZWFzZSwKPiArCVRQX1BST1RPKGNvbnN0 IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwKPiArCVRQX0FSR1Mo ZGV2LCB2YWYpCj4gKyk7Cj4gK0RFRklORV9FVkVOVChjbGFzc19kcm1fY2F0ZWdvcnlfbG9nLCBk cm1fZGJnX2RwLAo+ICsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg dmFfZm9ybWF0ICp2YWYpLAo+ICsJVFBfQVJHUyhkZXYsIHZhZikKPiArKTsKPiArREVGSU5FX0VW RU5UKGNsYXNzX2RybV9jYXRlZ29yeV9sb2csIGRybV9kYmdfdW5rbm93biwKPiArCVRQX1BST1RP KGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKSwKPiArCVRQ X0FSR1MoZGV2LCB2YWYpCj4gKyk7Cj4gKyNlbmRpZgo+ICsKPiArLyogVGhpcyBwYXJ0IG11c3Qg YmUgb3V0c2lkZSBwcm90ZWN0aW9uICovCj4gKyNpbmNsdWRlIDx0cmFjZS9kZWZpbmVfdHJhY2Uu aD4KCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgR3JhcGhpY3MgQ2VudGVyCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=