From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8191189E1A for ; Tue, 5 Mar 2019 13:16:21 +0000 (UTC) From: Andi Shyti Date: Tue, 5 Mar 2019 15:16:06 +0200 Message-Id: <20190305131611.2367-2-andi.shyti@intel.com> In-Reply-To: <20190305131611.2367-1-andi.shyti@intel.com> References: <20190305131611.2367-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC PATCH v10 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 ZS9kcm0tdWFwaS9pOTE1X2RybS5oIHwgMzg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMxNiBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS11YXBpL2k5MTVfZHJtLmggYi9pbmNsdWRlL2Ry bS11YXBpL2k5MTVfZHJtLmgKaW5kZXggNDNmYjhlZGUyZmUwLi4xMmUxNGNkYWQ0NTEgMTAwNjQ0 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 MiBjdHhfaWQ7Ci0JX191MzIgcGFkOwotfTsKLQotc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0 X2Rlc3Ryb3kgewotCV9fdTMyIGN0eF9pZDsKLQlfX3UzMiBwYWQ7Ci19OwotCi1zdHJ1Y3QgZHJt X2k5MTVfcmVnX3JlYWQgewotCS8qCi0JICogUmVnaXN0ZXIgb2Zmc2V0LgotCSAqIEZvciA2NGJp dCB3aWRlIHJlZ2lzdGVycyB3aGVyZSB0aGUgdXBwZXIgMzJiaXRzIGRvbid0IGltbWVkaWF0ZWx5 Ci0JICogZm9sbG93IHRoZSBsb3dlciAzMmJpdHMsIHRoZSBvZmZzZXQgb2YgdGhlIGxvd2VyIDMy Yml0cyBtdXN0Ci0JICogYmUgc3BlY2lmaWVkCi0JICovCi0JX191NjQgb2Zmc2V0OwotI2RlZmlu ZSBJOTE1X1JFR19SRUFEXzhCX1dBICgxdWwgPDwgMCkKLQotCV9fdTY0IHZhbDsgLyogUmV0dXJu IHZhbHVlICovCi19OwotLyogS25vd24gcmVnaXN0ZXJzOgotICoKLSAqIFJlbmRlciBlbmdpbmUg dGltZXN0YW1wIC0gMHgyMzU4ICsgNjRiaXQgLSBnZW43KwotICogLSBOb3RlIHRoaXMgcmVnaXN0 ZXIgcmV0dXJucyBhbiBpbnZhbGlkIHZhbHVlIGlmIHVzaW5nIHRoZSBkZWZhdWx0Ci0gKiAgIHNp bmdsZSBpbnN0cnVjdGlvbiA4Ynl0ZSByZWFkLCBpbiBvcmRlciB0byB3b3JrYXJvdW5kIHRoYXQg cGFzcwotICogICBmbGFnIEk5MTVfUkVHX1JFQURfOEJfV0EgaW4gb2Zmc2V0IGZpZWxkLgotICoK LSAqLwotCi1zdHJ1Y3QgZHJtX2k5MTVfcmVzZXRfc3RhdHMgewotCV9fdTMyIGN0eF9pZDsKLQlf X3UzMiBmbGFnczsKLQotCS8qIEFsbCByZXNldHMgc2luY2UgYm9vdC9tb2R1bGUgcmVsb2FkLCBm b3IgYWxsIGNvbnRleHRzICovCi0JX191MzIgcmVzZXRfY291bnQ7Ci0KLQkvKiBOdW1iZXIgb2Yg YmF0Y2hlcyBsb3N0IHdoZW4gYWN0aXZlIGluIEdQVSwgZm9yIHRoaXMgY29udGV4dCAqLwotCV9f dTMyIGJhdGNoX2FjdGl2ZTsKLQotCS8qIE51bWJlciBvZiBiYXRjaGVzIGxvc3QgcGVuZGluZyBm b3IgZXhlY3V0aW9uLCBmb3IgdGhpcyBjb250ZXh0ICovCi0JX191MzIgYmF0Y2hfcGVuZGluZzsK LQorCV9fdTMyIGN0eF9pZDsgLyogb3V0cHV0OiBpZCBvZiBuZXcgY29udGV4dCovCiAJX191MzIg cGFkOwogfTsKIAotc3RydWN0IGRybV9pOTE1X2dlbV91c2VycHRyIHsKLQlfX3U2NCB1c2VyX3B0 cjsKLQlfX3U2NCB1c2VyX3NpemU7CitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRl X2V4dCB7CisJX191MzIgY3R4X2lkOyAvKiBvdXRwdXQ6IGlkIG9mIG5ldyBjb250ZXh0Ki8KIAlf 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 LiBWYWxpZCB2YWx1ZXMgYXJlIGEgc3Vic2V0CkBAIC0xNTczLDYgKzE2MTYsMTYwIEBAIHN0cnVj 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 Y2tlZCkpOworCitzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dF9zZXRwYXJh bSB7CisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DUkVBVEVfRVhUX1NFVFBBUkFNIDAKKwlzdHJ1Y3Qg aTkxNV91c2VyX2V4dGVuc2lvbiBiYXNlOworCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9w YXJhbSBzZXRwYXJhbTsKK307CisKK3N0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9jcmVhdGVf ZXh0X2Nsb25lIHsKKyNkZWZpbmUgSTkxNV9DT05URVhUX0NSRUFURV9FWFRfQ0xPTkUgMQorCXN0 cnVjdCBpOTE1X3VzZXJfZXh0ZW5zaW9uIGJhc2U7CisJX191MzIgY2xvbmU7CisJX191MzIgZmxh Z3M7CisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DTE9ORV9GTEFHUwkoMXUgPDwgMCkKKyNkZWZpbmUg STkxNV9DT05URVhUX0NMT05FX1NDSEVECSgxdSA8PCAxKQorI2RlZmluZSBJOTE1X0NPTlRFWFRf Q0xPTkVfU1NFVQkJKDF1IDw8IDIpCisjZGVmaW5lIEk5MTVfQ09OVEVYVF9DTE9ORV9USU1FTElO RQkoMXUgPDwgMykKKyNkZWZpbmUgSTkxNV9DT05URVhUX0NMT05FX1ZNCQkoMXUgPDwgNCkKKyNk ZWZpbmUgSTkxNV9DT05URVhUX0NMT05FX0VOR0lORVMJKDF1IDw8IDUpCisjZGVmaW5lIEk5MTVf Q09OVEVYVF9DTE9ORV9VTktOT1dOIC0oSTkxNV9DT05URVhUX0NMT05FX0VOR0lORVMgPDwgMSkK KwlfX3U2NCByc3ZkOworfTsKKworc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kg eworCV9fdTMyIGN0eF9pZDsKKwlfX3UzMiBwYWQ7Cit9OworCisvKgorICogRFJNX0k5MTVfR0VN X1ZNX0NSRUFURSAtCisgKgorICogQ3JlYXRlIGEgbmV3IHZpcnR1YWwgbWVtb3J5IGFkZHJlc3Mg c3BhY2UgKHBwR1RUKSBmb3IgdXNlIHdpdGhpbiBhIGNvbnRleHQKKyAqIG9uIHRoZSBzYW1lIGZp bGUuIEV4dGVuc2lvbnMgY2FuIGJlIHByb3ZpZGVkIHRvIGNvbmZpZ3VyZSBleGFjdGx5IGhvdyB0 aGUKKyAqIGFkZHJlc3Mgc3BhY2UgaXMgc2V0dXAgdXBvbiBjcmVhdGlvbi4KKyAqCisgKiBUaGUg aWQgb2YgbmV3IFZNIChib3VuZCB0byB0aGUgZmQpIGZvciB1c2Ugd2l0aCBJOTE1X0NPTlRFWFRf UEFSQU1fVk0gaXMKKyAqIHJldHVybmVkLgorICoKKyAqIERSTV9JOTE1X0dFTV9WTV9ERVNUUk9Z IC0KKyAqCisgKiBEZXN0cm95cyBhIHByZXZpb3VzbHkgY3JlYXRlZCBWTSBpZC4KKyAqLworc3Ry dWN0IGRybV9pOTE1X2dlbV92bV9jb250cm9sIHsKKwlfX3U2NCBleHRlbnNpb25zOworCV9fdTMy IGZsYWdzOworCV9fdTMyIGlkOworfTsKKworc3RydWN0IGRybV9pOTE1X3JlZ19yZWFkIHsKKwkv KgorCSAqIFJlZ2lzdGVyIG9mZnNldC4KKwkgKiBGb3IgNjRiaXQgd2lkZSByZWdpc3RlcnMgd2hl cmUgdGhlIHVwcGVyIDMyYml0cyBkb24ndCBpbW1lZGlhdGVseQorCSAqIGZvbGxvdyB0aGUgbG93 ZXIgMzJiaXRzLCB0aGUgb2Zmc2V0IG9mIHRoZSBsb3dlciAzMmJpdHMgbXVzdAorCSAqIGJlIHNw ZWNpZmllZAorCSAqLworCV9fdTY0IG9mZnNldDsKKyNkZWZpbmUgSTkxNV9SRUdfUkVBRF84Ql9X QSAoMXVsIDw8IDApCisKKwlfX3U2NCB2YWw7IC8qIFJldHVybiB2YWx1ZSAqLworfTsKKworLyog S25vd24gcmVnaXN0ZXJzOgorICoKKyAqIFJlbmRlciBlbmdpbmUgdGltZXN0YW1wIC0gMHgyMzU4 ICsgNjRiaXQgLSBnZW43KworICogLSBOb3RlIHRoaXMgcmVnaXN0ZXIgcmV0dXJucyBhbiBpbnZh bGlkIHZhbHVlIGlmIHVzaW5nIHRoZSBkZWZhdWx0CisgKiAgIHNpbmdsZSBpbnN0cnVjdGlvbiA4 Ynl0ZSByZWFkLCBpbiBvcmRlciB0byB3b3JrYXJvdW5kIHRoYXQgcGFzcworICogICBmbGFnIEk5 MTVfUkVHX1JFQURfOEJfV0EgaW4gb2Zmc2V0IGZpZWxkLgorICoKKyAqLworCitzdHJ1Y3QgZHJt X2k5MTVfcmVzZXRfc3RhdHMgeworCV9fdTMyIGN0eF9pZDsKKwlfX3UzMiBmbGFnczsKKworCS8q IEFsbCByZXNldHMgc2luY2UgYm9vdC9tb2R1bGUgcmVsb2FkLCBmb3IgYWxsIGNvbnRleHRzICov CisJX191MzIgcmVzZXRfY291bnQ7CisKKwkvKiBOdW1iZXIgb2YgYmF0Y2hlcyBsb3N0IHdoZW4g YWN0aXZlIGluIEdQVSwgZm9yIHRoaXMgY29udGV4dCAqLworCV9fdTMyIGJhdGNoX2FjdGl2ZTsK KworCS8qIE51bWJlciBvZiBiYXRjaGVzIGxvc3QgcGVuZGluZyBmb3IgZXhlY3V0aW9uLCBmb3Ig dGhpcyBjb250ZXh0ICovCisJX191MzIgYmF0Y2hfcGVuZGluZzsKKworCV9fdTMyIHBhZDsKK307 CisKK3N0cnVjdCBkcm1faTkxNV9nZW1fdXNlcnB0ciB7CisJX191NjQgdXNlcl9wdHI7CisJX191 NjQgdXNlcl9zaXplOworCV9fdTMyIGZsYWdzOworI2RlZmluZSBJOTE1X1VTRVJQVFJfUkVBRF9P TkxZIDB4MQorI2RlZmluZSBJOTE1X1VTRVJQVFJfVU5TWU5DSFJPTklaRUQgMHg4MDAwMDAwMAor CS8qKgorCSAqIFJldHVybmVkIGhhbmRsZSBmb3IgdGhlIG9iamVjdC4KKwkgKgorCSAqIE9iamVj dCBoYW5kbGVzIGFyZSBub256ZXJvLgorCSAqLworCV9fdTMyIGhhbmRsZTsKK307CisKIGVudW0g ZHJtX2k5MTVfb2FfZm9ybWF0IHsKIAlJOTE1X09BX0ZPUk1BVF9BMTMgPSAxLAkgICAgLyogSFNX IG9ubHkgKi8KIAlJOTE1X09BX0ZPUk1BVF9BMjksCSAgICAvKiBIU1cgb25seSAqLwpAQCAtMTcz NCw2ICsxOTMxLDggQEAgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIHN0cnVjdCBk cm1faTkxNV9xdWVyeV9pdGVtIHsKIAlfX3U2NCBxdWVyeV9pZDsKICNkZWZpbmUgRFJNX0k5MTVf UVVFUllfVE9QT0xPR1lfSU5GTyAgICAxCisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0VOR0lORV9J TkZPCTIKKy8qIE11c3QgYmUga2VwdCBjb21wYWN0IC0tIG5vIGhvbGVzIGFuZCB3ZWxsIGRvY3Vt ZW50ZWQgKi8KIAogCS8qCiAJICogV2hlbiBzZXQgdG8gemVybyBieSB1c2Vyc3BhY2UsIHRoaXMg aXMgZmlsbGVkIHdpdGggdGhlIHNpemUgb2YgdGhlCkBAIC0xODMxLDYgKzIwMzAsNTAgQEAgc3Ry dWN0IGRybV9pOTE1X3F1ZXJ5X3RvcG9sb2d5X2luZm8gewogCV9fdTggZGF0YVtdOwogfTsKIAor LyoqCisgKiBzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8KKyAqCisgKiBEZXNjcmliZXMgb25l IGVuZ2luZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMgYXMga25vd24gdG8gdGhlIGRyaXZlci4KKyAq Lworc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHsKKwkvKiogRW5naW5lIGNsYXNzIGFzIGlu IGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcy4gKi8KKwlfX3UxNiBlbmdpbmVfY2xhc3M7 CisKKwkvKiogRW5naW5lIGluc3RhbmNlIG51bWJlci4gKi8KKwlfX3UxNiBlbmdpbmVfaW5zdGFu Y2U7CisKKwkvKiogUmVzZXJ2ZWQgZmllbGQuICovCisJX191MzIgcnN2ZDA7CisKKwkvKiogRW5n aW5lIGZsYWdzLiAqLworCV9fdTY0IGZsYWdzOworCisJLyoqIENhcGFiaWxpdGllcyBvZiB0aGlz IGVuZ2luZS4gKi8KKwlfX3U2NCBjYXBhYmlsaXRpZXM7CisjZGVmaW5lIEk5MTVfVklERU9fQ0xB U1NfQ0FQQUJJTElUWV9IRVZDCQkoMSA8PCAwKQorI2RlZmluZSBJOTE1X1ZJREVPX0FORF9FTkhB TkNFX0NMQVNTX0NBUEFCSUxJVFlfU0ZDCSgxIDw8IDEpCisKKwkvKiogUmVzZXJ2ZWQgZmllbGRz LiAqLworCV9fdTY0IHJzdmQxWzRdOworfTsKKworLyoqCisgKiBzdHJ1Y3QgZHJtX2k5MTVfcXVl cnlfZW5naW5lX2luZm8KKyAqCisgKiBFbmdpbmUgaW5mbyBxdWVyeSBlbnVtZXJhdGVzIGFsbCBl bmdpbmVzIGtub3duIHRvIHRoZSBkcml2ZXIgYnkgZmlsbGluZyBpbgorICogYW4gYXJyYXkgb2Yg c3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHVyZXMuCisgKi8KK3N0cnVjdCBkcm1f aTkxNV9xdWVyeV9lbmdpbmVfaW5mbyB7CisJLyoqIE51bWJlciBvZiBzdHJ1Y3QgZHJtX2k5MTVf ZW5naW5lX2luZm8gc3RydWN0cyBmb2xsb3dpbmcuICovCisJX191MzIgbnVtX2VuZ2luZXM7CisK KwkvKiogTUJaICovCisJX191MzIgcnN2ZFszXTsKKworCS8qKiBNYXJrZXIgZm9yIGRybV9pOTE1 X2VuZ2luZV9pbmZvIHN0cnVjdHVyZXMuICovCisJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZv IGVuZ2luZXNbXTsKK307CisKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0t IAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==