From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id A1CC96E869 for ; Tue, 18 May 2021 10:33:48 +0000 (UTC) From: Alan Previn Date: Tue, 18 May 2021 03:33:31 -0700 Message-Id: <20210518103344.2264397-5-alan.previn.teres.alexis@intel.com> In-Reply-To: <20210518103344.2264397-1-alan.previn.teres.alexis@intel.com> References: <20210518103344.2264397-1-alan.previn.teres.alexis@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 04/17] Add basic PXP testing of buffer and context alloc 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 Cc: Alan Previn List-ID: VGVzdCBQWFAgY2FwYWJpbGl0eSBzdXBwb3J0IGFzIHdlbGwgYXMgdGhlIGFsbG9jYXRpb24gb2Yg cHJvdGVjdGVkCmJ1ZmZlcnMgYW5kIHByb3RlY3RlZCBjb250ZXh0cy4KClNpZ25lZC1vZmYtYnk6 IEFsYW4gUHJldmluIDxhbGFuLnByZXZpbi50ZXJlcy5hbGV4aXNAaW50ZWwuY29tPgotLS0KIHRl c3RzL2k5MTUvZ2VtX3B4cC5jIHwgMzUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIHRlc3RzL21lc29uLmJ1aWxkICAgIHwgICAxICsKIDIgZmlsZXMgY2hhbmdl ZCwgMzU0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9pOTE1L2dlbV9w eHAuYwoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3B4cC5jIGIvdGVzdHMvaTkxNS9nZW1f cHhwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjg3NzlkZGRjCi0tLSAv ZGV2L251bGwKKysrIGIvdGVzdHMvaTkxNS9nZW1fcHhwLmMKQEAgLTAsMCArMSwzNTMgQEAKKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAyMSBJ bnRlbCBDb3Jwb3JhdGlvbgorICovCisKKyNpbmNsdWRlICJpZ3QuaCIKKyNpbmNsdWRlICJpOTE1 L2dlbS5oIgorCitJR1RfVEVTVF9ERVNDUklQVElPTigiVGVzdCBQWFAgdGhhdCBtYW5hZ2VzIHBy b3RlY3RlZCBjb250ZW50IHRocm91Z2ggYXJiaXRyYXRlZCBIVy1QWFAtc2Vzc2lvbiIpOworLyog Tm90ZTogUFhQID0gIlByb3RlY3RlZCBYZSBQYXRoIiAqLworCitzdGF0aWMgYm9vbCBpc19weHBf aHdfc3VwcG9ydGVkKGludCBpOTE1KQoreworCXVpbnQzMl90IGRldmlkID0gaW50ZWxfZ2V0X2Ry bV9kZXZpZChpOTE1KTsKKworCWlmIChJU19USUdFUkxBS0UoZGV2aWQpIHx8IElTX1JPQ0tFVExB S0UoZGV2aWQpIHx8IElTX0FMREVSTEFLRV9TKGRldmlkKSkKKwkJcmV0dXJuIHRydWU7CisKKwly ZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBpbnQgY3JlYXRlX2JvX2V4dChpbnQgaTkxNSwgdWlu dDMyX3Qgc2l6ZSwgYm9vbCBwcm90ZWN0ZWRfaXNfdHJ1ZSwgdWludDMyX3QgKmJvX291dCkKK3sK KwlpbnQgcmV0OworCisJc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0X3Byb3RlY3RlZF9j b250ZW50IHByb3RlY3RlZF9leHQgPSB7CisJCS5iYXNlID0geyAubmFtZSA9IEk5MTVfR0VNX0NS RUFURV9FWFRfUFJPVEVDVEVEX0NPTlRFTlQgfSwKKwkJLmZsYWdzID0gMCwKKwl9OworCisJc3Ry dWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0IGNyZWF0ZV9leHQgPSB7CisJCS5zaXplID0gc2l6 ZSwKKwkJLmV4dGVuc2lvbnMgPSAwLAorCX07CisKKwlpZiAocHJvdGVjdGVkX2lzX3RydWUpCisJ CWNyZWF0ZV9leHQuZXh0ZW5zaW9ucyA9ICh1aW50cHRyX3QpJnByb3RlY3RlZF9leHQ7CisKKwly ZXQgPSBpZ3RfaW9jdGwoaTkxNSwgRFJNX0lPQ1RMX0k5MTVfR0VNX0NSRUFURV9FWFQsICZjcmVh dGVfZXh0KTsKKwlpZiAoIXJldCkKKwkJKmJvX291dCA9IGNyZWF0ZV9leHQuaGFuZGxlOworCisJ cmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgdGVzdF9ib19hbGxvY19weHBfbm9odyhpbnQg aTkxNSkKK3sKKwlpbnQgcmV0OworCXVpbnQzMl90IGJvOworCisJcmV0ID0gY3JlYXRlX2JvX2V4 dChpOTE1LCA0MDk2LCBmYWxzZSwgJmJvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7CisJZ2Vt X2Nsb3NlKGk5MTUsIGJvKTsKKworCXJldCA9IGNyZWF0ZV9ib19leHQoaTkxNSwgNDA5NiwgdHJ1 ZSwgJmJvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgLUVOT0RFVik7CisJaWd0X2Fzc2VydF9lcShi bywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RfYm9fYWxsb2NfcHhwX29mZihpbnQgaTkxNSkK K3sKKwlpbnQgcmV0OworCXVpbnQzMl90IGJvOworCisJcmV0ID0gY3JlYXRlX2JvX2V4dChpOTE1 LCA0MDk2LCBmYWxzZSwgJmJvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7CisJZ2VtX2Nsb3Nl KGk5MTUsIGJvKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9ib19hbGxvY19weHBfb24oaW50IGk5 MTUpCit7CisJaW50IHJldDsKKwl1aW50MzJfdCBibzsKKworCXJldCA9IGNyZWF0ZV9ib19leHQo aTkxNSwgNDA5NiwgdHJ1ZSwgJmJvKTsKKwlpZ3RfYXNzZXJ0X2VxKHJldCwgMCk7CisJZ2VtX2Ns b3NlKGk5MTUsIGJvKTsKK30KKworc3RhdGljIGludCBjcmVhdGVfY3R4X3dpdGhfcGFyYW1zKGlu dCBpOTE1LCBib29sIHdpdGhfcHJvdGVjdGVkX3BhcmFtLCBib29sIHByb3RlY3RlZF9pc190cnVl LAorCQkJCSAgYm9vbCB3aXRoX3JlY292ZXJhYmxlX3BhcmFtLCBib29sIHJlY292ZXJhYmxlX2lz X3RydWUsCisJCQkJICB1aW50MzJfdCAqY3R4X291dCkKK3sKKwlpbnQgcmV0OworCisJc3RydWN0 IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHRfc2V0cGFyYW0gcF9wcm90ID0geworCQku YmFzZSA9IHsKKwkJCS5uYW1lID0gSTkxNV9DT05URVhUX0NSRUFURV9FWFRfU0VUUEFSQU0sCisJ CQkubmV4dF9leHRlbnNpb24gPSAwLAorCQl9LAorCQkucGFyYW0gPSB7CisJCQkucGFyYW0gPSBJ OTE1X0NPTlRFWFRfUEFSQU1fUFJPVEVDVEVEX0NPTlRFTlQsCisJCQkudmFsdWUgPSAwLAorCQl9 CisJfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dF9zZXRwYXJhbSBw X25vcmVjb3ZlciA9IHsKKwkJLmJhc2UgPSB7CisJCQkubmFtZSA9IEk5MTVfQ09OVEVYVF9DUkVB VEVfRVhUX1NFVFBBUkFNLAorCQkJLm5leHRfZXh0ZW5zaW9uID0gMCwKKwkJfSwKKwkJLnBhcmFt ID0geworCQkJLnBhcmFtID0gSTkxNV9DT05URVhUX1BBUkFNX1JFQ09WRVJBQkxFLAorCQkJLnZh bHVlID0gMCwKKwkJfQorCX07CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9l eHQgY3JlYXRlID0geworCQkuZmxhZ3MgPSBJOTE1X0NPTlRFWFRfQ1JFQVRFX0ZMQUdTX1VTRV9F WFRFTlNJT05TLAorCQkuZXh0ZW5zaW9ucyA9IDAsCisJfTsKKworCXBfcHJvdC5wYXJhbS52YWx1 ZSA9IHByb3RlY3RlZF9pc190cnVlOworCXBfbm9yZWNvdmVyLnBhcmFtLnZhbHVlID0gcmVjb3Zl cmFibGVfaXNfdHJ1ZTsKKworCWlmICh3aXRoX3Byb3RlY3RlZF9wYXJhbSAmJiB3aXRoX3JlY292 ZXJhYmxlX3BhcmFtKSB7CisJCWNyZWF0ZS5leHRlbnNpb25zID0gdG9fdXNlcl9wb2ludGVyKCYo cF9ub3JlY292ZXIuYmFzZSkpOworCQlwX25vcmVjb3Zlci5iYXNlLm5leHRfZXh0ZW5zaW9uID0g dG9fdXNlcl9wb2ludGVyKCYocF9wcm90LmJhc2UpKTsKKwl9IGVsc2UgaWYgKCF3aXRoX3Byb3Rl Y3RlZF9wYXJhbSAmJiB3aXRoX3JlY292ZXJhYmxlX3BhcmFtKSB7CisJCWNyZWF0ZS5leHRlbnNp b25zID0gdG9fdXNlcl9wb2ludGVyKCYocF9ub3JlY292ZXIuYmFzZSkpOworCQlwX25vcmVjb3Zl ci5iYXNlLm5leHRfZXh0ZW5zaW9uID0gMDsKKwl9IGVsc2UgaWYgKHdpdGhfcHJvdGVjdGVkX3Bh cmFtICYmICF3aXRoX3JlY292ZXJhYmxlX3BhcmFtKSB7CisJCWNyZWF0ZS5leHRlbnNpb25zID0g dG9fdXNlcl9wb2ludGVyKCYocF9wcm90LmJhc2UpKTsKKwkJcF9wcm90LmJhc2UubmV4dF9leHRl bnNpb24gPSAwOworCX0gZWxzZSBpZiAoIXdpdGhfcHJvdGVjdGVkX3BhcmFtICYmICF3aXRoX3Jl Y292ZXJhYmxlX3BhcmFtKSB7CisJCWNyZWF0ZS5mbGFncyA9IDA7CisJfQorCisJcmV0ID0gX19n ZW1fY3R4X2NyZWF0ZV9leHQoaTkxNSwgJmNyZWF0ZSk7CisJaWYgKCFyZXQpCisJCSpjdHhfb3V0 ID0gY3JlYXRlLmN0eF9pZDsKKworCXJldHVybiByZXQ7Cit9CisKKyNkZWZpbmUgQ0hBTkdFX1BB UkFNX1BST1RFQ1RFRCAweDAwMDEKKyNkZWZpbmUgQ0hBTkdFX1BBUkFNX1JFQ09WRVJZIDB4MDAw MgorCitzdGF0aWMgaW50IG1vZGlmeV9jdHhfcGFyYW0oaW50IGk5MTUsIHVpbnQzMl90IGN0eF9p ZCwgdWludDMyX3QgcGFyYW1fbWFzaywgYm9vbCBwYXJhbV92YWx1ZSkKK3sKKwlpbnQgcmV0Owor CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGN0eF9wYXJhbSA9IHsKKwkJLmN0 eF9pZCA9IGN0eF9pZCwKKwkJLnBhcmFtID0gMCwKKwkJLnZhbHVlID0gMCwKKwl9OworCisJaWYg KHBhcmFtX21hc2sgPT0gQ0hBTkdFX1BBUkFNX1BST1RFQ1RFRCkgeworCQljdHhfcGFyYW0ucGFy YW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fUFJPVEVDVEVEX0NPTlRFTlQ7CisJCWN0eF9wYXJhbS52 YWx1ZSA9IChpbnQpcGFyYW1fdmFsdWU7CisJfSBlbHNlIGlmIChwYXJhbV9tYXNrID09IENIQU5H RV9QQVJBTV9SRUNPVkVSWSkgeworCQljdHhfcGFyYW0ucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFS QU1fUkVDT1ZFUkFCTEU7CisJCWN0eF9wYXJhbS52YWx1ZSA9IChpbnQpcGFyYW1fdmFsdWU7CisJ fQorCisJcmV0ID0gaWd0X2lvY3RsKGk5MTUsIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX1NF VFBBUkFNLCAmY3R4X3BhcmFtKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0 X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaW50IGk5MTUsIHVpbnQzMl90IGN0eF9pZCkKK3sKKwlpbnQg cmV0OworCisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGN0eF9wYXJhbSA9IHsK KwkJLmN0eF9pZCA9IGN0eF9pZCwKKwkJLnBhcmFtID0gSTkxNV9DT05URVhUX1BBUkFNX1BST1RF Q1RFRF9DT05URU5ULAorCX07CisKKwlyZXQgPSBpZ3RfaW9jdGwoaTkxNSwgRFJNX0lPQ1RMX0k5 MTVfR0VNX0NPTlRFWFRfR0VUUEFSQU0sICZjdHhfcGFyYW0pOworCWlndF9hc3NlcnRfZXEocmV0 LCAwKTsKKworCXJldHVybiBjdHhfcGFyYW0udmFsdWU7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2N0 eF9yZWNvdmVyeV9wYXJhbShpbnQgaTkxNSwgdWludDMyX3QgY3R4X2lkKQoreworCWludCByZXQ7 CisKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gY3R4X3BhcmFtID0geworCQku Y3R4X2lkID0gY3R4X2lkLAorCQkucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fUkVDT1ZFUkFC TEUsCisJfTsKKworCXJldCA9IGlndF9pb2N0bChpOTE1LCBEUk1fSU9DVExfSTkxNV9HRU1fQ09O VEVYVF9HRVRQQVJBTSwgJmN0eF9wYXJhbSk7CisJaWd0X2Fzc2VydF9lcShyZXQsIDApOworCisJ cmV0dXJuIGN0eF9wYXJhbS52YWx1ZTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9jdHhfYWxsb2Nf cHhwX25vaHcoaW50IGk5MTUpCit7CisJdWludDMyX3QgY3R4OworCisJaWd0X2Fzc2VydF9lcShj cmVhdGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUsIHRydWUsIHRydWUsIHRydWUsIGZhbHNlLCAmY3R4 KSwgLUVOT0RFVik7CisJaWd0X2Fzc2VydF9lcShjcmVhdGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUs IHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwgJmN0eCksIDApOworCWlndF9hc3NlcnRfZXEoZ2V0 X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaTkxNSwgY3R4KSwgMCk7CisJaWd0X2Fzc2VydF9lcShnZXRf Y3R4X3JlY292ZXJ5X3BhcmFtKGk5MTUsIGN0eCksIDApOworCWdlbV9jb250ZXh0X2Rlc3Ryb3ko aTkxNSwgY3R4KTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9jdHhfYWxsb2NfcmVjb3Zlcl9vZmZf cHJvdGVjdF9vZmYoaW50IGk5MTUpCit7CisJdWludDMyX3QgY3R4OworCisJaWd0X2Fzc2VydF9l cShjcmVhdGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUsIHRydWUsIGZhbHNlLCB0cnVlLCBmYWxzZSwg JmN0eCksIDApOworCWlndF9hc3NlcnRfZXEoZ2V0X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaTkxNSwg Y3R4KSwgMCk7CisJaWd0X2Fzc2VydF9lcShnZXRfY3R4X3JlY292ZXJ5X3BhcmFtKGk5MTUsIGN0 eCksIDApOworCWdlbV9jb250ZXh0X2Rlc3Ryb3koaTkxNSwgY3R4KTsKK30KKworc3RhdGljIHZv aWQgdGVzdF9jdHhfYWxsb2NfcmVjb3Zlcl9vZmZfcHJvdGVjdF9vbihpbnQgaTkxNSkKK3sKKwl1 aW50MzJfdCBjdHg7CisKKwlpZ3RfYXNzZXJ0X2VxKGNyZWF0ZV9jdHhfd2l0aF9wYXJhbXMoaTkx NSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsICZjdHgpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKGdl dF9jdHhfcHJvdGVjdGVkX3BhcmFtKGk5MTUsIGN0eCksIDEpOworCWlndF9hc3NlcnRfZXEoZ2V0 X2N0eF9yZWNvdmVyeV9wYXJhbShpOTE1LCBjdHgpLCAwKTsKKwlnZW1fY29udGV4dF9kZXN0cm95 KGk5MTUsIGN0eCk7Cit9CisKK3N0YXRpYyB2b2lkIHRlc3RfY3R4X2FsbG9jX3JlY292ZXJfb25f cHJvdGVjdF9vZmYoaW50IGk5MTUpCit7CisJdWludDMyX3QgY3R4OworCisJaWd0X2Fzc2VydF9l cShjcmVhdGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUsIHRydWUsIGZhbHNlLCB0cnVlLCB0cnVlLCAm Y3R4KSwgMCk7CisJaWd0X2Fzc2VydF9lcShnZXRfY3R4X3Byb3RlY3RlZF9wYXJhbShpOTE1LCBj dHgpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKGdldF9jdHhfcmVjb3ZlcnlfcGFyYW0oaTkxNSwgY3R4 KSwgMSk7CisJZ2VtX2NvbnRleHRfZGVzdHJveShpOTE1LCBjdHgpOworfQorCitzdGF0aWMgdm9p ZCB0ZXN0X2N0eF9hbGxvY19yZWNvdmVyX29uX3Byb3RlY3Rfb24oaW50IGk5MTUpCit7CisJdWlu dDMyX3QgY3R4OworCisJaWd0X2Fzc2VydF9lcShjcmVhdGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUs IHRydWUsIHRydWUsIHRydWUsIHRydWUsICZjdHgpLCAtRVBFUk0pOworCWlndF9hc3NlcnRfZXEo Y3JlYXRlX2N0eF93aXRoX3BhcmFtcyhpOTE1LCB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UsICZj dHgpLCAtRVBFUk0pOworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2N0eF9tb2RfcmVjb3Zlcl9vZmZf dG9fb24oaW50IGk5MTUpCit7CisJdWludDMyX3QgY3R4OworCisJaWd0X2Fzc2VydF9lcShjcmVh dGVfY3R4X3dpdGhfcGFyYW1zKGk5MTUsIHRydWUsIHRydWUsIHRydWUsIGZhbHNlLCAmY3R4KSwg MCk7CisJaWd0X2Fzc2VydF9lcShnZXRfY3R4X3Byb3RlY3RlZF9wYXJhbShpOTE1LCBjdHgpLCAx KTsKKwlpZ3RfYXNzZXJ0X2VxKGdldF9jdHhfcmVjb3ZlcnlfcGFyYW0oaTkxNSwgY3R4KSwgMCk7 CisJaWd0X2Fzc2VydF9lcShtb2RpZnlfY3R4X3BhcmFtKGk5MTUsIGN0eCwgQ0hBTkdFX1BBUkFN X1JFQ09WRVJZLCB0cnVlKSwgLUVQRVJNKTsKKwlpZ3RfYXNzZXJ0X2VxKGdldF9jdHhfcmVjb3Zl cnlfcGFyYW0oaTkxNSwgY3R4KSwgMCk7CisJZ2VtX2NvbnRleHRfZGVzdHJveShpOTE1LCBjdHgp OworfQorCitzdGF0aWMgdm9pZCB0ZXN0X2N0eF9tb2RfcHJvdGVjdGVkX29uX3RvX29mZihpbnQg aTkxNSkKK3sKKwl1aW50MzJfdCBjdHg7CisKKwlpZ3RfYXNzZXJ0X2VxKGNyZWF0ZV9jdHhfd2l0 aF9wYXJhbXMoaTkxNSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgZmFsc2UsICZjdHgpLCAwKTsKKwlpZ3Rf YXNzZXJ0X2VxKGdldF9jdHhfcHJvdGVjdGVkX3BhcmFtKGk5MTUsIGN0eCksIDEpOworCWlndF9h c3NlcnRfZXEoZ2V0X2N0eF9yZWNvdmVyeV9wYXJhbShpOTE1LCBjdHgpLCAwKTsKKwlpZ3RfYXNz ZXJ0X2VxKG1vZGlmeV9jdHhfcGFyYW0oaTkxNSwgY3R4LCBDSEFOR0VfUEFSQU1fUFJPVEVDVEVE LCBmYWxzZSksIC1FUEVSTSk7CisJaWd0X2Fzc2VydF9lcShnZXRfY3R4X3Byb3RlY3RlZF9wYXJh bShpOTE1LCBjdHgpLCAxKTsKKwlpZ3RfYXNzZXJ0X2VxKGdldF9jdHhfcmVjb3ZlcnlfcGFyYW0o aTkxNSwgY3R4KSwgMCk7CisJZ2VtX2NvbnRleHRfZGVzdHJveShpOTE1LCBjdHgpOworfQorCitz dGF0aWMgdm9pZCB0ZXN0X2N0eF9tb2RfcHJvdGVjdGVkX3RvX2FsbF9pbnZhbGlkKGludCBpOTE1 KQoreworCXVpbnQzMl90IGN0eDsKKworCWlndF9hc3NlcnRfZXEoY3JlYXRlX2N0eF93aXRoX3Bh cmFtcyhpOTE1LCB0cnVlLCB0cnVlLCB0cnVlLCBmYWxzZSwgJmN0eCksIDApOworCWlndF9hc3Nl cnRfZXEoZ2V0X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaTkxNSwgY3R4KSwgMSk7CisJaWd0X2Fzc2Vy dF9lcShnZXRfY3R4X3JlY292ZXJ5X3BhcmFtKGk5MTUsIGN0eCksIDApOworCWlndF9hc3NlcnRf ZXEobW9kaWZ5X2N0eF9wYXJhbShpOTE1LCBjdHgsIENIQU5HRV9QQVJBTV9SRUNPVkVSWSwgdHJ1 ZSksIC1FUEVSTSk7CisJaWd0X2Fzc2VydF9lcShtb2RpZnlfY3R4X3BhcmFtKGk5MTUsIGN0eCwg Q0hBTkdFX1BBUkFNX1BST1RFQ1RFRCwgZmFsc2UpLCAtRVBFUk0pOworCWlndF9hc3NlcnRfZXEo Z2V0X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaTkxNSwgY3R4KSwgMSk7CisJaWd0X2Fzc2VydF9lcShn ZXRfY3R4X3JlY292ZXJ5X3BhcmFtKGk5MTUsIGN0eCksIDApOworCWdlbV9jb250ZXh0X2Rlc3Ry b3koaTkxNSwgY3R4KTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9jdHhfbW9kX3JlZ3VsYXJfdG9f YWxsX3ZhbGlkKGludCBpOTE1KQoreworCXVpbnQzMl90IGN0eDsKKworCWlndF9hc3NlcnRfZXEo Y3JlYXRlX2N0eF93aXRoX3BhcmFtcyhpOTE1LCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwg JmN0eCksIDApOworCWlndF9hc3NlcnRfZXEoZ2V0X2N0eF9wcm90ZWN0ZWRfcGFyYW0oaTkxNSwg Y3R4KSwgMCk7CisJaWd0X2Fzc2VydF9lcShnZXRfY3R4X3JlY292ZXJ5X3BhcmFtKGk5MTUsIGN0 eCksIDEpOworCWlndF9hc3NlcnRfZXEobW9kaWZ5X2N0eF9wYXJhbShpOTE1LCBjdHgsIENIQU5H RV9QQVJBTV9SRUNPVkVSWSwgZmFsc2UpLCAwKTsKKwlpZ3RfYXNzZXJ0X2VxKG1vZGlmeV9jdHhf cGFyYW0oaTkxNSwgY3R4LCBDSEFOR0VfUEFSQU1fUFJPVEVDVEVELCB0cnVlKSwgLUVQRVJNKTsK KwlpZ3RfYXNzZXJ0X2VxKGdldF9jdHhfcHJvdGVjdGVkX3BhcmFtKGk5MTUsIGN0eCksIDApOwor CWlndF9hc3NlcnRfZXEoZ2V0X2N0eF9yZWNvdmVyeV9wYXJhbShpOTE1LCBjdHgpLCAwKTsKKwln ZW1fY29udGV4dF9kZXN0cm95KGk5MTUsIGN0eCk7Cit9CisKK2lndF9tYWluCit7CisJaW50IGk5 MTUgPSAtMTsKKwlib29sIHB4cF9zdXBwb3J0ZWQgPSBmYWxzZTsKKworCWlndF9maXh0dXJlCisJ eworCQlpOTE1ID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CisJCWlndF9yZXF1aXJl KGk5MTUpOworCQlpZ3RfcmVxdWlyZV9nZW0oaTkxNSk7CisJCXB4cF9zdXBwb3J0ZWQgPSBpc19w eHBfaHdfc3VwcG9ydGVkKGk5MTUpOworCX0KKworCWlndF9zdWJ0ZXN0X2dyb3VwIHsKKwkJaWd0 X2ZpeHR1cmUgeworCQkJaWd0X3JlcXVpcmUoKHB4cF9zdXBwb3J0ZWQgPT0gMCkpOworCQl9CisK KwkJaWd0X2Rlc2NyaWJlKCJWZXJpZnkgcHJvdGVjdGVkIGJ1ZmZlciBvbiB1bnN1cHBvcnRlZCBo dzoiKTsKKwkJaWd0X3N1YnRlc3QoImh3LXJlamVjdHMtcHhwLWJ1ZmZlciIpCisJCQl0ZXN0X2Jv X2FsbG9jX3B4cF9ub2h3KGk5MTUpOworCQlpZ3RfZGVzY3JpYmUoIlZlcmlmeSBwcm90ZWN0ZWQg Y29udGV4dCBvbiB1bnN1cHBvcnRlZCBodzoiKTsKKwkJaWd0X3N1YnRlc3QoImh3LXJlamVjdHMt cHhwLWNvbnRleHQiKQorCQkJdGVzdF9jdHhfYWxsb2NfcHhwX25vaHcoaTkxNSk7CisJfQorCisJ aWd0X3N1YnRlc3RfZ3JvdXAgeworCQlpZ3RfZml4dHVyZSB7CisJCQlpZ3RfcmVxdWlyZShweHBf c3VwcG9ydGVkKTsKKwkJfQorCisJCWlndF9kZXNjcmliZSgiVmVyaWZ5IHByb3RlY3RlZCBidWZm ZXIgb24gc3VwcG9ydGVkIGh3OiIpOworCQlpZ3Rfc3VidGVzdCgiY3JlYXRlLXJlZ3VsYXItYnVm ZmVyIikKKwkJCXRlc3RfYm9fYWxsb2NfcHhwX29mZihpOTE1KTsKKwkJaWd0X3N1YnRlc3QoImNy ZWF0ZS1wcm90ZWN0ZWQtYnVmZmVyIikKKwkJCXRlc3RfYm9fYWxsb2NfcHhwX29uKGk5MTUpOwor CisJCWlndF9kZXNjcmliZSgiVmVyaWZ5IHByb3RlY3RlZCBjb250ZXh0IG9uIHN1cHBvcnRlZCBo dzoiKTsKKwkJaWd0X3N1YnRlc3QoImNyZWF0ZS1yZWd1bGFyLWNvbnRleHQtMSIpCisJCQl0ZXN0 X2N0eF9hbGxvY19yZWNvdmVyX29mZl9wcm90ZWN0X29mZihpOTE1KTsKKwkJaWd0X3N1YnRlc3Qo ImNyZWF0ZS1yZWd1bGFyLWNvbnRleHQtMiIpCisJCQl0ZXN0X2N0eF9hbGxvY19yZWNvdmVyX29u X3Byb3RlY3Rfb2ZmKGk5MTUpOworCQlpZ3Rfc3VidGVzdCgiZmFpbC1pbnZhbGlkLXByb3RlY3Rl ZC1jb250ZXh0IikKKwkJCXRlc3RfY3R4X2FsbG9jX3JlY292ZXJfb25fcHJvdGVjdF9vbihpOTE1 KTsKKwkJaWd0X3N1YnRlc3QoImNyZWF0ZS12YWxpZC1wcm90ZWN0ZWQtY29udGV4dCIpCisJCQl0 ZXN0X2N0eF9hbGxvY19yZWNvdmVyX29mZl9wcm90ZWN0X29uKGk5MTUpOworCisJCWlndF9kZXNj cmliZSgiVmVyaWZ5IHByb3RlY3RlZCBjb250ZXh0IGludGVncml0eToiKTsKKwkJaWd0X3N1YnRl c3QoInJlamVjdC1tb2RpZnktY29udGV4dC1wcm90ZWN0aW9uLW9uIikKKwkJCXRlc3RfY3R4X21v ZF9yZWd1bGFyX3RvX2FsbF92YWxpZChpOTE1KTsKKwkJaWd0X3N1YnRlc3QoInJlamVjdC1tb2Rp ZnktY29udGV4dC1wcm90ZWN0aW9uLW9mZi0xIikKKwkJCXRlc3RfY3R4X21vZF9yZWNvdmVyX29m Zl90b19vbihpOTE1KTsKKwkJaWd0X3N1YnRlc3QoInJlamVjdC1tb2RpZnktY29udGV4dC1wcm90 ZWN0aW9uLW9mZi0yIikKKwkJCXRlc3RfY3R4X21vZF9wcm90ZWN0ZWRfb25fdG9fb2ZmKGk5MTUp OworCQlpZ3Rfc3VidGVzdCgicmVqZWN0LW1vZGlmeS1jb250ZXh0LXByb3RlY3Rpb24tb2ZmLTMi KQorCQkJdGVzdF9jdHhfbW9kX3Byb3RlY3RlZF90b19hbGxfaW52YWxpZChpOTE1KTsKKwl9CisK KwlpZ3RfZml4dHVyZSB7CisJCWNsb3NlKGk5MTUpOworCX0KK30KZGlmZiAtLWdpdCBhL3Rlc3Rz L21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKaW5kZXggMTljYzRlYmUuLmUwYmZmNGQx IDEwMDY0NAotLS0gYS90ZXN0cy9tZXNvbi5idWlsZAorKysgYi90ZXN0cy9tZXNvbi5idWlsZApA QCAtMTg3LDYgKzE4Nyw3IEBAIGk5MTVfcHJvZ3MgPSBbCiAJJ2dlbV9wcmVhZF9hZnRlcl9ibGl0 JywKIAknZ2VtX3B3cml0ZScsCiAJJ2dlbV9wd3JpdGVfc25vb3BlZCcsCisJJ2dlbV9weHAnLAog CSdnZW1fcmVhZF9yZWFkX3NwZWVkJywKIAknZ2VtX3JlYWR3cml0ZScsCiAJJ2dlbV9yZWdfcmVh ZCcsCi0tIAoyLjI1LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=