From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v3 2/3] drm/i915: treat shmem as a region Date: Fri, 18 Oct 2019 11:44:49 +0100 Message-ID: <20191018104450.19100-2-matthew.auld@intel.com> References: <20191018104450.19100-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8402C6EB10 for ; Fri, 18 Oct 2019 10:44:58 +0000 (UTC) In-Reply-To: <20191018104450.19100-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 YmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX29iamVjdC5oICAgIHwgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9waHlzLmMgICAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fcmVnaW9uLmMgICAgfCAgNyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3NobWVtLmMgICAgIHwgNzkgKysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgIHwgIDkgLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICAgfCAxNSArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BjaS5jICAgICAgICAgICAgICAgfCAyOSArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgICAgfCAgOCArKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oICAgIHwgMTMgKystCiAuLi4vZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyAgfCAgNyArLQogMTEgZmlsZXMgY2hhbmdlZCwgMTMx IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCBjNWUxNGM5YzgwNWMuLjg1OTIxNzk2ODUxZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtMjUsMTAgKzI1 LDExIEBAIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZyZWUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaik7CiB2b2lkIGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCQkgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyAq b3BzKTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKLWk5MTVfZ2VtX29iamVjdF9jcmVh dGVfc2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU2NCBzaXplKTsKK2k5MTVf Z2VtX29iamVjdF9jcmVhdGVfc2htZW0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJ CQkgICAgIHJlc291cmNlX3NpemVfdCBzaXplKTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW1fZnJvbV9kYXRhKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LAotCQkJCSAgICAgICBjb25zdCB2b2lkICpkYXRhLCBzaXplX3Qgc2l6 ZSk7CisJCQkJICAgICAgIGNvbnN0IHZvaWQgKmRhdGEsIHJlc291cmNlX3NpemVfdCBzaXplKTsK IAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9z aG1lbV9vcHM7CiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2Vfc2htZW0oc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGh5cy5jCmluZGV4IDc2ODM1NjkwODE2MC4uODA0M2ZmNjNkNzNmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlICJn dC9pbnRlbF9ndC5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1f b2JqZWN0LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1fcmVnaW9uLmgiCiAjaW5jbHVkZSAiaTkxNV9z Y2F0dGVybGlzdC5oIgogCiBzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXNfcGh5 cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQpAQCAtMTkxLDggKzE5MiwxMCBAQCBp bnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosIGludCBhbGlnbikKIAkvKiBQZXJtYS1waW4gKHVudGlsIHJlbGVhc2UpIHRoZSBwaHlz aWNhbCBzZXQgb2YgcGFnZXMgKi8KIAlfX2k5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsK IAotCWlmICghSVNfRVJSX09SX05VTEwocGFnZXMpKQorCWlmICghSVNfRVJSX09SX05VTEwocGFn ZXMpKSB7CiAJCWk5MTVfZ2VtX3NobWVtX29wcy5wdXRfcGFnZXMob2JqLCBwYWdlcyk7CisJCWk5 MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKKwl9CiAJbXV0ZXhfdW5s b2NrKCZvYmotPm1tLmxvY2spOwogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcmVnaW9uLmMKaW5kZXggZDNmNzczM2JjN2VkLi4yZjdiY2ZiOWM5NjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMKQEAgLTYsNiArNiw3 IEBACiAjaW5jbHVkZSAiaW50ZWxfbWVtb3J5X3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZ2Vt X3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkxNV90cmFjZS5o IgogCiB2b2lkCiBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX2J1ZGR5KHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCkBAIC0xNjUsNSArMTY2LDkgQEAgaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZV9yZWdpb24oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAlpZiAob3ZlcmZs b3dzX3R5cGUoc2l6ZSwgb2JqLT5iYXNlLnNpemUpKQogCQlyZXR1cm4gRVJSX1BUUigtRTJCSUcp OwogCi0JcmV0dXJuIG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwgc2l6ZSwgZmxhZ3MpOwor CW9iaiA9IG1lbS0+b3BzLT5jcmVhdGVfb2JqZWN0KG1lbSwgc2l6ZSwgZmxhZ3MpOworCWlmICgh SVNfRVJSKG9iaikpCisJCXRyYWNlX2k5MTVfZ2VtX29iamVjdF9jcmVhdGUob2JqKTsKKworCXJl dHVybiBvYmo7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fc2htZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jCmlu ZGV4IDRjNDk1NGU4Y2UwYS4uYmU2OGI3NmUxM2IzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fc2htZW0uYwpAQCAtNyw3ICs3LDkgQEAKICNpbmNsdWRlIDxsaW51eC9wYWdl dmVjLmg+CiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogCisjaW5jbHVkZSAiZ2VtL2k5MTVfZ2Vt X3JlZ2lvbi5oIgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1mcy5o IgogI2luY2x1ZGUgImk5MTVfZ2VtX29iamVjdC5oIgogI2luY2x1ZGUgImk5MTVfc2NhdHRlcmxp c3QuaCIKICNpbmNsdWRlICJpOTE1X3RyYWNlLmgiCkBAIC0yNiw2ICsyOCw3IEBAIHN0YXRpYyB2 b2lkIGNoZWNrX3JlbGVhc2VfcGFnZXZlYyhzdHJ1Y3QgcGFnZXZlYyAqcHZlYykKIHN0YXRpYyBp bnQgc2htZW1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwor CXN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0gPSBvYmotPm1tLnJlZ2lvbjsKIAljb25z dCB1bnNpZ25lZCBsb25nIHBhZ2VfY291bnQgPSBvYmotPmJhc2Uuc2l6ZSAvIFBBR0VfU0laRTsK IAl1bnNpZ25lZCBsb25nIGk7CiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmc7CkBAIC01 Miw3ICs1NSw3IEBAIHN0YXRpYyBpbnQgc2htZW1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJICogSWYgdGhlcmUncyBubyBjaGFuY2Ugb2YgYWxsb2NhdGluZyBl bm91Z2ggcGFnZXMgZm9yIHRoZSB3aG9sZQogCSAqIG9iamVjdCwgYmFpbCBlYXJseS4KIAkgKi8K LQlpZiAocGFnZV9jb3VudCA+IHRvdGFscmFtX3BhZ2VzKCkpCisJaWYgKG9iai0+YmFzZS5zaXpl ID4gcmVzb3VyY2Vfc2l6ZSgmbWVtLT5yZWdpb24pKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCXN0 ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CkBAIC00MTcsNiArNDIwLDggQEAg c2htZW1fcHdyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAKIHN0YXRpYyB2 b2lkIHNobWVtX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKKwlp OTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlfcmVnaW9uKG9iaik7CisKIAlmcHV0KG9iai0+ YmFzZS5maWxwKTsKIH0KIApAQCAtNDM0LDkgKzQzOSw5IEBAIGNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLnJlbGVhc2UgPSBzaG1l bV9yZWxlYXNlLAogfTsKIAotc3RhdGljIGludCBjcmVhdGVfc2htZW0oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsCi0JCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKLQkJCXNpemVf dCBzaXplKQorc3RhdGljIGludCBfX2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwKKwkJCSAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCisJCQkgIHJlc291cmNl X3NpemVfdCBzaXplKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBWTV9OT1JFU0VSVkU7CiAJ c3RydWN0IGZpbGUgKmZpbHA7CkBAIC00NTUsMzEgKzQ2MCwyMyBAQCBzdGF0aWMgaW50IGNyZWF0 ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlyZXR1cm4gMDsKIH0KIAot c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1l bShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCitzdGF0aWMgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKgorY3JlYXRlX3NobWVtKHN0cnVjdCBpbnRlbF9tZW1vcnlf cmVnaW9uICptZW0sCisJICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkgICAgIHVuc2lnbmVk IGludCBmbGFncykKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IG1lbS0+aTkx NTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBhZGRyZXNzX3Nw YWNlICptYXBwaW5nOwogCXVuc2lnbmVkIGludCBjYWNoZV9sZXZlbDsKIAlnZnBfdCBtYXNrOwog CWludCByZXQ7CiAKLQkvKiBUaGVyZSBpcyBhIHByZXZhbGVuY2Ugb2YgdGhlIGFzc3VtcHRpb24g dGhhdCB3ZSBmaXQgdGhlIG9iamVjdCdzCi0JICogcGFnZSBjb3VudCBpbnNpZGUgYSAzMmJpdCBf c2lnbmVkXyB2YXJpYWJsZS4gTGV0J3MgZG9jdW1lbnQgdGhpcyBhbmQKLQkgKiBjYXRjaCBpZiB3 ZSBldmVyIG5lZWQgdG8gZml4IGl0LiBJbiB0aGUgbWVhbnRpbWUsIGlmIHlvdSBkbyBzcG90Ci0J ICogc3VjaCBhIGxvY2FsIHZhcmlhYmxlLCBwbGVhc2UgY29uc2lkZXIgZml4aW5nIQotCSAqLwot CWlmIChzaXplID4+IFBBR0VfU0hJRlQgPiBJTlRfTUFYKQotCQlyZXR1cm4gRVJSX1BUUigtRTJC SUcpOwotCi0JaWYgKG92ZXJmbG93c190eXBlKHNpemUsIG9iai0+YmFzZS5zaXplKSkKLQkJcmV0 dXJuIEVSUl9QVFIoLUUyQklHKTsKLQogCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9hbGxvYygpOwog CWlmICghb2JqKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJldCA9IGNyZWF0ZV9z aG1lbShpOTE1LCAmb2JqLT5iYXNlLCBzaXplKTsKKwlyZXQgPSBfX2NyZWF0ZV9zaG1lbShpOTE1 LCAmb2JqLT5iYXNlLCBzaXplKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKQEAgLTUxOCw3 ICs1MTUsNyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1LCB1NjQgc2l6ZSkKIAogCWk5MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfY29o ZXJlbmN5KG9iaiwgY2FjaGVfbGV2ZWwpOwogCi0JdHJhY2VfaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZShvYmopOworCWk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0sIDAp OwogCiAJcmV0dXJuIG9iajsKIApAQCAtNTI3LDE0ICs1MjQsMjIgQEAgaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCiAJ cmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIAorc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgor aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkJCSAgICAgcmVzb3VyY2Vfc2l6ZV90IHNpemUpCit7CisJcmV0dXJuIGk5MTVfZ2VtX29i amVjdF9jcmVhdGVfcmVnaW9uKGk5MTUtPm1tLnJlZ2lvbnNbSU5URUxfUkVHSU9OX1NNRU1dLAor CQkJCQkgICAgIHNpemUsIDApOworfQorCiAvKiBBbGxvY2F0ZSBhIG5ldyBHRU0gb2JqZWN0IGFu ZCBmaWxsIGl0IHdpdGggdGhlIHN1cHBsaWVkIGRhdGEgKi8KIHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICoKIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW1fZnJvbV9kYXRhKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAgICAgY29uc3Qgdm9pZCAqZGF0YSwg c2l6ZV90IHNpemUpCisJCQkJICAgICAgIGNvbnN0IHZvaWQgKmRhdGEsIHJlc291cmNlX3NpemVf dCBzaXplKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGZp bGUgKmZpbGU7Ci0Jc2l6ZV90IG9mZnNldDsKKwlyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0OwogCWlu dCBlcnI7CiAKIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKGRldl9wcml2LCBy b3VuZF91cChzaXplLCBQQUdFX1NJWkUpKTsKQEAgLTU3NywzICs1ODIsMzUgQEAgaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9zaG1lbV9mcm9tX2RhdGEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAlyZXR1cm4gRVJSX1BUUihlcnIp OwogfQorCitzdGF0aWMgaW50IGluaXRfc2htZW0oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24g Km1lbSkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gaTkxNV9nZW1mc19pbml0KG1lbS0+aTkxNSk7 CisJaWYgKGVycikgeworCQlEUk1fTk9URSgiVW5hYmxlIHRvIGNyZWF0ZSBhIHByaXZhdGUgdG1w ZnMgbW91bnQsIGh1Z2VwYWdlIHN1cHBvcnQgd2lsbCBiZSBkaXNhYmxlZCglZCkuXG4iLAorCQkJ IGVycik7CisJfQorCisJcmV0dXJuIDA7IC8qIERvbid0IGVycm9yLCB3ZSBjYW4gc2ltcGx5IGZh bGxiYWNrIHRvIHRoZSBrZXJuZWwgbW50ICovCit9CisKK3N0YXRpYyB2b2lkIHJlbGVhc2Vfc2ht ZW0oc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKK3sKKwlpOTE1X2dlbWZzX2Zpbmko bWVtLT5pOTE1KTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9u X29wcyBzaG1lbV9yZWdpb25fb3BzID0geworCS5pbml0ID0gaW5pdF9zaG1lbSwKKwkucmVsZWFz ZSA9IHJlbGVhc2Vfc2htZW0sCisJLmNyZWF0ZV9vYmplY3QgPSBjcmVhdGVfc2htZW0sCit9Owor CitzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqaTkxNV9nZW1fc2htZW1fc2V0dXAoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJcmV0dXJuIGludGVsX21lbW9yeV9yZWdpb25f Y3JlYXRlKGk5MTUsIDAsCisJCQkJCSAgdG90YWxyYW1fcGFnZXMoKSA8PCBQQUdFX1NISUZULAor CQkJCQkgIFBBR0VfU0laRSwgMCwKKwkJCQkJICAmc2htZW1fcmVnaW9uX29wcyk7Cit9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCBmYWY2NDU4MDI3MTAuLmRiM2MzYTAyNWEwMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xODc2LDYgKzE4NzYsOCBAQCB2b2lkIGk5MTVfZ2VtX2Ns ZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1 X2dlbV9mcmVlemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1 X2dlbV9mcmVlemVfbGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCitz dHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqaTkxNV9nZW1fc2htZW1fc2V0dXAoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fZHJh aW5fZnJlZWRfb2JqZWN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAkvKgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMzc4MGJkZGQxMTEwLi5hMmJhMTIzZjdiMzEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNDUsNyArNDUsNiBAQAogI2luY2x1ZGUgImdlbS9p OTE1X2dlbV9jb250ZXh0LmgiCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oIgogI2lu Y2x1ZGUgImdlbS9pOTE1X2dlbV9wbS5oIgotI2luY2x1ZGUgImdlbS9pOTE1X2dlbWZzLmgiCiAj aW5jbHVkZSAiZ3QvaW50ZWxfZW5naW5lX3VzZXIuaCIKICNpbmNsdWRlICJndC9pbnRlbF9ndC5o IgogI2luY2x1ZGUgImd0L2ludGVsX2d0X3BtLmgiCkBAIC0xNDM1LDE2ICsxNDM0LDEwIEBAIHN0 YXRpYyB2b2lkIGk5MTVfZ2VtX2luaXRfX21tKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogCiB2b2lkIGk5MTVfZ2VtX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogewotCWludCBlcnI7Ci0KIAlpOTE1X2dlbV9pbml0X19tbShkZXZfcHJpdik7CiAJ aTkxNV9nZW1faW5pdF9fcG0oZGV2X3ByaXYpOwogCiAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2 LT5mYl90cmFja2luZy5sb2NrKTsKLQotCWVyciA9IGk5MTVfZ2VtZnNfaW5pdChkZXZfcHJpdik7 Ci0JaWYgKGVycikKLQkJRFJNX05PVEUoIlVuYWJsZSB0byBjcmVhdGUgYSBwcml2YXRlIHRtcGZz IG1vdW50LCBodWdlcGFnZSBzdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQoJWQpLlxuIiwgZXJyKTsK IH0KIAogdm9pZCBpOTE1X2dlbV9jbGVhbnVwX2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKQEAgLTE0NTMsOCArMTQ0Niw2IEBAIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9l YXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJR0VNX0JVR19PTighbGxp c3RfZW1wdHkoJmRldl9wcml2LT5tbS5mcmVlX2xpc3QpKTsKIAlHRU1fQlVHX09OKGF0b21pY19y ZWFkKCZkZXZfcHJpdi0+bW0uZnJlZV9jb3VudCkpOwogCVdBUk5fT04oZGV2X3ByaXYtPm1tLnNo cmlua19jb3VudCk7Ci0KLQlpOTE1X2dlbWZzX2ZpbmkoZGV2X3ByaXYpOwogfQogCiBpbnQgaTkx NV9nZW1fZnJlZXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggN2I4ZTMwYzcyZjg2Li4yNjNmMWNlYTBiNjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yNzczLDE0ICsyNzczLDI5IEBAIGlu dCBpOTE1X2dlbV9pbml0X21lbW9yeV9yZWdpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogCiAJZm9yIChpID0gMDsgaSA8IElOVEVMX1JFR0lPTl9VTktOT1dOOyBpKyspIHsKIAkJ c3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSA9IEVSUl9QVFIoLUVOT0RFVik7CisJCXUz MiB0eXBlOwogCiAJCWlmICghSEFTX1JFR0lPTihpOTE1LCBCSVQoaSkpKQogCQkJY29udGludWU7 CiAKKwkJdHlwZSA9IE1FTU9SWV9UWVBFX0ZST01fUkVHSU9OKGludGVsX3JlZ2lvbl9tYXBbaV0p OworCQlzd2l0Y2ggKHR5cGUpIHsKKwkJY2FzZSBJTlRFTF9NRU1PUllfU1lTVEVNOgorCQkJbWVt ID0gaTkxNV9nZW1fc2htZW1fc2V0dXAoaTkxNSk7CisJCQlicmVhazsKKwkJfQorCiAJCWlmIChJ U19FUlIobWVtKSkgewogCQkJZXJyID0gUFRSX0VSUihtZW0pOworCQkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gc2V0dXAgcmVnaW9uKCVkKSB0eXBlPSVkXG4iLCBlcnIsIHR5cGUpOwogCQkJZ290byBv dXRfY2xlYW51cDsKIAkJfQorCisJCW1lbS0+aWQgPSBpbnRlbF9yZWdpb25fbWFwW2ldOworCQlt ZW0tPnR5cGUgPSB0eXBlOworCQltZW0tPmluc3RhbmNlID0gTUVNT1JZX0lOU1RBTkNFX0ZST01f UkVHSU9OKGludGVsX3JlZ2lvbl9tYXBbaV0pOworCisJCWk5MTUtPm1tLnJlZ2lvbnNbaV0gPSBt ZW07CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYwppbmRleCAxY2JmMzk5 OGIzNjEuLmU1NWFiMjcyNDk5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wY2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC0xNTEsNiAr MTUxLDkgQEAKICNkZWZpbmUgR0VOX0RFRkFVTFRfUEFHRV9TSVpFUyBcCiAJLnBhZ2Vfc2l6ZXMg PSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsKIAorI2RlZmluZSBHRU5fREVGQVVMVF9SRUdJT05TIFwK KwkubWVtb3J5X3JlZ2lvbnMgPSBSRUdJT05fU01FTQorCiAjZGVmaW5lIEk4MzBfRkVBVFVSRVMg XAogCUdFTigyKSwgXAogCS5pc19tb2JpbGUgPSAxLCBcCkBAIC0xNjgsNyArMTcxLDggQEAKIAlJ OVhYX1BJUEVfT0ZGU0VUUywgXAogCUk5WFhfQ1VSU09SX09GRlNFVFMsIFwKIAlJOVhYX0NPTE9S UywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBc CisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiAjZGVmaW5lIEk4NDVfRkVBVFVSRVMgXAogCUdFTigy KSwgXApAQCAtMTg1LDcgKzE4OSw4IEBACiAJSTg0NV9QSVBFX09GRlNFVFMsIFwKIAlJODQ1X0NV UlNPUl9PRkZTRVRTLCBcCiAJSTlYWF9DT0xPUlMsIFwKLQlHRU5fREVGQVVMVF9QQUdFX1NJWkVT CisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JFR0lPTlMKIAogc3Rh dGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pODMwX2luZm8gPSB7CiAJ STgzMF9GRUFUVVJFUywKQEAgLTIxOSw3ICsyMjQsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2RldmljZV9pbmZvIGludGVsX2k4NjVnX2luZm8gPSB7CiAJSTlYWF9QSVBFX09GRlNFVFMs IFwKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBcCiAJSTlYWF9DT0xPUlMsIFwKLQlHRU5fREVGQVVM VF9QQUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JF R0lPTlMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9pOTE1 Z19pbmZvID0gewogCUdFTjNfRkVBVFVSRVMsCkBAIC0zMDQsNyArMzEwLDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9waW5ldmlld19tX2luZm8gPSB7CiAJ STlYWF9QSVBFX09GRlNFVFMsIFwKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBcCiAJSTk2NV9DT0xP UlMsIFwKLQlHRU5fREVGQVVMVF9QQUdFX1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywg XAorCUdFTl9ERUZBVUxUX1JFR0lPTlMKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyBpbnRlbF9pOTY1Z19pbmZvID0gewogCUdFTjRfRkVBVFVSRVMsCkBAIC0zNTQsNyAr MzYxLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9nbTQ1 X2luZm8gPSB7CiAJSTlYWF9QSVBFX09GRlNFVFMsIFwKIAlJOVhYX0NVUlNPUl9PRkZTRVRTLCBc CiAJSUxLX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlHRU5fREVGQVVMVF9Q QUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGludGVsX2lyb25sYWtlX2RfaW5mbyA9IHsKIAlHRU41X0ZFQVRV UkVTLApAQCAtMzg0LDcgKzM5Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gaW50ZWxfaXJvbmxha2VfbV9pbmZvID0gewogCUk5WFhfUElQRV9PRkZTRVRTLCBcCiAJ STlYWF9DVVJTT1JfT0ZGU0VUUywgXAogCUlMS19DT0xPUlMsIFwKLQlHRU5fREVGQVVMVF9QQUdF X1NJWkVTCisJR0VOX0RFRkFVTFRfUEFHRV9TSVpFUywgXAorCUdFTl9ERUZBVUxUX1JFR0lPTlMK IAogI2RlZmluZSBTTkJfRF9QTEFURk9STSBcCiAJR0VONl9GRUFUVVJFUywgXApAQCAtNDMyLDcg KzQ0MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfc2Fu ZHlicmlkZ2VfbV9ndDJfaW5mbyA9IHsKIAlJVkJfUElQRV9PRkZTRVRTLCBcCiAJSVZCX0NVUlNP Ul9PRkZTRVRTLCBcCiAJSVZCX0NPTE9SUywgXAotCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMKKwlH RU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCisJR0VOX0RFRkFVTFRfUkVHSU9OUwogCiAjZGVmaW5l IElWQl9EX1BMQVRGT1JNIFwKIAlHRU43X0ZFQVRVUkVTLCBcCkBAIC00OTMsNiArNTAzLDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF92YWxsZXl2aWV3X2lu Zm8gPSB7CiAJSTlYWF9DVVJTT1JfT0ZGU0VUUywKIAlJOTY1X0NPTE9SUywKIAlHRU5fREVGQVVM VF9QQUdFX1NJWkVTLAorCUdFTl9ERUZBVUxUX1JFR0lPTlMsCiB9OwogCiAjZGVmaW5lIEc3NV9G RUFUVVJFUyAgXApAQCAtNTg3LDYgKzU5OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gaW50ZWxfY2hlcnJ5dmlld19pbmZvID0gewogCUNIVl9DVVJTT1JfT0ZGU0VU UywKIAlDSFZfQ09MT1JTLAogCUdFTl9ERUZBVUxUX1BBR0VfU0laRVMsCisJR0VOX0RFRkFVTFRf UkVHSU9OUywKIH07CiAKICNkZWZpbmUgR0VOOV9ERUZBVUxUX1BBR0VfU0laRVMgXApAQCAtNjYx LDcgKzY3Myw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxf c2t5bGFrZV9ndDRfaW5mbyA9IHsKIAlIU1dfUElQRV9PRkZTRVRTLCBcCiAJSVZCX0NVUlNPUl9P RkZTRVRTLCBcCiAJSVZCX0NPTE9SUywgXAotCUdFTjlfREVGQVVMVF9QQUdFX1NJWkVTCisJR0VO OV9ERUZBVUxUX1BBR0VfU0laRVMsIFwKKwlHRU5fREVGQVVMVF9SRUdJT05TCiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfYnJveHRvbl9pbmZvID0gewogCUdF TjlfTFBfRkVBVFVSRVMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmMKaW5kZXggYzAyOTk0MzVkNzVlLi4xMzJkYTg3MmIyMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKQEAgLTYsNiArNiwxNCBAQAogI2luY2x1ZGUgImlu dGVsX21lbW9yeV9yZWdpb24uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCisvKiBYWFg6IEh5 c3RlcmljYWwgcmFpc2lucy4gQklUKGluc3QpIG5lZWRzIHRvIGp1c3QgYmUgKGluc3QpIGF0IHNv bWUgcG9pbnQuICovCisjZGVmaW5lIFJFR0lPTl9NQVAodHlwZSwgaW5zdCkgXAorCUJJVCgodHlw ZSkgKyBJTlRFTF9NRU1PUllfVFlQRV9TSElGVCkgfCBCSVQoaW5zdCkKKworY29uc3QgdTMyIGlu dGVsX3JlZ2lvbl9tYXBbXSA9IHsKKwlbSU5URUxfUkVHSU9OX1NNRU1dID0gUkVHSU9OX01BUChJ TlRFTF9NRU1PUllfU1lTVEVNLCAwKSwKK307CisKIHN0YXRpYyB1NjQKIGludGVsX21lbW9yeV9y ZWdpb25fZnJlZV9wYWdlcyhzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAogCQkJICAg ICAgIHN0cnVjdCBsaXN0X2hlYWQgKmJsb2NrcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X21lbW9yeV9yZWdpb24uaAppbmRleCBjZGZlMzZmNmRhNmUuLjljNTZjMDUzMjhkNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaApAQCAtMjIsMTMgKzIyLDE3 IEBAIHN0cnVjdCBzZ190YWJsZTsKICAqICBCYXNlIG1lbW9yeSB0eXBlCiAgKi8KIGVudW0gaW50 ZWxfbWVtb3J5X3R5cGUgewotCUlOVEVMX01FTU9SWV9VTktOT1dOID0gMCwKKwlJTlRFTF9NRU1P UllfU1lTVEVNID0gMCwKKwlJTlRFTF9NRU1PUllfVU5LTk9XTiwKIH07CiAKIGVudW0gaW50ZWxf cmVnaW9uX2lkIHsKLQlJTlRFTF9SRUdJT05fVU5LTk9XTiA9IDAsIC8qIFNob3VsZCBiZSBsYXN0 ICovCisJSU5URUxfUkVHSU9OX1NNRU0gPSAwLAorCUlOVEVMX1JFR0lPTl9VTktOT1dOLCAvKiBT aG91bGQgYmUgbGFzdCAqLwogfTsKIAorI2RlZmluZSBSRUdJT05fU01FTSAgICAgQklUKElOVEVM X1JFR0lPTl9TTUVNKQorCiAjZGVmaW5lIElOVEVMX01FTU9SWV9UWVBFX1NISUZUIDE2CiAKICNk ZWZpbmUgTUVNT1JZX1RZUEVfRlJPTV9SRUdJT04ocikgKGlsb2cyKChyKSA+PiBJTlRFTF9NRU1P UllfVFlQRV9TSElGVCkpCkBAIC0zNyw2ICs0MSwxMSBAQCBlbnVtIGludGVsX3JlZ2lvbl9pZCB7 CiAjZGVmaW5lIEk5MTVfQUxMT0NfTUlOX1BBR0VfU0laRSAgQklUKDApCiAjZGVmaW5lIEk5MTVf QUxMT0NfQ09OVElHVU9VUyAgICAgQklUKDEpCiAKKy8qKgorICogTWVtb3J5IHJlZ2lvbnMgZW5j b2RlZCBhcyB0eXBlIHwgaW5zdGFuY2UKKyAqLworZXh0ZXJuIGNvbnN0IHUzMiBpbnRlbF9yZWdp b25fbWFwW107CisKIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29wcyB7CiAJdW5zaWduZWQg aW50IGZsYWdzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv bW9ja19nZW1fZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19n ZW1fZGV2aWNlLmMKaW5kZXggYmM1ZTNjNjc0MDlmLi5jYjhjM2E1MDFjYzcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTcyLDgg KzcyLDYgQEAgc3RhdGljIHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCW1vY2tfZmluaV9nZ3R0KCZpOTE1LT5nZ3R0KTsKIAlkZXN0cm95X3dvcmtxdWV1 ZShpOTE1LT53cSk7CiAKLQlpOTE1X2dlbWZzX2ZpbmkoaTkxNSk7Ci0KIAlpOTE1X2dlbV9jbGVh bnVwX21lbW9yeV9yZWdpb25zKGk5MTUpOwogCiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoJmk5 MTUtPmRybSk7CkBAIC0xNjUsNyArMTYzLDEwIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpt b2NrX2dlbV9kZXZpY2Uodm9pZCkKIAkJSTkxNV9HVFRfUEFHRV9TSVpFXzY0SyB8CiAJCUk5MTVf R1RUX1BBR0VfU0laRV8yTTsKIAorCW1rd3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPm1lbW9yeV9y ZWdpb25zID0gUkVHSU9OX1NNRU07CisKIAltb2NrX3VuY29yZV9pbml0KCZpOTE1LT51bmNvcmUs IGk5MTUpOworCiAJaTkxNV9nZW1faW5pdF9fbW0oaTkxNSk7CiAJaW50ZWxfZ3RfaW5pdF9lYXJs eSgmaTkxNS0+Z3QsIGk5MTUpOwogCWF0b21pY19pbmMoJmk5MTUtPmd0Lndha2VyZWYuY291bnQp OyAvKiBkaXNhYmxlOyBubyBodyBzdXBwb3J0ICovCkBAIC0xOTYsOCArMTk3LDYgQEAgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCiAJaW50ZWxfZW5naW5l c19kcml2ZXJfcmVnaXN0ZXIoaTkxNSk7CiAKLQlXQVJOX09OKGk5MTVfZ2VtZnNfaW5pdChpOTE1 KSk7Ci0KIAllcnIgPSBpOTE1X2dlbV9pbml0X21lbW9yeV9yZWdpb25zKGk5MTUpOwogCWlmIChl cnIpCiAJCWdvdG8gZXJyX2NvbnRleHQ7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==