From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 2/3] drm/i915: treat shmem as a region Date: Fri, 18 Oct 2019 10:07:50 +0100 Message-ID: <20191018090751.28295-2-matthew.auld@intel.com> References: <20191018090751.28295-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 492EF6EB00 for ; Fri, 18 Oct 2019 09:07:59 +0000 (UTC) In-Reply-To: <20191018090751.28295-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 L2dlbS9pOTE1X2dlbV9vYmplY3QuaCAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcGh5cy5jICAgICAgfCAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3JlZ2lvbi5jICAgIHwgIDcgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9zaG1lbS5jICAgICB8IDc5ICsrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICB8ICA5IC0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgIHwgMTUgKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wY2kuYyAgICAgICAgICAgICAgIHwgMjkgKysrKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jICAgIHwgMTAgKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmggICAgfCAyOCArKysrKystCiAuLi4vZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyAgfCAgNyArLQogMTEgZmlsZXMgY2hh bmdlZCwgMTQ5IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCBjNWUxNGM5YzgwNWMuLjg1OTIxNzk2 ODUxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAt MjUsMTAgKzI1LDExIEBAIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0X29wcyAqb3BzKTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKLWk5MTVfZ2VtX29i amVjdF9jcmVhdGVfc2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU2NCBzaXpl KTsKK2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCisJCQkgICAgIHJlc291cmNlX3NpemVfdCBzaXplKTsKIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW1fZnJvbV9kYXRhKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LAotCQkJCSAgICAgICBjb25zdCB2b2lkICpkYXRhLCBz aXplX3Qgc2l6ZSk7CisJCQkJICAgICAgIGNvbnN0IHZvaWQgKmRhdGEsIHJlc291cmNlX3NpemVf dCBzaXplKTsKIAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBp OTE1X2dlbV9zaG1lbV9vcHM7CiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2Vfc2htZW0o c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcGh5cy5jCmluZGV4IDc2ODM1NjkwODE2MC4uODA0M2ZmNjNkNzNmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNp bmNsdWRlICJndC9pbnRlbF9ndC5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAi aTkxNV9nZW1fb2JqZWN0LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1fcmVnaW9uLmgiCiAjaW5jbHVk ZSAiaTkxNV9zY2F0dGVybGlzdC5oIgogCiBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRf cGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpAQCAtMTkxLDggKzE5 MiwxMCBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIAkvKiBQZXJtYS1waW4gKHVudGlsIHJlbGVhc2Up IHRoZSBwaHlzaWNhbCBzZXQgb2YgcGFnZXMgKi8KIAlfX2k5MTVfZ2VtX29iamVjdF9waW5fcGFn ZXMob2JqKTsKIAotCWlmICghSVNfRVJSX09SX05VTEwocGFnZXMpKQorCWlmICghSVNfRVJSX09S X05VTEwocGFnZXMpKSB7CiAJCWk5MTVfZ2VtX3NobWVtX29wcy5wdXRfcGFnZXMob2JqLCBwYWdl cyk7CisJCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKKwl9CiAJ bXV0ZXhfdW5sb2NrKCZvYmotPm1tLmxvY2spOwogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKaW5kZXggZDNmNzczM2JjN2VkLi4yZjdiY2Zi OWM5NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdp b24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKQEAg LTYsNiArNiw3IEBACiAjaW5jbHVkZSAiaW50ZWxfbWVtb3J5X3JlZ2lvbi5oIgogI2luY2x1ZGUg Imk5MTVfZ2VtX3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkx NV90cmFjZS5oIgogCiB2b2lkCiBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX2J1ZGR5KHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCkBAIC0xNjUsNSArMTY2LDkgQEAgaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9yZWdpb24oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAlp ZiAob3ZlcmZsb3dzX3R5cGUoc2l6ZSwgb2JqLT5iYXNlLnNpemUpKQogCQlyZXR1cm4gRVJSX1BU UigtRTJCSUcpOwogCi0JcmV0dXJuIG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwgc2l6ZSwg ZmxhZ3MpOworCW9iaiA9IG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwgc2l6ZSwgZmxhZ3Mp OworCWlmICghSVNfRVJSKG9iaikpCisJCXRyYWNlX2k5MTVfZ2VtX29iamVjdF9jcmVhdGUob2Jq KTsKKworCXJldHVybiBvYmo7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fc2htZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9z aG1lbS5jCmluZGV4IDRjNDk1NGU4Y2UwYS4uYmU2OGI3NmUxM2IzIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwpAQCAtNyw3ICs3LDkgQEAKICNpbmNsdWRlIDxs aW51eC9wYWdldmVjLmg+CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogCisjaW5jbHVkZSAiZ2Vt L2k5MTVfZ2VtX3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkx NV9nZW1mcy5oIgogI2luY2x1ZGUgImk5MTVfZ2VtX29iamVjdC5oIgogI2luY2x1ZGUgImk5MTVf c2NhdHRlcmxpc3QuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC0yNiw2ICsyOCw3IEBA IHN0YXRpYyB2b2lkIGNoZWNrX3JlbGVhc2VfcGFnZXZlYyhzdHJ1Y3QgcGFnZXZlYyAqcHZlYykK IHN0YXRpYyBpbnQgc2htZW1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmopCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFz ZS5kZXYpOworCXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0gPSBvYmotPm1tLnJlZ2lv bjsKIAljb25zdCB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQgPSBvYmotPmJhc2Uuc2l6ZSAvIFBB R0VfU0laRTsKIAl1bnNpZ25lZCBsb25nIGk7CiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp bmc7CkBAIC01Miw3ICs1NSw3IEBAIHN0YXRpYyBpbnQgc2htZW1fZ2V0X3BhZ2VzKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJICogSWYgdGhlcmUncyBubyBjaGFuY2Ugb2YgYWxs b2NhdGluZyBlbm91Z2ggcGFnZXMgZm9yIHRoZSB3aG9sZQogCSAqIG9iamVjdCwgYmFpbCBlYXJs eS4KIAkgKi8KLQlpZiAocGFnZV9jb3VudCA+IHRvdGFscmFtX3BhZ2VzKCkpCisJaWYgKG9iai0+ YmFzZS5zaXplID4gcmVzb3VyY2Vfc2l6ZSgmbWVtLT5yZWdpb24pKQogCQlyZXR1cm4gLUVOT01F TTsKIAogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CkBAIC00MTcsNiAr NDIwLDggQEAgc2htZW1fcHdyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAK IHN0YXRpYyB2b2lkIHNobWVtX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9i aikKIHsKKwlpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9uKG9iaik7CisKIAlm cHV0KG9iai0+YmFzZS5maWxwKTsKIH0KIApAQCAtNDM0LDkgKzQzOSw5IEBAIGNvbnN0IHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLnJlbGVh c2UgPSBzaG1lbV9yZWxlYXNlLAogfTsKIAotc3RhdGljIGludCBjcmVhdGVfc2htZW0oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwK LQkJCXNpemVfdCBzaXplKQorc3RhdGljIGludCBfX2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCisJCQkg IHJlc291cmNlX3NpemVfdCBzaXplKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBWTV9OT1JF U0VSVkU7CiAJc3RydWN0IGZpbGUgKmZpbHA7CkBAIC00NTUsMzEgKzQ2MCwyMyBAQCBzdGF0aWMg aW50IGNyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlyZXR1cm4g MDsKIH0KIAotc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCitzdGF0 aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgorY3JlYXRlX3NobWVtKHN0cnVjdCBpbnRl bF9tZW1vcnlfcmVnaW9uICptZW0sCisJICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkgICAg IHVuc2lnbmVkIGludCBmbGFncykKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IG1lbS0+aTkxNTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nOwogCXVuc2lnbmVkIGludCBjYWNoZV9sZXZlbDsKIAlnZnBf dCBtYXNrOwogCWludCByZXQ7CiAKLQkvKiBUaGVyZSBpcyBhIHByZXZhbGVuY2Ugb2YgdGhlIGFz c3VtcHRpb24gdGhhdCB3ZSBmaXQgdGhlIG9iamVjdCdzCi0JICogcGFnZSBjb3VudCBpbnNpZGUg YSAzMmJpdCBfc2lnbmVkXyB2YXJpYWJsZS4gTGV0J3MgZG9jdW1lbnQgdGhpcyBhbmQKLQkgKiBj YXRjaCBpZiB3ZSBldmVyIG5lZWQgdG8gZml4IGl0LiBJbiB0aGUgbWVhbnRpbWUsIGlmIHlvdSBk byBzcG90Ci0JICogc3VjaCBhIGxvY2FsIHZhcmlhYmxlLCBwbGVhc2UgY29uc2lkZXIgZml4aW5n IQotCSAqLwotCWlmIChzaXplID4+IFBBR0VfU0hJRlQgPiBJTlRfTUFYKQotCQlyZXR1cm4gRVJS X1BUUigtRTJCSUcpOwotCi0JaWYgKG92ZXJmbG93c190eXBlKHNpemUsIG9iai0+YmFzZS5zaXpl KSkKLQkJcmV0dXJuIEVSUl9QVFIoLUUyQklHKTsKLQogCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9h bGxvYygpOwogCWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJldCA9 IGNyZWF0ZV9zaG1lbShpOTE1LCAmb2JqLT5iYXNlLCBzaXplKTsKKwlyZXQgPSBfX2NyZWF0ZV9z aG1lbShpOTE1LCAmb2JqLT5iYXNlLCBzaXplKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAK QEAgLTUxOCw3ICs1MTUsNyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LCB1NjQgc2l6ZSkKIAogCWk5MTVfZ2VtX29iamVjdF9zZXRf Y2FjaGVfY29oZXJlbmN5KG9iaiwgY2FjaGVfbGV2ZWwpOwogCi0JdHJhY2VfaTkxNV9nZW1fb2Jq ZWN0X2NyZWF0ZShvYmopOworCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2Jq LCBtZW0sIDApOwogCiAJcmV0dXJuIG9iajsKIApAQCAtNTI3LDE0ICs1MjQsMjIgQEAgaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0 IHNpemUpCiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIAorc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKgoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwKKwkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUpCit7CisJcmV0dXJuIGk5 MTVfZ2VtX29iamVjdF9jcmVhdGVfcmVnaW9uKGk5MTUtPm1tLnJlZ2lvbnNbSU5URUxfUkVHSU9O X1NNRU1dLAorCQkJCQkgICAgIHNpemUsIDApOworfQorCiAvKiBBbGxvY2F0ZSBhIG5ldyBHRU0g b2JqZWN0IGFuZCBmaWxsIGl0IHdpdGggdGhlIHN1cHBsaWVkIGRhdGEgKi8KIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW1fZnJvbV9kYXRh KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAgICAgY29uc3Qgdm9p ZCAqZGF0YSwgc2l6ZV90IHNpemUpCisJCQkJICAgICAgIGNvbnN0IHZvaWQgKmRhdGEsIHJlc291 cmNlX3NpemVfdCBzaXplKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJ c3RydWN0IGZpbGUgKmZpbGU7Ci0Jc2l6ZV90IG9mZnNldDsKKwlyZXNvdXJjZV9zaXplX3Qgb2Zm c2V0OwogCWludCBlcnI7CiAKIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKGRl dl9wcml2LCByb3VuZF91cChzaXplLCBQQUdFX1NJWkUpKTsKQEAgLTU3NywzICs1ODIsMzUgQEAg aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbV9mcm9tX2RhdGEoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAlyZXR1cm4gRVJS X1BUUihlcnIpOwogfQorCitzdGF0aWMgaW50IGluaXRfc2htZW0oc3RydWN0IGludGVsX21lbW9y eV9yZWdpb24gKm1lbSkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gaTkxNV9nZW1mc19pbml0KG1l bS0+aTkxNSk7CisJaWYgKGVycikgeworCQlEUk1fTk9URSgiVW5hYmxlIHRvIGNyZWF0ZSBhIHBy aXZhdGUgdG1wZnMgbW91bnQsIGh1Z2VwYWdlIHN1cHBvcnQgd2lsbCBiZSBkaXNhYmxlZCglZCku XG4iLAorCQkJIGVycik7CisJfQorCisJcmV0dXJuIDA7IC8qIERvbid0IGVycm9yLCB3ZSBjYW4g c2ltcGx5IGZhbGxiYWNrIHRvIHRoZSBrZXJuZWwgbW50ICovCit9CisKK3N0YXRpYyB2b2lkIHJl bGVhc2Vfc2htZW0oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKK3sKKwlpOTE1X2dl bWZzX2ZpbmkobWVtLT5pOTE1KTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1v cnlfcmVnaW9uX29wcyBzaG1lbV9yZWdpb25fb3BzID0geworCS5pbml0ID0gaW5pdF9zaG1lbSwK KwkucmVsZWFzZSA9IHJlbGVhc2Vfc2htZW0sCisJLmNyZWF0ZV9vYmplY3QgPSBjcmVhdGVfc2ht ZW0sCit9OworCitzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqaTkxNV9nZW1fc2htZW1fc2V0 dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJcmV0dXJuIGludGVsX21lbW9y eV9yZWdpb25fY3JlYXRlKGk5MTUsIDAsCisJCQkJCSAgdG90YWxyYW1fcGFnZXMoKSA8PCBQQUdF X1NISUZULAorCQkJCQkgIFBBR0VfU0laRSwgMCwKKwkJCQkJICAmc2htZW1fcmVnaW9uX29wcyk7 Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBmYWY2NDU4MDI3MTAuLmRiM2MzYTAyNWEw MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xODc2LDYgKzE4NzYsOCBAQCB2b2lkIGk5 MTVfZ2VtX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IGludCBpOTE1X2dlbV9mcmVlemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK IGludCBpOTE1X2dlbV9mcmVlemVfbGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogCitzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqaTkxNV9nZW1fc2htZW1fc2V0dXAo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkx NV9nZW1fZHJhaW5fZnJlZWRfb2JqZWN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IHsKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMzc4MGJkZGQxMTEwLi5hMmJhMTIz ZjdiMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNDUsNyArNDUsNiBAQAogI2luY2x1 ZGUgImdlbS9pOTE1X2dlbV9jb250ZXh0LmgiCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2lvY3Rs cy5oIgogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9wbS5oIgotI2luY2x1ZGUgImdlbS9pOTE1X2dl bWZzLmgiCiAjaW5jbHVkZSAiZ3QvaW50ZWxfZW5naW5lX3VzZXIuaCIKICNpbmNsdWRlICJndC9p bnRlbF9ndC5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0X3BtLmgiCkBAIC0xNDM1LDE2ICsxNDM0 LDEwIEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2luaXRfX21tKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogCiB2b2lkIGk5MTVfZ2VtX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogewotCWludCBlcnI7Ci0KIAlpOTE1X2dlbV9pbml0X19tbShkZXZf cHJpdik7CiAJaTkxNV9nZW1faW5pdF9fcG0oZGV2X3ByaXYpOwogCiAJc3Bpbl9sb2NrX2luaXQo JmRldl9wcml2LT5mYl90cmFja2luZy5sb2NrKTsKLQotCWVyciA9IGk5MTVfZ2VtZnNfaW5pdChk ZXZfcHJpdik7Ci0JaWYgKGVycikKLQkJRFJNX05PVEUoIlVuYWJsZSB0byBjcmVhdGUgYSBwcml2 YXRlIHRtcGZzIG1vdW50LCBodWdlcGFnZSBzdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQoJWQpLlxu IiwgZXJyKTsKIH0KIAogdm9pZCBpOTE1X2dlbV9jbGVhbnVwX2Vhcmx5KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTE0NTMsOCArMTQ0Niw2IEBAIHZvaWQgaTkxNV9nZW1f Y2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJR0VNX0JV R19PTighbGxpc3RfZW1wdHkoJmRldl9wcml2LT5tbS5mcmVlX2xpc3QpKTsKIAlHRU1fQlVHX09O KGF0b21pY19yZWFkKCZkZXZfcHJpdi0+bW0uZnJlZV9jb3VudCkpOwogCVdBUk5fT04oZGV2X3By aXYtPm1tLnNocmlua19jb3VudCk7Ci0KLQlpOTE1X2dlbWZzX2ZpbmkoZGV2X3ByaXYpOwogfQog CiBpbnQgaTkxNV9nZW1fZnJlZXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggN2I4ZTMwYzcyZjg2Li4yNjNmMWNl YTBiNjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yNzczLDE0ICsyNzcz LDI5IEBAIGludCBpOTE1X2dlbV9pbml0X21lbW9yeV9yZWdpb25zKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1KQogCiAJZm9yIChpID0gMDsgaSA8IElOVEVMX1JFR0lPTl9VTktOT1dOOyBp KyspIHsKIAkJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSA9IEVSUl9QVFIoLUVOT0RF Vik7CisJCXUzMiB0eXBlOwogCiAJCWlmICghSEFTX1JFR0lPTihpOTE1LCBCSVQoaSkpKQogCQkJ Y29udGludWU7CiAKKwkJdHlwZSA9IE1FTU9SWV9UWVBFX0ZST01fUkVHSU9OKGludGVsX3JlZ2lv bl9tYXBbaV0pOworCQlzd2l0Y2ggKHR5cGUpIHsKKwkJY2FzZSBJTlRFTF9NRU1PUllfU1lTVEVN OgorCQkJbWVtID0gaTkxNV9nZW1fc2htZW1fc2V0dXAoaTkxNSk7CisJCQlicmVhazsKKwkJfQor CiAJCWlmIChJU19FUlIobWVtKSkgewogCQkJZXJyID0gUFRSX0VSUihtZW0pOworCQkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gc2V0dXAgcmVnaW9uKCVkKSB0eXBlPSVkXG4iLCBlcnIsIHR5cGUpOwog CQkJZ290byBvdXRfY2xlYW51cDsKIAkJfQorCisJCW1lbS0+aWQgPSBpbnRlbF9yZWdpb25fbWFw W2ldOworCQltZW0tPnR5cGUgPSB0eXBlOworCQltZW0tPmluc3RhbmNlID0gTUVNT1JZX0lOU1RB TkNFX0ZST01fUkVHSU9OKGludGVsX3JlZ2lvbl9tYXBbaV0pOworCisJCWk5MTUtPm1tLnJlZ2lv bnNbaV0gPSBtZW07CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwppbmRl eCAxY2JmMzk5OGIzNjEuLmU1NWFiMjcyNDk5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9wY2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBA IC0xNTEsNiArMTUxLDkgQEAKICNkZWZpbmUgR0VOX0RFRkFVTFRfUEFHRV9TSVpFUyBcCiAJLnBh Z2Vfc2l6ZXMgPSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsKIAorI2RlZmluZSBHRU5fREVGQVVMVF9S RUdJT05TIFwKKwkubWVtb3J5X3JlZ2lvbnMgPSBSRUdJT05fU01FTQorCiAjZGVmaW5lIEk4MzBf RkVBVFVSRVMgXAogCUdFTigyKSwgXAogCS5pc19tb2JpbGUgPSAxLCBcCkBAIC0xNjgsNyArMTcx LDggQEAKIAlJOVhYX1BJUEVfT0ZGU0VUUywgXAogCUk5WFhfQ1VSU09SX09GRlNFVFMsIFwKIAlJ OVhYX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlHRU5fREVGQVVMVF9QQUdF X1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiAjZGVmaW5lIEk4NDVfRkVBVFVSRVMg XAogCUdFTigyKSwgXApAQCAtMTg1LDcgKzE4OSw4IEBACiAJSTg0NV9QSVBFX09GRlNFVFMsIFwK IAlJODQ1X0NVUlNPUl9PRkZTRVRTLCBcCiAJSTlYWF9DT0xPUlMsIFwKLQlHRU5fREVGQVVMVF9Q QUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JFR0lP TlMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODMwX2lu Zm8gPSB7CiAJSTgzMF9GRUFUVVJFUywKQEAgLTIxOSw3ICsyMjQsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2k4NjVnX2luZm8gPSB7CiAJSTlYWF9QSVBF X09GRlNFVFMsIFwKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBcCiAJSTlYWF9DT0xPUlMsIFwKLQlH RU5fREVGQVVMVF9QQUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9E RUZBVUxUX1JFR0lPTlMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBp bnRlbF9pOTE1Z19pbmZvID0gewogCUdFTjNfRkVBVFVSRVMsCkBAIC0zMDQsNyArMzEwLDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9waW5ldmlld19tX2lu Zm8gPSB7CiAJSTlYWF9QSVBFX09GRlNFVFMsIFwKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBcCiAJ STk2NV9DT0xPUlMsIFwKLQlHRU5fREVGQVVMVF9QQUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFH RV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JFR0lPTlMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBp bnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTY1Z19pbmZvID0gewogCUdFTjRfRkVBVFVSRVMsCkBA IC0zNTQsNyArMzYxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBp bnRlbF9nbTQ1X2luZm8gPSB7CiAJSTlYWF9QSVBFX09GRlNFVFMsIFwKIAlJOVhYX0NVUlNPUl9P RkZTRVRTLCBcCiAJSUxLX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlHRU5f REVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiBzdGF0aWMgY29u c3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2lyb25sYWtlX2RfaW5mbyA9IHsKIAlH RU41X0ZFQVRVUkVTLApAQCAtMzg0LDcgKzM5Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50 ZWxfZGV2aWNlX2luZm8gaW50ZWxfaXJvbmxha2VfbV9pbmZvID0gewogCUk5WFhfUElQRV9PRkZT RVRTLCBcCiAJSTlYWF9DVVJTT1JfT0ZGU0VUUywgXAogCUlMS19DT0xPUlMsIFwKLQlHRU5fREVG QVVMVF9QQUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxU X1JFR0lPTlMKIAogI2RlZmluZSBTTkJfRF9QTEFURk9STSBcCiAJR0VONl9GRUFUVVJFUywgXApA QCAtNDMyLDcgKzQ0MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8g aW50ZWxfc2FuZHlicmlkZ2VfbV9ndDJfaW5mbyA9IHsKIAlJVkJfUElQRV9PRkZTRVRTLCBcCiAJ SVZCX0NVUlNPUl9PRkZTRVRTLCBcCiAJSVZCX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0Vf U0laRVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwog CiAjZGVmaW5lIElWQl9EX1BMQVRGT1JNIFwKIAlHRU43X0ZFQVRVUkVTLCBcCkBAIC00OTMsNiAr NTAzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF92YWxs ZXl2aWV3X2luZm8gPSB7CiAJSTlYWF9DVVJTT1JfT0ZGU0VUUywKIAlJOTY1X0NPTE9SUywKIAlH RU5fREVGQVVMVF9QQUdFX1NJWkVTLAorCUdFTl9ERUZBVUxUX1JFR0lPTlMsCiB9OwogCiAjZGVm aW5lIEc3NV9GRUFUVVJFUyAgXApAQCAtNTg3LDYgKzU5OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfY2hlcnJ5dmlld19pbmZvID0gewogCUNIVl9DVVJT T1JfT0ZGU0VUUywKIAlDSFZfQ09MT1JTLAogCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMsCisJR0VO X0RFRkFVTFRfUkVHSU9OUywKIH07CiAKICNkZWZpbmUgR0VOOV9ERUZBVUxUX1BBR0VfU0laRVMg XApAQCAtNjYxLDcgKzY3Myw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gaW50ZWxfc2t5bGFrZV9ndDRfaW5mbyA9IHsKIAlIU1dfUElQRV9PRkZTRVRTLCBcCiAJSVZC X0NVUlNPUl9PRkZTRVRTLCBcCiAJSVZCX0NPTE9SUywgXAotCUdFTjlfREVGQVVMVF9QQUdFX1NJ WkVTCisJR0VOOV9ERUZBVUxUX1BBR0VfU0laRVMsIFwKKwlHRU5fREVGQVVMVF9SRUdJT05TCiAK IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfYnJveHRvbl9pbmZv ID0gewogCUdFTjlfTFBfRkVBVFVSRVMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1v cnlfcmVnaW9uLmMKaW5kZXggYzAyOTk0MzVkNzVlLi43MmY5OGExMTFkZTEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTYsNiArNiwxNiBAQAogI2lu Y2x1ZGUgImludGVsX21lbW9yeV9yZWdpb24uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCisv KiBYWFg6IEh5c3RlcmljYWwgcmFpc2lucy4gQklUKGluc3QpIG5lZWRzIHRvIGp1c3QgYmUgKGlu c3QpIGF0IHNvbWUgcG9pbnQuICovCisjZGVmaW5lIFJFR0lPTl9NQVAodHlwZSwgaW5zdCkgXAor CUJJVCgodHlwZSkgKyBJTlRFTF9NRU1PUllfVFlQRV9TSElGVCkgfCBCSVQoaW5zdCkKKworY29u c3QgdTMyIGludGVsX3JlZ2lvbl9tYXBbXSA9IHsKKwlbSU5URUxfUkVHSU9OX1NNRU1dID0gUkVH SU9OX01BUChJTlRFTF9NRU1PUllfU1lTVEVNLCAwKSwKKwlbSU5URUxfUkVHSU9OX0xNRU1dID0g UkVHSU9OX01BUChJTlRFTF9NRU1PUllfTE9DQUwsIDApLAorCVtJTlRFTF9SRUdJT05fU1RPTEVO XSA9IFJFR0lPTl9NQVAoSU5URUxfTUVNT1JZX1NUT0xFTiwgMCksCit9OworCiBzdGF0aWMgdTY0 CiBpbnRlbF9tZW1vcnlfcmVnaW9uX2ZyZWVfcGFnZXMoc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKIAkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpibG9ja3MpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmgKaW5kZXggMmMxNjVhN2E1YWI0Li40OWIw NTlhMmJlNzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9y ZWdpb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmgK QEAgLTE4LDEzICsxOCwzOSBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdDsKIHN0cnVjdCBp bnRlbF9tZW1vcnlfcmVnaW9uOwogc3RydWN0IHNnX3RhYmxlOwogCisvKioKKyAqICBCYXNlIG1l bW9yeSB0eXBlCisgKi8KK2VudW0gaW50ZWxfbWVtb3J5X3R5cGUgeworCUlOVEVMX01FTU9SWV9T WVNURU0gPSAwLAorCUlOVEVMX01FTU9SWV9MT0NBTCwKKwlJTlRFTF9NRU1PUllfU1RPTEVOLAor fTsKKwogZW51bSBpbnRlbF9yZWdpb25faWQgewotCUlOVEVMX1JFR0lPTl9VTktOT1dOID0gMCwg LyogU2hvdWxkIGJlIGxhc3QgKi8KKwlJTlRFTF9SRUdJT05fU01FTSA9IDAsCisJSU5URUxfUkVH SU9OX0xNRU0sCisJSU5URUxfUkVHSU9OX1NUT0xFTiwKKwlJTlRFTF9SRUdJT05fVU5LTk9XTiwg LyogU2hvdWxkIGJlIGxhc3QgKi8KIH07CiAKKyNkZWZpbmUgUkVHSU9OX1NNRU0gICAgIEJJVChJ TlRFTF9SRUdJT05fU01FTSkKKyNkZWZpbmUgUkVHSU9OX0xNRU0gICAgIEJJVChJTlRFTF9SRUdJ T05fTE1FTSkKKyNkZWZpbmUgUkVHSU9OX1NUT0xFTiAgIEJJVChJTlRFTF9SRUdJT05fU1RPTEVO KQorCisjZGVmaW5lIElOVEVMX01FTU9SWV9UWVBFX1NISUZUIDE2CisKKyNkZWZpbmUgTUVNT1JZ X1RZUEVfRlJPTV9SRUdJT04ocikgKGlsb2cyKChyKSA+PiBJTlRFTF9NRU1PUllfVFlQRV9TSElG VCkpCisjZGVmaW5lIE1FTU9SWV9JTlNUQU5DRV9GUk9NX1JFR0lPTihyKSAoaWxvZzIoKHIpICYg MHhmZmZmKSkKKwogI2RlZmluZSBJOTE1X0FMTE9DX01JTl9QQUdFX1NJWkUgIEJJVCgwKQogI2Rl ZmluZSBJOTE1X0FMTE9DX0NPTlRJR1VPVVMgICAgIEJJVCgxKQogCisvKioKKyAqIE1lbW9yeSBy ZWdpb25zIGVuY29kZWQgYXMgdHlwZSB8IGluc3RhbmNlCisgKi8KK2V4dGVybiBjb25zdCB1MzIg aW50ZWxfcmVnaW9uX21hcFtdOworCiBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbl9vcHMgewog CXVuc2lnbmVkIGludCBmbGFnczsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL21vY2tfZ2VtX2RldmljZS5jCmluZGV4IGJjNWUzYzY3NDA5Zi4uY2I4YzNhNTAxY2M3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNl LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5j CkBAIC03Miw4ICs3Miw2IEBAIHN0YXRpYyB2b2lkIG1vY2tfZGV2aWNlX3JlbGVhc2Uoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAltb2NrX2ZpbmlfZ2d0dCgmaTkxNS0+Z2d0dCk7CiAJZGVzdHJv eV93b3JrcXVldWUoaTkxNS0+d3EpOwogCi0JaTkxNV9nZW1mc19maW5pKGk5MTUpOwotCiAJaTkx NV9nZW1fY2xlYW51cF9tZW1vcnlfcmVnaW9ucyhpOTE1KTsKIAogCWRybV9tb2RlX2NvbmZpZ19j bGVhbnVwKCZpOTE1LT5kcm0pOwpAQCAtMTY1LDcgKzE2MywxMCBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqbW9ja19nZW1fZGV2aWNlKHZvaWQpCiAJCUk5MTVfR1RUX1BBR0VfU0laRV82NEsg fAogCQlJOTE1X0dUVF9QQUdFX1NJWkVfMk07CiAKKwlta3dyaXRlX2RldmljZV9pbmZvKGk5MTUp LT5tZW1vcnlfcmVnaW9ucyA9IFJFR0lPTl9TTUVNOworCiAJbW9ja191bmNvcmVfaW5pdCgmaTkx NS0+dW5jb3JlLCBpOTE1KTsKKwogCWk5MTVfZ2VtX2luaXRfX21tKGk5MTUpOwogCWludGVsX2d0 X2luaXRfZWFybHkoJmk5MTUtPmd0LCBpOTE1KTsKIAlhdG9taWNfaW5jKCZpOTE1LT5ndC53YWtl cmVmLmNvdW50KTsgLyogZGlzYWJsZTsgbm8gaHcgc3VwcG9ydCAqLwpAQCAtMTk2LDggKzE5Nyw2 IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAogCWlu dGVsX2VuZ2luZXNfZHJpdmVyX3JlZ2lzdGVyKGk5MTUpOwogCi0JV0FSTl9PTihpOTE1X2dlbWZz X2luaXQoaTkxNSkpOwotCiAJZXJyID0gaTkxNV9nZW1faW5pdF9tZW1vcnlfcmVnaW9ucyhpOTE1 KTsKIAlpZiAoZXJyKQogCQlnb3RvIGVycl9jb250ZXh0OwotLSAKMi4yMC4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=