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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 05484C433F5 for ; Wed, 12 Jan 2022 20:12:35 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6452610F777; Wed, 12 Jan 2022 20:12:34 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D54310F777 for ; Wed, 12 Jan 2022 20:12:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642018353; x=1673554353; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=+58CgRAob62EAi+mw5wtJBt5MPkMpd8zNkwIr6GhjQA=; b=Rxu3LRYUZfGCk5IzK9fx4MYIGo21qLEN7HCRvw70VbBeMWDgT8CBpxTF 8z8QEjj9V4NVABXIDm/W1thRAIqXznLVbJQQihRcWiCx/YUv3aoWmmJ4z /cw+Efhjl8i5Gf2yQloIsWrPlMh/yvmn9LyllSELByEdeNkQYNmYsP79z f48VKyDjrnqXtk9HOWq3yT+OhYxhl+V2EvQRjSWzIik3lIXghMw6FAfnh ieuko0FmzBN0x+3cB2rOrw9wsgCIxyYXcRnvGwdpGYn6/4mHNz4tA3Gxj bkmzaxN590OvTPrNgBGiqBDHpgB2Cl//pQgYyQ0FCibSg2zSPXUM+N0Bc w==; X-IronPort-AV: E=McAfee;i="6200,9189,10225"; a="242663301" X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="242663301" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 12:12:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="529356321" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga008.jf.intel.com with ESMTP; 12 Jan 2022 12:12:32 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 12:12:31 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 12:12:31 -0800 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.2308.020; Wed, 12 Jan 2022 12:12:31 -0800 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 07/14] drm/i915: Clean up pre-skl primary plane registers Thread-Index: AQHX5sfmylNrI8jR80mQW12KA+XKj6xgmnAA Date: Wed, 12 Jan 2022 20:12:31 +0000 Message-ID: <500a2ae59268fe4579ffcf1164589bf77791a2ad.camel@intel.com> References: <20211201152552.7821-1-ville.syrjala@linux.intel.com> <20211201152552.7821-8-ville.syrjala@linux.intel.com> In-Reply-To: <20211201152552.7821-8-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.100] Content-Type: text/plain; charset="utf-8" Content-ID: <9871CDA65B41174A8739D034D1AC4CEF@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 07/14] drm/i915: Clean up pre-skl primary plane registers X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCAyMDIxLTEyLTAxIGF0IDE3OjI1ICswMjAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiANCj4gVXNlIFJFR19CSVQoKSAmIGNvLiBmb3IgdGhlIHByZS1za2wgcHJpbWFyeSBwbGFuZSBy ZWdpc3RlcnMuDQo+IEFsc28gZ2l2ZSBldmVyeXRoaW5nIGEgY29uc2lzdGVudCBuYW1lc3BhY2Uu DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaTl4 eF9wbGFuZS5jICAgIHwgIDk5ICsrKysrKysrKy0tLS0tLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8ICAxMyArLS0NCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICAgIHwgMTA4ICsrKysrKysrKysrLS0tLS0tLS0N Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgIHwgICAyICst DQo+ICA0IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAxMDUgZGVsZXRpb25zKC0p DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pOXh4X3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2k5eHhfcGxhbmUuYw0KPiBpbmRl eCAyMTk0Zjc0MTAxYWUuLjAwY2M4YjRiZDZiYyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pOXh4X3BsYW5lLmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pOXh4X3BsYW5lLmMNCj4gQEAgLTE0NSw1MSArMTQ1LDUxIEBAIHN0YXRpYyB1 MzIgaTl4eF9wbGFuZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsDQo+ICAJdW5zaWduZWQgaW50IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmh3LnJvdGF0aW9u Ow0KPiAgCXUzMiBkc3BjbnRyOw0KPiAgDQo+IC0JZHNwY250ciA9IERJU1BMQVlfUExBTkVfRU5B QkxFOw0KPiArCWRzcGNudHIgPSBEU1BfRU5BQkxFOw0KPiAgDQo+ICAJaWYgKElTX0c0WChkZXZf cHJpdikgfHwgSVNfSVJPTkxBS0UoZGV2X3ByaXYpIHx8DQo+ICAJICAgIElTX1NBTkRZQlJJREdF KGRldl9wcml2KSB8fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQ0KPiAtCQlkc3BjbnRyIHw9IERJ U1BQTEFORV9UUklDS0xFX0ZFRURfRElTQUJMRTsNCj4gKwkJZHNwY250ciB8PSBEU1BfVFJJQ0tM RV9GRUVEX0RJU0FCTEU7DQo+ICANCj4gIAlzd2l0Y2ggKGZiLT5mb3JtYXQtPmZvcm1hdCkgew0K PiAgCWNhc2UgRFJNX0ZPUk1BVF9DODoNCj4gLQkJZHNwY250ciB8PSBESVNQUExBTkVfOEJQUDsN Cj4gKwkJZHNwY250ciB8PSBEU1BfRk9STUFUXzhCUFA7DQo+ICAJCWJyZWFrOw0KPiAgCWNhc2Ug RFJNX0ZPUk1BVF9YUkdCMTU1NToNCj4gLQkJZHNwY250ciB8PSBESVNQUExBTkVfQkdSWDU1NTsN Cj4gKwkJZHNwY250ciB8PSBEU1BfRk9STUFUX0JHUlg1NTU7DQo+ICAJCWJyZWFrOw0KPiAgCWNh c2UgRFJNX0ZPUk1BVF9BUkdCMTU1NToNCj4gLQkJZHNwY250ciB8PSBESVNQUExBTkVfQkdSQTU1 NTsNCj4gKwkJZHNwY250ciB8PSBEU1BfRk9STUFUX0JHUkE1NTU7DQo+ICAJCWJyZWFrOw0KPiAg CWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjU6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX0JHUlg1 NjU7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9CR1JYNTY1Ow0KPiAgCQlicmVhazsNCj4g IAljYXNlIERSTV9GT1JNQVRfWFJHQjg4ODg6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX0JH Ulg4ODg7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9CR1JYODg4Ow0KPiAgCQlicmVhazsN Cj4gIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5F X1JHQlg4ODg7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9SR0JYODg4Ow0KPiAgCQlicmVh azsNCj4gIAljYXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBM QU5FX0JHUkE4ODg7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9CR1JBODg4Ow0KPiAgCQli cmVhazsNCj4gIAljYXNlIERSTV9GT1JNQVRfQUJHUjg4ODg6DQo+IC0JCWRzcGNudHIgfD0gRElT UFBMQU5FX1JHQkE4ODg7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9SR0JBODg4Ow0KPiAg CQlicmVhazsNCj4gIAljYXNlIERSTV9GT1JNQVRfWFJHQjIxMDEwMTA6DQo+IC0JCWRzcGNudHIg fD0gRElTUFBMQU5FX0JHUlgxMDEwMTA7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9CR1JY MTAxMDEwOw0KPiAgCQlicmVhazsNCj4gIAljYXNlIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA6DQo+ IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX1JHQlgxMDEwMTA7DQo+ICsJCWRzcGNudHIgfD0gRFNQ X0ZPUk1BVF9SR0JYMTAxMDEwOw0KPiAgCQlicmVhazsNCj4gIAljYXNlIERSTV9GT1JNQVRfQVJH QjIxMDEwMTA6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX0JHUkExMDEwMTA7DQo+ICsJCWRz cGNudHIgfD0gRFNQX0ZPUk1BVF9CR1JBMTAxMDEwOw0KPiAgCQlicmVhazsNCj4gIAljYXNlIERS TV9GT1JNQVRfQUJHUjIxMDEwMTA6DQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX1JHQkExMDEw MTA7DQo+ICsJCWRzcGNudHIgfD0gRFNQX0ZPUk1BVF9SR0JBMTAxMDEwOw0KPiAgCQlicmVhazsN Cj4gIAljYXNlIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjoNCj4gLQkJZHNwY250ciB8PSBESVNQ UExBTkVfUkdCWDE2MTYxNjsNCj4gKwkJZHNwY250ciB8PSBEU1BfRk9STUFUX1JHQlgxNjE2MTY7 DQo+ICAJCWJyZWFrOw0KPiAgCWRlZmF1bHQ6DQo+ICAJCU1JU1NJTkdfQ0FTRShmYi0+Zm9ybWF0 LT5mb3JtYXQpOw0KPiBAQCAtMTk4LDEzICsxOTgsMTMgQEAgc3RhdGljIHUzMiBpOXh4X3BsYW5l X2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwNCj4gIA0KPiAg CWlmIChESVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gNCAmJg0KPiAgCSAgICBmYi0+bW9kaWZpZXIg PT0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQpDQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX1RJ TEVEOw0KPiArCQlkc3BjbnRyIHw9IERTUF9USUxFRDsNCj4gIA0KPiAgCWlmIChyb3RhdGlvbiAm IERSTV9NT0RFX1JPVEFURV8xODApDQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX1JPVEFURV8x ODA7DQo+ICsJCWRzcGNudHIgfD0gRFNQX1JPVEFURV8xODA7DQo+ICANCj4gIAlpZiAocm90YXRp b24gJiBEUk1fTU9ERV9SRUZMRUNUX1gpDQo+IC0JCWRzcGNudHIgfD0gRElTUFBMQU5FX01JUlJP UjsNCj4gKwkJZHNwY250ciB8PSBEU1BfTUlSUk9SOw0KPiAgDQo+ICAJcmV0dXJuIGRzcGNudHI7 DQo+ICB9DQo+IEBAIC0zNDQsMTMgKzM0NCwxMyBAQCBzdGF0aWMgdTMyIGk5eHhfcGxhbmVfY3Rs X2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpDQo+ICAJdTMy IGRzcGNudHIgPSAwOw0KPiAgDQo+ICAJaWYgKGNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkNCj4g LQkJZHNwY250ciB8PSBESVNQUExBTkVfR0FNTUFfRU5BQkxFOw0KPiArCQlkc3BjbnRyIHw9IERT UF9QSVBFX0dBTU1BX0VOQUJMRTsNCj4gIA0KPiAgCWlmIChjcnRjX3N0YXRlLT5jc2NfZW5hYmxl KQ0KPiAtCQlkc3BjbnRyIHw9IERJU1BQTEFORV9QSVBFX0NTQ19FTkFCTEU7DQo+ICsJCWRzcGNu dHIgfD0gRFNQX1BJUEVfQ1NDX0VOQUJMRTsNCj4gIA0KPiAgCWlmIChESVNQTEFZX1ZFUihkZXZf cHJpdikgPCA1KQ0KPiAtCQlkc3BjbnRyIHw9IERJU1BQTEFORV9TRUxfUElQRShjcnRjLT5waXBl KTsNCj4gKwkJZHNwY250ciB8PSBEU1BfUElQRV9TRUwoY3J0Yy0+cGlwZSk7DQo+ICANCj4gIAly ZXR1cm4gZHNwY250cjsNCj4gIH0NCj4gQEAgLTQyNyw5ICs0MjcsOSBAQCBzdGF0aWMgdm9pZCBp OXh4X3BsYW5lX3VwZGF0ZV9ub2FybShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLA0KPiAgCQkg KiBwcm9ncmFtIHdoYXRldmVyIGlzIHRoZXJlLg0KPiAgCQkgKi8NCj4gIAkJaW50ZWxfZGVfd3Jp dGVfZncoZGV2X3ByaXYsIERTUFBPUyhpOXh4X3BsYW5lKSwNCj4gLQkJCQkgIChjcnRjX3kgPDwg MTYpIHwgY3J0Y194KTsNCj4gKwkJCQkgIERTUF9QT1NfWShjcnRjX3kpIHwgRFNQX1BPU19YKGNy dGNfeCkpOw0KPiAgCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgRFNQU0laRShpOXh4X3Bs YW5lKSwNCj4gLQkJCQkgICgoY3J0Y19oIC0gMSkgPDwgMTYpIHwgKGNydGNfdyAtIDEpKTsNCj4g KwkJCQkgIERTUF9IRUlHSFQoY3J0Y19oIC0gMSkgfCBEU1BfUE9TX1goY3J0Y193IC0gMSkpOw0K DQpEU1BfSEVJR0hUKGNydGNfaCAtIDEpIHwgRFNQX1dJRFRIKGNydGNfdyAtIDEpKTsNCg0KPiAg CX0NCj4gIA0KPiAgCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT51bmNvcmUubG9j aywgaXJxZmxhZ3MpOw0KPiBAQCAtNDY0LDIwICs0NjQsMjAgQEAgc3RhdGljIHZvaWQgaTl4eF9w bGFuZV91cGRhdGVfYXJtKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsDQo+ICAJCWludCBjcnRj X2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT51YXBpLmRzdCk7DQo+ICANCj4gIAkJ aW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBSSU1QT1MoaTl4eF9wbGFuZSksDQo+IC0JCQkJ ICAoY3J0Y195IDw8IDE2KSB8IGNydGNfeCk7DQo+ICsJCQkJICBQUklNX1BPU19ZKGNydGNfeSkg fCBQUklNX1BPU19YKGNydGNfeCkpOw0KPiAgCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwg UFJJTVNJWkUoaTl4eF9wbGFuZSksDQo+IC0JCQkJICAoKGNydGNfaCAtIDEpIDw8IDE2KSB8IChj cnRjX3cgLSAxKSk7DQo+ICsJCQkJICBQUklNX0hFSUdIVChjcnRjX2ggLSAxKSB8IFBSSU1fV0lE VEgoY3J0Y193IC0gMSkpOw0KPiAgCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUFJJTUNO U1RBTFBIQShpOXh4X3BsYW5lKSwgMCk7DQo+ICAJfQ0KPiAgDQo+ICAJaWYgKElTX0hBU1dFTEwo ZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsNCj4gIAkJaW50ZWxfZGVfd3Jp dGVfZncoZGV2X3ByaXYsIERTUE9GRlNFVChpOXh4X3BsYW5lKSwNCj4gLQkJCQkgICh5IDw8IDE2 KSB8IHgpOw0KPiArCQkJCSAgRFNQX09GRlNFVF9ZKHkpIHwgRFNQX09GRlNFVF9YKHgpKTsNCj4g IAl9IGVsc2UgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA+PSA0KSB7DQo+ICAJCWludGVsX2Rl X3dyaXRlX2Z3KGRldl9wcml2LCBEU1BMSU5PRkYoaTl4eF9wbGFuZSksDQo+ICAJCQkJICBsaW5l YXJfb2Zmc2V0KTsNCj4gIAkJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIERTUFRJTEVPRkYo aTl4eF9wbGFuZSksDQo+IC0JCQkJICAoeSA8PCAxNikgfCB4KTsNCj4gKwkJCQkgIERTUF9PRkZT RVRfWSh5KSB8IERTUF9PRkZTRVRfWCh4KSk7DQo+ICAJfQ0KPiAgDQo+ICAJLyoNCj4gQEAgLTU1 NCw3ICs1NTQsNyBAQCBnNHhfcHJpbWFyeV9hc3luY19mbGlwKHN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUsDQo+ICAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsNCj4gIA0KPiAgCWlmIChhc3luY19m bGlwKQ0KPiAtCQlkc3BjbnRyIHw9IERJU1BQTEFORV9BU1lOQ19GTElQOw0KPiArCQlkc3BjbnRy IHw9IERTUF9BU1lOQ19GTElQOw0KPiAgDQo+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2 LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOw0KPiAgCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2 LCBEU1BDTlRSKGk5eHhfcGxhbmUpLCBkc3BjbnRyKTsNCj4gQEAgLTY4NiwxMyArNjg2LDEyIEBA IHN0YXRpYyBib29sIGk5eHhfcGxhbmVfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUsDQo+ICANCj4gIAl2YWwgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBEU1BDTlRSKGk5 eHhfcGxhbmUpKTsNCj4gIA0KPiAtCXJldCA9IHZhbCAmIERJU1BMQVlfUExBTkVfRU5BQkxFOw0K PiArCXJldCA9IHZhbCAmIERTUF9FTkFCTEU7DQo+ICANCj4gIAlpZiAoRElTUExBWV9WRVIoZGV2 X3ByaXYpID49IDUpDQo+ICAJCSpwaXBlID0gcGxhbmUtPnBpcGU7DQo+ICAJZWxzZQ0KPiAtCQkq cGlwZSA9ICh2YWwgJiBESVNQUExBTkVfU0VMX1BJUEVfTUFTSykgPj4NCj4gLQkJCURJU1BQTEFO RV9TRUxfUElQRV9TSElGVDsNCj4gKwkJKnBpcGUgPSBSRUdfRklFTERfR0VUKERTUF9QSVBFX1NF TF9NQVNLLCB2YWwpOw0KPiAgDQo+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYs IHBvd2VyX2RvbWFpbiwgd2FrZXJlZik7DQo+ICANCj4gQEAgLTk1MSwzMiArOTUwLDMyIEBAIGlu dGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgZW51bSBwaXBlIHBpcGUpDQo+ICBzdGF0aWMgaW50IGk5eHhfZm9ybWF0X3RvX2ZvdXJjYyhp bnQgZm9ybWF0KQ0KPiAgew0KPiAgCXN3aXRjaCAoZm9ybWF0KSB7DQo+IC0JY2FzZSBESVNQUExB TkVfOEJQUDoNCj4gKwljYXNlIERTUF9GT1JNQVRfOEJQUDoNCj4gIAkJcmV0dXJuIERSTV9GT1JN QVRfQzg7DQo+IC0JY2FzZSBESVNQUExBTkVfQkdSQTU1NToNCj4gKwljYXNlIERTUF9GT1JNQVRf QkdSQTU1NToNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfQVJHQjE1NTU7DQo+IC0JY2FzZSBESVNQ UExBTkVfQkdSWDU1NToNCj4gKwljYXNlIERTUF9GT1JNQVRfQkdSWDU1NToNCj4gIAkJcmV0dXJu IERSTV9GT1JNQVRfWFJHQjE1NTU7DQo+IC0JY2FzZSBESVNQUExBTkVfQkdSWDU2NToNCj4gKwlj YXNlIERTUF9GT1JNQVRfQkdSWDU2NToNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfUkdCNTY1Ow0K PiAgCWRlZmF1bHQ6DQo+IC0JY2FzZSBESVNQUExBTkVfQkdSWDg4ODoNCj4gKwljYXNlIERTUF9G T1JNQVRfQkdSWDg4ODoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfWFJHQjg4ODg7DQo+IC0JY2Fz ZSBESVNQUExBTkVfUkdCWDg4ODoNCj4gKwljYXNlIERTUF9GT1JNQVRfUkdCWDg4ODoNCj4gIAkJ cmV0dXJuIERSTV9GT1JNQVRfWEJHUjg4ODg7DQo+IC0JY2FzZSBESVNQUExBTkVfQkdSQTg4ODoN Cj4gKwljYXNlIERTUF9GT1JNQVRfQkdSQTg4ODoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfQVJH Qjg4ODg7DQo+IC0JY2FzZSBESVNQUExBTkVfUkdCQTg4ODoNCj4gKwljYXNlIERTUF9GT1JNQVRf UkdCQTg4ODoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfQUJHUjg4ODg7DQo+IC0JY2FzZSBESVNQ UExBTkVfQkdSWDEwMTAxMDoNCj4gKwljYXNlIERTUF9GT1JNQVRfQkdSWDEwMTAxMDoNCj4gIAkJ cmV0dXJuIERSTV9GT1JNQVRfWFJHQjIxMDEwMTA7DQo+IC0JY2FzZSBESVNQUExBTkVfUkdCWDEw MTAxMDoNCj4gKwljYXNlIERTUF9GT1JNQVRfUkdCWDEwMTAxMDoNCj4gIAkJcmV0dXJuIERSTV9G T1JNQVRfWEJHUjIxMDEwMTA7DQo+IC0JY2FzZSBESVNQUExBTkVfQkdSQTEwMTAxMDoNCj4gKwlj YXNlIERTUF9GT1JNQVRfQkdSQTEwMTAxMDoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfQVJHQjIx MDEwMTA7DQo+IC0JY2FzZSBESVNQUExBTkVfUkdCQTEwMTAxMDoNCj4gKwljYXNlIERTUF9GT1JN QVRfUkdCQTEwMTAxMDoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfQUJHUjIxMDEwMTA7DQo+IC0J Y2FzZSBESVNQUExBTkVfUkdCWDE2MTYxNjoNCj4gKwljYXNlIERTUF9GT1JNQVRfUkdCWDE2MTYx NjoNCj4gIAkJcmV0dXJuIERSTV9GT1JNQVRfWEJHUjE2MTYxNjE2RjsNCj4gIAl9DQo+ICB9DQo+ IEBAIC0xMDE0LDI2ICsxMDEzLDI2IEBAIGk5eHhfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjLA0KPiAgCXZhbCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYs IERTUENOVFIoaTl4eF9wbGFuZSkpOw0KPiAgDQo+ICAJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2 KSA+PSA0KSB7DQo+IC0JCWlmICh2YWwgJiBESVNQUExBTkVfVElMRUQpIHsNCj4gKwkJaWYgKHZh bCAmIERTUF9USUxFRCkgew0KPiAgCQkJcGxhbmVfY29uZmlnLT50aWxpbmcgPSBJOTE1X1RJTElO R19YOw0KPiAgCQkJZmItPm1vZGlmaWVyID0gSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQ7DQo+ICAJ CX0NCj4gIA0KPiAtCQlpZiAodmFsICYgRElTUFBMQU5FX1JPVEFURV8xODApDQo+ICsJCWlmICh2 YWwgJiBEU1BfUk9UQVRFXzE4MCkNCj4gIAkJCXBsYW5lX2NvbmZpZy0+cm90YXRpb24gPSBEUk1f TU9ERV9ST1RBVEVfMTgwOw0KPiAgCX0NCj4gIA0KPiAgCWlmIChJU19DSEVSUllWSUVXKGRldl9w cml2KSAmJiBwaXBlID09IFBJUEVfQiAmJg0KPiAtCSAgICB2YWwgJiBESVNQUExBTkVfTUlSUk9S KQ0KPiArCSAgICB2YWwgJiBEU1BfTUlSUk9SKQ0KPiAgCQlwbGFuZV9jb25maWctPnJvdGF0aW9u IHw9IERSTV9NT0RFX1JFRkxFQ1RfWDsNCj4gIA0KPiAtCXBpeGVsX2Zvcm1hdCA9IHZhbCAmIERJ U1BQTEFORV9QSVhGT1JNQVRfTUFTSzsNCj4gKwlwaXhlbF9mb3JtYXQgPSB2YWwgJiBEU1BfRk9S TUFUX01BU0s7DQo+ICAJZm91cmNjID0gaTl4eF9mb3JtYXRfdG9fZm91cmNjKHBpeGVsX2Zvcm1h dCk7DQo+ICAJZmItPmZvcm1hdCA9IGRybV9mb3JtYXRfaW5mbyhmb3VyY2MpOw0KPiAgDQo+ICAJ aWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsNCj4g IAkJb2Zmc2V0ID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFNQT0ZGU0VUKGk5eHhfcGxhbmUp KTsNCj4gLQkJYmFzZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERTUFNVUkYoaTl4eF9wbGFu ZSkpICYgMHhmZmZmZjAwMDsNCj4gKwkJYmFzZSA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERT UFNVUkYoaTl4eF9wbGFuZSkpICYgRFNQX0FERFJfTUFTSzsNCj4gIAl9IGVsc2UgaWYgKERJU1BM QVlfVkVSKGRldl9wcml2KSA+PSA0KSB7DQo+ICAJCWlmIChwbGFuZV9jb25maWctPnRpbGluZykN Cj4gIAkJCW9mZnNldCA9IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsDQo+IEBAIC0xMDQxLDcgKzEw NDAsNyBAQCBpOXh4X2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywNCj4gIAkJZWxzZQ0KPiAgCQkJb2Zmc2V0ID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwN Cj4gIAkJCQkJICAgICAgIERTUExJTk9GRihpOXh4X3BsYW5lKSk7DQo+IC0JCWJhc2UgPSBpbnRl bF9kZV9yZWFkKGRldl9wcml2LCBEU1BTVVJGKGk5eHhfcGxhbmUpKSAmIDB4ZmZmZmYwMDA7DQo+ ICsJCWJhc2UgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBEU1BTVVJGKGk5eHhfcGxhbmUpKSAm IERTUF9BRERSX01BU0s7DQo+ICAJfSBlbHNlIHsNCj4gIAkJYmFzZSA9IGludGVsX2RlX3JlYWQo ZGV2X3ByaXYsIERTUEFERFIoaTl4eF9wbGFuZSkpOw0KPiAgCX0NCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggNzI2YzE1NTJjOWJmLi4w MGEyYzk5MTU3ODAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jDQo+IEBAIC0zNTM0LDExICszNTM0LDExIEBAIHN0YXRpYyB2b2lkIGk5eHhf Z2V0X3BpcGVfY29sb3JfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQ0KPiAgDQo+ICAJdG1wID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFNQQ05UUihpOXh4X3Bs YW5lKSk7DQo+ICANCj4gLQlpZiAodG1wICYgRElTUFBMQU5FX0dBTU1BX0VOQUJMRSkNCj4gKwlp ZiAodG1wICYgRFNQX1BJUEVfR0FNTUFfRU5BQkxFKQ0KPiAgCQljcnRjX3N0YXRlLT5nYW1tYV9l bmFibGUgPSB0cnVlOw0KPiAgDQo+ICAJaWYgKCFIQVNfR01DSChkZXZfcHJpdikgJiYNCj4gLQkg ICAgdG1wICYgRElTUFBMQU5FX1BJUEVfQ1NDX0VOQUJMRSkNCj4gKwkgICAgdG1wICYgRFNQX1BJ UEVfQ1NDX0VOQUJMRSkNCj4gIAkJY3J0Y19zdGF0ZS0+Y3NjX2VuYWJsZSA9IHRydWU7DQo+ICB9 DQo+ICANCj4gQEAgLTEwMDM1LDE0ICsxMDAzNSwxMSBAQCB2b2lkIGk4MzBfZGlzYWJsZV9waXBl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpDQo+ICAJ CSAgICBwaXBlX25hbWUocGlwZSkpOw0KPiAgDQo+ICAJZHJtX1dBUk5fT04oJmRldl9wcml2LT5k cm0sDQo+IC0JCSAgICBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBEU1BDTlRSKFBMQU5FX0EpKSAm DQo+IC0JCSAgICBESVNQTEFZX1BMQU5FX0VOQUJMRSk7DQo+ICsJCSAgICBpbnRlbF9kZV9yZWFk KGRldl9wcml2LCBEU1BDTlRSKFBMQU5FX0EpKSAmIERTUF9FTkFCTEUpOw0KPiAgCWRybV9XQVJO X09OKCZkZXZfcHJpdi0+ZHJtLA0KPiAtCQkgICAgaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFNQ Q05UUihQTEFORV9CKSkgJg0KPiAtCQkgICAgRElTUExBWV9QTEFORV9FTkFCTEUpOw0KPiArCQkg ICAgaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwgRFNQQ05UUihQTEFORV9CKSkgJiBEU1BfRU5BQkxF KTsNCj4gIAlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwNCj4gLQkJICAgIGludGVsX2RlX3Jl YWQoZGV2X3ByaXYsIERTUENOVFIoUExBTkVfQykpICYNCj4gLQkJICAgIERJU1BMQVlfUExBTkVf RU5BQkxFKTsNCj4gKwkJICAgIGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIERTUENOVFIoUExBTkVf QykpICYgRFNQX0VOQUJMRSk7DQo+ICAJZHJtX1dBUk5fT04oJmRldl9wcml2LT5kcm0sDQo+ICAJ CSAgICBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBDVVJDTlRSKFBJUEVfQSkpICYgTUNVUlNPUl9N T0RFKTsNCj4gIAlkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwNCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oDQo+IGluZGV4IDlmZmZhMjM5MmJiZi4uODY3OGNiYWIxZDMzIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgNCj4gQEAgLTY4MjQsNDkgKzY4MjQsNTQgQEAgZW51bSB7DQo+ICAv KiBEaXNwbGF5IEEgY29udHJvbCAqLw0KPiAgI2RlZmluZSBfRFNQQUFERFJfVkxWCQkJCTB4NzAx N0MgLyogdmx2L2NodiAqLw0KPiAgI2RlZmluZSBfRFNQQUNOVFIJCQkJMHg3MDE4MA0KPiAtI2Rl ZmluZSAgIERJU1BMQVlfUExBTkVfRU5BQkxFCQkJKDEgPDwgMzEpDQo+IC0jZGVmaW5lICAgRElT UExBWV9QTEFORV9ESVNBQkxFCQkJMA0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9HQU1NQV9FTkFC TEUJCSgxIDw8IDMwKQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9HQU1NQV9ESVNBQkxFCQkwDQo+ IC0jZGVmaW5lICAgRElTUFBMQU5FX1BJWEZPUk1BVF9NQVNLCQkoMHhmIDw8IDI2KQ0KPiAtI2Rl ZmluZSAgIERJU1BQTEFORV9ZVVY0MjIJCQkoMHgwIDw8IDI2KQ0KPiAtI2RlZmluZSAgIERJU1BQ TEFORV84QlBQCQkJKDB4MiA8PCAyNikNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfQkdSQTU1NQkJ CSgweDMgPDwgMjYpDQo+IC0jZGVmaW5lICAgRElTUFBMQU5FX0JHUlg1NTUJCQkoMHg0IDw8IDI2 KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9CR1JYNTY1CQkJKDB4NSA8PCAyNikNCj4gLSNkZWZp bmUgICBESVNQUExBTkVfQkdSWDg4OAkJCSgweDYgPDwgMjYpDQo+IC0jZGVmaW5lICAgRElTUFBM QU5FX0JHUkE4ODgJCQkoMHg3IDw8IDI2KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9SR0JYMTAx MDEwCQkJKDB4OCA8PCAyNikNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfUkdCQTEwMTAxMAkJCSgw eDkgPDwgMjYpDQo+IC0jZGVmaW5lICAgRElTUFBMQU5FX0JHUlgxMDEwMTAJCQkoMHhhIDw8IDI2 KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9CR1JBMTAxMDEwCQkJKDB4YiA8PCAyNikNCj4gLSNk ZWZpbmUgICBESVNQUExBTkVfUkdCWDE2MTYxNgkJCSgweGMgPDwgMjYpDQo+IC0jZGVmaW5lICAg RElTUFBMQU5FX1JHQlg4ODgJCQkoMHhlIDw8IDI2KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9S R0JBODg4CQkJKDB4ZiA8PCAyNikNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfU1RFUkVPX0VOQUJM RQkJKDEgPDwgMjUpDQo+IC0jZGVmaW5lICAgRElTUFBMQU5FX1NURVJFT19ESVNBQkxFCQkwDQo+ IC0jZGVmaW5lICAgRElTUFBMQU5FX1BJUEVfQ1NDX0VOQUJMRQkJKDEgPDwgMjQpIC8qIGlsaysg Ki8NCj4gLSNkZWZpbmUgICBESVNQUExBTkVfU0VMX1BJUEVfU0hJRlQJCTI0DQo+IC0jZGVmaW5l ICAgRElTUFBMQU5FX1NFTF9QSVBFX01BU0sJCSgzIDw8IERJU1BQTEFORV9TRUxfUElQRV9TSElG VCkNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfU0VMX1BJUEUocGlwZSkJCSgocGlwZSkgPDwgRElT UFBMQU5FX1NFTF9QSVBFX1NISUZUKQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9TUkNfS0VZX0VO QUJMRQkJKDEgPDwgMjIpDQo+IC0jZGVmaW5lICAgRElTUFBMQU5FX1NSQ19LRVlfRElTQUJMRQkJ MA0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9MSU5FX0RPVUJMRQkJCSgxIDw8IDIwKQ0KPiAtI2Rl ZmluZSAgIERJU1BQTEFORV9OT19MSU5FX0RPVUJMRQkJMA0KPiAtI2RlZmluZSAgIERJU1BQTEFO RV9TVEVSRU9fUE9MQVJJVFlfRklSU1QJMA0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9TVEVSRU9f UE9MQVJJVFlfU0VDT05ECSgxIDw8IDE4KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9BTFBIQV9Q UkVNVUxUSVBMWQkJKDEgPDwgMTYpIC8qIENIViBwaXBlIEIgKi8NCj4gLSNkZWZpbmUgICBESVNQ UExBTkVfUk9UQVRFXzE4MAkJCSgxIDw8IDE1KQ0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9UUklD S0xFX0ZFRURfRElTQUJMRQkoMSA8PCAxNCkgLyogSXJvbmxha2UgKi8NCj4gLSNkZWZpbmUgICBE SVNQUExBTkVfVElMRUQJCQkoMSA8PCAxMCkNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfQVNZTkNf RkxJUAkJCSgxIDw8IDkpIC8qIGc0eCsgKi8NCj4gLSNkZWZpbmUgICBESVNQUExBTkVfTUlSUk9S CQkJKDEgPDwgOCkgLyogQ0hWIHBpcGUgQiAqLw0KPiArI2RlZmluZSAgIERTUF9FTkFCTEUJCQlS RUdfQklUKDMxKQ0KDQpJIHJlYWxseSBkb24ndCBsaWtlIERTUCwgaXQgaXMgYnJvYWRseSB1c2Vk IGFjcm9ueW0gdG8gRGlnaXRhbCBTaWduYWwgUHJvY2Vzc29ycy4NCldvdWxkIHByZWZlciB0byBo YXZlIERJU1BMQVkgb3IgRElTUC4NCg0KQW55d2F5cywgRFNQX0VOQUJMRSBzaG91bGQgaGF2ZSBh bHNvIGhhdmUgcGxhbmUgb24gaXQuDQoNCk90aGVyIHRoYW4gYWJvdmUgYW5kIGEgbWlub3IgdHlw byByZXBvcnRlZCBpbiBnZW5lcmFsIGxvb2tzIGdvb2QgdG8gbWUgYnV0IGl0IGFsc28gYnJva2Ug YnVpbGQgYmVjYXVzZSBpdCBtaXNzZWQgR1ZUIHJlbmFtZXMuDQoNCj4gKyNkZWZpbmUgICBEU1Bf UElQRV9HQU1NQV9FTkFCTEUJCVJFR19CSVQoMzApDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9N QVNLCQlSRUdfR0VOTUFTSygyOSwgMjYpDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF84QlBQCQlS RUdfRklFTERfUFJFUChEU1BfRk9STUFUX01BU0ssIDIpDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1B VF9CR1JBNTU1CQlSRUdfRklFTERfUFJFUChEU1BfRk9STUFUX01BU0ssIDMpDQo+ICsjZGVmaW5l ICAgRFNQX0ZPUk1BVF9CR1JYNTU1CQlSRUdfRklFTERfUFJFUChEU1BfRk9STUFUX01BU0ssIDQp DQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9CR1JYNTY1CQlSRUdfRklFTERfUFJFUChEU1BfRk9S TUFUX01BU0ssIDUpDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9CR1JYODg4CQlSRUdfRklFTERf UFJFUChEU1BfRk9STUFUX01BU0ssIDYpDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9CR1JBODg4 CQlSRUdfRklFTERfUFJFUChEU1BfRk9STUFUX01BU0ssIDcpDQo+ICsjZGVmaW5lICAgRFNQX0ZP Uk1BVF9SR0JYMTAxMDEwCQlSRUdfRklFTERfUFJFUChEU1BfRk9STUFUX01BU0ssIDgpDQo+ICsj ZGVmaW5lICAgRFNQX0ZPUk1BVF9SR0JBMTAxMDEwCQlSRUdfRklFTERfUFJFUChEU1BfRk9STUFU X01BU0ssIDkpDQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9CR1JYMTAxMDEwCQlSRUdfRklFTERf UFJFUChEU1BfRk9STUFUX01BU0ssIDEwKQ0KPiArI2RlZmluZSAgIERTUF9GT1JNQVRfQkdSQTEw MTAxMAkJUkVHX0ZJRUxEX1BSRVAoRFNQX0ZPUk1BVF9NQVNLLCAxMSkNCj4gKyNkZWZpbmUgICBE U1BfRk9STUFUX1JHQlgxNjE2MTYJCVJFR19GSUVMRF9QUkVQKERTUF9GT1JNQVRfTUFTSywgMTIp DQo+ICsjZGVmaW5lICAgRFNQX0ZPUk1BVF9SR0JYODg4CQlSRUdfRklFTERfUFJFUChEU1BfRk9S TUFUX01BU0ssIDE0KQ0KPiArI2RlZmluZSAgIERTUF9GT1JNQVRfUkdCQTg4OAkJUkVHX0ZJRUxE X1BSRVAoRFNQX0ZPUk1BVF9NQVNLLCAxNSkNCj4gKyNkZWZpbmUgICBEU1BfU1RFUkVPX0VOQUJM RQkJUkVHX0JJVCgyNSkNCj4gKyNkZWZpbmUgICBEU1BfUElQRV9DU0NfRU5BQkxFCQlSRUdfQklU KDI0KSAvKiBpbGsrICovDQo+ICsjZGVmaW5lICAgRFNQX1BJUEVfU0VMX01BU0sJCVJFR19HRU5N QVNLKDI1LCAyNCkNCj4gKyNkZWZpbmUgICBEU1BfUElQRV9TRUwocGlwZSkJCVJFR19GSUVMRF9Q UkVQKERTUF9QSVBFX1NFTF9NQVNLLCAocGlwZSkpDQo+ICsjZGVmaW5lICAgRFNQX1NSQ19LRVlf RU5BQkxFCQlSRUdfQklUKDIyKQ0KPiArI2RlZmluZSAgIERTUF9MSU5FX0RPVUJMRQkJUkVHX0JJ VCgyMCkNCj4gKyNkZWZpbmUgICBEU1BfU1RFUkVPX1BPTEFSSVRZX1NFQ09ORAlSRUdfQklUKDE4 KQ0KPiArI2RlZmluZSAgIERTUF9BTFBIQV9QUkVNVUxUSVBMWQkJUkVHX0JJVCgxNikgLyogQ0hW IHBpcGUgQiAqLw0KPiArI2RlZmluZSAgIERTUF9ST1RBVEVfMTgwCQlSRUdfQklUKDE1KQ0KPiAr I2RlZmluZSAgIERTUF9UUklDS0xFX0ZFRURfRElTQUJMRQlSRUdfQklUKDE0KSAvKiBnNHgrICov DQo+ICsjZGVmaW5lICAgRFNQX1RJTEVECQkJUkVHX0JJVCgxMCkNCj4gKyNkZWZpbmUgICBEU1Bf QVNZTkNfRkxJUAkJUkVHX0JJVCg5KSAvKiBnNHgrICovDQo+ICsjZGVmaW5lICAgRFNQX01JUlJP UgkJCVJFR19CSVQoOCkgLyogQ0hWIHBpcGUgQiAqLw0KPiAgI2RlZmluZSBfRFNQQUFERFIJCQkJ MHg3MDE4NA0KPiAgI2RlZmluZSBfRFNQQVNUUklERQkJCQkweDcwMTg4DQo+ICAjZGVmaW5lIF9E U1BBUE9TCQkJCTB4NzAxOEMgLyogcmVzZXJ2ZWQgKi8NCj4gKyNkZWZpbmUgICBEU1BfUE9TX1lf TUFTSwkJUkVHX0dFTk1BU0soMzEsIDApDQo+ICsjZGVmaW5lICAgRFNQX1BPU19ZKHkpCQkJUkVH X0ZJRUxEX1BSRVAoRFNQX1BPU19ZX01BU0ssICh5KSkNCj4gKyNkZWZpbmUgICBEU1BfUE9TX1hf TUFTSwkJUkVHX0dFTk1BU0soMTUsIDApDQo+ICsjZGVmaW5lICAgRFNQX1BPU19YKHgpCQkJUkVH X0ZJRUxEX1BSRVAoRFNQX1BPU19YX01BU0ssICh4KSkNCj4gICNkZWZpbmUgX0RTUEFTSVpFCQkJ CTB4NzAxOTANCj4gKyNkZWZpbmUgICBEU1BfSEVJR0hUX01BU0sJCVJFR19HRU5NQVNLKDMxLCAw KQ0KPiArI2RlZmluZSAgIERTUF9IRUlHSFQoaCkJCQlSRUdfRklFTERfUFJFUChEU1BfSEVJR0hU X01BU0ssIChoKSkNCj4gKyNkZWZpbmUgICBEU1BfV0lEVEhfTUFTSwkJUkVHX0dFTk1BU0soMTUs IDApDQo+ICsjZGVmaW5lICAgRFNQX1dJRFRIKHcpCQkJUkVHX0ZJRUxEX1BSRVAoRFNQX1dJRFRI X01BU0ssICh3KSkNCj4gICNkZWZpbmUgX0RTUEFTVVJGCQkJCTB4NzAxOUMgLyogOTY1KyBvbmx5 ICovDQo+ICsjZGVmaW5lICAgRFNQX0FERFJfTUFTSwkJCVJFR19HRU5NQVNLKDMxLCAxMikNCj4g ICNkZWZpbmUgX0RTUEFUSUxFT0ZGCQkJCTB4NzAxQTQgLyogOTY1KyBvbmx5ICovDQo+ICsjZGVm aW5lICAgRFNQX09GRlNFVF9ZX01BU0sJCVJFR19HRU5NQVNLKDMxLCAxNikNCj4gKyNkZWZpbmUg ICBEU1BfT0ZGU0VUX1koeSkJCQlSRUdfRklFTERfUFJFUChEU1BfT0ZGU0VUX1lfTUFTSywgKHkp KQ0KPiArI2RlZmluZSAgIERTUF9PRkZTRVRfWF9NQVNLCQlSRUdfR0VOTUFTSygxNSwgMCkNCj4g KyNkZWZpbmUgICBEU1BfT0ZGU0VUX1goeCkJCVJFR19GSUVMRF9QUkVQKERTUF9PRkZTRVRfWF9N QVNLLCAoeCkpDQo+ICAjZGVmaW5lIF9EU1BBT0ZGU0VUCQkJCTB4NzAxQTQgLyogSFNXICovDQo+ ICAjZGVmaW5lIF9EU1BBU1VSRkxJVkUJCQkJMHg3MDFBQw0KPiAgI2RlZmluZSBfRFNQQUdBTUMJ CQkJMHg3MDFFMA0KPiBAQCAtNjg4NiwxNSArNjg5MSwyOCBAQCBlbnVtIHsNCj4gIA0KPiAgLyog Q0hWIHBpcGUgQiBibGVuZGVyIGFuZCBwcmltYXJ5IHBsYW5lICovDQo+ICAjZGVmaW5lIF9DSFZf QkxFTkRfQQkJMHg2MGEwMA0KPiAtI2RlZmluZSAgIENIVl9CTEVORF9MRUdBQ1kJCSgwIDw8IDMw KQ0KPiAtI2RlZmluZSAgIENIVl9CTEVORF9BTkRST0lECQkoMSA8PCAzMCkNCj4gLSNkZWZpbmUg ICBDSFZfQkxFTkRfTVBPCQkJKDIgPDwgMzApDQo+IC0jZGVmaW5lICAgQ0hWX0JMRU5EX01BU0sJ CSgzIDw8IDMwKQ0KPiArI2RlZmluZSAgIENIVl9CTEVORF9NQVNLCVJFR19HRU5NQVNLKDMxLCAz MCkNCj4gKyNkZWZpbmUgICBDSFZfQkxFTkRfTEVHQUNZCVJFR19GSUVMRF9QUkVQKENIVl9CTEVO RF9NQVNLLCAwKQ0KPiArI2RlZmluZSAgIENIVl9CTEVORF9BTkRST0lECVJFR19GSUVMRF9QUkVQ KENIVl9CTEVORF9NQVNLLCAxKQ0KPiArI2RlZmluZSAgIENIVl9CTEVORF9NUE8JCVJFR19GSUVM RF9QUkVQKENIVl9CTEVORF9NQVNLLCAyKQ0KPiAgI2RlZmluZSBfQ0hWX0NBTlZBU19BCQkweDYw YTA0DQo+ICsjZGVmaW5lICAgQ0hWX0NBTlZBU19SRURfTUFTSwlSRUdfR0VOTUFTSygyOSwgMjAp DQo+ICsjZGVmaW5lICAgQ0hWX0NBTlZBU19HUkVFTl9NQVNLCVJFR19HRU5NQVNLKDE5LCAxMCkN Cj4gKyNkZWZpbmUgICBDSFZfQ0FOVkFTX0JMVUVfTUFTSwlSRUdfR0VOTUFTSyg5LCAwKQ0KPiAg I2RlZmluZSBfUFJJTVBPU19BCQkweDYwYTA4DQo+ICsjZGVmaW5lICAgUFJJTV9QT1NfWV9NQVNL CVJFR19HRU5NQVNLKDMxLCAxNikNCj4gKyNkZWZpbmUgICBQUklNX1BPU19ZKHkpCQlSRUdfRklF TERfUFJFUChQUklNX1BPU19ZX01BU0ssICh5KSkNCj4gKyNkZWZpbmUgICBQUklNX1BPU19YX01B U0sJUkVHX0dFTk1BU0soMTUsIDApDQo+ICsjZGVmaW5lICAgUFJJTV9QT1NfWCh4KQkJUkVHX0ZJ RUxEX1BSRVAoUFJJTV9QT1NfWF9NQVNLLCAoeCkpDQo+ICAjZGVmaW5lIF9QUklNU0laRV9BCQkw eDYwYTBjDQo+ICsjZGVmaW5lICAgUFJJTV9IRUlHSFRfTUFTSwlSRUdfR0VOTUFTSygzMSwgMTYp DQo+ICsjZGVmaW5lICAgUFJJTV9IRUlHSFQoaCkJUkVHX0ZJRUxEX1BSRVAoUFJJTV9IRUlHSFRf TUFTSywgKGgpKQ0KPiArI2RlZmluZSAgIFBSSU1fV0lEVEhfTUFTSwlSRUdfR0VOTUFTSygxNSwg MCkNCj4gKyNkZWZpbmUgICBQUklNX1dJRFRIKHcpCQlSRUdfRklFTERfUFJFUChQUklNX1dJRFRI X01BU0ssICh3KSkNCj4gICNkZWZpbmUgX1BSSU1DTlNUQUxQSEFfQQkweDYwYTEwDQo+IC0jZGVm aW5lICAgUFJJTV9DT05TVF9BTFBIQV9FTkFCTEUJKDEgPDwgMzEpDQo+ICsjZGVmaW5lICAgUFJJ TV9DT05TVF9BTFBIQV9FTkFCTEUJUkVHX0JJVCgzMSkNCj4gKyNkZWZpbmUgICBQUklNX0NPTlNU X0FMUEhBX01BU0sJCVJFR19HRU5NQVNLKDcsIDApDQo+ICsjZGVmaW5lICAgUFJJTV9DT05TVF9B TFBIQShhbHBoYSkJUkVHX0ZJRUxEX1BSRVAoUFJJTV9DT05TVF9BTFBIQV9NQVNLLCAoYWxwaGEp KQ0KPiAgDQo+ICAjZGVmaW5lIENIVl9CTEVORChwaXBlKQkJX01NSU9fVFJBTlMyKHBpcGUsIF9D SFZfQkxFTkRfQSkNCj4gICNkZWZpbmUgQ0hWX0NBTlZBUyhwaXBlKQlfTU1JT19UUkFOUzIocGlw ZSwgX0NIVl9DQU5WQVNfQSkNCj4gQEAgLTY5MzUsMTAgKzY5NTMsOCBAQCBlbnVtIHsNCj4gIA0K PiAgLyogRGlzcGxheSBCIGNvbnRyb2wgKi8NCj4gICNkZWZpbmUgX0RTUEJDTlRSCQkoRElTUExB WV9NTUlPX0JBU0UoZGV2X3ByaXYpICsgMHg3MTE4MCkNCj4gLSNkZWZpbmUgICBESVNQUExBTkVf QUxQSEFfVFJBTlNfRU5BQkxFCQkoMSA8PCAxNSkNCj4gLSNkZWZpbmUgICBESVNQUExBTkVfQUxQ SEFfVFJBTlNfRElTQUJMRQkJMA0KPiAtI2RlZmluZSAgIERJU1BQTEFORV9TUFJJVEVfQUJPVkVf RElTUExBWQkwDQo+IC0jZGVmaW5lICAgRElTUFBMQU5FX1NQUklURV9BQk9WRV9PVkVSTEFZCSgx KQ0KPiArI2RlZmluZSAgIERTUF9BTFBIQV9UUkFOU19FTkFCTEUJUkVHX0JJVCgxNSkNCj4gKyNk ZWZpbmUgICBEU1BfU1BSSVRFX0FCT1ZFX09WRVJMQVkJUkVHX0JJVCgwKQ0KPiAgI2RlZmluZSBf RFNQQkFERFIJCShESVNQTEFZX01NSU9fQkFTRShkZXZfcHJpdikgKyAweDcxMTg0KQ0KPiAgI2Rl ZmluZSBfRFNQQlNUUklERQkJKERJU1BMQVlfTU1JT19CQVNFKGRldl9wcml2KSArIDB4NzExODgp DQo+ICAjZGVmaW5lIF9EU1BCUE9TCQkoRElTUExBWV9NTUlPX0JBU0UoZGV2X3ByaXYpICsgMHg3 MTE4QykNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jDQo+IGluZGV4IDdmMDBmZDJmNjJhMC4uMjk0 MWMyY2QxNzA4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j DQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMNCj4gQEAgLTcyMTEsNyAr NzIxMSw3IEBAIHN0YXRpYyB2b2lkIGc0eF9kaXNhYmxlX3RyaWNrbGVfZmVlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ICAJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlw ZSkgew0KPiAgCQlpbnRlbF91bmNvcmVfd3JpdGUoJmRldl9wcml2LT51bmNvcmUsIERTUENOVFIo cGlwZSksDQo+ICAJCQkgICBpbnRlbF91bmNvcmVfcmVhZCgmZGV2X3ByaXYtPnVuY29yZSwgRFNQ Q05UUihwaXBlKSkgfA0KPiAtCQkJICAgRElTUFBMQU5FX1RSSUNLTEVfRkVFRF9ESVNBQkxFKTsN Cj4gKwkJCSAgIERTUF9UUklDS0xFX0ZFRURfRElTQUJMRSk7DQo+ICANCj4gIAkJaW50ZWxfdW5j b3JlX3dyaXRlKCZkZXZfcHJpdi0+dW5jb3JlLCBEU1BTVVJGKHBpcGUpLCBpbnRlbF91bmNvcmVf cmVhZCgmZGV2X3ByaXYtPnVuY29yZSwgRFNQU1VSRihwaXBlKSkpOw0KPiAgCQlpbnRlbF91bmNv cmVfcG9zdGluZ19yZWFkKCZkZXZfcHJpdi0+dW5jb3JlLCBEU1BTVVJGKHBpcGUpKTsNCg0K