From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v2 i-g-t] tests/gem_softpin: Use offset addresses in canonical form Date: Wed, 6 Jan 2016 15:00:39 +0000 Message-ID: <1452092439-12345-1-git-send-email-michel.thierry@intel.com> References: <1449843255-32640-1-git-send-email-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id A78D86E5C4 for ; Wed, 6 Jan 2016 04:58:50 -0800 (PST) In-Reply-To: <1449843255-32640-1-git-send-email-michel.thierry@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 aTkxNSB2YWxpZGF0ZXMgdGhhdCByZXF1ZXN0ZWQgb2Zmc2V0IGlzIGluIGNhbm9uaWNhbCBmb3Jt LCBzbyB0ZXN0cyBuZWVkCnRvIGNvbnZlcnQgdGhlIG9mZnNldHMgYXMgcmVxdWlyZWQuCgpBbHNv IGFkZCB0ZXN0IHRvIHZlcmlmeSBub24tY2Fub25pY2FsIDQ4LWJpdCBhZGRyZXNzIHdpbGwgYmUg cmVqZWN0ZWQuCgp2MjogVXNlIHNpZ25fZXh0ZW5kNjQgZm9yIGNvbnZlcnRpbmcgdG8gY2Fub25p Y2FsIGZvcm0gKFR2cnRrbykKCkNjOiBWaW5heSBCZWxnYXVta2FyIDx2aW5heS5iZWxnYXVta2Fy QGludGVsLmNvbT4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRl bC5jb20+ClJldmlld2VkLWJ5OiBWaW5heSBCZWxnYXVta2FyIDx2aW5heS5iZWxnYXVta2FyQGlu dGVsLmNvbT4gKHYxKQpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVy cnlAaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9zb2Z0cGluLmMgfCA2OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDQ5IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2dl bV9zb2Z0cGluLmMgYi90ZXN0cy9nZW1fc29mdHBpbi5jCmluZGV4IDA5MTk3MTYuLjFjYmRlNGUg MTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9zb2Z0cGluLmMKKysrIGIvdGVzdHMvZ2VtX3NvZnRwaW4u YwpAQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCAqY3JlYXRlX21lbV9idWZmZXIodWludDY0 X3Qgc2l6ZSk7CiBzdGF0aWMgaW50IGdlbV9jYWxsX3VzZXJwdHJfaW9jdGwoaW50IGZkLCBpOTE1 X2dlbV91c2VycHRyICp1c2VycHRyKTsKIHN0YXRpYyB2b2lkIGdlbV9waW5fdXNlcnB0cl90ZXN0 KHZvaWQpOwogc3RhdGljIHZvaWQgZ2VtX3Bpbl9ib190ZXN0KHZvaWQpOwotc3RhdGljIHZvaWQg Z2VtX3Bpbl9pbnZhbGlkX3ZtYV90ZXN0KGJvb2wgdGVzdF9kZWNvdXBsZV9mbGFncyk7CitzdGF0 aWMgdm9pZCBnZW1fcGluX2ludmFsaWRfdm1hX3Rlc3QoYm9vbCB0ZXN0X2RlY291cGxlX2ZsYWdz LCBib29sIHRlc3RfY2Fub25pY2FsX29mZnNldCk7CiBzdGF0aWMgdm9pZCBnZW1fcGluX292ZXJs YXBfdGVzdCh2b2lkKTsKIHN0YXRpYyB2b2lkIGdlbV9waW5faGlnaF9hZGRyZXNzX3Rlc3Qodm9p ZCk7CiAKQEAgLTE5OCw2ICsxOTgsMTggQEAgc3RhdGljIHZvaWQgc2V0dXBfZXhlY19vYmooc3Ry dWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmV4ZWMsCiAJZXhlYy0+b2Zmc2V0ID0gb2Zm c2V0OwogfQogCisvKiBnZW44X2Nhbm9uaWNhbF9hZGRyCisgKiBVc2VkIHRvIGNvbnZlcnQgYW55 IGFkZHJlc3MgaW50byBjYW5vbmljYWwgZm9ybSwgaS5lLiBbNjM6NDhdID09IFs0N10uCisgKiBC YXNlZCBvbiBrZXJuZWwncyBzaWduX2V4dGVuZDY0IGltcGxlbWVudGF0aW9uLgorICogQGFkZHJl c3MgLSBhIHZpcnR1YWwgYWRkcmVzcworKi8KKyNkZWZpbmUgR0VOOF9ISUdIX0FERFJFU1NfQklU IDQ3CitzdGF0aWMgdWludDY0X3QgZ2VuOF9jYW5vbmljYWxfYWRkcih1aW50NjRfdCBhZGRyZXNz KQoreworCV9fdTggc2hpZnQgPSA2MyAtIEdFTjhfSElHSF9BRERSRVNTX0JJVDsKKwlyZXR1cm4g KF9fczY0KShhZGRyZXNzIDw8IHNoaWZ0KSA+PiBzaGlmdDsKK30KKwogLyogZ2VtX3N0b3JlX2Rh dGFfc3ZtCiAgKiBwb3B1bGF0ZSBiYXRjaCBidWZmZXIgd2l0aCBNSV9TVE9SRV9EV09SRF9JTU0g Y29tbWFuZAogICogQGZkOiBkcm0gZmlsZSBkZXNjcmlwdG9yCkBAIC02MzAsNiArNjQyLDcgQEAg c3RhdGljIHZvaWQgZ2VtX3Bpbl9vdmVybGFwX3Rlc3Qodm9pZCkKICAqIFNoYXJlIHdpdGggR1BV IHVzaW5nIHVzZXJwdHIgaW9jdGwKICAqIENyZWF0ZSBiYXRjaCBidWZmZXIgdG8gd3JpdGUgREFU QSBpbiBmaXJzdCBlbGVtZW50IG9mIGVhY2ggYnVmZmVyCiAgKiBQaW4gZWFjaCBidWZmZXIgdG8g dmFyeWluZyBhZGRyZXNzZXMgc3RhcnRpbmcgZnJvbSAweDgwMDAwMDAwMDAwMCBnb2luZyBiZWxv dworICogKHJlcXVpcmVzIG9mZnNldHMgaW4gY2Fub25pY2FsIGZvcm0pCiAgKiBFeGVjdXRlIEJh dGNoIEJ1ZmZlciBvbiBCbGl0IHJpbmcgU1RSRVNTX05VTV9MT09QUyB0aW1lcwogICogVmFsaWRh dGUgZXZlcnkgYnVmZmVyIGhhcyBEQVRBIGluIGZpcnN0IGVsZW1lbnQKICAqIFJpbnNlIGFuZCBS ZXBlYXQgb24gUmVuZGVyIHJpbmcKQEAgLTYzNyw3ICs2NTAsNyBAQCBzdGF0aWMgdm9pZCBnZW1f cGluX292ZXJsYXBfdGVzdCh2b2lkKQogI2RlZmluZSBTVFJFU1NfTlVNX0JVRkZFUlMgMTAwMDAw CiAjZGVmaW5lIFNUUkVTU19OVU1fTE9PUFMgMTAwCiAjZGVmaW5lIFNUUkVTU19TVE9SRV9DT01N QU5EUyA0ICogU1RSRVNTX05VTV9CVUZGRVJTCi0KKyNkZWZpbmUgU1RSRVNTX1NUQVJUX0FERFJF U1MgMHg4MDAwMDAwMDAwMDAKIHN0YXRpYyB2b2lkIGdlbV9zb2Z0cGluX3N0cmVzc190ZXN0KHZv aWQpCiB7CiAJaTkxNV9nZW1fdXNlcnB0ciB1c2VycHRyOwpAQCAtNjUwLDcgKzY2Myw3IEBAIHN0 YXRpYyB2b2lkIGdlbV9zb2Z0cGluX3N0cmVzc190ZXN0KHZvaWQpCiAJdWludDMyX3QgYmF0Y2hf YnVmX2hhbmRsZTsKIAlpbnQgcmluZywgbGVuOwogCWludCBidWYsIGxvb3A7Ci0JdWludDY0X3Qg cGlubmluZ19vZmZzZXQgPSAweDgwMDAwMDAwMDAwMDsKKwl1aW50NjRfdCBwaW5uaW5nX29mZnNl dCA9IFNUUkVTU19TVEFSVF9BRERSRVNTOwogCiAJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X0lOVEVMKTsKIAlpZ3RfcmVxdWlyZSh1c2VzX2Z1bGxfcHBndHQoZmQsIEZVTExfNDhfQklUX1BQ R1RUKSk7CkBAIC02ODAsMTAgKzY5MywxMCBAQCBzdGF0aWMgdm9pZCBnZW1fc29mdHBpbl9zdHJl c3NfdGVzdCh2b2lkKQogCQlzZXR1cF9leGVjX29iaigmZXhlY19vYmplY3QyW2J1Zl0sIHNoYXJl ZF9oYW5kbGVbYnVmXSwKIAkJCSAgICAgICBFWEVDX09CSkVDVF9QSU5ORUQgfAogCQkJICAgICAg IEVYRUNfT0JKRUNUX1NVUFBPUlRTXzQ4Ql9BRERSRVNTLAotCQkJICAgICAgIHBpbm5pbmdfb2Zm c2V0KTsKKwkJCSAgICAgICBnZW44X2Nhbm9uaWNhbF9hZGRyKHBpbm5pbmdfb2Zmc2V0KSk7CiAJ CWxlbiArPSBnZW1fc3RvcmVfZGF0YV9zdm0oZmQsIGJhdGNoX2J1ZmZlciArIChsZW4vNCksCi0J CQkJCSAgcGlubmluZ19vZmZzZXQsIGJ1ZiwKLQkJCQkJICAoYnVmID09IFNUUkVTU19OVU1fQlVG RkVSUy0xKT8gXAorCQkJCQkgIGdlbjhfY2Fub25pY2FsX2FkZHIocGlubmluZ19vZmZzZXQpLAor CQkJCQkgIGJ1ZiwgKGJ1ZiA9PSBTVFJFU1NfTlVNX0JVRkZFUlMtMSk/IFwKIAkJCQkJICB0cnVl OmZhbHNlKTsKIAogCQkvKiBkZWNyZW1lbnRhbCA0SyBhbGlnbmVkIGFkZHJlc3MgKi8KQEAgLTcw NSwxMCArNzE4LDExIEBAIHN0YXRpYyB2b2lkIGdlbV9zb2Z0cGluX3N0cmVzc190ZXN0KHZvaWQp CiAJCWZvciAobG9vcCA9IDA7IGxvb3AgPCBTVFJFU1NfTlVNX0xPT1BTOyBsb29wKyspIHsKIAkJ CXN1Ym1pdF9hbmRfc3luYyhmZCwgJmV4ZWNidWYsIGJhdGNoX2J1Zl9oYW5kbGUpOwogCQkJLyog U2V0IHBpbm5pbmcgb2Zmc2V0IGJhY2sgdG8gb3JpZ2luYWwgdmFsdWUgKi8KLQkJCXBpbm5pbmdf b2Zmc2V0ID0gMHg4MDAwMDAwMDAwMDA7CisJCQlwaW5uaW5nX29mZnNldCA9IFNUUkVTU19TVEFS VF9BRERSRVNTOwogCQkJZm9yKGJ1ZiA9IDA7IGJ1ZiA8IFNUUkVTU19OVU1fQlVGRkVSUzsgYnVm KyspIHsKIAkJCQlnZW1fdXNlcnB0cl9zeW5jKGZkLCBzaGFyZWRfaGFuZGxlW2J1Zl0pOwotCQkJ CWlndF9hc3NlcnQoZXhlY19vYmplY3QyW2J1Zl0ub2Zmc2V0ID09IHBpbm5pbmdfb2Zmc2V0KTsK KwkJCQlpZ3RfYXNzZXJ0KGV4ZWNfb2JqZWN0MltidWZdLm9mZnNldCA9PQorCQkJCQlnZW44X2Nh bm9uaWNhbF9hZGRyKHBpbm5pbmdfb2Zmc2V0KSk7CiAJCQkJaWd0X2ZhaWxfb25fZigqc2hhcmVk X2J1ZmZlcltidWZdICE9IGJ1ZiwgXAogCQkJCSJNaXNtYXRjaCBpbiBidWZmZXIgJWQsIGl0ZXJh dGlvbiAlZDogMHglMDhYXG4iLCBcCiAJCQkJYnVmLCBsb29wLCAqc2hhcmVkX2J1ZmZlcltidWZd KTsKQEAgLTcyNywxMCArNzQxLDExIEBAIHN0YXRpYyB2b2lkIGdlbV9zb2Z0cGluX3N0cmVzc190 ZXN0KHZvaWQpCiAJCQkgU1RSRVNTX05VTV9CVUZGRVJTICsgMSwgbGVuKTsKIAlmb3IgKGxvb3Ag PSAwOyBsb29wIDwgU1RSRVNTX05VTV9MT09QUzsgbG9vcCsrKSB7CiAJCXN1Ym1pdF9hbmRfc3lu YyhmZCwgJmV4ZWNidWYsIGJhdGNoX2J1Zl9oYW5kbGUpOwotCQlwaW5uaW5nX29mZnNldCA9IDB4 ODAwMDAwMDAwMDAwOworCQlwaW5uaW5nX29mZnNldCA9IFNUUkVTU19TVEFSVF9BRERSRVNTOwog CQlmb3IoYnVmID0gMDsgYnVmIDwgU1RSRVNTX05VTV9CVUZGRVJTOyBidWYrKykgewogCQkJZ2Vt X3VzZXJwdHJfc3luYyhmZCwgc2hhcmVkX2hhbmRsZVtidWZdKTsKLQkJCWlndF9hc3NlcnQoZXhl Y19vYmplY3QyW2J1Zl0ub2Zmc2V0ID09IHBpbm5pbmdfb2Zmc2V0KTsKKwkJCWlndF9hc3NlcnQo ZXhlY19vYmplY3QyW2J1Zl0ub2Zmc2V0ID09CisJCQkJZ2VuOF9jYW5vbmljYWxfYWRkcihwaW5u aW5nX29mZnNldCkpOwogCQkJaWd0X2ZhaWxfb25fZigqc2hhcmVkX2J1ZmZlcltidWZdICE9IGJ1 ZiwgXAogCQkJIk1pc21hdGNoIGluIGJ1ZmZlciAlZCwgXAogCQkJaXRlcmF0aW9uICVkOiAweCUw OFhcbiIsIGJ1ZiwgbG9vcCwgKnNoYXJlZF9idWZmZXJbYnVmXSk7CkBAIC04MzcsMTIgKzg1Miwx NCBAQCBzdGF0aWMgdm9pZCBnZW1fd3JpdGVfbXVsdGlwYWdlX2J1ZmZlcl90ZXN0KHZvaWQpCiAg KiBUaGlzIHRlc3Qgd2lsbCByZXF1ZXN0IHRvIHBpbiBhIHNoYXJlZCBidWZmZXIgdG8gYW4gaW52 YWxpZAogICogVk1BICA+IDQ4LWJpdCBhZGRyZXNzIGlmIHN5c3RlbSBzdXBwb3J0cyA0OEIgUFBH VFQ7IGl0IGFsc28KICAqIHdpbGwgdGVzdCB0aGF0IGFueSBhdHRlbXB0IG9mIHVzaW5nIGEgNDgt Yml0IGFkZHJlc3MgcmVxdWlyZXMKLSAqIHRoZSBTVVBQT1JUU180OEJfQUREUkVTUyBmbGFnLgor ICogdGhlIFNVUFBPUlRTXzQ4Ql9BRERSRVNTIGZsYWcsIGFuZCB0aGF0IDQ4LWJpdCBhZGRyZXNz IG5lZWQgdG8gYmUKKyAqIGluIGNhbm9uaWNhbCBmb3JtIChiaXRzIFs2Mzo0OF0gPT0gWzQ3XSku CiAgKiBJZiBzeXN0ZW0gc3VwcG9ydHMgMzJCIFBQR1RULCBpdCB3aWxsIHRlc3QgdGhlIGVxdWl2 YWxlbnQgaW52YWxpZCBWTUEKICAqIENyZWF0ZSBzaGFyZWQgYnVmZmVyIG9mIHNpemUgNEsKICAq IFRyeSBhbmQgUGluIG9iamVjdCB0byBpbnZhbGlkIGFkZHJlc3MKICovCi1zdGF0aWMgdm9pZCBn ZW1fcGluX2ludmFsaWRfdm1hX3Rlc3QoYm9vbCB0ZXN0X2RlY291cGxlX2ZsYWdzKQorc3RhdGlj IHZvaWQgZ2VtX3Bpbl9pbnZhbGlkX3ZtYV90ZXN0KGJvb2wgdGVzdF9kZWNvdXBsZV9mbGFncywK KwkJCQkgICAgIGJvb2wgdGVzdF9jYW5vbmljYWxfb2Zmc2V0KQogewogCWk5MTVfZ2VtX3VzZXJw dHIgdXNlcnB0cjsKIAlpbnQgZmQsIHJldDsKQEAgLTg1Miw2ICs4NjksNyBAQCBzdGF0aWMgdm9p ZCBnZW1fcGluX2ludmFsaWRfdm1hX3Rlc3QoYm9vbCB0ZXN0X2RlY291cGxlX2ZsYWdzKQogCXVp bnQzMl90IHNoYXJlZF9idWZfaGFuZGxlOwogCWludCByaW5nOwogCXVpbnQ2NF90IGludmFsaWRf YWRkcmVzc19mb3JfNDhiID0gMHg5MDAwMDAwMDAwMDAwOyAvKiA1MiBiaXQgYWRkcmVzcyAqLwor CXVpbnQ2NF90IG5vbmNhbm9uaWNhbF9hZGRyZXNzX2Zvcl80OGIgPSAweEZGMDAwMDAwMDAwMDsg LyogNDggYml0IGFkZHJlc3MgaW4gbm9uY2Fub25pY2FsIGZvcm0gKi8KIAl1aW50NjRfdCBpbnZh bGlkX2FkZHJlc3NfZm9yXzMyYiA9IDB4OTAwMDAwMDAwOyAvKiAzNiBiaXQgYWRkcmVzcyAqLwog CiAJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKQEAgLTg2NSw3ICs4ODMsMTEg QEAgc3RhdGljIHZvaWQgZ2VtX3Bpbl9pbnZhbGlkX3ZtYV90ZXN0KGJvb2wgdGVzdF9kZWNvdXBs ZV9mbGFncykKIAkvKiBzaGFyZSB3aXRoIEdQVSAqLwogCXNoYXJlZF9idWZfaGFuZGxlID0gaW5p dF91c2VycHRyKGZkLCAmdXNlcnB0ciwgc2hhcmVkX2J1ZmZlciwgQk9fU0laRSk7CiAKLQlpZiAo dXNlc19mdWxsX3BwZ3R0KGZkLCBGVUxMXzQ4X0JJVF9QUEdUVCkgJiYgIXRlc3RfZGVjb3VwbGVf ZmxhZ3MpIHsKKwlpZiAodXNlc19mdWxsX3BwZ3R0KGZkLCBGVUxMXzQ4X0JJVF9QUEdUVCkgJiYg dGVzdF9jYW5vbmljYWxfb2Zmc2V0KSB7CisJCXNldHVwX2V4ZWNfb2JqKCZleGVjX29iamVjdDJb MF0sIHNoYXJlZF9idWZfaGFuZGxlLAorCQkJICAgICAgIEVYRUNfT0JKRUNUX1BJTk5FRCB8IEVY RUNfT0JKRUNUX1NVUFBPUlRTXzQ4Ql9BRERSRVNTLAorCQkJICAgICAgIG5vbmNhbm9uaWNhbF9h ZGRyZXNzX2Zvcl80OGIpOworCX0gZWxzZSBpZiAodXNlc19mdWxsX3BwZ3R0KGZkLCBGVUxMXzQ4 X0JJVF9QUEdUVCkgJiYgIXRlc3RfZGVjb3VwbGVfZmxhZ3MpIHsKIAkJc2V0dXBfZXhlY19vYmoo JmV4ZWNfb2JqZWN0MlswXSwgc2hhcmVkX2J1Zl9oYW5kbGUsCiAJCQkgICAgICAgRVhFQ19PQkpF Q1RfUElOTkVEIHwgRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1MsCiAJCQkgICAgICAg aW52YWxpZF9hZGRyZXNzX2Zvcl80OGIpOwpAQCAtOTY1LDcgKzk4NywxMCBAQCBzdGF0aWMgdm9p ZCBnZW1fcGluX2hpZ2hfYWRkcmVzc190ZXN0KHZvaWQpCiAgKiBUaGlzIHRlc3Qgd2lsbCBjcmVh dGUgYSBzaGFyZWQgYnVmZmVyLAogICogYW5kIGNyZWF0ZSBhIGNvbW1hbmQgZm9yIEdQVSB0byB3 cml0ZSBkYXRhIGluIGl0LiBJdCB3aWxsIGF0dGVtcHQKICAqIHRvIHBpbiB0aGUgYnVmZmVyIGF0 IGFkZHJlc3MgPiA0NyBiaXRzIDw9IDQ4LWJpdC4KLSAqIENQVSB3aWxsIHJlYWQgYW5kIG1ha2Ug c3VyZSBleHBlY3RlZCB2YWx1ZSBpcyBvYnRhaW5lZAorICogQ1BVIHdpbGwgcmVhZCBhbmQgbWFr ZSBzdXJlIGV4cGVjdGVkIHZhbHVlIGlzIG9idGFpbmVkLgorICogTm90ZSB0aGF0IHdlIG11c3Qg c3VibWl0IGFkZHJlc3NlcyBpbiBjYW5vbmljYWwgZm9ybSwgbm90IG9ubHkKKyAqIGJlY2F1c2Ug dGhlIGFkZHJlc3NzIHdpbGwgYmUgdmFsaWRhdGVkLCBidXQgYWxzbyB0aGUgcmV0dXJuZWQgb2Zm c2V0CisgKiB3aWxsIGJlIGluIHRoaXMgZm9ybWF0LgogCiAgKiBNYWxsb2MgYSA0SyBidWZmZXIK ICAqIFNoYXJlIGJ1ZmZlciB3aXRoIHdpdGggR1BVIGJ5IHVzaW5nIHVzZXJwdHIgaW9jdGwKQEAg LTk5MCw3ICsxMDE1LDcgQEAgc3RhdGljIHZvaWQgZ2VtX3Bpbl9uZWFyXzQ4Qml0X3Rlc3Qodm9p ZCkKIAl1aW50MzJfdCBiYXRjaF9idWZfaGFuZGxlLCBzaGFyZWRfYnVmX2hhbmRsZTsKIAlpbnQg cmluZywgbGVuOwogCWNvbnN0IHVpbnQzMl90IGRhdGEgPSAweDEyMzQ1Njc4OwotCXVpbnQ2NF90 IGhpZ2hfYWRkcmVzczsKKwl1aW50NjRfdCBoaWdoX2FkZHJlc3MsIGNhbl9oaWdoX2FkZHJlc3M7 CiAKIAlmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOwogCWlndF9yZXF1aXJlKHVz ZXNfZnVsbF9wcGd0dChmZCwgRlVMTF80OF9CSVRfUFBHVFQpKTsKQEAgLTEwMDcsMTQgKzEwMzIs MTUgQEAgc3RhdGljIHZvaWQgZ2VtX3Bpbl9uZWFyXzQ4Qml0X3Rlc3Qodm9pZCkKIAogCWZvciAo aGlnaF9hZGRyZXNzID0gQkVHSU5fSElHSF9BRERSRVNTOyBoaWdoX2FkZHJlc3MgPD0gRU5EX0hJ R0hfQUREUkVTUzsKIAkJCQkJCWhpZ2hfYWRkcmVzcys9QUREUkVTU19JTkNSRU1FTlQpIHsKKwkJ Y2FuX2hpZ2hfYWRkcmVzcyA9IGdlbjhfY2Fub25pY2FsX2FkZHIoaGlnaF9hZGRyZXNzKTsKIAkJ LyogY3JlYXRlIGNvbW1hbmQgYnVmZmVyIHdpdGggd3JpdGUgY29tbWFuZCAqLwotCQlsZW4gPSBn ZW1fc3RvcmVfZGF0YV9zdm0oZmQsIGJhdGNoX2J1ZmZlciwgaGlnaF9hZGRyZXNzLAorCQlsZW4g PSBnZW1fc3RvcmVfZGF0YV9zdm0oZmQsIGJhdGNoX2J1ZmZlciwgY2FuX2hpZ2hfYWRkcmVzcywK IAkJCQkJZGF0YSwgdHJ1ZSk7CiAJCWdlbV93cml0ZShmZCwgYmF0Y2hfYnVmX2hhbmRsZSwgMCwg YmF0Y2hfYnVmZmVyLCBsZW4pOwogCQkvKiBzdWJtaXQgY29tbWFuZCBidWZmZXIgKi8KIAkJc2V0 dXBfZXhlY19vYmooJmV4ZWNfb2JqZWN0MlswXSwgc2hhcmVkX2J1Zl9oYW5kbGUsCiAJCQkgICAg ICAgRVhFQ19PQkpFQ1RfUElOTkVEIHwgRVhFQ19PQkpFQ1RfU1VQUE9SVFNfNDhCX0FERFJFU1Ms Ci0JCQkgICAgICAgaGlnaF9hZGRyZXNzKTsKKwkJCSAgICAgICBjYW5faGlnaF9hZGRyZXNzKTsK IAkJc2V0dXBfZXhlY19vYmooJmV4ZWNfb2JqZWN0MlsxXSwgYmF0Y2hfYnVmX2hhbmRsZSwgMCwg MCk7CiAKIAkJcmluZyA9IEk5MTVfRVhFQ19SRU5ERVI7CkBAIC0xMDIyLDcgKzEwNDgsNyBAQCBz dGF0aWMgdm9pZCBnZW1fcGluX25lYXJfNDhCaXRfdGVzdCh2b2lkKQogCQlzdWJtaXRfYW5kX3N5 bmMoZmQsICZleGVjYnVmLCBiYXRjaF9idWZfaGFuZGxlKTsKIAkJZ2VtX3VzZXJwdHJfc3luYyhm ZCwgc2hhcmVkX2J1Zl9oYW5kbGUpOwogCi0JCWlndF9hc3NlcnQoZXhlY19vYmplY3QyWzBdLm9m ZnNldCA9PSBoaWdoX2FkZHJlc3MpOworCQlpZ3RfYXNzZXJ0KGV4ZWNfb2JqZWN0MlswXS5vZmZz ZXQgPT0gY2FuX2hpZ2hfYWRkcmVzcyk7CiAJCS8qIGNoZWNrIG9uIENQVSB0byBzZWUgaWYgdmFs dWUgY2hhbmdlcyAqLwogCQlpZ3RfZmFpbF9vbl9mKHNoYXJlZF9idWZmZXJbMF0gIT0gZGF0YSwK IAkJIlxuQ1BVIHJlYWQgZG9lcyBub3QgbWF0Y2ggR1BVIHdyaXRlLCBleHBlY3RlZDogMHgleCwg XApAQCAtMTA2MywxMiArMTA4OSwxNSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltd KQogCiAJLyogRm9sbG93aW5nIHRlc3RzIG5lZWQgMzIvNDggQml0IFBQR1RUIHN1cHBvcnQgKi8K IAlpZ3Rfc3VidGVzdCgiZ2VtX3Bpbl9pbnZhbGlkX3ZtYSIpIHsKLQkJZ2VtX3Bpbl9pbnZhbGlk X3ZtYV90ZXN0KGZhbHNlKTsKKwkJZ2VtX3Bpbl9pbnZhbGlkX3ZtYV90ZXN0KGZhbHNlLCBmYWxz ZSk7CiAJfQogCiAJLyogRm9sbG93aW5nIHRlc3RzIG5lZWQgNDggQml0IFBQR1RUIHN1cHBvcnQg Ki8KKwlpZ3Rfc3VidGVzdCgiZ2VuX3Bpbl9ub25jYW5vbmljYWxfaGlnaF9hZGRyZXNzIikgewor CQlnZW1fcGluX2ludmFsaWRfdm1hX3Rlc3QoZmFsc2UsIHRydWUpOworCX0KIAlpZ3Rfc3VidGVz dCgiZ2VtX3Bpbl9oaWdoX2FkZHJlc3Nfd2l0aG91dF9jb3JyZWN0X2ZsYWciKSB7Ci0JCWdlbV9w aW5faW52YWxpZF92bWFfdGVzdCh0cnVlKTsKKwkJZ2VtX3Bpbl9pbnZhbGlkX3ZtYV90ZXN0KHRy dWUsIGZhbHNlKTsKIAl9CiAJaWd0X3N1YnRlc3QoImdlbV9zb2Z0cGluX3N0cmVzcyIpIHsKIAkJ Z2VtX3NvZnRwaW5fc3RyZXNzX3Rlc3QoKTsKLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=