From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: [PATCH] drm/i915: Split out GTT specific header file Date: Sat, 22 Mar 2014 22:47:21 -0700 Message-ID: <1395553641-18573-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id B7CCB6E612 for ; Sat, 22 Mar 2014 22:47:38 -0700 (PDT) Received: from ironside.kumite (c-24-21-100-90.hsd1.or.comcast.net [24.21.100.90]) by mail.bwidawsk.net (Postfix) with ESMTPSA id AD1F14A6A6 for ; Sat, 22 Mar 2014 22:47:24 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel GFX List-Id: intel-gfx@lists.freedesktop.org VGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBuZWNlc3NhcnkgZGVmaW5lcywgcHJvdG90eXBlcyBhbmQg dHlwZXNkZWZzIGZvcgptYW5pcHVsYXRpbmcgR0VOIGdyYXBoaWNzIGFkZHJlc3MgdHJhbnNsYXRp b24gKHRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUKbGVnYWN5IEFHUCBkcml2ZXIpCgpSZWl0ZXJh dGluZyB0aGUgY29tbWVudCBpbiB0aGUgaGVhZGVyLAoiUGxlYXNlIHRyeSB0byBtYWludGFpbiB0 aGUgZm9sbG93aW5nIG9yZGVyIHdpdGhpbiB0aGlzIGZpbGUgdW5sZXNzIGl0Cm1ha2VzIHNlbnNl IHRvIGRvIG90aGVyd2lzZS4gRnJvbSB0b3AgdG8gYm90dG9tOgoxLiB0eXBlZGVmcwoyLiAjZGVm aW5lcywgYW5kIG1hY3JvcwozLiBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMKNC4gZnVuY3Rpb24gcHJv dG90eXBlcwoKV2l0aGluIGVhY2ggc2VjdGlvbiwgcGxlYXNlIHRyeSB0byBvcmRlciBieSBnZW5l cmF0aW9uIGluIGFzY2VuZGluZwpvcmRlciwgZnJvbSB0b3AgdG8gYm90dG9tIChpZS4gR0VONiBv biB0aGUgdG9wLCBHRU44IG9uIHRoZSBib3R0b20pLiIKCkkndmUgbWFkZSBzb21lIG1pbm9yIGNs ZWFudXBzLCBhbmQgZml4ZWQgYSBjb3VwbGUgb2YgdHlwb3Mgd2hpbGUgaGVyZSAtCmJ1dCB0aGVy ZSBzaG91bGQgYmUgbm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgoKVGhlIHB1cnBvc2Ugb2YgdGhlIHBh dGNoIGlzIHRvIHJlZHVjZSBjbHV0dGVyIGluIG91ciBtYWluIGhlYWRlciBmaWxlLAptYWtpbmcg cm9vbSBmb3IgbmV3IGdyb3d0aCwgYW5kIG1ha2UgZG9jdW1lbnRhdGlvbiBvZiBvdXIgaW50ZXJm YWNlcwplYXNpZXIgYnkgc3BsaXR0aW5nIHRoaW5ncyBvdXQuCgpXaXRoIGEgbGl0dGxlIG1vcmUg d29yaywgbGlrZSBtYWtpbmcgaTkxNV9ndHQgYSBwb2ludGVyLCB3ZSBjb3VsZApwb3RlbnRpYWxs eSBjb21wbGV0ZWx5IGlzb2xhdGUgdGhpcyBoZWFkZXIgZnJvbSBpOTE1X2Rydi5oLiBBdCB0aGUK bW9tZW50IGhvd2V2ZXIsIEkgZG9uJ3QgdGhpbmsgaXQncyB3b3J0aCB0aGUgZWZmb3J0LgoKUGVy c29uYWxseSwgSSB3b3VsZCBoYXZlIGxpa2VkIHRvIHB1dCB0aGUgUFRFIGVuY29kaW5nIGZ1bmN0 aW9ucyBpbiB0aGlzCmZpbGUgdG9vLCBidXQgSSBkaWRuJ3Qgd2FudCB0byByb2NrIHRoZSBib2F0 IHRvbyBtdWNoLgoKQSBzaW1pbGFyIHBhdGNoIGhhcyBiZWVuIGluIHVzZSBvbiBteSBtYWNoaW5l IGZvciBzb21lIHRpbWUuIFRoaXMgZXhhY3QKcGF0Y2ggdGhvdWdoIGhhcyBvbmx5IGJlZW4gY29t cGlsZSB0ZXN0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5u ZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAxNzggKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIHwg IDY5IC0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAyODMg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI4 NiBpbnNlcnRpb25zKCspLCAyNDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCAzZjYyYmUwLi5lZjdlMGZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM1LDYg KzM1LDcgQEAKICNpbmNsdWRlICJpOTE1X3JlZy5oIgogI2luY2x1ZGUgImludGVsX2Jpb3MuaCIK ICNpbmNsdWRlICJpbnRlbF9yaW5nYnVmZmVyLmgiCisjaW5jbHVkZSAiaTkxNV9nZW1fZ3R0Lmgi CiAjaW5jbHVkZSA8bGludXgvaW8tbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgog I2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgpAQCAtNTcyLDE2OCArNTczLDYgQEAgZW51 bSBpOTE1X2NhY2hlX2xldmVsIHsKIAlJOTE1X0NBQ0hFX1dULCAvKiBoc3c6Z3QzZSBXcml0ZVRo cm91Z2ggZm9yIHNjYW5vdXRzICovCiB9OwogCi10eXBlZGVmIHVpbnQzMl90IGdlbjZfZ3R0X3B0 ZV90OwotCi0vKioKLSAqIEEgVk1BIHJlcHJlc2VudHMgYSBHRU0gQk8gdGhhdCBpcyBib3VuZCBp bnRvIGFuIGFkZHJlc3Mgc3BhY2UuIFRoZXJlZm9yZSwgYQotICogVk1BJ3MgcHJlc2VuY2UgY2Fu bm90IGJlIGd1YXJhbnRlZWQgYmVmb3JlIGJpbmRpbmcsIG9yIGFmdGVyIHVuYmluZGluZyB0aGUK LSAqIG9iamVjdCBpbnRvL2Zyb20gdGhlIGFkZHJlc3Mgc3BhY2UuCi0gKgotICogVG8gbWFrZSB0 aGluZ3MgYXMgc2ltcGxlIGFzIHBvc3NpYmxlIChpZS4gbm8gcmVmY291bnRpbmcpLCBhIFZNQSdz IGxpZmV0aW1lCi0gKiB3aWxsIGFsd2F5cyBiZSA8PSBhbiBvYmplY3RzIGxpZmV0aW1lLiBTbyBv YmplY3QgcmVmY291bnRpbmcgc2hvdWxkIGNvdmVyIHVzLgotICovCi1zdHJ1Y3QgaTkxNV92bWEg ewotCXN0cnVjdCBkcm1fbW1fbm9kZSBub2RlOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmo7Ci0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Ci0KLQkvKiogVGhpcyBvYmpl Y3QncyBwbGFjZSBvbiB0aGUgYWN0aXZlL2luYWN0aXZlIGxpc3RzICovCi0Jc3RydWN0IGxpc3Rf aGVhZCBtbV9saXN0OwotCi0Jc3RydWN0IGxpc3RfaGVhZCB2bWFfbGluazsgLyogTGluayBpbiB0 aGUgb2JqZWN0J3MgVk1BIGxpc3QgKi8KLQotCS8qKiBUaGlzIHZtYSdzIHBsYWNlIGluIHRoZSBi YXRjaGJ1ZmZlciBvciBvbiB0aGUgZXZpY3Rpb24gbGlzdCAqLwotCXN0cnVjdCBsaXN0X2hlYWQg ZXhlY19saXN0OwotCi0JLyoqCi0JICogVXNlZCBmb3IgcGVyZm9ybWluZyByZWxvY2F0aW9ucyBk dXJpbmcgZXhlY2J1ZmZlciBpbnNlcnRpb24uCi0JICovCi0Jc3RydWN0IGhsaXN0X25vZGUgZXhl Y19ub2RlOwotCXVuc2lnbmVkIGxvbmcgZXhlY19oYW5kbGU7Ci0Jc3RydWN0IGRybV9pOTE1X2dl bV9leGVjX29iamVjdDIgKmV4ZWNfZW50cnk7Ci0KLQkvKioKLQkgKiBIb3cgbWFueSB1c2VycyBo YXZlIHBpbm5lZCB0aGlzIG9iamVjdCBpbiBHVFQgc3BhY2UuIFRoZSBmb2xsb3dpbmcKLQkgKiB1 c2VycyBjYW4gZWFjaCBob2xkIGF0IG1vc3Qgb25lIHJlZmVyZW5jZTogcHdyaXRlL3ByZWFkLCBw aW5faW9jdGwKLQkgKiAodmlhIHVzZXJfcGluX2NvdW50KSwgZXhlY2J1ZmZlciAob2JqZWN0cyBh cmUgbm90IGFsbG93ZWQgbXVsdGlwbGUKLQkgKiB0aW1lcyBmb3IgdGhlIHNhbWUgYmF0Y2hidWZm ZXIpLCBhbmQgdGhlIGZyYW1lYnVmZmVyIGNvZGUuIFdoZW4KLQkgKiBzd2l0Y2hpbmcvcGFnZWZs aXBwaW5nLCB0aGUgZnJhbWVidWZmZXIgY29kZSBoYXMgYXQgbW9zdCB0d28gYnVmZmVycwotCSAq IHBpbm5lZCBwZXIgY3J0Yy4KLQkgKgotCSAqIEluIHRoZSB3b3JzdCBjYXNlIHRoaXMgaXMgMSAr IDEgKyAxICsgMioyID0gNy4gVGhhdCB3b3VsZCBmaXQgaW50byAzCi0JICogYml0cyB3aXRoIGFi c29sdXRlbHkgbm8gaGVhZHJvb20uIFNvIHVzZSA0IGJpdHMuICovCi0JdW5zaWduZWQgaW50IHBp bl9jb3VudDo0OwotI2RlZmluZSBEUk1fSTkxNV9HRU1fT0JKRUNUX01BWF9QSU5fQ09VTlQgMHhm Ci0KLQkvKiogVW5tYXAgYW4gb2JqZWN0IGZyb20gYW4gYWRkcmVzcyBzcGFjZS4gVGhpcyB1c3Vh bGx5IGNvbnNpc3RzIG9mCi0JICogc2V0dGluZyB0aGUgdmFsaWQgUFRFIGVudHJpZXMgdG8gYSBy ZXNlcnZlZCBzY3JhdGNoIHBhZ2UuICovCi0Jdm9pZCAoKnVuYmluZF92bWEpKHN0cnVjdCBpOTE1 X3ZtYSAqdm1hKTsKLQkvKiBNYXAgYW4gb2JqZWN0IGludG8gYW4gYWRkcmVzcyBzcGFjZSB3aXRo IHRoZSBnaXZlbiBjYWNoZSBmbGFncy4gKi8KLSNkZWZpbmUgR0xPQkFMX0JJTkQgKDE8PDApCi0J dm9pZCAoKmJpbmRfdm1hKShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKLQkJCSBlbnVtIGk5MTVfY2Fj aGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCi0JCQkgdTMyIGZsYWdzKTsKLX07Ci0KLXN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgewotCXN0cnVjdCBkcm1fbW0gbW07Ci0Jc3RydWN0IGRybV9kZXZpY2Ug KmRldjsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGdsb2JhbF9saW5rOwotCXVuc2lnbmVkIGxvbmcgc3Rh cnQ7CQkvKiBTdGFydCBvZmZzZXQgYWx3YXlzIDAgZm9yIGRyaTIgKi8KLQlzaXplX3QgdG90YWw7 CQkvKiBzaXplIGFkZHIgc3BhY2UgbWFwcyAoZXguIDJHQiBmb3IgZ2d0dCkgKi8KLQotCXN0cnVj dCB7Ci0JCWRtYV9hZGRyX3QgYWRkcjsKLQkJc3RydWN0IHBhZ2UgKnBhZ2U7Ci0JfSBzY3JhdGNo OwotCi0JLyoqCi0JICogTGlzdCBvZiBvYmplY3RzIGN1cnJlbnRseSBpbnZvbHZlZCBpbiByZW5k ZXJpbmcuCi0JICoKLQkgKiBJbmNsdWRlcyBidWZmZXJzIGhhdmluZyB0aGUgY29udGVudHMgb2Yg dGhlaXIgR1BVIGNhY2hlcwotCSAqIGZsdXNoZWQsIG5vdCBuZWNlc3NhcmlseSBwcmltaXRpdmVz LiAgbGFzdF9yZW5kZXJpbmdfc2Vxbm8KLQkgKiByZXByZXNlbnRzIHdoZW4gdGhlIHJlbmRlcmlu ZyBpbnZvbHZlZCB3aWxsIGJlIGNvbXBsZXRlZC4KLQkgKgotCSAqIEEgcmVmZXJlbmNlIGlzIGhl bGQgb24gdGhlIGJ1ZmZlciB3aGlsZSBvbiB0aGlzIGxpc3QuCi0JICovCi0Jc3RydWN0IGxpc3Rf aGVhZCBhY3RpdmVfbGlzdDsKLQotCS8qKgotCSAqIExSVSBsaXN0IG9mIG9iamVjdHMgd2hpY2gg YXJlIG5vdCBpbiB0aGUgcmluZ2J1ZmZlciBhbmQKLQkgKiBhcmUgcmVhZHkgdG8gdW5iaW5kLCBi dXQgYXJlIHN0aWxsIGluIHRoZSBHVFQuCi0JICoKLQkgKiBsYXN0X3JlbmRlcmluZ19zZXFubyBp cyAwIHdoaWxlIGFuIG9iamVjdCBpcyBpbiB0aGlzIGxpc3QuCi0JICoKLQkgKiBBIHJlZmVyZW5j ZSBpcyBub3QgaGVsZCBvbiB0aGUgYnVmZmVyIHdoaWxlIG9uIHRoaXMgbGlzdCwKLQkgKiBhcyBt ZXJlbHkgYmVpbmcgR1RULWJvdW5kIHNob3VsZG4ndCBwcmV2ZW50IGl0cyBiZWluZwotCSAqIGZy ZWVkLCBhbmQgd2UnbGwgcHVsbCBpdCBvZmYgdGhlIGxpc3QgaW4gdGhlIGZyZWUgcGF0aC4KLQkg Ki8KLQlzdHJ1Y3QgbGlzdF9oZWFkIGluYWN0aXZlX2xpc3Q7Ci0KLQkvKiBGSVhNRTogTmVlZCBh IG1vcmUgZ2VuZXJpYyByZXR1cm4gdHlwZSAqLwotCWdlbjZfZ3R0X3B0ZV90ICgqcHRlX2VuY29k ZSkoZG1hX2FkZHJfdCBhZGRyLAotCQkJCSAgICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGxldmVs LAotCQkJCSAgICAgYm9vbCB2YWxpZCk7IC8qIENyZWF0ZSBhIHZhbGlkIFBURSAqLwotCXZvaWQg KCpjbGVhcl9yYW5nZSkoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCi0JCQkgICAgdWlu dDY0X3Qgc3RhcnQsCi0JCQkgICAgdWludDY0X3QgbGVuZ3RoLAotCQkJICAgIGJvb2wgdXNlX3Nj cmF0Y2gpOwotCXZvaWQgKCppbnNlcnRfZW50cmllcykoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCi0JCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzdCwKLQkJCSAgICAgICB1aW50NjRf dCBzdGFydCwKLQkJCSAgICAgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwpOwot CXZvaWQgKCpjbGVhbnVwKShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSk7Ci19OwotCi0v KiBUaGUgR3JhcGhpY3MgVHJhbnNsYXRpb24gVGFibGUgaXMgdGhlIHdheSBpbiB3aGljaCBHRU4g aGFyZHdhcmUgdHJhbnNsYXRlcyBhCi0gKiBHcmFwaGljcyBWaXJ0dWFsIEFkZHJlc3MgaW50byBh IFBoeXNpY2FsIEFkZHJlc3MuIEluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwKLSAqIGNvbGxhdGVy YWwgYXNzb2NpYXRlZCB3aXRoIGFueSB2YS0+cGEgdHJhbnNsYXRpb25zIEdFTiBoYXJkd2FyZSBh bHNvIGhhcyBhCi0gKiBwb3J0aW9uIG9mIHRoZSBHVFQgd2hpY2ggY2FuIGJlIG1hcHBlZCBieSB0 aGUgQ1BVIGFuZCByZW1haW4gYm90aCBjb2hlcmVudAotICogYW5kIGNvcnJlY3QgKGluIGNhc2Vz IGxpa2Ugc3dpenpsaW5nKS4gVGhhdCByZWdpb24gaXMgcmVmZXJyZWQgdG8gYXMgR01BRFIgaW4K LSAqIHRoZSBzcGVjLgotICovCi1zdHJ1Y3QgaTkxNV9ndHQgewotCXN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgYmFzZTsKLQlzaXplX3Qgc3RvbGVuX3NpemU7CQkvKiBUb3RhbCBzaXplIG9mIHN0 b2xlbiBtZW1vcnkgKi8KLQotCXVuc2lnbmVkIGxvbmcgbWFwcGFibGVfZW5kOwkvKiBFbmQgb2Zm c2V0IHRoYXQgd2UgY2FuIENQVSBtYXAgKi8KLQlzdHJ1Y3QgaW9fbWFwcGluZyAqbWFwcGFibGU7 CS8qIE1hcHBpbmcgdG8gb3VyIENQVSBtYXBwYWJsZSByZWdpb24gKi8KLQlwaHlzX2FkZHJfdCBt YXBwYWJsZV9iYXNlOwkvKiBQQSBvZiBvdXIgR01BRFIgKi8KLQotCS8qKiAiR3JhcGhpY3MgU3Rv bGVuIE1lbW9yeSIgaG9sZHMgdGhlIGdsb2JhbCBQVEVzICovCi0Jdm9pZCBfX2lvbWVtICpnc207 Ci0KLQlib29sIGRvX2lkbGVfbWFwczsKLQotCWludCBtdHJyOwotCi0JLyogZ2xvYmFsIGd0dCBv cHMgKi8KLQlpbnQgKCpndHRfcHJvYmUpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNpemVfdCAq Z3R0X3RvdGFsLAotCQkJICBzaXplX3QgKnN0b2xlbiwgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jh c2UsCi0JCQkgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCk7Ci19OwotI2RlZmluZSBndHRf dG90YWxfZW50cmllcyhndHQpICgoZ3R0KS5iYXNlLnRvdGFsID4+IFBBR0VfU0hJRlQpCi0KLSNk ZWZpbmUgR0VOOF9MRUdBQ1lfUERQUyA0Ci1zdHJ1Y3QgaTkxNV9od19wcGd0dCB7Ci0Jc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSBiYXNlOwotCXN0cnVjdCBrcmVmIHJlZjsKLQlzdHJ1Y3QgZHJt X21tX25vZGUgbm9kZTsKLQl1bnNpZ25lZCBudW1fcGRfZW50cmllczsKLQl1bnNpZ25lZCBudW1f cGRfcGFnZXM7IC8qIGdlbjgrICovCi0JdW5pb24gewotCQlzdHJ1Y3QgcGFnZSAqKnB0X3BhZ2Vz OwotCQlzdHJ1Y3QgcGFnZSAqKmdlbjhfcHRfcGFnZXNbR0VOOF9MRUdBQ1lfUERQU107Ci0JfTsK LQlzdHJ1Y3QgcGFnZSAqcGRfcGFnZXM7Ci0JdW5pb24gewotCQl1aW50MzJfdCBwZF9vZmZzZXQ7 Ci0JCWRtYV9hZGRyX3QgcGRfZG1hX2FkZHJbR0VOOF9MRUdBQ1lfUERQU107Ci0JfTsKLQl1bmlv biB7Ci0JCWRtYV9hZGRyX3QgKnB0X2RtYV9hZGRyOwotCQlkbWFfYWRkcl90ICpnZW44X3B0X2Rt YV9hZGRyWzRdOwotCX07Ci0KLQlzdHJ1Y3QgaTkxNV9od19jb250ZXh0ICpjdHg7Ci0KLQlpbnQg KCplbmFibGUpKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCk7Ci0JaW50ICgqc3dpdGNoX21t KShzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsCi0JCQkgc3RydWN0IGludGVsX3JpbmdfYnVm ZmVyICpyaW5nLAotCQkJIGJvb2wgc3luY2hyb25vdXMpOwotCXZvaWQgKCpkZWJ1Z19kdW1wKShz dHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQsIHN0cnVjdCBzZXFfZmlsZSAqbSk7Ci19OwotCiBz dHJ1Y3QgaTkxNV9jdHhfaGFuZ19zdGF0cyB7CiAJLyogVGhpcyBjb250ZXh0IGhhZCBiYXRjaCBw ZW5kaW5nIHdoZW4gaGFuZyB3YXMgZGVjbGFyZWQgKi8KIAl1bnNpZ25lZCBiYXRjaF9wZW5kaW5n OwpAQCAtMTUyNSw3ICsxMzY0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7 CiAJc3RydWN0IG11dGV4IG1vZGVzZXRfcmVzdG9yZV9sb2NrOwogCiAJc3RydWN0IGxpc3RfaGVh ZCB2bV9saXN0OyAvKiBHbG9iYWwgbGlzdCBvZiBhbGwgYWRkcmVzcyBzcGFjZXMgKi8KLQlzdHJ1 Y3QgaTkxNV9ndHQgZ3R0OyAvKiBWTUEgcmVwcmVzZW50aW5nIHRoZSBnbG9iYWwgYWRkcmVzcyBz cGFjZSAqLworCXN0cnVjdCBpOTE1X2d0dCBndHQ7IC8qIFZNIHJlcHJlc2VudGluZyB0aGUgZ2xv YmFsIGFkZHJlc3Mgc3BhY2UgKi8KIAogCXN0cnVjdCBpOTE1X2dlbV9tbSBtbTsKIApAQCAtMjQ2 OSwyMyArMjMwOCwxMiBAQCBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX2V2aWN0X3NvbWV0aGlu ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogaW50IGk5MTVfZ2VtX2V2aWN0X3ZtKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLCBib29sIGRvX2lkbGUpOwogaW50IGk5MTVfZ2VtX2V2aWN0 X2V2ZXJ5dGhpbmcoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKLS8qIGk5MTVfZ2VtX2d0dC5j ICovCi12b2lkIGk5MTVfY2hlY2tfYW5kX2NsZWFyX2ZhdWx0cyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKLXZvaWQgaTkxNV9nZW1fc3VzcGVuZF9ndHRfbWFwcGluZ3Moc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Ci12b2lkIGk5MTVfZ2VtX3Jlc3RvcmVfZ3R0X21hcHBpbmdzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwotaW50IF9fbXVzdF9jaGVjayBpOTE1X2dlbV9ndHRfcHJlcGFyZV9vYmpl Y3Qoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7Ci12b2lkIGk5MTVfZ2VtX2d0dF9m aW5pc2hfb2JqZWN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwotdm9pZCBpOTE1 X2dlbV9pbml0X2dsb2JhbF9ndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci12b2lkIGk5MTVf Z2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9u ZyBzdGFydCwKLQkJCSAgICAgICB1bnNpZ25lZCBsb25nIG1hcHBhYmxlX2VuZCwgdW5zaWduZWQg bG9uZyBlbmQpOwotaW50IGk5MTVfZ2VtX2d0dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp OworLyogYmVsb25ncyBpbiBpOTE1X2dlbV9ndHQuaCAqLwogc3RhdGljIGlubGluZSB2b2lkIGk5 MTVfZ2VtX2NoaXBzZXRfZmx1c2goc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlpZiAoSU5U RUxfSU5GTyhkZXYpLT5nZW4gPCA2KQogCQlpbnRlbF9ndHRfY2hpcHNldF9mbHVzaCgpOwogfQot aW50IGk5MTVfZ2VtX2luaXRfcHBndHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGk5 MTVfaHdfcHBndHQgKnBwZ3R0KTsKLWJvb2wgaW50ZWxfZW5hYmxlX3BwZ3R0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGJvb2wgZnVsbCk7CiAKIC8qIGk5MTVfZ2VtX3N0b2xlbi5jICovCiBpbnQg aTkxNV9nZW1faW5pdF9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGVlNTM1NTEuLjU3NzRlYjIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC01NSw1OSArNTUsNiBAQCBib29sIGludGVsX2VuYWJsZV9w cGd0dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIGZ1bGwpCiAJCXJldHVybiBIQVNfQUxJ QVNJTkdfUFBHVFQoZGV2KTsKIH0KIAotI2RlZmluZSBHRU42X1BQR1RUX1BEX0VOVFJJRVMgNTEy Ci0jZGVmaW5lIEk5MTVfUFBHVFRfUFRfRU5UUklFUyAoUEFHRV9TSVpFIC8gc2l6ZW9mKGdlbjZf Z3R0X3B0ZV90KSkKLXR5cGVkZWYgdWludDY0X3QgZ2VuOF9ndHRfcHRlX3Q7Ci10eXBlZGVmIGdl bjhfZ3R0X3B0ZV90IGdlbjhfcHBndHRfcGRlX3Q7Ci0KLS8qIFBQR1RUIHN0dWZmICovCi0jZGVm aW5lIEdFTjZfR1RUX0FERFJfRU5DT0RFKGFkZHIpCSgoYWRkcikgfCAoKChhZGRyKSA+PiAyOCkg JiAweGZmMCkpCi0jZGVmaW5lIEhTV19HVFRfQUREUl9FTkNPREUoYWRkcikJKChhZGRyKSB8ICgo KGFkZHIpID4+IDI4KSAmIDB4N2YwKSkKLQotI2RlZmluZSBHRU42X1BERV9WQUxJRAkJCSgxIDw8 IDApCi0vKiBnZW42KyBoYXMgYml0IDExLTQgZm9yIHBoeXNpY2FsIGFkZHIgYml0IDM5LTMyICov Ci0jZGVmaW5lIEdFTjZfUERFX0FERFJfRU5DT0RFKGFkZHIpCUdFTjZfR1RUX0FERFJfRU5DT0RF KGFkZHIpCi0KLSNkZWZpbmUgR0VONl9QVEVfVkFMSUQJCQkoMSA8PCAwKQotI2RlZmluZSBHRU42 X1BURV9VTkNBQ0hFRAkJKDEgPDwgMSkKLSNkZWZpbmUgSFNXX1BURV9VTkNBQ0hFRAkJKDApCi0j ZGVmaW5lIEdFTjZfUFRFX0NBQ0hFX0xMQwkJKDIgPDwgMSkKLSNkZWZpbmUgR0VON19QVEVfQ0FD SEVfTDNfTExDCQkoMyA8PCAxKQotI2RlZmluZSBHRU42X1BURV9BRERSX0VOQ09ERShhZGRyKQlH RU42X0dUVF9BRERSX0VOQ09ERShhZGRyKQotI2RlZmluZSBIU1dfUFRFX0FERFJfRU5DT0RFKGFk ZHIpCUhTV19HVFRfQUREUl9FTkNPREUoYWRkcikKLQotLyogQ2FjaGVhYmlsaXR5IENvbnRyb2wg aXMgYSA0LWJpdCB2YWx1ZS4gVGhlIGxvdyB0aHJlZSBiaXRzIGFyZSBzdG9yZWQgaW4gKgotICog Yml0cyAzOjEgb2YgdGhlIFBURSwgd2hpbGUgdGhlIGZvdXJ0aCBiaXQgaXMgc3RvcmVkIGluIGJp dCAxMSBvZiB0aGUgUFRFLgotICovCi0jZGVmaW5lIEhTV19DQUNIRUFCSUxJVFlfQ09OVFJPTChi aXRzKQkoKCgoYml0cykgJiAweDcpIDw8IDEpIHwgXAotCQkJCQkgKCgoYml0cykgJiAweDgpIDw8 ICgxMSAtIDMpKSkKLSNkZWZpbmUgSFNXX1dCX0xMQ19BR0UzCQkJSFNXX0NBQ0hFQUJJTElUWV9D T05UUk9MKDB4MikKLSNkZWZpbmUgSFNXX1dCX0xMQ19BR0UwCQkJSFNXX0NBQ0hFQUJJTElUWV9D T05UUk9MKDB4MykKLSNkZWZpbmUgSFNXX1dCX0VMTENfTExDX0FHRTAJCUhTV19DQUNIRUFCSUxJ VFlfQ09OVFJPTCgweGIpCi0jZGVmaW5lIEhTV19XQl9FTExDX0xMQ19BR0UzCQlIU1dfQ0FDSEVB QklMSVRZX0NPTlRST0woMHg4KQotI2RlZmluZSBIU1dfV1RfRUxMQ19MTENfQUdFMAkJSFNXX0NB Q0hFQUJJTElUWV9DT05UUk9MKDB4NikKLSNkZWZpbmUgSFNXX1dUX0VMTENfTExDX0FHRTMJCUhT V19DQUNIRUFCSUxJVFlfQ09OVFJPTCgweDcpCi0KLSNkZWZpbmUgR0VOOF9QVEVTX1BFUl9QQUdF CQkoUEFHRV9TSVpFIC8gc2l6ZW9mKGdlbjhfZ3R0X3B0ZV90KSkKLSNkZWZpbmUgR0VOOF9QREVT X1BFUl9QQUdFCQkoUEFHRV9TSVpFIC8gc2l6ZW9mKGdlbjhfcHBndHRfcGRlX3QpKQotCi0vKiBH RU44IGxlZ2FjeSBzdHlsZSBhZGRyZXNzaXMgZGVmaW5lZCBhcyBhIDMgbGV2ZWwgcGFnZSB0YWJs ZToKLSAqIDMxOjMwIHwgMjk6MjEgfCAyMDoxMiB8ICAxMTowCi0gKiBQRFBFICB8ICBQREUgIHwg IFBURSAgfCBvZmZzZXQKLSAqIFRoZSBkaWZmZXJlbmNlIGFzIGNvbXBhcmVkIHRvIG5vcm1hbCB4 ODYgMyBsZXZlbCBwYWdlIHRhYmxlIGlzIHRoZSBQRFBFcyBhcmUKLSAqIHByb2dyYW1tZWQgdmlh IHJlZ2lzdGVyLgotICovCi0jZGVmaW5lIEdFTjhfUERQRV9TSElGVAkJCTMwCi0jZGVmaW5lIEdF TjhfUERQRV9NQVNLCQkJMHgzCi0jZGVmaW5lIEdFTjhfUERFX1NISUZUCQkJMjEKLSNkZWZpbmUg R0VOOF9QREVfTUFTSwkJCTB4MWZmCi0jZGVmaW5lIEdFTjhfUFRFX1NISUZUCQkJMTIKLSNkZWZp bmUgR0VOOF9QVEVfTUFTSwkJCTB4MWZmCi0KLSNkZWZpbmUgUFBBVF9VTkNBQ0hFRF9JTkRFWAkJ KF9QQUdFX1BXVCB8IF9QQUdFX1BDRCkKLSNkZWZpbmUgUFBBVF9DQUNIRURfUERFX0lOREVYCQkw IC8qIFdCIExMQyAqLwotI2RlZmluZSBQUEFUX0NBQ0hFRF9JTkRFWAkJX1BBR0VfUEFUIC8qIFdC IExMQ2VMTEMgKi8KLSNkZWZpbmUgUFBBVF9ESVNQTEFZX0VMTENfSU5ERVgJCV9QQUdFX1BDRCAv KiBXVCBlTExDICovCiAKIHN0YXRpYyB2b2lkIHBwZ3R0X2JpbmRfdm1hKHN0cnVjdCBpOTE1X3Zt YSAqdm1hLAogCQkJICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLApAQCAtMTg3 LDkgKzEzNCw2IEBAIHN0YXRpYyBnZW42X2d0dF9wdGVfdCBpdmJfcHRlX2VuY29kZShkbWFfYWRk cl90IGFkZHIsCiAJcmV0dXJuIHB0ZTsKIH0KIAotI2RlZmluZSBCWVRfUFRFX1dSSVRFQUJMRQkJ KDEgPDwgMSkKLSNkZWZpbmUgQllUX1BURV9TTk9PUEVEX0JZX0NQVV9DQUNIRVMJKDEgPDwgMikK LQogc3RhdGljIGdlbjZfZ3R0X3B0ZV90IGJ5dF9wdGVfZW5jb2RlKGRtYV9hZGRyX3QgYWRkciwK IAkJCQkgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBsZXZlbCwKIAkJCQkgICAgIGJvb2wgdmFs aWQpCkBAIC0xMDU3LDggKzEwMDEsNiBAQCBzdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2NsZWFudXAo c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiAKIHN0YXRpYyBpbnQgZ2VuNl9wcGd0dF9h bGxvY2F0ZV9wYWdlX2RpcmVjdG9yaWVzKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCkKIHsK LSNkZWZpbmUgR0VONl9QRF9BTElHTiAoUEFHRV9TSVpFICogMTYpCi0jZGVmaW5lIEdFTjZfUERf U0laRSAoR0VONl9QUEdUVF9QRF9FTlRSSUVTICogUEFHRV9TSVpFKQogCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBwcGd0dC0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlib29sIHJldHJpZWQgPSBmYWxzZTsKQEAgLTE4 NDcsMTcgKzE3ODksNiBAQCBzdGF0aWMgaW50IGdndHRfcHJvYmVfY29tbW9uKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAgKiB3cml0aW5nIHRoaXMgZGF0YSBzaG91bGRuJ3QgYmUgaGFybWZ1bCBl dmVuIGluIHRob3NlIGNhc2VzLiAqLwogc3RhdGljIHZvaWQgZ2VuOF9zZXR1cF9wcml2YXRlX3Bw YXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotI2RlZmluZSBHRU44X1BQ QVRfVUMJCSgwPDwwKQotI2RlZmluZSBHRU44X1BQQVRfV0MJCSgxPDwwKQotI2RlZmluZSBHRU44 X1BQQVRfV1QJCSgyPDwwKQotI2RlZmluZSBHRU44X1BQQVRfV0IJCSgzPDwwKQotI2RlZmluZSBH RU44X1BQQVRfRUxMQ19PVkVSUklERQkoMDw8MikKLS8qIEZJWE1FKEJEVyk6IEJzcGVjIGlzIGNv bXBsZXRlbHkgY29uZnVzZWQgYWJvdXQgY2FjaGUgY29udHJvbCBiaXRzLiAqLwotI2RlZmluZSBH RU44X1BQQVRfTExDCQkoMTw8MikKLSNkZWZpbmUgR0VOOF9QUEFUX0xMQ0VMTEMJKDI8PDIpCi0j ZGVmaW5lIEdFTjhfUFBBVF9MTENlTExDCSgzPDwyKQotI2RlZmluZSBHRU44X1BQQVRfQUdFKHgp CSh4PDw0KQotI2RlZmluZSBHRU44X1BQQVQoaSwgeCkgKCh1aW50NjRfdCkgKHgpIDw8ICgoaSkg KiA4KSkKIAl1aW50NjRfdCBwYXQ7CiAKIAlwYXQgPSBHRU44X1BQQVQoMCwgR0VOOF9QUEFUX1dC IHwgR0VOOF9QUEFUX0xMQykgICAgIHwgLyogZm9yIG5vcm1hbCBvYmplY3RzLCBubyBlTExDICov CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmI1ZThhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtMCwwICsxLDI4MyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAy MDE0IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv ZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9u LCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBw YXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg cG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJP VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgor ICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP RiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU IE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhF IFNPRlRXQVJFLgorICoKKyAqIFBsZWFzZSB0cnkgdG8gbWFpbnRhaW4gdGhlIGZvbGxvd2luZyBv cmRlciB3aXRoaW4gdGhpcyBmaWxlIHVubGVzcyBpdCBtYWtlcworICogc2Vuc2UgdG8gZG8gb3Ro ZXJ3aXNlLiBGcm9tIHRvcCB0byBib3R0b206CisgKiAxLiB0eXBlZGVmcworICogMi4gI2RlZmlu ZXMsIGFuZCBtYWNyb3MKKyAqIDMuIHN0cnVjdHVyZSBkZWZpbml0aW9ucworICogNC4gZnVuY3Rp b24gcHJvdG90eXBlcworICoKKyAqIFdpdGhpbiBlYWNoIHNlY3Rpb24sIHBsZWFzZSB0cnkgdG8g b3JkZXIgYnkgZ2VuZXJhdGlvbiBpbiBhc2NlbmRpbmcgb3JkZXIsCisgKiBmcm9tIHRvcCB0byBi b3R0b20gKGllLiBnZW42IG9uIHRoZSB0b3AsIGdlbjggb24gdGhlIGJvdHRvbSkuCisgKi8KKwor I2lmbmRlZiBfX0k5MTVfR0VNX0dUVF9IX18KKyNkZWZpbmUgX19JOTE1X0dFTV9HVFRfSF9fCisK K3R5cGVkZWYgdWludDMyX3QgZ2VuNl9ndHRfcHRlX3Q7Cit0eXBlZGVmIHVpbnQ2NF90IGdlbjhf Z3R0X3B0ZV90OwordHlwZWRlZiBnZW44X2d0dF9wdGVfdCBnZW44X3BwZ3R0X3BkZV90OworCisj ZGVmaW5lIGd0dF90b3RhbF9lbnRyaWVzKGd0dCkgKChndHQpLmJhc2UudG90YWwgPj4gUEFHRV9T SElGVCkKKworI2RlZmluZSBJOTE1X1BQR1RUX1BUX0VOVFJJRVMJCShQQUdFX1NJWkUgLyBzaXpl b2YoZ2VuNl9ndHRfcHRlX3QpKQorLyogZ2VuNi1oc3cgaGFzIGJpdCAxMS00IGZvciBwaHlzaWNh bCBhZGRyIGJpdCAzOS0zMiAqLworI2RlZmluZSBHRU42X0dUVF9BRERSX0VOQ09ERShhZGRyKQko KGFkZHIpIHwgKCgoYWRkcikgPj4gMjgpICYgMHhmZjApKQorI2RlZmluZSBHRU42X1BURV9BRERS X0VOQ09ERShhZGRyKQlHRU42X0dUVF9BRERSX0VOQ09ERShhZGRyKQorI2RlZmluZSBHRU42X1BE RV9BRERSX0VOQ09ERShhZGRyKQlHRU42X0dUVF9BRERSX0VOQ09ERShhZGRyKQorI2RlZmluZSBH RU42X1BURV9DQUNIRV9MTEMJCSgyIDw8IDEpCisjZGVmaW5lIEdFTjZfUFRFX1VOQ0FDSEVECQko MSA8PCAxKQorI2RlZmluZSBHRU42X1BURV9WQUxJRAkJCSgxIDw8IDApCisKKyNkZWZpbmUgR0VO Nl9QUEdUVF9QRF9FTlRSSUVTCQk1MTIKKyNkZWZpbmUgR0VONl9QRF9TSVpFCQkJKEdFTjZfUFBH VFRfUERfRU5UUklFUyAqIFBBR0VfU0laRSkKKyNkZWZpbmUgR0VONl9QRF9BTElHTgkJCShQQUdF X1NJWkUgKiAxNikKKyNkZWZpbmUgR0VONl9QREVfVkFMSUQJCQkoMSA8PCAwKQorCisjZGVmaW5l IEdFTjdfUFRFX0NBQ0hFX0wzX0xMQwkJKDMgPDwgMSkKKworI2RlZmluZSBCWVRfUFRFX1NOT09Q RURfQllfQ1BVX0NBQ0hFUwkoMSA8PCAyKQorI2RlZmluZSBCWVRfUFRFX1dSSVRFQUJMRQkJKDEg PDwgMSkKKworLyogQ2FjaGVhYmlsaXR5IENvbnRyb2wgaXMgYSA0LWJpdCB2YWx1ZS4gVGhlIGxv dyB0aHJlZSBiaXRzIGFyZSBzdG9yZWQgaW4gYml0cworICogMzoxIG9mIHRoZSBQVEUsIHdoaWxl IHRoZSBmb3VydGggYml0IGlzIHN0b3JlZCBpbiBiaXQgMTEgb2YgdGhlIFBURS4KKyAqLworI2Rl ZmluZSBIU1dfQ0FDSEVBQklMSVRZX0NPTlRST0woYml0cykJKCgoKGJpdHMpICYgMHg3KSA8PCAx KSB8IFwKKwkJCQkJICgoKGJpdHMpICYgMHg4KSA8PCAoMTEgLSAzKSkpCisjZGVmaW5lIEhTV19X Ql9MTENfQUdFMwkJCUhTV19DQUNIRUFCSUxJVFlfQ09OVFJPTCgweDIpCisjZGVmaW5lIEhTV19X Ql9MTENfQUdFMAkJCUhTV19DQUNIRUFCSUxJVFlfQ09OVFJPTCgweDMpCisjZGVmaW5lIEhTV19X Ql9FTExDX0xMQ19BR0UzCQlIU1dfQ0FDSEVBQklMSVRZX0NPTlRST0woMHg4KQorI2RlZmluZSBI U1dfV0JfRUxMQ19MTENfQUdFMAkJSFNXX0NBQ0hFQUJJTElUWV9DT05UUk9MKDB4YikKKyNkZWZp bmUgSFNXX1dUX0VMTENfTExDX0FHRTMJCUhTV19DQUNIRUFCSUxJVFlfQ09OVFJPTCgweDcpCisj ZGVmaW5lIEhTV19XVF9FTExDX0xMQ19BR0UwCQlIU1dfQ0FDSEVBQklMSVRZX0NPTlRST0woMHg2 KQorI2RlZmluZSBIU1dfUFRFX1VOQ0FDSEVECQkoMCkKKyNkZWZpbmUgSFNXX0dUVF9BRERSX0VO Q09ERShhZGRyKQkoKGFkZHIpIHwgKCgoYWRkcikgPj4gMjgpICYgMHg3ZjApKQorI2RlZmluZSBI U1dfUFRFX0FERFJfRU5DT0RFKGFkZHIpCUhTV19HVFRfQUREUl9FTkNPREUoYWRkcikKKworLyog R0VOOCBsZWdhY3kgc3R5bGUgYWRkcmVzcyBpcyBkZWZpbmVkIGFzIGEgMyBsZXZlbCBwYWdlIHRh YmxlOgorICogMzE6MzAgfCAyOToyMSB8IDIwOjEyIHwgIDExOjAKKyAqIFBEUEUgIHwgIFBERSAg fCAgUFRFICB8IG9mZnNldAorICogVGhlIGRpZmZlcmVuY2UgYXMgY29tcGFyZWQgdG8gbm9ybWFs IHg4NiAzIGxldmVsIHBhZ2UgdGFibGUgaXMgdGhlIFBEUEVzIGFyZQorICogcHJvZ3JhbW1lZCB2 aWEgcmVnaXN0ZXIuCisgKi8KKyNkZWZpbmUgR0VOOF9QRFBFX1NISUZUCQkJMzAKKyNkZWZpbmUg R0VOOF9QRFBFX01BU0sJCQkweDMKKyNkZWZpbmUgR0VOOF9QREVfU0hJRlQJCQkyMQorI2RlZmlu ZSBHRU44X1BERV9NQVNLCQkJMHgxZmYKKyNkZWZpbmUgR0VOOF9QVEVfU0hJRlQJCQkxMgorI2Rl ZmluZSBHRU44X1BURV9NQVNLCQkJMHgxZmYKKyNkZWZpbmUgR0VOOF9MRUdBQ1lfUERQUwkJNAor I2RlZmluZSBHRU44X1BURVNfUEVSX1BBR0UJCShQQUdFX1NJWkUgLyBzaXplb2YoZ2VuOF9ndHRf cHRlX3QpKQorI2RlZmluZSBHRU44X1BERVNfUEVSX1BBR0UJCShQQUdFX1NJWkUgLyBzaXplb2Yo Z2VuOF9wcGd0dF9wZGVfdCkpCisKKyNkZWZpbmUgUFBBVF9VTkNBQ0hFRF9JTkRFWAkJKF9QQUdF X1BXVCB8IF9QQUdFX1BDRCkKKyNkZWZpbmUgUFBBVF9DQUNIRURfUERFX0lOREVYCQkwIC8qIFdC IExMQyAqLworI2RlZmluZSBQUEFUX0NBQ0hFRF9JTkRFWAkJX1BBR0VfUEFUIC8qIFdCIExMQ2VM TEMgKi8KKyNkZWZpbmUgUFBBVF9ESVNQTEFZX0VMTENfSU5ERVgJCV9QQUdFX1BDRCAvKiBXVCBl TExDICovCisKKyNkZWZpbmUgR0VOOF9QUEFUX0FHRSh4KQkJKHg8PDQpCisjZGVmaW5lIEdFTjhf UFBBVF9MTENlTExDCQkoMzw8MikKKyNkZWZpbmUgR0VOOF9QUEFUX0xMQ0VMTEMJCSgyPDwyKQor I2RlZmluZSBHRU44X1BQQVRfTExDCQkJKDE8PDIpCisjZGVmaW5lIEdFTjhfUFBBVF9XQgkJCSgz PDwwKQorI2RlZmluZSBHRU44X1BQQVRfV1QJCQkoMjw8MCkKKyNkZWZpbmUgR0VOOF9QUEFUX1dD CQkJKDE8PDApCisjZGVmaW5lIEdFTjhfUFBBVF9VQwkJCSgwPDwwKQorI2RlZmluZSBHRU44X1BQ QVRfRUxMQ19PVkVSUklERQkJKDA8PDIpCisjZGVmaW5lIEdFTjhfUFBBVChpLCB4KQkJCSgodWlu dDY0X3QpICh4KSA8PCAoKGkpICogOCkpCisKK2VudW0gaTkxNV9jYWNoZV9sZXZlbDsKKy8qKgor ICogQSBWTUEgcmVwcmVzZW50cyBhIEdFTSBCTyB0aGF0IGlzIGJvdW5kIGludG8gYW4gYWRkcmVz cyBzcGFjZS4gVGhlcmVmb3JlLCBhCisgKiBWTUEncyBwcmVzZW5jZSBjYW5ub3QgYmUgZ3VhcmFu dGVlZCBiZWZvcmUgYmluZGluZywgb3IgYWZ0ZXIgdW5iaW5kaW5nIHRoZQorICogb2JqZWN0IGlu dG8vZnJvbSB0aGUgYWRkcmVzcyBzcGFjZS4KKyAqCisgKiBUbyBtYWtlIHRoaW5ncyBhcyBzaW1w bGUgYXMgcG9zc2libGUgKGllLiBubyByZWZjb3VudGluZyksIGEgVk1BJ3MgbGlmZXRpbWUKKyAq IHdpbGwgYWx3YXlzIGJlIDw9IGFuIG9iamVjdHMgbGlmZXRpbWUuIFNvIG9iamVjdCByZWZjb3Vu dGluZyBzaG91bGQgY292ZXIgdXMuCisgKi8KK3N0cnVjdCBpOTE1X3ZtYSB7CisJc3RydWN0IGRy bV9tbV9ub2RlIG5vZGU7CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKKwlzdHJ1 Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKKworCS8qKiBUaGlzIG9iamVjdCdzIHBsYWNlIG9u IHRoZSBhY3RpdmUvaW5hY3RpdmUgbGlzdHMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIG1tX2xpc3Q7 CisKKwlzdHJ1Y3QgbGlzdF9oZWFkIHZtYV9saW5rOyAvKiBMaW5rIGluIHRoZSBvYmplY3QncyBW TUEgbGlzdCAqLworCisJLyoqIFRoaXMgdm1hJ3MgcGxhY2UgaW4gdGhlIGJhdGNoYnVmZmVyIG9y IG9uIHRoZSBldmljdGlvbiBsaXN0ICovCisJc3RydWN0IGxpc3RfaGVhZCBleGVjX2xpc3Q7CisK KwkvKioKKwkgKiBVc2VkIGZvciBwZXJmb3JtaW5nIHJlbG9jYXRpb25zIGR1cmluZyBleGVjYnVm ZmVyIGluc2VydGlvbi4KKwkgKi8KKwlzdHJ1Y3QgaGxpc3Rfbm9kZSBleGVjX25vZGU7CisJdW5z aWduZWQgbG9uZyBleGVjX2hhbmRsZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0 MiAqZXhlY19lbnRyeTsKKworCS8qKgorCSAqIEhvdyBtYW55IHVzZXJzIGhhdmUgcGlubmVkIHRo aXMgb2JqZWN0IGluIEdUVCBzcGFjZS4gVGhlIGZvbGxvd2luZworCSAqIHVzZXJzIGNhbiBlYWNo IGhvbGQgYXQgbW9zdCBvbmUgcmVmZXJlbmNlOiBwd3JpdGUvcHJlYWQsIHBpbl9pb2N0bAorCSAq ICh2aWEgdXNlcl9waW5fY291bnQpLCBleGVjYnVmZmVyIChvYmplY3RzIGFyZSBub3QgYWxsb3dl ZCBtdWx0aXBsZQorCSAqIHRpbWVzIGZvciB0aGUgc2FtZSBiYXRjaGJ1ZmZlciksIGFuZCB0aGUg ZnJhbWVidWZmZXIgY29kZS4gV2hlbgorCSAqIHN3aXRjaGluZy9wYWdlZmxpcHBpbmcsIHRoZSBm cmFtZWJ1ZmZlciBjb2RlIGhhcyBhdCBtb3N0IHR3byBidWZmZXJzCisJICogcGlubmVkIHBlciBj cnRjLgorCSAqCisJICogSW4gdGhlIHdvcnN0IGNhc2UgdGhpcyBpcyAxICsgMSArIDEgKyAyKjIg PSA3LiBUaGF0IHdvdWxkIGZpdCBpbnRvIDMKKwkgKiBiaXRzIHdpdGggYWJzb2x1dGVseSBubyBo ZWFkcm9vbS4gU28gdXNlIDQgYml0cy4gKi8KKwl1bnNpZ25lZCBpbnQgcGluX2NvdW50OjQ7Cisj ZGVmaW5lIERSTV9JOTE1X0dFTV9PQkpFQ1RfTUFYX1BJTl9DT1VOVCAweGYKKworCS8qKiBVbm1h cCBhbiBvYmplY3QgZnJvbSBhbiBhZGRyZXNzIHNwYWNlLiBUaGlzIHVzdWFsbHkgY29uc2lzdHMg b2YKKwkgKiBzZXR0aW5nIHRoZSB2YWxpZCBQVEUgZW50cmllcyB0byBhIHJlc2VydmVkIHNjcmF0 Y2ggcGFnZS4gKi8KKwl2b2lkICgqdW5iaW5kX3ZtYSkoc3RydWN0IGk5MTVfdm1hICp2bWEpOwor CS8qIE1hcCBhbiBvYmplY3QgaW50byBhbiBhZGRyZXNzIHNwYWNlIHdpdGggdGhlIGdpdmVuIGNh Y2hlIGZsYWdzLiAqLworI2RlZmluZSBHTE9CQUxfQklORCAoMTw8MCkKKwl2b2lkICgqYmluZF92 bWEpKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAorCQkJIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNo ZV9sZXZlbCwKKwkJCSB1MzIgZmxhZ3MpOworfTsKKworc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSB7CisJc3RydWN0IGRybV9tbSBtbTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OworCXN0cnVj dCBsaXN0X2hlYWQgZ2xvYmFsX2xpbms7CisJdW5zaWduZWQgbG9uZyBzdGFydDsJCS8qIFN0YXJ0 IG9mZnNldCBhbHdheXMgMCBmb3IgZHJpMiAqLworCXNpemVfdCB0b3RhbDsJCS8qIHNpemUgYWRk ciBzcGFjZSBtYXBzIChleC4gMkdCIGZvciBnZ3R0KSAqLworCisJc3RydWN0IHsKKwkJZG1hX2Fk ZHJfdCBhZGRyOworCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwl9IHNjcmF0Y2g7CisKKwkvKioKKwkg KiBMaXN0IG9mIG9iamVjdHMgY3VycmVudGx5IGludm9sdmVkIGluIHJlbmRlcmluZy4KKwkgKgor CSAqIEluY2x1ZGVzIGJ1ZmZlcnMgaGF2aW5nIHRoZSBjb250ZW50cyBvZiB0aGVpciBHUFUgY2Fj aGVzCisJICogZmx1c2hlZCwgbm90IG5lY2Vzc2FyaWx5IHByaW1pdGl2ZXMuICBsYXN0X3JlbmRl cmluZ19zZXFubworCSAqIHJlcHJlc2VudHMgd2hlbiB0aGUgcmVuZGVyaW5nIGludm9sdmVkIHdp bGwgYmUgY29tcGxldGVkLgorCSAqCisJICogQSByZWZlcmVuY2UgaXMgaGVsZCBvbiB0aGUgYnVm ZmVyIHdoaWxlIG9uIHRoaXMgbGlzdC4KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9s aXN0OworCisJLyoqCisJICogTFJVIGxpc3Qgb2Ygb2JqZWN0cyB3aGljaCBhcmUgbm90IGluIHRo ZSByaW5nYnVmZmVyIGFuZAorCSAqIGFyZSByZWFkeSB0byB1bmJpbmQsIGJ1dCBhcmUgc3RpbGwg aW4gdGhlIEdUVC4KKwkgKgorCSAqIGxhc3RfcmVuZGVyaW5nX3NlcW5vIGlzIDAgd2hpbGUgYW4g b2JqZWN0IGlzIGluIHRoaXMgbGlzdC4KKwkgKgorCSAqIEEgcmVmZXJlbmNlIGlzIG5vdCBoZWxk IG9uIHRoZSBidWZmZXIgd2hpbGUgb24gdGhpcyBsaXN0LAorCSAqIGFzIG1lcmVseSBiZWluZyBH VFQtYm91bmQgc2hvdWxkbid0IHByZXZlbnQgaXRzIGJlaW5nCisJICogZnJlZWQsIGFuZCB3ZSds bCBwdWxsIGl0IG9mZiB0aGUgbGlzdCBpbiB0aGUgZnJlZSBwYXRoLgorCSAqLworCXN0cnVjdCBs aXN0X2hlYWQgaW5hY3RpdmVfbGlzdDsKKworCS8qIEZJWE1FOiBOZWVkIGEgbW9yZSBnZW5lcmlj IHJldHVybiB0eXBlICovCisJZ2VuNl9ndHRfcHRlX3QgKCpwdGVfZW5jb2RlKShkbWFfYWRkcl90 IGFkZHIsCisJCQkJICAgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWwsCisJCQkJICAgICBi b29sIHZhbGlkKTsgLyogQ3JlYXRlIGEgdmFsaWQgUFRFICovCisJdm9pZCAoKmNsZWFyX3Jhbmdl KShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCSAgICB1aW50NjRfdCBzdGFydCwK KwkJCSAgICB1aW50NjRfdCBsZW5ndGgsCisJCQkgICAgYm9vbCB1c2Vfc2NyYXRjaCk7CisJdm9p ZCAoKmluc2VydF9lbnRyaWVzKShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJCSAg ICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnN0LAorCQkJICAgICAgIHVpbnQ2NF90IHN0YXJ0LAorCQkJ ICAgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCk7CisJdm9pZCAoKmNsZWFu dXApKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKTsKK307CisKKy8qIFRoZSBHcmFwaGlj cyBUcmFuc2xhdGlvbiBUYWJsZSBpcyB0aGUgd2F5IGluIHdoaWNoIEdFTiBoYXJkd2FyZSB0cmFu c2xhdGVzIGEKKyAqIEdyYXBoaWNzIFZpcnR1YWwgQWRkcmVzcyBpbnRvIGEgUGh5c2ljYWwgQWRk cmVzcy4gSW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbAorICogY29sbGF0ZXJhbCBhc3NvY2lhdGVk IHdpdGggYW55IHZhLT5wYSB0cmFuc2xhdGlvbnMgR0VOIGhhcmR3YXJlIGFsc28gaGFzIGEKKyAq IHBvcnRpb24gb2YgdGhlIEdUVCB3aGljaCBjYW4gYmUgbWFwcGVkIGJ5IHRoZSBDUFUgYW5kIHJl bWFpbiBib3RoIGNvaGVyZW50CisgKiBhbmQgY29ycmVjdCAoaW4gY2FzZXMgbGlrZSBzd2l6emxp bmcpLiBUaGF0IHJlZ2lvbiBpcyByZWZlcnJlZCB0byBhcyBHTUFEUiBpbgorICogdGhlIHNwZWMu CisgKi8KK3N0cnVjdCBpOTE1X2d0dCB7CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSBiYXNl OworCXNpemVfdCBzdG9sZW5fc2l6ZTsJCS8qIFRvdGFsIHNpemUgb2Ygc3RvbGVuIG1lbW9yeSAq LworCisJdW5zaWduZWQgbG9uZyBtYXBwYWJsZV9lbmQ7CS8qIEVuZCBvZmZzZXQgdGhhdCB3ZSBj YW4gQ1BVIG1hcCAqLworCXN0cnVjdCBpb19tYXBwaW5nICptYXBwYWJsZTsJLyogTWFwcGluZyB0 byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLworCXBoeXNfYWRkcl90IG1hcHBhYmxlX2Jhc2U7 CS8qIFBBIG9mIG91ciBHTUFEUiAqLworCisJLyoqICJHcmFwaGljcyBTdG9sZW4gTWVtb3J5IiBo b2xkcyB0aGUgZ2xvYmFsIFBURXMgKi8KKwl2b2lkIF9faW9tZW0gKmdzbTsKKworCWJvb2wgZG9f aWRsZV9tYXBzOworCisJaW50IG10cnI7CisKKwkvKiBnbG9iYWwgZ3R0IG9wcyAqLworCWludCAo Kmd0dF9wcm9iZSkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90ICpndHRfdG90YWwsCisJ CQkgIHNpemVfdCAqc3RvbGVuLCBwaHlzX2FkZHJfdCAqbWFwcGFibGVfYmFzZSwKKwkJCSAgdW5z aWduZWQgbG9uZyAqbWFwcGFibGVfZW5kKTsKK307CisKK3N0cnVjdCBpOTE1X2h3X3BwZ3R0IHsK KwlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIGJhc2U7CisJc3RydWN0IGtyZWYgcmVmOworCXN0 cnVjdCBkcm1fbW1fbm9kZSBub2RlOworCXVuc2lnbmVkIG51bV9wZF9lbnRyaWVzOworCXVuc2ln bmVkIG51bV9wZF9wYWdlczsgLyogZ2VuOCsgKi8KKwl1bmlvbiB7CisJCXN0cnVjdCBwYWdlICoq cHRfcGFnZXM7CisJCXN0cnVjdCBwYWdlICoqZ2VuOF9wdF9wYWdlc1tHRU44X0xFR0FDWV9QRFBT XTsKKwl9OworCXN0cnVjdCBwYWdlICpwZF9wYWdlczsKKwl1bmlvbiB7CisJCXVpbnQzMl90IHBk X29mZnNldDsKKwkJZG1hX2FkZHJfdCBwZF9kbWFfYWRkcltHRU44X0xFR0FDWV9QRFBTXTsKKwl9 OworCXVuaW9uIHsKKwkJZG1hX2FkZHJfdCAqcHRfZG1hX2FkZHI7CisJCWRtYV9hZGRyX3QgKmdl bjhfcHRfZG1hX2FkZHJbNF07CisJfTsKKworCXN0cnVjdCBpOTE1X2h3X2NvbnRleHQgKmN0eDsK KworCWludCAoKmVuYWJsZSkoc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0KTsKKwlpbnQgKCpz d2l0Y2hfbW0pKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwKKwkJCSBzdHJ1Y3QgaW50ZWxf cmluZ19idWZmZXIgKnJpbmcsCisJCQkgYm9vbCBzeW5jaHJvbm91cyk7CisJdm9pZCAoKmRlYnVn X2R1bXApKHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCwgc3RydWN0IHNlcV9maWxlICptKTsK K307CisKK2ludCBpOTE1X2dlbV9ndHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK3Zv aWQgaTkxNV9nZW1faW5pdF9nbG9iYWxfZ3R0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9p ZCBpOTE1X2dlbV9zZXR1cF9nbG9iYWxfZ3R0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2ln bmVkIGxvbmcgc3RhcnQsCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBtYXBwYWJsZV9lbmQsIHVu c2lnbmVkIGxvbmcgZW5kKTsKKworYm9vbCBpbnRlbF9lbmFibGVfcHBndHQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgYm9vbCBmdWxsKTsKK2ludCBpOTE1X2dlbV9pbml0X3BwZ3R0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCk7CisKK3ZvaWQgaTkx NV9jaGVja19hbmRfY2xlYXJfZmF1bHRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBp OTE1X2dlbV9zdXNwZW5kX2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK3Zv aWQgaTkxNV9nZW1fcmVzdG9yZV9ndHRfbWFwcGluZ3Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CisKK2ludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZ3R0X3ByZXBhcmVfb2JqZWN0KHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwordm9pZCBpOTE1X2dlbV9ndHRfZmluaXNoX29iamVj dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKKworI2VuZGlmCi0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK