From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petri Latvala Subject: [PATCH i-g-t 1/5] Add support for subtest-specific documentation Date: Thu, 10 Aug 2017 11:44:38 +0300 Message-ID: <1502354682-28626-2-git-send-email-petri.latvala@intel.com> References: <1502354682-28626-1-git-send-email-petri.latvala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from johanna3.inet.fi (mta-out1.inet.fi [62.71.2.234]) by gabe.freedesktop.org (Postfix) with ESMTP id D122989259 for ; Thu, 10 Aug 2017 08:44:58 +0000 (UTC) In-Reply-To: <1502354682-28626-1-git-send-email-petri.latvala@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 VGhlIGN1cnJlbnQgZG9jdW1lbnRhdGlvbiBmb3IgdGVzdHMgaXMgbGltaXRlZCB0byBhIHNpbmds ZSBzdHJpbmcgcGVyCnRlc3QgYmluYXJ5LiBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgZG9j dW1lbnRpbmcgaW5kaXZpZHVhbApzdWJ0ZXN0cy4KClRoZSBzeW50YXggZm9yIHN1YnRlc3QgZG9j dW1lbnRhdGlvbiBpczoKCiAgIGlndF9kb2N1bWVudF9zdWJ0ZXN0KCJGcm9iIGtub2JzIHRvIHNl ZSBpZiBvbmUgb2YgdGhlICIKICAgICAgICAgICAgICAgICAgICAgICAgImNyb3NzYmVhbXMgd2ls bCBnbyBvdXQgb2Ygc2tldyBvbiB0aGUgIgogICAgICAgICAgICAgICAgICAgICAgICAidHJlYWRs ZS5cbiIpOwogICBpZ3Rfc3VidGVzdCgia25vYi1mcm9iYmluZy1hc2tldyIpCiAgICAgdGVzdF9m cm9iKCk7CgpvciB3aXRoIGEgZm9ybWF0IHN0cmluZzoKCiAgZm9yX2V4YW1wbGVfbG9vcChlKSB7 CiAgICBpZ3RfZG9jdW1lbnRfc3VidGVzdF9mKCJGcm9iICVzIHRvIHNlZSBpZiBvbmUgb2YgdGhl ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgImNyb3NzYmVhbXMgd2lsbCBnbyBvdXQgb2Yg c2tldyBvbiB0aGUgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAidHJlYWRsZS5cbiIsIGUt PnJlYWRhYmxlX25hbWUpOwogICAgaWd0X3N1YnRlc3RfZigiJXMtZnJvYi1hc2tldyIsIGUtPm5h bWUpCiAgICAgIHRlc3RfZnJvYihlKTsKICB9CgpUaGUgZG9jdW1lbnRhdGlvbiBjYW5ub3QgYmUg ZXh0cmFjdGVkIGZyb20ganVzdCBjb21tZW50cywgYmVjYXVzZQphc3NvY2lhdGluZyB0aGVtIHdp dGggdGhlIGNvcnJlY3Qgc3VidGVzdCBuYW1lIHdpbGwgdGhlbiByZXF1aXJlIGRvaW5nCnBhdHRl cm4gbWF0Y2hpbmcgaW4gdGhlIGRvY3VtZW50YXRpb24gZ2VuZXJhdG9yLCBmb3Igc3VidGVzdHMg d2hlcmUKdGhlIG5hbWUgaXMgZ2VuZXJhdGVkIGF0IHJ1bnRpbWUgdXNpbmcgaWd0X3N1YnRlc3Rf Zi4KCnYyOiBSZWJhc2UsIGNoYW5nZSBmdW5jdGlvbiBuYW1lIGluIGNvbW1pdCBtZXNzYWdlIHRv IG1hdGNoIGNvZGUKCnYzOiBGaXggY3VycmVudCBkb2N1bWVudGF0aW9uIHN0cmluZyB0cmFja2lu ZywgYWRkIG1pc3NpbmcgdmFfZW5kIChWaW5heSkKClNpZ25lZC1vZmYtYnk6IFBldHJpIExhdHZh bGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpBY2tlZC1ieTogTGVvIExpIDxzdW5wZW5nLmxp QGFtZC5jb20+CkFja2VkLWJ5OiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVzei5oaWxlckBpbnRl bC5jb20+Ci0tLQogbGliL2lndF9hdXguYyAgfCAgIDggKystLQogbGliL2lndF9jb3JlLmMgfCAx NDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiBsaWIvaWd0X2NvcmUuaCB8ICAgNiArKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2Vy dGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfYXV4LmMgYi9s aWIvaWd0X2F1eC5jCmluZGV4IGY0MjhmMTUuLmQ1NmY0MWYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rf YXV4LmMKKysrIGIvbGliL2lndF9hdXguYwpAQCAtMzExLDcgKzMxMSw3IEBAIHN0YXRpYyB2b2lk IHNpZ19oYW5kbGVyKGludCBpKQogICovCiB2b2lkIGlndF9mb3JrX3NpZ25hbF9oZWxwZXIodm9p ZCkKIHsKLQlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKQorCWlmIChpZ3Rfb25seV9jb2xs ZWN0X2RhdGEoKSkKIAkJcmV0dXJuOwogCiAJLyogV2UgcGljayBTSUdDT05UIGFzIGl0IGlzIGEg InNhZmUiIHNpZ25hbCAtIGlmIHdlIHNlbmQgU0lHQ09OVCB0bwpAQCAtMzQ0LDcgKzM0NCw3IEBA IHZvaWQgaWd0X2Zvcmtfc2lnbmFsX2hlbHBlcih2b2lkKQogICovCiB2b2lkIGlndF9zdG9wX3Np Z25hbF9oZWxwZXIodm9pZCkKIHsKLQlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKQorCWlm IChpZ3Rfb25seV9jb2xsZWN0X2RhdGEoKSkKIAkJcmV0dXJuOwogCiAJaWd0X3N0b3BfaGVscGVy KCZzaWduYWxfaGVscGVyKTsKQEAgLTM3NSw3ICszNzUsNyBAQCBzdGF0aWMgdm9pZCBfX2F0dHJp YnV0ZV9fKChub3JldHVybikpIHNocmlua19oZWxwZXJfcHJvY2VzcyhpbnQgZmQsIHBpZF90IHBp ZCkKICAqLwogdm9pZCBpZ3RfZm9ya19zaHJpbmtfaGVscGVyKGludCBkcm1fZmQpCiB7Ci0JYXNz ZXJ0KCFpZ3Rfb25seV9saXN0X3N1YnRlc3RzKCkpOworCWFzc2VydCghaWd0X29ubHlfY29sbGVj dF9kYXRhKCkpOwogCWlndF9yZXF1aXJlKGlndF9kcm9wX2NhY2hlc19oYXMoZHJtX2ZkLCBEUk9Q X1NIUklOS19BTEwpKTsKIAlpZ3RfZm9ya19oZWxwZXIoJnNocmlua19oZWxwZXIpCiAJCXNocmlu a19oZWxwZXJfcHJvY2Vzcyhkcm1fZmQsIGdldHBwaWQoKSk7CkBAIC00NzMsNyArNDczLDcgQEAg dm9pZCBpZ3Rfc3RvcF9oYW5nX2RldGVjdG9yKHZvaWQpCiAjZWxzZQogdm9pZCBpZ3RfZm9ya19o YW5nX2RldGVjdG9yKGludCBmZCkKIHsKLQlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKQor CWlmIChpZ3Rfb25seV9jb2xsZWN0X2RhdGEoKSkKIAkJcmV0dXJuOwogfQogCmRpZmYgLS1naXQg YS9saWIvaWd0X2NvcmUuYyBiL2xpYi9pZ3RfY29yZS5jCmluZGV4IGMwNDg4ZTkuLjdkYTkzNDAg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5jCisrKyBiL2xpYi9pZ3RfY29yZS5jCkBAIC05OSw3 ICs5OSw3IEBACiAgKgogICogVG8gYWxsb3cgdGhpcyBpLWctdCBwcm92aWRlcyAjaWd0X2ZpeHR1 cmUgY29kZSBibG9ja3MgZm9yIHNldHVwIGNvZGUgb3V0c2lkZQogICogb2Ygc3VidGVzdHMgYW5k IGF1dG9tYXRpY2FsbHkgc2tpcHMgdGhlIHN1YnRlc3QgY29kZSBibG9ja3MgdGhlbXNlbHZlcy4g Rm9yCi0gKiBzcGVjaWFsIGNhc2VzIGlndF9vbmx5X2xpc3Rfc3VidGVzdHMoKSBpcyBhbHNvIHBy b3ZpZGVkLiBGb3Igc2V0dXAgY29kZSBvbmx5CisgKiBzcGVjaWFsIGNhc2VzIGlndF9vbmx5X2Nv bGxlY3RfZGF0YSgpIGlzIGFsc28gcHJvdmlkZWQuIEZvciBzZXR1cCBjb2RlIG9ubHkKICAqIHNo YXJlZCBieSBhIGdyb3VwIG9mIHN1YnRlc3QgZW5jYXBzdWxhdGUgdGhlICNpZ3RfZml4dHVyZSBi bG9jayBhbmQgYWxsIHRoZQogICogc3VidGVzdGVzdCBpbiBhICNpZ3Rfc3VidGVzdF9ncm91cCBi bG9jay4KICAqCkBAIC0yNTMsOSArMjUzLDkgQEAgc3RhdGljIHVuc2lnbmVkIGludCBleGl0X2hh bmRsZXJfY291bnQ7CiBjb25zdCBjaGFyICppZ3RfaW50ZXJhY3RpdmVfZGVidWc7CiAKIC8qIHN1 YnRlc3RzIGhlbHBlcnMgKi8KLXN0YXRpYyBib29sIGxpc3Rfc3VidGVzdHMgPSBmYWxzZTsKLXN0 YXRpYyBjaGFyICpydW5fc2luZ2xlX3N1YnRlc3QgPSBOVUxMOwotc3RhdGljIGJvb2wgcnVuX3Np bmdsZV9zdWJ0ZXN0X2ZvdW5kID0gZmFsc2U7CitzdGF0aWMgY2hhciAqc2luZ2xlX3N1YnRlc3Qg PSBOVUxMOworc3RhdGljIGJvb2wgc2luZ2xlX3N1YnRlc3RfZm91bmQgPSBmYWxzZTsKK3N0YXRp YyBjaGFyICpjdXJyZW50X3N1YnRlc3RfZG9jdW1lbnRhdGlvbiA9IE5VTEw7CiBzdGF0aWMgY29u c3QgY2hhciAqaW5fc3VidGVzdCA9IE5VTEw7CiBzdGF0aWMgc3RydWN0IHRpbWVzcGVjIHN1YnRl c3RfdGltZTsKIHN0YXRpYyBjbG9ja2lkX3QgaWd0X2Nsb2NrID0gKGNsb2NraWRfdCktMTsKQEAg LTI2NSw2ICsyNjUsMTMgQEAgc3RhdGljIGJvb2wgaW5fYXRleGl0X2hhbmRsZXIgPSBmYWxzZTsK IHN0YXRpYyBlbnVtIHsKIAlDT05UID0gMCwgU0tJUCwgRkFJTAogfSBza2lwX3N1YnRlc3RzX2hl bmNlZm9ydGggPSBDT05UOworc3RhdGljIGVudW0geworCUVYRUNVVEVfQUxMLAorCUVYRUNVVEVf U0lOR0xFLAorCUxJU1RfU1VCVEVTVFMsCisJRE9DVU1FTlQsCisJRE9DVU1FTlRfU0lOR0xFCit9 IHJ1bm1vZGUgPSBFWEVDVVRFX0FMTDsKIAogYm9vbCBfX2lndF9wbGFpbl9vdXRwdXQgPSBmYWxz ZTsKIApAQCAtMjc3LDYgKzI4NCw4IEBAIGJvb2wgdGVzdF9jaGlsZDsKIGVudW0gewogIE9QVF9M SVNUX1NVQlRFU1RTLAogIE9QVF9SVU5fU1VCVEVTVCwKKyBPUFRfRE9DX1NVQlRFU1RTLAorIE9Q VF9ET0NfU0lOR0xFX1NVQlRFU1QsCiAgT1BUX0RFU0NSSVBUSU9OLAogIE9QVF9ERUJVRywKICBP UFRfSU5URVJBQ1RJVkVfREVCVUcsCkBAIC00NjksNyArNDc4LDcgQEAgYm9vbCBfX2lndF9maXh0 dXJlKHZvaWQpCiB7CiAJYXNzZXJ0KCFpbl9maXh0dXJlKTsKIAotCWlmIChpZ3Rfb25seV9saXN0 X3N1YnRlc3RzKCkpCisJaWYgKGlndF9vbmx5X2NvbGxlY3RfZGF0YSgpKQogCQlyZXR1cm4gZmFs c2U7CiAKIAlpZiAoc2tpcF9zdWJ0ZXN0c19oZW5jZWZvcnRoKQpAQCAtNTYzLDcgKzU3Miw3IEBA IHN0YXRpYyB2b2lkIGxvd19tZW1fa2lsbGVyX2Rpc2FibGUoYm9vbCBkaXNhYmxlKQogYm9vbCBp Z3RfZXhpdF9jYWxsZWQ7CiBzdGF0aWMgdm9pZCBjb21tb25fZXhpdF9oYW5kbGVyKGludCBzaWcp CiB7Ci0JaWYgKCFpZ3Rfb25seV9saXN0X3N1YnRlc3RzKCkpIHsKKwlpZiAoIWlndF9vbmx5X2Nv bGxlY3RfZGF0YSgpKSB7CiAJCWxvd19tZW1fa2lsbGVyX2Rpc2FibGUoZmFsc2UpOwogCQlraWNr X2ZiY29uKHRydWUpOwogCX0KQEAgLTU4Myw3ICs1OTIsNyBAQCBzdGF0aWMgdm9pZCBwcmludF92 ZXJzaW9uKHZvaWQpCiB7CiAJc3RydWN0IHV0c25hbWUgdXRzOwogCi0JaWYgKGxpc3Rfc3VidGVz dHMpCisJaWYgKGlndF9vbmx5X2NvbGxlY3RfZGF0YSgpKQogCQlyZXR1cm47CiAKIAl1bmFtZSgm dXRzKTsKQEAgLTU5OSw2ICs2MDgsOCBAQCBzdGF0aWMgdm9pZCBwcmludF91c2FnZShjb25zdCBj aGFyICpoZWxwX3N0ciwgYm9vbCBvdXRwdXRfb25fc3RkZXJyKQogCiAJZnByaW50ZihmLCAiVXNh Z2U6ICVzIFtPUFRJT05TXVxuIiwgY29tbWFuZF9zdHIpOwogCWZwcmludGYoZiwgIiAgLS1saXN0 LXN1YnRlc3RzXG4iCisJCSAgICIgIC0tZG9jdW1lbnQtYWxsLXN1YnRlc3RzXG4iCisJCSAgICIg IC0tZG9jdW1lbnQtc3VidGVzdCA8cGF0dGVybj5cbiIKIAkJICAgIiAgLS1ydW4tc3VidGVzdCA8 cGF0dGVybj5cbiIKIAkJICAgIiAgLS1kZWJ1Z1s9bG9nLWRvbWFpbl1cbiIKIAkJICAgIiAgLS1p bnRlcmFjdGl2ZS1kZWJ1Z1s9ZG9tYWluXVxuIgpAQCAtNzEwLDYgKzcyMSw4IEBAIHN0YXRpYyBp bnQgY29tbW9uX2luaXQoaW50ICphcmdjLCBjaGFyICoqYXJndiwKIAlzdGF0aWMgc3RydWN0IG9w dGlvbiBsb25nX29wdGlvbnNbXSA9IHsKIAkJeyJsaXN0LXN1YnRlc3RzIiwgMCwgMCwgT1BUX0xJ U1RfU1VCVEVTVFN9LAogCQl7InJ1bi1zdWJ0ZXN0IiwgMSwgMCwgT1BUX1JVTl9TVUJURVNUfSwK KwkJeyJkb2N1bWVudC1hbGwtc3VidGVzdHMiLCAwLCAwLCBPUFRfRE9DX1NVQlRFU1RTfSwKKwkJ eyJkb2N1bWVudC1zdWJ0ZXN0IiwgMSwgMCwgT1BUX0RPQ19TSU5HTEVfU1VCVEVTVH0sCiAJCXsi aGVscC1kZXNjcmlwdGlvbiIsIDAsIDAsIE9QVF9ERVNDUklQVElPTn0sCiAJCXsiZGVidWciLCBv cHRpb25hbF9hcmd1bWVudCwgMCwgT1BUX0RFQlVHfSwKIAkJeyJpbnRlcmFjdGl2ZS1kZWJ1ZyIs IG9wdGlvbmFsX2FyZ3VtZW50LCAwLCBPUFRfSU5URVJBQ1RJVkVfREVCVUd9LApAQCAtODAwLDEy ICs4MTMsMjQgQEAgc3RhdGljIGludCBjb21tb25faW5pdChpbnQgKmFyZ2MsIGNoYXIgKiphcmd2 LAogCQkJCWlndF9sb2dfZG9tYWluX2ZpbHRlciA9IHN0cmR1cChvcHRhcmcpOwogCQkJYnJlYWs7 CiAJCWNhc2UgT1BUX0xJU1RfU1VCVEVTVFM6Ci0JCQlpZiAoIXJ1bl9zaW5nbGVfc3VidGVzdCkK LQkJCQlsaXN0X3N1YnRlc3RzID0gdHJ1ZTsKKwkJCWlmIChydW5tb2RlID09IEVYRUNVVEVfQUxM KQorCQkJCXJ1bm1vZGUgPSBMSVNUX1NVQlRFU1RTOwogCQkJYnJlYWs7CiAJCWNhc2UgT1BUX1JV Tl9TVUJURVNUOgotCQkJaWYgKCFsaXN0X3N1YnRlc3RzKQotCQkJCXJ1bl9zaW5nbGVfc3VidGVz dCA9IHN0cmR1cChvcHRhcmcpOworCQkJaWYgKHJ1bm1vZGUgPT0gRVhFQ1VURV9BTEwpIHsKKwkJ CQlydW5tb2RlID0gRVhFQ1VURV9TSU5HTEU7CisJCQkJc2luZ2xlX3N1YnRlc3QgPSBzdHJkdXAo b3B0YXJnKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIE9QVF9ET0NfU1VCVEVTVFM6CisJCQlp ZiAocnVubW9kZSA9PSBFWEVDVVRFX0FMTCkKKwkJCQlydW5tb2RlID0gRE9DVU1FTlQ7CisJCQli cmVhazsKKwkJY2FzZSBPUFRfRE9DX1NJTkdMRV9TVUJURVNUOgorCQkJaWYgKHJ1bm1vZGUgPT0g RVhFQ1VURV9BTEwpIHsKKwkJCQlydW5tb2RlID0gRE9DVU1FTlRfU0lOR0xFOworCQkJCXNpbmds ZV9zdWJ0ZXN0ID0gc3RyZHVwKG9wdGFyZyk7CisJCQl9CiAJCQlicmVhazsKIAkJY2FzZSBPUFRf REVTQ1JJUFRJT046CiAJCQlwcmludF90ZXN0X2Rlc2NyaXB0aW9uKCk7CkBAIC04MzcsMTEgKzg2 MiwxMSBAQCBvdXQ6CiAJLyogZXhpdCBpbW1lZGlhdGVseSBpZiB0aGlzIHRlc3QgaGFzIG5vIHN1 YnRlc3RzIGFuZCBhIHN1YnRlc3Qgb3IgdGhlCiAJICogbGlzdCBvZiBzdWJ0ZXN0cyBoYXMgYmVl biByZXF1ZXN0ZWQgKi8KIAlpZiAoIXRlc3Rfd2l0aF9zdWJ0ZXN0cykgewotCQlpZiAocnVuX3Np bmdsZV9zdWJ0ZXN0KSB7Ci0JCQlpZ3Rfd2FybigiVW5rbm93biBzdWJ0ZXN0OiAlc1xuIiwgcnVu X3NpbmdsZV9zdWJ0ZXN0KTsKKwkJaWYgKHJ1bm1vZGUgPT0gRVhFQ1VURV9TSU5HTEUgfHwgcnVu bW9kZSA9PSBET0NVTUVOVF9TSU5HTEUpIHsKKwkJCWlndF93YXJuKCJVbmtub3duIHN1YnRlc3Q6 ICVzXG4iLCBzaW5nbGVfc3VidGVzdCk7CiAJCQlleGl0KElHVF9FWElUX0lOVkFMSUQpOwogCQl9 Ci0JCWlmIChsaXN0X3N1YnRlc3RzKQorCQlpZiAocnVubW9kZSA9PSBMSVNUX1NVQlRFU1RTIHx8 IHJ1bm1vZGUgPT0gRE9DVU1FTlQpCiAJCQlleGl0KElHVF9FWElUX0lOVkFMSUQpOwogCX0KIApA QCAtODQ5LDcgKzg3NCw3IEBAIG91dDoKIAkJLyogZXhpdCB3aXRoIG5vIGVycm9yIGZvciAtaC8t LWhlbHAgKi8KIAkJZXhpdChyZXQgPT0gLTEgPyAwIDogSUdUX0VYSVRfSU5WQUxJRCk7CiAKLQlp ZiAoIWxpc3Rfc3VidGVzdHMpIHsKKwlpZiAoIWlndF9vbmx5X2NvbGxlY3RfZGF0YSgpKSB7CiAJ CWtpY2tfZmJjb24oZmFsc2UpOwogCQlrbXNnKEtFUk5fSU5GTyAiW0lHVF0gJXM6IGV4ZWN1dGlu Z1xuIiwgY29tbWFuZF9zdHIpOwogCQlwcmludF92ZXJzaW9uKCk7CkBAIC05NTcsMTYgKzk4Miwz NyBAQCBib29sIF9faWd0X3J1bl9zdWJ0ZXN0KGNvbnN0IGNoYXIgKnN1YnRlc3RfbmFtZSkKIAkJ CWlndF9leGl0KCk7CiAJCX0KIAotCWlmIChsaXN0X3N1YnRlc3RzKSB7CisJaWYgKHJ1bm1vZGUg PT0gTElTVF9TVUJURVNUUykgewogCQlwcmludGYoIiVzXG4iLCBzdWJ0ZXN0X25hbWUpOwogCQly ZXR1cm4gZmFsc2U7CiAJfQogCi0JaWYgKHJ1bl9zaW5nbGVfc3VidGVzdCkgewotCQlpZiAodXdp bGRtYXQoc3VidGVzdF9uYW1lLCBydW5fc2luZ2xlX3N1YnRlc3QpID09IDApCisJaWYgKHJ1bm1v ZGUgPT0gRE9DVU1FTlQpIHsKKwkJaWYgKGN1cnJlbnRfc3VidGVzdF9kb2N1bWVudGF0aW9uKSB7 CisJCQlwcmludGYoIiVzOlxuXG4iLCBzdWJ0ZXN0X25hbWUpOworCQkJcHJpbnRmKCIlcyIsIGN1 cnJlbnRfc3VidGVzdF9kb2N1bWVudGF0aW9uKTsKKwkJCWZyZWUoY3VycmVudF9zdWJ0ZXN0X2Rv Y3VtZW50YXRpb24pOworCQkJY3VycmVudF9zdWJ0ZXN0X2RvY3VtZW50YXRpb24gPSBOVUxMOwor CQl9CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlpZiAocnVubW9kZSA9PSBFWEVDVVRFX1NJTkdM RSB8fCBydW5tb2RlID09IERPQ1VNRU5UX1NJTkdMRSkgeworCQlib29sIHN0b3AgPSBydW5tb2Rl ID09IERPQ1VNRU5UX1NJTkdMRTsKKworCQlpZiAodXdpbGRtYXQoc3VidGVzdF9uYW1lLCBzaW5n bGVfc3VidGVzdCkpIHsKKwkJCXN0b3AgPSB0cnVlOworCQkJc2luZ2xlX3N1YnRlc3RfZm91bmQg PSB0cnVlOworCisJCQlpZiAocnVubW9kZSA9PSBET0NVTUVOVF9TSU5HTEUgJiYgY3VycmVudF9z dWJ0ZXN0X2RvY3VtZW50YXRpb24pCisJCQkJcHJpbnRmKCIlcyIsIGN1cnJlbnRfc3VidGVzdF9k b2N1bWVudGF0aW9uKTsKKwkJfQorCisJCWZyZWUoY3VycmVudF9zdWJ0ZXN0X2RvY3VtZW50YXRp b24pOworCQljdXJyZW50X3N1YnRlc3RfZG9jdW1lbnRhdGlvbiA9IE5VTEw7CisKKwkJaWYgKHN0 b3ApCiAJCQlyZXR1cm4gZmFsc2U7Ci0JCWVsc2UKLQkJCXJ1bl9zaW5nbGVfc3VidGVzdF9mb3Vu ZCA9IHRydWU7CiAJfQogCiAJaWYgKHNraXBfc3VidGVzdHNfaGVuY2Vmb3J0aCkgewpAQCAtOTgz LDEwICsxMDI5LDUyIEBAIGJvb2wgX19pZ3RfcnVuX3N1YnRlc3QoY29uc3QgY2hhciAqc3VidGVz dF9uYW1lKQogCV9pZ3RfbG9nX2J1ZmZlcl9yZXNldCgpOwogCiAJZ2V0dGltZSgmc3VidGVzdF90 aW1lKTsKKwogCXJldHVybiAoaW5fc3VidGVzdCA9IHN1YnRlc3RfbmFtZSk7CiB9CiAKIC8qKgor ICogaWd0X2RvY3VtZW50X3N1YnRlc3Q6CisgKiBAZG9jdW1lbnRhdGlvbjogZG9jdW1lbnRhdGlv biBmb3IgdGhlIG5leHQgc3VidGVzdAorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgZG9j dW1lbnRhdGlvbiBzdHJpbmcgZm9yIHRoZSBuZXh0IG9jY3VycmluZyBzdWJ0ZXN0LgorICovCit2 b2lkIGlndF9kb2N1bWVudF9zdWJ0ZXN0KGNvbnN0IGNoYXIgKmRvY3VtZW50YXRpb24pCit7CisJ aWYgKHJ1bm1vZGUgPT0gRE9DVU1FTlQgfHwgcnVubW9kZSA9PSBET0NVTUVOVF9TSU5HTEUpIHsK KwkJZnJlZShjdXJyZW50X3N1YnRlc3RfZG9jdW1lbnRhdGlvbik7CisJCWN1cnJlbnRfc3VidGVz dF9kb2N1bWVudGF0aW9uID0gc3RyZHVwKGRvY3VtZW50YXRpb24pOworCX0KK30KKworLyoqCisg KiBpZ3RfZG9jdW1lbnRfc3VidGVzdF9mOgorICogQGRvY3VtZW50YXRpb246IERvY3VtZW50YXRp b24gZm9yIHRoZSBuZXh0IHN1YnRlc3QKKyAqIEAuLi46IGZvcm1hdCBzdHJpbmcgYW5kIG9wdGlv bmFsIGFyZ3VtZW50cworICoKKyAqIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgZG9jdW1lbnRhdGlv biBzdHJpbmcgZm9yIHRoZSBuZXh0IG9jY3VycmluZyBzdWJ0ZXN0LgorICoKKyAqIExpa2UgaWd0 X2RvY3VtZW50X3N1YnRlc3QoKSwgYnV0IGFsc28gYWNjZXB0cyBhIHByaW50ZiBmb3JtYXQKKyAq IHN0cmluZyBpbnN0ZWFkIG9mIGEgc3RhdGljIHN0cmluZy4KKyAqLworX19hdHRyaWJ1dGVfXygo Zm9ybWF0KHByaW50ZiwgMSwgMikpKQordm9pZCBpZ3RfZG9jdW1lbnRfc3VidGVzdF9mKGNvbnN0 IGNoYXIgKmRvY3VtZW50YXRpb24sIC4uLikKK3sKKwlpbnQgZXJyOworCXZhX2xpc3QgYXJnczsK KworCWlmIChydW5tb2RlID09IERPQ1VNRU5UIHx8IHJ1bm1vZGUgPT0gRE9DVU1FTlRfU0lOR0xF KSB7CisJCWZyZWUoY3VycmVudF9zdWJ0ZXN0X2RvY3VtZW50YXRpb24pOworCQl2YV9zdGFydChh cmdzLCBkb2N1bWVudGF0aW9uKTsKKwkJZXJyID0gdmFzcHJpbnRmKCZjdXJyZW50X3N1YnRlc3Rf ZG9jdW1lbnRhdGlvbiwgZG9jdW1lbnRhdGlvbiwgYXJncyk7CisJCXZhX2VuZChhcmdzKTsKKwkJ aWYgKGVyciA8IDApCisJCQljdXJyZW50X3N1YnRlc3RfZG9jdW1lbnRhdGlvbiA9IE5VTEw7CisJ fQorfQorCisKKy8qKgogICogaWd0X3N1YnRlc3RfbmFtZToKICAqCiAgKiBSZXR1cm5zOiBUaGUg bmFtZSBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGVkIHN1YnRlc3Qgb3IgTlVMTCBpZiBjYWxsZWQg ZnJvbQpAQCAtOTk4LDE0ICsxMDg2LDE0IEBAIGNvbnN0IGNoYXIgKmlndF9zdWJ0ZXN0X25hbWUo dm9pZCkKIH0KIAogLyoqCi0gKiBpZ3Rfb25seV9saXN0X3N1YnRlc3RzOgorICogaWd0X29ubHlf Y29sbGVjdF9kYXRhOgogICoKLSAqIFJldHVybnM6IFJldHVybnMgdHJ1ZSBpZiBvbmx5IHN1YnRl c3Qgc2hvdWxkIGJlIGxpc3RlZCBhbmQgYW55IHNldHVwIGNvZGUKKyAqIFJldHVybnM6IFJldHVy bnMgdHJ1ZSBpZiB0aGUgcnVubmluZyBtb2RlIGlzIG9ubHkgY29sbGVjdGluZyBkYXRhIGFuZCBh bnkgc2V0dXAgY29kZQogICogbXVzdCBiZSBza2lwcGVkLCBmYWxzZSBvdGhlcndpc2UuCiAgKi8K LWJvb2wgaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cyh2b2lkKQorYm9vbCBpZ3Rfb25seV9jb2xsZWN0 X2RhdGEodm9pZCkKIHsKLQlyZXR1cm4gbGlzdF9zdWJ0ZXN0czsKKwlyZXR1cm4gcnVubW9kZSAh PSBFWEVDVVRFX0FMTCAmJiBydW5tb2RlICE9IEVYRUNVVEVfU0lOR0xFOwogfQogCiB2b2lkIF9f aWd0X3N1YnRlc3RfZ3JvdXBfc2F2ZShpbnQgKnNhdmUpCkBAIC0xMDU5LDcgKzExNDcsNyBAQCB2 b2lkIGlndF9za2lwKGNvbnN0IGNoYXIgKmYsIC4uLikKIAogCWFzc2VydCghdGVzdF9jaGlsZCk7 CiAKLQlpZiAoIWlndF9vbmx5X2xpc3Rfc3VidGVzdHMoKSkgeworCWlmICghaWd0X29ubHlfY29s bGVjdF9kYXRhKCkpIHsKIAkJdmFfc3RhcnQoYXJncywgZik7CiAJCXZwcmludGYoZiwgYXJncyk7 CiAJCXZhX2VuZChhcmdzKTsKQEAgLTE0NDMsMTIgKzE1MzEsMTIgQEAgdm9pZCBpZ3RfZXhpdCh2 b2lkKQogCQlnX2tleV9maWxlX2ZyZWUoaWd0X2tleV9maWxlKTsKICNlbmRpZgogCi0JaWYgKHJ1 bl9zaW5nbGVfc3VidGVzdCAmJiAhcnVuX3NpbmdsZV9zdWJ0ZXN0X2ZvdW5kKSB7Ci0JCWlndF93 YXJuKCJVbmtub3duIHN1YnRlc3Q6ICVzXG4iLCBydW5fc2luZ2xlX3N1YnRlc3QpOworCWlmIChz aW5nbGVfc3VidGVzdCAmJiAhc2luZ2xlX3N1YnRlc3RfZm91bmQpIHsKKwkJaWd0X3dhcm4oIlVu a25vd24gc3VidGVzdDogJXNcbiIsIHNpbmdsZV9zdWJ0ZXN0KTsKIAkJZXhpdChJR1RfRVhJVF9J TlZBTElEKTsKIAl9CiAKLQlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKQorCWlmIChpZ3Rf b25seV9jb2xsZWN0X2RhdGEoKSkKIAkJZXhpdChJR1RfRVhJVF9TVUNDRVNTKTsKIAogCS8qIENh bGxpbmcgdGhpcyB3aXRob3V0IGNhbGxpbmcgb25lIG9mIHRoZSBhYm92ZSBpcyBhIGZhaWx1cmUg Ki8KQEAgLTIwMTIsNyArMjEwMCw3IEBAIGJvb2wgaWd0X3J1bl9pbl9zaW11bGF0aW9uKHZvaWQp CiAgKi8KIHZvaWQgaWd0X3NraXBfb25fc2ltdWxhdGlvbih2b2lkKQogewotCWlmIChpZ3Rfb25s eV9saXN0X3N1YnRlc3RzKCkpCisJaWYgKGlndF9vbmx5X2NvbGxlY3RfZGF0YSgpKQogCQlyZXR1 cm47CiAKIAlpZiAoIWluX2ZpeHR1cmUgJiYgIWluX3N1YnRlc3QpIHsKQEAgLTIwODcsNyArMjE3 NSw3IEBAIHZvaWQgaWd0X3Zsb2coY29uc3QgY2hhciAqZG9tYWluLCBlbnVtIGlndF9sb2dfbGV2 ZWwgbGV2ZWwsIGNvbnN0IGNoYXIgKmZvcm1hdCwKIAlwcm9ncmFtX25hbWUgPSBjb21tYW5kX3N0 cjsKICNlbmRpZgogCi0JaWYgKGxpc3Rfc3VidGVzdHMgJiYgbGV2ZWwgPD0gSUdUX0xPR19XQVJO KQorCWlmIChpZ3Rfb25seV9jb2xsZWN0X2RhdGEoKSAmJiBsZXZlbCA8PSBJR1RfTE9HX1dBUk4p CiAJCXJldHVybjsKIAogCWlmICh2YXNwcmludGYoJmxpbmUsIGZvcm1hdCwgYXJncykgPT0gLTEp CmRpZmYgLS1naXQgYS9saWIvaWd0X2NvcmUuaCBiL2xpYi9pZ3RfY29yZS5oCmluZGV4IDE2MTlh OWQuLjI3NWU0NjcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5oCisrKyBiL2xpYi9pZ3RfY29y ZS5oCkBAIC0xOTcsOCArMTk3LDEyIEBAIGJvb2wgX19pZ3RfcnVuX3N1YnRlc3QoY29uc3QgY2hh ciAqc3VidGVzdF9uYW1lKTsKICNkZWZpbmUgaWd0X3N1YnRlc3RfZihmLi4uKSBcCiAJX19pZ3Rf c3VidGVzdF9mKGlndF90b2tlbmNhdChfX3RtcGNoYXIsIF9fTElORV9fKSwgZikKIAordm9pZCBp Z3RfZG9jdW1lbnRfc3VidGVzdChjb25zdCBjaGFyICpkb2N1bWVudGF0aW9uKTsKK19fYXR0cmli dXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSkKK3ZvaWQgaWd0X2RvY3VtZW50X3N1YnRlc3Rf Zihjb25zdCBjaGFyICpkb2N1bWVudGF0aW9uLCAuLi4pOworCiBjb25zdCBjaGFyICppZ3Rfc3Vi dGVzdF9uYW1lKHZvaWQpOwotYm9vbCBpZ3Rfb25seV9saXN0X3N1YnRlc3RzKHZvaWQpOworYm9v bCBpZ3Rfb25seV9jb2xsZWN0X2RhdGEodm9pZCk7CiAKIHZvaWQgX19pZ3Rfc3VidGVzdF9ncm91 cF9zYXZlKGludCAqKTsKIHZvaWQgX19pZ3Rfc3VidGVzdF9ncm91cF9yZXN0b3JlKGludCk7Ci0t IAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==