From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 22/22] HAX drm/i915: add the fake lmem region Date: Thu, 3 Oct 2019 20:24:44 +0100 Message-ID: <20191003192444.10113-23-matthew.auld@intel.com> References: <20191003192444.10113-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F5CB6EA66 for ; Thu, 3 Oct 2019 19:25:22 +0000 (UTC) In-Reply-To: <20191003192444.10113-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 SW50ZW5kZWQgZm9yIHVwc3RyZWFtIHRlc3Rpbmcgc28gdGhhdCB3ZSBjYW4gc3RpbGwgZXhlcmNp c2UgdGhlIExNRU0KcGx1bWJpbmcgYW5kICFIQVNfTUFQUEFCTEVfQVBFUlRVUkUgcGF0aHMuIFNt b2tlIHRlc3RlZCBvbiBTa3VsbCBDYW55b24KZGV2aWNlLiBUaGlzIHdvcmtzIGJ5IGFsbG9jYXRp bmcgYW4gaW50ZWxfbWVtb3J5X3JlZ2lvbiBmb3IgYSByZXNlcnZlZApwb3J0aW9uIG9mIHN5c3Rl bSBtZW1vcnksIHdoaWNoIHdlIHRyZWF0IGxpa2UgTE1FTS4gRm9yIHRoZSBMTUVNQkFSIHdlCnN0 ZWFsIHRoZSBhcGVydHVyZSBhbmQgMToxIGl0IG1hcCB0byB0aGUgc3RvbGVuIHJlZ2lvbi4KClRv IGVuYWJsZSBzaW1wbHkgc2V0IGk5MTVfZmFrZV9sbWVtX3N0YXJ0PSBvbiB0aGUga2VybmVsIGNt ZGxpbmUgd2l0aCB0aGUKc3RhcnQgb2YgcmVzZXJ2ZWQgcmVnaW9uKHNlZSBtZW1tYXA9KS4gVGhl IHNpemUgb2YgdGhlIHJlZ2lvbiB3ZSBjYW4KdXNlIGlzIGRldGVybWluZWQgYnkgdGhlIHNpemUg b2YgdGhlIG1hcHBhYmxlIGFwZXJ0dXJlLCBzbyB0aGUgc2l6ZSBvZgpyZXNlcnZlZCByZWdpb24g c2hvdWxkIGJlID49IG1hcHBhYmxlX2VuZC4KCmVnLiBtZW1tYXA9MkckMTZHIGk5MTVfZmFrZV9s bWVtX3N0YXJ0PTB4NDAwMDAwMDAwCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRo ZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBs aW51eC5pbnRlbC5jb20+CkNjOiBBYmRpZWwgSmFudWxndWUgPGFiZGllbC5qYW51bGd1ZUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jICAgICAgICAg ICAgIHwgMjYgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xtZW0u YyAgIHwgIDMgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICAgIHwg IDggKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICAgICB8ICAzICsK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCB8ICA2ICsrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jICAgfCA5MCArKysrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5oICAgfCAg NSArKwogaW5jbHVkZS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICAgICAgICAgIHwgIDMgKwog OCBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2tlcm5lbC9lYXJseS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwpp bmRleCA2ZjZiMWQwNGRhZGYuLjliMDQ2NTVlMzkyNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2Vy bmVsL2Vhcmx5LXF1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwpA QCAtNjAzLDYgKzYwMywzMiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW50ZWxfZ3JhcGhpY3NfcXVp cmtzKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYykKIAl9CiB9CiAKK3N0cnVjdCByZXNvdXJj ZSBpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1fcmVzIF9fcm9fYWZ0ZXJfaW5pdCA9IERFRklORV9S RVNfTUVNKDAsIDApOworRVhQT1JUX1NZTUJPTChpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1fcmVz KTsKKworc3RhdGljIGludCBfX2luaXQgZWFybHlfaTkxNV9mYWtlX2xtZW1faW5pdChjaGFyICpz KQoreworCXU2NCBzdGFydDsKKwlpbnQgcmV0OworCisJaWYgKCpzID09ICc9JykKKwkJcysrOwor CisJcmV0ID0ga3N0cnRvdWxsKHMsIDE2LCAmc3RhcnQpOworCWlmIChyZXQpCisJCXJldHVybiBy ZXQ7CisKKwlpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1fcmVzLnN0YXJ0ID0gc3RhcnQ7CisJaW50 ZWxfZ3JhcGhpY3NfZmFrZV9sbWVtX3Jlcy5lbmQgPSBTWl8yRzsgLyogUGxhY2Vob2xkZXI7IGRl cGVuZHMgb24gYXBlcnR1cmUgc2l6ZSAqLworCisJcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgZ3Jh cGhpY3MgZmFrZSBMTUVNIHN0YXJ0cyBhdCAlcGFcbiIsCisJICAgICAgICZpbnRlbF9ncmFwaGlj c19mYWtlX2xtZW1fcmVzLnN0YXJ0KTsKKworCXJldHVybiAwOworfQorCitlYXJseV9wYXJhbSgi aTkxNV9mYWtlX2xtZW1fc3RhcnQiLCBlYXJseV9pOTE1X2Zha2VfbG1lbV9pbml0KTsKKwogc3Rh dGljIHZvaWQgX19pbml0IGZvcmNlX2Rpc2FibGVfaHBldChpbnQgbnVtLCBpbnQgc2xvdCwgaW50 IGZ1bmMpCiB7CiAjaWZkZWYgQ09ORklHX0hQRVRfVElNRVIKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fbG1lbS5jCmluZGV4IDFhMDQ1ODU4YjNiMi4uYThjM2Q1MmViNDRjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKQEAgLTIzLDYgKzIzLDcgQEAg dm9pZCBfX2lvbWVtICppOTE1X2dlbV9vYmplY3RfbG1lbV9pb19tYXBfcGFnZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXJlc291cmNlX3NpemVfdCBvZmZzZXQ7CiAKIAlvZmZz ZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgbik7CisJb2Zmc2V0IC09 IG9iai0+bW0ucmVnaW9uLT5yZWdpb24uc3RhcnQ7CiAKIAlyZXR1cm4gaW9fbWFwcGluZ19tYXBf d2MoJm9iai0+bW0ucmVnaW9uLT5pb21hcCwgb2Zmc2V0LCBQQUdFX1NJWkUpOwogfQpAQCAtMzMs NiArMzQsNyBAQCB2b2lkIF9faW9tZW0gKmk5MTVfZ2VtX29iamVjdF9sbWVtX2lvX21hcF9wYWdl X2F0b21pYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdAogCXJlc291cmNlX3NpemVfdCBvZmZz ZXQ7CiAKIAlvZmZzZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgbik7 CisJb2Zmc2V0IC09IG9iai0+bW0ucmVnaW9uLT5yZWdpb24uc3RhcnQ7CiAKIAlyZXR1cm4gaW9f bWFwcGluZ19tYXBfYXRvbWljX3djKCZvYmotPm1tLnJlZ2lvbi0+aW9tYXAsIG9mZnNldCk7CiB9 CkBAIC00Niw2ICs0OCw3IEBAIHZvaWQgX19pb21lbSAqaTkxNV9nZW1fb2JqZWN0X2xtZW1faW9f bWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJR0VNX0JVR19PTighKG9iai0+ ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMpKTsKIAogCW9mZnNldCA9IGk5MTVfZ2Vt X29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCBuKTsKKwlvZmZzZXQgLT0gb2JqLT5tbS5yZWdp b24tPnJlZ2lvbi5zdGFydDsKIAogCXJldHVybiBpb19tYXBwaW5nX21hcF93Yygmb2JqLT5tbS5y ZWdpb24tPmlvbWFwLCBvZmZzZXQsIHNpemUpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5k ZXggMzMwNmM2YmI1MTVhLi5lNTNlNzBiNGZkMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpA QCAtMTUyNiw2ICsxNTI2LDE0IEBAIGludCBpOTE1X2RyaXZlcl9wcm9iZShzdHJ1Y3QgcGNpX2Rl diAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlpZiAoIWk5MTVfbW9k cGFyYW1zLm51Y2xlYXJfcGFnZWZsaXAgJiYgbWF0Y2hfaW5mby0+Z2VuIDwgNSkKIAkJZGV2X3By aXYtPmRybS5kcml2ZXJfZmVhdHVyZXMgJj0gfkRSSVZFUl9BVE9NSUM7CiAKKwkvKiBDaGVjayBp ZiB3ZSBzdXBwb3J0IGZha2UgTE1FTSAtLSBlbmFibGUgZm9yIGxpdmUgc2VsZnRlc3RzICovCisJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSAmJiBpOTE1X3NlbGZ0ZXN0LmxpdmUgJiYKKwkg ICAgaW50ZWxfZ3JhcGhpY3NfZmFrZV9sbWVtX3Jlcy5zdGFydCkgeworCQlta3dyaXRlX2Rldmlj ZV9pbmZvKGRldl9wcml2KS0+bWVtb3J5X3JlZ2lvbnMgPQorCQkJUkVHSU9OX1NNRU0gfCBSRUdJ T05fTE1FTSB8IFJFR0lPTl9TVE9MRU47CisJCUdFTV9CVUdfT04oIUhBU19MTUVNKGRldl9wcml2 KSk7CisJfQorCiAJcmV0ID0gcGNpX2VuYWJsZV9kZXZpY2UocGRldik7CiAJaWYgKHJldCkKIAkJ Z290byBvdXRfZmluaTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggMDk2ZjUw ZjFkZGE1Li5lNzgzMmRjMWU3ZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBA IC0yNzc4LDYgKzI3NzgsOSBAQCBpbnQgaTkxNV9nZW1faW5pdF9tZW1vcnlfcmVnaW9ucyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJY2FzZSBJTlRFTF9TVE9MRU46CiAJCQltZW0g PSBpOTE1X2dlbV9zdG9sZW5fc2V0dXAoaTkxNSk7CiAJCQlicmVhazsKKwkJY2FzZSBJTlRFTF9M TUVNOgorCQkJbWVtID0gaW50ZWxfc2V0dXBfZmFrZV9sbWVtKGk5MTUpOworCQkJYnJlYWs7CiAJ CX0KIAogCQlpZiAoSVNfRVJSKG1lbSkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21lbW9yeV9yZWdpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21l bW9yeV9yZWdpb24uaAppbmRleCAxNGFmY2Q2MTU5MzUuLjAwNWE5ZWUyMmYyMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaApAQCAtMTAsNiArMTAsNyBAQAog I2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5j bHVkZSA8bGludXgvaW8tbWFwcGluZy5oPgorI2luY2x1ZGUgPGRybS9kcm1fbW0uaD4KIAogI2lu Y2x1ZGUgImk5MTVfYnVkZHkuaCIKIApAQCAtNzEsNiArNzIsOSBAQCBzdHJ1Y3QgaW50ZWxfbWVt b3J5X3JlZ2lvbiB7CiAJc3RydWN0IGlvX21hcHBpbmcgaW9tYXA7CiAJc3RydWN0IHJlc291cmNl IHJlZ2lvbjsKIAorCS8qIEZvciBmYWtpbmcgZm9yIGxtZW0gKi8KKwlzdHJ1Y3QgZHJtX21tX25v ZGUgZmFrZV9tYXBwYWJsZTsKKwogCXN0cnVjdCBpOTE1X2J1ZGR5X21tIG1tOwogCXN0cnVjdCBt dXRleCBtbV9sb2NrOwogCkBAIC04Myw2ICs4Nyw4IEBAIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVn aW9uIHsKIAl1bnNpZ25lZCBpbnQgaW5zdGFuY2U7CiAJdW5zaWduZWQgaW50IGlkOwogCisJZG1h X2FkZHJfdCByZW1hcF9hZGRyOworCiAJLyogUHJvdGVjdHMgYWNjZXNzIHRvIG9iamVjdHMgYW5k IHB1cmdlYWJsZSAqLwogCXN0cnVjdCBtdXRleCBvYmpfbG9jazsKIAlzdHJ1Y3QgbGlzdF9oZWFk IG9iamVjdHM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25f bG1lbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uYwppbmRleCAw NTEwNjk2NjQwNzQuLjkzNWI4ZjE5NjUzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmVnaW9uX2xtZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y ZWdpb25fbG1lbS5jCkBAIC0zNiw5ICszNiw2MiBAQCBsbWVtX2NyZWF0ZV9vYmplY3Qoc3RydWN0 IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKIAlyZXR1cm4gb2JqOwogfQogCitzdGF0aWMgaW50 IGluaXRfZmFrZV9sbWVtX2JhcihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQorewor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gbWVtLT5pOTE1OworCXN0cnVjdCBpOTE1 X2dndHQgKmdndHQgPSAmaTkxNS0+Z2d0dDsKKwl1bnNpZ25lZCBsb25nIG47CisJaW50IHJldDsK KworCS8qIFdlIHdhbnQgdG8gMToxIG1hcCB0aGUgbWFwcGFibGUgYXBlcnR1cmUgdG8gb3VyIHJl c2VydmVkIHJlZ2lvbiAqLworCisJbWVtLT5mYWtlX21hcHBhYmxlLnN0YXJ0ID0gMDsKKwltZW0t PmZha2VfbWFwcGFibGUuc2l6ZSA9IHJlc291cmNlX3NpemUoJm1lbS0+cmVnaW9uKTsKKwltZW0t PmZha2VfbWFwcGFibGUuY29sb3IgPSBJOTE1X0NPTE9SX1VORVZJQ1RBQkxFOworCisJcmV0ID0g ZHJtX21tX3Jlc2VydmVfbm9kZSgmZ2d0dC0+dm0ubW0sICZtZW0tPmZha2VfbWFwcGFibGUpOwor CWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwltZW0tPnJlbWFwX2FkZHIgPSBkbWFfbWFwX3Jl c291cmNlKCZpOTE1LT5kcm0ucGRldi0+ZGV2LAorCQkJCQkgICBtZW0tPnJlZ2lvbi5zdGFydCwK KwkJCQkJICAgbWVtLT5mYWtlX21hcHBhYmxlLnNpemUsCisJCQkJCSAgIFBDSV9ETUFfQklESVJF Q1RJT05BTCwKKwkJCQkJICAgRE1BX0FUVFJfRk9SQ0VfQ09OVElHVU9VUyk7CisJaWYgKGRtYV9t YXBwaW5nX2Vycm9yKCZpOTE1LT5kcm0ucGRldi0+ZGV2LCBtZW0tPnJlbWFwX2FkZHIpKSB7CisJ CWRybV9tbV9yZW1vdmVfbm9kZSgmbWVtLT5mYWtlX21hcHBhYmxlKTsKKwkJcmV0dXJuIC1FSU5W QUw7CisJfQorCisJZm9yIChuID0gMDsgbiA8IG1lbS0+ZmFrZV9tYXBwYWJsZS5zaXplID4+IFBB R0VfU0hJRlQ7ICsrbikgeworCQlnZ3R0LT52bS5pbnNlcnRfcGFnZSgmZ2d0dC0+dm0sCisJCQkJ ICAgICBtZW0tPnJlbWFwX2FkZHIgKyAobiA8PCBQQUdFX1NISUZUKSwKKwkJCQkgICAgIG4gPDwg UEFHRV9TSElGVCwKKwkJCQkgICAgIEk5MTVfQ0FDSEVfTk9ORSwgMCk7CisJfQorCisJbWVtLT5y ZWdpb24gPSAoc3RydWN0IHJlc291cmNlKURFRklORV9SRVNfTUVNKG1lbS0+cmVtYXBfYWRkciwK KwkJCQkJCSAgICAgIG1lbS0+ZmFrZV9tYXBwYWJsZS5zaXplKTsKKworCXJldHVybiAwOworfQor CitzdGF0aWMgdm9pZCByZWxlYXNlX2Zha2VfbG1lbV9iYXIoc3RydWN0IGludGVsX21lbW9yeV9y ZWdpb24gKm1lbSkKK3sKKwlpZiAoZHJtX21tX25vZGVfYWxsb2NhdGVkKCZtZW0tPmZha2VfbWFw cGFibGUpKQorCQlkcm1fbW1fcmVtb3ZlX25vZGUoJm1lbS0+ZmFrZV9tYXBwYWJsZSk7CisKKwlk bWFfdW5tYXBfcmVzb3VyY2UoJm1lbS0+aTkxNS0+ZHJtLnBkZXYtPmRldiwKKwkJCSAgIG1lbS0+ cmVtYXBfYWRkciwKKwkJCSAgIG1lbS0+ZmFrZV9tYXBwYWJsZS5zaXplLAorCQkJICAgUENJX0RN QV9CSURJUkVDVElPTkFMLAorCQkJICAgRE1BX0FUVFJfRk9SQ0VfQ09OVElHVU9VUyk7Cit9CisK IHN0YXRpYyB2b2lkCiByZWdpb25fbG1lbV9yZWxlYXNlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVn aW9uICptZW0pCiB7CisJcmVsZWFzZV9mYWtlX2xtZW1fYmFyKG1lbSk7CiAJaW9fbWFwcGluZ19m aW5pKCZtZW0tPmlvbWFwKTsKIAlpbnRlbF9tZW1vcnlfcmVnaW9uX3JlbGVhc2VfYnVkZHkobWVt KTsKIH0KQEAgLTQ4LDYgKzEwMSwxMSBAQCByZWdpb25fbG1lbV9pbml0KHN0cnVjdCBpbnRlbF9t ZW1vcnlfcmVnaW9uICptZW0pCiB7CiAJaW50IHJldDsKIAorCWlmIChpbnRlbF9ncmFwaGljc19m YWtlX2xtZW1fcmVzLnN0YXJ0KSB7CisJCXJldCA9IGluaXRfZmFrZV9sbWVtX2JhcihtZW0pOwor CQlHRU1fQlVHX09OKHJldCk7CisJfQorCiAJaWYgKCFpb19tYXBwaW5nX2luaXRfd2MoJm1lbS0+ aW9tYXAsCiAJCQkJbWVtLT5pb19zdGFydCwKIAkJCQlyZXNvdXJjZV9zaXplKCZtZW0tPnJlZ2lv bikpKQpAQCAtNjUsMyArMTIzLDM1IEBAIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9u X29wcyBpbnRlbF9yZWdpb25fbG1lbV9vcHMgPSB7CiAJLnJlbGVhc2UgPSByZWdpb25fbG1lbV9y ZWxlYXNlLAogCS5jcmVhdGVfb2JqZWN0ID0gbG1lbV9jcmVhdGVfb2JqZWN0LAogfTsKKworc3Ry dWN0IGludGVsX21lbW9yeV9yZWdpb24gKgoraW50ZWxfc2V0dXBfZmFrZV9sbWVtKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQoreworCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gaTkxNS0+ ZHJtLnBkZXY7CisJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbTsKKwlyZXNvdXJjZV9z aXplX3QgbWFwcGFibGVfZW5kOworCXJlc291cmNlX3NpemVfdCBpb19zdGFydDsKKwlyZXNvdXJj ZV9zaXplX3Qgc3RhcnQ7CisKKwlHRU1fQlVHX09OKEhBU19NQVBQQUJMRV9BUEVSVFVSRShpOTE1 KSk7CisJR0VNX0JVR19PTighaW50ZWxfZ3JhcGhpY3NfZmFrZV9sbWVtX3Jlcy5zdGFydCk7CisK KwkvKiBZb3VyIG1hcHBhYmxlIGFwZXJ0dXJlIGJlbG9uZ3MgdG8gbWUgbm93ISAqLworCW1hcHBh YmxlX2VuZCA9IHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMik7CisJaW9fc3RhcnQgPSBwY2lfcmVz b3VyY2Vfc3RhcnQocGRldiwgMiksCisJc3RhcnQgPSBpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1f cmVzLnN0YXJ0OworCisJbWVtID0gaW50ZWxfbWVtb3J5X3JlZ2lvbl9jcmVhdGUoaTkxNSwKKwkJ CQkJIHN0YXJ0LAorCQkJCQkgbWFwcGFibGVfZW5kLAorCQkJCQkgSTkxNV9HVFRfUEFHRV9TSVpF XzRLLAorCQkJCQkgaW9fc3RhcnQsCisJCQkJCSAmaW50ZWxfcmVnaW9uX2xtZW1fb3BzKTsKKwlp ZiAoIUlTX0VSUihtZW0pKSB7CisJCURSTV9JTkZPKCJJbnRlbCBncmFwaGljcyBmYWtlIExNRU06 ICVwUlxuIiwgJm1lbS0+cmVnaW9uKTsKKwkJRFJNX0lORk8oIkludGVsIGdyYXBoaWNzIGZha2Ug TE1FTSBJTyBzdGFydDogJWxseFxuIiwKKwkJCSAodTY0KW1lbS0+aW9fc3RhcnQpOworCX0KKwor CXJldHVybiBtZW07Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y ZWdpb25fbG1lbS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaApp bmRleCBlZDJhM2JhYjY0NDMuLjIxM2RlZjdjN2I4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yZWdpb25fbG1lbS5oCkBAIC02LDYgKzYsMTEgQEAKICNpZm5kZWYgX19JTlRFTF9SRUdJ T05fTE1FTV9ICiAjZGVmaW5lIF9fSU5URUxfUkVHSU9OX0xNRU1fSAogCitzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZTsKKwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29w cyBpbnRlbF9yZWdpb25fbG1lbV9vcHM7CiAKK3N0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICoK K2ludGVsX3NldHVwX2Zha2VfbG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisK ICNlbmRpZiAvKiAhX19JTlRFTF9SRUdJT05fTE1FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS9kcm0vaTkxNV9kcm0uaAppbmRleCA2NzIyMDA1ODg0 ZGIuLjI3MTk4MDIyNWRlYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vaTkxNV9kcm0uaAorKysg Yi9pbmNsdWRlL2RybS9pOTE1X2RybS5oCkBAIC0zOSw2ICszOSw5IEBAIGJvb2wgaTkxNV9ncHVf dHVyYm9fZGlzYWJsZSh2b2lkKTsKIC8qIEV4cG9ydGVkIGZyb20gYXJjaC94ODYva2VybmVsL2Vh cmx5LXF1aXJrcy5jICovCiBleHRlcm4gc3RydWN0IHJlc291cmNlIGludGVsX2dyYXBoaWNzX3N0 b2xlbl9yZXM7CiAKKy8qIEV4cG9ydGVkIGZyb20gYXJjaC94ODYva2VybmVsL2Vhcmx5LXByaW50 ay5jICovCitleHRlcm4gc3RydWN0IHJlc291cmNlIGludGVsX2dyYXBoaWNzX2Zha2VfbG1lbV9y ZXM7CisKIC8qCiAgKiBUaGUgQnJpZGdlIGRldmljZSdzIFBDSSBjb25maWcgc3BhY2UgaGFzIGlu Zm9ybWF0aW9uIGFib3V0IHRoZQogICogZmIgYXBlcnR1cmUgc2l6ZSBhbmQgdGhlIGFtb3VudCBv ZiBwcmUtcmVzZXJ2ZWQgbWVtb3J5LgotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=