From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v11] drm/i915: Engine discovery query Date: Thu, 2 May 2019 07:30:12 +0100 Message-ID: <20190502063012.22873-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0BCFC89061 for ; Thu, 2 May 2019 06:30:21 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBk aXNjb3ZlcnkgcXVlcnkgYWxsb3dzIHVzZXJzcGFjZSB0byBlbnVtZXJhdGUgZW5naW5lcywgcHJv YmUgdGhlaXIKY29uZmlndXJhdGlvbiBmZWF0dXJlcywgYWxsIHdpdGhvdXQgbmVlZGluZyB0byBt YWludGFpbiB0aGUgaW50ZXJuYWwgUENJCklEIGJhc2VkIGRhdGFiYXNlLgoKQSBuZXcgcXVlcnkg Zm9yIHRoZSBnZW5lcmljIGk5MTUgcXVlcnkgaW9jdGwgaXMgYWRkZWQgbmFtZWQKRFJNX0k5MTVf UVVFUllfRU5HSU5FX0lORk8sIHRvZ2V0aGVyIHdpdGggYWNjb21wYW55aW5nIHN0cnVjdHVyZQpk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mby4gVGhlIGFkZHJlc3Mgb2YgbGF0dGVyIHNob3VsZCBi ZSBwYXNzZWQgdG8gdGhlCmtlcm5lbCBpbiB0aGUgcXVlcnkuZGF0YV9wdHIgZmllbGQsIGFuZCBz aG91bGQgYmUgbGFyZ2UgZW5vdWdoIGZvciB0aGUKa2VybmVsIHRvIGZpbGwgb3V0IGFsbCBrbm93 biBlbmdpbmVzIGFzIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbwplbGVtZW50cyB0cmFpbGlu ZyB0aGUgcXVlcnkuCgpBcyB3aXRoIG90aGVyIHF1ZXJpZXMsIHNldHRpbmcgdGhlIGl0ZW0gcXVl cnkgbGVuZ3RoIHRvIHplcm8gYWxsb3dzCnVzZXJzcGFjZSB0byBxdWVyeSBtaW5pbXVtIHJlcXVp cmVkIGJ1ZmZlciBzaXplLgoKRW51bWVyYXRlZCBlbmdpbmVzIGhhdmUgY29tbW9uIHR5cGUgbWFz ayB3aGljaCBjYW4gYmUgdXNlZCB0byBxdWVyeSBhbGwKaGFyZHdhcmUgZW5naW5lcywgdmVyc3Vz IGVuZ2luZXMgdXNlcnNwYWNlIGNhbiBzdWJtaXQgdG8gdXNpbmcgdGhlIGV4ZWNidWYKdUFQSS4K CkVuZ2luZXMgYWxzbyBoYXZlIGNhcGFiaWxpdGllcyB3aGljaCBhcmUgcGVyIGVuZ2luZSBjbGFz cyBuYW1lc3BhY2Ugb2YKYml0cyBkZXNjcmliaW5nIGZlYXR1cmVzIG5vdCBwcmVzZW50IG9uIGFs bCBlbmdpbmUgaW5zdGFuY2VzLgoKdjI6CiAqIEZpeGVkIEhFVkMgYXNzaWdubWVudC4KICogUmVv cmRlciBzb21lIGZpZWxkcywgcmVuYW1lIHR5cGUgdG8gZmxhZ3MsIGluY3JlYXNlIHdpZHRoLiAo TGlvbmVsKQogKiBObyBuZWVkIHRvIGFsbG9jYXRlIHRlbXBvcmFyeSBzdG9yYWdlIGlmIHdlIGRv IGl0IGVuZ2luZSBieSBlbmdpbmUuCiAgIChMaW9uZWwpCgp2MzoKICogRGVzY3JpYmUgZW5naW5l IGZsYWdzIGFuZCBtYXJrIG1ieiBmaWVsZHMuIChMaW9uZWwpCiAqIEhFVkMgb25seSBhcHBsaWVz IHRvIFZDUy4KCnY0OgogKiBTcXVhc2ggU0ZDIGZsYWcgaW50byBtYWluIHBhdGNoLgogKiBUaWR5 IHNvbWUgY29tbWVudHMuCgp2NToKICogQWRkIHVhYmlfIHByZWZpeCB0byBlbmdpbmUgY2FwYWJp bGl0aWVzLiAoQ2hyaXMgV2lsc29uKQogKiBSZXBvcnQgZXhhY3Qgc2l6ZSBvZiBlbmdpbmUgaW5m byBhcnJheS4gKENocmlzIFdpbHNvbikKICogRHJvcCB0aGUgZW5naW5lIGZsYWdzLiAoSm9vbmFz IExhaHRpbmVuKQogKiBBZGRlZCBzb21lIG1vcmUgcmVzZXJ2ZWQgZmllbGRzLgogKiBNb3ZlIGZs YWdzIGFmdGVyIGNsYXNzL2luc3RhbmNlLgoKdjY6CiAqIERvIG5vdCBjaGVjayBlbmdpbmUgaW5m byBhcnJheSB3YXMgemVyb2VkIGJ5IHVzZXJzcGFjZSBidXQgemVybyB0aGUKICAgdW51c2VkIGZp ZWxkcyBmb3IgdGhlbSBpbnN0ZWFkLgoKdjc6CiAqIFNpbXBsaWZ5IGxlbmd0aCBjYWxjdWxhdGlv biBsb29wLiAoTGlvbmVsIExhbmR3ZXJsaW4pCgp2ODoKICogUmVtb3ZlIE1CWiBjb21tZW50cyB3 aGVyZSBub3QgYXBwbGljYWJsZS4KICogUmVuYW1lIEFCSSBmbGFncyB0byBtYXRjaCBlbmdpbmUg Y2xhc3MgZGVmaW5lIG5hbWluZy4KICogUmVuYW1lIFNGQyBBQkkgZmxhZyB0byByZWZsZWN0IGl0 IGFwcGxpZXMgdG8gVkNTIGFuZCBWRUNTLgogKiBTRkMgaXMgd2lyZWQgdG8gZXZlbiBfbG9naWNh bF8gZW5naW5lIGluc3RhbmNlcy4KICogU0ZDIGFwcGxpZXMgdG8gVkNTIGFuZCBWRUNTLgogKiBI RVZDIGlzIHByZXNlbnQgb24gYWxsIGluc3RhbmNlcyBvbiBHZW4xMS4gKFRvbnkpCiAqIFNpbXBs aWZ5IGxlbmd0aCBjYWxjdWxhdGlvbiBldmVuIG1vcmUuIChDaHJpcyBXaWxzb24pCiAqIE1vdmUg aW5mb19wdHIgYXNzaWdtZW50IGNsb3NlciB0byBsb29wIGZvciBjbGFyaXR5LiAoQ2hyaXMgV2ls c29uKQogKiBVc2UgdmRib3hfc2ZjX2FjY2VzcyBmcm9tIHJ1bnRpbWUgaW5mby4KICogUmViYXNl IGZvciBSVU5USU1FX0lORk8uCiAqIFJlZmFjdG9yIGZvciBsb3dlciBpbmRlbnRhdGlvbi4KICog UmVuYW1lIHVBUEkgY2xhc3MvaW5zdGFuY2UgdG8gZW5naW5lX2NsYXNzL2luc3RhbmNlIHRvIGF2 b2lkIEMrKwogICBrZXl3b3JkLgoKdjk6CiAqIFJlYmFzZSBmb3Igcy9udW1fcmluZ3MvbnVtX2Vu Z2luZXMvIGluIFJVTlRJTUVfSU5GTy4KCnYxMDoKICogVXNlIG5ldyBjb3B5X3F1ZXJ5X2l0ZW0u Cgp2MTE6CiAqIENvbnNvbGlkYXRlIHdpdGggc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3Ru YWNlLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSm9u IEJsb29tZmllbGQgPGpvbi5ibG9vbWZpZWxkQGludGVsLmNvbT4KQ2M6IERtaXRyeSBSb2dvemhr aW4gPGRtaXRyeS52LnJvZ296aGtpbkBpbnRlbC5jb20+CkNjOiBMaW9uZWwgTGFuZHdlcmxpbiA8 bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25h cy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBUb255IFllIDx0b255LnllQGludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGlu dGVsLmNvbT4gIyB2NwpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Ci0tLQpUZXN0LXdpdGg6IDIwMTkwNTAxMTE0MjU5LjE2MTU4LTMtdHZydGtvLnVy c3VsaW5AbGludXguaW50ZWwuY29tCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX2NzLmMgICAgfCA0MSArKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaCB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcXVlcnkuYyAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysr KysKIDQgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDZlNDBmOGVhOWE2YS4uMWYzOTAwNjQ2MTQ2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMzQ5LDYg KzM0OSw0NSBAQCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBfX3NldHVwX2VuZ2luZV9jYXBh YmlsaXRpZXMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OworCisJaWYgKGVuZ2luZS0+Y2xhc3Mg PT0gVklERU9fREVDT0RFX0NMQVNTKSB7CisJCS8qCisJCSAqIEhFVkMgc3VwcG9ydCBpcyBwcmVz ZW50IG9uIGZpcnN0IGVuZ2luZSBpbnN0YW5jZQorCQkgKiBiZWZvcmUgR2VuMTEgYW5kIG9uIGFs bCBpbnN0YW5jZXMgYWZ0ZXJ3YXJkcy4KKwkJICovCisJCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0g MTEgfHwKKwkJICAgIChJTlRFTF9HRU4oaTkxNSkgPj0gOSAmJiBlbmdpbmUtPmluc3RhbmNlID09 IDApKQorCQkJZW5naW5lLT51YWJpX2NhcGFiaWxpdGllcyB8PQorCQkJCUk5MTVfVklERU9fQ0xB U1NfQ0FQQUJJTElUWV9IRVZDOworCisJCS8qCisJCSAqIFNGQyBibG9jayBpcyBwcmVzZW50IG9u bHkgb24gZXZlbiBsb2dpY2FsIGVuZ2luZQorCQkgKiBpbnN0YW5jZXMuCisJCSAqLworCQlpZiAo KElOVEVMX0dFTihpOTE1KSA+PSAxMSAmJgorCQkgICAgIFJVTlRJTUVfSU5GTyhpOTE1KS0+dmRi b3hfc2ZjX2FjY2VzcyAmIGVuZ2luZS0+bWFzaykgfHwKKwkJICAgIChJTlRFTF9HRU4oaTkxNSkg Pj0gOSAmJiBlbmdpbmUtPmluc3RhbmNlID09IDApKQorCQkJZW5naW5lLT51YWJpX2NhcGFiaWxp dGllcyB8PQorCQkJCUk5MTVfVklERU9fQU5EX0VOSEFOQ0VfQ0xBU1NfQ0FQQUJJTElUWV9TRkM7 CisJfSBlbHNlIGlmIChlbmdpbmUtPmNsYXNzID09IFZJREVPX0VOSEFOQ0VNRU5UX0NMQVNTKSB7 CisJCWlmIChJTlRFTF9HRU4oaTkxNSkgPj0gOSkKKwkJCWVuZ2luZS0+dWFiaV9jYXBhYmlsaXRp ZXMgfD0KKwkJCQlJOTE1X1ZJREVPX0FORF9FTkhBTkNFX0NMQVNTX0NBUEFCSUxJVFlfU0ZDOwor CX0KK30KKworc3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfZW5naW5lX2NhcGFiaWxpdGllcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5n aW5lLCBpOTE1LCBpZCkKKwkJX19zZXR1cF9lbmdpbmVfY2FwYWJpbGl0aWVzKGVuZ2luZSk7Cit9 CisKIC8qKgogICogaW50ZWxfZW5naW5lc19jbGVhbnVwKCkgLSBmcmVlIHRoZSByZXNvdXJjZXMg YWxsb2NhdGVkIGZvciBDb21tYW5kIFN0cmVhbWVycwogICogQGk5MTU6IHRoZSBpOTE1IGRldmlj CkBAIC00MTQsNiArNDUzLDggQEAgaW50IGludGVsX2VuZ2luZXNfaW5pdF9tbWlvKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogCiAJaTkxNV9jaGVja19hbmRfY2xlYXJfZmF1bHRzKGk5 MTUpOwogCisJaW50ZWxfc2V0dXBfZW5naW5lX2NhcGFiaWxpdGllcyhpOTE1KTsKKwogCXJldHVy biAwOwogCiBjbGVhbnVwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf dHlwZXMuaAppbmRleCA5ZDY0ZTMzZjg0MjcuLmE1NjAyYmI1MDgwYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKQEAgLTI3OSw2ICsyNzksOCBAQCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAl1MzIgY29udGV4dF9zaXplOwogCXUzMiBtbWlvX2Jh c2U7CiAKKwl1MzIgdWFiaV9jYXBhYmlsaXRpZXM7CisKIAlzdHJ1Y3QgaW50ZWxfc3NldSBzc2V1 OwogCiAJc3RydWN0IGludGVsX3JpbmcgKmJ1ZmZlcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnku YwppbmRleCA3ODIxODNiNzhmNDkuLjQxNGQwYTZkMWY3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cXVlcnkuYwpAQCAtOTYsOSArOTYsNTggQEAgc3RhdGljIGludCBxdWVyeV90b3BvbG9neV9pbmZv KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gdG90YWxfbGVuZ3Ro OwogfQogCitzdGF0aWMgaW50CitxdWVyeV9lbmdpbmVfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwKKwkJICBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gX191c2VyICpxdWVyeV9wdHIg PQorCQkJCXU2NF90b191c2VyX3B0cihxdWVyeV9pdGVtLT5kYXRhX3B0cik7CisJc3RydWN0IGRy bV9pOTE1X2VuZ2luZV9pbmZvIF9fdXNlciAqaW5mb19wdHI7CisJc3RydWN0IGRybV9pOTE1X3F1 ZXJ5X2VuZ2luZV9pbmZvIHF1ZXJ5OworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBpbmZv ID0geyB9OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKKwlpbnQgbGVuLCByZXQ7CisKKwlpZiAocXVlcnlfaXRlbS0+ZmxhZ3MpCisJ CXJldHVybiAtRUlOVkFMOworCisJbGVuID0gc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV9xdWVyeV9l bmdpbmVfaW5mbykgKworCSAgICAgIFJVTlRJTUVfSU5GTyhpOTE1KS0+bnVtX2VuZ2luZXMgKgor CSAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8pOworCisJcmV0ID0gY29w eV9xdWVyeV9pdGVtKCZxdWVyeSwgc2l6ZW9mKHF1ZXJ5KSwgbGVuLCBxdWVyeV9pdGVtKTsKKwlp ZiAocmV0ICE9IDApCisJCXJldHVybiByZXQ7CisKKwlpZiAocXVlcnkubnVtX2VuZ2luZXMgfHwg cXVlcnkucnN2ZFswXSB8fCBxdWVyeS5yc3ZkWzFdIHx8CisJICAgIHF1ZXJ5LnJzdmRbMl0pCisJ CXJldHVybiAtRUlOVkFMOworCisJaW5mb19wdHIgPSAmcXVlcnlfcHRyLT5lbmdpbmVzWzBdOwor CisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKKwkJaW5mby5lbmdpbmUuZW5n aW5lX2NsYXNzID0gZW5naW5lLT51YWJpX2NsYXNzOworCQlpbmZvLmVuZ2luZS5lbmdpbmVfaW5z dGFuY2UgPSBlbmdpbmUtPmluc3RhbmNlOworCQlpbmZvLmNhcGFiaWxpdGllcyA9IGVuZ2luZS0+ dWFiaV9jYXBhYmlsaXRpZXM7CisKKwkJaWYgKF9fY29weV90b191c2VyKGluZm9fcHRyLCAmaW5m bywgc2l6ZW9mKGluZm8pKSkKKwkJCXJldHVybiAtRUZBVUxUOworCisJCXF1ZXJ5Lm51bV9lbmdp bmVzKys7CisJCWluZm9fcHRyKys7CisJfQorCisJaWYgKF9fY29weV90b191c2VyKHF1ZXJ5X3B0 ciwgJnF1ZXJ5LCBzaXplb2YocXVlcnkpKSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlyZXR1cm4g bGVuOworfQorCiBzdGF0aWMgaW50ICgqIGNvbnN0IGk5MTVfcXVlcnlfZnVuY3NbXSkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlf aXRlbSAqcXVlcnlfaXRlbSkgPSB7CiAJcXVlcnlfdG9wb2xvZ3lfaW5mbywKKwlxdWVyeV9lbmdp bmVfaW5mbywKIH07CiAKIGludCBpOTE1X3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRl eCAzYTczZjUzMTY3NjYuLjhjNTRiNzY2ZTlhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMTgyMSw2 ICsxODIxLDcgQEAgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIHN0cnVjdCBkcm1f aTkxNV9xdWVyeV9pdGVtIHsKIAlfX3U2NCBxdWVyeV9pZDsKICNkZWZpbmUgRFJNX0k5MTVfUVVF UllfVE9QT0xPR1lfSU5GTyAgICAxCisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZP CTIKIC8qIE11c3QgYmUga2VwdCBjb21wYWN0IC0tIG5vIGhvbGVzIGFuZCB3ZWxsIGRvY3VtZW50 ZWQgKi8KIAogCS8qCkBAIC0xOTE5LDYgKzE5MjAsNDcgQEAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5 X3RvcG9sb2d5X2luZm8gewogCV9fdTggZGF0YVtdOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJt X2k5MTVfZW5naW5lX2luZm8KKyAqCisgKiBEZXNjcmliZXMgb25lIGVuZ2luZSBhbmQgaXQncyBj YXBhYmlsaXRpZXMgYXMga25vd24gdG8gdGhlIGRyaXZlci4KKyAqLworc3RydWN0IGRybV9pOTE1 X2VuZ2luZV9pbmZvIHsKKwkvKiogRW5naW5lIGNsYXNzIGFuZCBpbnN0YW5jZS4gKi8KKwlzdHJ1 Y3QgaTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgZW5naW5lOworCisJLyoqIFJlc2VydmVkIGZp ZWxkLiAqLworCV9fdTMyIHJzdmQwOworCisJLyoqIEVuZ2luZSBmbGFncy4gKi8KKwlfX3U2NCBm bGFnczsKKworCS8qKiBDYXBhYmlsaXRpZXMgb2YgdGhpcyBlbmdpbmUuICovCisJX191NjQgY2Fw YWJpbGl0aWVzOworI2RlZmluZSBJOTE1X1ZJREVPX0NMQVNTX0NBUEFCSUxJVFlfSEVWQwkJKDEg PDwgMCkKKyNkZWZpbmUgSTkxNV9WSURFT19BTkRfRU5IQU5DRV9DTEFTU19DQVBBQklMSVRZX1NG QwkoMSA8PCAxKQorCisJLyoqIFJlc2VydmVkIGZpZWxkcy4gKi8KKwlfX3U2NCByc3ZkMVs0XTsK K307CisKKy8qKgorICogc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvCisgKgorICog RW5naW5lIGluZm8gcXVlcnkgZW51bWVyYXRlcyBhbGwgZW5naW5lcyBrbm93biB0byB0aGUgZHJp dmVyIGJ5IGZpbGxpbmcgaW4KKyAqIGFuIGFycmF5IG9mIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVf aW5mbyBzdHJ1Y3R1cmVzLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8g eworCS8qKiBOdW1iZXIgb2Ygc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHMgZm9s bG93aW5nLiAqLworCV9fdTMyIG51bV9lbmdpbmVzOworCisJLyoqIE1CWiAqLworCV9fdTMyIHJz dmRbM107CisKKwkvKiogTWFya2VyIGZvciBkcm1faTkxNV9lbmdpbmVfaW5mbyBzdHJ1Y3R1cmVz LiAqLworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBlbmdpbmVzW107Cit9OworCiAjaWYg ZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAKMi4xOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=