From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Starkey Subject: Re: [PATCH i-g-t v2 08/12] tests/kms_atomic: stress possible fence settings Date: Fri, 16 Dec 2016 19:05:13 +0000 Message-ID: <20161216190512.GB16797@e106950-lin.cambridge.arm.com> References: <20161214090509.15716-1-robert.foss@collabora.com> <20161214090509.15716-9-robert.foss@collabora.com> <20161214163935.GC16746@e106950-lin.cambridge.arm.com> <93c8bc01-cb87-d04a-c6ef-04d07afee503@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by gabe.freedesktop.org (Postfix) with ESMTP id 922A66ECA7 for ; Fri, 16 Dec 2016 19:05:16 +0000 (UTC) Content-Disposition: inline In-Reply-To: <93c8bc01-cb87-d04a-c6ef-04d07afee503@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Robert Foss Cc: Gustavo Padovan , intel-gfx@lists.freedesktop.org, Gustavo Padovan , Tomeu Vizoso List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMTYsIDIwMTYgYXQgMDM6MzU6MzZBTSAtMDUwMCwgUm9iZXJ0IEZvc3Mgd3Jv dGU6Cj4KPgo+T24gMjAxNi0xMi0xNCAxMTozOSBBTSwgQnJpYW4gU3RhcmtleSB3cm90ZToKPj5I aSwKPj4KPj5PbiBXZWQsIERlYyAxNCwgMjAxNiBhdCAwNDowNTowNUFNIC0wNTAwLCBSb2JlcnQg Rm9zcyB3cm90ZToKPj4+RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29s bGFib3JhLmNvLnVrPgo+Pj4KPj4+U2lnbmVkLW9mZi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0 YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+Pj5TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgRm9z cyA8cm9iZXJ0LmZvc3NAY29sbGFib3JhLmNvbT4KPj4+LS0tCj4+PnRlc3RzL2ttc19hdG9taWMu YyB8IDE4Ngo+Pj4rKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLQo+Pj4xIGZpbGUgY2hhbmdlZCwgMTc2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQo+Pj4KPj4+ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19hdG9taWMuYyBiL3Rlc3RzL2ttc19h dG9taWMuYwo+Pj5pbmRleCA4YjY0OGViYS4uYTU1N2FjNjAgMTAwNjQ0Cj4+Pi0tLSBhL3Rlc3Rz L2ttc19hdG9taWMuYwo+Pj4rKysgYi90ZXN0cy9rbXNfYXRvbWljLmMKPj4+QEAgLTQ0LDYgKzQ0 LDcgQEAKPj4+I2luY2x1ZGUgImRybXRlc3QuaCIKPj4+I2luY2x1ZGUgImlndC5oIgo+Pj4jaW5j bHVkZSAiaWd0X2F1eC5oIgo+Pj4rI2luY2x1ZGUgInN3X3N5bmMuaCIKPj4+Cj4+PiNpZm5kZWYg RFJNX0NMSUVOVF9DQVBfQVRPTUlDCj4+PiNkZWZpbmUgRFJNX0NMSUVOVF9DQVBfQVRPTUlDIDMK Pj4+QEAgLTEyNiw2ICsxMjcsNyBAQCBzdHJ1Y3Qga21zX2F0b21pY19wbGFuZV9zdGF0ZSB7Cj4+ PiAgICB1aW50MzJfdCBmYl9pZDsgLyogMCB0byBkaXNhYmxlICovCj4+PiAgICB1aW50MzJfdCBz cmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaDsgLyogMTYuMTYgZml4ZWQtcG9pbnQgKi8KPj4+ICAg IHVpbnQzMl90IGNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaDsgLyogbm9ybWFsIGludGVn ZXJzICovCj4+PisgICAgaW50MzJfdCBmZW5jZV9mZDsKPj4+fTsKPj4+Cj4+PnN0cnVjdCBrbXNf YXRvbWljX2NydGNfc3RhdGUgewo+Pj5AQCAtMTMzLDYgKzEzNSw3IEBAIHN0cnVjdCBrbXNfYXRv bWljX2NydGNfc3RhdGUgewo+Pj4gICAgdWludDMyX3Qgb2JqOwo+Pj4gICAgaW50IGlkeDsKPj4+ ICAgIGJvb2wgYWN0aXZlOwo+Pj4rICAgIHVpbnQ2NF90IG91dF9mZW5jZV9wdHI7Cj4+PiAgICBz dHJ1Y3Qga21zX2F0b21pY19ibG9iIG1vZGU7Cj4+Pn07Cj4+Pgo+Pj5AQCAtMTkwLDExICsxOTMs MTMgQEAgc3RhdGljIHVpbnQzMl90IGJsb2JfZHVwbGljYXRlKGludCBmZCwgdWludDMyX3QKPj4+ aWRfb3JpZykKPj4+ICAgIGNydGNfcG9wdWxhdGVfcmVxKGNydGMsIHJlcSk7IFwKPj4+ICAgIHBs YW5lX3BvcHVsYXRlX3JlcShwbGFuZSwgcmVxKTsgXAo+Pj4gICAgZG9fYXRvbWljX2NvbW1pdCgo Y3J0YyktPnN0YXRlLT5kZXNjLT5mZCwgcmVxLCBmbGFncyk7IFwKPj4+LSAgICBjcnRjX2NoZWNr X2N1cnJlbnRfc3RhdGUoY3J0YywgcGxhbmUsIHJlbGF4KTsgXAo+Pj4tICAgIHBsYW5lX2NoZWNr X2N1cnJlbnRfc3RhdGUocGxhbmUsIHJlbGF4KTsgXAo+Pj4rICAgIGlmICghKGZsYWdzICYgRFJN X01PREVfQVRPTUlDX1RFU1RfT05MWSkpIHsgXAo+Pj4rICAgICAgICBjcnRjX2NoZWNrX2N1cnJl bnRfc3RhdGUoY3J0YywgcGxhbmUsIHJlbGF4KTsgXAo+Pj4rICAgICAgICBwbGFuZV9jaGVja19j dXJyZW50X3N0YXRlKHBsYW5lLCByZWxheCk7IFwKPj4+KyAgICB9IFwKPj4+fQo+Pj4KPj4+LSNk ZWZpbmUgY3J0Y19jb21taXRfYXRvbWljX2VycihjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5l X29sZCwgcmVxLAo+Pj5yZWxheCwgZSkgeyBcCj4+PisjZGVmaW5lIGNydGNfY29tbWl0X2F0b21p Y19lcnIoY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZV9vbGQsIHJlcSwKPj4+ZmxhZ3MsIHJl bGF4LCBlKSB7IFwKPj4+ICAgIGRybU1vZGVBdG9taWNTZXRDdXJzb3IocmVxLCAwKTsgXAo+Pj4g ICAgY3J0Y19wb3B1bGF0ZV9yZXEoY3J0YywgcmVxKTsgXAo+Pj4gICAgcGxhbmVfcG9wdWxhdGVf cmVxKHBsYW5lLCByZXEpOyBcCj4+PkBAIC0yOTksNiArMzA0LDkgQEAgZmluZF9jb25uZWN0b3Io c3RydWN0IGttc19hdG9taWNfc3RhdGUgKnN0YXRlLAo+Pj5zdGF0aWMgdm9pZCBwbGFuZV9wb3B1 bGF0ZV9yZXEoc3RydWN0IGttc19hdG9taWNfcGxhbmVfc3RhdGUgKnBsYW5lLAo+Pj4gICAgICAg ICAgICAgICAgICAgZHJtTW9kZUF0b21pY1JlcSAqcmVxKQo+Pj57Cj4+PisgICAgaWYgKHBsYW5l LT5mZW5jZV9mZCkKPj4+KyAgICAgICAgcGxhbmVfc2V0X3Byb3AocmVxLCBwbGFuZSwgSUdUX1BM QU5FX0lOX0ZFTkNFX0ZELAo+Pj5wbGFuZS0+ZmVuY2VfZmQpOwo+Pj4rCj4+PiAgICBwbGFuZV9z ZXRfcHJvcChyZXEsIHBsYW5lLCBJR1RfUExBTkVfQ1JUQ19JRCwgcGxhbmUtPmNydGNfaWQpOwo+ Pj4gICAgcGxhbmVfc2V0X3Byb3AocmVxLCBwbGFuZSwgSUdUX1BMQU5FX0ZCX0lELCBwbGFuZS0+ ZmJfaWQpOwo+Pj4gICAgcGxhbmVfc2V0X3Byb3AocmVxLCBwbGFuZSwgSUdUX1BMQU5FX1NSQ19Y LCBwbGFuZS0+c3JjX3gpOwo+Pj5AQCAtNDI0LDYgKzQzMiwxMCBAQCBmaW5kX3BsYW5lKHN0cnVj dCBrbXNfYXRvbWljX3N0YXRlICpzdGF0ZSwgZW51bQo+Pj5wbGFuZV90eXBlIHR5cGUsCj4+PnN0 YXRpYyB2b2lkIGNydGNfcG9wdWxhdGVfcmVxKHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUg KmNydGMsCj4+PiAgICAgICAgICAgICAgICAgIGRybU1vZGVBdG9taWNSZXEgKnJlcSkKPj4+ewo+ Pj4rICAgIGlmIChjcnRjLT5vdXRfZmVuY2VfcHRyKQo+Pj4rICAgICAgICBjcnRjX3NldF9wcm9w KHJlcSwgY3J0YywgSUdUX0NSVENfT1VUX0ZFTkNFX1BUUiwKPj4+KyAgICAgICAgICAgICAgICAg IGNydGMtPm91dF9mZW5jZV9wdHIpOwo+Pj4rCj4+PiAgICBjcnRjX3NldF9wcm9wKHJlcSwgY3J0 YywgSUdUX0NSVENfTU9ERV9JRCwgY3J0Yy0+bW9kZS5pZCk7Cj4+PiAgICBjcnRjX3NldF9wcm9w KHJlcSwgY3J0YywgSUdUX0NSVENfQUNUSVZFLCBjcnRjLT5hY3RpdmUpOwo+Pj59Cj4+PkBAIC0x MDUyLDYgKzEwNjQsMzcgQEAgc3RhdGljIHZvaWQgcGxhbmVfaW52YWxpZF9wYXJhbXMoc3RydWN0 Cj4+Pmttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YywKPj4+ICAgIGRybU1vZGVBdG9taWNGcmVl KHJlcSk7Cj4+Pn0KPj4+Cj4+PitzdGF0aWMgdm9pZCBwbGFuZV9pbnZhbGlkX3BhcmFtc19mZW5j ZShzdHJ1Y3Qga21zX2F0b21pY19jcnRjX3N0YXRlCj4+PipjcnRjLAo+Pj4rICAgICAgICAgICAg ICAgIHN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlICpwbGFuZV9vbGQsCj4+PisgICAgICAg ICAgICAgICAgc3RydWN0IGttc19hdG9taWNfY29ubmVjdG9yX3N0YXRlICpjb25uKQo+Pj4rewo+ Pj4rICAgIHN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlIHBsYW5lID0gKnBsYW5lX29sZDsK Pj4+KyAgICBkcm1Nb2RlQXRvbWljUmVxICpyZXEgPSBkcm1Nb2RlQXRvbWljQWxsb2MoKTsKPj4+ KyAgICBpbnQgdGltZWxpbmUsIGZlbmNlX2ZkOwo+Pj4rCj4+PisgICAgaWd0X3JlcXVpcmVfc3df c3luYygpOwo+Pj4rCj4+PisgICAgLyogaW52YWxpZCBmZW5jZSBmZCAqLwo+Pj4rICAgIHBsYW5l LmZlbmNlX2ZkID0gcGxhbmUuc3RhdGUtPmRlc2MtPmZkOwo+Pj4rICAgIHBsYW5lLmNydGNfaWQg PSBwbGFuZV9vbGQtPmNydGNfaWQ7Cj4+PisgICAgcGxhbmVfY29tbWl0X2F0b21pY19lcnIoJnBs YW5lLCBwbGFuZV9vbGQsIHJlcSwKPj4+KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVE9N SUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKPj4+Kwo+Pj4rICAgIC8qIFZhbGlkIGZlbmNlX2ZkIGJ1 dCBpbnZhbGlkIENSVEMgKi8KPj4+KyAgICB0aW1lbGluZSA9IHN3X3N5bmNfdGltZWxpbmVfY3Jl YXRlKCk7Cj4+PisgICAgZmVuY2VfZmQgPSAgc3dfc3luY19mZW5jZV9jcmVhdGUodGltZWxpbmUs IDEpOwo+Pj4rICAgIHBsYW5lLmZlbmNlX2ZkID0gZmVuY2VfZmQ7Cj4+PisgICAgcGxhbmUuY3J0 Y19pZCA9IH4wVTsKPj4+KyAgICBwbGFuZV9jb21taXRfYXRvbWljX2VycigmcGxhbmUsIHBsYW5l X29sZCwgcmVxLAo+Pj4rICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9O T05FLCBFSU5WQUwpOwo+Pj4rCj4+PisgICAgcGxhbmUuZmVuY2VfZmQgPSAtMTsKPj4+KyAgICBj bG9zZShmZW5jZV9mZCk7Cj4+PisgICAgY2xvc2UodGltZWxpbmUpOwo+Pj4rCj4+PisgICAgZHJt TW9kZUF0b21pY0ZyZWUocmVxKTsKPj4+K30KPj4+Kwo+Pj5zdGF0aWMgdm9pZCBjcnRjX2ludmFs aWRfcGFyYW1zKHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGNfb2xkLAo+Pj4gICAg ICAgICAgICAgICAgc3RydWN0IGttc19hdG9taWNfcGxhbmVfc3RhdGUgKnBsYW5lLAo+Pj4gICAg ICAgICAgICAgICAgc3RydWN0IGttc19hdG9taWNfY29ubmVjdG9yX3N0YXRlICpjb25uKQo+Pj5A QCAtMTA2MywzMCArMTEwNiwzMiBAQCBzdGF0aWMgdm9pZCBjcnRjX2ludmFsaWRfcGFyYW1zKHN0 cnVjdAo+Pj5rbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGNfb2xkLAo+Pj4KPj4+ICAgIC8qIFBh c3MgYSBzZXJpZXMgb2YgaW52YWxpZCBvYmplY3QgSURzIGZvciB0aGUgbW9kZSBJRC4gKi8KPj4+ ICAgIGNydGMubW9kZS5pZCA9IHBsYW5lLT5vYmo7Cj4+Pi0gICAgY3J0Y19jb21taXRfYXRvbWlj X2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAo+Pj4rICAgIGNydGNfY29t bWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKPj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7Cj4+ Pgo+Pj4gICAgY3J0Yy5tb2RlLmlkID0gY3J0Yy5vYmo7Cj4+Pi0gICAgY3J0Y19jb21taXRfYXRv bWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAo+Pj4rICAgIGNydGNf Y29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwK Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7 Cj4+Pgo+Pj4gICAgY3J0Yy5tb2RlLmlkID0gY29ubi0+b2JqOwo+Pj4tICAgIGNydGNfY29tbWl0 X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwKPj4+KyAgICBj cnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEs IDAsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5W QUwpOwo+Pj4KPj4+ICAgIGNydGMubW9kZS5pZCA9IHBsYW5lLT5mYl9pZDsKPj4+LSAgICBjcnRj X2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCj4+ PisgICAgY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFu ZSwgcmVxLCAwLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9O RSwgRUlOVkFMKTsKPj4+Cj4+PisgICAgLyogc3VjY2Vzc2Z1bCBURVNUX09OTFkgd2l0aCBmZW5j ZXMgc2V0ICovCj4+PiAgICBjcnRjLm1vZGUuaWQgPSBjcnRjX29sZC0+bW9kZS5pZDsKPj4+LSAg ICBjcnRjX2NvbW1pdF9hdG9taWMoJmNydGMsIHBsYW5lLCByZXEsIEFUT01JQ19SRUxBWF9OT05F LCAwKTsKPj4+KyAgICBjcnRjX2NvbW1pdF9hdG9taWMoJmNydGMsIHBsYW5lLCByZXEsIEFUT01J Q19SRUxBWF9OT05FLAo+Pj4rICAgICAgICAgICAgICAgRFJNX01PREVfQVRPTUlDX1RFU1RfT05M WSk7Cj4+Pgo+Pj4gICAgLyogQ3JlYXRlIGEgYmxvYiB3aGljaCBpcyB0aGUgd3Jvbmcgc2l6ZSB0 byBiZSBhIHZhbGlkIG1vZGUuICovCj4+PiAgICBkb19vcl9kaWUoZHJtTW9kZUNyZWF0ZVByb3Bl cnR5QmxvYihjcnRjLnN0YXRlLT5kZXNjLT5mZCwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAg Y3J0Yy5tb2RlLmRhdGEsCj4+PiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qg ZHJtX21vZGVfbW9kZWluZm8pIC0gMSwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgJmNydGMu bW9kZS5pZCkpOwo+Pj4tICAgIGNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBj cnRjX29sZCwgcGxhbmUsIHJlcSwKPj4+KyAgICBjcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRj LCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwo+Pj4KPj4+Cj4+PkBAIC0xMDk0LDE1 ICsxMTM5LDEwNyBAQCBzdGF0aWMgdm9pZCBjcnRjX2ludmFsaWRfcGFyYW1zKHN0cnVjdAo+Pj5r bXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGNfb2xkLAo+Pj4gICAgICAgICAgICAgICAgICAgICAg ICBjcnRjLm1vZGUuZGF0YSwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVj dCBkcm1fbW9kZV9tb2RlaW5mbykgKyAxLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAmY3J0 Yy5tb2RlLmlkKSk7Cj4+Pi0gICAgY3J0Y19jb21taXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUs IGNydGNfb2xkLCBwbGFuZSwgcmVxLAo+Pj4rICAgIGNydGNfY29tbWl0X2F0b21pY19lcnIoJmNy dGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7Cj4+Pgo+Pj4rCj4+PiAgICAvKiBS ZXN0b3JlIHRoZSBDUlRDIGFuZCBjaGVjayB0aGUgc3RhdGUgbWF0Y2hlcyB0aGUgb2xkLiAqLwo+ Pj4gICAgY3J0Y19jb21taXRfYXRvbWljKGNydGNfb2xkLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVM QVhfTk9ORSwgMCk7Cj4+Pgo+Pj4gICAgZHJtTW9kZUF0b21pY0ZyZWUocmVxKTsKPj4+fQo+Pj4K Pj4+K3N0YXRpYyB2b2lkIGNydGNfaW52YWxpZF9wYXJhbXNfZmVuY2Uoc3RydWN0IGttc19hdG9t aWNfY3J0Y19zdGF0ZQo+Pj4qY3J0Y19vbGQsCj4+PisgICAgICAgICAgICAgICAgc3RydWN0IGtt c19hdG9taWNfcGxhbmVfc3RhdGUgKnBsYW5lLAo+Pj4rICAgICAgICAgICAgICAgIHN0cnVjdCBr bXNfYXRvbWljX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubikKPj4+K3sKPj4+KyAgICBzdHJ1Y3Qga21z X2F0b21pY19jcnRjX3N0YXRlIGNydGMgPSAqY3J0Y19vbGQ7Cj4+PisgICAgZHJtTW9kZUF0b21p Y1JlcSAqcmVxID0gZHJtTW9kZUF0b21pY0FsbG9jKCk7Cj4+PisgICAgaW50IHRpbWVsaW5lLCBm ZW5jZV9mZCwgKm91dF9mZW5jZTsKPj4+Kwo+Pj4rICAgIGlndF9yZXF1aXJlX3N3X3N5bmMoKTsK Pj4+Kwo+Pj4rICAgIC8qIGludmFsaWQgb3V0X2ZlbmNlX3B0ciAqLwo+Pj4rICAgIGNydGMubW9k ZS5pZCA9IGNydGNfb2xkLT5tb2RlLmlkOwo+Pj4rICAgIGNydGMub3V0X2ZlbmNlX3B0ciA9ICh1 aW50NjRfdCkodWludHB0cl90KSBjcnRjX2ludmFsaWRfcGFyYW1zOwo+Pj4rICAgIGNydGNfY29t bWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBjcnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKPj4+ KyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFRkFVTFQpOwo+ Pj4rCj4+PisgICAgLyogaW52YWxpZCBvdXRfZmVuY2VfcHRyICovCj4+PisgICAgY3J0Yy5tb2Rl LmlkID0gY3J0Y19vbGQtPm1vZGUuaWQ7Cj4+PisgICAgY3J0Yy5vdXRfZmVuY2VfcHRyID0gKHVp bnQ2NF90KSh1aW50cHRyX3QpIDB4ODsKPj4+KyAgICBjcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZj cnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsIDAsCj4+PisgICAgICAgICAgICAgICAg ICAgICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUZBVUxUKTsKPj4+KyAgICBjcnRjLm91dF9m ZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsKPj4+Kwo+Pj4rICAgIC8qIHZhbGlk IGluIGZlbmNlIGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9uIGNydGMgKi8KPj4+KyAgICB0aW1lbGlu ZSA9IHN3X3N5bmNfdGltZWxpbmVfY3JlYXRlKCk7Cj4+PisgICAgZmVuY2VfZmQgPSAgc3dfc3lu Y19mZW5jZV9jcmVhdGUodGltZWxpbmUsIDEpOwo+Pj4rICAgIHBsYW5lLT5mZW5jZV9mZCA9IGZl bmNlX2ZkOwo+Pj4rICAgIGNydGMuYWN0aXZlID0gZmFsc2U7Cj4+PisgICAgY3J0Y19jb21taXRf YXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLCAwLAo+Pj4rICAg ICAgICAgICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwo+Pj4rCj4+PisgICAg b3V0X2ZlbmNlID0gbWFsbG9jKHNpemVvZih1aW50NjRfdCkpOwo+Pj4rICAgIGlndF9hc3NlcnQo b3V0X2ZlbmNlKTsKPj4+Kwo+Pj4rCj4+PisgICAgLyogdmFsaWQgb3V0IGZlbmNlIHB0ciBhbmQg ZmxpcCBldmVudCBidXQgbm90IGFsbG93ZWQgcHJvcCBvbgo+Pj5jcnRjICovCj4+PisgICAgY3J0 Yy5vdXRfZmVuY2VfcHRyID0gKHVpbnQ2NF90KSh1aW50cHRyX3QpIG91dF9mZW5jZTsKPj4+KyAg ICBjcnRjX2NvbW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCBy ZXEsIDAsCj4+PisgICAgICAgICAgICAgICAgICAgQVRPTUlDX1JFTEFYX05PTkUsIEVJTlZBTCk7 Cj4+PisKPj4+KyAgICAvKiB2YWxpZCBvdXQgZmVuY2UgcHRyIGFuZCBmbGlwIGV2ZW50IGJ1dCBu b3QgYWxsb3dlZCBwcm9wIG9uCj4+PmNydGMgKi8KPj4+KyAgICBjcnRjX2NvbW1pdF9hdG9taWNf ZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCj4+PisgICAgICAgICAgICAg ICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAo+Pj4rICAgICAgICAgICAgICAgICAgIEFU T01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwo+Pj4rCj4+PisgICAgLyogdmFsaWQgcGFnZSBmbGlw IGV2ZW50IGJ1dCBub3QgYWxsb3dlZCBwcm9wIG9uIGNydGMgKi8KPj4+KyAgICBjcnRjLm91dF9m ZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsKPj4+KyAgICBjcnRjX2NvbW1pdF9h dG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCj4+PisgICAgICAg ICAgICAgICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAo+Pj4rICAgICAgICAgICAgICAg ICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwo+Pj4rICAgIGNydGMuYWN0aXZlID0gdHJ1 ZTsKPj4+Kwo+Pj4rICAgIC8qIHZhbGlkIG91dCBmZW5jZSAgcHRyIGFuZCBmbGlwIGV2ZW50IGJ1 dCBpbnZhbGlkIHByb3Agb24gY3J0YyAqLwo+Pj4rICAgIGNydGMub3V0X2ZlbmNlX3B0ciA9ICh1 aW50NjRfdCkodWludHB0cl90KSBvdXRfZmVuY2U7Cj4+PisgICAgY3J0Yy5tb2RlLmlkID0gcGxh bmUtPmZiX2lkOwo+Pj4rICAgIGNydGNfY29tbWl0X2F0b21pY19lcnIoJmNydGMsIHBsYW5lLCBj cnRjX29sZCwgcGxhbmUsIHJlcSwgMCwKPj4+KyAgICAgICAgICAgICAgICAgICBBVE9NSUNfUkVM QVhfTk9ORSwgRUlOVkFMKTsKPj4+Kwo+Pj4rICAgIC8qIHZhbGlkIG91dCBmZW5jZSBwdHIgYW5k IGZsaXAgZXZlbnQgYnV0IGludmFsaWQgcHJvcCBvbiBjcnRjICovCj4+PisgICAgY3J0Y19jb21t aXRfYXRvbWljX2VycigmY3J0YywgcGxhbmUsIGNydGNfb2xkLCBwbGFuZSwgcmVxLAo+Pj4rICAg ICAgICAgICAgICAgICAgIERSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwKPj4+KyAgICAgICAgICAg ICAgICAgICBBVE9NSUNfUkVMQVhfTk9ORSwgRUlOVkFMKTsKPj4+Kwo+Pj4rICAgIC8qIHZhbGlk IHBhZ2UgZmxpcCBldmVudCBidXQgaW52YWxpZCBwcm9wIG9uIGNydGMgKi8KPj4+KyAgICBjcnRj Lm91dF9mZW5jZV9wdHIgPSAodWludDY0X3QpKHVpbnRwdHJfdCkgMDsKPj4+KyAgICBjcnRjX2Nv bW1pdF9hdG9taWNfZXJyKCZjcnRjLCBwbGFuZSwgY3J0Y19vbGQsIHBsYW5lLCByZXEsCj4+Pisg ICAgICAgICAgICAgICAgICAgRFJNX01PREVfUEFHRV9GTElQX0VWRU5ULAo+Pj4rICAgICAgICAg ICAgICAgICAgIEFUT01JQ19SRUxBWF9OT05FLCBFSU5WQUwpOwo+Pj4rCj4+PisgICAgLyogc3Vj Y2Vzc2Z1bCBURVNUX09OTFkgd2l0aCBmZW5jZXMgc2V0ICovCj4+PisgICAgcGxhbmUtPmZlbmNl X2ZkID0gZmVuY2VfZmQ7Cj4+PisgICAgY3J0Yy5tb2RlLmlkID0gY3J0Y19vbGQtPm1vZGUuaWQ7 Cj4+PisgICAgY3J0Y19jb21taXRfYXRvbWljKCZjcnRjLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVM QVhfTk9ORSwKPj4+KyAgICAgICAgICAgICAgIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFkpOwo+ Pj4rICAgIGlndF9hc3NlcnQoKm91dF9mZW5jZSA9PSAtMSk7Cj4+PisgICAgY2xvc2UoZmVuY2Vf ZmQpOwo+Pj4rICAgIGNsb3NlKHRpbWVsaW5lKTsKPj4+Kwo+Pj4rICAgIC8qIHJlc2V0IGZlbmNl cyAqLwo+Pj4rICAgIHBsYW5lLT5mZW5jZV9mZCA9IC0xOwo+Pj4rICAgIGNydGMub3V0X2ZlbmNl X3B0ciA9ICh1aW50NjRfdCkodWludHB0cl90KSAwOwo+Pj4rICAgIGNydGNfY29tbWl0X2F0b21p YygmY3J0YywgcGxhbmUsIHJlcSwgQVRPTUlDX1JFTEFYX05PTkUsIDApOwo+Pj4rCj4+PisgICAg Lyogb3V0IGZlbmNlIHB0ciBidXQgbm90IHBhZ2UgZmxpcCBldmVudCAqLwo+Pj4rICAgIGNydGMu b3V0X2ZlbmNlX3B0ciA9ICh1aW50NjRfdCkodWludHB0cl90KSBvdXRfZmVuY2U7Cj4+PisgICAg Y3J0Y19jb21taXRfYXRvbWljKGNydGNfb2xkLCBwbGFuZSwgcmVxLCBBVE9NSUNfUkVMQVhfTk9O RSwgMCk7Cj4+Cj4+V2hhdCBhcmUgdGhlIHByZXZpb3VzIHR3byBjb21taXRzIGZvcj8gVGhleSBk b24ndCBzZWVtIHRvIGJlIGludmFsaWQuCj4KPlRoZXkgZG9uJ3Qgc2VlbSB0byBiZSBpbnZhbGlk IHRvIG1lIGVpdGhlciwgd291bGQgeW91IHByZWZlciB0byBoYXZlIAo+dGhlbSBzZXBhcmF0ZWQg b3V0IGludG8gYSBzdWJ0ZXN0IHdpdGhvdXQgaW52YWxpZCBpbiBpdHMgbmFtZT8KPgoKSWYgeW91 IGRvbid0IHRoaW5rIHNwbGl0dGluZyB0aGVtIG91dCBpcyB0b28gZXhjZXNzaXZlLCB0aGVuIHll YWguCkkgdGhpbmsgdGhlIGxhc3Qgb25lIGlzbid0IHJlYWxseSBuZWVkZWQgYXQgYWxsIC0gaXNu J3QgaXQgZXhlcmNpc2luZwp0aGUgc2FtZSBjb2RlLXBhdGhzIGFzIHRoZSBub3JtYWwsIHZhbGlk ICIqLWZlbmNpbmciIHRlc3RzPwoKQW55d2F5LCBhdCBsZWFzdCBhIGNvbW1lbnQgc2F5aW5nIHRo ZXkgYXJlbid0IGludmFsaWQgY291bGQgc2F2ZSBzb21lCmhlYWQtc2NyYXRjaGluZy4KCkNoZWVy cywKQnJpYW4KCj4+Cj4+PisKPj4+KyAgICBmcmVlKG91dF9mZW5jZSk7Cj4+Cj4+TmVlZCB0byBj bG9zZSgqb3V0X2ZlbmNlKSBiZWZvcmUgZnJlZWluZyBpdD8KPj4KPj4tQnJpYW4KPgo+WWVwLCBm aXhpbmcgaW4gdjMuCj4KPj4KPj4+KyAgICBkcm1Nb2RlQXRvbWljRnJlZShyZXEpOwo+Pj4rfQo+ Pj4rCj4+Pi8qIEFidXNlIHRoZSBhdG9taWMgaW9jdGwgZGlyZWN0bHkgaW4gb3JkZXIgdG8gdGVz dCB2YXJpb3VzIGludmFsaWQKPj4+Y29uZGl0aW9ucywKPj4+ICogd2hpY2ggdGhlIGxpYmRybSB3 cmFwcGVyIHdvbid0IGFsbG93IHVzIHRvIGNyZWF0ZS4gKi8KPj4+c3RhdGljIHZvaWQgYXRvbWlj X2ludmFsaWRfcGFyYW1zKHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMsCj4+PkBA IC0xMzA2LDYgKzE0NDMsMjAgQEAgaWd0X21haW4KPj4+ICAgICAgICBhdG9taWNfc3RhdGVfZnJl ZShzY3JhdGNoKTsKPj4+ICAgIH0KPj4+Cj4+PisgICAgaWd0X3N1YnRlc3QoInBsYW5lX2ludmFs aWRfcGFyYW1zX2ZlbmNlIikgewo+Pj4rICAgICAgICBzdHJ1Y3Qga21zX2F0b21pY19zdGF0ZSAq c2NyYXRjaCA9IGF0b21pY19zdGF0ZV9kdXAoY3VycmVudCk7Cj4+PisgICAgICAgIHN0cnVjdCBr bXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMoc2NyYXRjaCwgdHJ1ZSk7Cj4+ PisgICAgICAgIHN0cnVjdCBrbXNfYXRvbWljX3BsYW5lX3N0YXRlICpwbGFuZSA9Cj4+PisgICAg ICAgICAgICBmaW5kX3BsYW5lKGN1cnJlbnQsIFBMQU5FX1RZUEVfUFJJTUFSWSwgY3J0Yyk7Cj4+ PisgICAgICAgIHN0cnVjdCBrbXNfYXRvbWljX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubiA9Cj4+Pisg ICAgICAgICAgICBmaW5kX2Nvbm5lY3RvcihzY3JhdGNoLCBjcnRjKTsKPj4+Kwo+Pj4rICAgICAg ICBpZ3RfcmVxdWlyZShjcnRjKTsKPj4+KyAgICAgICAgaWd0X3JlcXVpcmUocGxhbmUpOwo+Pj4r ICAgICAgICBwbGFuZV9pbnZhbGlkX3BhcmFtc19mZW5jZShjcnRjLCBwbGFuZSwgY29ubik7Cj4+ PisgICAgICAgIGF0b21pY19zdGF0ZV9mcmVlKHNjcmF0Y2gpOwo+Pj4rICAgIH0KPj4+Kwo+Pj4g ICAgaWd0X3N1YnRlc3QoImNydGNfaW52YWxpZF9wYXJhbXMiKSB7Cj4+PiAgICAgICAgc3RydWN0 IGttc19hdG9taWNfc3RhdGUgKnNjcmF0Y2ggPSBhdG9taWNfc3RhdGVfZHVwKGN1cnJlbnQpOwo+ Pj4gICAgICAgIHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMo c2NyYXRjaCwgdHJ1ZSk7Cj4+PkBAIC0xMzIxLDYgKzE0NzIsMjEgQEAgaWd0X21haW4KPj4+ICAg ICAgICBhdG9taWNfc3RhdGVfZnJlZShzY3JhdGNoKTsKPj4+ICAgIH0KPj4+Cj4+PisgICAgaWd0 X3N1YnRlc3QoImNydGNfaW52YWxpZF9wYXJhbXNfZmVuY2UiKSB7Cj4+PisgICAgICAgIHN0cnVj dCBrbXNfYXRvbWljX3N0YXRlICpzY3JhdGNoID0gYXRvbWljX3N0YXRlX2R1cChjdXJyZW50KTsK Pj4+KyAgICAgICAgc3RydWN0IGttc19hdG9taWNfY3J0Y19zdGF0ZSAqY3J0YyA9IGZpbmRfY3J0 YyhzY3JhdGNoLCB0cnVlKTsKPj4+KyAgICAgICAgc3RydWN0IGttc19hdG9taWNfcGxhbmVfc3Rh dGUgKnBsYW5lID0KPj4+KyAgICAgICAgICAgIGZpbmRfcGxhbmUoc2NyYXRjaCwgTlVNX1BMQU5F X1RZUEVfUFJPUFMsIGNydGMpOwo+Pj4rICAgICAgICBzdHJ1Y3Qga21zX2F0b21pY19jb25uZWN0 b3Jfc3RhdGUgKmNvbm4gPQo+Pj4rICAgICAgICAgICAgZmluZF9jb25uZWN0b3Ioc2NyYXRjaCwg Y3J0Yyk7Cj4+PisKPj4+KyAgICAgICAgaWd0X3JlcXVpcmUoY3J0Yyk7Cj4+PisgICAgICAgIGln dF9yZXF1aXJlKHBsYW5lKTsKPj4+KyAgICAgICAgaWd0X3JlcXVpcmUoY29ubik7Cj4+PisgICAg ICAgIGNydGNfaW52YWxpZF9wYXJhbXNfZmVuY2UoY3J0YywgcGxhbmUsIGNvbm4pOwo+Pj4rICAg ICAgICBhdG9taWNfc3RhdGVfZnJlZShzY3JhdGNoKTsKPj4+KyAgICB9Cj4+PisKPj4+ICAgIGln dF9zdWJ0ZXN0KCJhdG9taWNfaW52YWxpZF9wYXJhbXMiKSB7Cj4+PiAgICAgICAgc3RydWN0IGtt c19hdG9taWNfc3RhdGUgKnNjcmF0Y2ggPSBhdG9taWNfc3RhdGVfZHVwKGN1cnJlbnQpOwo+Pj4g ICAgICAgIHN0cnVjdCBrbXNfYXRvbWljX2NydGNfc3RhdGUgKmNydGMgPSBmaW5kX2NydGMoc2Ny YXRjaCwgdHJ1ZSk7Cj4+Pi0tCj4+PjIuMTEuMAo+Pj4KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==