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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 5ED0EC43603 for ; Mon, 9 Dec 2019 16:40:50 +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 38F1C2080D for ; Mon, 9 Dec 2019 16:40:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 38F1C2080D 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=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C2AFF6E4F4; Mon, 9 Dec 2019 16:40:49 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id AF4FD6E4F4 for ; Mon, 9 Dec 2019 16:40:48 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Dec 2019 08:40:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,296,1571727600"; d="scan'208";a="215144999" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga006.jf.intel.com with SMTP; 09 Dec 2019 08:40:45 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 09 Dec 2019 18:40:44 +0200 Date: Mon, 9 Dec 2019 18:40:44 +0200 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Message-ID: <20191209164044.GU1208@intel.com> References: <20191207011832.422566-1-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191207011832.422566-1-jose.souza@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 1/4] drm/i915/tgl: Select master transcoder for MST stream X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gRnJpLCBEZWMgMDYsIDIwMTkgYXQgMDU6MTg6MjlQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBPbiBUR0wgdGhlIGJsZW5kaW5nIG9mIGFsbCB0aGUgc3RyZWFtcyBo YXZlIG1vdmVkIGZyb20gRERJIHRvCj4gdHJhbnNjb2Rlciwgc28gbm93IGV2ZXJ5IHRyYW5zY29k ZXIgd29ya2luZyBvdmVyIHRoZSBzYW1lIE1TVCBwb3J0IG11c3QKPiBzZW5kIGl0cyBzdHJlYW0g dG8gYSBtYXN0ZXIgdHJhbnNjb2RlciBhbmQgbWFzdGVyIHdpbGwgc2VuZCB0byBEREkKPiByZXNw ZWN0aW5nIHRoZSB0aW1lIHNsb3RzLgo+IAo+IFNvIGhlcmUgYWRkaW5nIGFsbCB0aGUgQ1JUQ3Mg dGhhdCBzaGFyZXMgdGhlIHNhbWUgTVNUIHN0cmVhbSBpZgo+IG5lZWRlZCBhbmQgY29tcHV0aW5n IHRoZWlyIHN0YXRlIGFnYWluLCBpdCB3aWxsIHBpY2sgdGhlIGZpcnN0Cj4gdHJhbnNjb2RlciBh bW9uZyB0aGUgb25lcyBpbiB0aGUgc2FtZSBzdHJlYW0gdG8gYmUgbWFzdGVyLgo+IAo+IE1vc3Qg b2YgdGhlIHRpbWUgc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoKSBlbmFibGVzIHBpcGVzIGlu IGEKPiBjcmVzY2VudCBvcmRlciBidXQgZHVlIEREQiBvdmVybGFwcGluZyBpdCBtaWdodCBub3Qg aGFwcGVuLCB0aGlzCj4gc2NlbmFyaW8gd2lsbCBiZSBoYW5kbGVkIGluIHRoZSBuZXh0IHBhdGNo Lgo+IAo+IEJTcGVjOiA1MDQ5Mwo+IEJTcGVjOiA0OTE5MAo+IENjOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1 Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRl IFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYyAgICAgIHwgIDE0ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8ICAxNSArLQo+ICAuLi4vZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgIDMgKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jICAgfCAxNjMgKysrKysrKysrKysrKysrKysrCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmggICB8ICAgNSArCj4g IDUgZmlsZXMgY2hhbmdlZCwgMTk2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gaW5kZXggM2NhY2IxZTI3 OWMxLi5iZTViYzUwNmQ0ZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGRpLmMKPiBAQCAtMTkwMyw4ICsxOTAzLDEzIEBAIGludGVsX2RkaV90cmFuc2NvZGVyX2Z1 bmNfcmVnX3ZhbF9nZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRFBfTVNUOwo+ICAJCXRlbXAgfD0g RERJX1BPUlRfV0lEVEgoY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCk7Cj4gIAo+IC0JCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDEyKQo+IC0JCQl0ZW1wIHw9IFRSQU5TX0RESV9NU1RfVFJBTlNQ T1JUX1NFTEVDVChjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rlcik7Cj4gKwkJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gMTIpIHsKPiArCQkJZW51bSB0cmFuc2NvZGVyIG1hc3RlcjsKPiArCj4g KwkJCW1hc3RlciA9IGNydGNfc3RhdGUtPm1zdF9tYXN0ZXJfdHJhbnNjb2RlcjsKPiArCQkJV0FS Tl9PTihtYXN0ZXIgPT0gSU5WQUxJRF9UUkFOU0NPREVSKTsKCkknZCBkcm9wIHRoZSBXQVJOX09O KCkuIElmIHdlIGtlZXAgYWRkaW5nIHRoZXNlIGZvciBldmVyeSBsaXR0bGUgdGhpbmcKd2UnbGwg ZHJvd24gaW4gdGhlbS4KCj4gKwkJCXRlbXAgfD0gVFJBTlNfRERJX01TVF9UUkFOU1BPUlRfU0VM RUNUKG1hc3Rlcik7Cj4gKwkJfQo+ICAJfSBlbHNlIHsKPiAgCQl0ZW1wIHw9IFRSQU5TX0RESV9N T0RFX1NFTEVDVF9EUF9TU1Q7Cj4gIAkJdGVtcCB8PSBERElfUE9SVF9XSURUSChjcnRjX3N0YXRl LT5sYW5lX2NvdW50KTsKPiBAQCAtNDM3Miw2ICs0Mzc3LDExIEBAIHZvaWQgaW50ZWxfZGRpX2dl dF9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJcGlwZV9jb25maWct Pm91dHB1dF90eXBlcyB8PSBCSVQoSU5URUxfT1VUUFVUX0RQX01TVCk7Cj4gIAkJcGlwZV9jb25m aWctPmxhbmVfY291bnQgPQo+ICAJCQkoKHRlbXAgJiBERElfUE9SVF9XSURUSF9NQVNLKSA+PiBE RElfUE9SVF9XSURUSF9TSElGVCkgKyAxOwo+ICsKPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSAxMikKPiArCQkJcGlwZV9jb25maWctPm1zdF9tYXN0ZXJfdHJhbnNjb2RlciA9Cj4gKwkJ CQkJUkVHX0ZJRUxEX0dFVChUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1RfTUFTSywgdGVt cCk7Cj4gKwo+ICAJCWludGVsX2RwX2dldF9tX24oaW50ZWxfY3J0YywgcGlwZV9jb25maWcpOwo+ ICAJCWJyZWFrOwo+ICAJZGVmYXVsdDoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDgyMWJhODA1M2Y5ZC4uZjg5NDk0Yzg0OWNlIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAt NDYsNiArNDYsNyBAQAo+ICAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9jcnQuaCIKPiAgI2luY2x1 ZGUgImRpc3BsYXkvaW50ZWxfZGRpLmgiCj4gICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2RwLmgi Cj4gKyNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2RwX21zdC5oIgo+ICAjaW5jbHVkZSAiZGlzcGxh eS9pbnRlbF9kc2kuaCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHZvLmgiCj4gICNpbmNs dWRlICJkaXNwbGF5L2ludGVsX2dtYnVzLmgiCj4gQEAgLTEyNTQyLDYgKzEyNTQzLDExIEBAIHN0 YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkgICAgICBwaXBlX2NvbmZpZy0+Y3NjX21vZGUsIHBp cGVfY29uZmlnLT5nYW1tYV9tb2RlLAo+ICAJCQkgICAgICBwaXBlX2NvbmZpZy0+Z2FtbWFfZW5h YmxlLCBwaXBlX2NvbmZpZy0+Y3NjX2VuYWJsZSk7Cj4gIAo+ICsJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTIgJiYKPiArCSAgICBpbnRlbF9jcnRjX2hhc190eXBlKHBpcGVfY29uZmlnLCBJ TlRFTF9PVVRQVVRfRFBfTVNUKSkKCkNvdWxkIHByb2JhYmx5IHByaW50IHRoaXMgdW5jb25kaXRp b25hbGx5IHRvIGtlZXAgdGhlIGNvZGUgbGVzcyBtZXNzeS4KCj4gKwkJRFJNX0RFQlVHX0tNUygi TVNUIG1hc3RlciB0cmFuc2NvZGVyOiAlc1xuIiwKPiArCQkJICAgICAgdHJhbnNjb2Rlcl9uYW1l KHBpcGVfY29uZmlnLT5tc3RfbWFzdGVyX3RyYW5zY29kZXIpKTsKPiArCj4gIGR1bXBfcGxhbmVz Ogo+ICAJaWYgKCFzdGF0ZSkKPiAgCQlyZXR1cm47Cj4gQEAgLTEzMzE4LDYgKzEzMzI0LDEwIEBA IGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmN1cnJlbnRfY29uZmlnLAo+ICAJUElQRV9DT05GX0NIRUNLX0koc3luY19tb2RlX3NsYXZlc19t YXNrKTsKPiAgCVBJUEVfQ09ORl9DSEVDS19JKG1hc3Rlcl90cmFuc2NvZGVyKTsKPiAgCj4gKwlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMiAmJgo+ICsJICAgIGludGVsX2NydGNfaGFzX3R5 cGUocGlwZV9jb25maWcsIElOVEVMX09VVFBVVF9EUF9NU1QpKQoKVGhlc2UgY2hlY2tzIGFyZSBk ZWZpbml0ZWx5IHBvaW50bGVzcy4KCj4gKwkJUElQRV9DT05GX0NIRUNLX0kobXN0X21hc3Rlcl90 cmFuc2NvZGVyKTsKPiArCj4gICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfWAo+ICAjdW5kZWYgUElQ RV9DT05GX0NIRUNLX0kKPiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19CT09MCj4gQEAgLTE0NDA2 LDcgKzE0NDE2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMo c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAl1MzIgaGFuZGxlZCA9IDA7Cj4g IAlpbnQgaTsKPiAgCj4gLQkvKiBPbmx5IGRpc2FibGUgcG9ydCBzeW5jIHNsYXZlcyAqLwo+ICsJ LyogT25seSBkaXNhYmxlIHBvcnQgc3luYyBhbmQgTVNUIHNsYXZlcyAqLwo+ICAJZm9yX2VhY2hf b2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ ICAJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ICAJCWlmICghbmVlZHNfbW9kZXNldChu ZXdfY3J0Y19zdGF0ZSkpCj4gQEAgLTE0NDIwLDcgKzE0NDMwLDggQEAgc3RhdGljIHZvaWQgaW50 ZWxfY29tbWl0X21vZGVzZXRfZGlzYWJsZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUpCj4gIAkJICogc2xhdmUgQ1JUQ3MgYXJlIGRpc2FibGVkIGZpcnN0IGFuZCB0aGVuIG1hc3Rl ciBDUlRDIHNpbmNlCj4gIAkJICogU2xhdmUgdmJsYW5rcyBhcmUgbWFza2VkIHRpbGwgTWFzdGVy IFZibGFua3MuCj4gIAkJICovCj4gLQkJaWYgKCFpc190cmFuc19wb3J0X3N5bmNfc2xhdmUob2xk X2NydGNfc3RhdGUpKQo+ICsJCWlmICghaXNfdHJhbnNfcG9ydF9zeW5jX3NsYXZlKG9sZF9jcnRj X3N0YXRlKSAmJgo+ICsJCSAgICAhaW50ZWxfZHBfbXN0X2lzX3NsYXZlX3RyYW5zKG9sZF9jcnRj X3N0YXRlKSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCWludGVsX3ByZV9wbGFuZV91cGRhdGUo c3RhdGUsIGNydGMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheV90eXBlcy5oCj4gaW5kZXggODNlYTA0MTQ5Yjc3Li42MzBhOTQ4OTJiN2IgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5 cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlf dHlwZXMuaAo+IEBAIC0xMDU0LDYgKzEwNTQsOSBAQCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7 Cj4gIAo+ICAJLyogQml0bWFzayB0byBpbmRpY2F0ZSBzbGF2ZXMgYXR0YWNoZWQgKi8KPiAgCXU4 IHN5bmNfbW9kZV9zbGF2ZXNfbWFzazsKPiArCj4gKwkvKiBPbmx5IHZhbGlkIG9uIFRHTCsgKi8K PiArCWVudW0gdHJhbnNjb2RlciBtc3RfbWFzdGVyX3RyYW5zY29kZXI7Cj4gIH07Cj4gIAo+ICBz dHJ1Y3QgaW50ZWxfY3J0YyB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5jCj4gaW5kZXggOTI2ZTQ5ZjQ0OWE2Li40OWYxNTE4ZTNhYjkgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmMKPiBAQCAtODcsNiArODcs NDkgQEAgc3RhdGljIGludCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICsvKgo+ICsg KiBJdGVyYXRlIG92ZXIgYWxsIHRoZSBDUlRDcyBhbmQgc2V0IG1zdF9tYXN0ZXJfdHJhbnNjb2Rl ciB0byB0aGUgZmlyc3QgYWN0aXZlCj4gKyAqIHRyYW5zY29kZXIgdGhhdCBzaGFyZXMgdGhlIHNh bWUgTVNUIGNvbm5lY3Rvci4KPiArICoKPiArICogVE9ETzogbWF5YmUgdGhpcyBjb3VsZCBiZSBv cHRpbWl6ZWQgdG8ga2VlcCB0aGUgb2xkIG1hc3RlciB0cmFuc2NvZGVyCj4gKyAqLwo+ICtzdGF0 aWMgaW50Cj4gK2ludGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfY29tcHV0ZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAoKcy9waXBlX2NvbmZpZy9jcnRjX3N0YXRlLwoKPiArCQkJCSAgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9hdG9taWNf c3RhdGUgKnN0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHBpcGVfY29uZmlnLT51YXBpLnN0 YXRlKTsKPiArCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm4gPSB0b19pbnRlbF9jb25uZWN0 b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKCm9jZDogcy9jb25uL2Nvbm5lY3Rvci8gYWxsIG92 ZXIuCgo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7Cj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUg Kml0ZXJfY29ubl9zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKml0ZXJfY29ubjsK PiArCWludCBpOwo+ICsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTIpCj4gKwkJcmV0 dXJuIDA7Cj4gKwo+ICsJZm9yX2VhY2hfbmV3X2ludGVsX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0 ZSwgaXRlcl9jb25uLAo+ICsJCQkJCSAgICAgIGl0ZXJfY29ubl9zdGF0ZSwgaSkgewo+ICsJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppdGVyX2NydGNfc3RhdGU7Cj4gKwkJc3RydWN0IGludGVs X2NydGMgKml0ZXJfY3J0YzsKPiArCj4gKwkJaWYgKGNvbm4tPm1zdF9wb3J0ICE9IGl0ZXJfY29u bi0+bXN0X3BvcnQgfHwKPiArCQkgICAgIWl0ZXJfY29ubl9zdGF0ZS0+YmFzZS5jcnRjKQo+ICsJ CQljb250aW51ZTsKPiArCj4gKwkJaXRlcl9jcnRjID0gdG9faW50ZWxfY3J0YyhpdGVyX2Nvbm5f c3RhdGUtPmJhc2UuY3J0Yyk7Cj4gKwkJaXRlcl9jcnRjX3N0YXRlID0gaW50ZWxfYXRvbWljX2dl dF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwKPiArCQkJCQkJCQkgIGl0ZXJfY3J0Yyk7Cj4gKwkJaWYg KCFpdGVyX2NydGNfc3RhdGUtPnVhcGkuYWN0aXZlKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJ cGlwZV9jb25maWctPm1zdF9tYXN0ZXJfdHJhbnNjb2RlciA9IGl0ZXJfY3J0Y19zdGF0ZS0+Y3B1 X3RyYW5zY29kZXI7Cj4gKwkJYnJlYWs7CgpTbyB3ZSdyZSBnb2luZyB0byBwaWNrIHRoaXMgYmFz ZWQgb24gdGhlIGNvbm5lY3RvciBvcmRlci4gSG93IGRvZXMgdGhhdApmaXQgaW4gd2l0aCB0aGUg cG9ydCBzeW5jLCBvciBkaWQgd2Ugbm90IGhhdmUgcG9ydCBzeW5jIGZvciBNU1QgeWV0PwoKVG8g a2VlcCBldmVyeXRoaW5nIGNvbnNpc3RlbnQgYW5kIGVhc3kgbXkgaWRlYSB3YXMgdG8gcGljayB0 aGUgZmlyc3QKcGlwZSBhcyB0aGUgbWFzdGVyIGZvciBib3RoIE1TVCBhbmQgcG9ydCBzeW5jLiAK CkFsdGhvdWdoIEkgY2FuIGVhc2lseSBpbWFnaW5lIHRvcG9sb2dpZXMgd2hlcmUgZXZlbiB0aGF0 IHdvdWxkCmxhbmQgdXMgaW4gc29tZSBpbnRlcmVzdGluZyBtZXNzLiBGb3IgZXhhbXBsZToKcGlw ZSBBIC0+IE1TVCBwb3J0IEIgLT4gLi4uIC0+IHdoYXRldmVyIDogTVNUIG1hc3RlcgpwaXBlIEIg LT4gTVNUIHBvcnQgQiAtPiAuLi4gLT4gdGlsZSAwIDogcG9ydCBzeW5jIG1hc3RlciAvIE1TVCBz bGF2ZQpwaXBlIEMgLT4gTVNUIHBvcnQgQyAtPiAuLi4gLT4gdGlsZSAxIDogcG9ydCBzeW5jIHNs YXZlIC8gTVNUIG1hc3RlcgpwaXBlIEQgLT4gTVNUIHBvcnQgQyAtPiAuLi4gLT4gd2hhdGV2ZXIg OiBNU1Qgc2xhdmUKCnBpcGUgQSAtPiBNU1QgcG9ydCBCIC0+IC4uLiAtPiB3aGF0ZXZlciA6IE1T VCBtYXN0ZXIKcGlwZSBCIC0+IE1TVCBwb3J0IEIgLT4gLi4uIC0+IHRpbGUgMCA6IHBvcnQgc3lu YyBtYXN0ZXIgLyBNU1Qgc2xhdmUKcGlwZSBDIC0+IE1TVCBwb3J0IEMgLT4gLi4uIC0+IHdoYXRl dmVyIDogTVNUIG1hc3RlcgpwaXBlIEQgLT4gTVNUIHBvcnQgQyAtPiAuLi4gLT4gdGlsZSAxIDog cG9ydCBzeW5jIHNsYXZlIC8gTVNUIHNsYXZlCgpObyBpZGVhIGlmIHRoZSBodyBjYW4gZXZlbiBk byBzb21ldGhpbmcgbGlrZSB0aGF0LiBOZWVkcyBtb3JlIHRob3VnaHQKaWYvd2hlbiB3ZSBlbmFi bGUgcG9ydCBzeW5jIHdpdGggTVNUIChhc3N1bWluZyB3ZSdyZSBub3QgYWxyZWFkeSBkb2luZwp0 aGF0KS4KCj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgaW50 ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ ICAJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKPiAgCQkJ CSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiBAQCAtMTU0 LDYgKzE5Nyw5OCBAQCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2NvbmZpZyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCj4gIAlpbnRlbF9kZGlfY29tcHV0ZV9taW5f dm9sdGFnZV9sZXZlbChkZXZfcHJpdiwgcGlwZV9jb25maWcpOwo+ICAKPiArCXJldCA9IGludGVs X2RwX21zdF9tYXN0ZXJfdHJhbnNfY29tcHV0ZShlbmNvZGVyLCBwaXBlX2NvbmZpZywKPiArCQkJ CQkJY29ubl9zdGF0ZSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJcmV0 dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiAraW50ZWxfZHBfbXN0X2F0b21pY19tYXN0 ZXJfdHJhbnNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAg ICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCgpKdXN0IHBhc3MgaW4gaW50ZWxf IHR5cGVzIHBscy4KCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoY29ubmVjdG9yLT5kZXYpOwo+ICsJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Km5ld19jb25uX3N0YXRlLCAqb2xkX2Nvbm5fc3RhdGU7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXIgY29ubl9saXN0X2l0ZXI7CgpvY2Q6IHMvY29ubl9saXN0X2l0ZXIvY29ubl9p dGVyLyAKCj4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19zdGF0ZTsKCkp1 c3QgJ2NydGNfc3RhdGUnCgo+ICsJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubjsK PiArCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiArCXN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uX2l0ZXI7CgppdGVyX2ZvbyB2cy4gZm9vX2l0ZXIgaW4gdGhpcyB2cy4gdGhl IHByZXZpb3VzIGZ1bmN0aW9uLiBOb3QgdGhhdCBJCnJlYWxseSBsaWtlIHRoYXQgbmFtaW5nIGNv bnZlbnRpb24gc2luY2UgaXQgY2FuIGdldCBjb25mdXNpbmcgd2l0aAp0aGUgJ3N0cnVjdCBkcm1f Y29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXInLgoKPiArCj4gKwlpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA8IDEyKQo+ICsJCXJldHVybiAgMDsKPiArCj4gKwlpbnRlbF9jb25uID0gdG9faW50 ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4gKwluZXdfY29ubl9zdGF0ZSA9IGRybV9hdG9taWNf Z2V0X25ld19jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Cj4gKwlvbGRfY29ubl9z dGF0ZSA9IGRybV9hdG9taWNfZ2V0X29sZF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rv cik7CgpUaGVzZSBjb3VsZCBiZSBkb25lIHdoZW4gZGVjbGFyaW5nIHRoZSB2YXJpYWJsZXMuCgo+ ICsKPiArCWlmICghb2xkX2Nvbm5fc3RhdGUtPmNydGMgJiYgIW5ld19jb25uX3N0YXRlLT5jcnRj KQo+ICsJCXJldHVybiAwOwo+ICsKPiArCS8qCj4gKwkgKiAzIGNhc2VzIHRoYXQgbmVlZHMgYmUg aGFuZGxlZCBoZXJlOgo+ICsJICogLSBjb25uZWN0b3IgZ29pbmcgZnJvbSBkaXNhYmxlZCB0byBl bmFibGVkOgo+ICsJICogbm90aGluZyBlbHNlIG5lZWQgdG8gYmUgZG9uZSwgZHJtIGhlbHBlcnMg YWxyZWFkeSBzZXQgbW9kZV9jaGFuZ2VkIGluCj4gKwkgKiB0aGUgQ1JUQ3MgbmVlZGVkCj4gKwkg KiAtIGNvbm5lY3RvciBnb2luZyBmcm9tIGVuYWJsZWQgdG8gZGlzYWJsZWQ6Cj4gKwkgKiBpZiB0 aGlzIHRyYW5zY29kZXIgd2FzIHRoZSBtYXN0ZXIsIGFsbCBzbGF2ZXMgbmVlZHMgYSBtb2Rlc2V0 Cj4gKwkgKiAtIGNvbm5lY3RvciBnb2luZyBmcm9tIGVuYWJsZWQgdG8gZW5hYmxlZCBidXQgaXQg bmVlZHMgYSBtb2Rlc2V0Ogo+ICsJICogaWYgdGhpcyB0cmFuc2NvZGVyIHdhcyB0aGUgbWFzdGVy LCBhbGwgc2xhdmVzIGFsc28gbmVlZHMgYSBtb2Rlc2V0Cj4gKwkgKi8KClRvbyBtYXkgc3BlY2lh bCBjYXNlcyBJTU8uIEkgc3VnZ2VzdCBqdXN0IGJsaW5kbHkgbWFya2luZwpldmVyeXRoaW5nIG9u IHRoZSBzYW1lIG1zdF9wb3J0IGZvciBtb2Rlc2V0IGlmIHRoaXMgY29ubmVjdG9yCm5lZWRzIGEg bW9kZXNldC4gSUlSQyB3ZSBoYXZlIGEgaGVscGVyIGZvciB0aGF0IGNoZWNrIGV2ZW4uLi4KQWgg eWVzLCBpbnRlbF9jb25uZWN0b3JfbmVlZHNfbW9kZXNldCgpLgoKPiArCj4gKwkvKiBkaXNhYmxl ZCAtPiBlbmFibGVkICovCj4gKwlpZiAoIW9sZF9jb25uX3N0YXRlLT5jcnRjICYmIG5ld19jb25u X3N0YXRlLT5jcnRjKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCS8qIGVuYWJsZWQgLT4gZW5hYmxl ZChtb2Rlc2V0KT8gKi8KPiArCWlmIChuZXdfY29ubl9zdGF0ZS0+Y3J0Yykgewo+ICsJCWNydGNf c3RhdGUgPSBkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZSwKPiArCQkJCQkJCSAg IG5ld19jb25uX3N0YXRlLT5jcnRjKTsKPiArCQlpZiAoIWRybV9hdG9taWNfY3J0Y19uZWVkc19t b2Rlc2V0KGNydGNfc3RhdGUpKQo+ICsJCQlyZXR1cm4gMDsKPiArCX0KPiArCj4gKwkvKiBoYW5k bGluZyBlbmFibGVkIC0+IGVuYWJsZWQobW9kZXNldCkgYW5kIGVuYWJsZWQgLT4gZGlzYWJsZWQg Ki8KPiArCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdGF0ZSwg b2xkX2Nvbm5fc3RhdGUtPmNydGMpOwo+ICsJaW50ZWxfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJLyogSWYgbm90IG1hc3Rlciwgbm90aGluZyBl bHNlIG5lZWRzIHRvIGJlIGhhbmRsZWQgKi8KPiArCWlmICghaW50ZWxfZHBfbXN0X2lzX21hc3Rl cl90cmFucyhpbnRlbF9jcnRjX3N0YXRlKSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwkvKiBJdCBp cyBtYXN0ZXIsIGFkZCBhbmQgbWFyayBhbGwgb3RoZXIgQ1JUQ3MgaW4gdGhlIHN0cmVhbSBhcyBj aGFuZ2VkICovCj4gKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihzdGF0ZS0+ZGV2LCAm Y29ubl9saXN0X2l0ZXIpOwo+ICsJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5faXRl ciwgJmNvbm5fbGlzdF9pdGVyKSB7Cj4gKwkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5faXRlcl9zdGF0ZTsKPiArCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uX2l0 ZXI7Cj4gKwo+ICsJCWludGVsX2Nvbm5faXRlciA9IHRvX2ludGVsX2Nvbm5lY3Rvcihjb25uX2l0 ZXIpOwo+ICsJCWlmIChpbnRlbF9jb25uX2l0ZXItPm1zdF9wb3J0ICE9IGludGVsX2Nvbm4tPm1z dF9wb3J0KQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJY29ubl9pdGVyX3N0YXRlID0gZHJtX2F0 b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLAo+ICsJCQkJCQkJCSBjb25uX2l0ZXIpOwo+ ICsJCWlmIChJU19FUlIoY29ubl9pdGVyX3N0YXRlKSkgewo+ICsJCQlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9lbmQoJmNvbm5fbGlzdF9pdGVyKTsKPiArCQkJcmV0dXJuIFBUUl9FUlIoY29ubl9p dGVyX3N0YXRlKTsKPiArCQl9Cj4gKwo+ICsJCWlmICghY29ubl9pdGVyX3N0YXRlLT5jcnRjKQo+ ICsJCQljb250aW51ZTsKPiArCj4gKwkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNf c3RhdGUoc3RhdGUsCj4gKwkJCQkJCSAgICAgICBjb25uX2l0ZXJfc3RhdGUtPmNydGMpOwo+ICsJ CWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpIHsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJf ZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwkJCXJldHVybiBQVFJfRVJSKGNvbm5faXRlcl9zdGF0 ZSk7Cj4gKwkJfQo+ICsKPiArCQljcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSB0cnVlOwo+ICsJ fQo+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2xpc3RfaXRlcik7Cj4gKwo+ ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTE3NSw2ICszMTAsMTAgQEAgaW50ZWxfZHBfbXN0 X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJaWYgKHJl dCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiArCXJldCA9IGludGVsX2RwX21zdF9hdG9taWNfbWFz dGVyX3RyYW5zX2NoZWNrKGNvbm5lY3Rvciwgc3RhdGUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1 cm4gcmV0Owo+ICsKPiAgCWlmICghb2xkX2Nvbm5fc3RhdGUtPmNydGMpCj4gIAkJcmV0dXJuIDA7 Cj4gIAo+IEBAIC0yNDEsNiArMzgwLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3Bvc3RfZGlz YWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWludGVsX2RwLT5hY3Rp dmVfbXN0X2xpbmtzLS07Cj4gIAlsYXN0X21zdF9zdHJlYW0gPSBpbnRlbF9kcC0+YWN0aXZlX21z dF9saW5rcyA9PSAwOwo+ICAKPiArCVdBUk5fT04oSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMiAm JiBsYXN0X21zdF9zdHJlYW0gJiYKPiArCQkhaW50ZWxfZHBfbXN0X2lzX21hc3Rlcl90cmFucyhv bGRfY3J0Y19zdGF0ZSkpOwo+ICsKPiAgCS8qCj4gIAkgKiBGcm9tIFRHTCBzcGVjOiAiSWYgbXVs dGktc3RyZWFtIHNsYXZlIHRyYW5zY29kZXI6IENvbmZpZ3VyZQo+ICAJICogVHJhbnNjb2RlciBD bG9jayBTZWxlY3QgdG8gZGlyZWN0IG5vIGNsb2NrIHRvIHRoZSB0cmFuc2NvZGVyIgo+IEBAIC0z MjEsNiArNDYzLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfbXN0X3ByZV9lbmFibGVfZHAoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlpbnRlbF9tc3QtPmNvbm5lY3RvciA9IGNvbm5l Y3RvcjsKPiAgCWZpcnN0X21zdF9zdHJlYW0gPSBpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9 PSAwOwo+ICAKPiArCVdBUk5fT04oSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMiAmJiBmaXJzdF9t c3Rfc3RyZWFtICYmCj4gKwkJIWludGVsX2RwX21zdF9pc19tYXN0ZXJfdHJhbnMocGlwZV9jb25m aWcpKTsKPiArCj4gIAlEUk1fREVCVUdfS01TKCJhY3RpdmUgbGlua3MgJWRcbiIsIGludGVsX2Rw LT5hY3RpdmVfbXN0X2xpbmtzKTsKPiAgCj4gIAlpZiAoZmlyc3RfbXN0X3N0cmVhbSkKPiBAQCAt NzI2LDMgKzg3MSwyMSBAQCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQo+ICAJZHJtX2RwX21zdF90b3BvbG9neV9t Z3JfZGVzdHJveSgmaW50ZWxfZHAtPm1zdF9tZ3IpOwo+ICAJLyogZW5jb2RlcnMgd2lsbCBnZXQg a2lsbGVkIGJ5IG5vcm1hbCBjbGVhbnVwICovCj4gIH0KPiArCj4gK2Jvb2wgaW50ZWxfZHBfbXN0 X2lzX21hc3Rlcl90cmFucyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj cnRjX3N0YXRlLT51YXBpLmNydGMtPmRldik7Cj4gKwo+ICsJcmV0dXJuIElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTIgJiYKPiArCSAgICAgICBpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3RhdGUs IElOVEVMX09VVFBVVF9EUF9NU1QpICYmCj4gKwkgICAgICAgY3J0Y19zdGF0ZS0+bXN0X21hc3Rl cl90cmFuc2NvZGVyID09IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwoKQWxsIGJ1dCB0aGUg bGFzdCBsaW5lIHNlZW0gcmVkdW5kYW50LgoKPiArfQo+ICsKPiArYm9vbCBpbnRlbF9kcF9tc3Rf aXNfc2xhdmVfdHJhbnMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0 Y19zdGF0ZS0+dWFwaS5jcnRjLT5kZXYpOwo+ICsKPiArCXJldHVybiBJTlRFTF9HRU4oZGV2X3By aXYpID49IDEyICYmCj4gKwkgICAgICAgaW50ZWxfY3J0Y19oYXNfdHlwZShjcnRjX3N0YXRlLCBJ TlRFTF9PVVRQVVRfRFBfTVNUKSAmJgo+ICsJICAgICAgIGNydGNfc3RhdGUtPm1zdF9tYXN0ZXJf dHJhbnNjb2RlciAhPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2RlcjsKPiArfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaAo+IGluZGV4IGY2NjBhZDgwZGIw NC4uZTQwNzY3Zjc4MzQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHBfbXN0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwX21zdC5oCj4gQEAgLTYsMTAgKzYsMTUgQEAKPiAgI2lmbmRlZiBfX0lOVEVMX0RQX01T VF9IX18KPiAgI2RlZmluZSBfX0lOVEVMX0RQX01TVF9IX18KPiAgCj4gKyNpbmNsdWRlIDxzdGRi b29sLmg+Cj4gKwo+ICBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Owo+ICtzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZTsKPiAgCj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7Cj4gIHZvaWQg aW50ZWxfZHBfbXN0X2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCk7Cj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9hY3RpdmVfbGlua3Mo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+ICtib29sIGludGVs X2RwX21zdF9pc19tYXN0ZXJfdHJhbnMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpOwo+ICtib29sIGludGVsX2RwX21zdF9pc19zbGF2ZV90cmFucyhjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIAo+ICAjZW5kaWYgLyogX19JTlRF TF9EUF9NU1RfSF9fICovCj4gLS0gCj4gMi4yNC4wCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVs Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==