From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC v2 1/2] drm/i915: Engine discovery uAPI Date: Thu, 27 Apr 2017 10:10:00 +0100 Message-ID: <20170427091000.3259-1-tvrtko.ursulin@linux.intel.com> References: <20170418165615.27666-2-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id AE2F56E0FC for ; Thu, 27 Apr 2017 09:10:09 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id u65so3121451wmu.3 for ; Thu, 27 Apr 2017 02:10:09 -0700 (PDT) In-Reply-To: <20170418165615.27666-2-tvrtko.ursulin@linux.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: Ben Widawsky , intel-vaapi-media@lists.01.org, mesa-dev@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBk aXNjb3ZlcnkgdUFQSSBhbGxvd3MgdXNlcnNwYWNlIHRvIHByb2JlIGZvciBlbmdpbmUKY29uZmln dXJhdGlvbiBhbmQgZmVhdHVyZXMgd2l0aG91dCBuZWVkaW5nIHRvIG1haW50YWluIHRoZQppbnRl cm5hbCBQQ0kgaWQgYmFzZWQgZGF0YWJhc2UuCgpUaGlzIGVuYWJsZXMgcmVtb3ZhbCBvZiBjb2Rl IGR1cGxpY2F0aW9ucyBhY3Jvc3MgdXNlcnNwYWNlCmNvbXBvbmVudHMuCgpQcm9iaW5nIGlzIGRv bmUgdmlhIHRoZSBuZXcgRFJNX0lPQ1RMX0k5MTVfR0VNX0VOR0lORV9JTkZPIGlvY3RsCndoaWNo IHJldHVybnMgdGhlIG51bWJlciBhbmQgaW5mb3JtYXRpb24gb24gdGhlIHNwZWNpZmllZCBlbmdp bmUKY2xhc3MuCgpDdXJyZW50bHkgb25seSBnZW5lcmFsIGVuZ2luZSBjb25maWd1cmF0aW9uIGFu ZCBIRVZDIGZlYXR1cmUgb2YKdGhlIFZDUyBlbmdpbmUgY2FuIGJlIHByb2JlZCBidXQgdGhlIHVB UEkgaXMgZGVzaWduZWQgdG8gYmUKZ2VuZXJpYyBhbmQgZXh0ZW5zaWJsZS4KCkNvZGUgaXMgYmFz ZWQgYWxtb3N0IGV4YWN0bHkgb24gdGhlIGVhcmxpZXIgcHJvcG9zYWwgb24gdGhlCnRvcGljIGJ5 IEpvbiBCbG9vbWZpZWxkLiBFbmdpbmUgY2xhc3MgYW5kIGluc3RhbmNlIHJlZmFjdG9yaW5nCm1h ZGUgcmVjZW50bHkgYnkgRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyBlbmFibGVkIHRoaXMgdG8gYmUK aW1wbGVtZW50ZWQgaW4gYW4gZWxlZ2FudCBmYXNoaW9uLgoKVG8gcHJvYmUgY29uZmlndXJhdGlv biB1c2Vyc3BhY2Ugc2V0cyB0aGUgZW5naW5lIGNsYXNzIGl0IHdhbnRzCnRvIHF1ZXJ5IChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2VuZ2luZV9pbmZvKSBhbmQgcHJvdmlkZXMgYW4gYXJyYXkKb2YgZHJt X2k5MTVfZW5naW5lX2luZm8gc3RydWN0cyB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBieSB0aGUK ZHJpdmVyLiBVc2Vyc3BhY2UgYWxzbyBoYXMgdG8gdGVsbCBpOTE1IGhvdyBtYW55IGVsZW1lbnRz IGFyZSBpbgp0aGUgYXJyYXksIGFuZCB0aGUgZHJpdmVyIHdpbGwgcmVwb3J0IGJhY2sgdGhlIHRv dGFsIG51bWJlciBvZgplbmdpbmUgaW5zdGFuY2VzIGluIGFueSBjYXNlLgoKdjI6CiAqIEFkZCBh IHZlcnNpb24gZmllbGQgYW5kIGNvbnNvbGlkYXRlIHRvIG9uZSBlbmdpbmUgY291bnQuCiAgIChD aHJpcyBXaWxzb24pCiAqIFJlbmFtZSB1QVBJIGZsYWdzIGZvciBWQ1MgZW5naW5lcyB0byBEUk1f STkxNV9FTkdJTkVfQ0xBU1NfVklERU8uCiAgIChHb25nIFpoaXBlbmcpCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQmVuIFdpZGF3 c2t5IDxiZW5AYndpZGF3c2submV0PgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEpv biBCbG9vbWZpZWxkIDxqb24uYmxvb21maWVsZEBpbnRlbC5jb20+CkNjOiBEYW5pZWwgQ2hhcmxl cyA8ZGFuaWVsLmNoYXJsZXNAaW50ZWwuY29tPgpDYzogIlJvZ296aGtpbiwgRG1pdHJ5IFYiIDxk bWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPgpDYzogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVv QGludGVsLmNvbT4KQ2M6ICJHb25nLCBaaGlwZW5nIiA8emhpcGVuZy5nb25nQGludGVsLmNvbT4K Q2M6IGludGVsLXZhYXBpLW1lZGlhQGxpc3RzLjAxLm9yZwpDYzogbWVzYS1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAg fCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICB8ICAzICsrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyB8IDY0ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAg ICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggYzdkNjhlNzg5NjQyLi4xYTNm MDg1OTIyN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMjYwOSw2ICsyNjA5LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBpOTE1X2lvY3Rsc1tdID0gewogCURS TV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX0NPTlRFWFRfR0VUUEFSQU0sIGk5MTVfZ2VtX2NvbnRl eHRfZ2V0cGFyYW1faW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJW KEk5MTVfR0VNX0NPTlRFWFRfU0VUUEFSQU0sIGk5MTVfZ2VtX2NvbnRleHRfc2V0cGFyYW1faW9j dGwsIERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfUEVSRl9PUEVO LCBpOTE1X3BlcmZfb3Blbl9pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCisJRFJNX0lPQ1RMX0RF Rl9EUlYoSTkxNV9HRU1fRU5HSU5FX0lORk8sIGk5MTVfZ2VtX2VuZ2luZV9pbmZvX2lvY3RsLCBE Uk1fUkVOREVSX0FMTE9XKSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIg PSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAzNTdiNmM2YzJmMDQuLjZlZWQwZTg1NDU2 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0zNTQ3LDYgKzM1NDcsOSBAQCBpOTE1X2dl bV9jb250ZXh0X2xvb2t1cF90aW1lbGluZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAog aW50IGk5MTVfcGVyZl9vcGVuX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAJCQkgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIAoraW50IGk5MTVfZ2VtX2VuZ2luZV9p bmZvX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgICAgICAg c3RydWN0IGRybV9maWxlICpmaWxlKTsKKwogLyogaTkxNV9nZW1fZXZpY3QuYyAqLwogaW50IF9f bXVzdF9jaGVjayBpOTE1X2dlbV9ldmljdF9zb21ldGhpbmcoc3RydWN0IGk5MTVfYWRkcmVzc19z cGFjZSAqdm0sCiAJCQkJCSAgdTY0IG1pbl9zaXplLCB1NjQgYWxpZ25tZW50LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCA4MmEyNzRiMzM2YzUuLmNhZWQzMmRiZDkx MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTI1LDYgKzI1LDcg QEAKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogI2luY2x1ZGUgImludGVsX3JpbmdidWZmZXIuaCIK ICNpbmNsdWRlICJpbnRlbF9scmMuaCIKKyNpbmNsdWRlIDx1YXBpL2RybS9pOTE1X2RybS5oPgog CiBzdHJ1Y3QgZW5naW5lX2NsYXNzX2luZm8gewogCWNvbnN0IGNoYXIgKm5hbWU7CkBAIC0xMTg3 LDYgKzExODgsNjkgQEAgdm9pZCBpbnRlbF9lbmdpbmVzX3Jlc2V0X2RlZmF1bHRfc3VibWlzc2lv bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJZW5naW5lLT5zZXRfZGVmYXVsdF9z dWJtaXNzaW9uKGVuZ2luZSk7CiB9CiAKK3U4IHVzZXJfY2xhc3NfbWFwW0RSTV9JOTE1X0VOR0lO RV9DTEFTU19NQVhdID0geworCVtEUk1fSTkxNV9FTkdJTkVfQ0xBU1NfT1RIRVJdID0gT1RIRVJf Q0xBU1MsCisJW0RSTV9JOTE1X0VOR0lORV9DTEFTU19SRU5ERVJdID0gUkVOREVSX0NMQVNTLAor CVtEUk1fSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWV0gPSBDT1BZX0VOR0lORV9DTEFTUywKKwlbRFJN X0k5MTVfRU5HSU5FX0NMQVNTX1ZJREVPXSA9IFZJREVPX0RFQ09ERV9DTEFTUywKKwlbRFJNX0k5 MTVfRU5HSU5FX0NMQVNTX1ZJREVPX0VOSEFOQ0VdID0gVklERU9fRU5IQU5DRU1FTlRfQ0xBU1Ms Cit9OworCitpbnQgaTkxNV9nZW1fZW5naW5lX2luZm9faW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKKwkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRy bV9pOTE1X2dlbV9lbmdpbmVfaW5mbyAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9pOTE1X2Vu Z2luZV9pbmZvIF9fdXNlciAqdXNlcl9pbmZvID0KKwkJCQkJdTY0X3RvX3VzZXJfcHRyKGFyZ3Mt PmluZm9fcHRyKTsKKwl1bnNpZ25lZCBpbnQgaW5mb19zaXplID0gYXJncy0+bnVtX2VuZ2luZXM7 CisJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIGluZm87CisJc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCXU4IGNsYXNzOworCisJ aWYgKGFyZ3MtPnJzdmQpCisJCXJldHVybiAtRUlOVkFMOworCisJc3dpdGNoIChhcmdzLT5lbmdp bmVfY2xhc3MpIHsKKwljYXNlIERSTV9JOTE1X0VOR0lORV9DTEFTU19PVEhFUjoKKwljYXNlIERS TV9JOTE1X0VOR0lORV9DTEFTU19SRU5ERVI6CisJY2FzZSBEUk1fSTkxNV9FTkdJTkVfQ0xBU1Nf Q09QWToKKwljYXNlIERSTV9JOTE1X0VOR0lORV9DTEFTU19WSURFTzoKKwljYXNlIERSTV9JOTE1 X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFOgorCQljbGFzcyA9IHVzZXJfY2xhc3NfbWFwW2Fy Z3MtPmVuZ2luZV9jbGFzc107CisJCWJyZWFrOworCWNhc2UgRFJNX0k5MTVfRU5HSU5FX0NMQVNT X01BWDoKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9OworCisJYXJncy0+bnVtX2Vu Z2luZXMgPSAwOworCisJaWYgKGFyZ3MtPnZlcnNpb24gIT0gMSkgeworCQlhcmdzLT52ZXJzaW9u ID0gMTsKKwkJcmV0dXJuIDA7CisJfQorCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwg aWQpIHsKKwkJaWYgKGNsYXNzICE9IGVuZ2luZS0+Y2xhc3MpCisJCQljb250aW51ZTsKKworCQlp ZiAoKythcmdzLT5udW1fZW5naW5lcyA+IGluZm9fc2l6ZSkKKwkJCWNvbnRpbnVlOworCisJCW1l bXNldCgmaW5mbywgMCwgc2l6ZW9mKGluZm8pKTsKKwkJaW5mby5pbnN0YW5jZSA9IGVuZ2luZS0+ aW5zdGFuY2U7CisJCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gOCAmJiBpZCA9PSBWQ1MpCisJCQlp bmZvLmluZm8gPSBEUk1fSTkxNV9FTkdJTkVfSEFTX0hFVkM7CisKKwkJaWYgKGNvcHlfdG9fdXNl cih1c2VyX2luZm8rKywgJmluZm8sIHNpemVvZihpbmZvKSkpCisJCQlyZXR1cm4gLUVGQVVMVDsK Kwl9CisKKwlyZXR1cm4gMDsKK30KKwogI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X1NF TEZURVNUKQogI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jIgogI2VuZGlmCmRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5 MTVfZHJtLmgKaW5kZXggZjI0YTgwZDJkNDJlLi4yYWM2NjY3ZTU3ZWEgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJt LmgKQEAgLTI2MCw2ICsyNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewog I2RlZmluZSBEUk1fSTkxNV9HRU1fQ09OVEVYVF9HRVRQQVJBTQkweDM0CiAjZGVmaW5lIERSTV9J OTE1X0dFTV9DT05URVhUX1NFVFBBUkFNCTB4MzUKICNkZWZpbmUgRFJNX0k5MTVfUEVSRl9PUEVO CQkweDM2CisjZGVmaW5lIERSTV9JOTE1X0dFTV9FTkdJTkVfSU5GTwkweDM3CiAKICNkZWZpbmUg RFJNX0lPQ1RMX0k5MTVfSU5JVAkJRFJNX0lPVyggRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1 X0lOSVQsIGRybV9pOTE1X2luaXRfdCkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfRkxVU0gJCURS TV9JTyAoIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9GTFVTSCkKQEAgLTMxNSw2ICszMTYs NyBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtX2k5MTVfc2FyZWEgewogI2RlZmluZSBEUk1fSU9DVExf STkxNV9HRU1fQ09OVEVYVF9HRVRQQVJBTQlEUk1fSU9XUiAoRFJNX0NPTU1BTkRfQkFTRSArIERS TV9JOTE1X0dFTV9DT05URVhUX0dFVFBBUkFNLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRf cGFyYW0pCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX1NFVFBBUkFNCURSTV9J T1dSIChEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0NPTlRFWFRfU0VUUEFSQU0sIHN0 cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVf UEVSRl9PUEVOCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfT1BFTiwg c3RydWN0IGRybV9pOTE1X3BlcmZfb3Blbl9wYXJhbSkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVf R0VNX0VOR0lORV9JTkZPCURSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1f RU5HSU5FX0lORk8sIHN0cnVjdCBkcm1faTkxNV9nZW1fZW5naW5lX2luZm8pCiAKIC8qIEFsbG93 IGRyaXZlcnMgdG8gc3VibWl0IGJhdGNoYnVmZmVycyBkaXJlY3RseSB0byBoYXJkd2FyZSwgcmVs eWluZwogICogb24gdGhlIHNlY3VyaXR5IG1lY2hhbmlzbXMgcHJvdmlkZWQgYnkgaGFyZHdhcmUu CkBAIC0xNDM5LDYgKzE0NDEsNDQgQEAgZW51bSBkcm1faTkxNV9wZXJmX3JlY29yZF90eXBlIHsK IAlEUk1fSTkxNV9QRVJGX1JFQ09SRF9NQVggLyogbm9uLUFCSSAqLwogfTsKIAorZW51bSBkcm1f aTkxNV9nZW1fZW5naW5lX2NsYXNzIHsKKwlEUk1fSTkxNV9FTkdJTkVfQ0xBU1NfT1RIRVIgPSAw LAorCURSTV9JOTE1X0VOR0lORV9DTEFTU19SRU5ERVIgPSAxLAorCURSTV9JOTE1X0VOR0lORV9D TEFTU19DT1BZID0gMiwKKwlEUk1fSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8gPSAzLAorCURSTV9J OTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFID0gNCwKKwlEUk1fSTkxNV9FTkdJTkVfQ0xB U1NfTUFYIC8qIG5vbi1BQkkgKi8KK307CisKK3N0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyB7 CisJLyoqIEVuZ2luZSBpbnN0YW5jZSBudW1iZXIuICovCisJX191MzIJaW5zdGFuY2U7CisJX191 MzIJcnN2ZDsKKworCS8qKiBFbmdpbmUgc3BlY2lmaWMgaW5mby4gKi8KKyNkZWZpbmUgRFJNX0k5 MTVfRU5HSU5FX0hBU19IRVZDCUJJVCgwKQorCV9fdTY0IGluZm87Cit9OworCitzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2VuZ2luZV9pbmZvIHsKKwkvKiogaW4vb3V0OiBQcm90b2NvbCB2ZXJzaW9uIHJl cXVlc3RlZC9zdXBwb3J0ZWQuICovCisJX191MzIgdmVyc2lvbjsKKworCS8qKiBpbjogRW5naW5l IGNsYXNzIHRvIHByb2JlIChlbnVtIGRybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3MpLiAqLworCV9f dTMyIGVuZ2luZV9jbGFzczsKKworCS8qKgorCSAqIGluL291dDogTnVtYmVyIG9mIHN0cnVjdCBk cm1faTkxNV9lbmdpbmVfaW5mbyBlbnRyaWVzIGluIHRoZSBwcm92aWRlZAorCSAqIEBpbmZvX3B0 ciBhcnJheSBhbmQgYWN0dWFsIG51bWJlciBvZiBzdXBwb3J0ZWQgaGFyZHdhcmUgZW5naW5lcy4K KwkgKi8KKwlfX3UzMiBudW1fZW5naW5lczsKKwlfX3UzMiByc3ZkOworCisJLyoqIGluL291dDog UG9pbnRlciB0byBhcnJheSBvZiBzdHJ1Y3QgaTkxNV9lbmdpbmVfaW5mbyBlbGVtZW50cy4gKi8K KwlfX3U2NCBpbmZvX3B0cjsKKworfTsKKwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9CiAj ZW5kaWYKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK