From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH v8 05/13] drm/i915: enumerate scratch fields Date: Tue, 9 Jul 2019 15:33:43 +0300 Message-ID: <20190709123351.5645-6-lionel.g.landwerlin@intel.com> References: <20190709123351.5645-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id D0F7F896F7 for ; Tue, 9 Jul 2019 12:34:18 +0000 (UTC) In-Reply-To: <20190709123351.5645-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 V2UgaGF2ZSBhIGJ1bmNoIG9mIG9mZnNldHMgaW4gdGhlIHNjcmF0Y2ggYnVmZmVyLiBBcyB3ZSdy ZSBhYm91dCB0bwphZGQgc29tZSBtb3JlLCBsZXQncyBncm91cCBhbGwgb2YgdGhlIG9mZnNldHMg aW4gYSBjb21tb24gbG9jYXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBMaW9uZWwgTGFuZHdlcmxpbiA8 bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9ndC5oICAgICAgICAgfCAgNiArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZ3RfdHlwZXMuaCAgIHwgMTUgKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2xyYy5jICAgICAgICB8IDI0ICsrKysrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgfCAzMSArKysrKysrKysrKysrKystLS0tLS0t CiA0IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCmluZGV4IGNmM2M2Y2VjYzhlZS4uZDljZTE3NzViZTUz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgKQEAgLTI0LDkgKzI0LDExIEBAIHZvaWQg aW50ZWxfZ3RfY2hpcHNldF9mbHVzaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KTsKIGludCBpbnRlbF9n dF9pbml0X3NjcmF0Y2goc3RydWN0IGludGVsX2d0ICpndCwgdW5zaWduZWQgaW50IHNpemUpOwog dm9pZCBpbnRlbF9ndF9maW5pX3NjcmF0Y2goc3RydWN0IGludGVsX2d0ICpndCk7CiAKLXN0YXRp YyBpbmxpbmUgdTMyIGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpbnRlbF9n dCAqZ3QpCitzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChjb25zdCBz dHJ1Y3QgaW50ZWxfZ3QgKmd0LAorCQkJCQkgIGVudW0gaW50ZWxfZ3Rfc2NyYXRjaF9maWVsZCBm aWVsZCkKIHsKLQlyZXR1cm4gaTkxNV9nZ3R0X29mZnNldChndC0+c2NyYXRjaCk7CisKKwlyZXR1 cm4gaTkxNV9nZ3R0X29mZnNldChndC0+c2NyYXRjaCkgKyBmaWVsZDsKIH0KIAogI2VuZGlmIC8q IF9fSU5URUxfR1RfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9ndF90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMu aAppbmRleCAzN2RhNDI4YmVmNjIuLjM1NjNjZTk3MDEwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9ndF90eXBlcy5oCkBAIC02MCw0ICs2MCwxOSBAQCBzdHJ1Y3QgaW50ZWxfZ3Qg ewogCXUzMiBwbV9pZXI7CiB9OwogCitlbnVtIGludGVsX2d0X3NjcmF0Y2hfZmllbGQgeworCS8q IDggYnl0ZXMgKi8KKwlJTlRFTF9HVF9TQ1JBVENIX0ZJRUxEX0RFRkFVTFQgPSAwLAorCisJLyog OCBieXRlcyAqLworCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfQ0xFQVJfU0xNX1dBID0gMTI4LAor CisJLyogOCBieXRlcyAqLworCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfUkVOREVSX0ZMVVNIID0g MTI4LAorCisJLyogOCBieXRlcyAqLworCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfQ09IRVJFTlRM M19XQSA9IDI1NiwKKworfTsKKwogI2VuZGlmIC8qIF9fSU5URUxfR1RfVFlQRVNfSF9fICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCmluZGV4IGUxYWUxMzk5YzcyYi4uODdkMjYzZjky Y2Y0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwpAQCAtMTc4Miw3ICsxNzgyLDgg QEAgZ2VuOF9lbWl0X2ZsdXNoX2NvaGVyZW50bDNfd2Eoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLCB1MzIgKmJhdGNoKQogCS8qIE5CIG5vIG9uZSBlbHNlIGlzIGFsbG93ZWQgdG8gc2Ny aWJibGUgb3ZlciBzY3JhdGNoICsgMjU2ISAqLwogCSpiYXRjaCsrID0gTUlfU1RPUkVfUkVHSVNU RVJfTUVNX0dFTjggfCBNSV9TUk1fTFJNX0dMT0JBTF9HVFQ7CiAJKmJhdGNoKysgPSBpOTE1X21t aW9fcmVnX29mZnNldChHRU44X0wzU1FDUkVHNCk7Ci0JKmJhdGNoKysgPSBpbnRlbF9ndF9zY3Jh dGNoX29mZnNldChlbmdpbmUtPmd0KSArIDI1NjsKKwkqYmF0Y2grKyA9IGludGVsX2d0X3NjcmF0 Y2hfb2Zmc2V0KGVuZ2luZS0+Z3QsCisJCQkJCSAgIElOVEVMX0dUX1NDUkFUQ0hfRklFTERfQ09I RVJFTlRMM19XQSk7CiAJKmJhdGNoKysgPSAwOwogCiAJKmJhdGNoKysgPSBNSV9MT0FEX1JFR0lT VEVSX0lNTSgxKTsKQEAgLTE3OTYsNyArMTc5Nyw4IEBAIGdlbjhfZW1pdF9mbHVzaF9jb2hlcmVu dGwzX3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAogCSpi YXRjaCsrID0gTUlfTE9BRF9SRUdJU1RFUl9NRU1fR0VOOCB8IE1JX1NSTV9MUk1fR0xPQkFMX0dU VDsKIAkqYmF0Y2grKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KEdFTjhfTDNTUUNSRUc0KTsKLQkq YmF0Y2grKyA9IGludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KGVuZ2luZS0+Z3QpICsgMjU2OworCSpi YXRjaCsrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5ndCwKKwkJCQkJICAgSU5U RUxfR1RfU0NSQVRDSF9GSUVMRF9DT0hFUkVOVEwzX1dBKTsKIAkqYmF0Y2grKyA9IDA7CiAKIAly ZXR1cm4gYmF0Y2g7CkBAIC0xODI4LDEzICsxODMwLDE0IEBAIHN0YXRpYyB1MzIgKmdlbjhfaW5p dF9pbmRpcmVjdGN0eF9iYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiAqYmF0 Y2gpCiAKIAkvKiBXYUNsZWFyU2xtU3BhY2VBdENvbnRleHRTd2l0Y2g6YmR3LGNodiAqLwogCS8q IEFjdHVhbCBzY3JhdGNoIGxvY2F0aW9uIGlzIGF0IDEyOCBieXRlcyBvZmZzZXQgKi8KLQliYXRj aCA9IGdlbjhfZW1pdF9waXBlX2NvbnRyb2woYmF0Y2gsCi0JCQkJICAgICAgIFBJUEVfQ09OVFJP TF9GTFVTSF9MMyB8Ci0JCQkJICAgICAgIFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUX0lWQiB8Ci0J CQkJICAgICAgIFBJUEVfQ09OVFJPTF9DU19TVEFMTCB8Ci0JCQkJICAgICAgIFBJUEVfQ09OVFJP TF9RV19XUklURSwKLQkJCQkgICAgICAgaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQoZW5naW5lLT5n dCkgKwotCQkJCSAgICAgICAyICogQ0FDSEVMSU5FX0JZVEVTKTsKKwliYXRjaCA9IGdlbjhfZW1p dF9waXBlX2NvbnRyb2woCisJCWJhdGNoLAorCQlQSVBFX0NPTlRST0xfRkxVU0hfTDMgfAorCQlQ SVBFX0NPTlRST0xfR0xPQkFMX0dUVF9JVkIgfAorCQlQSVBFX0NPTlRST0xfQ1NfU1RBTEwgfAor CQlQSVBFX0NPTlRST0xfUVdfV1JJVEUsCisJCWludGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KGVuZ2lu ZS0+Z3QsCisJCQkJCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfQ0xFQVJfU0xNX1dBKSk7CiAKIAkq YmF0Y2grKyA9IE1JX0FSQl9PTl9PRkYgfCBNSV9BUkJfRU5BQkxFOwogCkBAIC0yNTI4LDcgKzI1 MzEsOCBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9mbHVzaF9yZW5kZXIoc3RydWN0IGk5MTVfcmVx dWVzdCAqcmVxdWVzdCwKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXF1 ZXN0LT5lbmdpbmU7CiAJdTMyIHNjcmF0Y2hfYWRkciA9Ci0JCWludGVsX2d0X3NjcmF0Y2hfb2Zm c2V0KGVuZ2luZS0+Z3QpICsgMiAqIENBQ0hFTElORV9CWVRFUzsKKwkJaW50ZWxfZ3Rfc2NyYXRj aF9vZmZzZXQoZW5naW5lLT5ndCwKKwkJCQkJSU5URUxfR1RfU0NSQVRDSF9GSUVMRF9SRU5ERVJf RkxVU0gpOwogCWJvb2wgdmZfZmx1c2hfd2EgPSBmYWxzZSwgZGNfZmx1c2hfd2EgPSBmYWxzZTsK IAl1MzIgKmNzLCBmbGFncyA9IDA7CiAJaW50IGxlbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBiMzNjZmM1NmY2MjMuLmE5ODY1MmU0MDU1YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtNzYsNyArNzYs OCBAQCBnZW4yX3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIg bW9kZSkKIAkqY3MrKyA9IGNtZDsKIAl3aGlsZSAobnVtX3N0b3JlX2R3LS0pIHsKIAkJKmNzKysg PSBNSV9TVE9SRV9EV09SRF9JTU0gfCBNSV9NRU1fVklSVFVBTDsKLQkJKmNzKysgPSBpbnRlbF9n dF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCk7CisJCSpjcysrID0gaW50ZWxfZ3Rfc2Ny YXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QsCisJCQkJCQlJTlRFTF9HVF9TQ1JBVENIX0ZJRUxE X0RFRkFVTFQpOwogCQkqY3MrKyA9IDA7CiAJfQogCSpjcysrID0gTUlfRkxVU0ggfCBNSV9OT19X UklURV9GTFVTSDsKQEAgLTE0OSw3ICsxNTAsOCBAQCBnZW40X3JlbmRlcl9yaW5nX2ZsdXNoKHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgbW9kZSkKIAkgKi8KIAlpZiAobW9kZSAmIEVNSVRf SU5WQUxJREFURSkgewogCQkqY3MrKyA9IEdGWF9PUF9QSVBFX0NPTlRST0woNCkgfCBQSVBFX0NP TlRST0xfUVdfV1JJVEU7Ci0JCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVu Z2luZS0+Z3QpIHwKKwkJKmNzKysgPSBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5l LT5ndCwKKwkJCQkJCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfREVGQVVMVCkgfAogCQkJUElQRV9D T05UUk9MX0dMT0JBTF9HVFQ7CiAJCSpjcysrID0gMDsKIAkJKmNzKysgPSAwOwpAQCAtMTU4LDcg KzE2MCw4IEBAIGdlbjRfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEs IHUzMiBtb2RlKQogCQkJKmNzKysgPSBNSV9GTFVTSDsKIAogCQkqY3MrKyA9IEdGWF9PUF9QSVBF X0NPTlRST0woNCkgfCBQSVBFX0NPTlRST0xfUVdfV1JJVEU7Ci0JCSpjcysrID0gaW50ZWxfZ3Rf c2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpIHwKKwkJKmNzKysgPSBpbnRlbF9ndF9zY3Jh dGNoX29mZnNldChycS0+ZW5naW5lLT5ndCwKKwkJCQkJCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERf REVGQVVMVCkgfAogCQkJUElQRV9DT05UUk9MX0dMT0JBTF9HVFQ7CiAJCSpjcysrID0gMDsKIAkJ KmNzKysgPSAwOwpAQCAtMjEyLDcgKzIxNSw4IEBAIHN0YXRpYyBpbnQKIGdlbjZfZW1pdF9wb3N0 X3N5bmNfbm9uemVyb19mbHVzaChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAl1MzIgc2Ny YXRjaF9hZGRyID0KLQkJaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpICsg MiAqIENBQ0hFTElORV9CWVRFUzsKKwkJaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2lu ZS0+Z3QsCisJCQkJCUlOVEVMX0dUX1NDUkFUQ0hfRklFTERfUkVOREVSX0ZMVVNIKTsKIAl1MzIg KmNzOwogCiAJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCA2KTsKQEAgLTI0Niw3ICsyNTAsOCBA QCBzdGF0aWMgaW50CiBnZW42X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLCB1MzIgbW9kZSkKIHsKIAl1MzIgc2NyYXRjaF9hZGRyID0KLQkJaW50ZWxfZ3Rfc2NyYXRj aF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpICsgMiAqIENBQ0hFTElORV9CWVRFUzsKKwkJaW50ZWxf Z3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QsCisJCQkJCUlOVEVMX0dUX1NDUkFUQ0hf RklFTERfUkVOREVSX0ZMVVNIKTsKIAl1MzIgKmNzLCBmbGFncyA9IDA7CiAJaW50IHJldDsKIApA QCAtMzA0LDcgKzMwOSw4IEBAIHN0YXRpYyB1MzIgKmdlbjZfcmNzX2VtaXRfYnJlYWRjcnVtYihz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyICpjcykKIAogCSpjcysrID0gR0ZYX09QX1BJUEVf Q09OVFJPTCg0KTsKIAkqY3MrKyA9IFBJUEVfQ09OVFJPTF9RV19XUklURTsKLQkqY3MrKyA9IGlu dGVsX2d0X3NjcmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KSB8CisJKmNzKysgPSBpbnRlbF9n dF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCwKKwkJCQkJSU5URUxfR1RfU0NSQVRDSF9G SUVMRF9ERUZBVUxUKSB8CiAJCVBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUOwogCSpjcysrID0gMDsK IApAQCAtMzQ5LDcgKzM1NSw4IEBAIHN0YXRpYyBpbnQKIGdlbjdfcmVuZGVyX3JpbmdfZmx1c2go c3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBtb2RlKQogewogCXUzMiBzY3JhdGNoX2FkZHIg PQotCQlpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCkgKyAyICogQ0FDSEVM SU5FX0JZVEVTOworCQlpbnRlbF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCwKKwkJ CQkJSU5URUxfR1RfU0NSQVRDSF9GSUVMRF9SRU5ERVJfRkxVU0gpOwogCXUzMiAqY3MsIGZsYWdz ID0gMDsKIAogCS8qCkBAIC0xMDc4LDcgKzEwODUsOSBAQCBpODMwX2VtaXRfYmJfc3RhcnQoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJCSAgIHU2NCBvZmZzZXQsIHUzMiBsZW4sCiAJCSAgIHVu c2lnbmVkIGludCBkaXNwYXRjaF9mbGFncykKIHsKLQl1MzIgKmNzLCBjc19vZmZzZXQgPSBpbnRl bF9ndF9zY3JhdGNoX29mZnNldChycS0+ZW5naW5lLT5ndCk7CisJdTMyICpjcywgY3Nfb2Zmc2V0 ID0KKwkJaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QsCisJCQkJCUlOVEVM X0dUX1NDUkFUQ0hfRklFTERfREVGQVVMVCk7CiAKIAlHRU1fQlVHX09OKHJxLT5lbmdpbmUtPmd0 LT5zY3JhdGNoLT5zaXplIDwgSTgzMF9XQV9TSVpFKTsKIApAQCAtMTUyMiw3ICsxNTMxLDggQEAg c3RhdGljIGludCBmbHVzaF9wZF9kaXIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJLyogU3Rh bGwgdW50aWwgdGhlIHBhZ2UgdGFibGUgbG9hZCBpcyBjb21wbGV0ZSAqLwogCSpjcysrID0gTUlf U1RPUkVfUkVHSVNURVJfTUVNIHwgTUlfU1JNX0xSTV9HTE9CQUxfR1RUOwogCSpjcysrID0gaTkx NV9tbWlvX3JlZ19vZmZzZXQoUklOR19QUF9ESVJfQkFTRShlbmdpbmUtPm1taW9fYmFzZSkpOwot CSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QpOworCSpjcysr ID0gaW50ZWxfZ3Rfc2NyYXRjaF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QsCisJCQkJCUlOVEVMX0dU X1NDUkFUQ0hfRklFTERfREVGQVVMVCk7CiAJKmNzKysgPSBNSV9OT09QOwogCiAJaW50ZWxfcmlu Z19hZHZhbmNlKHJxLCBjcyk7CkBAIC0xNjM4LDcgKzE2NDgsOCBAQCBzdGF0aWMgaW5saW5lIGlu dCBtaV9zZXRfY29udGV4dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdTMyIGZsYWdzKQogCQkJ LyogSW5zZXJ0IGEgZGVsYXkgYmVmb3JlIHRoZSBuZXh0IHN3aXRjaCEgKi8KIAkJCSpjcysrID0g TUlfU1RPUkVfUkVHSVNURVJfTUVNIHwgTUlfU1JNX0xSTV9HTE9CQUxfR1RUOwogCQkJKmNzKysg PSBpOTE1X21taW9fcmVnX29mZnNldChsYXN0X3JlZyk7Ci0JCQkqY3MrKyA9IGludGVsX2d0X3Nj cmF0Y2hfb2Zmc2V0KHJxLT5lbmdpbmUtPmd0KTsKKwkJCSpjcysrID0gaW50ZWxfZ3Rfc2NyYXRj aF9vZmZzZXQocnEtPmVuZ2luZS0+Z3QsCisJCQkJCQkJSU5URUxfR1RfU0NSQVRDSF9GSUVMRF9E RUZBVUxUKTsKIAkJCSpjcysrID0gTUlfTk9PUDsKIAkJfQogCQkqY3MrKyA9IE1JX0FSQl9PTl9P RkYgfCBNSV9BUkJfRU5BQkxFOwotLSAKMi4yMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=