From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 4479F6E67D for ; Thu, 15 Nov 2018 18:57:47 +0000 (UTC) From: Eric Anholt Date: Thu, 15 Nov 2018 10:57:36 -0800 Message-Id: <20181115185737.19311-5-eric@anholt.net> In-Reply-To: <20181115185737.19311-1-eric@anholt.net> References: <20181115185737.19311-1-eric@anholt.net> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 5/6] v3d_*: Add new tests for the V3D UABI. 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 List-ID: VGhlc2UgYXJlIGJhc2ljIG5vbi1yZW5kZXJpbmcgdGVzdHMgb2YgdGhlIFVBQkkuCgpTaWduZWQt b2ZmLWJ5OiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgotLS0KIGxpYi9pZ3RfdjNkLmMg ICAgICAgICAgICAgfCAgNCAtLQogdGVzdHMvTWFrZWZpbGUuYW0gICAgICAgICB8ICAyICsKIHRl c3RzL01ha2VmaWxlLnNvdXJjZXMgICAgfCAgNiArKysKIHRlc3RzL21lc29uLmJ1aWxkICAgICAg ICAgfCAgMyArKwogdGVzdHMvdjNkX2NpL1JFQURNRSAgICAgICB8IDI2ICsrKysrKysrKysrKysK IHRlc3RzL3YzZF9jaS92M2QudGVzdGxpc3QgfCAgNiArKysKIHRlc3RzL3YzZF9nZXRfYm9fb2Zm c2V0LmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdHMv djNkX2dldF9wYXJhbS5jICAgICB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogdGVzdHMvdjNkX21tYXAuYyAgICAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysr KysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCAyNTYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy92M2RfY2kvUkVBRE1FCiBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvdjNkX2NpL3YzZC50ZXN0bGlzdAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRl c3RzL3YzZF9nZXRfYm9fb2Zmc2V0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy92M2RfZ2V0 X3BhcmFtLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy92M2RfbW1hcC5jCgpkaWZmIC0tZ2l0 IGEvbGliL2lndF92M2QuYyBiL2xpYi9pZ3RfdjNkLmMKaW5kZXggMWE1ZWRlMWJkNWZjLi42MTlj MDcyYzBlNDcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfdjNkLmMKKysrIGIvbGliL2lndF92M2QuYwpA QCAtNDAsMTAgKzQwLDYgQEAKICNpbmNsdWRlICJpbnRlbF9jaGlwc2V0LmgiCiAjaW5jbHVkZSAi djNkX2RybS5oIgogCi0jaWYgTkVXX0NPTlRFWFRfUEFSQU1fTk9fRVJST1JfQ0FQVFVSRV9BUEkK LSNkZWZpbmUgTE9DQUxfQ09OVEVYVF9QQVJBTV9OT19FUlJPUl9DQVBUVVJFIDB4NAotI2VuZGlm Ci0KIC8qKgogICogU0VDVElPTjppZ3RfdjNkCiAgKiBAc2hvcnRfZGVzY3JpcHRpb246IFYzRCBz dXBwb3J0IGxpYnJhcnkKZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFr ZWZpbGUuYW0KaW5kZXggM2QxY2UwYmMxYWY4Li5hNmIyYmE1MWVhNGYgMTAwNjQ0Ci0tLSBhL3Rl c3RzL01ha2VmaWxlLmFtCisrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCkBAIC0xNCw2ICsxNCw4IEBA IGlmIEJVSUxEX1ZDNAogICAgIFRFU1RTX3Byb2dzICs9ICQoVkM0X1RFU1RTKQogZW5kaWYKIAor VEVTVFNfcHJvZ3MgKz0gJChWM0RfVEVTVFMpCisKIGlmIEhBVkVfQ0hBTUVMSVVNCiBURVNUU19w cm9ncyArPSBcCiAJa21zX2NoYW1lbGl1bSBcCmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5z b3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwppbmRleCBkMDA3ZWJjNzRhYjkuLjNlZDYw ZTdjMzBjNyAxMDA2NDQKLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcworKysgYi90ZXN0cy9N YWtlZmlsZS5zb3VyY2VzCkBAIC0xNSw2ICsxNSwxMiBAQCBWQzRfVEVTVFMgPSBcCiAJdmM0X3dh aXRfc2Vxbm8gXAogCSQoTlVMTCkKIAorVjNEX1RFU1RTID0gXAorCXYzZF9nZXRfYm9fb2Zmc2V0 IFwKKwl2M2RfZ2V0X3BhcmFtIFwKKwl2M2RfbW1hcCBcCisJJChOVUxMKQorCiBBTURHUFVfVEVT VFMgPSBcCiAJYW1kZ3B1L2FtZF9iYXNpYyBcCiAJYW1kZ3B1L2FtZF9jc19ub3AgXApkaWZmIC0t Z2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAppbmRleCAzMDIwZjc5 ODRkN2EuLjQ0NzI1MzZhZWY2NSAxMDA2NDQKLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrIGIv dGVzdHMvbWVzb24uYnVpbGQKQEAgLTg1LDYgKzg1LDkgQEAgdGVzdF9wcm9ncyA9IFsKIAknc3lu Y29ial93YWl0JywKIAkndGVtcGxhdGUnLAogCSd0b29sc190ZXN0JywKKwkndjNkX2dldF9ib19v ZmZzZXQnLAorCSd2M2RfZ2V0X3BhcmFtJywKKwkndjNkX21tYXAnLAogCSd2YzRfY3JlYXRlX2Jv JywKIAkndmM0X2RtYWJ1Zl9wb2xsJywKIAkndmM0X2xhYmVsX2JvJywKZGlmZiAtLWdpdCBhL3Rl c3RzL3YzZF9jaS9SRUFETUUgYi90ZXN0cy92M2RfY2kvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTAzYzU1MmZiOTcyCi0tLSAvZGV2L251bGwKKysrIGIv dGVzdHMvdjNkX2NpL1JFQURNRQpAQCAtMCwwICsxLDI2IEBACitUaGlzIGRpcmVjdG9yeSBjb250 YWlucyB0ZXN0IGxpc3RzIHRvIGJlIHVzZWQgZm9yIHYzZCdzIERSTSBzdXBwb3J0LiBUaGUgZmls ZXMKK2FyZSBwYXNzZWQgdG8gcGlnbGl0IHdpdGggdGhlIC0tdGVzdC1saXN0IHBhcmFtZXRlciBk aXJlY3RseS4KKworVGhlIHRlc3QgbGlzdHMgYXJlIGNvbnRhaW5lZCBpbiB0aGUgSUdUIHJlcG9z aXRvcnkgZm9yIHNldmVyYWwKK3JlYXNvbnM6CisKKy0gVGhlIGxpc3RzIHN0YXkgc3luY2hyb25p emVkIHdpdGggdGhlIElHVCBjb2RlYmFzZS4KKy0gUHVibGljIGF2YWlsYWJpbGl0eS4gS2VybmVs IGRldmVsb3BlcnMgY2FuIHNlZSB3aGF0IHRlc3RzIGFyZSBydW4sCisgIGFuZCBjYW4gc2VlIHdo YXQgY2hhbmdlcyBhcmUgZG9uZSB0byB0aGUgc2V0LCB3aGVuLCBhbmQgd2h5LgorLSBFeHBsaWNp dCB0ZXN0IGxpc3RzIGluIGdlbmVyYWwgbWFrZSBpdCBwb3NzaWJsZSB0byBpbXBsZW1lbnQgYSBu ZXcKKyAgdGVzdCB3aXRob3V0IGhhdmluZyBpdCBydW4gYnkgZXZlcnlvbmUgZWxzZSBiZWZvcmUg dGhlIHRlc3RzIGFuZCAvIG9yIHNldHVwCisgIGFyZSByZWFkeSBmb3IgaXQuCisKK0NoYW5naW5n IHRoZSB0ZXN0IGxpc3RzIHNob3VsZCBvbmx5IGhhcHBlbiB3aXRoIGFwcHJvdmFsIGZyb20gdGhl IHYzZAorbWFpbnRhaW5lciwgRXJpYyBBbmhvbHQgKGVyaWNAYW5ob2x0Lm5ldCkuCisKKz09PT09 PT09PT09PQordjNkLnRlc3RsaXN0Cis9PT09PT09PT09PT0KKworVGhpcyB0ZXN0IGxpc3QgaXMg bWVhbnQgYXMgYSBnZW5lcmFsIHRlc3Qgc3VpdGUgd2l0aG91dCBhbnkgdGltZQorcmVzdHJpY3Rp b24gZm9yIHRoZSB2M2QgRFJNIGRyaXZlciwgY29tYmluaW5nIGdlbmVyaWMgRFJNIGFuZCBLTVMK K3Rlc3RzLiAgQXMgYSByZW1pbmRlciwgeW91IGNhbiBydW4gdGhpcyB3aXRoIHRoZSBtZXNvbiBi dWlsZCB1c2luZzoKKworLi9idWlsZC9ydW5uZXIvaWd0X3J1bm5lciAtLXRlc3QtbGlzdCB0ZXN0 cy92M2RfY2kvdjNkLnRlc3RsaXN0IFwKKyAgYnVpbGQvdGVzdHMgLW8gcmVzdWx0cwpkaWZmIC0t Z2l0IGEvdGVzdHMvdjNkX2NpL3YzZC50ZXN0bGlzdCBiL3Rlc3RzL3YzZF9jaS92M2QudGVzdGxp c3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iNTVlOGU1NzFkN2QK LS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy92M2RfY2kvdjNkLnRlc3RsaXN0CkBAIC0wLDAgKzEs NiBAQAoraWd0QHYzZF9nZXRfYm9fb2Zmc2V0QGNyZWF0ZS1nZXQtb2Zmc2V0cworaWd0QHYzZF9n ZXRfYm9fb2Zmc2V0QGdldC1iYWQtaGFuZGxlCitpZ3RAdjNkX2dldF9wYXJhbUBiYXNlLXBhcmFt cworaWd0QHYzZF9nZXRfcGFyYW1AZ2V0LWJhZC1wYXJhbQoraWd0QHYzZF9nZXRfcGFyYW1AZ2V0 LWJhZC1mbGFncworaWd0QHYzZF9tbWFwQG1tYXAtYmFkLWhhbmRsZQpkaWZmIC0tZ2l0IGEvdGVz dHMvdjNkX2dldF9ib19vZmZzZXQuYyBiL3Rlc3RzL3YzZF9nZXRfYm9fb2Zmc2V0LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wOTIzZGM4NWYwZDAKLS0tIC9kZXYv bnVsbAorKysgYi90ZXN0cy92M2RfZ2V0X2JvX29mZnNldC5jCkBAIC0wLDAgKzEsNzggQEAKKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAxNyBCcm9hZGNvbQorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVy ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisg KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCBy ZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0 byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vu c2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0 IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywg c3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNv cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUg bmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRX QVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVY UFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUg QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFN QUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U UkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBD T05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MK KyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSAi aWd0X3YzZC5oIgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lu Y2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4K KyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lz L3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisjaW5j bHVkZSAidjNkX2RybS5oIgorI2luY2x1ZGUgImlndF92M2QuaCIKKworaWd0X21haW4KK3sKKwlp bnQgZmQ7CisKKwlpZ3RfZml4dHVyZQorCQlmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfVjNE KTsKKworCWlndF9zdWJ0ZXN0KCJjcmVhdGUtZ2V0LW9mZnNldHMiKSB7CisJCXN0cnVjdCB2M2Rf Ym8gKmJvc1syXSA9IHsKKwkJCWlndF92M2RfY3JlYXRlX2JvKGZkLCA0MDk2KSwKKwkJCWlndF92 M2RfY3JlYXRlX2JvKGZkLCA0MDk2KSwKKwkJfTsKKwkJdWludDMyX3Qgb2Zmc2V0c1syXSA9IHsK KwkJCWlndF92M2RfZ2V0X2JvX29mZnNldChmZCwgYm9zWzBdLT5oYW5kbGUpLAorCQkJaWd0X3Yz ZF9nZXRfYm9fb2Zmc2V0KGZkLCBib3NbMV0tPmhhbmRsZSksCisJCX07CisKKwkJaWd0X2Fzc2Vy dF9uZXEoYm9zWzBdLT5oYW5kbGUsIGJvc1sxXS0+aGFuZGxlKTsKKwkJaWd0X2Fzc2VydF9uZXEo Ym9zWzBdLT5vZmZzZXQsIGJvc1sxXS0+b2Zmc2V0KTsKKwkJaWd0X2Fzc2VydF9lcShib3NbMF0t Pm9mZnNldCwgb2Zmc2V0c1swXSk7CisJCWlndF9hc3NlcnRfZXEoYm9zWzFdLT5vZmZzZXQsIG9m ZnNldHNbMV0pOworCisJCS8qIDAgaXMgYW4gaW52YWxpZCBvZmZzZXQgZm9yIEJPcyB0byBiZSBw bGFjZWQgYXQuICovCisJCWlndF9hc3NlcnRfbmVxKGJvc1swXS0+b2Zmc2V0LCAwKTsKKwkJaWd0 X2Fzc2VydF9uZXEoYm9zWzFdLT5vZmZzZXQsIDApOworCisJCWlndF92M2RfZnJlZV9ibyhmZCwg Ym9zWzBdKTsKKwkJaWd0X3YzZF9mcmVlX2JvKGZkLCBib3NbMV0pOworCX0KKworCWlndF9zdWJ0 ZXN0KCJnZXQtYmFkLWhhbmRsZSIpIHsKKwkJc3RydWN0IGRybV92M2RfZ2V0X2JvX29mZnNldCBn ZXQgPSB7CisJCQkuaGFuZGxlID0gMHhkMGQwZDBkMCwKKwkJfTsKKwkJZG9faW9jdGxfZXJyKGZk LCBEUk1fSU9DVExfVjNEX0dFVF9CT19PRkZTRVQsICZnZXQsIEVOT0VOVCk7CisJfQorCisJaWd0 X2ZpeHR1cmUKKwkJY2xvc2UoZmQpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvdjNkX2dldF9wYXJh bS5jIGIvdGVzdHMvdjNkX2dldF9wYXJhbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNzY1NjM0MDZjMGExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdjNkX2dl dF9wYXJhbS5jCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNyBCcm9h ZGNvbQorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8g ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhv dXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMg b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNv ZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBi ZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQor ICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ LAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO VC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVS UyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZ LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS SVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqLwor CisjaW5jbHVkZSAiaWd0LmgiCisjaW5jbHVkZSAiaWd0X3YzZC5oIgorI2luY2x1ZGUgPHVuaXN0 ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8 c3RyaW5nLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2lu Y2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvaW9j dGwuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisjaW5jbHVkZSAidjNkX2RybS5oIgorI2luY2x1ZGUg ImlndF92M2QuaCIKKworaWd0X21haW4KK3sKKwlpbnQgZmQ7CisKKwlpZ3RfZml4dHVyZQorCQlm ZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfVjNEKTsKKworCWlndF9zdWJ0ZXN0KCJiYXNlLXBh cmFtcyIpIHsKKwkJZW51bSBkcm1fdjNkX3BhcmFtIGxhc3RfYmFzZV9wYXJhbSA9CisJCQlEUk1f VjNEX1BBUkFNX1YzRF9DT1JFMF9JREVOVDI7CisKKwkJdWludDMyX3QgcmVzdWx0c1tsYXN0X2Jh c2VfcGFyYW1dOworCisJCWZvciAoaW50IGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZXN1bHRzKTsg aSsrKQorCQkJcmVzdWx0c1tpXSA9IGlndF92M2RfZ2V0X3BhcmFtKGZkLCBpKTsKKworCQkvKiBI VUIgVFZFUiBmaWVsZCAqLworCQlpZ3RfYXNzZXJ0X2x0ZSgzLCByZXN1bHRzW0RSTV9WM0RfUEFS QU1fVjNEX0hVQl9JREVOVDFdICYgMHhmKTsKKworCQkvKiBDT1JFJ3MgaWRlbnQsIGhhcyBWRVIg ZmllbGQgYnV0IGFsc28gYW4gSUQuICovCisJCWlndF9hc3NlcnRfZXEocmVzdWx0c1tEUk1fVjNE X1BBUkFNX1YzRF9DT1JFMF9JREVOVDBdICYgMHhmZmZmZmYsCisJCQkgICAgICAweDQ0MzM1NiAv KiAiVjNEIiAqLyk7CisJfQorCisJaWd0X3N1YnRlc3QoImdldC1iYWQtcGFyYW0iKSB7CisJCXN0 cnVjdCBkcm1fdjNkX2dldF9wYXJhbSBnZXQgPSB7CisJCQkucGFyYW0gPSAweGQwZDBkMGQwLAor CQl9OworCQlkb19pb2N0bF9lcnIoZmQsIERSTV9JT0NUTF9WM0RfR0VUX1BBUkFNLCAmZ2V0LCBF SU5WQUwpOworCX0KKworCWlndF9zdWJ0ZXN0KCJnZXQtYmFkLWZsYWdzIikgeworCQlzdHJ1Y3Qg ZHJtX3YzZF9nZXRfcGFyYW0gZ2V0ID0geworCQkJLnBhcmFtID0gRFJNX1YzRF9QQVJBTV9WM0Rf SFVCX0lERU5UMSwKKwkJCS5wYWQgPSAxLAorCQl9OworCQlkb19pb2N0bF9lcnIoZmQsIERSTV9J T0NUTF9WM0RfR0VUX1BBUkFNLCAmZ2V0LCBFSU5WQUwpOworCX0KKworCWlndF9maXh0dXJlCisJ CWNsb3NlKGZkKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL3YzZF9tbWFwLmMgYi90ZXN0cy92M2Rf bW1hcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTZmZTdlNWE3 MzIyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdjNkX21tYXAuYwpAQCAtMCwwICsxLDU1IEBA CisvKgorICogQ29weXJpZ2h0IMKpIDIwMTcgQnJvYWRjb20KKyAqCisgKiBQZXJtaXNzaW9uIGlz IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg YQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcg dGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICog VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ TkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgImlndC5oIgorI2luY2x1 ZGUgImlndF92M2QuaCIKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4K KyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRs Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUg PHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8cG9sbC5oPgor I2luY2x1ZGUgInYzZF9kcm0uaCIKKyNpbmNsdWRlICJpZ3RfdjNkLmgiCisKK2lndF9tYWluCit7 CisJaW50IGZkOworCisJaWd0X2ZpeHR1cmUKKwkJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVS X1YzRCk7CisKKwlpZ3Rfc3VidGVzdCgibW1hcC1iYWQtaGFuZGxlIikgeworCQlzdHJ1Y3QgZHJt X3YzZF9tbWFwX2JvIGdldCA9IHsKKwkJCS5oYW5kbGUgPSAweGQwZDBkMGQwLAorCQl9OworCQlk b19pb2N0bF9lcnIoZmQsIERSTV9JT0NUTF9WM0RfTU1BUF9CTywgJmdldCwgRU5PRU5UKTsKKwl9 CisKKwlpZ3RfZml4dHVyZQorCQljbG9zZShmZCk7Cit9Ci0tIAoyLjE5LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=