From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v5] drm/i915: Remove i915.enable_ppgtt override Date: Wed, 26 Sep 2018 21:12:22 +0100 Message-ID: <20180926201222.5643-1-chris@chris-wilson.co.uk> References: <20180925114820.15987-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8578D89B60 for ; Wed, 26 Sep 2018 20:12:36 +0000 (UTC) In-Reply-To: <20180925114820.15987-1-chris@chris-wilson.co.uk> 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 Cc: Matthew Auld List-Id: intel-gfx@lists.freedesktop.org Tm93IHRoYXQgd2UgYXJlIGNvbmZpZGVudCBpbiBwcm92aWRpbmcgZnVsbC1wcGd0dCB3aGVyZSBz dXBwb3J0ZWQsCnJlbW92ZSB0aGUgYWJpbGl0eSB0byBvdmVycmlkZSB0aGUgY29udGV4dCBpc29s YXRpb24uCgp2MjogUmVtb3ZlIGZha2VkIGFsaWFzaW5nLXBwZ3R0IGZvciB0ZXN0aW5nIGFzIGl0 IG5vIGxvbmdlciBpcyBhY2NlcHRlZC4KdjM6IHMvVVNFUy9IQVMvIHRvIG1hdGNoIHVzYWdlIGFu ZCByZWplY3QgYXR0ZW1wdHMgdG8gbG9hZCB0aGUgbW9kdWxlIG9uCm9sZCBHVlQtZyBzZXR1cHMg dGhhdCBkbyBub3QgcHJvdmlkZSBzdXBwb3J0IGZvciBmdWxsLXBwZ3R0Lgp2NDogSW5zdWxhdGUg QUJJIHBwR1RUIHZhbHVlcyBmcm9tIG91ciBpbnRlcm5hbCBlbnVtIChsYXRlciBwbGFucwppbnZv bHZlIG1vdmluZyBwcEdUVCBkZXB0aCBvdXQgb2YgdGhlIGVudW0sIHRodXMgcG90ZW50aWFsbHkg YnJlYWtpbmcKQUJJIHVubGVzcyB3ZSBkb2N1bWVudCB0aGUgY3VycmVudCB2YWx1ZXMpLgoKU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBK b29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBNYXR0 aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFo dGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+ICN2MwpBY2tlZC1ieTogWmhp IFdhbmcgPHpoaS5hLndhbmdAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgICAgICAgICAgICAgICB8IDIyICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgICAgICAgICAgfCAxNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYyAgICAgICAgICAgfCA4OCArKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyAgICAgICAgICAgIHwgIDQgLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaCAgICAgICAgICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wY2kuYyAgICAgICAgICAgICAgIHwgMTcgKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGV2aWNlX2luZm8uYyAgICAgIHwgIDYgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmggICAgICB8IDEzICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgICAgICAgICAgIHwgMTMgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaHVnZV9wYWdlcy5jICAgfCAxMiArLS0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfZ2VtX2NvbnRleHQuYyB8IDU5ICstLS0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgfCAgNCArLQogaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oICAgICAgICAgICAgICAgICAgIHwgIDggKysKIDE2IGZpbGVzIGNoYW5nZWQsIDcy IGluc2VydGlvbnMoKyksIDE5NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpp bmRleCBhZGU5YmNhMjUwZmEuLjFiMDI4ZjQyOWU5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j CkBAIC0zNDUsNyArMzQ1LDcgQEAgc3RhdGljIGludCBpOTE1X2dldHBhcmFtX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXZhbHVlID0gSEFTX1dUKGRldl9wcml2 KTsKIAkJYnJlYWs7CiAJY2FzZSBJOTE1X1BBUkFNX0hBU19BTElBU0lOR19QUEdUVDoKLQkJdmFs dWUgPSBVU0VTX1BQR1RUKGRldl9wcml2KTsKKwkJdmFsdWUgPSBtaW5fdChpbnQsIElOVEVMX1BQ R1RUKGRldl9wcml2KSwgSTkxNV9HRU1fUFBHVFRfRlVMTCk7CiAJCWJyZWFrOwogCWNhc2UgSTkx NV9QQVJBTV9IQVNfU0VNQVBIT1JFUzoKIAkJdmFsdWUgPSBIQVNfTEVHQUNZX1NFTUFQSE9SRVMo ZGV2X3ByaXYpOwpAQCAtMTA0OSwxNyArMTA0OSw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJpdmVy X2NsZWFudXBfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHN0YXRp YyB2b2lkIGludGVsX3Nhbml0aXplX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewotCS8qCi0JICogaTkxNS5lbmFibGVfcHBndHQgaXMgcmVhZC1vbmx5LCBzbyBk byBhbiBlYXJseSBwYXNzIHRvIHZhbGlkYXRlIHRoZQotCSAqIHVzZXIncyByZXF1ZXN0ZWQgc3Rh dGUgYWdhaW5zdCB0aGUgaGFyZHdhcmUvZHJpdmVyIGNhcGFiaWxpdGllcy4gIFdlCi0JICogZG8g dGhpcyBub3cgc28gdGhhdCB3ZSBjYW4gcHJpbnQgb3V0IGFueSBsb2cgbWVzc2FnZXMgb25jZSBy YXRoZXIKLQkgKiB0aGFuIGV2ZXJ5IHRpbWUgd2UgY2hlY2sgaW50ZWxfZW5hYmxlX3BwZ3R0KCku Ci0JICovCi0JaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0ID0KLQkJaW50ZWxfc2FuaXRpemVf ZW5hYmxlX3BwZ3R0KGRldl9wcml2LAotCQkJCQkgICAgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3Bw Z3R0KTsKLQlEUk1fREVCVUdfRFJJVkVSKCJwcGd0dCBtb2RlOiAlaVxuIiwgaTkxNV9tb2RwYXJh bXMuZW5hYmxlX3BwZ3R0KTsKLQogCWludGVsX2d2dF9zYW5pdGl6ZV9vcHRpb25zKGRldl9wcml2 KTsKIH0KIApAQCAtMTM3NCw2ICsxMzYzLDE1IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5p dF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF9kZXZpY2Vf aW5mb19ydW50aW1lX2luaXQobWt3cml0ZV9kZXZpY2VfaW5mbyhkZXZfcHJpdikpOwogCisJaWYg KEhBU19QUEdUVChkZXZfcHJpdikpIHsKKwkJaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldl9wcml2 KSAmJgorCQkgICAgIWludGVsX3ZncHVfaGFzX2Z1bGxfNDhiaXRfcHBndHQoZGV2X3ByaXYpKSB7 CisJCQlpOTE1X3JlcG9ydF9lcnJvcihkZXZfcHJpdiwKKwkJCQkJICAiaW5jb21wYXRpYmxlIHZH UFUgZm91bmQsIHN1cHBvcnQgZm9yIGlzb2xhdGVkIHBwR1RUIHJlcXVpcmVkXG4iKTsKKwkJCXJl dHVybiAtRU5YSU87CisJCX0KKwl9CisKIAlpbnRlbF9zYW5pdGl6ZV9vcHRpb25zKGRldl9wcml2 KTsKIAogCWk5MTVfcGVyZl9pbml0KGRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmlu ZGV4IDg2MjRiNGJkYzI0Mi4uZjI4YjNjMmEzY2QyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK QEAgLTI1OTMsOSArMjU5MywxNCBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAogI2RlZmluZSBIQVNfRVhFQ0xJU1RTKGRldl9wcml2KSBIQVNf TE9HSUNBTF9SSU5HX0NPTlRFWFRTKGRldl9wcml2KQogCi0jZGVmaW5lIFVTRVNfUFBHVFQoZGV2 X3ByaXYpCQkoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0KQotI2RlZmluZSBVU0VTX0ZVTExf UFBHVFQoZGV2X3ByaXYpCShpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPj0gMikKLSNkZWZp bmUgVVNFU19GVUxMXzQ4QklUX1BQR1RUKGRldl9wcml2KQkoaTkxNV9tb2RwYXJhbXMuZW5hYmxl X3BwZ3R0ID09IDMpCisjZGVmaW5lIElOVEVMX1BQR1RUKGRldl9wcml2KSAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPnBwZ3R0KQorI2RlZmluZSBIQVNfUFBHVFQoZGV2X3ByaXYpIFwKKwkoSU5URUxf UFBHVFQoZGV2X3ByaXYpICE9IElOVEVMX1BQR1RUX05PTkUpCisjZGVmaW5lIEhBU19GVUxMX1BQ R1RUKGRldl9wcml2KSBcCisJKElOVEVMX1BQR1RUKGRldl9wcml2KSA+PSBJTlRFTF9QUEdUVF9G VUxMKQorI2RlZmluZSBIQVNfRlVMTF80OEJJVF9QUEdUVChkZXZfcHJpdikJXAorCShJTlRFTF9Q UEdUVChkZXZfcHJpdikgPj0gSU5URUxfUFBHVFRfRlVMTF80TFZMKQorCiAjZGVmaW5lIEhBU19Q QUdFX1NJWkVTKGRldl9wcml2LCBzaXplcykgKHsgXAogCUdFTV9CVUdfT04oKHNpemVzKSA9PSAw KTsgXAogCSgoc2l6ZXMpICYgfihkZXZfcHJpdiktPmluZm8ucGFnZV9zaXplcykgPT0gMDsgXApA QCAtMjc0Myw5ICsyNzQ4LDYgQEAgaW50ZWxfZ2d0dF91cGRhdGVfbmVlZHNfdnRkX3dhKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gSVNfQlJPWFRPTihkZXZfcHJp dikgJiYgaW50ZWxfdnRkX2FjdGl2ZSgpOwogfQogCi1pbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxl X3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQlpbnQgZW5hYmxl X3BwZ3R0KTsKLQogLyogaTkxNV9kcnYuYyAqLwogdm9pZCBfX3ByaW50ZigzLCA0KQogX19pOTE1 X3ByaW50ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGNvbnN0IGNoYXIgKmxl dmVsLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGY3NzI1OTNi OTlhYi4uMTVjOTJmNzViMWI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCkBAIC00MTQsNyArNDE0LDcgQEAgaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChJU19FUlIoY3R4KSkKIAkJcmV0dXJuIGN0 eDsKIAotCWlmIChVU0VTX0ZVTExfUFBHVFQoZGV2X3ByaXYpKSB7CisJaWYgKEhBU19GVUxMX1BQ R1RUKGRldl9wcml2KSkgewogCQlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQ7CiAKIAkJcHBn dHQgPSBpOTE1X3BwZ3R0X2NyZWF0ZShkZXZfcHJpdiwgZmlsZV9wcml2KTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggZjZjN2FiNDEzMDgxLi5jOTM2MzUwNDk0OWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0xMzMsNTUgKzEzMyw2IEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBpOTE1X2dndHRfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIAlpOTE1LT5nZ3R0LmludmFsaWRhdGUoaTkxNSk7CiB9CiAKLWludCBpbnRlbF9zYW5p dGl6ZV9lbmFibGVfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkJ ICAgICAgIAlpbnQgZW5hYmxlX3BwZ3R0KQotewotCWJvb2wgaGFzX2Z1bGxfcHBndHQ7Ci0JYm9v bCBoYXNfZnVsbF80OGJpdF9wcGd0dDsKLQotCWlmICghZGV2X3ByaXYtPmluZm8uaGFzX2FsaWFz aW5nX3BwZ3R0KQotCQlyZXR1cm4gMDsKLQotCWhhc19mdWxsX3BwZ3R0ID0gZGV2X3ByaXYtPmlu Zm8uaGFzX2Z1bGxfcHBndHQ7Ci0JaGFzX2Z1bGxfNDhiaXRfcHBndHQgPSBkZXZfcHJpdi0+aW5m by5oYXNfZnVsbF80OGJpdF9wcGd0dDsKLQotCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXZfcHJp dikpIHsKLQkJLyogR1ZULWcgaGFzIG5vIHN1cHBvcnQgZm9yIDMyYml0IHBwZ3R0ICovCi0JCWhh c19mdWxsX3BwZ3R0ID0gZmFsc2U7Ci0JCWhhc19mdWxsXzQ4Yml0X3BwZ3R0ID0gaW50ZWxfdmdw dV9oYXNfZnVsbF80OGJpdF9wcGd0dChkZXZfcHJpdik7Ci0JfQotCi0JLyoKLQkgKiBXZSBkb24n dCBhbGxvdyBkaXNhYmxpbmcgUFBHVFQgZm9yIGdlbjgrIGFzIGl0J3MgYSByZXF1aXJlbWVudCBm b3IKLQkgKiBleGVjbGlzdHMsIHRoZSBzb2xlIG1lY2hhbmlzbSBhdmFpbGFibGUgdG8gc3VibWl0 IHdvcmsuCi0JICovCi0JaWYgKGVuYWJsZV9wcGd0dCA9PSAwICYmICFIQVNfRVhFQ0xJU1RTKGRl dl9wcml2KSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoZW5hYmxlX3BwZ3R0ID09IDEpCi0JCXJldHVy biAxOwotCi0JaWYgKGVuYWJsZV9wcGd0dCA9PSAyICYmIGhhc19mdWxsX3BwZ3R0KQotCQlyZXR1 cm4gMjsKLQotCWlmIChlbmFibGVfcHBndHQgPT0gMyAmJiBoYXNfZnVsbF80OGJpdF9wcGd0dCkK LQkJcmV0dXJuIDM7Ci0KLQkvKiBEaXNhYmxlIHBwZ3R0IG9uIFNOQiBpZiBWVC1kIGlzIG9uLiAq LwotCWlmIChJU19HRU42KGRldl9wcml2KSAmJiBpbnRlbF92dGRfYWN0aXZlKCkpIHsKLQkJRFJN X0lORk8oIkRpc2FibGluZyBQUEdUVCBiZWNhdXNlIFZULWQgaXMgb25cbiIpOwotCQlyZXR1cm4g MDsKLQl9Ci0KLQlpZiAoaGFzX2Z1bGxfNDhiaXRfcHBndHQpCi0JCXJldHVybiAzOwotCi0JaWYg KGhhc19mdWxsX3BwZ3R0KQotCQlyZXR1cm4gMjsKLQotCXJldHVybiAxOwotfQotCiBzdGF0aWMg aW50IHBwZ3R0X2JpbmRfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkJICBlbnVtIGk5MTVf Y2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCiAJCQkgIHUzMiB1bnVzZWQpCkBAIC0xNjQ3LDcgKzE1 OTgsNyBAQCBzdGF0aWMgc3RydWN0IGk5MTVfaHdfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCXBwZ3R0LT52bS5pOTE1ID0gaTkxNTsKIAlw cGd0dC0+dm0uZG1hID0gJmk5MTUtPmRybS5wZGV2LT5kZXY7CiAKLQlwcGd0dC0+dm0udG90YWwg PSBVU0VTX0ZVTExfNDhCSVRfUFBHVFQoaTkxNSkgPworCXBwZ3R0LT52bS50b3RhbCA9IEhBU19G VUxMXzQ4QklUX1BQR1RUKGk5MTUpID8KIAkJMVVMTCA8PCA0OCA6CiAJCTFVTEwgPDwgMzI7CiAK QEAgLTE3ODIsMTkgKzE3MzMsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2VuNl93cml0ZV9wZGUo Y29uc3Qgc3RydWN0IGdlbjZfaHdfcHBndHQgKnBwZ3R0LAogCQkgIHBwZ3R0LT5wZF9hZGRyICsg cGRlKTsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9lbmFibGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQotewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsK LQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKLQotCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRl dl9wcml2LCBpZCkgewotCQl1MzIgZm91cl9sZXZlbCA9IFVTRVNfRlVMTF80OEJJVF9QUEdUVChk ZXZfcHJpdikgPwotCQkJCSBHRU44X0dGWF9QUEdUVF80OEIgOiAwOwotCQlJOTE1X1dSSVRFKFJJ TkdfTU9ERV9HRU43KGVuZ2luZSksCi0JCQkgICBfTUFTS0VEX0JJVF9FTkFCTEUoR0ZYX1BQR1RU X0VOQUJMRSB8IGZvdXJfbGV2ZWwpKTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIGdlbjdfcHBndHRf ZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmU7CkBAIC0xODM0LDcgKzE3NzIsOCBAQCBzdGF0aWMgdm9pZCBn ZW42X3BwZ3R0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJZWNv Y2hrID0gSTkxNV9SRUFEKEdBTV9FQ09DSEspOwogCUk5MTVfV1JJVEUoR0FNX0VDT0NISywgZWNv Y2hrIHwgRUNPQ0hLX1NOQl9CSVQgfCBFQ09DSEtfUFBHVFRfQ0FDSEU2NEIpOwogCi0JSTkxNV9X UklURShHRlhfTU9ERSwgX01BU0tFRF9CSVRfRU5BQkxFKEdGWF9QUEdUVF9FTkFCTEUpKTsKKwlp ZiAoSEFTX1BQR1RUKGRldl9wcml2KSkgLyogbWF5IGJlIGRpc2FibGVkIGZvciBWVC1kICovCisJ CUk5MTVfV1JJVEUoR0ZYX01PREUsIF9NQVNLRURfQklUX0VOQUJMRShHRlhfUFBHVFRfRU5BQkxF KSk7CiB9CiAKIC8qIFBQR1RUIHN1cHBvcnQgZm9yIFNhbmR5YmRyaWdlL0dlbjYgYW5kIGxhdGVy ICovCkBAIC0yMjM3LDIzICsyMTc2LDEwIEBAIGludCBpOTE1X3BwZ3R0X2luaXRfaHcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWd0dF93cml0ZV93b3JrYXJvdW5kcyhk ZXZfcHJpdik7CiAKLQkvKiBJbiB0aGUgY2FzZSBvZiBleGVjbGlzdHMsIFBQR1RUIGlzIGVuYWJs ZWQgYnkgdGhlIGNvbnRleHQgZGVzY3JpcHRvcgotCSAqIGFuZCB0aGUgUERQcyBhcmUgY29udGFp bmVkIHdpdGhpbiB0aGUgY29udGV4dCBpdHNlbGYuICBXZSBkb24ndAotCSAqIG5lZWQgdG8gZG8g YW55dGhpbmcgaGVyZS4gKi8KLQlpZiAoSEFTX0xPR0lDQUxfUklOR19DT05URVhUUyhkZXZfcHJp dikpCi0JCXJldHVybiAwOwotCi0JaWYgKCFVU0VTX1BQR1RUKGRldl9wcml2KSkKLQkJcmV0dXJu IDA7Ci0KIAlpZiAoSVNfR0VONihkZXZfcHJpdikpCiAJCWdlbjZfcHBndHRfZW5hYmxlKGRldl9w cml2KTsKIAllbHNlIGlmIChJU19HRU43KGRldl9wcml2KSkKIAkJZ2VuN19wcGd0dF9lbmFibGUo ZGV2X3ByaXYpOwotCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkKLQkJZ2VuOF9w cGd0dF9lbmFibGUoZGV2X3ByaXYpOwotCWVsc2UKLQkJTUlTU0lOR19DQVNFKElOVEVMX0dFTihk ZXZfcHJpdikpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0yOTUyLDcgKzI4NzgsNyBAQCBpbnQgaTkx NV9nZW1faW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkvKiBB bmQgZmluYWxseSBjbGVhciB0aGUgcmVzZXJ2ZWQgZ3VhcmQgcGFnZSAqLwogCWdndHQtPnZtLmNs ZWFyX3JhbmdlKCZnZ3R0LT52bSwgZ2d0dC0+dm0udG90YWwgLSBQQUdFX1NJWkUsIFBBR0VfU0la RSk7CiAKLQlpZiAoVVNFU19QUEdUVChkZXZfcHJpdikgJiYgIVVTRVNfRlVMTF9QUEdUVChkZXZf cHJpdikpIHsKKwlpZiAoSU5URUxfUFBHVFQoZGV2X3ByaXYpID09IElOVEVMX1BQR1RUX0FMSUFT SU5HKSB7CiAJCXJldCA9IGk5MTVfZ2VtX2luaXRfYWxpYXNpbmdfcHBndHQoZGV2X3ByaXYpOwog CQlpZiAocmV0KQogCQkJZ290byBlcnI7CkBAIC0zMjc1LDcgKzMyMDEsNyBAQCBzdGF0aWMgdm9p ZCBiZHdfc2V0dXBfcHJpdmF0ZV9wcGF0KHN0cnVjdCBpbnRlbF9wcGF0ICpwcGF0KQogCXBwYXQt Pm1hdGNoID0gYmR3X3ByaXZhdGVfcGF0X21hdGNoOwogCXBwYXQtPmNsZWFyX3ZhbHVlID0gR0VO OF9QUEFUX1dCIHwgR0VOOF9QUEFUX0xMQ0VMTEMgfCBHRU44X1BQQVRfQUdFKDMpOwogCi0JaWYg KCFVU0VTX1BQR1RUKHBwYXQtPmk5MTUpKSB7CisJaWYgKCFIQVNfUFBHVFQocHBhdC0+aTkxNSkp IHsKIAkJLyogU3BlYzogIkZvciBHR1RULCB0aGVyZSBpcyBOTyBwYXRfc2VsWzI6MF0gZnJvbSB0 aGUgZW50cnksCiAJCSAqIHNvIFJUTCB3aWxsIGFsd2F5cyB1c2UgdGhlIHZhbHVlIGNvcnJlc3Bv bmRpbmcgdG8KIAkJICogcGF0X3NlbCA9IDAwMCIuCkBAIC0zNDAyLDcgKzMzMjgsNyBAQCBzdGF0 aWMgaW50IGdlbjhfZ21jaF9wcm9iZShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogCWdndHQtPnZt LmNsZWFudXAgPSBnZW42X2dtY2hfcmVtb3ZlOwogCWdndHQtPnZtLmluc2VydF9wYWdlID0gZ2Vu OF9nZ3R0X2luc2VydF9wYWdlOwogCWdndHQtPnZtLmNsZWFyX3JhbmdlID0gbm9wX2NsZWFyX3Jh bmdlOwotCWlmICghVVNFU19GVUxMX1BQR1RUKGRldl9wcml2KSB8fCBpbnRlbF9zY2Fub3V0X25l ZWRzX3Z0ZF93YShkZXZfcHJpdikpCisJaWYgKGludGVsX3NjYW5vdXRfbmVlZHNfdnRkX3dhKGRl dl9wcml2KSkKIAkJZ2d0dC0+dm0uY2xlYXJfcmFuZ2UgPSBnZW44X2dndHRfY2xlYXJfcmFuZ2U7 CiAKIAlnZ3R0LT52bS5pbnNlcnRfZW50cmllcyA9IGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllczsK QEAgLTM2MDksNyArMzUzNSw3IEBAIGludCBpOTE1X2dndHRfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJLyogT25seSBWTFYgc3VwcG9ydHMgcmVhZC1vbmx5IEdH VFQgbWFwcGluZ3MgKi8KIAlnZ3R0LT52bS5oYXNfcmVhZF9vbmx5ID0gSVNfVkFMTEVZVklFVyhk ZXZfcHJpdik7CiAKLQlpZiAoIUhBU19MTEMoZGV2X3ByaXYpICYmICFVU0VTX1BQR1RUKGRldl9w cml2KSkKKwlpZiAoIUhBU19MTEMoZGV2X3ByaXYpICYmICFIQVNfUFBHVFQoZGV2X3ByaXYpKQog CQlnZ3R0LT52bS5tbS5jb2xvcl9hZGp1c3QgPSBpOTE1X2d0dF9jb2xvcl9hZGp1c3Q7CiAJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dwdV9lcnJvci5jCmluZGV4IDI4MzVjYWNkMGQwOC4uM2Q1NTU0ZjE0ZGZkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0 aWMgdm9pZCBlcnJvcl9wcmludF9lbmdpbmUoc3RydWN0IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1 ZiAqbSwKIAkJCWVycl9wcmludGYobSwgIiAgU1lOQ18yOiAweCUwOHhcbiIsCiAJCQkJICAgZWUt PnNlbWFwaG9yZV9tYm94ZXNbMl0pOwogCX0KLQlpZiAoVVNFU19QUEdUVChtLT5pOTE1KSkgewor CWlmIChIQVNfUFBHVFQobS0+aTkxNSkpIHsKIAkJZXJyX3ByaW50ZihtLCAiICBHRlhfTU9ERTog MHglMDh4XG4iLCBlZS0+dm1faW5mby5nZnhfbW9kZSk7CiAKIAkJaWYgKElOVEVMX0dFTihtLT5p OTE1KSA+PSA4KSB7CkBAIC0xMjMwLDcgKzEyMzAsNyBAQCBzdGF0aWMgdm9pZCBlcnJvcl9yZWNv cmRfZW5naW5lX3JlZ2lzdGVycyhzdHJ1Y3QgaTkxNV9ncHVfc3RhdGUgKmVycm9yLAogCWVlLT5y ZXNldF9jb3VudCA9IGk5MTVfcmVzZXRfZW5naW5lX2NvdW50KCZkZXZfcHJpdi0+Z3B1X2Vycm9y LAogCQkJCQkJICBlbmdpbmUpOwogCi0JaWYgKFVTRVNfUFBHVFQoZGV2X3ByaXYpKSB7CisJaWYg KEhBU19QUEdUVChkZXZfcHJpdikpIHsKIAkJaW50IGk7CiAKIAkJZWUtPnZtX2luZm8uZ2Z4X21v ZGUgPSBJOTE1X1JFQUQoUklOR19NT0RFX0dFTjcoZW5naW5lKSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wYXJhbXMuYwppbmRleCAyOTVlOTgxZTRhMzkuLmJkNmJkODg3OWNhYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BhcmFtcy5jCkBAIC04MiwxMCArODIsNiBAQCBpOTE1X3BhcmFtX25hbWVkX3Vu c2FmZShlbmFibGVfaGFuZ2NoZWNrLCBib29sLCAwNjQ0LAogCSJXQVJOSU5HOiBEaXNhYmxpbmcg dGhpcyBjYW4gY2F1c2Ugc3lzdGVtIHdpZGUgaGFuZ3MuICIKIAkiKGRlZmF1bHQ6IHRydWUpIik7 CiAKLWk5MTVfcGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9wcGd0dCwgaW50LCAwNDAwLAotCSJP dmVycmlkZSBQUEdUVCB1c2FnZS4gIgotCSIoLTE9YXV0byBbZGVmYXVsdF0sIDA9ZGlzYWJsZWQs IDE9YWxpYXNpbmcsIDI9ZnVsbCwgMz1mdWxsIHdpdGggZXh0ZW5kZWQgYWRkcmVzcyBzcGFjZSki KTsKLQogaTkxNV9wYXJhbV9uYW1lZF91bnNhZmUoZW5hYmxlX3BzciwgaW50LCAwNjAwLAogCSJF bmFibGUgUFNSICIKIAkiKDA9ZGlzYWJsZWQsIDE9ZW5hYmxlZCkgIgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGFyYW1zLmgKaW5kZXggNmM0ZDRhMjE0NzRiLi43ZTU2YzUxNmM4MTUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wYXJhbXMuaApAQCAtNDEsNyArNDEsNiBAQCBzdHJ1Y3QgZHJtX3ByaW50ZXI7 CiAJcGFyYW0oaW50LCB2YnRfc2R2b19wYW5lbF90eXBlLCAtMSkgXAogCXBhcmFtKGludCwgZW5h YmxlX2RjLCAtMSkgXAogCXBhcmFtKGludCwgZW5hYmxlX2ZiYywgLTEpIFwKLQlwYXJhbShpbnQs IGVuYWJsZV9wcGd0dCwgLTEpIFwKIAlwYXJhbShpbnQsIGVuYWJsZV9wc3IsIC0xKSBcCiAJcGFy YW0oaW50LCBkaXNhYmxlX3Bvd2VyX3dlbGwsIC0xKSBcCiAJcGFyYW0oaW50LCBlbmFibGVfaXBz LCAxKSBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwppbmRleCBkNmY3YjlmZTFkMjYuLmVlZWM5MDI4 OTZiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pcm9ubGFrZV9tX2luZm8gPSB7 CiAJLmhhc19sbGMgPSAxLCBcCiAJLmhhc19yYzYgPSAxLCBcCiAJLmhhc19yYzZwID0gMSwgXAot CS5oYXNfYWxpYXNpbmdfcHBndHQgPSAxLCBcCisJLnBwZ3R0ID0gSU5URUxfUFBHVFRfQUxJQVNJ TkcsIFwKIAlHRU5fREVGQVVMVF9QSVBFT0ZGU0VUUywgXAogCUdFTl9ERUZBVUxUX1BBR0VfU0la RVMsIFwKIAlDVVJTT1JfT0ZGU0VUUwpAQCAtMjk3LDggKzI5Nyw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2FuZHlicmlkZ2VfbV9ndDJfaW5mbyA9IHsK IAkuaGFzX2xsYyA9IDEsIFwKIAkuaGFzX3JjNiA9IDEsIFwKIAkuaGFzX3JjNnAgPSAxLCBcCi0J Lmhhc19hbGlhc2luZ19wcGd0dCA9IDEsIFwKLQkuaGFzX2Z1bGxfcHBndHQgPSAxLCBcCisJLnBw Z3R0ID0gSU5URUxfUFBHVFRfRlVMTCwgXAogCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLCBcCiAJ R0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAogCUlWQl9DVVJTT1JfT0ZGU0VUUwpAQCAtMzUxLDgg KzM1MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfdmFs bGV5dmlld19pbmZvID0gewogCS5oYXNfcmM2ID0gMSwKIAkuaGFzX2dtY2hfZGlzcGxheSA9IDEs CiAJLmhhc19ob3RwbHVnID0gMSwKLQkuaGFzX2FsaWFzaW5nX3BwZ3R0ID0gMSwKLQkuaGFzX2Z1 bGxfcHBndHQgPSAxLAorCS5wcGd0dCA9IElOVEVMX1BQR1RUX0ZVTEwsCiAJLmhhc19zbm9vcCA9 IHRydWUsCiAJLmhhc19jb2hlcmVudF9nZ3R0ID0gZmFsc2UsCiAJLnJpbmdfbWFzayA9IFJFTkRF Ul9SSU5HIHwgQlNEX1JJTkcgfCBCTFRfUklORywKQEAgLTM5OSw3ICszOTcsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2hhc3dlbGxfZ3QzX2luZm8gPSB7 CiAJLnBhZ2Vfc2l6ZXMgPSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsgfCBcCiAJCSAgICAgIEk5MTVf R1RUX1BBR0VfU0laRV8yTSwgXAogCS5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0gMSwgXAot CS5oYXNfZnVsbF80OGJpdF9wcGd0dCA9IDEsIFwKKwkucHBndHQgPSBJTlRFTF9QUEdUVF9GVUxM XzRMVkwsIFwKIAkuaGFzXzY0Yml0X3JlbG9jID0gMSwgXAogCS5oYXNfcmVzZXRfZW5naW5lID0g MQogCkBAIC00NDMsOCArNDQxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2Vf aW5mbyBpbnRlbF9jaGVycnl2aWV3X2luZm8gPSB7CiAJLmhhc19yYzYgPSAxLAogCS5oYXNfbG9n aWNhbF9yaW5nX2NvbnRleHRzID0gMSwKIAkuaGFzX2dtY2hfZGlzcGxheSA9IDEsCi0JLmhhc19h bGlhc2luZ19wcGd0dCA9IDEsCi0JLmhhc19mdWxsX3BwZ3R0ID0gMSwKKwkucHBndHQgPSBJTlRF TF9QUEdUVF9GVUxMLAogCS5oYXNfcmVzZXRfZW5naW5lID0gMSwKIAkuaGFzX3Nub29wID0gdHJ1 ZSwKIAkuaGFzX2NvaGVyZW50X2dndHQgPSBmYWxzZSwKQEAgLTUxOCw5ICs1MTUsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NreWxha2VfZ3Q0X2luZm8g PSB7CiAJLmhhc19sb2dpY2FsX3JpbmdfY29udGV4dHMgPSAxLCBcCiAJLmhhc19sb2dpY2FsX3Jp bmdfcHJlZW1wdGlvbiA9IDEsIFwKIAkuaGFzX2d1YyA9IDEsIFwKLQkuaGFzX2FsaWFzaW5nX3Bw Z3R0ID0gMSwgXAotCS5oYXNfZnVsbF9wcGd0dCA9IDEsIFwKLQkuaGFzX2Z1bGxfNDhiaXRfcHBn dHQgPSAxLCBcCisJLnBwZ3R0ID0gSU5URUxfUFBHVFRfRlVMTF80TFZMLCBcCiAJLmhhc19yZXNl dF9lbmdpbmUgPSAxLCBcCiAJLmhhc19zbm9vcCA9IHRydWUsIFwKIAkuaGFzX2NvaGVyZW50X2dn dHQgPSBmYWxzZSwgXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2 aWNlX2luZm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKaW5k ZXggMzFmNmJlNzc0ODMzLi4yNjhjOGYyODZjYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGV2aWNlX2luZm8uYwpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiaW50ZWxfZGV2 aWNlX2luZm8uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgorI2luY2x1ZGUgImk5MTVfdmdwdS5o IgogCiAjZGVmaW5lIFBMQVRGT1JNX05BTUUoeCkgW0lOVEVMXyMjeF0gPSAjeAogc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBwbGF0Zm9ybV9uYW1lc1tdID0gewpAQCAtODUwLDYgKzg1MSwxMSBA QCB2b2lkIGludGVsX2RldmljZV9pbmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gKmluZm8pCiAJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJZ2Vu MTFfc3NldV9pbmZvX2luaXQoZGV2X3ByaXYpOwogCisJaWYgKElTX0dFTjYoZGV2X3ByaXYpICYm IGludGVsX3Z0ZF9hY3RpdmUoKSkgeworCQlEUk1fSU5GTygiRGlzYWJsaW5nIHBwR1RUIGZvciBW VC1kIHN1cHBvcnRcbiIpOworCQlpbmZvLT5wcGd0dCA9IElOVEVMX1BQR1RUX05PTkU7CisJfQor CiAJLyogSW5pdGlhbGl6ZSBjb21tYW5kIHN0cmVhbSB0aW1lc3RhbXAgZnJlcXVlbmN5ICovCiAJ aW5mby0+Y3NfdGltZXN0YW1wX2ZyZXF1ZW5jeV9raHogPSByZWFkX3RpbWVzdGFtcF9mcmVxdWVu Y3koZGV2X3ByaXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGV2aWNlX2luZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgK aW5kZXggNmVlY2Q2NDczNGQ1Li5hZjcwMDI2NDBjZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uaApAQCAtMjUsNiArMjUsOCBAQAogI2lmbmRlZiBfSU5URUxfREVW SUNFX0lORk9fSF8KICNkZWZpbmUgX0lOVEVMX0RFVklDRV9JTkZPX0hfCiAKKyNpbmNsdWRlIDx1 YXBpL2RybS9pOTE1X2RybS5oPgorCiAjaW5jbHVkZSAiaW50ZWxfZGlzcGxheS5oIgogCiBzdHJ1 Y3QgZHJtX3ByaW50ZXI7CkBAIC03NCwyMSArNzYsMjUgQEAgZW51bSBpbnRlbF9wbGF0Zm9ybSB7 CiAJSU5URUxfTUFYX1BMQVRGT1JNUwogfTsKIAorZW51bSBpbnRlbF9wcGd0dCB7CisJSU5URUxf UFBHVFRfTk9ORSA9IEk5MTVfR0VNX1BQR1RUX05PTkUsCisJSU5URUxfUFBHVFRfQUxJQVNJTkcg PSBJOTE1X0dFTV9QUEdUVF9BTElBU0lORywKKwlJTlRFTF9QUEdUVF9GVUxMID0gSTkxNV9HRU1f UFBHVFRfRlVMTCwKKwlJTlRFTF9QUEdUVF9GVUxMXzRMVkwsCit9OworCiAjZGVmaW5lIERFVl9J TkZPX0ZPUl9FQUNIX0ZMQUcoZnVuYykgXAogCWZ1bmMoaXNfbW9iaWxlKTsgXAogCWZ1bmMoaXNf bHApOyBcCiAJZnVuYyhpc19hbHBoYV9zdXBwb3J0KTsgXAogCS8qIEtlZXAgaGFzXyogaW4gYWxw aGFiZXRpY2FsIG9yZGVyICovIFwKIAlmdW5jKGhhc182NGJpdF9yZWxvYyk7IFwKLQlmdW5jKGhh c19hbGlhc2luZ19wcGd0dCk7IFwKIAlmdW5jKGhhc19jc3IpOyBcCiAJZnVuYyhoYXNfZGRpKTsg XAogCWZ1bmMoaGFzX2RwX21zdCk7IFwKIAlmdW5jKGhhc19yZXNldF9lbmdpbmUpOyBcCiAJZnVu YyhoYXNfZmJjKTsgXAogCWZ1bmMoaGFzX2ZwZ2FfZGJnKTsgXAotCWZ1bmMoaGFzX2Z1bGxfcHBn dHQpOyBcCi0JZnVuYyhoYXNfZnVsbF80OGJpdF9wcGd0dCk7IFwKIAlmdW5jKGhhc19nbWNoX2Rp c3BsYXkpOyBcCiAJZnVuYyhoYXNfZ3VjKTsgXAogCWZ1bmMoaGFzX2d1Y19jdCk7IFwKQEAgLTE1 NCw2ICsxNjAsNyBAQCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gewogCWVudW0gaW50ZWxfcGxh dGZvcm0gcGxhdGZvcm07CiAJdTMyIHBsYXRmb3JtX21hc2s7CiAKKwllbnVtIGludGVsX3BwZ3R0 IHBwZ3R0OwogCXVuc2lnbmVkIGludCBwYWdlX3NpemVzOyAvKiBwYWdlIHNpemVzIHN1cHBvcnRl ZCBieSB0aGUgSFcgKi8KIAogCXUzMiBkaXNwbGF5X21taW9fb2Zmc2V0OwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwppbmRleCA0YjI4MjI1MzIwZmYuLjM4MzZhOGEzNzYxYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKQEAgLTQxOCw5ICs0MTgsOCBAQCBleGVjbGlzdHNfdXBkYXRlX2NvbnRl eHRfcGRwcyhzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsIHUzMiAqcmVnX3N0YXRlKQogCiBz dGF0aWMgdTY0IGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpy cSkKIHsKKwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBycS0+Z2VtX2NvbnRleHQtPnBw Z3R0OwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSA9IHJxLT5od19jb250ZXh0OwotCXN0cnVj dCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9Ci0JCXJxLT5nZW1fY29udGV4dC0+cHBndHQgPzogcnEt Pmk5MTUtPm1tLmFsaWFzaW5nX3BwZ3R0OwogCXUzMiAqcmVnX3N0YXRlID0gY2UtPmxyY19yZWdf c3RhdGU7CiAKIAlyZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9IGludGVsX3Jpbmdfc2V0X3Rh aWwocnEtPnJpbmcsIHJxLT50YWlsKTsKQEAgLTEzNzYsNyArMTM3NSw3IEBAIGV4ZWNsaXN0c19j b250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJc3RydWN0IGludGVs X2NvbnRleHQgKmNlID0gdG9faW50ZWxfY29udGV4dChjdHgsIGVuZ2luZSk7CiAKIAlsb2NrZGVw X2Fzc2VydF9oZWxkKCZjdHgtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwotCUdFTV9CVUdfT04o IShjdHgtPnBwZ3R0ID86IGN0eC0+aTkxNS0+bW0uYWxpYXNpbmdfcHBndHQpKTsKKwlHRU1fQlVH X09OKCFjdHgtPnBwZ3R0KTsKIAogCWlmIChsaWtlbHkoY2UtPnBpbl9jb3VudCsrKSkKIAkJcmV0 dXJuIGNlOwpAQCAtMjAzMSw4ICsyMDMwLDcgQEAgc3RhdGljIGludCBnZW44X2VtaXRfYmJfc3Rh cnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJICogaXQgaXMgdW5zYWZlIGluIGNhc2Ugb2Yg bGl0ZS1yZXN0b3JlIChiZWNhdXNlIHRoZSBjdHggaXMKIAkgKiBub3QgaWRsZSkuIFBNTDQgaXMg YWxsb2NhdGVkIGR1cmluZyBwcGd0dCBpbml0IHNvIHRoaXMgaXMKIAkgKiBub3QgbmVlZGVkIGlu IDQ4LWJpdC4qLwotCWlmIChycS0+Z2VtX2NvbnRleHQtPnBwZ3R0ICYmCi0JICAgIChpbnRlbF9l bmdpbmVfZmxhZyhycS0+ZW5naW5lKSAmIHJxLT5nZW1fY29udGV4dC0+cHBndHQtPnBkX2RpcnR5 X3JpbmdzKSAmJgorCWlmICgoaW50ZWxfZW5naW5lX2ZsYWcocnEtPmVuZ2luZSkgJiBycS0+Z2Vt X2NvbnRleHQtPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncykgJiYKIAkgICAgIWk5MTVfdm1faXNfNDhi aXQoJnJxLT5nZW1fY29udGV4dC0+cHBndHQtPnZtKSAmJgogCSAgICAhaW50ZWxfdmdwdV9hY3Rp dmUocnEtPmk5MTUpKSB7CiAJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0X3BkcHMocnEp OwpAQCAtMjYzNCw3ICsyNjMyLDYgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVnX3N0 YXRlKHUzMiAqcmVncywKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKLQlzdHJ1Y3Qg aTkxNV9od19wcGd0dCAqcHBndHQgPSBjdHgtPnBwZ3R0ID86IGRldl9wcml2LT5tbS5hbGlhc2lu Z19wcGd0dDsKIAl1MzIgYmFzZSA9IGVuZ2luZS0+bW1pb19iYXNlOwogCWJvb2wgcmNzID0gZW5n aW5lLT5jbGFzcyA9PSBSRU5ERVJfQ0xBU1M7CiAKQEAgLTI3MDYsMTIgKzI3MDMsMTIgQEAgc3Rh dGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVnX3N0YXRlKHUzMiAqcmVncywKIAlDVFhfUkVHKHJl Z3MsIENUWF9QRFAwX1VEVywgR0VOOF9SSU5HX1BEUF9VRFcoZW5naW5lLCAwKSwgMCk7CiAJQ1RY X1JFRyhyZWdzLCBDVFhfUERQMF9MRFcsIEdFTjhfUklOR19QRFBfTERXKGVuZ2luZSwgMCksIDAp OwogCi0JaWYgKGk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52bSkpIHsKKwlpZiAoaTkxNV92bV9p c180OGJpdCgmY3R4LT5wcGd0dC0+dm0pKSB7CiAJCS8qIDY0YiBQUEdUVCAoNDhiaXQgY2Fub25p Y2FsKQogCQkgKiBQRFAwX0RFU0NSSVBUT1IgY29udGFpbnMgdGhlIGJhc2UgYWRkcmVzcyB0byBQ TUw0IGFuZAogCQkgKiBvdGhlciBQRFAgRGVzY3JpcHRvcnMgYXJlIGlnbm9yZWQuCiAJCSAqLwot CQlBU1NJR05fQ1RYX1BNTDQocHBndHQsIHJlZ3MpOworCQlBU1NJR05fQ1RYX1BNTDQoY3R4LT5w cGd0dCwgcmVncyk7CiAJfQogCiAJaWYgKHJjcykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9odWdlX3BhZ2VzLmMKaW5kZXggOGQwM2Y2NGVhYmQ3Li4wOWVhNjVhMjlkOTggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTQzNiw3 ICsxNDM2LDcgQEAgc3RhdGljIGludCBpZ3RfcHBndHRfcGluX3VwZGF0ZSh2b2lkICphcmcpCiAJ ICogaHVnZS1ndHQtcGFnZXMuCiAJICovCiAKLQlpZiAoIVVTRVNfRlVMTF80OEJJVF9QUEdUVChk ZXZfcHJpdikpIHsKKwlpZiAoIUhBU19GVUxMXzQ4QklUX1BQR1RUKGRldl9wcml2KSkgewogCQlw cl9pbmZvKCI0OGIgUFBHVFQgbm90IHN1cHBvcnRlZCwgc2tpcHBpbmdcbiIpOwogCQlyZXR1cm4g MDsKIAl9CkBAIC0xNjg3LDEwICsxNjg3LDkgQEAgaW50IGk5MTVfZ2VtX2h1Z2VfcGFnZV9tb2Nr X3NlbGZ0ZXN0cyh2b2lkKQogCQlTVUJURVNUKGlndF9tb2NrX3BwZ3R0X2h1Z2VfZmlsbCksCiAJ CVNVQlRFU1QoaWd0X21vY2tfcHBndHRfNjRLKSwKIAl9OwotCWludCBzYXZlZF9wcGd0dCA9IGk5 MTVfbW9kcGFyYW1zLmVuYWJsZV9wcGd0dDsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXY7Ci0Jc3RydWN0IHBjaV9kZXYgKnBkZXY7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBw Z3R0OworCXN0cnVjdCBwY2lfZGV2ICpwZGV2OwogCWludCBlcnI7CiAKIAlkZXZfcHJpdiA9IG1v Y2tfZ2VtX2RldmljZSgpOwpAQCAtMTY5OCw3ICsxNjk3LDcgQEAgaW50IGk5MTVfZ2VtX2h1Z2Vf cGFnZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCS8qIFByZXRl bmQgdG8gYmUgYSBkZXZpY2Ugd2hpY2ggc3VwcG9ydHMgdGhlIDQ4YiBQUEdUVCAqLwotCWk5MTVf bW9kcGFyYW1zLmVuYWJsZV9wcGd0dCA9IDM7CisJbWt3cml0ZV9kZXZpY2VfaW5mbyhkZXZfcHJp diktPnBwZ3R0ID0gSU5URUxfUFBHVFRfRlVMTF80TFZMOwogCiAJcGRldiA9IGRldl9wcml2LT5k cm0ucGRldjsKIAlkbWFfY29lcmNlX21hc2tfYW5kX2NvaGVyZW50KCZwZGV2LT5kZXYsIERNQV9C SVRfTUFTSygzOSkpOwpAQCAtMTczMSw5ICsxNzMwLDYgQEAgaW50IGk5MTVfZ2VtX2h1Z2VfcGFn ZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogCiBvdXRfdW5sb2NrOgogCW11dGV4X3VubG9jaygmZGV2 X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwotCi0JaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0 ID0gc2F2ZWRfcHBndHQ7Ci0KIAlkcm1fZGV2X3B1dCgmZGV2X3ByaXYtPmRybSk7CiAKIAlyZXR1 cm4gZXJyOwpAQCAtMTc1Myw3ICsxNzQ5LDcgQEAgaW50IGk5MTVfZ2VtX2h1Z2VfcGFnZV9saXZl X3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKmN0eDsKIAlpbnQgZXJyOwogCi0JaWYgKCFVU0VTX1BQR1RUKGRldl9w cml2KSkgeworCWlmICghSEFTX1BQR1RUKGRldl9wcml2KSkgewogCQlwcl9pbmZvKCJQUEdUVCBu b3Qgc3VwcG9ydGVkLCBza2lwcGluZyBsaXZlLXNlbGZ0ZXN0c1xuIik7CiAJCXJldHVybiAwOwog CX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9j b250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4 dC5jCmluZGV4IDc2ZGYyNWFhOTBjOS4uOTEzYzBmODNmODZhIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTUzNSw3ICs1MzUs NiBAQCBzdGF0aWMgaW50IGlndF9jdHhfZXhlYyh2b2lkICphcmcpCiAJSUdUX1RJTUVPVVQoZW5k X3RpbWUpOwogCUxJU1RfSEVBRChvYmplY3RzKTsKIAl1bnNpZ25lZCBsb25nIG5jb250ZXh0cywg bmR3b3JkcywgZHc7Ci0JYm9vbCBmaXJzdF9zaGFyZWRfZ3R0ID0gdHJ1ZTsKIAlpbnQgZXJyID0g LUVOT0RFVjsKIAogCS8qCkBAIC01NjEsMTIgKzU2MCw3IEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9l eGVjKHZvaWQgKmFyZykKIAkJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKIAkJdW5zaWdu ZWQgaW50IGlkOwogCi0JCWlmIChmaXJzdF9zaGFyZWRfZ3R0KSB7Ci0JCQljdHggPSBfX2NyZWF0 ZV9od19jb250ZXh0KGk5MTUsIGZpbGUtPmRyaXZlcl9wcml2KTsKLQkJCWZpcnN0X3NoYXJlZF9n dHQgPSBmYWxzZTsKLQkJfSBlbHNlIHsKLQkJCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0 KGk5MTUsIGZpbGUtPmRyaXZlcl9wcml2KTsKLQkJfQorCQljdHggPSBpOTE1X2dlbV9jcmVhdGVf Y29udGV4dChpOTE1LCBmaWxlLT5kcml2ZXJfcHJpdik7CiAJCWlmIChJU19FUlIoY3R4KSkgewog CQkJZXJyID0gUFRSX0VSUihjdHgpOwogCQkJZ290byBvdXRfdW5sb2NrOwpAQCAtODY1LDMzICs4 NTksNiBAQCBzdGF0aWMgaW50IGlndF9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQodm9pZCAqYXJn KQogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZmFrZV9hbGlhc2luZ19wcGd0dF9lbmFi bGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iajsKLQlpbnQgZXJyOwotCi0JZXJyID0gaTkxNV9nZW1faW5pdF9hbGlhc2lu Z19wcGd0dChpOTE1KTsKLQlpZiAoZXJyKQotCQlyZXR1cm4gZXJyOwotCi0JbGlzdF9mb3JfZWFj aF9lbnRyeShvYmosICZpOTE1LT5tbS5ib3VuZF9saXN0LCBtbS5saW5rKSB7Ci0JCXN0cnVjdCBp OTE1X3ZtYSAqdm1hOwotCi0JCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgJmk5MTUtPmdn dHQudm0sIE5VTEwpOwotCQlpZiAoSVNfRVJSKHZtYSkpCi0JCQljb250aW51ZTsKLQotCQl2bWEt PmZsYWdzICY9IH5JOTE1X1ZNQV9MT0NBTF9CSU5EOwotCX0KLQotCXJldHVybiAwOwotfQotCi1z dGF0aWMgdm9pZCBmYWtlX2FsaWFzaW5nX3BwZ3R0X2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCi17Ci0JaTkxNV9nZW1fZmluaV9hbGlhc2luZ19wcGd0dChpOTE1KTsKLX0K LQogaW50IGk5MTVfZ2VtX2NvbnRleHRfbW9ja19zZWxmdGVzdHModm9pZCkKIHsKIAlzdGF0aWMg Y29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewpAQCAtOTE4LDMxICs4ODUsOSBA QCBpbnQgaTkxNV9nZW1fY29udGV4dF9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJCVNVQlRFU1QoaWd0X2N0eF9leGVjKSwKIAkJU1VCVEVTVChpZ3Rf Y3R4X3JlYWRvbmx5KSwKIAl9OwotCWJvb2wgZmFrZV9hbGlhcyA9IGZhbHNlOwotCWludCBlcnI7 CiAKIAlpZiAoaTkxNV90ZXJtaW5hbGx5X3dlZGdlZCgmZGV2X3ByaXYtPmdwdV9lcnJvcikpCiAJ CXJldHVybiAwOwogCi0JLyogSW5zdGFsbCBhIGZha2UgYWxpYXNpbmcgZ3R0IGZvciBleGVyY2lz ZSAqLwotCWlmIChVU0VTX1BQR1RUKGRldl9wcml2KSAmJiAhZGV2X3ByaXYtPm1tLmFsaWFzaW5n X3BwZ3R0KSB7Ci0JCW11dGV4X2xvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKLQkJ ZXJyID0gZmFrZV9hbGlhc2luZ19wcGd0dF9lbmFibGUoZGV2X3ByaXYpOwotCQltdXRleF91bmxv Y2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKLQkJaWYgKGVycikKLQkJCXJldHVybiBl cnI7Ci0KLQkJR0VNX0JVR19PTighZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0KTsKLQkJZmFr ZV9hbGlhcyA9IHRydWU7Ci0JfQotCi0JZXJyID0gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgZGV2X3By aXYpOwotCi0JaWYgKGZha2VfYWxpYXMpIHsKLQkJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5z dHJ1Y3RfbXV0ZXgpOwotCQlmYWtlX2FsaWFzaW5nX3BwZ3R0X2Rpc2FibGUoZGV2X3ByaXYpOwot CQltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKLQl9Ci0KLQlyZXR1 cm4gZXJyOworCXJldHVybiBpOTE1X3N1YnRlc3RzKHRlc3RzLCBkZXZfcHJpdik7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jCmluZGV4IDEy OGFkMWNmMDY0Ny4uNDM2NTk3OWQ4MjIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYwpAQCAtMzUxLDcgKzM1MSw3IEBAIHN0YXRpYyBpbnQg aWd0X2V2aWN0X2NvbnRleHRzKHZvaWQgKmFyZykKIAkgKiB3aGVyZSB0aGUgR1RUIHNwYWNlIG9m IHRoZSByZXF1ZXN0IGlzIHNlcGFyYXRlIGZyb20gdGhlIEdHVFQKIAkgKiBhbGxvY2F0aW9uIHJl cXVpcmVkIHRvIGJ1aWxkIHRoZSByZXF1ZXN0LgogCSAqLwotCWlmICghVVNFU19GVUxMX1BQR1RU KGk5MTUpKQorCWlmICghSEFTX0ZVTExfUFBHVFQoaTkxNSkpCiAJCXJldHVybiAwOwogCiAJbXV0 ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKaW5kZXggOGUyZTI2OWRiOTdlLi4xN2I1YWFhYTdh NTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9n dHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMK QEAgLTE1Myw3ICsxNTMsNyBAQCBzdGF0aWMgaW50IGlndF9wcGd0dF9hbGxvYyh2b2lkICphcmcp CiAKIAkvKiBBbGxvY2F0ZSBhIHBwZ2d0IGFuZCB0cnkgdG8gZmlsbCB0aGUgZW50aXJlIHJhbmdl ICovCiAKLQlpZiAoIVVTRVNfUFBHVFQoZGV2X3ByaXYpKQorCWlmICghSEFTX1BQR1RUKGRldl9w cml2KSkKIAkJcmV0dXJuIDA7CiAKIAlwcGd0dCA9IF9faHdfcHBndHRfY3JlYXRlKGRldl9wcml2 KTsKQEAgLTEwMDEsNyArMTAwMSw3IEBAIHN0YXRpYyBpbnQgZXhlcmNpc2VfcHBndHQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCUlHVF9USU1FT1VUKGVuZF90aW1lKTsKIAlp bnQgZXJyOwogCi0JaWYgKCFVU0VTX0ZVTExfUFBHVFQoZGV2X3ByaXYpKQorCWlmICghSEFTX0ZV TExfUFBHVFQoZGV2X3ByaXYpKQogCQlyZXR1cm4gMDsKIAogCWZpbGUgPSBtb2NrX2ZpbGUoZGV2 X3ByaXYpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVk ZS91YXBpL2RybS9pOTE1X2RybS5oCmluZGV4IGE0NDQ2ZjQ1MjA0MC4uMjk4YjJlMTk3NzQ0IDEw MDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBp L2RybS9pOTE1X2RybS5oCkBAIC00MTIsNiArNDEyLDE0IEBAIHR5cGVkZWYgc3RydWN0IGRybV9p OTE1X2lycV93YWl0IHsKIAlpbnQgaXJxX3NlcTsKIH0gZHJtX2k5MTVfaXJxX3dhaXRfdDsKIAor LyoKKyAqIERpZmZlcmVudCBtb2RlcyBvZiBwZXItcHJvY2VzcyBHcmFwaGljcyBUcmFuc2xhdGlv biBUYWJsZSwKKyAqIHNlZSBJOTE1X1BBUkFNX0hBU19BTElBU0lOR19QUEdUVAorICovCisjZGVm aW5lIEk5MTVfR0VNX1BQR1RUX05PTkUJMAorI2RlZmluZSBJOTE1X0dFTV9QUEdUVF9BTElBU0lO RwkxCisjZGVmaW5lIEk5MTVfR0VNX1BQR1RUX0ZVTEwJMgorCiAvKiBJb2N0bCB0byBxdWVyeSBr ZXJuZWwgcGFyYW1zOgogICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fSVJRX0FDVElWRSAgICAgICAg ICAgIDEKLS0gCjIuMTkuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==