From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC v6 2/2] drm/i915: Select engines via class and instance in execbuffer2 Date: Mon, 26 Jun 2017 16:48:14 +0100 Message-ID: <20170626154814.31306-1-tvrtko.ursulin@linux.intel.com> References: <20170518145826.29150-1-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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9245B6E03C for ; Mon, 26 Jun 2017 15:48:23 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id 131so971141wmq.2 for ; Mon, 26 Jun 2017 08:48:23 -0700 (PDT) In-Reply-To: <20170518145826.29150-1-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 , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkJ1aWxkaW5n IG9uIHRvcCBvZiB0aGUgcHJldmlvdXMgcGF0Y2ggd2hpY2ggZXhwb3J0ZWQgdGhlIGNvbmNlcHQK b2YgZW5naW5lIGNsYXNzZXMgYW5kIGluc3RhbmNlcywgd2UgY2FuIGFsc28gdXNlIHRoaXMgaW5z dGVhZCBvZgp0aGUgY3VycmVudCBhd2t3YXJkIGVuZ2luZSBzZWxlY3Rpb24gdUFQSS4KClRoaXMg aXMgcHJpbWFyaWx5IGludGVyZXN0aW5nIGZvciB0aGUgVkNTIGVuZ2luZSBzZWxlY3Rpb24gd2hp Y2gKaXMgYSkgY3VycmVudGx5IGRvbmUgdmlhIGRpc2pvaW50IHNldCBvZiBmbGFncywgYW5kIGIp IHRoZQpjdXJyZW50IEk5MTVfRVhFQ19CU0QgZmxhZ3MgaGFzIGRpZmZlcmVudCBzZW1hbnRpY3Mg ZGVwZW5kaW5nIG9uCnRoZSB1bmRlcmx5aW5nIGhhcmR3YXJlIHdoaWNoIGlzIGJhZC4KClByb3Bv c2VkIGlkZWEgaGVyZSBpcyB0byByZXNlcnZlIDgtYml0cyBvZiBmbGFncywgdG8gcGFzcyBpbiB0 aGUKZW5naW5lIGluc3RhbmNlLCByZS11c2UgdGhlIGV4aXN0aW5nIGVuZ2luZSBzZWxlY3Rpb24g Yml0cyBmb3IKdGhlIGNsYXNzIHNlbGVjdGlvbiwgYW5kIGEgbmV3IGZsYWcgbmFtZWQKSTkxNV9F WEVDX0NMQVNTX0lOU1RBTkNFIHRvIHRlbGwgdGhlIGtlcm5lbCB0aGlzIG5ldyBlbmdpbmUKc2Vs ZWN0aW9uIEFQSSBpcyBpbiB1c2UuCgpUaGUgbmV3IHVBUEkgYWxzbyByZW1vdmVzIGFjY2VzcyB0 byB0aGUgd2VhayBWQ1MgZW5naW5lCmJhbGFuY2luZyBhcyBjdXJyZW50bHkgZXhpc3RpbmcgaW4g dGhlIGRyaXZlci4KCkV4YW1wbGUgdXNhZ2UgdG8gc2VuZCBhIGNvbW1hbmQgdG8gVkNTMDoKCiAg ZWIuZmxhZ3MgPSBpOTE1X2V4ZWNidWZmZXIyX2VuZ2luZShJOTE1X0VOR0lORV9DTEFTU19WSURF T19ERUNPREUsIDApOwoKT3IgdG8gc2VuZCBhIGNvbW1hbmQgdG8gVkNTMToKCiAgZWIuZmxhZ3Mg PSBpOTE1X2V4ZWNidWZmZXIyX2VuZ2luZShJOTE1X0VOR0lORV9DTEFTU19WSURFT19ERUNPREUs IDEpOwoKdjI6CiAqIEZpeCB1bmtub3duIGZsYWdzIG1hc2suCiAqIFVzZSBJOTE1X0VYRUNfUklO R19NQVNLIGZvciBjbGFzcy4gKENocmlzIFdpbHNvbikKCnYzOgogKiBBZGQgYSBtYXAgZm9yIGZh c3QgY2xhc3MtaW5zdGFuY2UgZW5naW5lIGxvb2t1cC4gKENocmlzIFdpbHNvbikKCnY0OgogKiBV cGRhdGUgY29tbWl0IHRvIHJlZmxlY3QgdjMuCiAqIEV4cG9ydCBpbnRlbF9lbmdpbmVfbG9va3Vw IGZvciBvdGhlciB1c2Vycy4gKENocmlzIFdpbHNvbikKICogU3BsaXQgb3V0IHNvbWUgd2FybnMu IChDaHJpcyBXaWxzb24pCgp2NToKICogRml4ZWQgc2hpZnQgYW5kIG1hc2sgbG9naWMuCiAqIFJl YmFzZWQgdG8gYmUgc3RhbmRhbG9uZS4KCnY2OgogKiBSZWJhc2VkIGJhY2sgdG8gZm9sbG93IGVu Z2luZSBpbmZvIGlvY3RsLgogKiBSZW5hbWUgaGVscGVyIHRvIGludGVsX2VuZ2luZV9sb29rdXBf dXNlci4gKENocmlzIFdpbHNvbikKClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0 a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBW ZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29u YXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogSm9uIEJsb29tZmllbGQgPGpvbi5ibG9v bWZpZWxkQGludGVsLmNvbT4KQ2M6ICJSb2dvemhraW4sIERtaXRyeSBWIiA8ZG1pdHJ5LnYucm9n b3poa2luQGludGVsLmNvbT4KQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+ CkNjOiAiR29uZywgWmhpcGVuZyIgPHpoaXBlbmcuZ29uZ0BpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgMTQgKysrKysrKysrKysrKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgICB8ICAzICsrKwogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgICAgIHwgMjggKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwg IDMgKysrCiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAgfCAxMyAr KysrKysrKysrKystCiA2IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA0OTY1NjVlMTc1M2YuLjQ5NTBkZThj M2RlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTM3LDYgKzIxMzcsNyBAQCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJc3RydWN0IHBjaV9kZXYgKmJyaWRnZV9kZXY7CiAJc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmtlcm5lbF9jb250ZXh0OwogCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZVtJOTE1X05VTV9FTkdJTkVTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmVfY2xhc3NbTUFYX0VOR0lORV9DTEFTUyArIDFdW01BWF9FTkdJTkVfSU5TVEFOQ0Ug KyAxXTsKIAlzdHJ1Y3QgaTkxNV92bWEgKnNlbWFwaG9yZTsKIAogCXN0cnVjdCBkcm1fZG1hX2hh bmRsZSAqc3RhdHVzX3BhZ2VfZG1haDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4 ZWNidWZmZXIuYwppbmRleCBlYzMzYjM1OGZiYTkuLjYzMjQxODQwZjAwYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMjA1MCw2ICsyMDUwLDE3IEBA IGdlbjhfZGlzcGF0Y2hfYnNkX2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJcmV0dXJuIGZpbGVfcHJpdi0+YnNkX2VuZ2luZTsKIH0KIAorc3RhdGljIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKgorZWJfc2VsZWN0X2VuZ2luZV9jbGFzc19pbnN0YW5jZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZm ZXIyICphcmdzKQoreworCXU4IGNsYXNzID0gYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfUklOR19N QVNLOworCXU4IGluc3RhbmNlID0gKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0lOU1RBTkNFX01B U0spID4+CisJCSAgICAgIEk5MTVfRVhFQ19JTlNUQU5DRV9TSElGVDsKKworCXJldHVybiBpbnRl bF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwgY2xhc3MsIGluc3RhbmNlKTsKK30KKwogI2RlZmlu ZSBJOTE1X1VTRVJfUklOR1MgKDQpCiAKIHN0YXRpYyBjb25zdCBlbnVtIGludGVsX2VuZ2luZV9p ZCB1c2VyX3JpbmdfbWFwW0k5MTVfVVNFUl9SSU5HUyArIDFdID0gewpAQCAtMjA2OCw2ICsyMDc5 LDkgQEAgZWJfc2VsZWN0X2VuZ2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJdW5zaWduZWQgaW50IHVzZXJfcmluZ19pZCA9IGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX1JJ TkdfTUFTSzsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAKKwlpZiAoYXJncy0+ ZmxhZ3MgJiBJOTE1X0VYRUNfQ0xBU1NfSU5TVEFOQ0UpCisJCXJldHVybiBlYl9zZWxlY3RfZW5n aW5lX2NsYXNzX2luc3RhbmNlKGRldl9wcml2LCBhcmdzKTsKKwogCWlmICh1c2VyX3JpbmdfaWQg PiBJOTE1X1VTRVJfUklOR1MpIHsKIAkJRFJNX0RFQlVHKCJleGVjYnVmIHdpdGggdW5rbm93biBy aW5nOiAldVxuIiwgdXNlcl9yaW5nX2lkKTsKIAkJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAppbmRleCBjODY0N2NmYTgxYmEuLjgzNDY3M2M5ZWU2YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCkBAIC05NSw2ICs5NSw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X21taW9f cmVnX3ZhbGlkKGk5MTVfcmVnX3QgcmVnKQogI2RlZmluZSBWSURFT19FTkhBTkNFTUVOVF9DTEFT UwkyCiAjZGVmaW5lIENPUFlfRU5HSU5FX0NMQVNTCTMKICNkZWZpbmUgT1RIRVJfQ0xBU1MJCTQK KyNkZWZpbmUgTUFYX0VOR0lORV9DTEFTUwk0CisKKyNkZWZpbmUgTUFYX0VOR0lORV9JTlNUQU5D RQkxCiAKIC8qIFBDSSBjb25maWcgc3BhY2UgKi8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYwppbmRleCBhOTg2NjlmNmFkODUuLjEwODliMjJkMjA5MCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTE5OCw2ICsxOTgsMTUgQEAgaW50ZWxfZW5n aW5lX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlHRU1fQlVHX09O KGluZm8tPmNsYXNzID49IEFSUkFZX1NJWkUoaW50ZWxfZW5naW5lX2NsYXNzZXMpKTsKIAljbGFz c19pbmZvID0gJmludGVsX2VuZ2luZV9jbGFzc2VzW2luZm8tPmNsYXNzXTsKIAorCWlmIChHRU1f V0FSTl9PTihpbmZvLT5jbGFzcyA+IE1BWF9FTkdJTkVfQ0xBU1MpKQorCQlyZXR1cm4gLUVJTlZB TDsKKworCWlmIChHRU1fV0FSTl9PTihpbmZvLT5pbnN0YW5jZSA+IE1BWF9FTkdJTkVfSU5TVEFO Q0UpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChHRU1fV0FSTl9PTihkZXZfcHJpdi0+ZW5n aW5lX2NsYXNzW2luZm8tPmNsYXNzXVtpbmZvLT5pbnN0YW5jZV0pKQorCQlyZXR1cm4gLUVJTlZB TDsKKwogCUdFTV9CVUdfT04oZGV2X3ByaXYtPmVuZ2luZVtpZF0pOwogCWVuZ2luZSA9IGt6YWxs b2Moc2l6ZW9mKCplbmdpbmUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWVuZ2luZSkKQEAgLTIyNSw3 ICsyMzQsOSBAQCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCiAJQVRPTUlDX0lOSVRfTk9USUZJRVJfSEVBRCgmZW5naW5lLT5jb250ZXh0X3N0 YXR1c19ub3RpZmllcik7CiAKKwlkZXZfcHJpdi0+ZW5naW5lX2NsYXNzW2luZm8tPmNsYXNzXVtp bmZvLT5pbnN0YW5jZV0gPSBlbmdpbmU7CiAJZGV2X3ByaXYtPmVuZ2luZVtpZF0gPSBlbmdpbmU7 CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTM5Niw2ICsxNDA3LDIzIEBAIGludCBpOTE1X2dlbV9l bmdpbmVfaW5mb19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXJl dHVybiAwOwogfQogCitzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICoKK2ludGVsX2VuZ2luZV9sb29r dXBfdXNlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggY2xhc3MsIHU4IGluc3Rh bmNlKQoreworCWlmIChjbGFzcyA+PSBBUlJBWV9TSVpFKHVzZXJfY2xhc3NfbWFwKSkKKwkJcmV0 dXJuIE5VTEw7CisKKwljbGFzcyA9IHVzZXJfY2xhc3NfbWFwW2NsYXNzXTsKKworCWlmIChXQVJO X09OX09OQ0UoY2xhc3MgPiBNQVhfRU5HSU5FX0NMQVNTKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlp ZiAoaW5zdGFuY2UgPiBNQVhfRU5HSU5FX0lOU1RBTkNFKQorCQlyZXR1cm4gTlVMTDsKKworCXJl dHVybiBpOTE1LT5lbmdpbmVfY2xhc3NbY2xhc3NdW2luc3RhbmNlXTsKK30KKwogI2lmIElTX0VO QUJMRUQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKQogI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2Nr X2VuZ2luZS5jIgogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK aW5kZXggZDMzYzkzNDQ0YzBkLi4yODM0NDRmOWJlMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKQEAgLTczNSw0ICs3MzUsNyBAQCBib29sIGludGVsX2VuZ2luZXNf YXJlX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxf ZW5naW5lc19tYXJrX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwogdm9pZCBp bnRlbF9lbmdpbmVzX3Jlc2V0X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSk7CiAKK3N0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKgoraW50ZWxfZW5naW5lX2xv b2t1cF91c2VyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1OCBjbGFzcywgdTggaW5z dGFuY2UpOworCiAjZW5kaWYgLyogX0lOVEVMX1JJTkdCVUZGRVJfSF8gKi8KZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aAppbmRleCBmYmIxZjZiOTk5NTkuLmMzZmFiYjg5ZTFjMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91 YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAt OTI5LDcgKzkyOSwxMyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIHsKICAqIGVs ZW1lbnQpLgogICovCiAjZGVmaW5lIEk5MTVfRVhFQ19CQVRDSF9GSVJTVAkJKDE8PDE4KQotI2Rl ZmluZSBfX0k5MTVfRVhFQ19VTktOT1dOX0ZMQUdTICgtKEk5MTVfRVhFQ19CQVRDSF9GSVJTVDw8 MSkpCisKKyNkZWZpbmUgSTkxNV9FWEVDX0NMQVNTX0lOU1RBTkNFCSgxPDwxOSkKKworI2RlZmlu ZSBJOTE1X0VYRUNfSU5TVEFOQ0VfU0hJRlQJKDIwKQorI2RlZmluZSBJOTE1X0VYRUNfSU5TVEFO Q0VfTUFTSwkJKDB4ZmYgPDwgSTkxNV9FWEVDX0lOU1RBTkNFX1NISUZUKQorCisjZGVmaW5lIF9f STkxNV9FWEVDX1VOS05PV05fRkxBR1MgKC0oKDEgPDwgMjcpIDw8IDEpKQogCiAjZGVmaW5lIEk5 MTVfRVhFQ19DT05URVhUX0lEX01BU0sJKDB4ZmZmZmZmZmYpCiAjZGVmaW5lIGk5MTVfZXhlY2J1 ZmZlcjJfc2V0X2NvbnRleHRfaWQoZWIyLCBjb250ZXh0KSBcCkBAIC05MzcsNiArOTQzLDExIEBA IHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgewogI2RlZmluZSBpOTE1X2V4ZWNidWZm ZXIyX2dldF9jb250ZXh0X2lkKGViMikgXAogCSgoZWIyKS5yc3ZkMSAmIEk5MTVfRVhFQ19DT05U RVhUX0lEX01BU0spCiAKKyNkZWZpbmUgaTkxNV9leGVjYnVmZmVyMl9lbmdpbmUoY2xhc3MsIGlu c3RhbmNlKSBcCisJKEk5MTVfRVhFQ19DTEFTU19JTlNUQU5DRSB8IFwKKwkoY2xhc3MpIHwgXAor CSgoaW5zdGFuY2UpIDw8IEk5MTVfRVhFQ19JTlNUQU5DRV9TSElGVCkpCisKIHN0cnVjdCBkcm1f aTkxNV9nZW1fcGluIHsKIAkvKiogSGFuZGxlIG9mIHRoZSBidWZmZXIgdG8gYmUgcGlubmVkLiAq LwogCV9fdTMyIGhhbmRsZTsKLS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK