From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 22/22] HAX drm/i915: add the fake lmem region Date: Fri, 27 Sep 2019 18:34:09 +0100 Message-ID: <20190927173409.31175-23-matthew.auld@intel.com> References: <20190927173409.31175-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5EE156E174 for ; Fri, 27 Sep 2019 17:34:47 +0000 (UTC) In-Reply-To: <20190927173409.31175-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 Cc: daniel.vetter@ffwll.ch 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 ZW0vaTkxNV9nZW1fbG1lbS5jCmluZGV4IGQ3ZWM3NGVkNWI4OC4uYzVlNzVjMmYyNTExIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fbG1lbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKQEAgLTIzLDYgKzIzLDcgQEAg dm9pZCBfX2lvbWVtICppOTE1X2dlbV9vYmplY3RfbG1lbV9pb19tYXBfcGFnZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXJlc291cmNlX3NpemVfdCBvZmZzZXQ7CiAKIAlvZmZz ZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgbik7CisJb2Zmc2V0IC09 IG9iai0+bW0ucmVnaW9uLT5yZWdpb24uc3RhcnQ7CiAKIAlyZXR1cm4gaW9fbWFwcGluZ19tYXBf d2MoJm9iai0+bW0ucmVnaW9uLT5pb21hcCwgb2Zmc2V0LCBQQUdFX1NJWkUpOwogfQpAQCAtMzMs NiArMzQsNyBAQCB2b2lkIF9faW9tZW0gKmk5MTVfZ2VtX29iamVjdF9sbWVtX2lvX21hcF9wYWdl X2F0b21pYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdAogCXJlc291cmNlX3NpemVfdCBvZmZz ZXQ7CiAKIAlvZmZzZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RtYV9hZGRyZXNzKG9iaiwgbik7 CisJb2Zmc2V0IC09IG9iai0+bW0ucmVnaW9uLT5yZWdpb24uc3RhcnQ7CiAKIAlyZXR1cm4gaW9f bWFwcGluZ19tYXBfYXRvbWljX3djKCZvYmotPm1tLnJlZ2lvbi0+aW9tYXAsIG9mZnNldCk7CiB9 CkBAIC00Niw2ICs0OCw3IEBAIHZvaWQgX19pb21lbSAqaTkxNV9nZW1fb2JqZWN0X2xtZW1faW9f bWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJR0VNX0JVR19PTighKG9iai0+ ZmxhZ3MgJiBJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMpKTsKIAogCW9mZnNldCA9IGk5MTVfZ2Vt X29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCBuKTsKKwlvZmZzZXQgLT0gb2JqLT5tbS5yZWdp b24tPnJlZ2lvbi5zdGFydDsKIAogCXJldHVybiBpb19tYXBwaW5nX21hcF93Yygmb2JqLT5tbS5y ZWdpb24tPmlvbWFwLCBvZmZzZXQsIHNpemUpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5k ZXggOTFhYWU1NmI0MjgwLi45OGZhMTkzMmM0YWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpA QCAtMTU0Niw2ICsxNTQ2LDE0IEBAIGludCBpOTE1X2RyaXZlcl9wcm9iZShzdHJ1Y3QgcGNpX2Rl diAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlpZiAoIWk5MTVfbW9k cGFyYW1zLm51Y2xlYXJfcGFnZWZsaXAgJiYgbWF0Y2hfaW5mby0+Z2VuIDwgNSkKIAkJZGV2X3By aXYtPmRybS5kcml2ZXJfZmVhdHVyZXMgJj0gfkRSSVZFUl9BVE9NSUM7CiAKKwkvKiBDaGVjayBp ZiB3ZSBzdXBwb3J0IGZha2UgTE1FTSAtLSBlbmFibGUgZm9yIGxpdmUgc2VsZnRlc3RzICovCisJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSAmJiBpOTE1X3NlbGZ0ZXN0LmxpdmUgJiYKKwkg ICAgaW50ZWxfZ3JhcGhpY3NfZmFrZV9sbWVtX3Jlcy5zdGFydCkgeworCQlta3dyaXRlX2Rldmlj ZV9pbmZvKGRldl9wcml2KS0+bWVtb3J5X3JlZ2lvbnMgPQorCQkJUkVHSU9OX1NNRU0gfCBSRUdJ T05fTE1FTTsKKwkJR0VNX0JVR19PTighSEFTX0xNRU0oZGV2X3ByaXYpKTsKKwl9CisKIAlyZXQg PSBwY2lfZW5hYmxlX2RldmljZShwZGV2KTsKIAlpZiAocmV0KQogCQlnb3RvIG91dF9maW5pOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCAyOWY5YzQzYjJjNjguLjAyZDJhNjI2 NmI4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTI3NzgsNiArMjc3OCw5 IEBAIGludCBpOTE1X2dlbV9pbml0X21lbW9yeV9yZWdpb25zKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQogCQljYXNlIElOVEVMX1NUT0xFTjoKIAkJCW1lbSA9IGk5MTVfZ2VtX3N0b2xl bl9zZXR1cChpOTE1KTsKIAkJCWJyZWFrOworCQljYXNlIElOVEVMX0xNRU06CisJCQltZW0gPSBp bnRlbF9zZXR1cF9mYWtlX2xtZW0oaTkxNSk7CisJCQlicmVhazsKIAkJfQogCiAJCWlmIChJU19F UlIobWVtKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5 X3JlZ2lvbi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCmlu ZGV4IDllZjJlYzc2MGE0Yi4uNjFmMGRhMDc1ODA1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbWVtb3J5X3JlZ2lvbi5oCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lv cG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvaW8tbWFw cGluZy5oPgorI2luY2x1ZGUgPGRybS9kcm1fbW0uaD4KIAogI2luY2x1ZGUgImk5MTVfYnVkZHku aCIKIApAQCAtNzAsNiArNzEsOSBAQCBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiB7CiAJc3Ry dWN0IGlvX21hcHBpbmcgaW9tYXA7CiAJc3RydWN0IHJlc291cmNlIHJlZ2lvbjsKIAorCS8qIEZv ciBmYWtpbmcgZm9yIGxtZW0gKi8KKwlzdHJ1Y3QgZHJtX21tX25vZGUgZmFrZV9tYXBwYWJsZTsK KwogCXN0cnVjdCBpOTE1X2J1ZGR5X21tIG1tOwogCXN0cnVjdCBtdXRleCBtbV9sb2NrOwogCkBA IC04MCw2ICs4NCw4IEBAIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uIHsKIAl1bnNpZ25lZCBp bnQgaW5zdGFuY2U7CiAJdW5zaWduZWQgaW50IGlkOwogCisJZG1hX2FkZHJfdCByZW1hcF9hZGRy OworCiAJLyogUHJvdGVjdHMgYWNjZXNzIHRvIG9iamVjdHMgYW5kIHB1cmdlYWJsZSAqLwogCXN0 cnVjdCBtdXRleCBvYmpfbG9jazsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG9iamVjdHM7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uYwppbmRleCAwNTEwNjk2NjQwNzQuLjkzNWI4 ZjE5NjUzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xt ZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jCkBAIC0z Niw5ICszNiw2MiBAQCBsbWVtX2NyZWF0ZV9vYmplY3Qoc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKIAlyZXR1cm4gb2JqOwogfQogCitzdGF0aWMgaW50IGluaXRfZmFrZV9sbWVtX2Jh cihzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQoreworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gbWVtLT5pOTE1OworCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmaTkx NS0+Z2d0dDsKKwl1bnNpZ25lZCBsb25nIG47CisJaW50IHJldDsKKworCS8qIFdlIHdhbnQgdG8g MToxIG1hcCB0aGUgbWFwcGFibGUgYXBlcnR1cmUgdG8gb3VyIHJlc2VydmVkIHJlZ2lvbiAqLwor CisJbWVtLT5mYWtlX21hcHBhYmxlLnN0YXJ0ID0gMDsKKwltZW0tPmZha2VfbWFwcGFibGUuc2l6 ZSA9IHJlc291cmNlX3NpemUoJm1lbS0+cmVnaW9uKTsKKwltZW0tPmZha2VfbWFwcGFibGUuY29s b3IgPSBJOTE1X0NPTE9SX1VORVZJQ1RBQkxFOworCisJcmV0ID0gZHJtX21tX3Jlc2VydmVfbm9k ZSgmZ2d0dC0+dm0ubW0sICZtZW0tPmZha2VfbWFwcGFibGUpOworCWlmIChyZXQpCisJCXJldHVy biByZXQ7CisKKwltZW0tPnJlbWFwX2FkZHIgPSBkbWFfbWFwX3Jlc291cmNlKCZpOTE1LT5kcm0u cGRldi0+ZGV2LAorCQkJCQkgICBtZW0tPnJlZ2lvbi5zdGFydCwKKwkJCQkJICAgbWVtLT5mYWtl X21hcHBhYmxlLnNpemUsCisJCQkJCSAgIFBDSV9ETUFfQklESVJFQ1RJT05BTCwKKwkJCQkJICAg RE1BX0FUVFJfRk9SQ0VfQ09OVElHVU9VUyk7CisJaWYgKGRtYV9tYXBwaW5nX2Vycm9yKCZpOTE1 LT5kcm0ucGRldi0+ZGV2LCBtZW0tPnJlbWFwX2FkZHIpKSB7CisJCWRybV9tbV9yZW1vdmVfbm9k ZSgmbWVtLT5mYWtlX21hcHBhYmxlKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZm9yIChu ID0gMDsgbiA8IG1lbS0+ZmFrZV9tYXBwYWJsZS5zaXplID4+IFBBR0VfU0hJRlQ7ICsrbikgewor CQlnZ3R0LT52bS5pbnNlcnRfcGFnZSgmZ2d0dC0+dm0sCisJCQkJICAgICBtZW0tPnJlbWFwX2Fk ZHIgKyAobiA8PCBQQUdFX1NISUZUKSwKKwkJCQkgICAgIG4gPDwgUEFHRV9TSElGVCwKKwkJCQkg ICAgIEk5MTVfQ0FDSEVfTk9ORSwgMCk7CisJfQorCisJbWVtLT5yZWdpb24gPSAoc3RydWN0IHJl c291cmNlKURFRklORV9SRVNfTUVNKG1lbS0+cmVtYXBfYWRkciwKKwkJCQkJCSAgICAgIG1lbS0+ ZmFrZV9tYXBwYWJsZS5zaXplKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCByZWxl YXNlX2Zha2VfbG1lbV9iYXIoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSkKK3sKKwlp ZiAoZHJtX21tX25vZGVfYWxsb2NhdGVkKCZtZW0tPmZha2VfbWFwcGFibGUpKQorCQlkcm1fbW1f cmVtb3ZlX25vZGUoJm1lbS0+ZmFrZV9tYXBwYWJsZSk7CisKKwlkbWFfdW5tYXBfcmVzb3VyY2Uo Jm1lbS0+aTkxNS0+ZHJtLnBkZXYtPmRldiwKKwkJCSAgIG1lbS0+cmVtYXBfYWRkciwKKwkJCSAg IG1lbS0+ZmFrZV9tYXBwYWJsZS5zaXplLAorCQkJICAgUENJX0RNQV9CSURJUkVDVElPTkFMLAor CQkJICAgRE1BX0FUVFJfRk9SQ0VfQ09OVElHVU9VUyk7Cit9CisKIHN0YXRpYyB2b2lkCiByZWdp b25fbG1lbV9yZWxlYXNlKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pCiB7CisJcmVs ZWFzZV9mYWtlX2xtZW1fYmFyKG1lbSk7CiAJaW9fbWFwcGluZ19maW5pKCZtZW0tPmlvbWFwKTsK IAlpbnRlbF9tZW1vcnlfcmVnaW9uX3JlbGVhc2VfYnVkZHkobWVtKTsKIH0KQEAgLTQ4LDYgKzEw MSwxMSBAQCByZWdpb25fbG1lbV9pbml0KHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0p CiB7CiAJaW50IHJldDsKIAorCWlmIChpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1fcmVzLnN0YXJ0 KSB7CisJCXJldCA9IGluaXRfZmFrZV9sbWVtX2JhcihtZW0pOworCQlHRU1fQlVHX09OKHJldCk7 CisJfQorCiAJaWYgKCFpb19tYXBwaW5nX2luaXRfd2MoJm1lbS0+aW9tYXAsCiAJCQkJbWVtLT5p b19zdGFydCwKIAkJCQlyZXNvdXJjZV9zaXplKCZtZW0tPnJlZ2lvbikpKQpAQCAtNjUsMyArMTIz LDM1IEBAIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29wcyBpbnRlbF9yZWdpb25f bG1lbV9vcHMgPSB7CiAJLnJlbGVhc2UgPSByZWdpb25fbG1lbV9yZWxlYXNlLAogCS5jcmVhdGVf b2JqZWN0ID0gbG1lbV9jcmVhdGVfb2JqZWN0LAogfTsKKworc3RydWN0IGludGVsX21lbW9yeV9y ZWdpb24gKgoraW50ZWxfc2V0dXBfZmFrZV9sbWVtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQoreworCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gaTkxNS0+ZHJtLnBkZXY7CisJc3RydWN0 IGludGVsX21lbW9yeV9yZWdpb24gKm1lbTsKKwlyZXNvdXJjZV9zaXplX3QgbWFwcGFibGVfZW5k OworCXJlc291cmNlX3NpemVfdCBpb19zdGFydDsKKwlyZXNvdXJjZV9zaXplX3Qgc3RhcnQ7CisK KwlHRU1fQlVHX09OKEhBU19NQVBQQUJMRV9BUEVSVFVSRShpOTE1KSk7CisJR0VNX0JVR19PTigh aW50ZWxfZ3JhcGhpY3NfZmFrZV9sbWVtX3Jlcy5zdGFydCk7CisKKwkvKiBZb3VyIG1hcHBhYmxl IGFwZXJ0dXJlIGJlbG9uZ3MgdG8gbWUgbm93ISAqLworCW1hcHBhYmxlX2VuZCA9IHBjaV9yZXNv dXJjZV9sZW4ocGRldiwgMik7CisJaW9fc3RhcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGRldiwg MiksCisJc3RhcnQgPSBpbnRlbF9ncmFwaGljc19mYWtlX2xtZW1fcmVzLnN0YXJ0OworCisJbWVt ID0gaW50ZWxfbWVtb3J5X3JlZ2lvbl9jcmVhdGUoaTkxNSwKKwkJCQkJIHN0YXJ0LAorCQkJCQkg bWFwcGFibGVfZW5kLAorCQkJCQkgSTkxNV9HVFRfUEFHRV9TSVpFXzRLLAorCQkJCQkgaW9fc3Rh cnQsCisJCQkJCSAmaW50ZWxfcmVnaW9uX2xtZW1fb3BzKTsKKwlpZiAoIUlTX0VSUihtZW0pKSB7 CisJCURSTV9JTkZPKCJJbnRlbCBncmFwaGljcyBmYWtlIExNRU06ICVwUlxuIiwgJm1lbS0+cmVn aW9uKTsKKwkJRFJNX0lORk8oIkludGVsIGdyYXBoaWNzIGZha2UgTE1FTSBJTyBzdGFydDogJWxs eFxuIiwKKwkJCSAodTY0KW1lbS0+aW9fc3RhcnQpOworCX0KKworCXJldHVybiBtZW07Cit9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVnaW9uX2xtZW0uaAppbmRleCBlZDJhM2JhYjY0NDMu LjIxM2RlZjdjN2I4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmVn aW9uX2xtZW0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5o CkBAIC02LDYgKzYsMTEgQEAKICNpZm5kZWYgX19JTlRFTF9SRUdJT05fTE1FTV9ICiAjZGVmaW5l IF9fSU5URUxfUkVHSU9OX0xNRU1fSAogCitzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKKwogZXh0 ZXJuIGNvbnN0IHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uX29wcyBpbnRlbF9yZWdpb25fbG1l bV9vcHM7CiAKK3N0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICoKK2ludGVsX3NldHVwX2Zha2Vf bG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKICNlbmRpZiAvKiAhX19JTlRF TF9SRUdJT05fTE1FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9pOTE1X2RybS5oIGIv aW5jbHVkZS9kcm0vaTkxNV9kcm0uaAppbmRleCA2NzIyMDA1ODg0ZGIuLjI3MTk4MDIyNWRlYiAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL2RybS9pOTE1 X2RybS5oCkBAIC0zOSw2ICszOSw5IEBAIGJvb2wgaTkxNV9ncHVfdHVyYm9fZGlzYWJsZSh2b2lk KTsKIC8qIEV4cG9ydGVkIGZyb20gYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jICovCiBl eHRlcm4gc3RydWN0IHJlc291cmNlIGludGVsX2dyYXBoaWNzX3N0b2xlbl9yZXM7CiAKKy8qIEV4 cG9ydGVkIGZyb20gYXJjaC94ODYva2VybmVsL2Vhcmx5LXByaW50ay5jICovCitleHRlcm4gc3Ry dWN0IHJlc291cmNlIGludGVsX2dyYXBoaWNzX2Zha2VfbG1lbV9yZXM7CisKIC8qCiAgKiBUaGUg QnJpZGdlIGRldmljZSdzIFBDSSBjb25maWcgc3BhY2UgaGFzIGluZm9ybWF0aW9uIGFib3V0IHRo ZQogICogZmIgYXBlcnR1cmUgc2l6ZSBhbmQgdGhlIGFtb3VudCBvZiBwcmUtcmVzZXJ2ZWQgbWVt b3J5LgotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=