From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA18389F99 for ; Tue, 12 Mar 2019 17:17:37 +0000 (UTC) From: Andi Shyti Date: Tue, 12 Mar 2019 19:17:23 +0200 Message-Id: <20190312171728.3352-2-andi.shyti@intel.com> In-Reply-To: <20190312171728.3352-1-andi.shyti@intel.com> References: <20190312171728.3352-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v11 1/6] include/drm-uapi: import i915_drm.h header file List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT dev Cc: Andi Shyti List-ID: VGhpcyBoZWFkZXIgZmlsZSBpcyBpbXBvcnRlZCBpbiBvcmRlciB0byBpbmNsdWRlIHRoZSB0d28g bmV3CmlvY3RscyBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9TRVRQQVJBTSwKRFJNX0lPQ1RM X0k5MTVfR0VNX0NPTlRFWFRfR0VUUEFSQU0gYW5kIERSTV9JT0NUTF9JOTE1X1FVRVJZLgoKU2ln bmVkLW9mZi1ieTogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Ci0tLQogaW5jbHVk ZS9kcm0tdWFwaS9pOTE1X2RybS5oIHwgNDA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMzMSBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmggYi9pbmNsdWRlL2Ry bS11YXBpL2k5MTVfZHJtLmgKaW5kZXggNDNmYjhlZGUyZmUwLi4yYmJhZDA4ZWI5ZDIgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL2RybS11YXBp L2k5MTVfZHJtLmgKQEAgLTYyLDYgKzYyLDI2IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBJOTE1 X0VSUk9SX1VFVkVOVAkJIkVSUk9SIgogI2RlZmluZSBJOTE1X1JFU0VUX1VFVkVOVAkJIlJFU0VU IgogCisvKgorICogaTkxNV91c2VyX2V4dGVuc2lvbjogQmFzZSBjbGFzcyBmb3IgZGVmaW5pbmcg YSBjaGFpbiBvZiBleHRlbnNpb25zCisgKgorICogTWFueSBpbnRlcmZhY2VzIG5lZWQgdG8gZ3Jv dyBvdmVyIHRpbWUuIEluIG1vc3QgY2FzZXMgd2UgY2FuIHNpbXBseQorICogZXh0ZW5kIHRoZSBz dHJ1Y3QgYW5kIGhhdmUgdXNlcnNwYWNlIHBhc3MgaW4gbW9yZSBkYXRhLiBBbm90aGVyIG9wdGlv biwKKyAqIGFzIGRlbW9uc3RyYXRlZCBieSBWdWxrYW4ncyBhcHByb2FjaCB0byBwcm92aWRpbmcg ZXh0ZW5zaW9ucyBmb3IgZm9yd2FyZAorICogYW5kIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGlz IHRvIHVzZSBhIGxpc3Qgb2Ygb3B0aW9uYWwgc3RydWN0cyB0bworICogcHJvdmlkZSB0aG9zZSBl eHRyYSBkZXRhaWxzLgorICoKKyAqIFRoZSBrZXkgYWR2YW50YWdlIHRvIHVzaW5nIGFuIGV4dGVu c2lvbiBjaGFpbiBpcyB0aGF0IGl0IGFsbG93cyB1cyB0bworICogcmVkZWZpbmUgdGhlIGludGVy ZmFjZSBtb3JlIGVhc2lseSB0aGFuIGFuIGV2ZXIgZ3Jvd2luZyBzdHJ1Y3Qgb2YKKyAqIGluY3Jl YXNpbmcgY29tcGxleGl0eSwgYW5kIGZvciBsYXJnZSBwYXJ0cyBvZiB0aGF0IGludGVyZmFjZSB0 byBiZQorICogZW50aXJlbHkgb3B0aW9uYWwuIFRoZSBkb3duc2lkZSBpcyBtb3JlIHBvaW50ZXIg Y2hhc2luZzsgY2hhc2luZyBhY3Jvc3MKKyAqIHRoZSBib3VuZGFyeSB3aXRoIHBvaW50ZXJzIGVu Y2Fwc3VsYXRlZCBpbnNpZGUgdTY0LgorICovCitzdHJ1Y3QgaTkxNV91c2VyX2V4dGVuc2lvbiB7 CisJX191NjQgbmV4dF9leHRlbnNpb247CisJX191NjQgbmFtZTsKK307CisKIC8qCiAgKiBNT0NT IGluZGV4ZXMgdXNlZCBmb3IgR1BVIHN1cmZhY2VzLCBkZWZpbmluZyB0aGUgY2FjaGVhYmlsaXR5 IG9mIHRoZQogICogc3VyZmFjZSBkYXRhIGFuZCB0aGUgY29oZXJlbmN5IGZvciB0aGlzIGRhdGEg d3J0LiBDUFUgdnMuIEdQVSBhY2Nlc3Nlcy4KQEAgLTk5LDkgKzExOSwxNCBAQCBlbnVtIGRybV9p OTE1X2dlbV9lbmdpbmVfY2xhc3MgewogCUk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPCQk9IDIsCiAJ STkxNV9FTkdJTkVfQ0xBU1NfVklERU9fRU5IQU5DRQk9IDMsCiAKKwkvKiBzaG91bGQgYmUga2Vw dCBjb21wYWN0ICovCisKIAlJOTE1X0VOR0lORV9DTEFTU19JTlZBTElECT0gLTEKIH07CiAKKyNk ZWZpbmUgSTkxNV9FTkdJTkVfQ0xBU1NfSU5WQUxJRF9OT05FIC0xCisjZGVmaW5lIEk5MTVfRU5H SU5FX0NMQVNTX0lOVkFMSURfVklSVFVBTCAwCisKIC8qKgogICogRE9DOiBwZXJmX2V2ZW50cyBl eHBvc2VkIGJ5IGk5MTUgdGhyb3VnaCAvc3lzL2J1cy9ldmVudF9zb3VyY2VzL2RyaXZlcnMvaTkx NQogICoKQEAgLTMxOSw2ICszNDQsOSBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEg ewogI2RlZmluZSBEUk1fSTkxNV9QRVJGX0FERF9DT05GSUcJMHgzNwogI2RlZmluZSBEUk1fSTkx NV9QRVJGX1JFTU9WRV9DT05GSUcJMHgzOAogI2RlZmluZSBEUk1fSTkxNV9RVUVSWQkJCTB4MzkK KyNkZWZpbmUgRFJNX0k5MTVfR0VNX1ZNX0NSRUFURQkJMHgzYQorI2RlZmluZSBEUk1fSTkxNV9H RU1fVk1fREVTVFJPWQkJMHgzYgorLyogTXVzdCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMg Ki8KIAogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9JTklUCQlEUk1fSU9XKCBEUk1fQ09NTUFORF9C QVNFICsgRFJNX0k5MTVfSU5JVCwgZHJtX2k5MTVfaW5pdF90KQogI2RlZmluZSBEUk1fSU9DVExf STkxNV9GTFVTSAkJRFJNX0lPICggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0ZMVVNIKQpA QCAtMzY3LDYgKzM5NSw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7CiAjZGVm aW5lIERSTV9JT0NUTF9JOTE1X0dFVF9TUFJJVEVfQ09MT1JLRVkgRFJNX0lPV1IoRFJNX0NPTU1B TkRfQkFTRSArIERSTV9JOTE1X0dFVF9TUFJJVEVfQ09MT1JLRVksIHN0cnVjdCBkcm1faW50ZWxf c3ByaXRlX2NvbG9ya2V5KQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9HRU1fV0FJVAkJRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9XQUlULCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3dhaXQpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0NSRUFURQlEUk1f SU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9DT05URVhUX0NSRUFURSwgc3Ry dWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVf R0VNX0NPTlRFWFRfQ1JFQVRFX0VYVAlEUk1fSU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9J OTE1X0dFTV9DT05URVhUX0NSRUFURSwgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0 ZV9leHQpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0RFU1RST1kJRFJNX0lP VyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9DT05URVhUX0RFU1RST1ksIHN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9kZXN0cm95KQogI2RlZmluZSBEUk1fSU9DVExfSTkxNV9S RUdfUkVBRAkJCURSTV9JT1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfUkVHX1JFQUQs IHN0cnVjdCBkcm1faTkxNV9yZWdfcmVhZCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VUX1JF U0VUX1NUQVRTCQlEUk1fSU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFVF9SRVNF VF9TVEFUUywgc3RydWN0IGRybV9pOTE1X3Jlc2V0X3N0YXRzKQpAQCAtMzc3LDYgKzQwNiw4IEBA IHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7CiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1 X1BFUkZfQUREX0NPTkZJRwlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9QRVJG X0FERF9DT05GSUcsIHN0cnVjdCBkcm1faTkxNV9wZXJmX29hX2NvbmZpZykKICNkZWZpbmUgRFJN X0lPQ1RMX0k5MTVfUEVSRl9SRU1PVkVfQ09ORklHCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9JOTE1X1BFUkZfUkVNT1ZFX0NPTkZJRywgX191NjQpCiAjZGVmaW5lIERSTV9JT0NUTF9J OTE1X1FVRVJZCQkJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1FVRVJZLCBz dHJ1Y3QgZHJtX2k5MTVfcXVlcnkpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9WTV9DUkVB VEUJRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9WTV9DUkVBVEUsIHN0 cnVjdCBkcm1faTkxNV9nZW1fdm1fY29udHJvbCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VN X1ZNX0RFU1RST1kJRFJNX0lPVyAoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9WTV9E RVNUUk9ZLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3ZtX2NvbnRyb2wpCiAKIC8qIEFsbG93IGRyaXZl cnMgdG8gc3VibWl0IGJhdGNoYnVmZmVycyBkaXJlY3RseSB0byBoYXJkd2FyZSwgcmVseWluZwog ICogb24gdGhlIHNlY3VyaXR5IG1lY2hhbmlzbXMgcHJvdmlkZWQgYnkgaGFyZHdhcmUuCkBAIC00 NzYsNiArNTA3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5MTVfaXJxX3dhaXQgewogI2RlZmlu ZSAgIEk5MTVfU0NIRURVTEVSX0NBUF9FTkFCTEVECSgxdWwgPDwgMCkKICNkZWZpbmUgICBJOTE1 X1NDSEVEVUxFUl9DQVBfUFJJT1JJVFkJKDF1bCA8PCAxKQogI2RlZmluZSAgIEk5MTVfU0NIRURV TEVSX0NBUF9QUkVFTVBUSU9OCSgxdWwgPDwgMikKKyNkZWZpbmUgICBJOTE1X1NDSEVEVUxFUl9D QVBfU0VNQVBIT1JFUwkoMXVsIDw8IDMpCiAKICNkZWZpbmUgSTkxNV9QQVJBTV9IVUNfU1RBVFVT CQkgNDIKIApAQCAtNTU5LDYgKzU5MSwxNCBAQCB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9pcnFf d2FpdCB7CiAgKi8KICNkZWZpbmUgSTkxNV9QQVJBTV9NTUFQX0dUVF9DT0hFUkVOVAk1MgogCisv KgorICogUXVlcnkgd2hldGhlciBEUk1fSTkxNV9HRU1fRVhFQ0JVRkZFUjIgc3VwcG9ydHMgY29v cmRpbmF0aW9uIG9mIHBhcmFsbGVsCisgKiBleGVjdXRpb24gdGhyb3VnaCB1c2Ugb2YgZXhwbGlj aXQgZmVuY2Ugc3VwcG9ydC4KKyAqIFNlZSBJOTE1X0VYRUNfRkVOQ0VfT1VUIGFuZCBJOTE1X0VY RUNfRkVOQ0VfU1VCTUlULgorICovCisjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0VYRUNfU1VCTUlU X0ZFTkNFIDUzCisvKiBNdXN0IGJlIGtlcHQgY29tcGFjdCAtLSBubyBob2xlcyBhbmQgd2VsbCBk b2N1bWVudGVkICovCisKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X2dldHBhcmFtIHsKIAlfX3Mz MiBwYXJhbTsKIAkvKgpAQCAtNTc0LDYgKzYxNCw3IEBAIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1 X2dldHBhcmFtIHsKICNkZWZpbmUgSTkxNV9TRVRQQVJBTV9URVhfTFJVX0xPR19HUkFOVUxBUklU WSAgICAgICAgICAgICAyCiAjZGVmaW5lIEk5MTVfU0VUUEFSQU1fQUxMT1dfQkFUQ0hCVUZGRVIg ICAgICAgICAgICAgICAgICAgMwogI2RlZmluZSBJOTE1X1NFVFBBUkFNX05VTV9VU0VEX0ZFTkNF UyAgICAgICAgICAgICAgICAgICAgIDQKKy8qIE11c3QgYmUga2VwdCBjb21wYWN0IC0tIG5vIGhv bGVzICovCiAKIHR5cGVkZWYgc3RydWN0IGRybV9pOTE1X3NldHBhcmFtIHsKIAlpbnQgcGFyYW07 CkBAIC05NzIsNyArMTAxMyw3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgewog CSAqIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSAqZmVuY2VzLgogCSAqLwogCV9fdTY0 IGNsaXByZWN0c19wdHI7Ci0jZGVmaW5lIEk5MTVfRVhFQ19SSU5HX01BU0sgICAgICAgICAgICAg ICg3PDwwKQorI2RlZmluZSBJOTE1X0VYRUNfUklOR19NQVNLICAgICAgICAgICAgICAoMHgzZikK ICNkZWZpbmUgSTkxNV9FWEVDX0RFRkFVTFQgICAgICAgICAgICAgICAgKDA8PDApCiAjZGVmaW5l IEk5MTVfRVhFQ19SRU5ERVIgICAgICAgICAgICAgICAgICgxPDwwKQogI2RlZmluZSBJOTE1X0VY RUNfQlNEICAgICAgICAgICAgICAgICAgICAoMjw8MCkKQEAgLTEwNzgsNyArMTExOSwxNiBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIHsKICAqLwogI2RlZmluZSBJOTE1X0VYRUNf RkVOQ0VfQVJSQVkgICAoMTw8MTkpCiAKLSNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9GTEFH UyAoLShJOTE1X0VYRUNfRkVOQ0VfQVJSQVk8PDEpKQorLyoKKyAqIFNldHRpbmcgSTkxNV9FWEVD X0ZFTkNFX1NVQk1JVCBpbXBsaWVzIHRoYXQgbG93ZXJfMzJfYml0cyhyc3ZkMikgcmVwcmVzZW50 CisgKiBhIHN5bmNfZmlsZSBmZCB0byB3YWl0IHVwb24gKGluIGEgbm9uYmxvY2tpbmcgbWFubmVy KSBwcmlvciB0byBleGVjdXRpbmcKKyAqIHRoZSBiYXRjaC4KKyAqCisgKiBSZXR1cm5zIC1FSU5W QUwgaWYgdGhlIHN5bmNfZmlsZSBmZCBjYW5ub3QgYmUgZm91bmQuCisgKi8KKyNkZWZpbmUgSTkx NV9FWEVDX0ZFTkNFX1NVQk1JVAkJKDEgPDwgMjApCisKKyNkZWZpbmUgX19JOTE1X0VYRUNfVU5L Tk9XTl9GTEFHUyAoLShJOTE1X0VYRUNfRkVOQ0VfU1VCTUlUIDw8IDEpKQogCiAjZGVmaW5lIEk5 MTVfRVhFQ19DT05URVhUX0lEX01BU0sJKDB4ZmZmZmZmZmYpCiAjZGVmaW5lIGk5MTVfZXhlY2J1 ZmZlcjJfc2V0X2NvbnRleHRfaWQoZWIyLCBjb250ZXh0KSBcCkBAIC0xMTIwLDMyICsxMTcwLDM0 IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fYnVzeSB7CiAJICogYXMgYnVzeSBtYXkgYmVjb21lIGlk bGUgYmVmb3JlIHRoZSBpb2N0bCBpcyBjb21wbGV0ZWQuCiAJICoKIAkgKiBGdXJ0aGVybW9yZSwg aWYgdGhlIG9iamVjdCBpcyBidXN5LCB3aGljaCBlbmdpbmUgaXMgYnVzeSBpcyBvbmx5Ci0JICog cHJvdmlkZWQgYXMgYSBndWlkZS4gVGhlcmUgYXJlIHJhY2UgY29uZGl0aW9ucyB3aGljaCBwcmV2 ZW50IHRoZQotCSAqIHJlcG9ydCBvZiB3aGljaCBlbmdpbmVzIGFyZSBidXN5IGZyb20gYmVpbmcg YWx3YXlzIGFjY3VyYXRlLgotCSAqIEhvd2V2ZXIsIHRoZSBjb252ZXJzZSBpcyBub3QgdHJ1ZS4g SWYgdGhlIG9iamVjdCBpcyBpZGxlLCB0aGUKLQkgKiByZXN1bHQgb2YgdGhlIGlvY3RsLCB0aGF0 IGFsbCBlbmdpbmVzIGFyZSBpZGxlLCBpcyBhY2N1cmF0ZS4KKwkgKiBwcm92aWRlZCBhcyBhIGd1 aWRlIGFuZCBvbmx5IGluZGlyZWN0bHkgYnkgcmVwb3J0aW5nIGl0cyBjbGFzcworCSAqICh0aGVy ZSBtYXkgYmUgbW9yZSB0aGFuIG9uZSBlbmdpbmUgaW4gZWFjaCBjbGFzcykuIFRoZXJlIGFyZSBy YWNlCisJICogY29uZGl0aW9ucyB3aGljaCBwcmV2ZW50IHRoZSByZXBvcnQgb2Ygd2hpY2ggZW5n aW5lcyBhcmUgYnVzeSBmcm9tCisJICogYmVpbmcgYWx3YXlzIGFjY3VyYXRlLiAgSG93ZXZlciwg dGhlIGNvbnZlcnNlIGlzIG5vdCB0cnVlLiBJZiB0aGUKKwkgKiBvYmplY3QgaXMgaWRsZSwgdGhl IHJlc3VsdCBvZiB0aGUgaW9jdGwsIHRoYXQgYWxsIGVuZ2luZXMgYXJlIGlkbGUsCisJICogaXMg YWNjdXJhdGUuCiAJICoKIAkgKiBUaGUgcmV0dXJuZWQgZHdvcmQgaXMgc3BsaXQgaW50byB0d28g ZmllbGRzIHRvIGluZGljYXRlIGJvdGgKLQkgKiB0aGUgZW5naW5lcyBvbiB3aGljaCB0aGUgb2Jq ZWN0IGlzIGJlaW5nIHJlYWQsIGFuZCB0aGUKLQkgKiBlbmdpbmUgb24gd2hpY2ggaXQgaXMgY3Vy cmVudGx5IGJlaW5nIHdyaXR0ZW4gKGlmIGFueSkuCisJICogdGhlIGVuZ2luZSBjbGFzc2VzcyBv biB3aGljaCB0aGUgb2JqZWN0IGlzIGJlaW5nIHJlYWQsIGFuZCB0aGUKKwkgKiBlbmdpbmUgY2xh c3Mgb24gd2hpY2ggaXQgaXMgY3VycmVudGx5IGJlaW5nIHdyaXR0ZW4gKGlmIGFueSkuCiAJICoK IAkgKiBUaGUgbG93IHdvcmQgKGJpdHMgMDoxNSkgaW5kaWNhdGUgaWYgdGhlIG9iamVjdCBpcyBi ZWluZyB3cml0dGVuCiAJICogdG8gYnkgYW55IGVuZ2luZSAodGhlcmUgY2FuIG9ubHkgYmUgb25l LCBhcyB0aGUgR0VNIGltcGxpY2l0CiAJICogc3luY2hyb25pc2F0aW9uIHJ1bGVzIGZvcmNlIHdy aXRlcyB0byBiZSBzZXJpYWxpc2VkKS4gT25seSB0aGUKLQkgKiBlbmdpbmUgZm9yIHRoZSBsYXN0 IHdyaXRlIGlzIHJlcG9ydGVkLgorCSAqIGVuZ2luZSBjbGFzcyAob2Zmc2V0IGJ5IDEsIEk5MTVf RU5HSU5FX0NMQVNTX1JFTkRFUiBpcyByZXBvcnRlZCBhcworCSAqIDEgbm90IDAgZXRjKSBmb3Ig dGhlIGxhc3Qgd3JpdGUgaXMgcmVwb3J0ZWQuCiAJICoKLQkgKiBUaGUgaGlnaCB3b3JkIChiaXRz IDE2OjMxKSBhcmUgYSBiaXRtYXNrIG9mIHdoaWNoIGVuZ2luZXMgYXJlCi0JICogY3VycmVudGx5 IHJlYWRpbmcgZnJvbSB0aGUgb2JqZWN0LiBNdWx0aXBsZSBlbmdpbmVzIG1heSBiZQorCSAqIFRo ZSBoaWdoIHdvcmQgKGJpdHMgMTY6MzEpIGFyZSBhIGJpdG1hc2sgb2Ygd2hpY2ggZW5naW5lcyBj bGFzc2VzCisJICogYXJlIGN1cnJlbnRseSByZWFkaW5nIGZyb20gdGhlIG9iamVjdC4gTXVsdGlw bGUgZW5naW5lcyBtYXkgYmUKIAkgKiByZWFkaW5nIGZyb20gdGhlIG9iamVjdCBzaW11bHRhbmVv dXNseS4KIAkgKgotCSAqIFRoZSB2YWx1ZSBvZiBlYWNoIGVuZ2luZSBpcyB0aGUgc2FtZSBhcyBz cGVjaWZpZWQgaW4gdGhlCi0JICogRVhFQ0JVRkZFUjIgaW9jdGwsIGkuZS4gSTkxNV9FWEVDX1JF TkRFUiwgSTkxNV9FWEVDX0JTRCBldGMuCi0JICogTm90ZSBJOTE1X0VYRUNfREVGQVVMVCBpcyBh IHN5bWJvbGljIHZhbHVlIGFuZCBpcyBtYXBwZWQgdG8KLQkgKiB0aGUgSTkxNV9FWEVDX1JFTkRF UiBlbmdpbmUgZm9yIGV4ZWN1dGlvbiwgYW5kIHNvIGl0IGlzIG5ldmVyCisJICogVGhlIHZhbHVl IG9mIGVhY2ggZW5naW5lIGNsYXNzIGlzIHRoZSBzYW1lIGFzIHNwZWNpZmllZCBpbiB0aGUKKwkg KiBJOTE1X0NPTlRFWFRfU0VUX0VOR0lORVMgcGFyYW1ldGVyIGFuZCB2aWEgcGVyZiwgaS5lLgor CSAqIEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiwgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgZXRj LgogCSAqIHJlcG9ydGVkIGFzIGFjdGl2ZSBpdHNlbGYuIFNvbWUgaGFyZHdhcmUgbWF5IGhhdmUg cGFyYWxsZWwKIAkgKiBleGVjdXRpb24gZW5naW5lcywgZS5nLiBtdWx0aXBsZSBtZWRpYSBlbmdp bmVzLCB3aGljaCBhcmUKLQkgKiBtYXBwZWQgdG8gdGhlIHNhbWUgaWRlbnRpZmllciBpbiB0aGUg RVhFQ0JVRkZFUjIgaW9jdGwgYW5kCi0JICogc28gYXJlIG5vdCBzZXBhcmF0ZWx5IHJlcG9ydGVk IGZvciBidXN5bmVzcy4KKwkgKiBtYXBwZWQgdG8gdGhlIHNhbWUgY2xhc3MgaWRlbnRpZmllciBh bmQgc28gYXJlIG5vdCBzZXBhcmF0ZWx5CisJICogcmVwb3J0ZWQgZm9yIGJ1c3luZXNzLgogCSAq CiAJICogQ2F2ZWF0IGVtcHRvcjoKIAkgKiBPbmx5IHRoZSBib29sZWFuIHJlc3VsdCBvZiB0aGlz IHF1ZXJ5IGlzIHJlbGlhYmxlOyB0aGF0IGlzIHdoZXRoZXIKQEAgLTE0MTIsNjUgKzE0NjQsMTgg QEAgc3RydWN0IGRybV9pOTE1X2dlbV93YWl0IHsKIH07CiAKIHN0cnVjdCBkcm1faTkxNV9nZW1f Y29udGV4dF9jcmVhdGUgewotCS8qICBvdXRwdXQ6IGlkIG9mIG5ldyBjb250ZXh0Ki8KLQlfX3Uz MiBjdHhfaWQ7CisJX191MzIgY3R4X2lkOyAvKiBvdXRwdXQ6IGlkIG9mIG5ldyBjb250ZXh0Ki8K IAlfX3UzMiBwYWQ7CiB9OwogCi1zdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfZGVzdHJveSB7 Ci0JX191MzIgY3R4X2lkOwotCV9fdTMyIHBhZDsKLX07Ci0KLXN0cnVjdCBkcm1faTkxNV9yZWdf cmVhZCB7Ci0JLyoKLQkgKiBSZWdpc3RlciBvZmZzZXQuCi0JICogRm9yIDY0Yml0IHdpZGUgcmVn aXN0ZXJzIHdoZXJlIHRoZSB1cHBlciAzMmJpdHMgZG9uJ3QgaW1tZWRpYXRlbHkKLQkgKiBmb2xs b3cgdGhlIGxvd2VyIDMyYml0cywgdGhlIG9mZnNldCBvZiB0aGUgbG93ZXIgMzJiaXRzIG11c3QK LQkgKiBiZSBzcGVjaWZpZWQKLQkgKi8KLQlfX3U2NCBvZmZzZXQ7Ci0jZGVmaW5lIEk5MTVfUkVH X1JFQURfOEJfV0EgKDF1bCA8PCAwKQotCi0JX191NjQgdmFsOyAvKiBSZXR1cm4gdmFsdWUgKi8K LX07Ci0vKiBLbm93biByZWdpc3RlcnM6Ci0gKgotICogUmVuZGVyIGVuZ2luZSB0aW1lc3RhbXAg LSAweDIzNTggKyA2NGJpdCAtIGdlbjcrCi0gKiAtIE5vdGUgdGhpcyByZWdpc3RlciByZXR1cm5z IGFuIGludmFsaWQgdmFsdWUgaWYgdXNpbmcgdGhlIGRlZmF1bHQKLSAqICAgc2luZ2xlIGluc3Ry dWN0aW9uIDhieXRlIHJlYWQsIGluIG9yZGVyIHRvIHdvcmthcm91bmQgdGhhdCBwYXNzCi0gKiAg IGZsYWcgSTkxNV9SRUdfUkVBRF84Ql9XQSBpbiBvZmZzZXQgZmllbGQuCi0gKgotICovCi0KLXN0 cnVjdCBkcm1faTkxNV9yZXNldF9zdGF0cyB7Ci0JX191MzIgY3R4X2lkOworc3RydWN0IGRybV9p OTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHQgeworCV9fdTMyIGN0eF9pZDsgLyogb3V0cHV0OiBp ZCBvZiBuZXcgY29udGV4dCovCiAJX191MzIgZmxhZ3M7Ci0KLQkvKiBBbGwgcmVzZXRzIHNpbmNl IGJvb3QvbW9kdWxlIHJlbG9hZCwgZm9yIGFsbCBjb250ZXh0cyAqLwotCV9fdTMyIHJlc2V0X2Nv dW50OwotCi0JLyogTnVtYmVyIG9mIGJhdGNoZXMgbG9zdCB3aGVuIGFjdGl2ZSBpbiBHUFUsIGZv ciB0aGlzIGNvbnRleHQgKi8KLQlfX3UzMiBiYXRjaF9hY3RpdmU7Ci0KLQkvKiBOdW1iZXIgb2Yg YmF0Y2hlcyBsb3N0IHBlbmRpbmcgZm9yIGV4ZWN1dGlvbiwgZm9yIHRoaXMgY29udGV4dCAqLwot CV9fdTMyIGJhdGNoX3BlbmRpbmc7Ci0KLQlfX3UzMiBwYWQ7Ci19OwotCi1zdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3VzZXJwdHIgewotCV9fdTY0IHVzZXJfcHRyOwotCV9fdTY0IHVzZXJfc2l6ZTsKLQlf X3UzMiBmbGFnczsKLSNkZWZpbmUgSTkxNV9VU0VSUFRSX1JFQURfT05MWSAweDEKLSNkZWZpbmUg STkxNV9VU0VSUFRSX1VOU1lOQ0hST05JWkVEIDB4ODAwMDAwMDAKLQkvKioKLQkgKiBSZXR1cm5l ZCBoYW5kbGUgZm9yIHRoZSBvYmplY3QuCi0JICoKLQkgKiBPYmplY3QgaGFuZGxlcyBhcmUgbm9u emVyby4KLQkgKi8KLQlfX3UzMiBoYW5kbGU7CisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DUkVBVEVf RkxBR1NfVVNFX0VYVEVOU0lPTlMJKDF1IDw8IDApCisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DUkVB VEVfRkxBR1NfU0lOR0xFX1RJTUVMSU5FCSgxdSA8PCAxKQorI2RlZmluZSBJOTE1X0NPTlRFWFRf Q1JFQVRFX0ZMQUdTX1VOS05PV04gXAorCSgtKEk5MTVfQ09OVEVYVF9DUkVBVEVfRkxBR1NfU0lO R0xFX1RJTUVMSU5FIDw8IDEpKQorCV9fdTY0IGV4dGVuc2lvbnM7CiB9OwogCiBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gewpAQCAtMTUxMSw2ICsxNTE2LDQzIEBAIHN0cnVjdCBk cm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSB7CiAgKiBPbiBjcmVhdGlvbiwgYWxsIG5ldyBjb250 ZXh0cyBhcmUgbWFya2VkIGFzIHJlY292ZXJhYmxlLgogICovCiAjZGVmaW5lIEk5MTVfQ09OVEVY VF9QQVJBTV9SRUNPVkVSQUJMRQkweDgKKworCS8qCisJICogVGhlIGlkIG9mIHRoZSBhc3NvY2lh dGVkIHZpcnR1YWwgbWVtb3J5IGFkZHJlc3Mgc3BhY2UgKHBwR1RUKSBvZgorCSAqIHRoaXMgY29u dGV4dC4gQ2FuIGJlIHJldHJpZXZlZCBhbmQgcGFzc2VkIHRvIGFub3RoZXIgY29udGV4dAorCSAq IChvbiB0aGUgc2FtZSBmZCkgZm9yIGJvdGggdG8gdXNlIHRoZSBzYW1lIHBwR1RUIGFuZCBzbyBz aGFyZQorCSAqIGFkZHJlc3MgbGF5b3V0cywgYW5kIGF2b2lkIHJlbG9hZGluZyB0aGUgcGFnZSB0 YWJsZXMgb24gY29udGV4dAorCSAqIHN3aXRjaGVzIGJldHdlZW4gdGhlbXNlbHZlcy4KKwkgKgor CSAqIFNlZSBEUk1fSTkxNV9HRU1fVk1fQ1JFQVRFIGFuZCBEUk1fSTkxNV9HRU1fVk1fREVTVFJP WS4KKwkgKi8KKyNkZWZpbmUgSTkxNV9DT05URVhUX1BBUkFNX1ZNCQkweDkKKworLyoKKyAqIEk5 MTVfQ09OVEVYVF9QQVJBTV9FTkdJTkVTOgorICoKKyAqIEJpbmQgdGhpcyBjb250ZXh0IHRvIG9w ZXJhdGUgb24gdGhpcyBzdWJzZXQgb2YgYXZhaWxhYmxlIGVuZ2luZXMuIEhlbmNlZm9ydGgsCisg KiB0aGUgSTkxNV9FWEVDX1JJTkcgc2VsZWN0b3IgZm9yIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVD QlVGRkVSMiBvcGVyYXRlcyBhcworICogYW4gaW5kZXggaW50byB0aGlzIGFycmF5IG9mIGVuZ2lu ZXM7IEk5MTVfRVhFQ19ERUZBVUxUIHNlbGVjdGluZyBlbmdpbmVbMF0KKyAqIGFuZCB1cHdhcmRz LiBTbG90cyAwLi4uTiBhcmUgZmlsbGVkIGluIHVzaW5nIHRoZSBzcGVjaWZpZWQgKGNsYXNzLCBp bnN0YW5jZSkuCisgKiBVc2UKKyAqCWVuZ2luZV9jbGFzczogSTkxNV9FTkdJTkVfQ0xBU1NfSU5W QUxJRCwKKyAqCWVuZ2luZV9pbnN0YW5jZTogSTkxNV9FTkdJTkVfQ0xBU1NfSU5WQUxJRF9OT05F CisgKiB0byBzcGVjaWZ5IGEgZ2FwIGluIHRoZSBhcnJheSB0aGF0IGNhbiBiZSBmaWxsZWQgaW4g bGF0ZXIsIGUuZy4gYnkgYQorICogdmlydHVhbCBlbmdpbmUgdXNlZCBmb3IgbG9hZCBiYWxhbmNp bmcuCisgKgorICogU2V0dGluZyB0aGUgbnVtYmVyIG9mIGVuZ2luZXMgYm91bmQgdG8gdGhlIGNv bnRleHQgdG8gMCwgYnkgcGFzc2luZyBhIHplcm8KKyAqIHNpemVkIGFyZ3VtZW50LCB3aWxsIHJl dmVydCBiYWNrIHRvIGRlZmF1bHQgc2V0dGluZ3MuCisgKgorICogU2VlIHN0cnVjdCBpOTE1X2Nv bnRleHRfcGFyYW1fZW5naW5lcy4KKyAqCisgKiBFeHRlbnNpb25zOgorICogICBpOTE1X2NvbnRl eHRfZW5naW5lc19sb2FkX2JhbGFuY2UgKEk5MTVfQ09OVEVYVF9FTkdJTkVTX0VYVF9MT0FEX0JB TEFOQ0UpCisgKiAgIGk5MTVfY29udGV4dF9lbmdpbmVzX2JvbmQgKEk5MTVfQ09OVEVYVF9FTkdJ TkVTX0VYVF9CT05EKQorICovCisjZGVmaW5lIEk5MTVfQ09OVEVYVF9QQVJBTV9FTkdJTkVTCTB4 YQorLyogTXVzdCBiZSBrZXB0IGNvbXBhY3QgLS0gbm8gaG9sZXMgYW5kIHdlbGwgZG9jdW1lbnRl ZCAqLworCiAJX191NjQgdmFsdWU7CiB9OwogCkBAIC0xNTQzLDkgKzE1ODUsMTAgQEAgc3RydWN0 IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUgewogCV9fdTE2IGVuZ2luZV9pbnN0YW5j ZTsKIAogCS8qCi0JICogVW51c2VkIGZvciBub3cuIE11c3QgYmUgY2xlYXJlZCB0byB6ZXJvLgor CSAqIFVua25vd24gZmxhZ3MgbXVzdCBiZSBjbGVhcmVkIHRvIHplcm8uCiAJICovCiAJX191MzIg ZmxhZ3M7CisjZGVmaW5lIEk5MTVfQ09OVEVYVF9TU0VVX0ZMQUdfRU5HSU5FX0lOREVYICgxdSA8 PCAwKQogCiAJLyoKIAkgKiBNYXNrIG9mIHNsaWNlcyB0byBlbmFibGUgZm9yIHRoZSBjb250ZXh0 LiBWYWxpZCB2YWx1ZXMgYXJlIGEgc3Vic2V0CkBAIC0xNTczLDYgKzE2MTYsMTc1IEBAIHN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbV9zc2V1IHsKIAlfX3UzMiByc3ZkOwogfTsKIAor LyoKKyAqIGk5MTVfY29udGV4dF9lbmdpbmVzX2xvYWRfYmFsYW5jZToKKyAqCisgKiBFbmFibGUg bG9hZCBiYWxhbmNpbmcgYWNyb3NzIHRoaXMgc2V0IG9mIGVuZ2luZXMuCisgKgorICogSW50byB0 aGUgSTkxNV9FWEVDX0RFRkFVTFQgc2xvdCBbMF0sIGEgdmlydHVhbCBlbmdpbmUgaXMgY3JlYXRl ZCB0aGF0IHdoZW4KKyAqIHVzZWQgd2lsbCBwcm94eSB0aGUgZXhlY2J1ZmZlciByZXF1ZXN0IG9u dG8gb25lIG9mIHRoZSBzZXQgb2YgZW5naW5lcworICogaW4gc3VjaCBhIHdheSBhcyB0byBkaXN0 cmlidXRlIHRoZSBsb2FkIGV2ZW5seSBhY3Jvc3MgdGhlIHNldC4KKyAqCisgKiBUaGUgc2V0IG9m IGVuZ2luZXMgbXVzdCBiZSBjb21wYXRpYmxlIChlLmcuIHRoZSBzYW1lIEhXIGNsYXNzKSBhcyB0 aGV5CisgKiB3aWxsIHNoYXJlIHRoZSBzYW1lIGxvZ2ljYWwgR1BVIGNvbnRleHQgYW5kIHJpbmcu CisgKgorICogVG8gaW50ZXJtaXggcmVuZGVyaW5nIHdpdGggdGhlIHZpcnR1YWwgZW5naW5lIGFu ZCBkaXJlY3QgcmVuZGVyaW5nIG9udG8KKyAqIHRoZSBiYWNraW5nIGVuZ2luZXMgKGJ5cGFzc2lu ZyB0aGUgbG9hZCBiYWxhbmNpbmcgcHJveHkpLCB0aGUgY29udGV4dCBtdXN0CisgKiBiZSBkZWZp bmVkIHRvIHVzZSBhIHNpbmdsZSB0aW1lbGluZSBmb3IgYWxsIGVuZ2luZXMuCisgKi8KK3N0cnVj dCBpOTE1X2NvbnRleHRfZW5naW5lc19sb2FkX2JhbGFuY2UgeworCXN0cnVjdCBpOTE1X3VzZXJf ZXh0ZW5zaW9uIGJhc2U7CisKKwlfX3UxNiBlbmdpbmVfaW5kZXg7CisJX191MTYgbWJ6MTY7IC8q IHJlc2VydmVkIGZvciBmdXR1cmUgdXNlOyBtdXN0IGJlIHplcm8gKi8KKwlfX3UzMiBmbGFnczsg LyogYWxsIHVuZGVmaW5lZCBmbGFncyBtdXN0IGJlIHplcm8gKi8KKworCV9fdTY0IGVuZ2luZXNf bWFzazsgLyogc2VsZWN0aW9uIG1hc2sgb2YgZW5naW5lc1tdICovCisKKwlfX3U2NCBtYno2NFs0 XTsgLyogcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2U7IG11c3QgYmUgemVybyAqLworfTsKKworLyoK KyAqIGk5MTVfY29udGV4dF9lbmdpbmVzX2JvbmQ6CisgKgorICovCitzdHJ1Y3QgaTkxNV9jb250 ZXh0X2VuZ2luZXNfYm9uZCB7CisJc3RydWN0IGk5MTVfdXNlcl9leHRlbnNpb24gYmFzZTsKKwor CV9fdTE2IGVuZ2luZV9pbmRleDsKKwlfX3UxNiBtYno7CisKKwlfX3UxNiBtYXN0ZXJfY2xhc3M7 CisJX191MTYgbWFzdGVyX2luc3RhbmNlOworCisJX191NjQgc2libGluZ19tYXNrOworCV9fdTY0 IGZsYWdzOyAvKiBhbGwgdW5kZWZpbmVkIGZsYWdzIG11c3QgYmUgemVybyAqLworfTsKKworc3Ry dWN0IGk5MTVfY29udGV4dF9wYXJhbV9lbmdpbmVzIHsKKwlfX3U2NCBleHRlbnNpb25zOyAvKiBs aW5rZWQgY2hhaW4gb2YgZXh0ZW5zaW9uIGJsb2NrcywgMCB0ZXJtaW5hdGVzICovCisjZGVmaW5l IEk5MTVfQ09OVEVYVF9FTkdJTkVTX0VYVF9MT0FEX0JBTEFOQ0UgMAorI2RlZmluZSBJOTE1X0NP TlRFWFRfRU5HSU5FU19FWFRfQk9ORCAxCisKKwlzdHJ1Y3QgeworCQlfX3UxNiBlbmdpbmVfY2xh c3M7IC8qIHNlZSBlbnVtIGRybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3MgKi8KKwkJX191MTYgZW5n aW5lX2luc3RhbmNlOworCX0gY2xhc3NfaW5zdGFuY2VbMF07Cit9IF9fYXR0cmlidXRlX18oKHBh Y2tlZCkpOworCisjZGVmaW5lIEk5MTVfREVGSU5FX0NPTlRFWFRfUEFSQU1fRU5HSU5FUyhuYW1l X18sIE5fXykgc3RydWN0IHsgXAorCV9fdTY0IGV4dGVuc2lvbnM7IFwKKwlzdHJ1Y3QgeyBcCisJ CV9fdTE2IGVuZ2luZV9jbGFzczsgXAorCQlfX3UxNiBlbmdpbmVfaW5zdGFuY2U7IFwKKwl9IGNs YXNzX2luc3RhbmNlW05fX107IFwKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgbmFtZV9fCisK K3N0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZXh0X3NldHBhcmFtIHsKKyNkZWZp bmUgSTkxNV9DT05URVhUX0NSRUFURV9FWFRfU0VUUEFSQU0gMAorCXN0cnVjdCBpOTE1X3VzZXJf ZXh0ZW5zaW9uIGJhc2U7CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHNldHBh cmFtOworfTsKKworc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHRfY2xvbmUg eworI2RlZmluZSBJOTE1X0NPTlRFWFRfQ1JFQVRFX0VYVF9DTE9ORSAxCisJc3RydWN0IGk5MTVf dXNlcl9leHRlbnNpb24gYmFzZTsKKwlfX3UzMiBjbG9uZV9pZDsKKwlfX3UzMiBmbGFnczsKKyNk ZWZpbmUgSTkxNV9DT05URVhUX0NMT05FX0ZMQUdTCSgxdSA8PCAwKQorI2RlZmluZSBJOTE1X0NP TlRFWFRfQ0xPTkVfU0NIRUQJKDF1IDw8IDEpCisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DTE9ORV9T U0VVCQkoMXUgPDwgMikKKyNkZWZpbmUgSTkxNV9DT05URVhUX0NMT05FX1RJTUVMSU5FCSgxdSA8 PCAzKQorI2RlZmluZSBJOTE1X0NPTlRFWFRfQ0xPTkVfVk0JCSgxdSA8PCA0KQorI2RlZmluZSBJ OTE1X0NPTlRFWFRfQ0xPTkVfRU5HSU5FUwkoMXUgPDwgNSkKKyNkZWZpbmUgSTkxNV9DT05URVhU X0NMT05FX1VOS05PV04gLShJOTE1X0NPTlRFWFRfQ0xPTkVfRU5HSU5FUyA8PCAxKQorCV9fdTY0 IHJzdmQ7Cit9OworCitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfZGVzdHJveSB7CisJX191 MzIgY3R4X2lkOworCV9fdTMyIHBhZDsKK307CisKKy8qCisgKiBEUk1fSTkxNV9HRU1fVk1fQ1JF QVRFIC0KKyAqCisgKiBDcmVhdGUgYSBuZXcgdmlydHVhbCBtZW1vcnkgYWRkcmVzcyBzcGFjZSAo cHBHVFQpIGZvciB1c2Ugd2l0aGluIGEgY29udGV4dAorICogb24gdGhlIHNhbWUgZmlsZS4gRXh0 ZW5zaW9ucyBjYW4gYmUgcHJvdmlkZWQgdG8gY29uZmlndXJlIGV4YWN0bHkgaG93IHRoZQorICog YWRkcmVzcyBzcGFjZSBpcyBzZXR1cCB1cG9uIGNyZWF0aW9uLgorICoKKyAqIFRoZSBpZCBvZiBu ZXcgVk0gKGJvdW5kIHRvIHRoZSBmZCkgZm9yIHVzZSB3aXRoIEk5MTVfQ09OVEVYVF9QQVJBTV9W TSBpcworICogcmV0dXJuZWQgaW4gdGhlIG91dHBhcmFtIEBpZC4KKyAqCisgKiBObyBmbGFncyBh cmUgZGVmaW5lZCwgd2l0aCBhbGwgYml0cyByZXNlcnZlZCBhbmQgbXVzdCBiZSB6ZXJvLgorICoK KyAqIEFuIGV4dGVuc2lvbiBjaGFpbiBtYXliZSBwcm92aWRlZCwgc3RhcnRpbmcgd2l0aCBAZXh0 ZW5zaW9ucywgYW5kIHRlcm1pbmF0ZWQKKyAqIGJ5IHRoZSBAbmV4dF9leHRlbnNpb24gYmVpbmcg MC4gQ3VycmVudGx5LCBubyBleHRlbnNpb25zIGFyZSBkZWZpbmVkLgorICoKKyAqIERSTV9JOTE1 X0dFTV9WTV9ERVNUUk9ZIC0KKyAqCisgKiBEZXN0cm95cyBhIHByZXZpb3VzbHkgY3JlYXRlZCBW TSBpZCwgc3BlY2lmaWVkIGluIEBpZC4KKyAqCisgKiBObyBleHRlbnNpb25zIG9yIGZsYWdzIGFy ZSBhbGxvd2VkIGN1cnJlbnRseSwgYW5kIHNvIG11c3QgYmUgemVyby4KKyAqLworc3RydWN0IGRy bV9pOTE1X2dlbV92bV9jb250cm9sIHsKKwlfX3U2NCBleHRlbnNpb25zOworCV9fdTMyIGZsYWdz OworCV9fdTMyIGlkOworfTsKKworc3RydWN0IGRybV9pOTE1X3JlZ19yZWFkIHsKKwkvKgorCSAq IFJlZ2lzdGVyIG9mZnNldC4KKwkgKiBGb3IgNjRiaXQgd2lkZSByZWdpc3RlcnMgd2hlcmUgdGhl IHVwcGVyIDMyYml0cyBkb24ndCBpbW1lZGlhdGVseQorCSAqIGZvbGxvdyB0aGUgbG93ZXIgMzJi aXRzLCB0aGUgb2Zmc2V0IG9mIHRoZSBsb3dlciAzMmJpdHMgbXVzdAorCSAqIGJlIHNwZWNpZmll ZAorCSAqLworCV9fdTY0IG9mZnNldDsKKyNkZWZpbmUgSTkxNV9SRUdfUkVBRF84Ql9XQSAoMXVs IDw8IDApCisKKwlfX3U2NCB2YWw7IC8qIFJldHVybiB2YWx1ZSAqLworfTsKKworLyogS25vd24g cmVnaXN0ZXJzOgorICoKKyAqIFJlbmRlciBlbmdpbmUgdGltZXN0YW1wIC0gMHgyMzU4ICsgNjRi aXQgLSBnZW43KworICogLSBOb3RlIHRoaXMgcmVnaXN0ZXIgcmV0dXJucyBhbiBpbnZhbGlkIHZh bHVlIGlmIHVzaW5nIHRoZSBkZWZhdWx0CisgKiAgIHNpbmdsZSBpbnN0cnVjdGlvbiA4Ynl0ZSBy ZWFkLCBpbiBvcmRlciB0byB3b3JrYXJvdW5kIHRoYXQgcGFzcworICogICBmbGFnIEk5MTVfUkVH X1JFQURfOEJfV0EgaW4gb2Zmc2V0IGZpZWxkLgorICoKKyAqLworCitzdHJ1Y3QgZHJtX2k5MTVf cmVzZXRfc3RhdHMgeworCV9fdTMyIGN0eF9pZDsKKwlfX3UzMiBmbGFnczsKKworCS8qIEFsbCBy ZXNldHMgc2luY2UgYm9vdC9tb2R1bGUgcmVsb2FkLCBmb3IgYWxsIGNvbnRleHRzICovCisJX191 MzIgcmVzZXRfY291bnQ7CisKKwkvKiBOdW1iZXIgb2YgYmF0Y2hlcyBsb3N0IHdoZW4gYWN0aXZl IGluIEdQVSwgZm9yIHRoaXMgY29udGV4dCAqLworCV9fdTMyIGJhdGNoX2FjdGl2ZTsKKworCS8q IE51bWJlciBvZiBiYXRjaGVzIGxvc3QgcGVuZGluZyBmb3IgZXhlY3V0aW9uLCBmb3IgdGhpcyBj b250ZXh0ICovCisJX191MzIgYmF0Y2hfcGVuZGluZzsKKworCV9fdTMyIHBhZDsKK307CisKK3N0 cnVjdCBkcm1faTkxNV9nZW1fdXNlcnB0ciB7CisJX191NjQgdXNlcl9wdHI7CisJX191NjQgdXNl cl9zaXplOworCV9fdTMyIGZsYWdzOworI2RlZmluZSBJOTE1X1VTRVJQVFJfUkVBRF9PTkxZIDB4 MQorI2RlZmluZSBJOTE1X1VTRVJQVFJfVU5TWU5DSFJPTklaRUQgMHg4MDAwMDAwMAorCS8qKgor CSAqIFJldHVybmVkIGhhbmRsZSBmb3IgdGhlIG9iamVjdC4KKwkgKgorCSAqIE9iamVjdCBoYW5k bGVzIGFyZSBub256ZXJvLgorCSAqLworCV9fdTMyIGhhbmRsZTsKK307CisKIGVudW0gZHJtX2k5 MTVfb2FfZm9ybWF0IHsKIAlJOTE1X09BX0ZPUk1BVF9BMTMgPSAxLAkgICAgLyogSFNXIG9ubHkg Ki8KIAlJOTE1X09BX0ZPUk1BVF9BMjksCSAgICAvKiBIU1cgb25seSAqLwpAQCAtMTczNCw2ICsx OTQ2LDggQEAgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIHN0cnVjdCBkcm1faTkx NV9xdWVyeV9pdGVtIHsKIAlfX3U2NCBxdWVyeV9pZDsKICNkZWZpbmUgRFJNX0k5MTVfUVVFUllf VE9QT0xPR1lfSU5GTyAgICAxCisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPCTIK Ky8qIE11c3QgYmUga2VwdCBjb21wYWN0IC0tIG5vIGhvbGVzIGFuZCB3ZWxsIGRvY3VtZW50ZWQg Ki8KIAogCS8qCiAJICogV2hlbiBzZXQgdG8gemVybyBieSB1c2Vyc3BhY2UsIHRoaXMgaXMgZmls bGVkIHdpdGggdGhlIHNpemUgb2YgdGhlCkBAIC0xODMxLDYgKzIwNDUsNTAgQEAgc3RydWN0IGRy bV9pOTE1X3F1ZXJ5X3RvcG9sb2d5X2luZm8gewogCV9fdTggZGF0YVtdOwogfTsKIAorLyoqCisg KiBzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8KKyAqCisgKiBEZXNjcmliZXMgb25lIGVuZ2lu ZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMgYXMga25vd24gdG8gdGhlIGRyaXZlci4KKyAqLworc3Ry dWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHsKKwkvKiogRW5naW5lIGNsYXNzIGFzIGluIGVudW0g ZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcy4gKi8KKwlfX3UxNiBlbmdpbmVfY2xhc3M7CisKKwkv KiogRW5naW5lIGluc3RhbmNlIG51bWJlci4gKi8KKwlfX3UxNiBlbmdpbmVfaW5zdGFuY2U7CisK KwkvKiogUmVzZXJ2ZWQgZmllbGQuICovCisJX191MzIgcnN2ZDA7CisKKwkvKiogRW5naW5lIGZs YWdzLiAqLworCV9fdTY0IGZsYWdzOworCisJLyoqIENhcGFiaWxpdGllcyBvZiB0aGlzIGVuZ2lu ZS4gKi8KKwlfX3U2NCBjYXBhYmlsaXRpZXM7CisjZGVmaW5lIEk5MTVfVklERU9fQ0xBU1NfQ0FQ QUJJTElUWV9IRVZDCQkoMSA8PCAwKQorI2RlZmluZSBJOTE1X1ZJREVPX0FORF9FTkhBTkNFX0NM QVNTX0NBUEFCSUxJVFlfU0ZDCSgxIDw8IDEpCisKKwkvKiogUmVzZXJ2ZWQgZmllbGRzLiAqLwor CV9fdTY0IHJzdmQxWzRdOworfTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5n aW5lX2luZm8KKyAqCisgKiBFbmdpbmUgaW5mbyBxdWVyeSBlbnVtZXJhdGVzIGFsbCBlbmdpbmVz IGtub3duIHRvIHRoZSBkcml2ZXIgYnkgZmlsbGluZyBpbgorICogYW4gYXJyYXkgb2Ygc3RydWN0 IGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHVyZXMuCisgKi8KK3N0cnVjdCBkcm1faTkxNV9x dWVyeV9lbmdpbmVfaW5mbyB7CisJLyoqIE51bWJlciBvZiBzdHJ1Y3QgZHJtX2k5MTVfZW5naW5l X2luZm8gc3RydWN0cyBmb2xsb3dpbmcuICovCisJX191MzIgbnVtX2VuZ2luZXM7CisKKwkvKiog TUJaICovCisJX191MzIgcnN2ZFszXTsKKworCS8qKiBNYXJrZXIgZm9yIGRybV9pOTE1X2VuZ2lu ZV9pbmZvIHN0cnVjdHVyZXMuICovCisJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIGVuZ2lu ZXNbXTsKK307CisKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjIw LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1k ZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==