From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v3] drm/i915: Replace gen6 semaphore signal table with code Date: Thu, 21 Jul 2016 13:00:47 +0100 Message-ID: <1469102447-4254-1-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1469093495-2745-1-git-send-email-tvrtko.ursulin@linux.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 ESMTP id 133946E9DD for ; Thu, 21 Jul 2016 12:00:51 +0000 (UTC) In-Reply-To: <1469093495-2745-1-git-send-email-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClN0YXRpYyB0 YWJsZSB3YXN0ZXMgc3BhY2UgZm9yIGludmFsaWQgY29tYmluYXRpb25zIGFuZAplbmdpbmVzIHdo aWNoIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IEdlbjYgKGxlZ2FjeSBzZW1hcGhvcmVzKS4KClJlcGxh Y2UgaXQgd2l0aCBhIGZ1bmN0aW9uIGRldmlzZWQgYnkgRGF2ZSBHb3Jkb24uCgpJIGhhdmUgdmVy aWZpZWQgdGhhdCBpdCBnZW5lcmF0ZXMgdGhlIHNhbWUgbWFwcGluZ3MgYmV0d2VlbgptYm94IHNl bGVjdG9ycyBhbmQgc2lnbmFsbGluZyByZWdpc3RlcnMuCgp2MjogQWRkIGEgY29tbWVudCBkZXNj cmliaW5nIHdoYXQgZ2VuNl9zZW1fZiBkb2VzLgp2MzogVGhpcyB0aW1lIHdpdGggZ2l0IGFkZC4K ClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ CkNjOiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCAgICAgICAgIHwgIDcgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyAgfCA5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8IDQwICstLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMyArKwogNCBmaWxlcyBj aGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKaW5kZXggOTM5N2RkZWMyNmI5Li5jMmZlNzE4NTgyYzggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaApAQCAtMTYwNCw5ICsxNjA0LDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewogI2RlZmluZSBSSU5HX0hFQUQoYmFzZSkJCV9NTUlPKChiYXNlKSsweDM0KQogI2RlZmlu ZSBSSU5HX1NUQVJUKGJhc2UpCV9NTUlPKChiYXNlKSsweDM4KQogI2RlZmluZSBSSU5HX0NUTChi YXNlKQkJX01NSU8oKGJhc2UpKzB4M2MpCi0jZGVmaW5lIFJJTkdfU1lOQ18wKGJhc2UpCV9NTUlP KChiYXNlKSsweDQwKQotI2RlZmluZSBSSU5HX1NZTkNfMShiYXNlKQlfTU1JTygoYmFzZSkrMHg0 NCkKLSNkZWZpbmUgUklOR19TWU5DXzIoYmFzZSkJX01NSU8oKGJhc2UpKzB4NDgpCisjZGVmaW5l IFJJTkdfU1lOQyhiYXNlLCBuKQlfTU1JTygoYmFzZSkgKyAweDQwICsgKG4pICogNCkKKyNkZWZp bmUgUklOR19TWU5DXzAoYmFzZSkJUklOR19TWU5DKGJhc2UsIDApCisjZGVmaW5lIFJJTkdfU1lO Q18xKGJhc2UpCVJJTkdfU1lOQyhiYXNlLCAxKQorI2RlZmluZSBSSU5HX1NZTkNfMihiYXNlKQlS SU5HX1NZTkMoYmFzZSwgMikKICNkZWZpbmUgR0VONl9SVlNZTkMJKFJJTkdfU1lOQ18wKFJFTkRF Ul9SSU5HX0JBU0UpKQogI2RlZmluZSBHRU42X1JCU1lOQwkoUklOR19TWU5DXzEoUkVOREVSX1JJ TkdfQkFTRSkpCiAjZGVmaW5lIEdFTjZfUlZFU1lOQwkoUklOR19TWU5DXzIoUkVOREVSX1JJTkdf QkFTRSkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IGY0YTM1ZWM3 ODQ4MS4uMTk0NTViMjBiMzIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu YwpAQCAtMjA5LDMgKzIwOSw5NiBAQCBpbnQgaW50ZWxfZW5naW5lX2luaXRfY29tbW9uKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCXJldHVybiBpOTE1X2NtZF9wYXJzZXJfaW5p dF9yaW5nKGVuZ2luZSk7CiB9CisKKyNkZWZpbmUgSTkxNV9OVU1fR0VONl9TRU1BUEhPUkVfRU5H SU5FUyAoNCkKKworLyoKKyAqIEZvciBHZW42IHNlbWFwaG9yZXMgd2hlcmUgdGhlIGRyaXZlciBp c3N1ZXMgTUlfU0VNQVBIT1JFX01CT1ggY29tbWFuZHMKKyAqIHdpdGggcmVnaXN0ZXIgc2VsZWN0 cyBzbyB0aGF0IGEgc3BlY2lmaWMgZW5naW5lIGNhbiB3YWtlIHVwIGFub3RoZXIgZW5naW5lCisg KiB3YWl0aW5nIG9uIGEgbWF0Y2hpbmcgcmVnaXN0ZXIsIHRoZSBtYXRyaXggb2YgcmVxdWlyZWQg cmVnaXN0ZXIgc2VsZWN0cworICogbG9va3MgbGlrZSB0aGlzOgorICoKKyAqICAgICAgfCAgICAg ICAgICAgIFJDUyAgICAgICAgICAgIHwgICAgICAgICAgIFZDUyAgICAgICAgICAgICB8ICAgICAg ICAgICBCQ1MgICAgICAgICAgICAgfCAgICAgICAgIFZFQ1MKKyAqIC0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFJDUyB8IE1J X1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQgfCAgICBNSV9TRU1BUEhPUkVfU1lOQ19WUiAgIHwgICAg TUlfU0VNQVBIT1JFX1NZTkNfQlIgICB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1ZFUgorICogIFZD UyB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1JWICAgfCBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElE IHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfQlYgICB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1ZFVgor ICogIEJDUyB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1JCICAgfCAgICBNSV9TRU1BUEhPUkVfU1lO Q19WQiAgIHwgTUlfU0VNQVBIT1JFX1NZTkNfSU5WQUxJRCB8ICAgIE1JX1NFTUFQSE9SRV9TWU5D X1ZFQgorICogVkVDUyB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1JWRSAgfCAgICBNSV9TRU1BUEhP UkVfU1lOQ19WVkUgIHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfQlZFICB8IE1JX1NFTUFQSE9SRV9T WU5DX0lOVkFMSUQKKyAqCisgKiBUaGlzIGRpc3RpbGxlZCB0byBpbnRlZ2VycyBsb29rcyBsaWtl IHRoaXM6CisgKgorICogICB8ICAwICB8ICAxICB8ICAyICB8ICAzCisgKiAtLSstLS0tLSstLS0t LSstLS0tLSstLS0tLQorICogMCB8IC0xICB8ICAwICB8ICAyICB8ICAxCisgKiAxIHwgIDIgIHwg LTEgIHwgIDAgIHwgIDEKKyAqIDIgfCAgMCAgfCAgMiAgfCAtMSAgfCAgMQorICogMyB8ICAyICB8 ICAxICB8ICAwICB8IC0xCisgKgorICogSW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiwgdGhlIHNh bWUgdGFibGUgc2hvd2luZyByZWdpc3RlciBhZGRyZXNzZXMgaXM6CisgKgorICogICAgICB8ICAg ICBSQ1MgICAgICB8ICAgICBWQ1MgICAgICB8ICAgICBCQ1MgICAgICB8ICAgIFZFQ1MKKyAqIC0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tCisgKiAgUkNTIHwgR0VONl9OT1NZTkMgIHwgR0VONl9SVlNZTkMgIHwgR0VONl9SQlNZ TkMgIHwgR0VONl9SVkVTWU5DCisgKiAgVkNTIHwgR0VONl9WUlNZTkMgIHwgR0VONl9OT1NZTkMg IHwgR0VONl9WQlNZTkMgIHwgR0VONl9WVkVTWU5DCisgKiAgQkNTIHwgR0VONl9WUlNZTkMgIHwg R0VONl9CVlNZTkMgIHwgR0VONl9OT1NZTkMgIHwgR0VONl9CVkVTWU5DCisgKiBWRUNTIHwgR0VO Nl9WRVJTWU5DIHwgR0VONl9WRVZTWU5DIHwgR0VONl9WRUJTWU5DIHwgR0VONl9OT1NZTkMKKyAq CisgKiBBZ2FpbiB0aGlzIGRpc3RpbGxlZCB0byBpbnRlZ2VycyBsb29rcyBsaWtlIHRoaXM6Cisg KgorICogICB8ICAwICB8ICAxICB8ICAyICB8ICAzCisgKiAtLSstLS0tLSstLS0tLSstLS0tLSst LS0tLQorICogMCB8IC0xICB8ICAwICB8ICAxICB8ICAyCisgKiAxIHwgIDEgIHwgLTEgIHwgIDAg IHwgIDIKKyAqIDIgfCAgMCAgfCAgMSAgfCAtMSAgfCAgMgorICogMyB8ICAxICB8ICAyICB8ICAw ICB8IC0xCisgKgorICogVGhlIGZ1bmN0aW9uIGdlbjZfc2VtX2YgZXhwcmVzc2VzIHRoZSBhYm92 ZSB0YWJsZS4gV2UgYWxzbyBub3RpY2UgdGhhdCB0aGUKKyAqIGRpZmZlcmVuY2UgYmV0d2VlbiB0 aGUgZmlyc3QgYW5kIHNlY29uZCB0YWJlIGlzIG9ubHkgYSB0cmFuc3Bvc2Ugb2Ygb25lcyB0bwor ICogdHdvcyBhbmQgdHdvcyB0byBvbmVzLgorICovCisKK3N0YXRpYyBpbnQgZ2VuNl9zZW1fZih1 bnNpZ25lZCBpbnQgeCwgdW5zaWduZWQgaW50IHkpCit7CisJaWYgKHggPT0geSkKKwkJcmV0dXJu IC0xOworCisJeCA9IGludGVsX2VuZ2luZXNbeF0uZ3VjX2lkOworCXkgPSBpbnRlbF9lbmdpbmVz W3ldLmd1Y19pZDsKKworCWlmICh4ID49IEk5MTVfTlVNX0dFTjZfU0VNQVBIT1JFX0VOR0lORVMg fHwKKwkgICAgeSA+PSBJOTE1X05VTV9HRU42X1NFTUFQSE9SRV9FTkdJTkVTKQorCQlyZXR1cm4g LTE7CisKKwl4IC09IHggPj0geTsKKwlpZiAoeSA9PSAxKQorCQl4ID0gMyAtIHg7CisJeCArPSB5 ICYgMTsKKwlyZXR1cm4geCAlIDM7Cit9CisKK3UzMiBnZW42X3dhaXRfbWJveChlbnVtIGludGVs X2VuZ2luZV9pZCB4LCBlbnVtIGludGVsX2VuZ2luZV9pZCB5KQoreworCWludCByOworCisJciA9 IGdlbjZfc2VtX2YoeCwgeSk7CisJaWYgKHIgPCAwKQorCQlyZXR1cm4gTUlfU0VNQVBIT1JFX1NZ TkNfSU5WQUxJRDsKKworCWlmIChyID09IDEpCisJCXIgPSAyOworCWVsc2UgaWYgKHIgPT0gMikK KwkJciA9IDE7CisKKwlyZXR1cm4gciA8PCAxNjsKK30KKworaTkxNV9yZWdfdCBnZW42X3NpZ25h bF9yZWcoZW51bSBpbnRlbF9lbmdpbmVfaWQgeCwgZW51bSBpbnRlbF9lbmdpbmVfaWQgeSkKK3sK KwlpbnQgcjsKKworCXIgPSBnZW42X3NlbV9mKHgsIHkpOworCWlmIChyIDwgMCkKKwkJcmV0dXJu IEdFTjZfTk9TWU5DOworCisJcmV0dXJuIFJJTkdfU1lOQyhpbnRlbF9lbmdpbmVzW3ldLm1taW9f YmFzZSwgcik7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXgg MGI1ZDFkZThhN2ZiLi5mYWJmOGI2YmNhZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMKQEAgLTI3NDUsNDQgKzI3NDUsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9yaW5n X2luaXRfc2VtYXBob3JlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCSAq IHNlbWEgYmV0d2VlbiBWQ1MyIGFuZCBSQ1MgbGF0ZXIuCiAJCSAqLwogCQlmb3IgKGkgPSAwOyBp IDwgSTkxNV9OVU1fRU5HSU5FUzsgaSsrKSB7Ci0JCQlzdGF0aWMgY29uc3Qgc3RydWN0IHsKLQkJ CQl1MzIgd2FpdF9tYm94OwotCQkJCWk5MTVfcmVnX3QgbWJveF9yZWc7Ci0JCQl9IHNlbV9kYXRh W0k5MTVfTlVNX0VOR0lORVNdW0k5MTVfTlVNX0VOR0lORVNdID0gewotCQkJCVtSQ1NdID0gewot CQkJCQlbVkNTXSA9ICB7IC53YWl0X21ib3ggPSBNSV9TRU1BUEhPUkVfU1lOQ19SViwgIC5tYm94 X3JlZyA9IEdFTjZfVlJTWU5DIH0sCi0JCQkJCVtCQ1NdID0gIHsgLndhaXRfbWJveCA9IE1JX1NF TUFQSE9SRV9TWU5DX1JCLCAgLm1ib3hfcmVnID0gR0VONl9CUlNZTkMgfSwKLQkJCQkJW1ZFQ1Nd ID0geyAud2FpdF9tYm94ID0gTUlfU0VNQVBIT1JFX1NZTkNfUlZFLCAubWJveF9yZWcgPSBHRU42 X1ZFUlNZTkMgfSwKLQkJCQl9LAotCQkJCVtWQ1NdID0gewotCQkJCQlbUkNTXSA9ICB7IC53YWl0 X21ib3ggPSBNSV9TRU1BUEhPUkVfU1lOQ19WUiwgIC5tYm94X3JlZyA9IEdFTjZfUlZTWU5DIH0s Ci0JCQkJCVtCQ1NdID0gIHsgLndhaXRfbWJveCA9IE1JX1NFTUFQSE9SRV9TWU5DX1ZCLCAgLm1i b3hfcmVnID0gR0VONl9CVlNZTkMgfSwKLQkJCQkJW1ZFQ1NdID0geyAud2FpdF9tYm94ID0gTUlf U0VNQVBIT1JFX1NZTkNfVlZFLCAubWJveF9yZWcgPSBHRU42X1ZFVlNZTkMgfSwKLQkJCQl9LAot CQkJCVtCQ1NdID0gewotCQkJCQlbUkNTXSA9ICB7IC53YWl0X21ib3ggPSBNSV9TRU1BUEhPUkVf U1lOQ19CUiwgIC5tYm94X3JlZyA9IEdFTjZfUkJTWU5DIH0sCi0JCQkJCVtWQ1NdID0gIHsgLndh aXRfbWJveCA9IE1JX1NFTUFQSE9SRV9TWU5DX0JWLCAgLm1ib3hfcmVnID0gR0VONl9WQlNZTkMg fSwKLQkJCQkJW1ZFQ1NdID0geyAud2FpdF9tYm94ID0gTUlfU0VNQVBIT1JFX1NZTkNfQlZFLCAu bWJveF9yZWcgPSBHRU42X1ZFQlNZTkMgfSwKLQkJCQl9LAotCQkJCVtWRUNTXSA9IHsKLQkJCQkJ W1JDU10gPSAgeyAud2FpdF9tYm94ID0gTUlfU0VNQVBIT1JFX1NZTkNfVkVSLCAubWJveF9yZWcg PSBHRU42X1JWRVNZTkMgfSwKLQkJCQkJW1ZDU10gPSAgeyAud2FpdF9tYm94ID0gTUlfU0VNQVBI T1JFX1NZTkNfVkVWLCAubWJveF9yZWcgPSBHRU42X1ZWRVNZTkMgfSwKLQkJCQkJW0JDU10gPSAg eyAud2FpdF9tYm94ID0gTUlfU0VNQVBIT1JFX1NZTkNfVkVCLCAubWJveF9yZWcgPSBHRU42X0JW RVNZTkMgfSwKLQkJCQl9LAotCQkJfTsKLQkJCXUzMiB3YWl0X21ib3g7Ci0JCQlpOTE1X3JlZ190 IG1ib3hfcmVnOwotCi0JCQlpZiAoaSA9PSBlbmdpbmUtPmlkIHx8IGkgPT0gVkNTMikgewotCQkJ CXdhaXRfbWJveCA9IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQ7Ci0JCQkJbWJveF9yZWcgPSBH RU42X05PU1lOQzsKLQkJCX0gZWxzZSB7Ci0JCQkJd2FpdF9tYm94ID0gc2VtX2RhdGFbZW5naW5l LT5pZF1baV0ud2FpdF9tYm94OwotCQkJCW1ib3hfcmVnID0gc2VtX2RhdGFbZW5naW5lLT5pZF1b aV0ubWJveF9yZWc7Ci0JCQl9Ci0KLQkJCWVuZ2luZS0+c2VtYXBob3JlLm1ib3gud2FpdFtpXSA9 IHdhaXRfbWJveDsKLQkJCWVuZ2luZS0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldID0gbWJveF9y ZWc7CisJCQllbmdpbmUtPnNlbWFwaG9yZS5tYm94LndhaXRbaV0gPSBnZW42X3dhaXRfbWJveChl bmdpbmUtPmlkLCBpKTsKKwkJCWVuZ2luZS0+c2VtYXBob3JlLm1ib3guc2lnbmFsW2ldID0gZ2Vu Nl9zaWduYWxfcmVnKGVuZ2luZS0+aWQsIGkpOwogCQl9CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IDBmODAxOTQ4OGQzMy4uY2IzZDIyNzUyYjA3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00OTMsNiArNDkzLDkg QEAgaW50IGludGVsX3JpbmdfaW52YWxpZGF0ZV9hbGxfY2FjaGVzKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxKTsKIGludCBpbnRlbF9pbml0X3BpcGVfY29udHJvbChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBzaXplKTsKIHZvaWQgaW50ZWxfZmluaV9waXBlX2Nv bnRyb2woc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIAordTMyIGdlbjZfd2FpdF9t Ym94KGVudW0gaW50ZWxfZW5naW5lX2lkIHgsIGVudW0gaW50ZWxfZW5naW5lX2lkIHkpOworaTkx NV9yZWdfdCBnZW42X3NpZ25hbF9yZWcoZW51bSBpbnRlbF9lbmdpbmVfaWQgeCwgZW51bSBpbnRl bF9lbmdpbmVfaWQgeSk7CisKIHZvaWQgaW50ZWxfZW5naW5lX3NldHVwX2NvbW1vbihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwogaW50IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwogCi0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==