From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH i-g-t v3 08/11] tests/kms_atomic: stress possible fence settings Date: Mon, 30 Jan 2017 20:58:44 -0500 Message-ID: <20170131015847.28628-9-robert.foss@collabora.com> References: <20170131015847.28628-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 23F8A6E5C7 for ; Tue, 31 Jan 2017 02:00:07 +0000 (UTC) In-Reply-To: <20170131015847.28628-1-robert.foss@collabora.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, Gustavo Padovan , Brian Starkey , Daniel Vetter , Tomeu Vizoso Cc: Gustavo Padovan List-Id: intel-gfx@lists.freedesktop.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK U2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3Jh LmNvLnVrPgpTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgRm9zcyA8cm9iZXJ0LmZvc3NAY29sbGFib3Jh LmNvbT4KLS0tCiB0ZXN0cy9rbXNfYXRvbWljLmMgfCAxODcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNzcgaW5z ZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2F0b21p Yy5jIGIvdGVzdHMva21zX2F0b21pYy5jCmluZGV4IDhkZjUxY2NkLi4wOTYwNWUzOCAxMDA2NDQK LS0tIGEvdGVzdHMva21zX2F0b21pYy5jCisrKyBiL3Rlc3RzL2ttc19hdG9taWMuYwpAQCAtNDQs NiArNDQsNyBAQAogI2luY2x1ZGUgImRybXRlc3QuaCIKICNpbmNsdWRlICJpZ3QuaCIKICNpbmNs dWRlICJpZ3RfYXV4LmgiCisjaW5jbHVkZSAic3dfc3luYy5oIgogCiAjaWZuZGVmIERSTV9DTElF TlRfQ0FQX0FUT01JQwogI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMgMwpAQCAtMTI2LDYg KzEyNyw3IEBAIHN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlIHsKIAl1aW50MzJfdCBmYl9p ZDsgLyogMCB0byBkaXNhYmxlICovCiAJdWludDMyX3Qgc3JjX3gsIHNyY195LCBzcmNfdywgc3Jj X2g7IC8qIDE2LjE2IGZpeGVkLXBvaW50ICovCiAJdWludDMyX3QgY3J0Y194LCBjcnRjX3ksIGNy dGNfdywgY3J0Y19oOyAvKiBub3JtYWwgaW50ZWdlcnMgKi8KKwlpbnQzMl90IGZlbmNlX2ZkOwog fTsKIAogc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSB7CkBAIC0xMzMsNiArMTM1LDcgQEAg c3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSB7CiAJdWludDMyX3Qgb2JqOwogCWludCBpZHg7 CiAJYm9vbCBhY3RpdmU7CisJdWludDY0X3Qgb3V0X2ZlbmNlX3B0cjsKIAlzdHJ1Y3Qga21zX2F0 b21pY19ibG9iIG1vZGU7CiB9OwogCkBAIC0xOTAsMTEgKzE5MywxMyBAQCBzdGF0aWMgdWludDMy X3QgYmxvYl9kdXBsaWNhdGUoaW50IGZkLCB1aW50MzJfdCBpZF9vcmlnKQogCWNydGNfcG9wdWxh dGVfcmVxKGNydGMsIHJlcSk7IFwKIAlwbGFuZV9wb3B1bGF0ZV9yZXEocGxhbmUsIHJlcSk7IFwK IAlkb19hdG9taWNfY29tbWl0KChjcnRjKS0+c3RhdGUtPmRlc2MtPmZkLCByZXEsIGZsYWdzKTsg XAotCWNydGNfY2hlY2tfY3VycmVudF9zdGF0ZShjcnRjLCBwbGFuZSwgcmVsYXgpOyBcCi0JcGxh bmVfY2hlY2tfY3VycmVudF9zdGF0ZShwbGFuZSwgcmVsYXgpOyBcCisJaWYgKCEoZmxhZ3MgJiBE Uk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZKSkgeyBcCisJCWNydGNfY2hlY2tfY3VycmVudF9zdGF0 ZShjcnRjLCBwbGFuZSwgcmVsYXgpOyBcCisJCXBsYW5lX2NoZWNrX2N1cnJlbnRfc3RhdGUocGxh bmUsIHJlbGF4KTsgXAorCX0gXAogfQogCi0jZGVmaW5lIGNydGNfY29tbWl0X2F0b21pY19lcnIo Y3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZV9vbGQsIHJlcSwgcmVsYXgsIGUpIHsgXAorI2Rl ZmluZSBjcnRjX2NvbW1pdF9hdG9taWNfZXJyKGNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmVf b2xkLCByZXEsIGZsYWdzLCByZWxheCwgZSkgeyBcCiAJZHJtTW9kZUF0b21pY1NldEN1cnNvcihy ZXEsIDApOyBcCiAJY3J0Y19wb3B1bGF0ZV9yZXEoY3J0YywgcmVxKTsgXAogCXBsYW5lX3BvcHVs YXRlX3JlcShwbGFuZSwgcmVxKTsgXApAQCAtMjk5LDYgKzMwNCw5IEBAIGZpbmRfY29ubmVjdG9y KHN0cnVjdCBrbXNfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIHBsYW5lX3BvcHVs YXRlX3JlcShzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSAqcGxhbmUsCiAJCQkgICAgICAg ZHJtTW9kZUF0b21pY1JlcSAqcmVxKQogeworCWlmIChwbGFuZS0+ZmVuY2VfZmQpCisJCXBsYW5l X3NldF9wcm9wKHJlcSwgcGxhbmUsIElHVF9QTEFORV9JTl9GRU5DRV9GRCwgcGxhbmUtPmZlbmNl X2ZkKTsKKwogCXBsYW5lX3NldF9wcm9wKHJlcSwgcGxhbmUsIElHVF9QTEFORV9DUlRDX0lELCBw bGFuZS0+Y3J0Y19pZCk7CiAJcGxhbmVfc2V0X3Byb3AocmVxLCBwbGFuZSwgSUdUX1BMQU5FX0ZC X0lELCBwbGFuZS0+ZmJfaWQpOwogCXBsYW5lX3NldF9wcm9wKHJlcSwgcGxhbmUsIElHVF9QTEFO RV9TUkNfWCwgcGxhbmUtPnNyY194KTsKQEAgLTQzMyw2ICs0NDEsMTAgQEAgZmluZF9wbGFuZShz dHJ1Y3Qga21zX2F0b21pY19zdGF0ZSAqc3RhdGUsIGVudW0gcGxhbmVfdHlwZSB0eXBlLAogc3Rh dGljIHZvaWQgY3J0Y19wb3B1bGF0ZV9yZXEoc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAq Y3J0YywKIAkJCSAgICAgIGRybU1vZGVBdG9taWNSZXEgKnJlcSkKIHsKKwlpZiAoY3J0Yy0+b3V0 X2ZlbmNlX3B0cikKKwkJY3J0Y19zZXRfcHJvcChyZXEsIGNydGMsIElHVF9DUlRDX09VVF9GRU5D RV9QVFIsCisJCQkgICAgICBjcnRjLT5vdXRfZmVuY2VfcHRyKTsKKwogCWNydGNfc2V0X3Byb3Ao cmVxLCBjcnRjLCBJR1RfQ1JUQ19NT0RFX0lELCBjcnRjLT5tb2RlLmlkKTsKIAljcnRjX3NldF9w cm9wKHJlcSwgY3J0YywgSUdUX0NSVENfQUNUSVZFLCBjcnRjLT5hY3RpdmUpOwogfQpAQCAtMTA2 MSw2ICsxMDczLDM3IEBAIHN0YXRpYyB2b2lkIHBsYW5lX2ludmFsaWRfcGFyYW1zKHN0cnVjdCBr bXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMsCiAJZHJtTW9kZUF0b21pY0ZyZWUocmVxKTsKIH0K IAorc3RhdGljIHZvaWQgcGxhbmVfaW52YWxpZF9wYXJhbXNfZmVuY2Uoc3RydWN0IGttc19hdG9t aWNfY3J0Y19zdGF0ZSAqY3J0YywKKwkJCQlzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSAq cGxhbmVfb2xkLAorCQkJCXN0cnVjdCBrbXNfYXRvbWljX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubikK K3sKKwlzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSBwbGFuZSA9ICpwbGFuZV9vbGQ7CisJ ZHJtTW9kZUF0b21pY1JlcSAqcmVxID0gZHJtTW9kZUF0b21pY0FsbG9jKCk7CisJaW50IHRpbWVs aW5lLCBmZW5jZV9mZDsKKworCWlndF9yZXF1aXJlX3N3X3N5bmMoKTsKKworCS8qIGludmFsaWQg ZmVuY2UgZmQgKi8KKwlwbGFuZS5mZW5jZV9mZCA9IHBsYW5lLnN0YXRlLT5kZXNjLT5mZDsKKwlw bGFuZS5jcnRjX2lkID0gcGxhbmVfb2xkLT5jcnRjX2lkOworCXBsYW5lX2NvbW1pdF9hdG9taWNf ZXJyKCZwbGFuZSwgcGxhbmVfb2xkLCByZXEsCisJICAgICAgICAgICAgICAgICAgICAgICAgQVRP TUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7CisKKwkvKiBWYWxpZCBmZW5jZV9mZCBidXQgaW52YWxp ZCBDUlRDICovCisJdGltZWxpbmUgPSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCWZlbmNl X2ZkID0gIHN3X3N5bmNfdGltZWxpbmVfY3JlYXRlX2ZlbmNlKHRpbWVsaW5lLCAxKTsKKwlwbGFu ZS5mZW5jZV9mZCA9IGZlbmNlX2ZkOworCXBsYW5lLmNydGNfaWQgPSB+MFU7CisJcGxhbmVfY29t bWl0X2F0b21pY19lcnIoJnBsYW5lLCBwbGFuZV9vbGQsIHJlcSwKKwkgICAgICAgICAgICAgICAg ICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKKworCXBsYW5lLmZlbmNlX2ZkID0g LTE7CisJY2xvc2UoZmVuY2VfZmQpOworCWNsb3NlKHRpbWVsaW5lKTsKKworCWRybU1vZGVBdG9t aWNGcmVlKHJlcSk7Cit9CisKIHN0YXRpYyB2b2lkIGNydGNfaW52YWxpZF9wYXJhbXMoc3RydWN0 IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0Y19vbGQsCiAJCQkJc3RydWN0IGttc19hdG9taWNf cGxhbmVfc3RhdGUgKnBsYW5lLAogCQkJCXN0cnVjdCBrbXNfYXRvbWljX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubikKQEAgLTEwNzIsMzAgKzExMTUsMzIgQEAgc3RhdGljIHZvaWQgY3J0Y19pbnZhbGlk X3BhcmFtcyhzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjX29sZCwKIAogCS8qIFBh c3MgYSBzZXJpZXMgb2YgaW52YWxpZCBvYmplY3QgSURzIGZvciB0aGUgbW9kZSBJRC4gKi8KIAlj cnRjLm1vZGUuaWQgPSBwbGFuZS0+b2JqOwotCWNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMs IHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZj cnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCiAJICAgICAgICAgICAgICAgICAg ICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKIAogCWNydGMubW9kZS5pZCA9IGNydGMu b2JqOwotCWNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxh bmUsIHJlcSwKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQs IHBsYW5lLCByZXEsIDAsCiAJICAgICAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9O RSwgRUlOVkFMKTsKIAogCWNydGMubW9kZS5pZCA9IGNvbm4tPm9iajsKLQljcnRjX2NvbW1pdF9h dG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJY3J0Y19jb21t aXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLCAwLAogCSAg ICAgICAgICAgICAgICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7CiAKIAljcnRj Lm1vZGUuaWQgPSBwbGFuZS0+ZmJfaWQ7Ci0JY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0Yywg cGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAorCWNydGNfY29tbWl0X2F0b21pY19lcnIoJmNy dGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKIAkgICAgICAgICAgICAgICAgICAg ICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwogCisJLyogc3VjY2Vzc2Z1bCBURVNUX09O TFkgd2l0aCBmZW5jZXMgc2V0ICovCiAJY3J0Yy5tb2RlLmlkID0gY3J0Y19vbGQtPm1vZGUuaWQ7 Ci0JY3J0Y19jb21taXRfYXRvbWljKCZjcnRjLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVMQVhfTk9O RSwgMCk7CisJY3J0Y19jb21taXRfYXRvbWljKCZjcnRjLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVM QVhfTk9ORSwKKwkJCSAgIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFkpOwogCiAJLyogQ3JlYXRl IGEgYmxvYiB3aGljaCBpcyB0aGUgd3Jvbmcgc2l6ZSB0byBiZSBhIHZhbGlkIG1vZGUuICovCiAJ ZG9fb3JfZGllKGRybU1vZGVDcmVhdGVQcm9wZXJ0eUJsb2IoY3J0Yy5zdGF0ZS0+ZGVzYy0+ZmQs CiAJCQkJCSAgICBjcnRjLm1vZGUuZGF0YSwKIAkJCQkJICAgIHNpemVvZihzdHJ1Y3QgZHJtX21v ZGVfbW9kZWluZm8pIC0gMSwKIAkJCQkJICAgICZjcnRjLm1vZGUuaWQpKTsKLQljcnRjX2NvbW1p dF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJY3J0Y19j b21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLCAwLAog CSAgICAgICAgICAgICAgICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7CiAKIApA QCAtMTEwMywxNSArMTE0OCwxMDggQEAgc3RhdGljIHZvaWQgY3J0Y19pbnZhbGlkX3BhcmFtcyhz dHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjX29sZCwKIAkJCQkJICAgIGNydGMubW9k ZS5kYXRhLAogCQkJCQkgICAgc2l6ZW9mKHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbykgKyAxLAog CQkJCQkgICAgJmNydGMubW9kZS5pZCkpOwotCWNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMs IHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZj cnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCiAJICAgICAgICAgICAgICAgICAg ICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKIAorCiAJLyogUmVzdG9yZSB0aGUgQ1JU QyBhbmQgY2hlY2sgdGhlIHN0YXRlIG1hdGNoZXMgdGhlIG9sZC4gKi8KIAljcnRjX2NvbW1pdF9h dG9taWMoY3J0Y19vbGQsIHBsYW5lLCByZXEsIEFUT01JQ19SRUxBWF9OT05FLCAwKTsKIAogCWRy bU1vZGVBdG9taWNGcmVlKHJlcSk7CiB9CiAKK3N0YXRpYyB2b2lkIGNydGNfaW52YWxpZF9wYXJh bXNfZmVuY2Uoc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0Y19vbGQsCisJCQkJc3Ry dWN0IGttc19hdG9taWNfcGxhbmVfc3RhdGUgKnBsYW5lLAorCQkJCXN0cnVjdCBrbXNfYXRvbWlj X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubikKK3sKKwlzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRl IGNydGMgPSAqY3J0Y19vbGQ7CisJZHJtTW9kZUF0b21pY1JlcSAqcmVxID0gZHJtTW9kZUF0b21p Y0FsbG9jKCk7CisJaW50IHRpbWVsaW5lLCBmZW5jZV9mZCwgKm91dF9mZW5jZTsKKworCWlndF9y ZXF1aXJlX3N3X3N5bmMoKTsKKworCS8qIGludmFsaWQgb3V0X2ZlbmNlX3B0ciAqLworCWNydGMu bW9kZS5pZCA9IGNydGNfb2xkLT5tb2RlLmlkOworCWNydGMub3V0X2ZlbmNlX3B0ciA9ICh1aW50 NjRfdCkodWludHB0cl90KSBjcnRjX2ludmFsaWRfcGFyYW1zOworCWNydGNfY29tbWl0X2F0b21p Y19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKKwkgICAgICAgICAg ICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFRkFVTFQpOworCisJLyogaW52YWxpZCBv dXRfZmVuY2VfcHRyICovCisJY3J0Yy5tb2RlLmlkID0gY3J0Y19vbGQtPm1vZGUuaWQ7CisJY3J0 Yy5vdXRfZmVuY2VfcHRyID0gKHVpbnQ2NF90KSh1aW50cHRyX3QpIDB4ODsKKwljcnRjX2NvbW1p dF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCisJICAg ICAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUZBVUxUKTsKKwljcnRjLm91 dF9mZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsKKworCS8qIHZhbGlkIGluIGZl bmNlIGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9uIGNydGMgKi8KKwl0aW1lbGluZSA9IHN3X3N5bmNf dGltZWxpbmVfY3JlYXRlKCk7CisJZmVuY2VfZmQgPSAgc3dfc3luY190aW1lbGluZV9jcmVhdGVf ZmVuY2UodGltZWxpbmUsIDEpOworCXBsYW5lLT5mZW5jZV9mZCA9IGZlbmNlX2ZkOworCWNydGMu YWN0aXZlID0gZmFsc2U7CisJY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNy dGNfb2xkLCBwbGFuZSwgcmVxLCAwLAorCQkJICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5W QUwpOworCisJb3V0X2ZlbmNlID0gbWFsbG9jKHNpemVvZih1aW50NjRfdCkpOworCWlndF9hc3Nl cnQob3V0X2ZlbmNlKTsKKworCisJLyogdmFsaWQgb3V0IGZlbmNlIHB0ciBhbmQgZmxpcCBldmVu dCBidXQgbm90IGFsbG93ZWQgcHJvcCBvbiBjcnRjICovCisJY3J0Yy5vdXRfZmVuY2VfcHRyID0g KHVpbnQ2NF90KSh1aW50cHRyX3QpIG91dF9mZW5jZTsKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJy KCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCisJCQkgICAgICAgQVRPTUlD X1JFTEFYX05PTkUsIEVJTlZBTCk7CisKKwkvKiB2YWxpZCBvdXQgZmVuY2UgcHRyIGFuZCBmbGlw IGV2ZW50IGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9uIGNydGMgKi8KKwljcnRjX2NvbW1pdF9hdG9t aWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJCQkgICAgICAgRFJN X01PREVfUEFHRV9GTElQX0VWRU5ULAorCQkJICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5W QUwpOworCisJLyogdmFsaWQgcGFnZSBmbGlwIGV2ZW50IGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9u IGNydGMgKi8KKwljcnRjLm91dF9mZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsK KwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCBy ZXEsCisJCQkgICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAorCQkJICAgICAgIEFUT01J Q19SRUxBWF9OT05FLCBFSU5WQUwpOworCWNydGMuYWN0aXZlID0gdHJ1ZTsKKworCS8qIHZhbGlk IG91dCBmZW5jZSAgcHRyIGFuZCBmbGlwIGV2ZW50IGJ1dCBpbnZhbGlkIHByb3Agb24gY3J0YyAq LworCWNydGMub3V0X2ZlbmNlX3B0ciA9ICh1aW50NjRfdCkodWludHB0cl90KSBvdXRfZmVuY2U7 CisJY3J0Yy5tb2RlLmlkID0gcGxhbmUtPmZiX2lkOworCWNydGNfY29tbWl0X2F0b21pY19lcnIo JmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKKwkJCSAgICAgICBBVE9NSUNf UkVMQVhfTk9ORSwgRUlOVkFMKTsKKworCS8qIHZhbGlkIG91dCBmZW5jZSBwdHIgYW5kIGZsaXAg ZXZlbnQgYnV0IGludmFsaWQgcHJvcCBvbiBjcnRjICovCisJY3J0Y19jb21taXRfYXRvbWljX2Vy cigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAorCQkJICAgICAgIERSTV9NT0RF X1BBR0VfRkxJUF9FVkVOVCwKKwkJCSAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsK KworCS8qIHZhbGlkIHBhZ2UgZmxpcCBldmVudCBidXQgaW52YWxpZCBwcm9wIG9uIGNydGMgKi8K KwljcnRjLm91dF9mZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsKKwljcnRjX2Nv bW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJCQkg ICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAorCQkJICAgICAgIEFUT01JQ19SRUxBWF9O T05FLCBFSU5WQUwpOworCisJLyogc3VjY2Vzc2Z1bCBURVNUX09OTFkgd2l0aCBmZW5jZXMgc2V0 ICovCisJcGxhbmUtPmZlbmNlX2ZkID0gZmVuY2VfZmQ7CisJY3J0Yy5tb2RlLmlkID0gY3J0Y19v bGQtPm1vZGUuaWQ7CisJY3J0Y19jb21taXRfYXRvbWljKCZjcnRjLCBwbGFuZSwgcmVxLCBBVE9N SUNfUkVMQVhfTk9ORSwKKwkJCSAgIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFkpOworCWlndF9h c3NlcnQoKm91dF9mZW5jZSA9PSAtMSk7CisJY2xvc2UoZmVuY2VfZmQpOworCWNsb3NlKHRpbWVs aW5lKTsKKworCS8qIHJlc2V0IGZlbmNlcyAqLworCXBsYW5lLT5mZW5jZV9mZCA9IC0xOworCWNy dGMub3V0X2ZlbmNlX3B0ciA9ICh1aW50NjRfdCkodWludHB0cl90KSAwOworCWNydGNfY29tbWl0 X2F0b21pYygmY3J0YywgcGxhbmUsIHJlcSwgQVRPTUlDX1JFTEFYX05PTkUsIDApOworCisJLyog b3V0IGZlbmNlIHB0ciBidXQgbm90IHBhZ2UgZmxpcCBldmVudCAqLworCWNydGMub3V0X2ZlbmNl X3B0ciA9ICh1aW50NjRfdCkodWludHB0cl90KSBvdXRfZmVuY2U7CisJY3J0Y19jb21taXRfYXRv bWljKGNydGNfb2xkLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVMQVhfTk9ORSwgMCk7CisKKwljbG9z ZSgqb3V0X2ZlbmNlKTsKKwlmcmVlKG91dF9mZW5jZSk7CisJZHJtTW9kZUF0b21pY0ZyZWUocmVx KTsKK30KKwogLyogQWJ1c2UgdGhlIGF0b21pYyBpb2N0bCBkaXJlY3RseSBpbiBvcmRlciB0byB0 ZXN0IHZhcmlvdXMgaW52YWxpZCBjb25kaXRpb25zLAogICogd2hpY2ggdGhlIGxpYmRybSB3cmFw cGVyIHdvbid0IGFsbG93IHVzIHRvIGNyZWF0ZS4gKi8KIHN0YXRpYyB2b2lkIGF0b21pY19pbnZh bGlkX3BhcmFtcyhzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjLApAQCAtMTMxNSw2 ICsxNDUzLDIwIEBAIGlndF9tYWluCiAJCWF0b21pY19zdGF0ZV9mcmVlKHNjcmF0Y2gpOwogCX0K IAorCWlndF9zdWJ0ZXN0KCJwbGFuZV9pbnZhbGlkX3BhcmFtc19mZW5jZSIpIHsKKwkJc3RydWN0 IGttc19hdG9taWNfc3RhdGUgKnNjcmF0Y2ggPSBhdG9taWNfc3RhdGVfZHVwKGN1cnJlbnQpOwor CQlzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjID0gZmluZF9jcnRjKHNjcmF0Y2gs IHRydWUpOworCQlzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSAqcGxhbmUgPQorCQkJZmlu ZF9wbGFuZShjdXJyZW50LCBQTEFORV9UWVBFX1BSSU1BUlksIGNydGMpOworCQlzdHJ1Y3Qga21z X2F0b21pY19jb25uZWN0b3Jfc3RhdGUgKmNvbm4gPQorCQkJZmluZF9jb25uZWN0b3Ioc2NyYXRj aCwgY3J0Yyk7CisKKwkJaWd0X3JlcXVpcmUoY3J0Yyk7CisJCWlndF9yZXF1aXJlKHBsYW5lKTsK KwkJcGxhbmVfaW52YWxpZF9wYXJhbXNfZmVuY2UoY3J0YywgcGxhbmUsIGNvbm4pOworCQlhdG9t aWNfc3RhdGVfZnJlZShzY3JhdGNoKTsKKwl9CisKIAlpZ3Rfc3VidGVzdCgiY3J0Y19pbnZhbGlk X3BhcmFtcyIpIHsKIAkJc3RydWN0IGttc19hdG9taWNfc3RhdGUgKnNjcmF0Y2ggPSBhdG9taWNf c3RhdGVfZHVwKGN1cnJlbnQpOwogCQlzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRj ID0gZmluZF9jcnRjKHNjcmF0Y2gsIHRydWUpOwpAQCAtMTMzMCw2ICsxNDgyLDIxIEBAIGlndF9t YWluCiAJCWF0b21pY19zdGF0ZV9mcmVlKHNjcmF0Y2gpOwogCX0KIAorCWlndF9zdWJ0ZXN0KCJj cnRjX2ludmFsaWRfcGFyYW1zX2ZlbmNlIikgeworCQlzdHJ1Y3Qga21zX2F0b21pY19zdGF0ZSAq c2NyYXRjaCA9IGF0b21pY19zdGF0ZV9kdXAoY3VycmVudCk7CisJCXN0cnVjdCBrbXNfYXRvbWlj X2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMoc2NyYXRjaCwgdHJ1ZSk7CisJCXN0cnVjdCBr bXNfYXRvbWljX3BsYW5lX3N0YXRlICpwbGFuZSA9CisJCQlmaW5kX3BsYW5lKHNjcmF0Y2gsIE5V TV9QTEFORV9UWVBFX1BST1BTLCBjcnRjKTsKKwkJc3RydWN0IGttc19hdG9taWNfY29ubmVjdG9y X3N0YXRlICpjb25uID0KKwkJCWZpbmRfY29ubmVjdG9yKHNjcmF0Y2gsIGNydGMpOworCisJCWln dF9yZXF1aXJlKGNydGMpOworCQlpZ3RfcmVxdWlyZShwbGFuZSk7CisJCWlndF9yZXF1aXJlKGNv bm4pOworCQljcnRjX2ludmFsaWRfcGFyYW1zX2ZlbmNlKGNydGMsIHBsYW5lLCBjb25uKTsKKwkJ YXRvbWljX3N0YXRlX2ZyZWUoc2NyYXRjaCk7CisJfQorCiAJaWd0X3N1YnRlc3QoImF0b21pY19p bnZhbGlkX3BhcmFtcyIpIHsKIAkJc3RydWN0IGttc19hdG9taWNfc3RhdGUgKnNjcmF0Y2ggPSBh dG9taWNfc3RhdGVfZHVwKGN1cnJlbnQpOwogCQlzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRl ICpjcnRjID0gZmluZF9jcnRjKHNjcmF0Y2gsIHRydWUpOwotLSAKMi4xMS4wLjQ1My5nNzg3Zjc1 ZjA1CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK