From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH i-g-t v4 07/11] tests/kms_atomic: stress possible fence settings Date: Tue, 31 Jan 2017 20:25:16 -0500 Message-ID: <20170201012520.27352-8-robert.foss@collabora.com> References: <20170201012520.27352-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 [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 15F2D6E784 for ; Wed, 1 Feb 2017 01:25:36 +0000 (UTC) In-Reply-To: <20170201012520.27352-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 LmNvbT4KUmV2aWV3ZWQtYnk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4K LS0tCiB0ZXN0cy9rbXNfYXRvbWljLmMgfCAxODcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNzcgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2F0b21pYy5jIGIv dGVzdHMva21zX2F0b21pYy5jCmluZGV4IDhkZjUxY2NkLi5lNzk0YTYyYiAxMDA2NDQKLS0tIGEv dGVzdHMva21zX2F0b21pYy5jCisrKyBiL3Rlc3RzL2ttc19hdG9taWMuYwpAQCAtNDQsNiArNDQs NyBAQAogI2luY2x1ZGUgImRybXRlc3QuaCIKICNpbmNsdWRlICJpZ3QuaCIKICNpbmNsdWRlICJp Z3RfYXV4LmgiCisjaW5jbHVkZSAic3dfc3luYy5oIgogCiAjaWZuZGVmIERSTV9DTElFTlRfQ0FQ X0FUT01JQwogI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMgMwpAQCAtMTI2LDYgKzEyNyw3 IEBAIHN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlIHsKIAl1aW50MzJfdCBmYl9pZDsgLyog MCB0byBkaXNhYmxlICovCiAJdWludDMyX3Qgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2g7IC8q IDE2LjE2IGZpeGVkLXBvaW50ICovCiAJdWludDMyX3QgY3J0Y194LCBjcnRjX3ksIGNydGNfdywg Y3J0Y19oOyAvKiBub3JtYWwgaW50ZWdlcnMgKi8KKwlpbnQzMl90IGZlbmNlX2ZkOwogfTsKIAog c3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSB7CkBAIC0xMzMsNiArMTM1LDcgQEAgc3RydWN0 IGttc19hdG9taWNfY3J0Y19zdGF0ZSB7CiAJdWludDMyX3Qgb2JqOwogCWludCBpZHg7CiAJYm9v bCBhY3RpdmU7CisJaW50MzJfdCAqb3V0X2ZlbmNlX3B0cjsKIAlzdHJ1Y3Qga21zX2F0b21pY19i bG9iIG1vZGU7CiB9OwogCkBAIC0xOTAsMTEgKzE5MywxMyBAQCBzdGF0aWMgdWludDMyX3QgYmxv Yl9kdXBsaWNhdGUoaW50IGZkLCB1aW50MzJfdCBpZF9vcmlnKQogCWNydGNfcG9wdWxhdGVfcmVx KGNydGMsIHJlcSk7IFwKIAlwbGFuZV9wb3B1bGF0ZV9yZXEocGxhbmUsIHJlcSk7IFwKIAlkb19h dG9taWNfY29tbWl0KChjcnRjKS0+c3RhdGUtPmRlc2MtPmZkLCByZXEsIGZsYWdzKTsgXAotCWNy dGNfY2hlY2tfY3VycmVudF9zdGF0ZShjcnRjLCBwbGFuZSwgcmVsYXgpOyBcCi0JcGxhbmVfY2hl Y2tfY3VycmVudF9zdGF0ZShwbGFuZSwgcmVsYXgpOyBcCisJaWYgKCEoZmxhZ3MgJiBEUk1fTU9E RV9BVE9NSUNfVEVTVF9PTkxZKSkgeyBcCisJCWNydGNfY2hlY2tfY3VycmVudF9zdGF0ZShjcnRj LCBwbGFuZSwgcmVsYXgpOyBcCisJCXBsYW5lX2NoZWNrX2N1cnJlbnRfc3RhdGUocGxhbmUsIHJl bGF4KTsgXAorCX0gXAogfQogCi0jZGVmaW5lIGNydGNfY29tbWl0X2F0b21pY19lcnIoY3J0Yywg cGxhbmUsIGNydGNfb2xkLCBwbGFuZV9vbGQsIHJlcSwgcmVsYXgsIGUpIHsgXAorI2RlZmluZSBj cnRjX2NvbW1pdF9hdG9taWNfZXJyKGNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmVfb2xkLCBy ZXEsIGZsYWdzLCByZWxheCwgZSkgeyBcCiAJZHJtTW9kZUF0b21pY1NldEN1cnNvcihyZXEsIDAp OyBcCiAJY3J0Y19wb3B1bGF0ZV9yZXEoY3J0YywgcmVxKTsgXAogCXBsYW5lX3BvcHVsYXRlX3Jl cShwbGFuZSwgcmVxKTsgXApAQCAtMjk5LDYgKzMwNCw5IEBAIGZpbmRfY29ubmVjdG9yKHN0cnVj dCBrbXNfYXRvbWljX3N0YXRlICpzdGF0ZSwKIHN0YXRpYyB2b2lkIHBsYW5lX3BvcHVsYXRlX3Jl cShzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSAqcGxhbmUsCiAJCQkgICAgICAgZHJtTW9k ZUF0b21pY1JlcSAqcmVxKQogeworCWlmIChwbGFuZS0+ZmVuY2VfZmQpCisJCXBsYW5lX3NldF9w cm9wKHJlcSwgcGxhbmUsIElHVF9QTEFORV9JTl9GRU5DRV9GRCwgcGxhbmUtPmZlbmNlX2ZkKTsK KwogCXBsYW5lX3NldF9wcm9wKHJlcSwgcGxhbmUsIElHVF9QTEFORV9DUlRDX0lELCBwbGFuZS0+ Y3J0Y19pZCk7CiAJcGxhbmVfc2V0X3Byb3AocmVxLCBwbGFuZSwgSUdUX1BMQU5FX0ZCX0lELCBw bGFuZS0+ZmJfaWQpOwogCXBsYW5lX3NldF9wcm9wKHJlcSwgcGxhbmUsIElHVF9QTEFORV9TUkNf WCwgcGxhbmUtPnNyY194KTsKQEAgLTQzMyw2ICs0NDEsMTAgQEAgZmluZF9wbGFuZShzdHJ1Y3Qg a21zX2F0b21pY19zdGF0ZSAqc3RhdGUsIGVudW0gcGxhbmVfdHlwZSB0eXBlLAogc3RhdGljIHZv aWQgY3J0Y19wb3B1bGF0ZV9yZXEoc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YywK IAkJCSAgICAgIGRybU1vZGVBdG9taWNSZXEgKnJlcSkKIHsKKwlpZiAoY3J0Yy0+b3V0X2ZlbmNl X3B0cikKKwkJY3J0Y19zZXRfcHJvcChyZXEsIGNydGMsIElHVF9DUlRDX09VVF9GRU5DRV9QVFIs CisJCQkgICAgICAodWludDY0X3QpIGNydGMtPm91dF9mZW5jZV9wdHIpOworCiAJY3J0Y19zZXRf cHJvcChyZXEsIGNydGMsIElHVF9DUlRDX01PREVfSUQsIGNydGMtPm1vZGUuaWQpOwogCWNydGNf c2V0X3Byb3AocmVxLCBjcnRjLCBJR1RfQ1JUQ19BQ1RJVkUsIGNydGMtPmFjdGl2ZSk7CiB9CkBA IC0xMDYxLDYgKzEwNzMsMzcgQEAgc3RhdGljIHZvaWQgcGxhbmVfaW52YWxpZF9wYXJhbXMoc3Ry dWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YywKIAlkcm1Nb2RlQXRvbWljRnJlZShyZXEp OwogfQogCitzdGF0aWMgdm9pZCBwbGFuZV9pbnZhbGlkX3BhcmFtc19mZW5jZShzdHJ1Y3Qga21z X2F0b21pY19jcnRjX3N0YXRlICpjcnRjLAorCQkJCXN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0 YXRlICpwbGFuZV9vbGQsCisJCQkJc3RydWN0IGttc19hdG9taWNfY29ubmVjdG9yX3N0YXRlICpj b25uKQoreworCXN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlIHBsYW5lID0gKnBsYW5lX29s ZDsKKwlkcm1Nb2RlQXRvbWljUmVxICpyZXEgPSBkcm1Nb2RlQXRvbWljQWxsb2MoKTsKKwlpbnQg dGltZWxpbmUsIGZlbmNlX2ZkOworCisJaWd0X3JlcXVpcmVfc3dfc3luYygpOworCisJLyogaW52 YWxpZCBmZW5jZSBmZCAqLworCXBsYW5lLmZlbmNlX2ZkID0gcGxhbmUuc3RhdGUtPmRlc2MtPmZk OworCXBsYW5lLmNydGNfaWQgPSBwbGFuZV9vbGQtPmNydGNfaWQ7CisJcGxhbmVfY29tbWl0X2F0 b21pY19lcnIoJnBsYW5lLCBwbGFuZV9vbGQsIHJlcSwKKwkgICAgICAgICAgICAgICAgICAgICAg ICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKKworCS8qIFZhbGlkIGZlbmNlX2ZkIGJ1dCBp bnZhbGlkIENSVEMgKi8KKwl0aW1lbGluZSA9IHN3X3N5bmNfdGltZWxpbmVfY3JlYXRlKCk7CisJ ZmVuY2VfZmQgPSAgc3dfc3luY190aW1lbGluZV9jcmVhdGVfZmVuY2UodGltZWxpbmUsIDEpOwor CXBsYW5lLmZlbmNlX2ZkID0gZmVuY2VfZmQ7CisJcGxhbmUuY3J0Y19pZCA9IH4wVTsKKwlwbGFu ZV9jb21taXRfYXRvbWljX2VycigmcGxhbmUsIHBsYW5lX29sZCwgcmVxLAorCSAgICAgICAgICAg ICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOworCisJcGxhbmUuZmVuY2Vf ZmQgPSAtMTsKKwljbG9zZShmZW5jZV9mZCk7CisJY2xvc2UodGltZWxpbmUpOworCisJZHJtTW9k ZUF0b21pY0ZyZWUocmVxKTsKK30KKwogc3RhdGljIHZvaWQgY3J0Y19pbnZhbGlkX3BhcmFtcyhz dHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjX29sZCwKIAkJCQlzdHJ1Y3Qga21zX2F0 b21pY19wbGFuZV9zdGF0ZSAqcGxhbmUsCiAJCQkJc3RydWN0IGttc19hdG9taWNfY29ubmVjdG9y X3N0YXRlICpjb25uKQpAQCAtMTA3MiwzMCArMTExNSwzMiBAQCBzdGF0aWMgdm9pZCBjcnRjX2lu dmFsaWRfcGFyYW1zKHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGNfb2xkLAogCiAJ LyogUGFzcyBhIHNlcmllcyBvZiBpbnZhbGlkIG9iamVjdCBJRHMgZm9yIHRoZSBtb2RlIElELiAq LwogCWNydGMubW9kZS5pZCA9IHBsYW5lLT5vYmo7Ci0JY3J0Y19jb21taXRfYXRvbWljX2Vycigm Y3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAorCWNydGNfY29tbWl0X2F0b21pY19l cnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKIAkgICAgICAgICAgICAg ICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwogCiAJY3J0Yy5tb2RlLmlkID0g Y3J0Yy5vYmo7Ci0JY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xk LCBwbGFuZSwgcmVxLAorCWNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRj X29sZCwgcGxhbmUsIHJlcSwgMCwKIAkgICAgICAgICAgICAgICAgICAgICAgIEFUT01JQ19SRUxB WF9OT05FLCBFSU5WQUwpOwogCiAJY3J0Yy5tb2RlLmlkID0gY29ubi0+b2JqOwotCWNydGNfY29t bWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwKKwljcnRj X2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAs CiAJICAgICAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKIAog CWNydGMubW9kZS5pZCA9IHBsYW5lLT5mYl9pZDsKLQljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZj cnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJY3J0Y19jb21taXRfYXRvbWljX2Vy cigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLCAwLAogCSAgICAgICAgICAgICAg ICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7CiAKKwkvKiBzdWNjZXNzZnVsIFRF U1RfT05MWSB3aXRoIGZlbmNlcyBzZXQgKi8KIAljcnRjLm1vZGUuaWQgPSBjcnRjX29sZC0+bW9k ZS5pZDsKLQljcnRjX2NvbW1pdF9hdG9taWMoJmNydGMsIHBsYW5lLCByZXEsIEFUT01JQ19SRUxB WF9OT05FLCAwKTsKKwljcnRjX2NvbW1pdF9hdG9taWMoJmNydGMsIHBsYW5lLCByZXEsIEFUT01J Q19SRUxBWF9OT05FLAorCQkJICAgRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSk7CiAKIAkvKiBD cmVhdGUgYSBibG9iIHdoaWNoIGlzIHRoZSB3cm9uZyBzaXplIHRvIGJlIGEgdmFsaWQgbW9kZS4g Ki8KIAlkb19vcl9kaWUoZHJtTW9kZUNyZWF0ZVByb3BlcnR5QmxvYihjcnRjLnN0YXRlLT5kZXNj LT5mZCwKIAkJCQkJICAgIGNydGMubW9kZS5kYXRhLAogCQkJCQkgICAgc2l6ZW9mKHN0cnVjdCBk cm1fbW9kZV9tb2RlaW5mbykgLSAxLAogCQkJCQkgICAgJmNydGMubW9kZS5pZCkpOwotCWNydGNf Y29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwKKwlj cnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEs IDAsCiAJICAgICAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsK IAogCkBAIC0xMTAzLDE1ICsxMTQ4LDEwOCBAQCBzdGF0aWMgdm9pZCBjcnRjX2ludmFsaWRfcGFy YW1zKHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGNfb2xkLAogCQkJCQkgICAgY3J0 Yy5tb2RlLmRhdGEsCiAJCQkJCSAgICBzaXplb2Yoc3RydWN0IGRybV9tb2RlX21vZGVpbmZvKSAr IDEsCiAJCQkJCSAgICAmY3J0Yy5tb2RlLmlkKSk7Ci0JY3J0Y19jb21taXRfYXRvbWljX2Vycigm Y3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAorCWNydGNfY29tbWl0X2F0b21pY19l cnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKIAkgICAgICAgICAgICAg ICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwogCisKIAkvKiBSZXN0b3JlIHRo ZSBDUlRDIGFuZCBjaGVjayB0aGUgc3RhdGUgbWF0Y2hlcyB0aGUgb2xkLiAqLwogCWNydGNfY29t bWl0X2F0b21pYyhjcnRjX29sZCwgcGxhbmUsIHJlcSwgQVRPTUlDX1JFTEFYX05PTkUsIDApOwog CiAJZHJtTW9kZUF0b21pY0ZyZWUocmVxKTsKIH0KIAorc3RhdGljIHZvaWQgY3J0Y19pbnZhbGlk X3BhcmFtc19mZW5jZShzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlICpjcnRjX29sZCwKKwkJ CQlzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSAqcGxhbmUsCisJCQkJc3RydWN0IGttc19h dG9taWNfY29ubmVjdG9yX3N0YXRlICpjb25uKQoreworCXN0cnVjdCBrbXNfYXRvbWljX2NydGNf c3RhdGUgY3J0YyA9ICpjcnRjX29sZDsKKwlkcm1Nb2RlQXRvbWljUmVxICpyZXEgPSBkcm1Nb2Rl QXRvbWljQWxsb2MoKTsKKwlpbnQgdGltZWxpbmUsIGZlbmNlX2ZkLCAqb3V0X2ZlbmNlOworCisJ aWd0X3JlcXVpcmVfc3dfc3luYygpOworCisJLyogaW52YWxpZCBvdXRfZmVuY2VfcHRyICovCisJ Y3J0Yy5tb2RlLmlkID0gY3J0Y19vbGQtPm1vZGUuaWQ7CisJY3J0Yy5vdXRfZmVuY2VfcHRyID0g KGludDMyX3QgKikgY3J0Y19pbnZhbGlkX3BhcmFtczsKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJy KCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCisJICAgICAgICAgICAgICAg ICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUZBVUxUKTsKKworCS8qIGludmFsaWQgb3V0X2Zl bmNlX3B0ciAqLworCWNydGMubW9kZS5pZCA9IGNydGNfb2xkLT5tb2RlLmlkOworCWNydGMub3V0 X2ZlbmNlX3B0ciA9IChpbnQzMl90ICopIDB4ODsKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZj cnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCisJICAgICAgICAgICAgICAgICAg ICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUZBVUxUKTsKKwljcnRjLm91dF9mZW5jZV9wdHIgPSAo aW50MzJfdCAqKSAwOworCisJLyogdmFsaWQgaW4gZmVuY2UgYnV0IG5vdCBhbGxvd2VkIHByb3Ag b24gY3J0YyAqLworCXRpbWVsaW5lID0gc3dfc3luY190aW1lbGluZV9jcmVhdGUoKTsKKwlmZW5j ZV9mZCA9ICBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZV9mZW5jZSh0aW1lbGluZSwgMSk7CisJcGxh bmUtPmZlbmNlX2ZkID0gZmVuY2VfZmQ7CisJY3J0Yy5hY3RpdmUgPSBmYWxzZTsKKwljcnRjX2Nv bW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCisJ CQkgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7CisKKwlvdXRfZmVuY2UgPSBtYWxs b2Moc2l6ZW9mKHVpbnQ2NF90KSk7CisJaWd0X2Fzc2VydChvdXRfZmVuY2UpOworCisKKwkvKiB2 YWxpZCBvdXQgZmVuY2UgcHRyIGFuZCBmbGlwIGV2ZW50IGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9u IGNydGMgKi8KKwljcnRjLm91dF9mZW5jZV9wdHIgPSAoaW50MzJfdCAqKSBvdXRfZmVuY2U7CisJ Y3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVx LCAwLAorCQkJICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOworCisJLyogdmFsaWQg b3V0IGZlbmNlIHB0ciBhbmQgZmxpcCBldmVudCBidXQgbm90IGFsbG93ZWQgcHJvcCBvbiBjcnRj ICovCisJY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFu ZSwgcmVxLAorCQkJICAgICAgIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwKKwkJCSAgICAgICBB VE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKKworCS8qIHZhbGlkIHBhZ2UgZmxpcCBldmVudCBi dXQgbm90IGFsbG93ZWQgcHJvcCBvbiBjcnRjICovCisJY3J0Yy5vdXRfZmVuY2VfcHRyID0gKGlu dDMyX3QgKikgMDsKKwljcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19v bGQsIHBsYW5lLCByZXEsCisJCQkgICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAorCQkJ ICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOworCWNydGMuYWN0aXZlID0gdHJ1ZTsK KworCS8qIHZhbGlkIG91dCBmZW5jZSAgcHRyIGFuZCBmbGlwIGV2ZW50IGJ1dCBpbnZhbGlkIHBy b3Agb24gY3J0YyAqLworCWNydGMub3V0X2ZlbmNlX3B0ciA9IChpbnQzMl90ICopIG91dF9mZW5j ZTsKKwljcnRjLm1vZGUuaWQgPSBwbGFuZS0+ZmJfaWQ7CisJY3J0Y19jb21taXRfYXRvbWljX2Vy cigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLCAwLAorCQkJICAgICAgIEFUT01J Q19SRUxBWF9OT05FLCBFSU5WQUwpOworCisJLyogdmFsaWQgb3V0IGZlbmNlIHB0ciBhbmQgZmxp cCBldmVudCBidXQgaW52YWxpZCBwcm9wIG9uIGNydGMgKi8KKwljcnRjX2NvbW1pdF9hdG9taWNf ZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCisJCQkgICAgICAgRFJNX01P REVfUEFHRV9GTElQX0VWRU5ULAorCQkJICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwp OworCisJLyogdmFsaWQgcGFnZSBmbGlwIGV2ZW50IGJ1dCBpbnZhbGlkIHByb3Agb24gY3J0YyAq LworCWNydGMub3V0X2ZlbmNlX3B0ciA9IChpbnQzMl90ICopIDA7CisJY3J0Y19jb21taXRfYXRv bWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAorCQkJICAgICAgIERS TV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwKKwkJCSAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlO VkFMKTsKKworCS8qIHN1Y2Nlc3NmdWwgVEVTVF9PTkxZIHdpdGggZmVuY2VzIHNldCAqLworCXBs YW5lLT5mZW5jZV9mZCA9IGZlbmNlX2ZkOworCWNydGMubW9kZS5pZCA9IGNydGNfb2xkLT5tb2Rl LmlkOworCWNydGNfY29tbWl0X2F0b21pYygmY3J0YywgcGxhbmUsIHJlcSwgQVRPTUlDX1JFTEFY X05PTkUsCisJCQkgICBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZKTsKKwlpZ3RfYXNzZXJ0KCpv dXRfZmVuY2UgPT0gLTEpOworCWNsb3NlKGZlbmNlX2ZkKTsKKwljbG9zZSh0aW1lbGluZSk7CisK KwkvKiByZXNldCBmZW5jZXMgKi8KKwlwbGFuZS0+ZmVuY2VfZmQgPSAtMTsKKwljcnRjLm91dF9m ZW5jZV9wdHIgPSAoaW50MzJfdCAqKSAwOworCWNydGNfY29tbWl0X2F0b21pYygmY3J0YywgcGxh bmUsIHJlcSwgQVRPTUlDX1JFTEFYX05PTkUsIDApOworCisJLyogb3V0IGZlbmNlIHB0ciBidXQg bm90IHBhZ2UgZmxpcCBldmVudCAqLworCWNydGMub3V0X2ZlbmNlX3B0ciA9IChpbnQzMl90ICop IG91dF9mZW5jZTsKKwljcnRjX2NvbW1pdF9hdG9taWMoY3J0Y19vbGQsIHBsYW5lLCByZXEsIEFU T01JQ19SRUxBWF9OT05FLCAwKTsKKworCWNsb3NlKCpvdXRfZmVuY2UpOworCWZyZWUob3V0X2Zl bmNlKTsKKwlkcm1Nb2RlQXRvbWljRnJlZShyZXEpOworfQorCiAvKiBBYnVzZSB0aGUgYXRvbWlj IGlvY3RsIGRpcmVjdGx5IGluIG9yZGVyIHRvIHRlc3QgdmFyaW91cyBpbnZhbGlkIGNvbmRpdGlv bnMsCiAgKiB3aGljaCB0aGUgbGliZHJtIHdyYXBwZXIgd29uJ3QgYWxsb3cgdXMgdG8gY3JlYXRl LiAqLwogc3RhdGljIHZvaWQgYXRvbWljX2ludmFsaWRfcGFyYW1zKHN0cnVjdCBrbXNfYXRvbWlj X2NydGNfc3RhdGUgKmNydGMsCkBAIC0xMzE1LDYgKzE0NTMsMjAgQEAgaWd0X21haW4KIAkJYXRv bWljX3N0YXRlX2ZyZWUoc2NyYXRjaCk7CiAJfQogCisJaWd0X3N1YnRlc3QoInBsYW5lX2ludmFs aWRfcGFyYW1zX2ZlbmNlIikgeworCQlzdHJ1Y3Qga21zX2F0b21pY19zdGF0ZSAqc2NyYXRjaCA9 IGF0b21pY19zdGF0ZV9kdXAoY3VycmVudCk7CisJCXN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3Rh dGUgKmNydGMgPSBmaW5kX2NydGMoc2NyYXRjaCwgdHJ1ZSk7CisJCXN0cnVjdCBrbXNfYXRvbWlj X3BsYW5lX3N0YXRlICpwbGFuZSA9CisJCQlmaW5kX3BsYW5lKGN1cnJlbnQsIFBMQU5FX1RZUEVf UFJJTUFSWSwgY3J0Yyk7CisJCXN0cnVjdCBrbXNfYXRvbWljX2Nvbm5lY3Rvcl9zdGF0ZSAqY29u biA9CisJCQlmaW5kX2Nvbm5lY3RvcihzY3JhdGNoLCBjcnRjKTsKKworCQlpZ3RfcmVxdWlyZShj cnRjKTsKKwkJaWd0X3JlcXVpcmUocGxhbmUpOworCQlwbGFuZV9pbnZhbGlkX3BhcmFtc19mZW5j ZShjcnRjLCBwbGFuZSwgY29ubik7CisJCWF0b21pY19zdGF0ZV9mcmVlKHNjcmF0Y2gpOworCX0K KwogCWlndF9zdWJ0ZXN0KCJjcnRjX2ludmFsaWRfcGFyYW1zIikgewogCQlzdHJ1Y3Qga21zX2F0 b21pY19zdGF0ZSAqc2NyYXRjaCA9IGF0b21pY19zdGF0ZV9kdXAoY3VycmVudCk7CiAJCXN0cnVj dCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMoc2NyYXRjaCwgdHJ1ZSk7 CkBAIC0xMzMwLDYgKzE0ODIsMjEgQEAgaWd0X21haW4KIAkJYXRvbWljX3N0YXRlX2ZyZWUoc2Ny YXRjaCk7CiAJfQogCisJaWd0X3N1YnRlc3QoImNydGNfaW52YWxpZF9wYXJhbXNfZmVuY2UiKSB7 CisJCXN0cnVjdCBrbXNfYXRvbWljX3N0YXRlICpzY3JhdGNoID0gYXRvbWljX3N0YXRlX2R1cChj dXJyZW50KTsKKwkJc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YyA9IGZpbmRfY3J0 YyhzY3JhdGNoLCB0cnVlKTsKKwkJc3RydWN0IGttc19hdG9taWNfcGxhbmVfc3RhdGUgKnBsYW5l ID0KKwkJCWZpbmRfcGxhbmUoc2NyYXRjaCwgTlVNX1BMQU5FX1RZUEVfUFJPUFMsIGNydGMpOwor CQlzdHJ1Y3Qga21zX2F0b21pY19jb25uZWN0b3Jfc3RhdGUgKmNvbm4gPQorCQkJZmluZF9jb25u ZWN0b3Ioc2NyYXRjaCwgY3J0Yyk7CisKKwkJaWd0X3JlcXVpcmUoY3J0Yyk7CisJCWlndF9yZXF1 aXJlKHBsYW5lKTsKKwkJaWd0X3JlcXVpcmUoY29ubik7CisJCWNydGNfaW52YWxpZF9wYXJhbXNf ZmVuY2UoY3J0YywgcGxhbmUsIGNvbm4pOworCQlhdG9taWNfc3RhdGVfZnJlZShzY3JhdGNoKTsK Kwl9CisKIAlpZ3Rfc3VidGVzdCgiYXRvbWljX2ludmFsaWRfcGFyYW1zIikgewogCQlzdHJ1Y3Qg a21zX2F0b21pY19zdGF0ZSAqc2NyYXRjaCA9IGF0b21pY19zdGF0ZV9kdXAoY3VycmVudCk7CiAJ CXN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMoc2NyYXRjaCwg dHJ1ZSk7Ci0tIAoyLjExLjAuNDUzLmc3ODdmNzVmMDUKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=