From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH 8/8] drm/i915: Expose RPCS (SSEU) configuration to userspace Date: Wed, 25 Apr 2018 12:45:21 +0100 Message-ID: <20180425114521.7524-9-lionel.g.landwerlin@intel.com> References: <20180425114521.7524-1-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 35CC06E5A3 for ; Wed, 25 Apr 2018 11:46:45 +0000 (UTC) In-Reply-To: <20180425114521.7524-1-lionel.g.landwerlin@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpXZSB3YW50IHRv IGFsbG93IHVzZXJzcGFjZSB0byByZWNvbmZpZ3VyZSB0aGUgc3Vic2xpY2UgY29uZmlndXJhdGlv biBmb3IKaXRzIG93biB1c2UgY2FzZS4gVG8gZG8gc28sIHdlIGV4cG9zZSBhIGNvbnRleHQgcGFy YW1ldGVyIHRvIGFsbG93CmFkanVzdG1lbnQgb2YgdGhlIFJQQ1MgcmVnaXN0ZXIgc3RvcmVkIHdp dGhpbiB0aGUgY29udGV4dCBpbWFnZSAoYW5kCmN1cnJlbnRseSBub3QgYWNjZXNzaWJsZSB2aWEg TFJJKS4gSWYgdGhlIGNvbnRleHQgaXMgYWRqdXN0ZWQgYmVmb3JlCmZpcnN0IHVzZSwgdGhlIGFk anVzdG1lbnQgaXMgZm9yICJmcmVlIjsgb3RoZXJ3aXNlIGlmIHRoZSBjb250ZXh0IGlzCmFjdGl2 ZSB3ZSBmbHVzaCB0aGUgY29udGV4dCBvZmYgdGhlIEdQVSAoc3RhbGxpbmcgYWxsIHVzZXJzKSBh bmQgZm9yY2luZwp0aGUgR1BVIHRvIHNhdmUgdGhlIGNvbnRleHQgdG8gbWVtb3J5IHdoZXJlIHdl IGNhbiBtb2RpZnkgaXQgYW5kIHNvCmVuc3VyZSB0aGF0IHRoZSByZWdpc3RlciBpcyByZWxvYWRl ZCBvbiBuZXh0IGV4ZWN1dGlvbi4KClRoZSBvdmVyaGVhZCBvZiBtYW5hZ2luZyBhZGRpdGlvbmFs IEVVIHN1YnNsaWNlcyBjYW4gYmUgc2lnbmlmaWNhbnQsCmVzcGVjaWFsbHkgaW4gbXVsdGktY29u dGV4dCB3b3JrbG9hZHMuIE5vbi1HUEdQVSBjb250ZXh0cyBzaG91bGQKcHJlZmVyYWJseSBkaXNh YmxlIHRoZSBzdWJzbGljZXMgaXQgaXMgbm90IHVzaW5nLCBhbmQgb3RoZXJzIHNob3VsZApmaW5l LXR1bmUgdGhlIG51bWJlciB0byBtYXRjaCB0aGVpciB3b3JrbG9hZC4KCldlIGV4cG9zZSBjb21w bGV0ZSBjb250cm9sIG92ZXIgdGhlIFJQQ1MgcmVnaXN0ZXIsIGFsbG93aW5nCmNvbmZpZ3VyYXRp b24gb2Ygc2xpY2Uvc3Vic2xpY2UsIHZpYSBtYXNrcyBwYWNrZWQgaW50byBhIHU2NCBmb3IKc2lt cGxpY2l0eS4gRm9yIGV4YW1wbGUsCgoJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFt IGFyZzsKCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbV9zc2V1IHNzZXUgPSB7IC5m bGFncyA9IEk5MTVfRVhFQ19SRU5ERVIgfTsKCgltZW1zZXQoJmFyZywgMCwgc2l6ZW9mKGFyZykp OwoJYXJnLmN0eF9pZCA9IGN0eDsKCWFyZy5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9TU0VV OwoJYXJnLnZhbHVlID0gKHVpbnRwdHJfdCkgJnNzZXU7CglpZiAoZHJtSW9jdGwoZmQsIERSTV9J T0NUTF9JOTE1X0dFTV9DT05URVhUX0dFVFBBUkFNLCAmYXJnKSA9PSAwKSB7CgkJc3NldS5wYWNr ZWQuc3Vic2xpY2VfbWFzayA9IDA7CgoJCWRybUlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRU1f Q09OVEVYVF9TRVRQQVJBTSwgJmFyZyk7Cgl9Cgpjb3VsZCBiZSB1c2VkIHRvIGRpc2FibGUgYWxs IHN1YnNsaWNlcyB3aGVyZSBzdXBwb3J0ZWQuCgp2MjogRml4IG9mZnNldCBvZiBDVFhfUl9QV1Jf Q0xLX1NUQVRFIGluIGludGVsX2xyX2NvbnRleHRfc2V0X3NzZXUoKSAoTGlvbmVsKQoKdjM6IEFk ZCBhYmlsaXR5IHRvIHByb2dyYW0gdGhpcyBwZXIgZW5naW5lIChDaHJpcykKCnY0OiBNb3ZlIG1v c3QgZ2V0X3NzZXUoKSBpbnRvIGk5MTVfZ2VtX2NvbnRleHQuYyAoTGlvbmVsKQoKQnVnemlsbGE6 IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDg5OQpTaWdu ZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVk LW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29t PgpjOiBEbWl0cnkgUm9nb3poa2luIDxkbWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPgpDQzog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ0M6IFpoaXBlbmcgR29u ZyA8emhpcGVuZy5nb25nQGludGVsLmNvbT4KQ0M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9jb250ZXh0LmMgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA1NSArKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggICAgICAgIHwgIDQgKysKIGluY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaCAgICAgICAgICAgICB8IDI4ICsrKysrKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCAxNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYwppbmRleCBiZGYwNTBiZWViOTQuLmI5N2RkY2Y0NzUxNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtNzQwLDYgKzc0MCwyNiBAQCBp bnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dF9zc2V1CitpOTE1X2dlbV9jb250ZXh0X3NzZXVfZnJvbV91c2VyX3NzZXUoY29uc3Qgc3Ry dWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsCisJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX2NvbnRleHRfcGFyYW1fc3NldSAqdXNlcl9zc2V1KQoreworCXN0cnVjdCBpOTE1X2dlbV9j b250ZXh0X3NzZXUgdmFsdWUgPSB7CisJCS5zbGljZV9tYXNrID0gdXNlcl9zc2V1LT5wYWNrZWQu c2xpY2VfbWFzayA9PSAwID8KKwkJCSAgICAgIHNzZXUtPnNsaWNlX21hc2sgOgorCQkJICAgICAg KHVzZXJfc3NldS0+cGFja2VkLnNsaWNlX21hc2sgJiBzc2V1LT5zbGljZV9tYXNrKSwKKwkJLnN1 YnNsaWNlX21hc2sgPSB1c2VyX3NzZXUtPnBhY2tlZC5zdWJzbGljZV9tYXNrID09IDAgPworCQkJ CSBzc2V1LT5zdWJzbGljZV9tYXNrWzBdIDoKKwkJCQkgKHVzZXJfc3NldS0+cGFja2VkLnN1YnNs aWNlX21hc2sgJiBzc2V1LT5zdWJzbGljZV9tYXNrWzBdKSwKKwkJLm1pbl9ldXNfcGVyX3N1YnNs aWNlID0gbWluKHVzZXJfc3NldS0+cGFja2VkLm1pbl9ldXNfcGVyX3N1YnNsaWNlLAorCQkJCQkg ICAgc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpLAorCQkubWF4X2V1c19wZXJfc3Vic2xpY2Ug PSBtaW4odXNlcl9zc2V1LT5wYWNrZWQubWF4X2V1c19wZXJfc3Vic2xpY2UsCisJCQkJCSAgICBz c2V1LT5tYXhfZXVzX3Blcl9zdWJzbGljZSksCisJfTsKKworCXJldHVybiB2YWx1ZTsKK30KKwog aW50IGk5MTVfZ2VtX2NvbnRleHRfZ2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlKQogewpAQCAtNzc3 LDYgKzc5NywzNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9nZXRwYXJhbV9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1BS SU9SSVRZOgogCQlhcmdzLT52YWx1ZSA9IGN0eC0+c2NoZWQucHJpb3JpdHk7CiAJCWJyZWFrOwor CWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX1NTRVU6IHsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9j b250ZXh0X3BhcmFtX3NzZXUgcGFyYW1fc3NldTsKKwkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOworCisJCWlmIChjb3B5X2Zyb21fdXNlcigmcGFyYW1fc3NldSwgdTY0X3RvX3VzZXJf cHRyKGFyZ3MtPnZhbHVlKSwKKwkJCQkgICBzaXplb2YocGFyYW1fc3NldSkpKSB7CisJCQlyZXQg PSAtRUZBVUxUOworCQkJYnJlYWs7CisJCX0KKworCQllbmdpbmUgPSBpOTE1X2dlbV9lbmdpbmVf ZnJvbV9mbGFncyh0b19pOTE1KGRldiksIGZpbGUsCisJCQkJCQkgICAgcGFyYW1fc3NldS5mbGFn cyk7CisJCWlmICghZW5naW5lKSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQkJYnJlYWs7CisJCX0K KworCQlwYXJhbV9zc2V1LnBhY2tlZC5zbGljZV9tYXNrID0KKwkJCWN0eC0+ZW5naW5lW2VuZ2lu ZS0+aWRdLnNzZXUuc2xpY2VfbWFzazsKKwkJcGFyYW1fc3NldS5wYWNrZWQuc3Vic2xpY2VfbWFz ayA9CisJCQljdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zc2V1LnN1YnNsaWNlX21hc2s7CisJCXBh cmFtX3NzZXUucGFja2VkLm1pbl9ldXNfcGVyX3N1YnNsaWNlID0KKwkJCWN0eC0+ZW5naW5lW2Vu Z2luZS0+aWRdLnNzZXUubWluX2V1c19wZXJfc3Vic2xpY2U7CisJCXBhcmFtX3NzZXUucGFja2Vk Lm1heF9ldXNfcGVyX3N1YnNsaWNlID0KKwkJCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnNzZXUu bWF4X2V1c19wZXJfc3Vic2xpY2U7CisKKwkJaWYgKGNvcHlfdG9fdXNlcih1NjRfdG9fdXNlcl9w dHIoYXJncy0+dmFsdWUpLCAmcGFyYW1fc3NldSwKKwkJCQkgc2l6ZW9mKHBhcmFtX3NzZXUpKSkK KwkJCXJldCA9IC1FRkFVTFQ7CisJCWJyZWFrOworCX0KIAlkZWZhdWx0OgogCQlyZXQgPSAtRUlO VkFMOwogCQlicmVhazsKQEAgLTgzMiw3ICs4ODMsNiBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9z ZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQllbHNl CiAJCQlpOTE1X2dlbV9jb250ZXh0X2NsZWFyX2Jhbm5hYmxlKGN0eCk7CiAJCWJyZWFrOwotCiAJ Y2FzZSBJOTE1X0NPTlRFWFRfUEFSQU1fUFJJT1JJVFk6CiAJCXsKIAkJCXM2NCBwcmlvcml0eSA9 IGFyZ3MtPnZhbHVlOwpAQCAtODUxLDcgKzkwMSwzNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9z ZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCWN0 eC0+c2NoZWQucHJpb3JpdHkgPSBwcmlvcml0eTsKIAkJfQogCQlicmVhazsKKwljYXNlIEk5MTVf Q09OVEVYVF9QQVJBTV9TU0VVOgorCQlpZiAoYXJncy0+c2l6ZSkKKwkJCXJldCA9IC1FSU5WQUw7 CisJCWVsc2UgaWYgKCFIQVNfRVhFQ0xJU1RTKGN0eC0+aTkxNSkpCisJCQlyZXQgPSAtRU5PREVW OworCQllbHNlIHsKKwkJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbV9zc2V1IHVzZXJf c3NldTsKKwkJCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0X3NzZXUgY3R4X3NzZXU7CisJCQlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisKKwkJCWlmIChjb3B5X2Zyb21fdXNlcigmdXNl cl9zc2V1LCB1NjRfdG9fdXNlcl9wdHIoYXJncy0+dmFsdWUpLAorCQkJCQkgICBzaXplb2YodXNl cl9zc2V1KSkpIHsKKwkJCQlyZXQgPSAtRUZBVUxUOworCQkJCWJyZWFrOworCQkJfQorCisJCQll bmdpbmUgPSBpOTE1X2dlbV9lbmdpbmVfZnJvbV9mbGFncyhkZXZfcHJpdiwgZmlsZSwKKwkJCQkJ CQkgICAgdXNlcl9zc2V1LmZsYWdzKTsKKwkJCWlmICghZW5naW5lKSB7CisJCQkJcmV0ID0gLUVJ TlZBTDsKKwkJCQlicmVhazsKKwkJCX0KKworCQkJY3R4X3NzZXUgPQorCQkJCWk5MTVfZ2VtX2Nv bnRleHRfc3NldV9mcm9tX3VzZXJfc3NldSgmSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUsCisJ CQkJCQkJCSAgICAgJnVzZXJfc3NldSk7CiAKKwkJCXJldCA9IGludGVsX2xyX2NvbnRleHRfc2V0 X3NzZXUoY3R4LCBlbmdpbmUsICZjdHhfc3NldSk7CisJCX0KKwkJYnJlYWs7CiAJZGVmYXVsdDoK IAkJcmV0ID0gLUVJTlZBTDsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4 IGRjYTE3ZWYyNGRlNS4uOWNhZGRjYjFmMjM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpA QCAtMjcxMSw2ICsyNzExLDYxIEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXN1bWUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIH0KIAoraW50IGludGVsX2xyX2NvbnRl eHRfc2V0X3NzZXUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJCSAgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICAgIHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0X3NzZXUgKnNzZXUpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g Y3R4LT5pOTE1OworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZTsKKwllbnVtIGludGVsX2VuZ2lu ZV9pZCBpZDsKKwlpbnQgcmV0OworCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPmRy bS5zdHJ1Y3RfbXV0ZXgpOworCisJaWYgKG1lbWNtcChzc2V1LCAmY3R4LT5lbmdpbmVbZW5naW5l LT5pZF0uc3NldSwgc2l6ZW9mKCpzc2V1KSkgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAq IFdlIGNhbiBvbmx5IHByb2dyYW0gdGhpcyBvbiByZW5kZXIgcmluZy4KKwkgKi8KKwljZSA9ICZj dHgtPmVuZ2luZVtSQ1NdOworCisJaWYgKGNlLT5waW5fY291bnQpIHsgLyogQXNzdW1lIHRoYXQg dGhlIGNvbnRleHQgaXMgYWN0aXZlISAqLworCQlyZXQgPSBpOTE1X2dlbV9zd2l0Y2hfdG9fa2Vy bmVsX2NvbnRleHQoZGV2X3ByaXYpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKworCQly ZXQgPSBpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGRldl9wcml2LAorCQkJCQkgICAgIEk5MTVfV0FJ VF9JTlRFUlJVUFRJQkxFIHwKKwkJCQkJICAgICBJOTE1X1dBSVRfTE9DS0VEKTsKKwkJaWYgKHJl dCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJaWYgKGNlLT5zdGF0ZSkgeworCQl2b2lkICp2YWRk ciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGNlLT5zdGF0ZS0+b2JqLCBJOTE1X01BUF9XQik7 CisJCXUzMiAqcmVnczsKKworCQlpZiAoSVNfRVJSKHZhZGRyKSkKKwkJCXJldHVybiBQVFJfRVJS KHZhZGRyKTsKKworCQlyZWdzID0gdmFkZHIgKyBMUkNfU1RBVEVfUE4gKiBQQUdFX1NJWkU7CisK KwkJcmVnc1tDVFhfUl9QV1JfQ0xLX1NUQVRFICsgMV0gPQorCQkJbWFrZV9ycGNzKCZJTlRFTF9J TkZPKGRldl9wcml2KS0+c3NldSwgc3NldSk7CisJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAo Y2UtPnN0YXRlLT5vYmopOworCX0KKworCS8qCisJICogQXBwbHkgdGhlIGNvbmZpZ3VyYXRpb24g dG8gYWxsIGVuZ2luZS4gT3VyIGhhcmR3YXJlIGRvZXNuJ3QKKwkgKiBjdXJyZW50bHkgc3VwcG9y dCBkaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgZm9yIGVhY2ggZW5naW5lLgorCSAqLworCWZvcl9l YWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkKKwkJY3R4LT5lbmdpbmVbaWRdLnNzZXUg PSAqc3NldTsKKworCXJldHVybiAwOworfQorCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5 MTVfU0VMRlRFU1QpCiAjaW5jbHVkZSAic2VsZnRlc3RzL2ludGVsX2xyYy5jIgogI2VuZGlmCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5oCmluZGV4IGQ5MWQ2OWExNzIwNi4uNGM4NDI2NjgxNGZhIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApAQCAtMTEyLDQgKzExMiw4IEBAIGludGVsX2xyX2Nv bnRleHRfZGVzY3JpcHRvcihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCXJldHVybiBj dHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5scmNfZGVzYzsKIH0KIAoraW50IGludGVsX2xyX2NvbnRl eHRfc2V0X3NzZXUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJCSAgICAgIHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICAgIHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0X3NzZXUgKnNzZXUpOworCiAjZW5kaWYgLyogX0lOVEVMX0xSQ19IXyAqLwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2Ry bS5oCmluZGV4IDk2ZWRhODE3NjAzMC4uNzU3NDljZTExYzAzIDEwMDY0NAotLS0gYS9pbmNsdWRl L3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCkBA IC0xNDU2LDkgKzE0NTYsMzcgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHsK ICNkZWZpbmUgICBJOTE1X0NPTlRFWFRfTUFYX1VTRVJfUFJJT1JJVFkJMTAyMyAvKiBpbmNsdXNp dmUgKi8KICNkZWZpbmUgICBJOTE1X0NPTlRFWFRfREVGQVVMVF9QUklPUklUWQkJMAogI2RlZmlu ZSAgIEk5MTVfQ09OVEVYVF9NSU5fVVNFUl9QUklPUklUWQktMTAyMyAvKiBpbmNsdXNpdmUgKi8K KwkvKgorCSAqIFdoZW4gdXNpbmcgdGhlIGZvbGxvd2luZyBwYXJhbSwgdmFsdWUgc2hvdWxkIGJl IGEgcG9pbnRlciB0bworCSAqIGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtX3NzZXUuCisJICov CisjZGVmaW5lIEk5MTVfQ09OVEVYVF9QQVJBTV9TU0VVCQkweDcKIAlfX3U2NCB2YWx1ZTsKIH07 CiAKK3N0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbV9zc2V1IHsKKwkvKgorCSAqIEVu Z2luZSB0byBiZSBjb25maWd1cmVkIG9yIHF1ZXJpZWQuIFNhbWUgdmFsdWUgeW91IHdvdWxkIHVz ZSB3aXRoCisJICogZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyLgorCSAqLworCV9fdTY0IGZsYWdz OworCisJLyoKKwkgKiBTZXR0aW5nIHNsaWNlX21hc2sgb3Igc3Vic2xpY2VfbWFzayB0byAwIHdp bGwgbWFrZSB0aGUgY29udGV4dCB1c2UKKwkgKiBtYXNrcyByZXBvcnRlZCByZXNwZWN0aXZlbHkg YnkgSTkxNV9QQVJBTV9TTElDRV9NQVNLIG9yCisJICogSTkxNV9QQVJBTV9TVUJTTElDRV9NQVNL LgorCSAqLworCXVuaW9uIHsKKwkJc3RydWN0IHsKKwkJCV9fdTggc2xpY2VfbWFzazsKKwkJCV9f dTggc3Vic2xpY2VfbWFzazsKKwkJCV9fdTggbWluX2V1c19wZXJfc3Vic2xpY2U7CisJCQlfX3U4 IG1heF9ldXNfcGVyX3N1YnNsaWNlOworCQl9IHBhY2tlZDsKKwkJX191NjQgdmFsdWU7CisJfTsK K307CisKIGVudW0gZHJtX2k5MTVfb2FfZm9ybWF0IHsKIAlJOTE1X09BX0ZPUk1BVF9BMTMgPSAx LAkgICAgLyogSFNXIG9ubHkgKi8KIAlJOTE1X09BX0ZPUk1BVF9BMjksCSAgICAvKiBIU1cgb25s eSAqLwotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK