From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH libdrm 8/8] add syncobj timeline tests v3 Date: Mon, 1 Apr 2019 17:58:38 +0800 Message-ID: <20190401095838.10165-8-david1.zhou@amd.com> References: <20190401095838.10165-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190401095838.10165-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christian.Koenig-5C7GfCeVMHo@public.gmane.org, lionel.g.landwerlin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org djI6IGRyb3AgRFJNX1NZTkNPQkpfQ1JFQVRFX1RZUEVfVElNRUxJTkUsIGZpeCB0aW1lb3V0IGNh bGN1bGF0aW9uLAogICAgZml4IHNvbWUgd2FybmluZ3MKdjM6IGFkZCBleHBvcnQvaW1wb3J0IGFu ZCBjcHUgc2lnbmFsIHRlc3RpbmcgY2FzZXMKClNpZ25lZC1vZmYtYnk6IENodW5taW5nIFpob3Ug PGRhdmlkMS56aG91QGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KLS0tCiB0ZXN0cy9hbWRncHUvTWFrZWZpbGUuYW0gICAg IHwgICAzICstCiB0ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYyAgIHwgIDEyICsrCiB0ZXN0cy9h bWRncHUvYW1kZ3B1X3Rlc3QuaCAgIHwgIDIxICsrKwogdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxk ICAgICB8ICAgMiArLQogdGVzdHMvYW1kZ3B1L3N5bmNvYmpfdGVzdHMuYyB8IDI5MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAzMjYgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9hbWRncHUv c3luY29ial90ZXN0cy5jCgpkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtIGIv dGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCmluZGV4IDQ0N2ZmMjE3Li5kM2ZiZTJiYiAxMDA2NDQK LS0tIGEvdGVzdHMvYW1kZ3B1L01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL2FtZGdwdS9NYWtlZmls ZS5hbQpAQCAtMzMsNCArMzMsNSBAQCBhbWRncHVfdGVzdF9TT1VSQ0VTID0gXAogCXZjbl90ZXN0 cy5jIFwKIAl1dmVfaWIuaCBcCiAJZGVhZGxvY2tfdGVzdHMuYyBcCi0Jdm1fdGVzdHMuYworCXZt X3Rlc3RzLmMgXAorCXN5bmNvYmpfdGVzdHMuYwpkaWZmIC0tZ2l0IGEvdGVzdHMvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmMgYi90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuYwppbmRleCBhNzkzY2E3ZC4u NDM3Nzk4OGQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5jCisrKyBiL3Rl c3RzL2FtZGdwdS9hbWRncHVfdGVzdC5jCkBAIC01Niw2ICs1Niw3IEBACiAjZGVmaW5lIFVWRF9F TkNfVEVTVFNfU1RSICJVVkQgRU5DIFRlc3RzIgogI2RlZmluZSBERUFETE9DS19URVNUU19TVFIg IkRlYWRsb2NrIFRlc3RzIgogI2RlZmluZSBWTV9URVNUU19TVFIgIlZNIFRlc3RzIgorI2RlZmlu ZSBTWU5DT0JKX1RJTUVMSU5FX1RFU1RTX1NUUiAiU1lOQ09CSiBUSU1FTElORSBUZXN0cyIKIAog LyoqCiAgKiAgT3BlbiBoYW5kbGVzIGZvciBhbWRncHUgZGV2aWNlcwpAQCAtMTE2LDYgKzExNywx MiBAQCBzdGF0aWMgQ1VfU3VpdGVJbmZvIHN1aXRlc1tdID0gewogCQkucENsZWFudXBGdW5jID0g c3VpdGVfdm1fdGVzdHNfY2xlYW4sCiAJCS5wVGVzdHMgPSB2bV90ZXN0cywKIAl9LAorCXsKKwkJ LnBOYW1lID0gU1lOQ09CSl9USU1FTElORV9URVNUU19TVFIsCisJCS5wSW5pdEZ1bmMgPSBzdWl0 ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2luaXQsCisJCS5wQ2xlYW51cEZ1bmMgPSBzdWl0ZV9z eW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2NsZWFuLAorCQkucFRlc3RzID0gc3luY29ial90aW1lbGlu ZV90ZXN0cywKKwl9LAogCiAJQ1VfU1VJVEVfSU5GT19OVUxMLAogfTsKQEAgLTE2NSw2ICsxNzIs MTEgQEAgc3RhdGljIFN1aXRlc19BY3RpdmVfU3RhdHVzIHN1aXRlc19hY3RpdmVfc3RhdFtdID0g ewogCQkJLnBOYW1lID0gVk1fVEVTVFNfU1RSLAogCQkJLnBBY3RpdmUgPSBzdWl0ZV92bV90ZXN0 c19lbmFibGUsCiAJCX0sCisJCXsKKwkJCS5wTmFtZSA9IFNZTkNPQkpfVElNRUxJTkVfVEVTVFNf U1RSLAorCQkJLnBBY3RpdmUgPSBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2VuYWJsZSwK KwkJfSwKKwogfTsKIAogCmRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaCBi L3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oCmluZGV4IGFmODFlZWE4Li4yNGQ2NGI2NCAxMDA2 NDQKLS0tIGEvdGVzdHMvYW1kZ3B1L2FtZGdwdV90ZXN0LmgKKysrIGIvdGVzdHMvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmgKQEAgLTE5NCw2ICsxOTQsMjcgQEAgQ1VfQk9PTCBzdWl0ZV92bV90ZXN0c19l bmFibGUodm9pZCk7CiAgKi8KIGV4dGVybiBDVV9UZXN0SW5mbyB2bV90ZXN0c1tdOwogCisvKioK KyAqIEluaXRpYWxpemUgc3luY29iaiB0aW1lbGluZSB0ZXN0IHN1aXRlCisgKi8KK2ludCBzdWl0 ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3RzX2luaXQoKTsKKworLyoqCisgKiBEZWluaXRpYWxpemUg c3luY29iaiB0aW1lbGluZSB0ZXN0IHN1aXRlCisgKi8KK2ludCBzdWl0ZV9zeW5jb2JqX3RpbWVs aW5lX3Rlc3RzX2NsZWFuKCk7CisKKy8qKgorICogRGVjaWRlIGlmIHRoZSBzdWl0ZSBpcyBlbmFi bGVkIGJ5IGRlZmF1bHQgb3Igbm90LgorICovCitDVV9CT09MIHN1aXRlX3N5bmNvYmpfdGltZWxp bmVfdGVzdHNfZW5hYmxlKHZvaWQpOworCisvKioKKyAqIFRlc3RzIGluIHN5bmNvYmogdGltZWxp bmUgdGVzdCBzdWl0ZQorICovCitleHRlcm4gQ1VfVGVzdEluZm8gc3luY29ial90aW1lbGluZV90 ZXN0c1tdOworCisKIC8qKgogICogSGVscGVyIGZ1bmN0aW9ucwogICovCmRpZmYgLS1naXQgYS90 ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQgYi90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQKaW5kZXgg NGMxMjM3YzYuLjNjZWVjNzE1IDEwMDY0NAotLS0gYS90ZXN0cy9hbWRncHUvbWVzb24uYnVpbGQK KysrIGIvdGVzdHMvYW1kZ3B1L21lc29uLmJ1aWxkCkBAIC0yNCw3ICsyNCw3IEBAIGlmIGRlcF9j dW5pdC5mb3VuZCgpCiAgICAgZmlsZXMoCiAgICAgICAnYW1kZ3B1X3Rlc3QuYycsICdiYXNpY190 ZXN0cy5jJywgJ2JvX3Rlc3RzLmMnLCAnY3NfdGVzdHMuYycsCiAgICAgICAndmNlX3Rlc3RzLmMn LCAndXZkX2VuY190ZXN0cy5jJywgJ3Zjbl90ZXN0cy5jJywgJ2RlYWRsb2NrX3Rlc3RzLmMnLAot ICAgICAgJ3ZtX3Rlc3RzLmMnLAorICAgICAgJ3ZtX3Rlc3RzLmMnLCAnc3luY29ial90ZXN0cy5j JywKICAgICApLAogICAgIGRlcGVuZGVuY2llcyA6IFtkZXBfY3VuaXQsIGRlcF90aHJlYWRzXSwK ICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogW2luY19yb290LCBpbmNfZHJtLCBpbmNsdWRlX2Rp cmVjdG9yaWVzKCcuLi8uLi9hbWRncHUnKV0sCmRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvc3lu Y29ial90ZXN0cy5jIGIvdGVzdHMvYW1kZ3B1L3N5bmNvYmpfdGVzdHMuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYTBjNjI3ZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0 cy9hbWRncHUvc3luY29ial90ZXN0cy5jCkBAIC0wLDAgKzEsMjkwIEBACisvKgorICogQ29weXJp Z2h0IDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICoKKyAqIFBlcm1pc3Npb24g aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu ZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlv biBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0 aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJp Z2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1 YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8g cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBk byBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFi b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg aW5jbHVkZWQgaW4KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl IFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRI T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJ TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwK KyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu ICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCisgKiBPVEhFUiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwK KyAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdB UkUgT1IgVEhFIFVTRSBPUgorICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoK KyovCisKKyNpbmNsdWRlICJDVW5pdC9CYXNpYy5oIgorCisjaW5jbHVkZSAiYW1kZ3B1X3Rlc3Qu aCIKKyNpbmNsdWRlICJhbWRncHVfZHJtLmgiCisjaW5jbHVkZSAiYW1kZ3B1X2ludGVybmFsLmgi CisjaW5jbHVkZSA8cHRocmVhZC5oPgorCitzdGF0aWMgIGFtZGdwdV9kZXZpY2VfaGFuZGxlIGRl dmljZV9oYW5kbGU7CitzdGF0aWMgIHVpbnQzMl90ICBtYWpvcl92ZXJzaW9uOworc3RhdGljICB1 aW50MzJfdCAgbWlub3JfdmVyc2lvbjsKKworc3RhdGljIHZvaWQgYW1kZ3B1X3N5bmNvYmpfdGlt ZWxpbmVfdGVzdCh2b2lkKTsKKworQ1VfQk9PTCBzdWl0ZV9zeW5jb2JqX3RpbWVsaW5lX3Rlc3Rz X2VuYWJsZSh2b2lkKQoreworCXJldHVybiBDVV9UUlVFOworfQorCitpbnQgc3VpdGVfc3luY29i al90aW1lbGluZV90ZXN0c19pbml0KHZvaWQpCit7CisJaW50IHI7CisKKwlyID0gYW1kZ3B1X2Rl dmljZV9pbml0aWFsaXplKGRybV9hbWRncHVbMF0sICZtYWpvcl92ZXJzaW9uLAorCQkJCSAgICZt aW5vcl92ZXJzaW9uLCAmZGV2aWNlX2hhbmRsZSk7CisKKwlpZiAocikgeworCQlpZiAoKHIgPT0g LUVBQ0NFUykgJiYgKGVycm5vID09IEVBQ0NFUykpCisJCQlwcmludGYoIlxuXG5FcnJvcjolcy4g IgorCQkJCSJIaW50OlRyeSB0byBydW4gdGhpcyB0ZXN0IHByb2dyYW0gYXMgcm9vdC4iLAorCQkJ CXN0cmVycm9yKGVycm5vKSk7CisJCXJldHVybiBDVUVfU0lOSVRfRkFJTEVEOworCX0KKworCXJl dHVybiBDVUVfU1VDQ0VTUzsKK30KKworaW50IHN1aXRlX3N5bmNvYmpfdGltZWxpbmVfdGVzdHNf Y2xlYW4odm9pZCkKK3sKKwlpbnQgciA9IGFtZGdwdV9kZXZpY2VfZGVpbml0aWFsaXplKGRldmlj ZV9oYW5kbGUpOworCisJaWYgKHIgPT0gMCkKKwkJcmV0dXJuIENVRV9TVUNDRVNTOworCWVsc2UK KwkJcmV0dXJuIENVRV9TQ0xFQU5fRkFJTEVEOworfQorCisKK0NVX1Rlc3RJbmZvIHN5bmNvYmpf dGltZWxpbmVfdGVzdHNbXSA9IHsKKwl7ICJzeW5jb2JqIHRpbWVsaW5lIHRlc3QiLCAgYW1kZ3B1 X3N5bmNvYmpfdGltZWxpbmVfdGVzdCB9LAorCUNVX1RFU1RfSU5GT19OVUxMLAorfTsKKworI2Rl ZmluZSBHRlhfQ09NUFVURV9OT1AgIDB4ZmZmZjEwMDAKKyNkZWZpbmUgU0RNQV9OT1AgIDB4MAor c3RhdGljIGludCBzeW5jb2JqX2NvbW1hbmRfc3VibWlzc2lvbl9oZWxwZXIodWludDMyX3Qgc3lu Y29ial9oYW5kbGUsIGJvb2wKKwkJCQkJICAgICB3YWl0X29yX3NpZ25hbCwgdWludDY0X3QgcG9p bnQpCit7CisJYW1kZ3B1X2NvbnRleHRfaGFuZGxlIGNvbnRleHRfaGFuZGxlOworCWFtZGdwdV9i b19oYW5kbGUgaWJfcmVzdWx0X2hhbmRsZTsKKwl2b2lkICppYl9yZXN1bHRfY3B1OworCXVpbnQ2 NF90IGliX3Jlc3VsdF9tY19hZGRyZXNzOworCXN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rIGNo dW5rc1syXTsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIGNodW5rX2RhdGE7CisJ c3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc3luY29iaiBzeW5jb2JqX2RhdGE7CisJc3RydWN0 IGFtZGdwdV9jc19mZW5jZSBmZW5jZV9zdGF0dXM7CisJYW1kZ3B1X2JvX2xpc3RfaGFuZGxlIGJv X2xpc3Q7CisJYW1kZ3B1X3ZhX2hhbmRsZSB2YV9oYW5kbGU7CisJdWludDMyX3QgZXhwaXJlZCwg ZmxhZ3M7CisJaW50IGksIHI7CisJdWludDY0X3Qgc2VxX25vOworCXN0YXRpYyB1aW50MzJfdCAq cHRyOworCisJciA9IGFtZGdwdV9jc19jdHhfY3JlYXRlKGRldmljZV9oYW5kbGUsICZjb250ZXh0 X2hhbmRsZSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJciA9IGFtZGdwdV9ib19hbGxv Y19hbmRfbWFwKGRldmljZV9oYW5kbGUsIDQwOTYsIDQwOTYsCisJCQkJICAgIEFNREdQVV9HRU1f RE9NQUlOX0dUVCwgMCwKKwkJCQkgICAgJmliX3Jlc3VsdF9oYW5kbGUsICZpYl9yZXN1bHRfY3B1 LAorCQkJCSAgICAmaWJfcmVzdWx0X21jX2FkZHJlc3MsICZ2YV9oYW5kbGUpOworCUNVX0FTU0VS VF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfZ2V0X2JvX2xpc3QoZGV2aWNlX2hhbmRsZSwg aWJfcmVzdWx0X2hhbmRsZSwgTlVMTCwKKwkJCSAgICAgICAmYm9fbGlzdCk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCisJcHRyID0gaWJfcmVzdWx0X2NwdTsKKworCWZvciAoaSA9IDA7IGkg PCAxNjsgKytpKQorCQlwdHJbaV0gPSB3YWl0X29yX3NpZ25hbCA/IEdGWF9DT01QVVRFX05PUDog U0RNQV9OT1A7CisKKwljaHVua3NbMF0uY2h1bmtfaWQgPSBBTURHUFVfQ0hVTktfSURfSUI7CisJ Y2h1bmtzWzBdLmxlbmd0aF9kdyA9IHNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19p YikgLyA0OworCWNodW5rc1swXS5jaHVua19kYXRhID0gKHVpbnQ2NF90KSh1aW50cHRyX3QpJmNo dW5rX2RhdGE7CisJY2h1bmtfZGF0YS5pYl9kYXRhLl9wYWQgPSAwOworCWNodW5rX2RhdGEuaWJf ZGF0YS52YV9zdGFydCA9IGliX3Jlc3VsdF9tY19hZGRyZXNzOworCWNodW5rX2RhdGEuaWJfZGF0 YS5pYl9ieXRlcyA9IDE2ICogNDsKKwljaHVua19kYXRhLmliX2RhdGEuaXBfdHlwZSA9IHdhaXRf b3Jfc2lnbmFsID8gQU1ER1BVX0hXX0lQX0dGWCA6CisJCUFNREdQVV9IV19JUF9ETUE7CisJY2h1 bmtfZGF0YS5pYl9kYXRhLmlwX2luc3RhbmNlID0gMDsKKwljaHVua19kYXRhLmliX2RhdGEucmlu ZyA9IDA7CisJY2h1bmtfZGF0YS5pYl9kYXRhLmZsYWdzID0gMDsKKworCWNodW5rc1sxXS5jaHVu a19pZCA9IHdhaXRfb3Jfc2lnbmFsID8KKwkJQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfVElNRUxJ TkVfV0FJVCA6CisJCUFNREdQVV9DSFVOS19JRF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTDsKKwlj aHVua3NbMV0ubGVuZ3RoX2R3ID0gc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3N5 bmNvYmopIC8gNDsKKwljaHVua3NbMV0uY2h1bmtfZGF0YSA9ICh1aW50NjRfdCkodWludHB0cl90 KSZzeW5jb2JqX2RhdGE7CisJc3luY29ial9kYXRhLmhhbmRsZSA9IHN5bmNvYmpfaGFuZGxlOwor CXN5bmNvYmpfZGF0YS5wb2ludCA9IHBvaW50OworCXN5bmNvYmpfZGF0YS5mbGFncyA9IERSTV9T WU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUOworCisJciA9IGFtZGdwdV9jc19zdWJt aXRfcmF3KGRldmljZV9oYW5kbGUsCisJCQkJIGNvbnRleHRfaGFuZGxlLAorCQkJCSBib19saXN0 LAorCQkJCSAyLAorCQkJCSBjaHVua3MsCisJCQkJICZzZXFfbm8pOworCUNVX0FTU0VSVF9FUVVB TChyLCAwKTsKKworCisJbWVtc2V0KCZmZW5jZV9zdGF0dXMsIDAsIHNpemVvZihzdHJ1Y3QgYW1k Z3B1X2NzX2ZlbmNlKSk7CisJZmVuY2Vfc3RhdHVzLmNvbnRleHQgPSBjb250ZXh0X2hhbmRsZTsK KwlmZW5jZV9zdGF0dXMuaXBfdHlwZSA9IHdhaXRfb3Jfc2lnbmFsID8gQU1ER1BVX0hXX0lQX0dG WDoKKwkJQU1ER1BVX0hXX0lQX0RNQTsKKwlmZW5jZV9zdGF0dXMuaXBfaW5zdGFuY2UgPSAwOwor CWZlbmNlX3N0YXR1cy5yaW5nID0gMDsKKwlmZW5jZV9zdGF0dXMuZmVuY2UgPSBzZXFfbm87CisK KwlyID0gYW1kZ3B1X2NzX3F1ZXJ5X2ZlbmNlX3N0YXR1cygmZmVuY2Vfc3RhdHVzLAorCQkJQU1E R1BVX1RJTUVPVVRfSU5GSU5JVEUsMCwgJmV4cGlyZWQpOworCUNVX0FTU0VSVF9FUVVBTChyLCAw KTsKKworCXIgPSBhbWRncHVfYm9fbGlzdF9kZXN0cm95KGJvX2xpc3QpOworCUNVX0FTU0VSVF9F UVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfYm9fdW5tYXBfYW5kX2ZyZWUoaWJfcmVzdWx0X2hh bmRsZSwgdmFfaGFuZGxlLAorCQkJCSAgICAgaWJfcmVzdWx0X21jX2FkZHJlc3MsIDQwOTYpOwor CUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXIgPSBhbWRncHVfY3NfY3R4X2ZyZWUoY29udGV4 dF9oYW5kbGUpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCXJldHVybiByOworfQorCitz dHJ1Y3Qgc3luY29ial9wb2ludCB7CisJdWludDMyX3Qgc3luY29ial9oYW5kbGU7CisJdWludDY0 X3QgcG9pbnQ7Cit9OworCitzdGF0aWMgdm9pZCAqc3luY29ial93YWl0KHZvaWQgKmRhdGEpCit7 CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgKnNwID0gKHN0cnVjdCBzeW5jb2JqX3BvaW50ICopZGF0 YTsKKwlpbnQgcjsKKworCXIgPSBzeW5jb2JqX2NvbW1hbmRfc3VibWlzc2lvbl9oZWxwZXIoc3At PnN5bmNvYmpfaGFuZGxlLCB0cnVlLAorCQkJCQkgICAgICBzcC0+cG9pbnQpOworCUNVX0FTU0VS VF9FUVVBTChyLCAwKTsKKworCXJldHVybiAodm9pZCAqKShsb25nKXI7Cit9CisKK3N0YXRpYyB2 b2lkICpzeW5jb2JqX3NpZ25hbCh2b2lkICpkYXRhKQoreworCXN0cnVjdCBzeW5jb2JqX3BvaW50 ICpzcCA9IChzdHJ1Y3Qgc3luY29ial9wb2ludCAqKWRhdGE7CisJaW50IHI7CisKKwlyID0gc3lu Y29ial9jb21tYW5kX3N1Ym1pc3Npb25faGVscGVyKHNwLT5zeW5jb2JqX2hhbmRsZSwgZmFsc2Us CisJCQkJCSAgICAgIHNwLT5wb2ludCk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJcmV0 dXJuICh2b2lkICopKGxvbmcpcjsKK30KKworc3RhdGljIHZvaWQgYW1kZ3B1X3N5bmNvYmpfdGlt ZWxpbmVfdGVzdCh2b2lkKQoreworCXN0YXRpYyBwdGhyZWFkX3Qgd2FpdF90aHJlYWQ7CisJc3Rh dGljIHB0aHJlYWRfdCBzaWduYWxfdGhyZWFkOworCXN0YXRpYyBwdGhyZWFkX3QgY190aHJlYWQ7 CisJc3RydWN0IHN5bmNvYmpfcG9pbnQgc3AxLCBzcDIsIHNwMzsKKwl1aW50MzJfdCBzeW5jb2Jq X2hhbmRsZTsKKwl1aW50NjRfdCBwYXlsb2FkOworCXVpbnQ2NF90IHdhaXRfcG9pbnQsIHNpZ25h bF9wb2ludDsKKwl1aW50NjRfdCB0aW1lb3V0OworCXN0cnVjdCB0aW1lc3BlYyB0cDsKKwlpbnQg ciwgc3luY19mZDsKKwl2b2lkICp0bXA7CisKKwlyID0gIGFtZGdwdV9jc19jcmVhdGVfc3luY29i ajIoZGV2aWNlX2hhbmRsZSwgMCwgJnN5bmNvYmpfaGFuZGxlKTsKKwlDVV9BU1NFUlRfRVFVQUwo ciwgMCk7CisKKwkvLyB3YWl0IG9uIHBvaW50IDUKKwlzcDEuc3luY29ial9oYW5kbGUgPSBzeW5j b2JqX2hhbmRsZTsKKwlzcDEucG9pbnQgPSA1OworCXIgPSBwdGhyZWFkX2NyZWF0ZSgmd2FpdF90 aHJlYWQsIE5VTEwsIHN5bmNvYmpfd2FpdCwgJnNwMSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDAp OworCisJLy8gc2lnbmFsIG9uIHBvaW50IDEwCisJc3AyLnN5bmNvYmpfaGFuZGxlID0gc3luY29i al9oYW5kbGU7CisJc3AyLnBvaW50ID0gMTA7CisJciA9IHB0aHJlYWRfY3JlYXRlKCZzaWduYWxf dGhyZWFkLCBOVUxMLCBzeW5jb2JqX3NpZ25hbCwgJnNwMik7CisJQ1VfQVNTRVJUX0VRVUFMKHIs IDApOworCisJciA9IHB0aHJlYWRfam9pbih3YWl0X3RocmVhZCwgJnRtcCk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTCh0bXAsIDApOworCisJciA9IHB0aHJlYWRf am9pbihzaWduYWxfdGhyZWFkLCAmdG1wKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisJQ1Vf QVNTRVJUX0VRVUFMKHRtcCwgMCk7CisKKwkvL3F1ZXJ5IHRpbWVsaW5lIHBheWxvYWQKKwlyID0g YW1kZ3B1X2NzX3N5bmNvYmpfcXVlcnkoZGV2aWNlX2hhbmRsZSwgJnN5bmNvYmpfaGFuZGxlLAor CQkJCSAgICAmcGF5bG9hZCwgMSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCUNVX0FTU0VS VF9FUVVBTChwYXlsb2FkLCAxMCk7CisKKwkvL3NpZ25hbCBvbiBwb2ludCAxNgorCXNwMy5zeW5j b2JqX2hhbmRsZSA9IHN5bmNvYmpfaGFuZGxlOworCXNwMy5wb2ludCA9IDE2OworCXIgPSBwdGhy ZWFkX2NyZWF0ZSgmY190aHJlYWQsIE5VTEwsIHN5bmNvYmpfc2lnbmFsLCAmc3AzKTsKKwlDVV9B U1NFUlRfRVFVQUwociwgMCk7CisJLy9DUFUgd2FpdCBvbiBwb2ludCAxNgorCXdhaXRfcG9pbnQg PSAxNjsKKwl0aW1lb3V0ID0gMDsKKwljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRw KTsKKwl0aW1lb3V0ID0gdHAudHZfc2VjICogMTAwMDAwMDAwMFVMTCArIHRwLnR2X25zZWM7CisJ dGltZW91dCArPSAweDEwMDAwMDAwMDAwOyAvLzEwcworCXIgPSBhbWRncHVfY3Nfc3luY29ial90 aW1lbGluZV93YWl0KGRldmljZV9oYW5kbGUsICZzeW5jb2JqX2hhbmRsZSwKKwkJCQkJICAgICZ3 YWl0X3BvaW50LCAxLCB0aW1lb3V0LAorCQkJCQkgICAgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19X QUlUX0FMTCB8CisJCQkJCSAgICBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1J VCwKKwkJCQkJICAgIE5VTEwpOworCisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCXIgPSBwdGhy ZWFkX2pvaW4oY190aHJlYWQsICZ0bXApOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKwlDVV9B U1NFUlRfRVFVQUwodG1wLCAwKTsKKworCS8vIGV4cG9ydCBwb2ludCAxNiBhbmQgaW1wb3J0IHRv IHBvaW50IDE4CisJciA9IGFtZGdwdV9jc19zeW5jb2JqX2V4cG9ydF9zeW5jX2ZpbGUyKGRldmlj ZV9oYW5kbGUsIHN5bmNvYmpfaGFuZGxlLAorCQkJCQkJMTYsCisJCQkJCQlEUk1fU1lOQ09CSl9X QUlUX0ZMQUdTX1dBSVRfRk9SX1NVQk1JVCwKKwkJCQkJCSZzeW5jX2ZkKTsKKwlDVV9BU1NFUlRf RVFVQUwociwgMCk7CisJciA9IGFtZGdwdV9jc19zeW5jb2JqX2ltcG9ydF9zeW5jX2ZpbGUyKGRl dmljZV9oYW5kbGUsIHN5bmNvYmpfaGFuZGxlLAorCQkJCQkJMTgsIHN5bmNfZmQpOworCUNVX0FT U0VSVF9FUVVBTChyLCAwKTsKKwlyID0gYW1kZ3B1X2NzX3N5bmNvYmpfcXVlcnkoZGV2aWNlX2hh bmRsZSwgJnN5bmNvYmpfaGFuZGxlLAorCQkJCSAgICAmcGF5bG9hZCwgMSk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCUNVX0FTU0VSVF9FUVVBTChwYXlsb2FkLCAxOCk7CisKKwkvLyBDUFUg c2lnbmFsIG9uIHBvaW50IDIwCisJc2lnbmFsX3BvaW50ID0gMjA7CisJciA9IGFtZGdwdV9jc19z eW5jb2JqX3RpbWVsaW5lX3NpZ25hbChkZXZpY2VfaGFuZGxlLCAmc3luY29ial9oYW5kbGUsCisJ CQkJCSAgICAgICZzaWduYWxfcG9pbnQsIDEpOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKwly ID0gYW1kZ3B1X2NzX3N5bmNvYmpfcXVlcnkoZGV2aWNlX2hhbmRsZSwgJnN5bmNvYmpfaGFuZGxl LAorCQkJCSAgICAmcGF5bG9hZCwgMSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDApOworCUNVX0FT U0VSVF9FUVVBTChwYXlsb2FkLCAyMCk7CisKKwlyID0gYW1kZ3B1X2NzX2Rlc3Ryb3lfc3luY29i aihkZXZpY2VfaGFuZGxlLCBzeW5jb2JqX2hhbmRsZSk7CisJQ1VfQVNTRVJUX0VRVUFMKHIsIDAp OworCit9Ci0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eA==