From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7EA7B89DA7 for ; Wed, 11 Mar 2020 00:41:36 +0000 (UTC) From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Tue, 10 Mar 2020 17:42:32 -0700 Message-Id: <20200311004235.138072-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v2 1/4] tests/kms_frontbuffer_tracking: Add tiling to test_mode List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VGhpcyB3aWxsIGFsbG93IHVzIHRvIGRvIHRlc3RzIHdpdGggZGlmZmVyZW50IHRpbGUgdHlwZXMs IGZvciBub3cKYWxsIHRlc3RzIHdpbGwgY29udGludWUgdG8gcnVuIHdpdGggdGhlIGRlZmF1bHQg WCB0aWxpbmcuCkl0IHdpbGwgYmUgdXNlZCBpbiB1cGNvbWluZyBwYXRjaGVzLgoKSXQgYWxzbyBh bGxvdyB1c2VyIHRvIHJ1biBhbGwgdGVzdHMgd2l0aCBsaW5lciB0aWxpbmcgd2hlbiBzZXQgYnkK cGFyYW1ldGVyLgoKdjI6Ci0gcmVuYW1lZCB0aWxlIHRvIHRpbGluZyAoVmlsbGUpCi0gYWRkZWQg dG8gdGhlIGNvbW1pdCBtZXNzYWdlIHRoYXQgdGhpcyB3aWxsIGJlIHVzZWQgaW4gdXBjb21pbmcK cGF0Y2hlcwoKQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50 ZWwuY29tPgotLS0KIHRlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jIHwgMTIyICsrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3OCBpbnNlcnRpb25z KCspLCA0NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfZnJvbnRidWZmZXJf dHJhY2tpbmcuYyBiL3Rlc3RzL2ttc19mcm9udGJ1ZmZlcl90cmFja2luZy5jCmluZGV4IGM0YjRh ZjQzLi5jNGRlYjcyYiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2Zyb250YnVmZmVyX3RyYWNraW5n LmMKKysrIGIvdGVzdHMva21zX2Zyb250YnVmZmVyX3RyYWNraW5nLmMKQEAgLTEzMCw2ICsxMzAs MTQgQEAgc3RydWN0IHRlc3RfbW9kZSB7CiAJCUZMSVBfQ09VTlQsCiAJfSBmbGlwOwogCisJZW51 bSB0aWxpbmdfdHlwZSB7CisJCVRJTElOR19MSU5FQVIgPSAwLAorCQlUSUxJTkdfWCwKKwkJVElM SU5HX1ksCisJCVRJTElOR19DT1VOVCwKKwkJVElMSU5HX0RFRkFVTFQgPSBUSUxJTkdfWCwKKwl9 IHRpbGluZzsKKwogCWVudW0gaWd0X2RyYXdfbWV0aG9kIG1ldGhvZDsKIH07CiAKQEAgLTIzNSw3 ICsyNDMsNyBAQCBzdHJ1Y3QgewogCWludCBvbmx5X3BpcGVzOwogCWludCBzaGFyZWRfZmJfeF9v ZmZzZXQ7CiAJaW50IHNoYXJlZF9mYl95X29mZnNldDsKLQl1aW50NjRfdCB0aWxpbmc7CisJZW51 bSB0aWxpbmdfdHlwZSB0aWxpbmc7CiB9IG9wdCA9IHsKIAkuY2hlY2tfc3RhdHVzID0gdHJ1ZSwK IAkuY2hlY2tfY3JjID0gdHJ1ZSwKQEAgLTI0OCw3ICsyNTYsNyBAQCBzdHJ1Y3QgewogCS5vbmx5 X3BpcGVzID0gUElQRV9DT1VOVCwKIAkuc2hhcmVkX2ZiX3hfb2Zmc2V0ID0gMjQ4LAogCS5zaGFy ZWRfZmJfeV9vZmZzZXQgPSA1MDAsCi0JLnRpbGluZyA9IExPQ0FMX0k5MTVfRk9STUFUX01PRF9Y X1RJTEVELAorCS50aWxpbmcgPSBUSUxJTkdfREVGQVVMVCwKIH07CiAKIHN0cnVjdCBtb2Rlc2V0 X3BhcmFtcyB7CkBAIC00NDQsMTMgKzQ1MiwyNiBAQCBzdGF0aWMgYm9vbCBpbml0X21vZGVzZXRf Y2FjaGVkX3BhcmFtcyh2b2lkKQogCXJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdWludDY0X3Qg dGlsaW5nX3RvX21vZGlmaWVyKGVudW0gdGlsaW5nX3R5cGUgdGlsaW5nKQoreworCXN3aXRjaCAo dGlsaW5nKSB7CisJY2FzZSBUSUxJTkdfTElORUFSOgorCQlyZXR1cm4gTE9DQUxfRFJNX0ZPUk1B VF9NT0RfTk9ORTsKKwljYXNlIFRJTElOR19YOgorCQlyZXR1cm4gTE9DQUxfSTkxNV9GT1JNQVRf TU9EX1hfVElMRUQ7CisJY2FzZSBUSUxJTkdfWToKKwkJcmV0dXJuIExPQ0FMX0k5MTVfRk9STUFU X01PRF9ZX1RJTEVEOworCWRlZmF1bHQ6CisJCWlndF9hc3NlcnQoZmFsc2UpOworCX0KK30KKwog c3RhdGljIHZvaWQgY3JlYXRlX2ZiKGVudW0gcGl4ZWxfZm9ybWF0IHBmb3JtYXQsIGludCB3aWR0 aCwgaW50IGhlaWdodCwKLQkJICAgICAgdWludDY0X3QgdGlsaW5nLCBpbnQgcGxhbmUsIHN0cnVj dCBpZ3RfZmIgKmZiKQorCQkgICAgICBlbnVtIHRpbGluZ190eXBlIHRpbGluZywgaW50IHBsYW5l LCBzdHJ1Y3QgaWd0X2ZiICpmYikKIHsKIAl1aW50MzJfdCBmb3JtYXQ7Ci0JdWludDY0X3Qgc2l6 ZTsKKwl1aW50NjRfdCBzaXplLCBtb2RpZmllcjsKIAl1bnNpZ25lZCBpbnQgc3RyaWRlOwotCXVp bnQ2NF90IHRpbGluZ19mb3Jfc2l6ZTsKIAogCXN3aXRjaCAocGZvcm1hdCkgewogCWNhc2UgRk9S TUFUX1JHQjg4ODoKQEAgLTQ4MCwxOSArNTAxLDE0IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9mYihl bnVtIHBpeGVsX2Zvcm1hdCBwZm9ybWF0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsCiAJCWlndF9h c3NlcnQoZmFsc2UpOwogCX0KIAotCS8qIFdlIHdhbnQgYWxsIGZyb250YnVmZmVycyB3aXRoIHRo ZSBzYW1lIHdpZHRoL2hlaWdodC9mb3JtYXQgdG8gaGF2ZQotCSAqIHRoZSBzYW1lIHNpemUgcmVn YXJkbGVzcyBvZiB0aWxpbmcgc2luY2Ugd2Ugd2FudCB0byBwcm9wZXJseSBleGVyY2lzZQotCSAq IHRoZSBLZXJuZWwncyBzcGVjaWZpYyB0aWxpbmctY2hlY2tpbmcgY29kZSBwYXRocyB3aXRob3V0 IGFjY2lkZW50YWxseQotCSAqIGhpdHRpbmcgc2l6ZS1jaGVja2luZyBvbmVzIGZpcnN0LiAqLwot CWlmIChwbGFuZSA9PSBQTEFORV9DVVIpCi0JCXRpbGluZ19mb3Jfc2l6ZSA9IExPQ0FMX0RSTV9G T1JNQVRfTU9EX05PTkU7Ci0JZWxzZQotCQl0aWxpbmdfZm9yX3NpemUgPSBvcHQudGlsaW5nOwor CW1vZGlmaWVyID0gdGlsaW5nX3RvX21vZGlmaWVyKHRpbGluZyk7CiAKLQlpZ3RfY2FsY19mYl9z aXplKGRybS5mZCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0aWxpbmdfZm9yX3NpemUsICZzaXpl LAorCWlndF93YXJuX29uKHBsYW5lID09IFBMQU5FX0NVUiAmJiB0aWxpbmcgIT0gVElMSU5HX0xJ TkVBUik7CisKKwlpZ3RfY2FsY19mYl9zaXplKGRybS5mZCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0 LCBtb2RpZmllciwgJnNpemUsCiAJCQkgJnN0cmlkZSk7CiAKLQlpZ3RfY3JlYXRlX2ZiX3dpdGhf Ym9fc2l6ZShkcm0uZmQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgdGlsaW5nLAorCWlndF9jcmVh dGVfZmJfd2l0aF9ib19zaXplKGRybS5mZCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBtb2RpZmll ciwKIAkJCQkgICBJR1RfQ09MT1JfWUNCQ1JfQlQ3MDksCiAJCQkJICAgSUdUX0NPTE9SX1lDQkNS X0xJTUlURURfUkFOR0UsCiAJCQkJICAgZmIsIHNpemUsIHN0cmlkZSk7CkBAIC01OTQsNyArNjEw LDcgQEAgc3RhdGljIHZvaWQgZmlsbF9mYihzdHJ1Y3QgaWd0X2ZiICpmYiwgZW51bSBjb2xvciBl Y29sb3IpCiAgKiBXZSBkbyBpdCB2ZXJ0aWNhbGx5IGluc3RlYWQgb2YgdGhlIG1vcmUgY29tbW9u IGhvcml6b250YWwgY2FzZSBpbiBvcmRlciB0bwogICogYXZvaWQgc3VwZXIgaHVnZSBzdHJpZGVz IG5vdCBzdXBwb3J0ZWQgYnkgRkJDLgogICovCi1zdGF0aWMgdm9pZCBjcmVhdGVfc2hhcmVkX2Zi KGVudW0gcGl4ZWxfZm9ybWF0IGZvcm1hdCkKK3N0YXRpYyB2b2lkIGNyZWF0ZV9zaGFyZWRfZmIo ZW51bSBwaXhlbF9mb3JtYXQgZm9ybWF0LCBlbnVtIHRpbGluZ190eXBlIHRpbGluZykKIHsKIAlp bnQgcHJpbV93LCBwcmltX2gsIHNjbmRfdywgc2NuZF9oLCBvZmZzX3csIG9mZnNfaCwgYmlnX3cs IGJpZ19oOwogCXN0cnVjdCBzY3JlZW5fZmJzICpzID0gJmZic1tmb3JtYXRdOwpAQCAtNjIxLDcg KzYzNyw3IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9zaGFyZWRfZmIoZW51bSBwaXhlbF9mb3JtYXQg Zm9ybWF0KQogCiAJYmlnX2ggPSBwcmltX2ggKyBzY25kX2ggKyBvZmZzX2ggKyBvcHQuc2hhcmVk X2ZiX3lfb2Zmc2V0OwogCi0JY3JlYXRlX2ZiKGZvcm1hdCwgYmlnX3csIGJpZ19oLCBvcHQudGls aW5nLCBQTEFORV9QUkksICZzLT5iaWcpOworCWNyZWF0ZV9mYihmb3JtYXQsIGJpZ193LCBiaWdf aCwgdGlsaW5nLCBQTEFORV9QUkksICZzLT5iaWcpOwogfQogCiBzdGF0aWMgdm9pZCBkZXN0cm95 X2ZicyhlbnVtIHBpeGVsX2Zvcm1hdCBmb3JtYXQpCkBAIC02NDMsNyArNjU5LDcgQEAgc3RhdGlj IHZvaWQgZGVzdHJveV9mYnMoZW51bSBwaXhlbF9mb3JtYXQgZm9ybWF0KQogCWlndF9yZW1vdmVf ZmIoZHJtLmZkLCAmcy0+YmlnKTsKIH0KIAotc3RhdGljIHZvaWQgY3JlYXRlX2ZicyhlbnVtIHBp eGVsX2Zvcm1hdCBmb3JtYXQpCitzdGF0aWMgdm9pZCBjcmVhdGVfZmJzKGVudW0gcGl4ZWxfZm9y bWF0IGZvcm1hdCwgZW51bSB0aWxpbmdfdHlwZSB0aWxpbmcpCiB7CiAJc3RydWN0IHNjcmVlbl9m YnMgKnMgPSAmZmJzW2Zvcm1hdF07CiAKQEAgLTY1MywzMCArNjY5LDI5IEBAIHN0YXRpYyB2b2lk IGNyZWF0ZV9mYnMoZW51bSBwaXhlbF9mb3JtYXQgZm9ybWF0KQogCXMtPmluaXRpYWxpemVkID0g dHJ1ZTsKIAogCWNyZWF0ZV9mYihmb3JtYXQsIHByaW1fbW9kZV9wYXJhbXMubW9kZS0+aGRpc3Bs YXksCi0JCSAgcHJpbV9tb2RlX3BhcmFtcy5tb2RlLT52ZGlzcGxheSwgb3B0LnRpbGluZywgUExB TkVfUFJJLAorCQkgIHByaW1fbW9kZV9wYXJhbXMubW9kZS0+dmRpc3BsYXksIHRpbGluZywgUExB TkVfUFJJLAogCQkgICZzLT5wcmltX3ByaSk7CiAJY3JlYXRlX2ZiKGZvcm1hdCwgcHJpbV9tb2Rl X3BhcmFtcy5jdXJzb3IudywKIAkJICBwcmltX21vZGVfcGFyYW1zLmN1cnNvci5oLCBMT0NBTF9E Uk1fRk9STUFUX01PRF9OT05FLAogCQkgIFBMQU5FX0NVUiwgJnMtPnByaW1fY3VyKTsKIAljcmVh dGVfZmIoZm9ybWF0LCBwcmltX21vZGVfcGFyYW1zLnNwcml0ZS53LAotCQkgIHByaW1fbW9kZV9w YXJhbXMuc3ByaXRlLmgsIG9wdC50aWxpbmcsIFBMQU5FX1NQUiwKLQkJICAmcy0+cHJpbV9zcHIp OworCQkgIHByaW1fbW9kZV9wYXJhbXMuc3ByaXRlLmgsIHRpbGluZywgUExBTkVfU1BSLCAmcy0+ cHJpbV9zcHIpOwogCi0JY3JlYXRlX2ZiKGZvcm1hdCwgb2Zmc2NyZWVuX2ZiLncsIG9mZnNjcmVl bl9mYi5oLCBvcHQudGlsaW5nLCBQTEFORV9QUkksCisJY3JlYXRlX2ZiKGZvcm1hdCwgb2Zmc2Ny ZWVuX2ZiLncsIG9mZnNjcmVlbl9mYi5oLCB0aWxpbmcsIFBMQU5FX1BSSSwKIAkJICAmcy0+b2Zm c2NyZWVuKTsKIAotCWNyZWF0ZV9zaGFyZWRfZmIoZm9ybWF0KTsKKwljcmVhdGVfc2hhcmVkX2Zi KGZvcm1hdCwgdGlsaW5nKTsKIAogCWlmICghc2NuZF9tb2RlX3BhcmFtcy5vdXRwdXQpCiAJCXJl dHVybjsKIAogCWNyZWF0ZV9mYihmb3JtYXQsIHNjbmRfbW9kZV9wYXJhbXMubW9kZS0+aGRpc3Bs YXksCi0JCSAgc2NuZF9tb2RlX3BhcmFtcy5tb2RlLT52ZGlzcGxheSwgb3B0LnRpbGluZywgUExB TkVfUFJJLAorCQkgIHNjbmRfbW9kZV9wYXJhbXMubW9kZS0+dmRpc3BsYXksIHRpbGluZywgUExB TkVfUFJJLAogCQkgICZzLT5zY25kX3ByaSk7CiAJY3JlYXRlX2ZiKGZvcm1hdCwgc2NuZF9tb2Rl X3BhcmFtcy5jdXJzb3Iudywgc2NuZF9tb2RlX3BhcmFtcy5jdXJzb3IuaCwKIAkJICBMT0NBTF9E Uk1fRk9STUFUX01PRF9OT05FLCBQTEFORV9DVVIsICZzLT5zY25kX2N1cik7CiAJY3JlYXRlX2Zi KGZvcm1hdCwgc2NuZF9tb2RlX3BhcmFtcy5zcHJpdGUudywgc2NuZF9tb2RlX3BhcmFtcy5zcHJp dGUuaCwKLQkJICBvcHQudGlsaW5nLCBQTEFORV9TUFIsICZzLT5zY25kX3Nwcik7CisJCSAgdGls aW5nLCBQTEFORV9TUFIsICZzLT5zY25kX3Nwcik7CiB9CiAKIHN0YXRpYyB2b2lkIF9fc2V0X3By aW1fcGxhbmVfZm9yX3BhcmFtcyhzdHJ1Y3QgbW9kZXNldF9wYXJhbXMgKnBhcmFtcykKQEAgLTEx NzcsNyArMTE5Miw3IEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RfY3JjKGlndF9jcmNfdCAqY3JjKQog CWlndF9waXBlX2NyY19jb2xsZWN0X2NyYyhwaXBlX2NyYywgY3JjKTsKIH0KIAotc3RhdGljIHZv aWQgaW5pdF9ibHVlX2NyYyhlbnVtIHBpeGVsX2Zvcm1hdCBmb3JtYXQpCitzdGF0aWMgdm9pZCBp bml0X2JsdWVfY3JjKGVudW0gcGl4ZWxfZm9ybWF0IGZvcm1hdCwgZW51bSB0aWxpbmdfdHlwZSB0 aWxpbmcpCiB7CiAJc3RydWN0IGlndF9mYiBibHVlOwogCkBAIC0xMTg1LDcgKzEyMDAsNyBAQCBz dGF0aWMgdm9pZCBpbml0X2JsdWVfY3JjKGVudW0gcGl4ZWxfZm9ybWF0IGZvcm1hdCkKIAkJcmV0 dXJuOwogCiAJY3JlYXRlX2ZiKGZvcm1hdCwgcHJpbV9tb2RlX3BhcmFtcy5tb2RlLT5oZGlzcGxh eSwKLQkJICBwcmltX21vZGVfcGFyYW1zLm1vZGUtPnZkaXNwbGF5LCBvcHQudGlsaW5nLCBQTEFO RV9QUkksCisJCSAgcHJpbV9tb2RlX3BhcmFtcy5tb2RlLT52ZGlzcGxheSwgdGlsaW5nLCBQTEFO RV9QUkksCiAJCSAgJmJsdWUpOwogCiAJZmlsbF9mYigmYmx1ZSwgQ09MT1JfUFJJTV9CRyk7CkBA IC0xMjExLDcgKzEyMjYsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2JsdWVfY3JjKGVudW0gcGl4ZWxf Zm9ybWF0IGZvcm1hdCkKIAlibHVlX2NyY3NbZm9ybWF0XS5pbml0aWFsaXplZCA9IHRydWU7CiB9 CiAKLXN0YXRpYyB2b2lkIGluaXRfY3JjcyhlbnVtIHBpeGVsX2Zvcm1hdCBmb3JtYXQsCitzdGF0 aWMgdm9pZCBpbml0X2NyY3MoZW51bSBwaXhlbF9mb3JtYXQgZm9ybWF0LCBlbnVtIHRpbGluZ190 eXBlIHRpbGluZywKIAkJICAgICAgc3RydWN0IGRyYXdfcGF0dGVybl9pbmZvICpwYXR0ZXJuKQog ewogCWludCByLCByXzsKQEAgLTEyMjUsNyArMTI0MCw3IEBAIHN0YXRpYyB2b2lkIGluaXRfY3Jj cyhlbnVtIHBpeGVsX2Zvcm1hdCBmb3JtYXQsCiAKIAlmb3IgKHIgPSAwOyByIDwgcGF0dGVybi0+ bl9yZWN0czsgcisrKQogCQljcmVhdGVfZmIoZm9ybWF0LCBwcmltX21vZGVfcGFyYW1zLm1vZGUt PmhkaXNwbGF5LAotCQkJICBwcmltX21vZGVfcGFyYW1zLm1vZGUtPnZkaXNwbGF5LCBvcHQudGls aW5nLAorCQkJICBwcmltX21vZGVfcGFyYW1zLm1vZGUtPnZkaXNwbGF5LCB0aWxpbmcsCiAJCQkg IFBMQU5FX1BSSSwgJnRtcF9mYnNbcl0pOwogCiAJZm9yIChyID0gMDsgciA8IHBhdHRlcm4tPm5f cmVjdHM7IHIrKykKQEAgLTEyOTAsNyArMTMwNSw3IEBAIHN0YXRpYyB2b2lkIHNldHVwX21vZGVz ZXQodm9pZCkKIAlvZmZzY3JlZW5fZmIuZmIgPSBOVUxMOwogCW9mZnNjcmVlbl9mYi53ID0gMTAy NDsKIAlvZmZzY3JlZW5fZmIuaCA9IDEwMjQ7Ci0JY3JlYXRlX2ZicyhGT1JNQVRfREVGQVVMVCk7 CisJY3JlYXRlX2ZicyhGT1JNQVRfREVGQVVMVCwgb3B0LnRpbGluZyk7CiB9CiAKIHN0YXRpYyB2 b2lkIHRlYXJkb3duX21vZGVzZXQodm9pZCkKQEAgLTE3NTEsNyArMTc2Niw3IEBAIHN0YXRpYyB2 b2lkIHNldF9jcnRjX2Zicyhjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogewogCXN0cnVjdCBz Y3JlZW5fZmJzICpzID0gJmZic1t0LT5mb3JtYXRdOwogCi0JY3JlYXRlX2Zicyh0LT5mb3JtYXQp OworCWNyZWF0ZV9mYnModC0+Zm9ybWF0LCB0LT50aWxpbmcpOwogCiAJc3dpdGNoICh0LT5mYnMp IHsKIAljYXNlIEZCU19JTkRJVklEVUFMOgpAQCAtMTgxMSw5ICsxODI2LDkgQEAgc3RhdGljIHZv aWQgcHJlcGFyZV9zdWJ0ZXN0X2RhdGEoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAqdCwKIAlpZiAo bmVlZF9tb2Rlc2V0KQogCQlpZ3RfZGlzcGxheV9jb21taXQoJmRybS5kaXNwbGF5KTsKIAotCWlu aXRfYmx1ZV9jcmModC0+Zm9ybWF0KTsKKwlpbml0X2JsdWVfY3JjKHQtPmZvcm1hdCwgdC0+dGls aW5nKTsKIAlpZiAocGF0dGVybikKLQkJaW5pdF9jcmNzKHQtPmZvcm1hdCwgcGF0dGVybik7CisJ CWluaXRfY3Jjcyh0LT5mb3JtYXQsIHQtPnRpbGluZywgcGF0dGVybik7CiAKIAluZWVkX21vZGVz ZXQgPSBlbmFibGVfZmVhdHVyZXNfZm9yX3Rlc3QodCk7CiAJaWYgKG5lZWRfbW9kZXNldCkKQEAg LTIzMDQsNyArMjMxOSw3IEBAIHN0YXRpYyB2b2lkIGZsaXBfc3VidGVzdChjb25zdCBzdHJ1Y3Qg dGVzdF9tb2RlICp0KQogCXByZXBhcmVfc3VidGVzdCh0LCBwYXR0ZXJuKTsKIAogCWNyZWF0ZV9m Yih0LT5mb3JtYXQsIHBhcmFtcy0+cHJpbWFyeS5mYi0+d2lkdGgsIHBhcmFtcy0+cHJpbWFyeS5m Yi0+aGVpZ2h0LAotCQkgIG9wdC50aWxpbmcsIHQtPnBsYW5lLCAmZmIyKTsKKwkJICB0LT50aWxp bmcsIHQtPnBsYW5lLCAmZmIyKTsKIAlmaWxsX2ZiKCZmYjIsIGJnX2NvbG9yKTsKIAlvcmlnX2Zi ID0gcGFyYW1zLT5wcmltYXJ5LmZiOwogCkBAIC0yMzUzLDcgKzIzNjgsNyBAQCBzdGF0aWMgdm9p ZCBmbGlwdHJhY2tfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0LCBlbnVtIGZsaXBf dHlwZSB0eXBlKQogCXByZXBhcmVfc3VidGVzdCh0LCBwYXR0ZXJuKTsKIAogCWNyZWF0ZV9mYih0 LT5mb3JtYXQsIHBhcmFtcy0+cHJpbWFyeS5mYi0+d2lkdGgsIHBhcmFtcy0+cHJpbWFyeS5mYi0+ aGVpZ2h0LAotCQkgIG9wdC50aWxpbmcsIHQtPnBsYW5lLCAmZmIyKTsKKwkJICB0LT50aWxpbmcs IHQtPnBsYW5lLCAmZmIyKTsKIAlmaWxsX2ZiKCZmYjIsIENPTE9SX1BSSU1fQkcpOwogCW9yaWdf ZmIgPSBwYXJhbXMtPnByaW1hcnkuZmI7CiAKQEAgLTI1MTEsNyArMjUyNiw3IEBAIHN0YXRpYyB2 b2lkIGZ1bGxzY3JlZW5fcGxhbmVfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQog CXByZXBhcmVfc3VidGVzdCh0LCBwYXR0ZXJuKTsKIAogCXJlY3QgPSBwYXR0ZXJuLT5nZXRfcmVj dCgmcGFyYW1zLT5wcmltYXJ5LCAwKTsKLQljcmVhdGVfZmIodC0+Zm9ybWF0LCByZWN0LncsIHJl Y3QuaCwgb3B0LnRpbGluZywgdC0+cGxhbmUsCisJY3JlYXRlX2ZiKHQtPmZvcm1hdCwgcmVjdC53 LCByZWN0LmgsIHQtPnRpbGluZywgdC0+cGxhbmUsCiAJCSAgJmZ1bGxzY3JlZW5fZmIpOwogCS8q IENhbGwgcGlja19jb2xvcigpIGFnYWluIHNpbmNlIFBSSSBhbmQgU1BSIG1heSBub3Qgc3VwcG9y dCB0aGUgc2FtZQogCSAqIHBpeGVsIGZvcm1hdHMuICovCkBAIC0yNTg0LDcgKzI1OTksNyBAQCBz dGF0aWMgdm9pZCBzY2FsZWRwcmltYXJ5X3N1YnRlc3QoY29uc3Qgc3RydWN0IHRlc3RfbW9kZSAq dCkKIAlvbGRfZmIgPSByZWctPmZiOwogCiAJY3JlYXRlX2ZiKHQtPmZvcm1hdCwgcmVnLT5mYi0+ d2lkdGgsIHJlZy0+ZmItPmhlaWdodCwKLQkJICBvcHQudGlsaW5nLCB0LT5wbGFuZSwgJm5ld19m Yik7CisJCSAgdC0+dGlsaW5nLCB0LT5wbGFuZSwgJm5ld19mYik7CiAJZmlsbF9mYigmbmV3X2Zi LCBDT0xPUl9CTFVFKTsKIAogCWlndF9kcmF3X3JlY3RfZmIoZHJtLmZkLCBkcm0uYnVmbWdyLCBO VUxMLCAmbmV3X2ZiLCB0LT5tZXRob2QsCkBAIC0yNjc5LDcgKzI2OTQsNyBAQCBzdGF0aWMgdm9p ZCBtb2Rlc2V0ZnJvbWJ1c3lfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCXBy ZXBhcmVfc3VidGVzdCh0LCBOVUxMKTsKIAogCWNyZWF0ZV9mYih0LT5mb3JtYXQsIHBhcmFtcy0+ cHJpbWFyeS5mYi0+d2lkdGgsIHBhcmFtcy0+cHJpbWFyeS5mYi0+aGVpZ2h0LAotCQkgIG9wdC50 aWxpbmcsIHQtPnBsYW5lLCAmZmIyKTsKKwkJICB0LT50aWxpbmcsIHQtPnBsYW5lLCAmZmIyKTsK IAlmaWxsX2ZiKCZmYjIsIENPTE9SX1BSSU1fQkcpOwogCiAJc3RhcnRfYnVzeV90aHJlYWQocGFy YW1zLT5wcmltYXJ5LmZiKTsKQEAgLTI3ODIsNyArMjc5Nyw3IEBAIHN0YXRpYyB2b2lkIGZhcmZy b21mZW5jZV9zdWJ0ZXN0KGNvbnN0IHN0cnVjdCB0ZXN0X21vZGUgKnQpCiAJcHJlcGFyZV9zdWJ0 ZXN0KHQsIHBhdHRlcm4pOwogCXRhcmdldCA9IHBpY2tfdGFyZ2V0KHQsIHBhcmFtcyk7CiAKLQlj cmVhdGVfZmIodC0+Zm9ybWF0LCBwYXJhbXMtPm1vZGUtPmhkaXNwbGF5LCBtYXhfaGVpZ2h0LCBv cHQudGlsaW5nLAorCWNyZWF0ZV9mYih0LT5mb3JtYXQsIHBhcmFtcy0+bW9kZS0+aGRpc3BsYXks IG1heF9oZWlnaHQsIHQtPnRpbGluZywKIAkJICB0LT5wbGFuZSwgJnRhbGxfZmIpOwogCiAJZmls bF9mYigmdGFsbF9mYiwgQ09MT1JfUFJJTV9CRyk7CkBAIC0yODU5LDcgKzI4NzQsNyBAQCBzdGF0 aWMgdm9pZCBiYWRzdHJpZGVfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0KQogCW9s ZF9mYiA9IHBhcmFtcy0+cHJpbWFyeS5mYjsKIAogCWNyZWF0ZV9mYih0LT5mb3JtYXQsIHBhcmFt cy0+cHJpbWFyeS5mYi0+d2lkdGggKyA0MDk2LCBwYXJhbXMtPnByaW1hcnkuZmItPmhlaWdodCwK LQkJICBvcHQudGlsaW5nLCB0LT5wbGFuZSwgJndpZGVfZmIpOworCQkgIHQtPnRpbGluZywgdC0+ cGxhbmUsICZ3aWRlX2ZiKTsKIAlpZ3RfYXNzZXJ0KHdpZGVfZmIuc3RyaWRlc1swXSA+IDE2Mzg0 KTsKIAogCWZpbGxfZmIoJndpZGVfZmIsIENPTE9SX1BSSU1fQkcpOwpAQCAtMzAzOSw3ICszMDU0 LDcgQEAgc3RhdGljIHZvaWQgYmFzaWNfc3VidGVzdChjb25zdCBzdHJ1Y3QgdGVzdF9tb2RlICp0 KQogCXByZXBhcmVfc3VidGVzdCh0LCBwYXR0ZXJuKTsKIAogCWNyZWF0ZV9mYih0LT5mb3JtYXQs IHBhcmFtcy0+cHJpbWFyeS5mYi0+d2lkdGgsIHBhcmFtcy0+cHJpbWFyeS5mYi0+aGVpZ2h0LAot CQkgIG9wdC50aWxpbmcsIHQtPnBsYW5lLCAmZmIyKTsKKwkJICB0LT50aWxpbmcsIHQtPnBsYW5l LCAmZmIyKTsKIAlmYjEgPSBwYXJhbXMtPnByaW1hcnkuZmI7CiAKIAlmb3IgKHIgPSAwLCBtZXRo b2QgPSAwOyBtZXRob2QgPCBJR1RfRFJBV19NRVRIT0RfQ09VTlQ7IG1ldGhvZCsrKSB7CkBAIC0z MTIwLDEwICszMTM1LDEyIEBAIHN0YXRpYyBpbnQgb3B0X2hhbmRsZXIoaW50IG9wdGlvbiwgaW50 IG9wdGlvbl9pbmRleCwgdm9pZCAqZGF0YSkKIAkJYnJlYWs7CiAJY2FzZSAnbCc6CiAJCWlmICgh c3RyY21wKG9wdGFyZywgIngiKSkKLQkJCW9wdC50aWxpbmcgPSBMT0NBTF9JOTE1X0ZPUk1BVF9N T0RfWF9USUxFRDsKKwkJCW9wdC50aWxpbmcgPSBUSUxJTkdfWDsKIAkJZWxzZSBpZiAoIXN0cmNt cChvcHRhcmcsICJ5IikpCi0JCQlvcHQudGlsaW5nID0gTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lf VElMRUQ7Ci0JCWVsc2UgeworCQkJb3B0LnRpbGluZyA9IFRJTElOR19ZOworCQllbHNlIGlmICgh c3RyY21wKG9wdGFyZywgImwiKSkgeworCQkJb3B0LnRpbGluZyA9IFRJTElOR19MSU5FQVI7CisJ CX0gZWxzZSB7CiAJCQlpZ3Rfd2FybigiQmFkIHRpbGluZyB2YWx1ZTogJXNcbiIsIG9wdGFyZyk7 CiAJCQlyZXR1cm4gSUdUX09QVF9IQU5ETEVSX0VSUk9SOwogCQl9CkBAIC0zMjU1LDkgKzMyNzIs MjQgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmZsaXBfc3RyKGVudW0gZmxpcF90eXBlIGZsaXApCiAJ fQogfQogCitzdGF0aWMgY29uc3QgY2hhciAqdGlsaW5nX3N0cihlbnVtIHRpbGluZ190eXBlIHRp bGluZykKK3sKKwlzd2l0Y2ggKHRpbGluZykgeworCWNhc2UgVElMSU5HX0xJTkVBUjoKKwkJcmV0 dXJuICJsaW5lYXIiOworCWNhc2UgVElMSU5HX1g6CisJCXJldHVybiAieCI7CisJY2FzZSBUSUxJ TkdfWToKKwkJcmV0dXJuICJ5IjsKKwlkZWZhdWx0OgorCQlpZ3RfYXNzZXJ0KGZhbHNlKTsKKwl9 Cit9CisKICNkZWZpbmUgVEVTVF9NT0RFX0lURVJfQkVHSU4odCkgXAogCXQuZm9ybWF0ID0gRk9S TUFUX0RFRkFVTFQ7CQkJCQkgICBcCiAJdC5mbGlwID0gRkxJUF9QQUdFRkxJUDsJCQkJCQkgICBc CisJdC50aWxpbmcgPSBvcHQudGlsaW5nOzsJCQkJCQkgICBcCiAJZm9yICh0LmZlYXR1cmUgPSAw OyB0LmZlYXR1cmUgPCBGRUFUVVJFX0NPVU5UOyB0LmZlYXR1cmUrKykgewkgICBcCiAJZm9yICh0 LnBpcGVzID0gMDsgdC5waXBlcyA8IFBJUEVfQ09VTlQ7IHQucGlwZXMrKykgewkJICAgXAogCWZv ciAodC5zY3JlZW4gPSAwOyB0LnNjcmVlbiA8IFNDUkVFTl9DT1VOVDsgdC5zY3JlZW4rKykgewkg ICBcCkBAIC0zMzE1LDYgKzMzNDcsNyBAQCBpZ3RfbWFpbl9hcmdzKCIiLCBsb25nX29wdGlvbnMs IGhlbHBfc3RyLCBvcHRfaGFuZGxlciwgTlVMTCkKIAkJCS8qIE1ha2Ugc3VyZSBub3RoaW5nIGlz IHVzaW5nIHRoZXNlIHZhbHVlcy4gKi8KIAkJCXQuZmxpcCA9IC0xOwogCQkJdC5tZXRob2QgPSAt MTsKKwkJCXQudGlsaW5nID0gb3B0LnRpbGluZzsKIAogCQkJaWd0X3N1YnRlc3RfZigiJXMtJXMt cnRlIiwKIAkJCQkgICAgICBmZWF0dXJlX3N0cih0LmZlYXR1cmUpLApAQCAtMzQ5OSw2ICszNTMy LDcgQEAgaWd0X21haW5fYXJncygiIiwgbG9uZ19vcHRpb25zLCBoZWxwX3N0ciwgb3B0X2hhbmRs ZXIsIE5VTEwpCiAJdC5mZWF0dXJlID0gRkVBVFVSRV9ERUZBVUxUOwogCXQuZm9ybWF0ID0gRk9S TUFUX0RFRkFVTFQ7CiAJdC5mbGlwID0gRkxJUF9QQUdFRkxJUDsKKwl0LnRpbGluZyA9IG9wdC50 aWxpbmc7CiAJaWd0X3N1YnRlc3QoImJhc2ljIikgewogCQlpZ3RfcmVxdWlyZV9nZW0oZHJtLmZk KTsKIAkJYmFzaWNfc3VidGVzdCgmdCk7Ci0tIAoyLjI1LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaWd0LWRldgo=