From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: [PATCH 08/12] drm/i915/uc: move GuC/HuC inside intel_gt under a new intel_uc Date: Tue, 9 Jul 2019 17:54:33 -0700 Message-ID: <20190710005437.3496-9-daniele.ceraolospurio@intel.com> References: <20190710005437.3496-1-daniele.ceraolospurio@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id E2A4189950 for ; Wed, 10 Jul 2019 00:55:12 +0000 (UTC) In-Reply-To: <20190710005437.3496-1-daniele.ceraolospurio@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QmVpbmcgcGFydCBvZiB0aGUgR1QgSFcsIGl0IG1ha2Ugc2Vuc2UgdG8ga2VlcCB0aGUgZ3VjL2h1 YyBzdHJ1Y3R1cmVzCmluc2lkZSB0aGUgR1Qgc3RydWN0dXJlLiBUbyBoZWxwIHdpdGggdGhlIGVu Y2Fwc3VsYXRpb24gd29yayBkb25lIGJ5IHRoZQpmb2xsb3dpbmcgcGF0Y2hlcywgYm90aCBzdHJ1 Y3R1cmVzIGFyZSBwbGFjZWQgaW5zaWRlIGEgbmV3IGludGVsX3VjCmNvbnRhaW5lci4gQWx0aG91 Z2ggdGhpcyByZXN1bHRzIGluIGNvZGUgd2l0aCB1Z2x5IG5lc3RlZCBkZXJlZmVyZW5jZXMKKGk5 MTUtPmd0LnVjLmd1Yy4uLiksIGl0IHNhdmVzIHVzIHRoZSBleHRyYSB3b3JrIHJlcXVpcmVkIGlu IG1vdmluZwp0aGUgc3RydWN0dXJlcyB0d2ljZSAoaTkxNSAtPiBndCAtPiB1YykuIFRoZSBmb2xs b3dpbmcgcGF0Y2hlcyB3aWxsCnJlZHVjZSB0aGUgbnVtYmVyIG9mIHBsYWNlcyB3aGVyZSB3ZSB0 cnkgdG8gYWNjZXNzIHRoZSBndWMvaHVjCnN0cnVjdHVyZXMgZGlyZWN0bHkgZnJvbSBpOTE1IGFu ZCByZWR1Y2UgdGhlIHVnbGluZXNzLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsZSBDZXJhb2xvIFNw dXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IE1pY2hhbCBXYWpkZWN6 a28gPG1pY2hhbC53YWpkZWN6a29AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3Rf dHlwZXMuaCAgICAgIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0 LmMgICAgICAgICB8ICA2ICstLQogLi4uL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfc3Vi bWlzc2lvbi5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2h1Yy5j ICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jICAg ICAgICAgfCA1MiArKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF91Yy5oICAgICAgICAgfCAgNSArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMv c2VsZnRlc3RfZ3VjLmMgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jICAgICAgICAgICB8IDI2ICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oICAgICAgICAgICAgICAgfCAgNyArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmMgICAgICAgICB8IDExICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf aXJxLmMgICAgICAgICAgICAgICB8ICA2ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf d29wY20uYyAgICAgICAgICAgIHwgIDQgKy0KIDEzIGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlv bnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2d0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90 eXBlcy5oCmluZGV4IDM1NjNjZTk3MDEwMi4uYjcxMTI1MmZmNDI3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2d0X3R5cGVzLmgKQEAgLTEzLDYgKzEzLDggQEAKICNpbmNsdWRlIDxs aW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAKKyNpbmNsdWRlICJ1 Yy9pbnRlbF91Yy5oIgorCiAjaW5jbHVkZSAiaTkxNV92bWEuaCIKICNpbmNsdWRlICJpbnRlbF93 YWtlcmVmLmgiCiAKQEAgLTI1LDYgKzI3LDggQEAgc3RydWN0IGludGVsX2d0IHsKIAlzdHJ1Y3Qg aW50ZWxfdW5jb3JlICp1bmNvcmU7CiAJc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dDsKIAorCXN0cnVj dCBpbnRlbF91YyB1YzsKKwogCXN0cnVjdCBpbnRlbF9ndF90aW1lbGluZXMgewogCQlzdHJ1Y3Qg bXV0ZXggbXV0ZXg7IC8qIHByb3RlY3RzIGxpc3QgKi8KIAkJc3RydWN0IGxpc3RfaGVhZCBhY3Rp dmVfbGlzdDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNldC5jCmluZGV4IDlhYmZhMjhj MzAyMC4uY2NlZGVhNjM2YmEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9yZXNldC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMK QEAgLTExMDksMTQgKzExMDksMTQgQEAgaW50IGk5MTVfcmVzZXRfZW5naW5lKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwgY29uc3QgY2hhciAqbXNnKQogCQkJICAgIlJlc2V0dGluZyAl cyBmb3IgJXNcbiIsIGVuZ2luZS0+bmFtZSwgbXNnKTsKIAllcnJvci0+cmVzZXRfZW5naW5lX2Nv dW50W2VuZ2luZS0+aWRdKys7CiAKLQlpZiAoIWVuZ2luZS0+aTkxNS0+Z3VjLmV4ZWNidWZfY2xp ZW50KQorCWlmICghZW5naW5lLT5ndC0+dWMuZ3VjLmV4ZWNidWZfY2xpZW50KQogCQlyZXQgPSBp bnRlbF9ndF9yZXNldF9lbmdpbmUoZW5naW5lLT5pOTE1LCBlbmdpbmUpOwogCWVsc2UKLQkJcmV0 ID0gaW50ZWxfZ3VjX3Jlc2V0X2VuZ2luZSgmZW5naW5lLT5pOTE1LT5ndWMsIGVuZ2luZSk7CisJ CXJldCA9IGludGVsX2d1Y19yZXNldF9lbmdpbmUoJmVuZ2luZS0+Z3QtPnVjLmd1YywgZW5naW5l KTsKIAlpZiAocmV0KSB7CiAJCS8qIElmIHdlIGZhaWwgaGVyZSwgd2UgZXhwZWN0IHRvIGZhbGxi YWNrIHRvIGEgZ2xvYmFsIHJlc2V0ICovCiAJCURSTV9ERUJVR19EUklWRVIoIiVzRmFpbGVkIHRv IHJlc2V0ICVzLCByZXQ9JWRcbiIsCi0JCQkJIGVuZ2luZS0+aTkxNS0+Z3VjLmV4ZWNidWZfY2xp ZW50ID8gIkd1QyAiIDogIiIsCisJCQkJIGVuZ2luZS0+Z3QtPnVjLmd1Yy5leGVjYnVmX2NsaWVu dCA/ICJHdUMgIiA6ICIiLAogCQkJCSBlbmdpbmUtPm5hbWUsIHJldCk7CiAJCWdvdG8gb3V0Owog CX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19zdWJt aXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfc3VibWlzc2lv bi5jCmluZGV4IGYwMTVmN2RlZTQ1My4uMjM5MDYyMjhiOWI0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L3VjL2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKQEAgLTUwOSw3ICs1MDks NyBAQCBzdGF0aWMgdm9pZCBndWNfc3VibWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSwKIAkJICAgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKipvdXQsCiAJCSAgICAgICBzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICoqZW5kKQogewotCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZlbmdpbmUt Pmk5MTUtPmd1YzsKKwlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZW5naW5lLT5ndC0+dWMuZ3Vj OwogCXN0cnVjdCBpbnRlbF9ndWNfY2xpZW50ICpjbGllbnQgPSBndWMtPmV4ZWNidWZfY2xpZW50 OwogCiAJc3Bpbl9sb2NrKCZjbGllbnQtPndxX2xvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91 Yy9pbnRlbF9odWMuYwppbmRleCAyYTQxZWU4OWExNmQuLjU4MWM5YzNkNGZjMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfaHVjLmMKQEAgLTQ3LDcgKzQ3LDcgQEAgdm9pZCBpbnRl bF9odWNfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiBzdGF0aWMgaW50IGludGVs X2h1Y19yc2FfZGF0YV9jcmVhdGUoc3RydWN0IGludGVsX2h1YyAqaHVjKQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gaHVjX3RvX2k5MTUoaHVjKTsKLQlzdHJ1Y3QgaW50ZWxf Z3VjICpndWMgPSAmaTkxNS0+Z3VjOworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5n dC51Yy5ndWM7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdm9pZCAqdmFkZHI7CiAKQEAgLTEx Myw3ICsxMTMsNyBAQCB2b2lkIGludGVsX2h1Y19maW5pKHN0cnVjdCBpbnRlbF9odWMgKmh1YykK IGludCBpbnRlbF9odWNfYXV0aChzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBodWNfdG9faTkxNShodWMpOwotCXN0cnVjdCBpbnRlbF9n dWMgKmd1YyA9ICZpOTE1LT5ndWM7CisJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd0 LnVjLmd1YzsKIAlpbnQgcmV0OwogCiAJaWYgKGh1Yy0+ZncubG9hZF9zdGF0dXMgIT0gSU5URUxf VUNfRklSTVdBUkVfU1VDQ0VTUykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3VjL2ludGVsX3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCmlu ZGV4IDYxOTNiODc4NTVlMC4uZTIwODBkYTJlMWU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Vj L2ludGVsX3VjLmMKQEAgLTU0LDggKzU0LDggQEAgc3RhdGljIGludCBfX2ludGVsX3VjX3Jlc2V0 X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogc3RhdGljIGludCBfX2dl dF9wbGF0Zm9ybV9lbmFibGVfZ3VjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewot CXN0cnVjdCBpbnRlbF91Y19mdyAqZ3VjX2Z3ID0gJmk5MTUtPmd1Yy5mdzsKLQlzdHJ1Y3QgaW50 ZWxfdWNfZncgKmh1Y19mdyA9ICZpOTE1LT5odWMuZnc7CisJc3RydWN0IGludGVsX3VjX2Z3ICpn dWNfZncgPSAmaTkxNS0+Z3QudWMuZ3VjLmZ3OworCXN0cnVjdCBpbnRlbF91Y19mdyAqaHVjX2Z3 ID0gJmk5MTUtPmd0LnVjLmh1Yy5mdzsKIAlpbnQgZW5hYmxlX2d1YyA9IDA7CiAKIAkvKiBEZWZh dWx0IGlzIHRvIHVzZSBIdUMgaWYgd2Uga25vdyBHdUMgYW5kIEh1QyBmaXJtd2FyZXMgKi8KQEAg LTcxLDcgKzcxLDcgQEAgc3RhdGljIGludCBfX2dldF9kZWZhdWx0X2d1Y19sb2dfbGV2ZWwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJaW50IGd1Y19sb2dfbGV2ZWw7CiAKLQlp ZiAoIWludGVsX3VjX2Z3X3N1cHBvcnRlZCgmaTkxNS0+Z3VjLmZ3KSB8fAorCWlmICghaW50ZWxf dWNfZndfc3VwcG9ydGVkKCZpOTE1LT5ndC51Yy5ndWMuZncpIHx8CiAJICAgICFpbnRlbF91Y19p c191c2luZ19ndWMoaTkxNSkpCiAJCWd1Y19sb2dfbGV2ZWwgPSBHVUNfTE9HX0xFVkVMX0RJU0FC TEVEOwogCWVsc2UgaWYgKElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X0RFQlVHKSB8fApAQCAt MTA0LDggKzEwNCw4IEBAIHN0YXRpYyBpbnQgX19nZXRfZGVmYXVsdF9ndWNfbG9nX2xldmVsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogICovCiBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9v cHRpb25zX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBp bnRlbF91Y19mdyAqZ3VjX2Z3ID0gJmk5MTUtPmd1Yy5mdzsKLQlzdHJ1Y3QgaW50ZWxfdWNfZncg Kmh1Y19mdyA9ICZpOTE1LT5odWMuZnc7CisJc3RydWN0IGludGVsX3VjX2Z3ICpndWNfZncgPSAm aTkxNS0+Z3QudWMuZ3VjLmZ3OworCXN0cnVjdCBpbnRlbF91Y19mdyAqaHVjX2Z3ID0gJmk5MTUt Pmd0LnVjLmh1Yy5mdzsKIAogCS8qIEEgbmVnYXRpdmUgdmFsdWUgbWVhbnMgInVzZSBwbGF0Zm9y bSBkZWZhdWx0IiAqLwogCWlmIChpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjIDwgMCkKQEAgLTE3 NCw4ICsxNzQsOCBAQCBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9vcHRpb25zX2Vhcmx5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogCiB2b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5 MTUtPmd1YzsKLQlzdHJ1Y3QgaW50ZWxfaHVjICpodWMgPSAmaTkxNS0+aHVjOworCXN0cnVjdCBp bnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndC51Yy5ndWM7CisJc3RydWN0IGludGVsX2h1YyAqaHVj ID0gJmk5MTUtPmd0LnVjLmh1YzsKIAogCWludGVsX2d1Y19pbml0X2Vhcmx5KGd1Yyk7CiAJaW50 ZWxfaHVjX2luaXRfZWFybHkoaHVjKTsKQEAgLTE4NSw3ICsxODUsNyBAQCB2b2lkIGludGVsX3Vj X2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIHZvaWQgaW50ZWxf dWNfY2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkxNS0+Z3VjOworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9 ICZpOTE1LT5ndC51Yy5ndWM7CiAKIAlndWNfZnJlZV9sb2FkX2Vycl9sb2coZ3VjKTsKIH0KQEAg LTE5OSw3ICsxOTksNyBAQCB2b2lkIGludGVsX3VjX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAgKi8KIHZvaWQgaW50ZWxfdWNfaW5pdF9tbWlvKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogewotCWludGVsX2d1Y19pbml0X3NlbmRfcmVncygmaTkx NS0+Z3VjKTsKKwlpbnRlbF9ndWNfaW5pdF9zZW5kX3JlZ3MoJmk5MTUtPmd0LnVjLmd1Yyk7CiB9 CiAKIHN0YXRpYyB2b2lkIGd1Y19jYXB0dXJlX2xvYWRfZXJyX2xvZyhzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMpCkBAIC0zNTEsMTAgKzM1MSwxMCBAQCB2b2lkIGludGVsX3VjX2ZldGNoX2Zpcm13YXJl cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpZiAoIVVTRVNfR1VDKGk5MTUpKQog CQlyZXR1cm47CiAKLQlpbnRlbF91Y19md19mZXRjaChpOTE1LCAmaTkxNS0+Z3VjLmZ3KTsKKwlp bnRlbF91Y19md19mZXRjaChpOTE1LCAmaTkxNS0+Z3QudWMuZ3VjLmZ3KTsKIAogCWlmIChVU0VT X0hVQyhpOTE1KSkKLQkJaW50ZWxfdWNfZndfZmV0Y2goaTkxNSwgJmk5MTUtPmh1Yy5mdyk7CisJ CWludGVsX3VjX2Z3X2ZldGNoKGk5MTUsICZpOTE1LT5ndC51Yy5odWMuZncpOwogfQogCiB2b2lk IGludGVsX3VjX2NsZWFudXBfZmlybXdhcmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQpAQCAtMzYzLDE1ICszNjMsMTUgQEAgdm9pZCBpbnRlbF91Y19jbGVhbnVwX2Zpcm13YXJlcyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJcmV0dXJuOwogCiAJaWYgKFVTRVNfSFVD KGk5MTUpKQotCQlpbnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZpOTE1LT5odWMuZncpOworCQlp bnRlbF91Y19md19jbGVhbnVwX2ZldGNoKCZpOTE1LT5ndC51Yy5odWMuZncpOwogCi0JaW50ZWxf dWNfZndfY2xlYW51cF9mZXRjaCgmaTkxNS0+Z3VjLmZ3KTsKKwlpbnRlbF91Y19md19jbGVhbnVw X2ZldGNoKCZpOTE1LT5ndC51Yy5ndWMuZncpOwogfQogCiBpbnQgaW50ZWxfdWNfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAm aTkxNS0+Z3VjOwotCXN0cnVjdCBpbnRlbF9odWMgKmh1YyA9ICZpOTE1LT5odWM7CisJc3RydWN0 IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd0LnVjLmd1YzsKKwlzdHJ1Y3QgaW50ZWxfaHVjICpo dWMgPSAmaTkxNS0+Z3QudWMuaHVjOwogCWludCByZXQ7CiAKIAlpZiAoIVVTRVNfR1VDKGk5MTUp KQpAQCAtNDE1LDcgKzQxNSw3IEBAIGludCBpbnRlbF91Y19pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQogCiB2b2lkIGludGVsX3VjX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd1YzsKKwlzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkxNS0+Z3QudWMuZ3VjOwogCiAJaWYgKCFVU0VTX0dVQyhp OTE1KSkKIAkJcmV0dXJuOwpAQCAtNDI2LDE1ICs0MjYsMTUgQEAgdm9pZCBpbnRlbF91Y19maW5p KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCQlpbnRlbF9ndWNfc3VibWlzc2lvbl9m aW5pKGd1Yyk7CiAKIAlpZiAoVVNFU19IVUMoaTkxNSkpCi0JCWludGVsX2h1Y19maW5pKCZpOTE1 LT5odWMpOworCQlpbnRlbF9odWNfZmluaSgmaTkxNS0+Z3QudWMuaHVjKTsKIAogCWludGVsX2d1 Y19maW5pKGd1Yyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fdWNfc2FuaXRpemUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd1 YzsKLQlzdHJ1Y3QgaW50ZWxfaHVjICpodWMgPSAmaTkxNS0+aHVjOworCXN0cnVjdCBpbnRlbF9n dWMgKmd1YyA9ICZpOTE1LT5ndC51Yy5ndWM7CisJc3RydWN0IGludGVsX2h1YyAqaHVjID0gJmk5 MTUtPmd0LnVjLmh1YzsKIAogCUdFTV9CVUdfT04oIWludGVsX3VjX2Z3X3N1cHBvcnRlZCgmZ3Vj LT5mdykpOwogCkBAIC00NTQsOCArNDU0LDggQEAgdm9pZCBpbnRlbF91Y19zYW5pdGl6ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5 MTUtPmd1YzsKLQlzdHJ1Y3QgaW50ZWxfaHVjICpodWMgPSAmaTkxNS0+aHVjOworCXN0cnVjdCBp bnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndC51Yy5ndWM7CisJc3RydWN0IGludGVsX2h1YyAqaHVj ID0gJmk5MTUtPmd0LnVjLmh1YzsKIAlpbnQgcmV0LCBhdHRlbXB0czsKIAogCWlmICghVVNFU19H VUMoaTkxNSkpCkBAIC01NTMsNyArNTUzLDcgQEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAKIHZvaWQgaW50ZWxfdWNfZmluaV9odyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkx NS0+Z3VjOworCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndC51Yy5ndWM7CiAKIAlp ZiAoIWludGVsX2d1Y19pc19sb2FkZWQoZ3VjKSkKIAkJcmV0dXJuOwpAQCAtNTc1LDcgKzU3NSw3 IEBAIHZvaWQgaW50ZWxfdWNfZmluaV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK ICAqLwogdm9pZCBpbnRlbF91Y19yZXNldF9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQogewotCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZpOTE1LT5ndWM7CisJc3RydWN0 IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd0LnVjLmd1YzsKIAogCWlmICghaW50ZWxfZ3VjX2lz X2xvYWRlZChndWMpKQogCQlyZXR1cm47CkBAIC01ODYsNyArNTg2LDcgQEAgdm9pZCBpbnRlbF91 Y19yZXNldF9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiB2b2lkIGlu dGVsX3VjX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsK LQlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkxNS0+Z3VjOworCXN0cnVjdCBpbnRlbF9ndWMg Kmd1YyA9ICZpOTE1LT5ndC51Yy5ndWM7CiAJaW50IGVycjsKIAogCWlmICghaW50ZWxfZ3VjX2lz X2xvYWRlZChndWMpKQpAQCAtNjAxLDcgKzYwMSw3IEBAIHZvaWQgaW50ZWxfdWNfcnVudGltZV9z dXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiB2b2lkIGludGVsX3VjX3N1 c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGludGVsX2d1 YyAqZ3VjID0gJmk5MTUtPmd1YzsKKwlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmaTkxNS0+Z3Qu dWMuZ3VjOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwogCiAJaWYgKCFpbnRlbF9ndWNfaXNf bG9hZGVkKGd1YykpCkBAIC02MTMsNyArNjEzLDcgQEAgdm9pZCBpbnRlbF91Y19zdXNwZW5kKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiBpbnQgaW50ZWxfdWNfcmVzdW1lKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZp OTE1LT5ndWM7CisJc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmk5MTUtPmd0LnVjLmd1YzsKIAlp bnQgZXJyOwogCiAJaWYgKCFpbnRlbF9ndWNfaXNfbG9hZGVkKGd1YykpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvdWMvaW50ZWxfdWMuaAppbmRleCA1YTEzODNlMTkyZGQuLmEyZmRjODRhZmZmMiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvaW50ZWxfdWMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC91Yy9pbnRlbF91Yy5oCkBAIC0yOCw2ICsyOCwxMSBAQAogI2lu Y2x1ZGUgImludGVsX2h1Yy5oIgogI2luY2x1ZGUgImk5MTVfcGFyYW1zLmgiCiAKK3N0cnVjdCBp bnRlbF91YyB7CisJc3RydWN0IGludGVsX2d1YyBndWM7CisJc3RydWN0IGludGVsX2h1YyBodWM7 Cit9OworCiB2b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdWNfY2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpbnRlbF91Y19pbml0X21taW8oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3VjL3NlbGZ0ZXN0X2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvdWMvc2VsZnRl c3RfZ3VjLmMKaW5kZXggNmNhNzZmNWE5OGQ0Li45M2Y3YzkzMGFiMTggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L3VjL3NlbGZ0ZXN0X2d1Yy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3VjL3NlbGZ0ZXN0X2d1Yy5jCkBAIC0xMzgsNyArMTM4LDcgQEAgc3RhdGlj IGludCBpZ3RfZ3VjX2NsaWVudHModm9pZCAqYXJncykKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ ZHJtLnN0cnVjdF9tdXRleCk7CiAJd2FrZXJlZiA9IGludGVsX3J1bnRpbWVfcG1fZ2V0KCZkZXZf cHJpdi0+cnVudGltZV9wbSk7CiAKLQlndWMgPSAmZGV2X3ByaXYtPmd1YzsKKwlndWMgPSAmZGV2 X3ByaXYtPmd0LnVjLmd1YzsKIAlpZiAoIWd1YykgewogCQlwcl9lcnIoIk5vIGd1YyBvYmplY3Qh XG4iKTsKIAkJZXJyID0gLUVJTlZBTDsKQEAgLTIzMCw3ICsyMzAsNyBAQCBzdGF0aWMgaW50IGln dF9ndWNfZG9vcmJlbGxzKHZvaWQgKmFyZykKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0 cnVjdF9tdXRleCk7CiAJd2FrZXJlZiA9IGludGVsX3J1bnRpbWVfcG1fZ2V0KCZkZXZfcHJpdi0+ cnVudGltZV9wbSk7CiAKLQlndWMgPSAmZGV2X3ByaXYtPmd1YzsKKwlndWMgPSAmZGV2X3ByaXYt Pmd0LnVjLmd1YzsKIAlpZiAoIWd1YykgewogCQlwcl9lcnIoIk5vIGd1YyBvYmplY3QhXG4iKTsK IAkJZXJyID0gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggYzAw Y2NkNzM2ZGVhLi5mMDgyZDU0YjBiNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CkBAIC0xODg1LDcgKzE4ODUsNyBAQCBzdGF0aWMgaW50IGk5MTVfaHVjX2xvYWRfc3RhdHVzX2lu Zm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCQlyZXR1cm4gLUVOT0RFVjsKIAog CXAgPSBkcm1fc2VxX2ZpbGVfcHJpbnRlcihtKTsKLQlpbnRlbF91Y19md19kdW1wKCZkZXZfcHJp di0+aHVjLmZ3LCAmcCk7CisJaW50ZWxfdWNfZndfZHVtcCgmZGV2X3ByaXYtPmd0LnVjLmh1Yy5m dywgJnApOwogCiAJd2l0aF9pbnRlbF9ydW50aW1lX3BtKCZkZXZfcHJpdi0+cnVudGltZV9wbSwg d2FrZXJlZikKIAkJc2VxX3ByaW50ZihtLCAiXG5IdUMgc3RhdHVzIDB4JTA4eDpcbiIsIEk5MTVf UkVBRChIVUNfU1RBVFVTMikpOwpAQCAtMTkwMyw3ICsxOTAzLDcgQEAgc3RhdGljIGludCBpOTE1 X2d1Y19sb2FkX3N0YXR1c19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJ cmV0dXJuIC1FTk9ERVY7CiAKIAlwID0gZHJtX3NlcV9maWxlX3ByaW50ZXIobSk7Ci0JaW50ZWxf dWNfZndfZHVtcCgmZGV2X3ByaXYtPmd1Yy5mdywgJnApOworCWludGVsX3VjX2Z3X2R1bXAoJmRl dl9wcml2LT5ndC51Yy5ndWMuZncsICZwKTsKIAogCXdpdGhfaW50ZWxfcnVudGltZV9wbSgmZGV2 X3ByaXYtPnJ1bnRpbWVfcG0sIHdha2VyZWYpIHsKIAkJdTMyIHRtcCA9IEk5MTVfUkVBRChHVUNf U1RBVFVTKTsKQEAgLTE5NDYsNyArMTk0Niw3IEBAIHN0cmluZ2lmeV9ndWNfbG9nX3R5cGUoZW51 bSBndWNfbG9nX2J1ZmZlcl90eXBlIHR5cGUpCiBzdGF0aWMgdm9pZCBpOTE1X2d1Y19sb2dfaW5m byhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiB7Ci0Jc3RydWN0IGludGVsX2d1Y19sb2cgKmxvZyA9ICZkZXZfcHJpdi0+Z3Vj LmxvZzsKKwlzdHJ1Y3QgaW50ZWxfZ3VjX2xvZyAqbG9nID0gJmRldl9wcml2LT5ndC51Yy5ndWMu bG9nOwogCWVudW0gZ3VjX2xvZ19idWZmZXJfdHlwZSB0eXBlOwogCiAJaWYgKCFpbnRlbF9ndWNf bG9nX3JlbGF5X2VuYWJsZWQobG9nKSkgewpAQCAtMTk5Miw3ICsxOTkyLDcgQEAgc3RhdGljIHZv aWQgaTkxNV9ndWNfY2xpZW50X2luZm8oc3RydWN0IHNlcV9maWxlICptLAogc3RhdGljIGludCBp OTE1X2d1Y19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBub2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7Ci0J Y29uc3Qgc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7CisJY29uc3Qgc3Ry dWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndC51Yy5ndWM7CiAKIAlpZiAoIVVTRVNf R1VDKGRldl9wcml2KSkKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0yMDE5LDcgKzIwMTksNyBAQCBz dGF0aWMgaW50IGk5MTVfZ3VjX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQog c3RhdGljIGludCBpOTE1X2d1Y19zdGFnZV9wb29sKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAq ZGF0YSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBub2RlX3RvX2k5 MTUobS0+cHJpdmF0ZSk7Ci0JY29uc3Qgc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2 LT5ndWM7CisJY29uc3Qgc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndC51Yy5n dWM7CiAJc3RydWN0IGd1Y19zdGFnZV9kZXNjICpkZXNjID0gZ3VjLT5zdGFnZV9kZXNjX3Bvb2xf dmFkZHI7CiAJaW50ZWxfZW5naW5lX21hc2tfdCB0bXA7CiAJaW50IGluZGV4OwpAQCAtMjA4Miw5 ICsyMDgyLDkgQEAgc3RhdGljIGludCBpOTE1X2d1Y19sb2dfZHVtcChzdHJ1Y3Qgc2VxX2ZpbGUg Km0sIHZvaWQgKmRhdGEpCiAJCXJldHVybiAtRU5PREVWOwogCiAJaWYgKGR1bXBfbG9hZF9lcnIp Ci0JCW9iaiA9IGRldl9wcml2LT5ndWMubG9hZF9lcnJfbG9nOwotCWVsc2UgaWYgKGRldl9wcml2 LT5ndWMubG9nLnZtYSkKLQkJb2JqID0gZGV2X3ByaXYtPmd1Yy5sb2cudm1hLT5vYmo7CisJCW9i aiA9IGRldl9wcml2LT5ndC51Yy5ndWMubG9hZF9lcnJfbG9nOworCWVsc2UgaWYgKGRldl9wcml2 LT5ndC51Yy5ndWMubG9nLnZtYSkKKwkJb2JqID0gZGV2X3ByaXYtPmd0LnVjLmd1Yy5sb2cudm1h LT5vYmo7CiAKIAlpZiAoIW9iaikKIAkJcmV0dXJuIDA7CkBAIC0yMTE1LDcgKzIxMTUsNyBAQCBz dGF0aWMgaW50IGk5MTVfZ3VjX2xvZ19sZXZlbF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCiAJ aWYgKCFVU0VTX0dVQyhkZXZfcHJpdikpCiAJCXJldHVybiAtRU5PREVWOwogCi0JKnZhbCA9IGlu dGVsX2d1Y19sb2dfZ2V0X2xldmVsKCZkZXZfcHJpdi0+Z3VjLmxvZyk7CisJKnZhbCA9IGludGVs X2d1Y19sb2dfZ2V0X2xldmVsKCZkZXZfcHJpdi0+Z3QudWMuZ3VjLmxvZyk7CiAKIAlyZXR1cm4g MDsKIH0KQEAgLTIxMjcsNyArMjEyNyw3IEBAIHN0YXRpYyBpbnQgaTkxNV9ndWNfbG9nX2xldmVs X3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQogCWlmICghVVNFU19HVUMoZGV2X3ByaXYpKQogCQly ZXR1cm4gLUVOT0RFVjsKIAotCXJldHVybiBpbnRlbF9ndWNfbG9nX3NldF9sZXZlbCgmZGV2X3By aXYtPmd1Yy5sb2csIHZhbCk7CisJcmV0dXJuIGludGVsX2d1Y19sb2dfc2V0X2xldmVsKCZkZXZf cHJpdi0+Z3QudWMuZ3VjLmxvZywgdmFsKTsKIH0KIAogREVGSU5FX1NJTVBMRV9BVFRSSUJVVEUo aTkxNV9ndWNfbG9nX2xldmVsX2ZvcHMsCkBAIC0yMTQxLDkgKzIxNDEsOSBAQCBzdGF0aWMgaW50 IGk5MTVfZ3VjX2xvZ19yZWxheV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl ICpmaWxlKQogCWlmICghVVNFU19HVUMoZGV2X3ByaXYpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAot CWZpbGUtPnByaXZhdGVfZGF0YSA9ICZkZXZfcHJpdi0+Z3VjLmxvZzsKKwlmaWxlLT5wcml2YXRl X2RhdGEgPSAmZGV2X3ByaXYtPmd0LnVjLmd1Yy5sb2c7CiAKLQlyZXR1cm4gaW50ZWxfZ3VjX2xv Z19yZWxheV9vcGVuKCZkZXZfcHJpdi0+Z3VjLmxvZyk7CisJcmV0dXJuIGludGVsX2d1Y19sb2df cmVsYXlfb3BlbigmZGV2X3ByaXYtPmd0LnVjLmd1Yy5sb2cpOwogfQogCiBzdGF0aWMgc3NpemVf dApAQCAtMjE2Myw3ICsyMTYzLDcgQEAgc3RhdGljIGludCBpOTE1X2d1Y19sb2dfcmVsYXlfcmVs ZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBpbm9kZS0+aV9wcml2YXRlOwogCi0JaW50ZWxf Z3VjX2xvZ19yZWxheV9jbG9zZSgmZGV2X3ByaXYtPmd1Yy5sb2cpOworCWludGVsX2d1Y19sb2df cmVsYXlfY2xvc2UoJmRldl9wcml2LT5ndC51Yy5ndWMubG9nKTsKIAogCXJldHVybiAwOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNGE4ZDkwMzA0ZTIxLi5lN2M4OWQzMjAzNzUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNDIwLDcgKzQyMCw3IEBAIHN0YXRpYyBpbnQgaTkx NV9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQl2 YWx1ZSA9IHNzZXUtPm1pbl9ldV9pbl9wb29sOwogCQlicmVhazsKIAljYXNlIEk5MTVfUEFSQU1f SFVDX1NUQVRVUzoKLQkJdmFsdWUgPSBpbnRlbF9odWNfY2hlY2tfc3RhdHVzKCZkZXZfcHJpdi0+ aHVjKTsKKwkJdmFsdWUgPSBpbnRlbF9odWNfY2hlY2tfc3RhdHVzKCZkZXZfcHJpdi0+Z3QudWMu aHVjKTsKIAkJaWYgKHZhbHVlIDwgMCkKIAkJCXJldHVybiB2YWx1ZTsKIAkJYnJlYWs7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCBiMTcyZDllZTMwNDEuLmM0NzU3Y2JmOWEzMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xMzQ4LDkgKzEzNDgsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgaW50ZWxfd29wY20gd29wY207CiAKLQlzdHJ1Y3QgaW50ZWxf aHVjIGh1YzsKLQlzdHJ1Y3QgaW50ZWxfZ3VjIGd1YzsKLQogCXN0cnVjdCBpbnRlbF9jc3IgY3Ny OwogCiAJc3RydWN0IGludGVsX2dtYnVzIGdtYnVzW0dNQlVTX05VTV9QSU5TXTsKQEAgLTE5MDcs MTIgKzE5MDQsMTIgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqd29w Y21fdG9faTkxNShzdHJ1Y3QgaW50ZWxfd29wY20gKndvcGNtKQogCiBzdGF0aWMgaW5saW5lIHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpndWNfdG9faTkxNShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMp CiB7Ci0JcmV0dXJuIGNvbnRhaW5lcl9vZihndWMsIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBn dWMpOworCXJldHVybiBjb250YWluZXJfb2YoZ3VjLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwg Z3QudWMuZ3VjKTsKIH0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aHVjX3RvX2k5MTUoc3RydWN0IGludGVsX2h1YyAqaHVjKQogewotCXJldHVybiBjb250YWluZXJf b2YoaHVjLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaHVjKTsKKwlyZXR1cm4gY29udGFpbmVy X29mKGh1Yywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIGd0LnVjLmh1Yyk7CiB9CiAKIC8qIFNp bXBsZSBpdGVyYXRvciBvdmVyIGFsbCBpbml0aWFsaXNlZCBlbmdpbmVzICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCA1NDg5Y2Q4NzkzMTUuLjc4ZTM4OGZhMDU5YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC0xNTUyLDIxICsxNTUyLDIy IEBAIHN0YXRpYyB2b2lkIGNhcHR1cmVfdWNfc3RhdGUoc3RydWN0IGk5MTVfZ3B1X3N0YXRlICpl cnJvcikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVycm9yLT5pOTE1Owog CXN0cnVjdCBpOTE1X2Vycm9yX3VjICplcnJvcl91YyA9ICZlcnJvci0+dWM7CisJc3RydWN0IGlu dGVsX3VjICp1YyA9ICZpOTE1LT5ndC51YzsKIAogCS8qIENhcHR1cmluZyB1QyBzdGF0ZSB3b24n dCBiZSB1c2VmdWwgaWYgdGhlcmUgaXMgbm8gR3VDICovCiAJaWYgKCFlcnJvci0+ZGV2aWNlX2lu Zm8uaGFzX2d1YykKIAkJcmV0dXJuOwogCi0JZXJyb3JfdWMtPmd1Y19mdyA9IGk5MTUtPmd1Yy5m dzsKLQllcnJvcl91Yy0+aHVjX2Z3ID0gaTkxNS0+aHVjLmZ3OworCWVycm9yX3VjLT5ndWNfZncg PSB1Yy0+Z3VjLmZ3OworCWVycm9yX3VjLT5odWNfZncgPSB1Yy0+aHVjLmZ3OwogCiAJLyogTm9u LWRlZmF1bHQgZmlybXdhcmUgcGF0aHMgd2lsbCBiZSBzcGVjaWZpZWQgYnkgdGhlIG1vZHBhcmFt LgogCSAqIEFzIG1vZHBhcmFtcyBhcmUgZ2VuZXJhbGx5IGFjY2VzaWJsZSBmcm9tIHRoZSB1c2Vy c3BhY2UgbWFrZQogCSAqIGV4cGxpY2l0IGNvcGllcyBvZiB0aGUgZmlybXdhcmUgcGF0aHMuCiAJ ICovCi0JZXJyb3JfdWMtPmd1Y19mdy5wYXRoID0ga3N0cmR1cChpOTE1LT5ndWMuZncucGF0aCwg R0ZQX0FUT01JQyk7Ci0JZXJyb3JfdWMtPmh1Y19mdy5wYXRoID0ga3N0cmR1cChpOTE1LT5odWMu ZncucGF0aCwgR0ZQX0FUT01JQyk7Ci0JZXJyb3JfdWMtPmd1Y19sb2cgPSBpOTE1X2Vycm9yX29i amVjdF9jcmVhdGUoaTkxNSwgaTkxNS0+Z3VjLmxvZy52bWEpOworCWVycm9yX3VjLT5ndWNfZncu cGF0aCA9IGtzdHJkdXAodWMtPmd1Yy5mdy5wYXRoLCBHRlBfQVRPTUlDKTsKKwllcnJvcl91Yy0+ aHVjX2Z3LnBhdGggPSBrc3RyZHVwKHVjLT5odWMuZncucGF0aCwgR0ZQX0FUT01JQyk7CisJZXJy b3JfdWMtPmd1Y19sb2cgPSBpOTE1X2Vycm9yX29iamVjdF9jcmVhdGUoaTkxNSwgdWMtPmd1Yy5s b2cudm1hKTsKIH0KIAogLyogQ2FwdHVyZSBhbGwgcmVnaXN0ZXJzIHdoaWNoIGRvbid0IGZpdCBp bnRvIGFub3RoZXIgY2F0ZWdvcnkuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCA0MmQ2 ZDhiZmFjNzAuLjc4Yzc0OGNiOWRmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0xNjU1 LDcgKzE2NTUsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1LAogCiAJaWYgKG1hc3Rlcl9jdGwgJiAoR0VOOF9HVF9QTV9JUlEg fCBHRU44X0dUX0dVQ19JUlEpKSB7CiAJCWdlbjZfcnBzX2lycV9oYW5kbGVyKGk5MTUsIGd0X2lp clsyXSk7Ci0JCWd1Y19pcnFfaGFuZGxlcigmaTkxNS0+Z3VjLCBndF9paXJbMl0gPj4gMTYpOwor CQlndWNfaXJxX2hhbmRsZXIoJmk5MTUtPmd0LnVjLmd1YywgZ3RfaWlyWzJdID4+IDE2KTsKIAl9 CiB9CiAKQEAgLTMwODIsMTAgKzMwODIsOCBAQCBzdGF0aWMgdm9pZAogZ2VuMTFfb3RoZXJfaXJx X2hhbmRsZXIoc3RydWN0IGludGVsX2d0ICpndCwgY29uc3QgdTggaW5zdGFuY2UsCiAJCQljb25z dCB1MTYgaWlyKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZ3QtPmk5MTU7 Ci0KIAlpZiAoaW5zdGFuY2UgPT0gT1RIRVJfR1VDX0lOU1RBTkNFKQotCQlyZXR1cm4gZ3VjX2ly cV9oYW5kbGVyKCZpOTE1LT5ndWMsIGlpcik7CisJCXJldHVybiBndWNfaXJxX2hhbmRsZXIoJmd0 LT51Yy5ndWMsIGlpcik7CiAKIAlpZiAoaW5zdGFuY2UgPT0gT1RIRVJfR1RQTV9JTlNUQU5DRSkK IAkJcmV0dXJuIGdlbjExX3Jwc19pcnFfaGFuZGxlcihndCwgaWlyKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF93b3BjbS5jCmluZGV4IDhjODUwNzg1ZTRiNC4uMGMwNWM1ZTZjN2JlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3BjbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3dvcGNtLmMKQEAgLTE2NCw4ICsxNjQsOCBAQCBzdGF0aWMgaW5saW5lIGlu dCBjaGVja19od19yZXN0cmljdGlvbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIGlu dCBpbnRlbF93b3BjbV9pbml0KHN0cnVjdCBpbnRlbF93b3BjbSAqd29wY20pCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB3b3BjbV90b19pOTE1KHdvcGNtKTsKLQl1MzIgZ3Vj X2Z3X3NpemUgPSBpbnRlbF91Y19md19nZXRfdXBsb2FkX3NpemUoJmk5MTUtPmd1Yy5mdyk7Ci0J dTMyIGh1Y19md19zaXplID0gaW50ZWxfdWNfZndfZ2V0X3VwbG9hZF9zaXplKCZpOTE1LT5odWMu ZncpOworCXUzMiBndWNfZndfc2l6ZSA9IGludGVsX3VjX2Z3X2dldF91cGxvYWRfc2l6ZSgmaTkx NS0+Z3QudWMuZ3VjLmZ3KTsKKwl1MzIgaHVjX2Z3X3NpemUgPSBpbnRlbF91Y19md19nZXRfdXBs b2FkX3NpemUoJmk5MTUtPmd0LnVjLmh1Yy5mdyk7CiAJdTMyIGN0eF9yc3ZkID0gY29udGV4dF9y ZXNlcnZlZF9zaXplKGk5MTUpOwogCXUzMiBndWNfd29wY21fYmFzZTsKIAl1MzIgZ3VjX3dvcGNt X3NpemU7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==