From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 3/4] drm/i915: treat shmem as a region Date: Thu, 17 Oct 2019 18:45:43 +0100 Message-ID: <20191017174544.22446-3-matthew.auld@intel.com> References: <20191017174544.22446-1-matthew.auld@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 A95146E20C for ; Thu, 17 Oct 2019 17:45:52 +0000 (UTC) In-Reply-To: <20191017174544.22446-1-matthew.auld@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 Q29udmVydCBzaG1lbSB0byBhbiBpbnRlbF9tZW1vcnlfcmVnaW9uLgoKU2lnbmVkLW9mZi1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQWJkaWVsIEphbnVsZ3VlIDxh YmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9waHlzLmMgICAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcmVnaW9uLmMgICAgfCAgNyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3NobWVtLmMgICAgIHwgNzQgKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgIHwgIDkgLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICAgfCAxNSArKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BjaS5jICAgICAgICAgICAgICAgfCAyOSArKysrKystLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jICAgIHwgMTAgKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmggICAgfCAyOCArKysrKystCiAuLi4vZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyAgfCAgNyArLQogMTAgZmlsZXMg Y2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IDc2ODM1NjkwODE2MC4uODA0M2ZmNjNk NzNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAgLTE2LDYg KzE2LDcgQEAKICNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgogI2luY2x1ZGUgImk5MTVfZHJ2Lmgi CiAjaW5jbHVkZSAiaTkxNV9nZW1fb2JqZWN0LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1fcmVnaW9u LmgiCiAjaW5jbHVkZSAiaTkxNV9zY2F0dGVybGlzdC5oIgogCiBzdGF0aWMgaW50IGk5MTVfZ2Vt X29iamVjdF9nZXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpA QCAtMTkxLDggKzE5MiwxMCBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAkvKiBQZXJtYS1waW4gKHVu dGlsIHJlbGVhc2UpIHRoZSBwaHlzaWNhbCBzZXQgb2YgcGFnZXMgKi8KIAlfX2k5MTVfZ2VtX29i amVjdF9waW5fcGFnZXMob2JqKTsKIAotCWlmICghSVNfRVJSX09SX05VTEwocGFnZXMpKQorCWlm ICghSVNfRVJSX09SX05VTEwocGFnZXMpKSB7CiAJCWk5MTVfZ2VtX3NobWVtX29wcy5wdXRfcGFn ZXMob2JqLCBwYWdlcyk7CisJCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24o b2JqKTsKKwl9CiAJbXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCXJldHVybiAwOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKaW5kZXggZDNmNzczM2Jj N2VkLi4yZjdiY2ZiOWM5NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cmVnaW9uLmMKQEAgLTYsNiArNiw3IEBACiAjaW5jbHVkZSAiaW50ZWxfbWVtb3J5X3JlZ2lvbi5o IgogI2luY2x1ZGUgImk5MTVfZ2VtX3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisj aW5jbHVkZSAiaTkxNV90cmFjZS5oIgogCiB2b2lkCiBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2Vz X2J1ZGR5KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCkBAIC0xNjUsNSArMTY2LDkg QEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9yZWdpb24oc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKIAlpZiAob3ZlcmZsb3dzX3R5cGUoc2l6ZSwgb2JqLT5iYXNlLnNpemUpKQogCQly ZXR1cm4gRVJSX1BUUigtRTJCSUcpOwogCi0JcmV0dXJuIG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0 KG1lbSwgc2l6ZSwgZmxhZ3MpOworCW9iaiA9IG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwg c2l6ZSwgZmxhZ3MpOworCWlmICghSVNfRVJSKG9iaikpCisJCXRyYWNlX2k5MTVfZ2VtX29iamVj dF9jcmVhdGUob2JqKTsKKworCXJldHVybiBvYmo7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9zaG1lbS5jCmluZGV4IDRjNDk1NGU4Y2UwYS4uYzNiZGU0MWRlNTA1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwpAQCAtNyw3ICs3LDkgQEAK ICNpbmNsdWRlIDxsaW51eC9wYWdldmVjLmg+CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogCisj aW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisj aW5jbHVkZSAiaTkxNV9nZW1mcy5oIgogI2luY2x1ZGUgImk5MTVfZ2VtX29iamVjdC5oIgogI2lu Y2x1ZGUgImk5MTVfc2NhdHRlcmxpc3QuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC0y Niw2ICsyOCw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3JlbGVhc2VfcGFnZXZlYyhzdHJ1Y3QgcGFn ZXZlYyAqcHZlYykKIHN0YXRpYyBpbnQgc2htZW1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19p OTE1KG9iai0+YmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0gPSBv YmotPm1tLnJlZ2lvbjsKIAljb25zdCB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQgPSBvYmotPmJh c2Uuc2l6ZSAvIFBBR0VfU0laRTsKIAl1bnNpZ25lZCBsb25nIGk7CiAJc3RydWN0IGFkZHJlc3Nf c3BhY2UgKm1hcHBpbmc7CkBAIC01Miw3ICs1NSw3IEBAIHN0YXRpYyBpbnQgc2htZW1fZ2V0X3Bh Z2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJICogSWYgdGhlcmUncyBubyBj aGFuY2Ugb2YgYWxsb2NhdGluZyBlbm91Z2ggcGFnZXMgZm9yIHRoZSB3aG9sZQogCSAqIG9iamVj dCwgYmFpbCBlYXJseS4KIAkgKi8KLQlpZiAocGFnZV9jb3VudCA+IHRvdGFscmFtX3BhZ2VzKCkp CisJaWYgKG9iai0+YmFzZS5zaXplID4gcmVzb3VyY2Vfc2l6ZSgmbWVtLT5yZWdpb24pKQogCQly ZXR1cm4gLUVOT01FTTsKIAogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7 CkBAIC00MTcsNiArNDIwLDggQEAgc2htZW1fcHdyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmosCiAKIHN0YXRpYyB2b2lkIHNobWVtX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKIHsKKwlpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9u KG9iaik7CisKIAlmcHV0KG9iai0+YmFzZS5maWxwKTsKIH0KIApAQCAtNDM0LDkgKzQzOSw5IEBA IGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMg PSB7CiAJLnJlbGVhc2UgPSBzaG1lbV9yZWxlYXNlLAogfTsKIAotc3RhdGljIGludCBjcmVhdGVf c2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCQlzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iaiwKLQkJCXNpemVfdCBzaXplKQorc3RhdGljIGludCBfX2NyZWF0ZV9zaG1lbShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSAgc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmosCisJCQkgIHNpemVfdCBzaXplKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBWTV9O T1JFU0VSVkU7CiAJc3RydWN0IGZpbGUgKmZpbHA7CkBAIC00NTUsMzEgKzQ2MCwyMyBAQCBzdGF0 aWMgaW50IGNyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlyZXR1 cm4gMDsKIH0KIAotc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCitz dGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgorY3JlYXRlX3NobWVtKHN0cnVjdCBp bnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCisJICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkg ICAgIHVuc2lnbmVkIGludCBmbGFncykKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSA9IG1lbS0+aTkxNTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVj dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nOwogCXVuc2lnbmVkIGludCBjYWNoZV9sZXZlbDsKIAln ZnBfdCBtYXNrOwogCWludCByZXQ7CiAKLQkvKiBUaGVyZSBpcyBhIHByZXZhbGVuY2Ugb2YgdGhl IGFzc3VtcHRpb24gdGhhdCB3ZSBmaXQgdGhlIG9iamVjdCdzCi0JICogcGFnZSBjb3VudCBpbnNp ZGUgYSAzMmJpdCBfc2lnbmVkXyB2YXJpYWJsZS4gTGV0J3MgZG9jdW1lbnQgdGhpcyBhbmQKLQkg KiBjYXRjaCBpZiB3ZSBldmVyIG5lZWQgdG8gZml4IGl0LiBJbiB0aGUgbWVhbnRpbWUsIGlmIHlv dSBkbyBzcG90Ci0JICogc3VjaCBhIGxvY2FsIHZhcmlhYmxlLCBwbGVhc2UgY29uc2lkZXIgZml4 aW5nIQotCSAqLwotCWlmIChzaXplID4+IFBBR0VfU0hJRlQgPiBJTlRfTUFYKQotCQlyZXR1cm4g RVJSX1BUUigtRTJCSUcpOwotCi0JaWYgKG92ZXJmbG93c190eXBlKHNpemUsIG9iai0+YmFzZS5z aXplKSkKLQkJcmV0dXJuIEVSUl9QVFIoLUUyQklHKTsKLQogCW9iaiA9IGk5MTVfZ2VtX29iamVj dF9hbGxvYygpOwogCWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJl dCA9IGNyZWF0ZV9zaG1lbShpOTE1LCAmb2JqLT5iYXNlLCBzaXplKTsKKwlyZXQgPSBfX2NyZWF0 ZV9zaG1lbShpOTE1LCAmb2JqLT5iYXNlLCBzaXplKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7 CiAKQEAgLTUxOCw3ICs1MTUsNyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1NjQgc2l6ZSkKIAogCWk5MTVfZ2VtX29iamVjdF9z ZXRfY2FjaGVfY29oZXJlbmN5KG9iaiwgY2FjaGVfbGV2ZWwpOwogCi0JdHJhY2VfaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZShvYmopOworCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24o b2JqLCBtZW0sIDApOwogCiAJcmV0dXJuIG9iajsKIApAQCAtNTI3LDYgKzUyNCwxMyBAQCBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1 NjQgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQogCitzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1LCB1NjQgc2l6ZSkKK3sKKwlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9yZWdpb24oaTkxNS0+bW0ucmVnaW9uc1tJTlRFTF9SRUdJT05fU01FTV0sCisJCQkJCSAgICAg c2l6ZSwgMCk7Cit9CisKIC8qIEFsbG9jYXRlIGEgbmV3IEdFTSBvYmplY3QgYW5kIGZpbGwgaXQg d2l0aCB0aGUgc3VwcGxpZWQgZGF0YSAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgog aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbV9mcm9tX2RhdGEoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LApAQCAtNTc3LDMgKzU4MSwzNSBAQCBpOTE1X2dlbV9vYmplY3RfY3Jl YXRlX3NobWVtX2Zyb21fZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ aTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCXJldHVybiBFUlJfUFRSKGVycik7CiB9CisKK3N0 YXRpYyBpbnQgaW5pdF9zaG1lbShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQorewor CWludCBlcnI7CisKKwllcnIgPSBpOTE1X2dlbWZzX2luaXQobWVtLT5pOTE1KTsKKwlpZiAoZXJy KSB7CisJCURSTV9OT1RFKCJVbmFibGUgdG8gY3JlYXRlIGEgcHJpdmF0ZSB0bXBmcyBtb3VudCwg aHVnZXBhZ2Ugc3VwcG9ydCB3aWxsIGJlIGRpc2FibGVkKCVkKS5cbiIsCisJCQkgZXJyKTsKKwl9 CisKKwlyZXR1cm4gMDsgLyogRG9uJ3QgZXJyb3IsIHdlIGNhbiBzaW1wbHkgZmFsbGJhY2sgdG8g dGhlIGtlcm5lbCBtbnQgKi8KK30KKworc3RhdGljIHZvaWQgcmVsZWFzZV9zaG1lbShzdHJ1Y3Qg aW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQoreworCWk5MTVfZ2VtZnNfZmluaShtZW0tPmk5MTUp OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX21lbW9yeV9yZWdpb25fb3BzIHNobWVt X3JlZ2lvbl9vcHMgPSB7CisJLmluaXQgPSBpbml0X3NobWVtLAorCS5yZWxlYXNlID0gcmVsZWFz ZV9zaG1lbSwKKwkuY3JlYXRlX29iamVjdCA9IGNyZWF0ZV9zaG1lbSwKK307CisKK3N0cnVjdCBp bnRlbF9tZW1vcnlfcmVnaW9uICppOTE1X2dlbV9zaG1lbV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKK3sKKwlyZXR1cm4gaW50ZWxfbWVtb3J5X3JlZ2lvbl9jcmVhdGUoaTkx NSwgMCwKKwkJCQkJICB0b3RhbHJhbV9wYWdlcygpIDw8IFBBR0VfU0hJRlQsCisJCQkJCSAgSTkx NV9HVFRfUEFHRV9TSVpFXzRLLCAwLAorCQkJCQkgICZzaG1lbV9yZWdpb25fb3BzKTsKK30KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGI5ODMxODdiNDVjZi4uZDVjNTdhNTdhZTZhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE4NzYsNiArMTg3Niw4IEBAIHZvaWQgaTkxNV9nZW1f Y2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGk5 MTVfZ2VtX2ZyZWV6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGk5 MTVfZ2VtX2ZyZWV6ZV9sYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAK K3N0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICppOTE1X2dlbV9zaG1lbV9zZXR1cChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9k cmFpbl9mcmVlZF9vYmplY3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCS8q CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCAzNzgwYmRkZDExMTAuLmEyYmExMjNmN2IzMSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAiZ2Vt L2k5MTVfZ2VtX2NvbnRleHQuaCIKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1faW9jdGxzLmgiCiAj aW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX3BtLmgiCi0jaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtZnMuaCIK ICNpbmNsdWRlICJndC9pbnRlbF9lbmdpbmVfdXNlci5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0 LmgiCiAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3RfcG0uaCIKQEAgLTE0MzUsMTYgKzE0MzQsMTAgQEAg c3RhdGljIHZvaWQgaTkxNV9nZW1faW5pdF9fbW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiAKIHZvaWQgaTkxNV9nZW1faW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiB7Ci0JaW50IGVycjsKLQogCWk5MTVfZ2VtX2luaXRfX21tKGRldl9wcml2KTsK IAlpOTE1X2dlbV9pbml0X19wbShkZXZfcHJpdik7CiAKIAlzcGluX2xvY2tfaW5pdCgmZGV2X3By aXYtPmZiX3RyYWNraW5nLmxvY2spOwotCi0JZXJyID0gaTkxNV9nZW1mc19pbml0KGRldl9wcml2 KTsKLQlpZiAoZXJyKQotCQlEUk1fTk9URSgiVW5hYmxlIHRvIGNyZWF0ZSBhIHByaXZhdGUgdG1w ZnMgbW91bnQsIGh1Z2VwYWdlIHN1cHBvcnQgd2lsbCBiZSBkaXNhYmxlZCglZCkuXG4iLCBlcnIp OwogfQogCiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQpAQCAtMTQ1Myw4ICsxNDQ2LDYgQEAgdm9pZCBpOTE1X2dlbV9jbGVhbnVw X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlHRU1fQlVHX09OKCFs bGlzdF9lbXB0eSgmZGV2X3ByaXYtPm1tLmZyZWVfbGlzdCkpOwogCUdFTV9CVUdfT04oYXRvbWlj X3JlYWQoJmRldl9wcml2LT5tbS5mcmVlX2NvdW50KSk7CiAJV0FSTl9PTihkZXZfcHJpdi0+bW0u c2hyaW5rX2NvdW50KTsKLQotCWk5MTVfZ2VtZnNfZmluaShkZXZfcHJpdik7CiB9CiAKIGludCBp OTE1X2dlbV9mcmVlemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCA3YjhlMzBjNzJmODYuLjI2M2YxY2VhMGI2NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTI3NzMsMTQgKzI3NzMsMjkgQEAg aW50IGk5MTVfZ2VtX2luaXRfbWVtb3J5X3JlZ2lvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCiAKIAlmb3IgKGkgPSAwOyBpIDwgSU5URUxfUkVHSU9OX1VOS05PV047IGkrKykgewog CQlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtID0gRVJSX1BUUigtRU5PREVWKTsKKwkJ dTMyIHR5cGU7CiAKIAkJaWYgKCFIQVNfUkVHSU9OKGk5MTUsIEJJVChpKSkpCiAJCQljb250aW51 ZTsKIAorCQl0eXBlID0gTUVNT1JZX1RZUEVfRlJPTV9SRUdJT04oaW50ZWxfcmVnaW9uX21hcFtp XSk7CisJCXN3aXRjaCAodHlwZSkgeworCQljYXNlIElOVEVMX01FTU9SWV9TWVNURU06CisJCQlt ZW0gPSBpOTE1X2dlbV9zaG1lbV9zZXR1cChpOTE1KTsKKwkJCWJyZWFrOworCQl9CisKIAkJaWYg KElTX0VSUihtZW0pKSB7CiAJCQllcnIgPSBQVFJfRVJSKG1lbSk7CisJCQlEUk1fRVJST1IoIkZh aWxlZCB0byBzZXR1cCByZWdpb24oJWQpIHR5cGU9JWRcbiIsIGVyciwgdHlwZSk7CiAJCQlnb3Rv IG91dF9jbGVhbnVwOwogCQl9CisKKwkJbWVtLT5pZCA9IGludGVsX3JlZ2lvbl9tYXBbaV07CisJ CW1lbS0+dHlwZSA9IHR5cGU7CisJCW1lbS0+aW5zdGFuY2UgPSBNRU1PUllfSU5TVEFOQ0VfRlJP TV9SRUdJT04oaW50ZWxfcmVnaW9uX21hcFtpXSk7CisKKwkJaTkxNS0+bW0ucmVnaW9uc1tpXSA9 IG1lbTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IDFjYmYz OTk4YjM2MS4uZTU1YWIyNzI0OTk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BjaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTE1MSw2 ICsxNTEsOSBAQAogI2RlZmluZSBHRU5fREVGQVVMVF9QQUdFX1NJWkVTIFwKIAkucGFnZV9zaXpl cyA9IEk5MTVfR1RUX1BBR0VfU0laRV80SwogCisjZGVmaW5lIEdFTl9ERUZBVUxUX1JFR0lPTlMg XAorCS5tZW1vcnlfcmVnaW9ucyA9IFJFR0lPTl9TTUVNCisKICNkZWZpbmUgSTgzMF9GRUFUVVJF UyBcCiAJR0VOKDIpLCBcCiAJLmlzX21vYmlsZSA9IDEsIFwKQEAgLTE2OCw3ICsxNzEsOCBAQAog CUk5WFhfUElQRV9PRkZTRVRTLCBcCiAJSTlYWF9DVVJTT1JfT0ZGU0VUUywgXAogCUk5WFhfQ09M T1JTLCBcCi0JR0VOX0RFRkFVTFRfUEFHRV9TSVpFUworCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMs IFwKKwlHRU5fREVGQVVMVF9SRUdJT05TCiAKICNkZWZpbmUgSTg0NV9GRUFUVVJFUyBcCiAJR0VO KDIpLCBcCkBAIC0xODUsNyArMTg5LDggQEAKIAlJODQ1X1BJUEVfT0ZGU0VUUywgXAogCUk4NDVf Q1VSU09SX09GRlNFVFMsIFwKIAlJOVhYX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0la RVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k4MzBfaW5mbyA9IHsK IAlJODMwX0ZFQVRVUkVTLApAQCAtMjE5LDcgKzIyNCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaTg2NWdfaW5mbyA9IHsKIAlJOVhYX1BJUEVfT0ZGU0VU UywgXAogCUk5WFhfQ1VSU09SX09GRlNFVFMsIFwKIAlJOVhYX0NPTE9SUywgXAotCUdFTl9ERUZB VUxUX1BBR0VfU0laRVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRf UkVHSU9OUwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k5 MTVnX2luZm8gPSB7CiAJR0VOM19GRUFUVVJFUywKQEAgLTMwNCw3ICszMTAsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3BpbmV2aWV3X21faW5mbyA9IHsK IAlJOVhYX1BJUEVfT0ZGU0VUUywgXAogCUk5WFhfQ1VSU09SX09GRlNFVFMsIFwKIAlJOTY1X0NP TE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVT LCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2Rl dmljZV9pbmZvIGludGVsX2k5NjVnX2luZm8gPSB7CiAJR0VONF9GRUFUVVJFUywKQEAgLTM1NCw3 ICszNjEsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2dt NDVfaW5mbyA9IHsKIAlJOVhYX1BJUEVfT0ZGU0VUUywgXAogCUk5WFhfQ1VSU09SX09GRlNFVFMs IFwKIAlJTEtfQ09MT1JTLCBcCi0JR0VOX0RFRkFVTFRfUEFHRV9TSVpFUworCUdFTl9ERUZBVUxU X1BBR0VfU0laRVMsIFwKKwlHRU5fREVGQVVMVF9SRUdJT05TCiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaXJvbmxha2VfZF9pbmZvID0gewogCUdFTjVfRkVB VFVSRVMsCkBAIC0zODQsNyArMzkyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyBpbnRlbF9pcm9ubGFrZV9tX2luZm8gPSB7CiAJSTlYWF9QSVBFX09GRlNFVFMsIFwK IAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBcCiAJSUxLX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BB R0VfU0laRVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9O UwogCiAjZGVmaW5lIFNOQl9EX1BMQVRGT1JNIFwKIAlHRU42X0ZFQVRVUkVTLCBcCkBAIC00MzIs NyArNDQxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9z YW5keWJyaWRnZV9tX2d0Ml9pbmZvID0gewogCUlWQl9QSVBFX09GRlNFVFMsIFwKIAlJVkJfQ1VS U09SX09GRlNFVFMsIFwKIAlJVkJfQ09MT1JTLCBcCi0JR0VOX0RFRkFVTFRfUEFHRV9TSVpFUwor CUdFTl9ERUZBVUxUX1BBR0VfU0laRVMsIFwKKwlHRU5fREVGQVVMVF9SRUdJT05TCiAKICNkZWZp bmUgSVZCX0RfUExBVEZPUk0gXAogCUdFTjdfRkVBVFVSRVMsIFwKQEAgLTQ5Myw2ICs1MDMsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3ZhbGxleXZpZXdf aW5mbyA9IHsKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLAogCUk5NjVfQ09MT1JTLAogCUdFTl9ERUZB VUxUX1BBR0VfU0laRVMsCisJR0VOX0RFRkFVTFRfUkVHSU9OUywKIH07CiAKICNkZWZpbmUgRzc1 X0ZFQVRVUkVTICBcCkBAIC01ODcsNiArNTk4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRl bF9kZXZpY2VfaW5mbyBpbnRlbF9jaGVycnl2aWV3X2luZm8gPSB7CiAJQ0hWX0NVUlNPUl9PRkZT RVRTLAogCUNIVl9DT0xPUlMsCiAJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywKKwlHRU5fREVGQVVM VF9SRUdJT05TLAogfTsKIAogI2RlZmluZSBHRU45X0RFRkFVTFRfUEFHRV9TSVpFUyBcCkBAIC02 NjEsNyArNjczLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRl bF9za3lsYWtlX2d0NF9pbmZvID0gewogCUhTV19QSVBFX09GRlNFVFMsIFwKIAlJVkJfQ1VSU09S X09GRlNFVFMsIFwKIAlJVkJfQ09MT1JTLCBcCi0JR0VOOV9ERUZBVUxUX1BBR0VfU0laRVMKKwlH RU45X0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JFR0lPTlMKIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9icm94dG9uX2luZm8gPSB7CiAJ R0VOOV9MUF9GRUFUVVJFUywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X21lbW9yeV9yZWdpb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdp b24uYwppbmRleCBjMDI5OTQzNWQ3NWUuLjcyZjk4YTExMWRlMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYwpAQCAtNiw2ICs2LDE2IEBACiAjaW5jbHVkZSAi aW50ZWxfbWVtb3J5X3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAKKy8qIFhYWDog SHlzdGVyaWNhbCByYWlzaW5zLiBCSVQoaW5zdCkgbmVlZHMgdG8ganVzdCBiZSAoaW5zdCkgYXQg c29tZSBwb2ludC4gKi8KKyNkZWZpbmUgUkVHSU9OX01BUCh0eXBlLCBpbnN0KSBcCisJQklUKCh0 eXBlKSArIElOVEVMX01FTU9SWV9UWVBFX1NISUZUKSB8IEJJVChpbnN0KQorCitjb25zdCB1MzIg aW50ZWxfcmVnaW9uX21hcFtdID0geworCVtJTlRFTF9SRUdJT05fU01FTV0gPSBSRUdJT05fTUFQ KElOVEVMX01FTU9SWV9TWVNURU0sIDApLAorCVtJTlRFTF9SRUdJT05fTE1FTV0gPSBSRUdJT05f TUFQKElOVEVMX01FTU9SWV9MT0NBTCwgMCksCisJW0lOVEVMX1JFR0lPTl9TVE9MRU5dID0gUkVH SU9OX01BUChJTlRFTF9NRU1PUllfU1RPTEVOLCAwKSwKK307CisKIHN0YXRpYyB1NjQKIGludGVs X21lbW9yeV9yZWdpb25fZnJlZV9wYWdlcyhzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVt LAogCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrcykKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAppbmRleCAyYzE2NWE3YTVhYjQuLjQ5YjA1OWEyYmU3 MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaApAQCAtMTgs MTMgKzE4LDM5IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0Owogc3RydWN0IGludGVsX21l bW9yeV9yZWdpb247CiBzdHJ1Y3Qgc2dfdGFibGU7CiAKKy8qKgorICogIEJhc2UgbWVtb3J5IHR5 cGUKKyAqLworZW51bSBpbnRlbF9tZW1vcnlfdHlwZSB7CisJSU5URUxfTUVNT1JZX1NZU1RFTSA9 IDAsCisJSU5URUxfTUVNT1JZX0xPQ0FMLAorCUlOVEVMX01FTU9SWV9TVE9MRU4sCit9OworCiBl bnVtIGludGVsX3JlZ2lvbl9pZCB7Ci0JSU5URUxfUkVHSU9OX1VOS05PV04gPSAwLCAvKiBTaG91 bGQgYmUgbGFzdCAqLworCUlOVEVMX1JFR0lPTl9TTUVNID0gMCwKKwlJTlRFTF9SRUdJT05fTE1F TSwKKwlJTlRFTF9SRUdJT05fU1RPTEVOLAorCUlOVEVMX1JFR0lPTl9VTktOT1dOLCAvKiBTaG91 bGQgYmUgbGFzdCAqLwogfTsKIAorI2RlZmluZSBSRUdJT05fU01FTSAgICAgQklUKElOVEVMX1JF R0lPTl9TTUVNKQorI2RlZmluZSBSRUdJT05fTE1FTSAgICAgQklUKElOVEVMX1JFR0lPTl9MTUVN KQorI2RlZmluZSBSRUdJT05fU1RPTEVOICAgQklUKElOVEVMX1JFR0lPTl9TVE9MRU4pCisKKyNk ZWZpbmUgSU5URUxfTUVNT1JZX1RZUEVfU0hJRlQgMTYKKworI2RlZmluZSBNRU1PUllfVFlQRV9G Uk9NX1JFR0lPTihyKSAoaWxvZzIoKHIpID4+IElOVEVMX01FTU9SWV9UWVBFX1NISUZUKSkKKyNk ZWZpbmUgTUVNT1JZX0lOU1RBTkNFX0ZST01fUkVHSU9OKHIpIChpbG9nMigocikgJiAweGZmZmYp KQorCiAjZGVmaW5lIEk5MTVfQUxMT0NfTUlOX1BBR0VfU0laRSAgQklUKDApCiAjZGVmaW5lIEk5 MTVfQUxMT0NfQ09OVElHVU9VUyAgICAgQklUKDEpCiAKKy8qKgorICogTWVtb3J5IHJlZ2lvbnMg ZW5jb2RlZCBhcyB0eXBlIHwgaW5zdGFuY2UKKyAqLworZXh0ZXJuIGNvbnN0IHUzMiBpbnRlbF9y ZWdpb25fbWFwW107CisKIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29wcyB7CiAJdW5zaWdu ZWQgaW50IGZsYWdzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvbW9ja19nZW1fZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9j a19nZW1fZGV2aWNlLmMKaW5kZXggYmM1ZTNjNjc0MDlmLi5jYjhjM2E1MDFjYzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTcy LDggKzcyLDYgQEAgc3RhdGljIHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCW1vY2tfZmluaV9nZ3R0KCZpOTE1LT5nZ3R0KTsKIAlkZXN0cm95X3dvcmtx dWV1ZShpOTE1LT53cSk7CiAKLQlpOTE1X2dlbWZzX2ZpbmkoaTkxNSk7Ci0KIAlpOTE1X2dlbV9j bGVhbnVwX21lbW9yeV9yZWdpb25zKGk5MTUpOwogCiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAo Jmk5MTUtPmRybSk7CkBAIC0xNjUsNyArMTYzLDEwIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAkJSTkxNV9HVFRfUEFHRV9TSVpFXzY0SyB8CiAJCUk5 MTVfR1RUX1BBR0VfU0laRV8yTTsKIAorCW1rd3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPm1lbW9y eV9yZWdpb25zID0gUkVHSU9OX1NNRU07CisKIAltb2NrX3VuY29yZV9pbml0KCZpOTE1LT51bmNv cmUsIGk5MTUpOworCiAJaTkxNV9nZW1faW5pdF9fbW0oaTkxNSk7CiAJaW50ZWxfZ3RfaW5pdF9l YXJseSgmaTkxNS0+Z3QsIGk5MTUpOwogCWF0b21pY19pbmMoJmk5MTUtPmd0Lndha2VyZWYuY291 bnQpOyAvKiBkaXNhYmxlOyBubyBodyBzdXBwb3J0ICovCkBAIC0xOTYsOCArMTk3LDYgQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCiAJaW50ZWxfZW5n aW5lc19kcml2ZXJfcmVnaXN0ZXIoaTkxNSk7CiAKLQlXQVJOX09OKGk5MTVfZ2VtZnNfaW5pdChp OTE1KSk7Ci0KIAllcnIgPSBpOTE1X2dlbV9pbml0X21lbW9yeV9yZWdpb25zKGk5MTUpOwogCWlm IChlcnIpCiAJCWdvdG8gZXJyX2NvbnRleHQ7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==