From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 49ED56EBB5 for ; Thu, 19 Dec 2019 23:59:44 +0000 (UTC) From: "Robert M. Fosha" Date: Thu, 19 Dec 2019 15:50:47 -0800 Message-Id: <20191219235047.15224-1-robert.m.fosha@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] tests/i915/gem_huc_copy: Enable a HuC copy test 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: Sally Qi List-ID: RnJvbTogU2FsbHkgUWkgPGZlbmcucWlAaW50ZWwuY29tPgoKVGhpcyB0ZXN0IGNhc2UgbG9hZHMg dGhlIEh1QyBjb3B5IGZpcm13YXJlIHRvIGNvcHkgdGhlIGNvbnRlbnQgb2YKdGhlIHNvdXJjZSBi dWZmZXIgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KCnYyOiAoVG9ueSBZZSkKICogUmVzdHJ1 Y3R1cmVkIHNvbWUgZnVuY3Rpb25zIGFuZCBmaWxlcy4KICogRGVmaW5lZCB0aGUgY29weSBidWZm ZXIgc2l6ZSBhcyA0SyBleHBsaWNpdGx5IGFzIHRoZSBIdUMgQ29weSBrZXJuZWwKICAgYWx3YXlz IGNvcHkgNEsgYnl0ZXMgZnJvbSBzcmMgYnVmZmVyIHRvIGRzdCBidWZmZXIuCgp2MzogKEZlbmcg UWksIEFudG9uaW8gQXJnZW56aWFubywgVG9ueSBZZSkKICogUmVzdHJ1Y3R1cmVkIHNvbWUgZnVu Y3Rpb25zIGFzIGlndCByZXF1ZXN0ZWQsIGV4Y2x1ZGUgbGliZHJtIGZ1bmN0aW9uIGNhbGwuCiAq IFJlbW92ZSBodWMgZnVuY3Rpb24gd3JhcHBlcnMKICogUmFuZG9tIGluaXRpYWxpemUgc291cmNl IGlucHV0IGJ1ZmZlcgoKU2lnbmVkLW9mZi1ieTogU2FsbHkgUWkgPGZlbmcucWlAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBUb255IFllIDx0b255LnllQGludGVsLmNvbT4KLS0tCiBsaWIvTWFr ZWZpbGUuc291cmNlcyAgICAgIHwgICAyICsKIGxpYi9odWNfY29weS5jICAgICAgICAgICAgfCAx MDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2h1Y19jb3B5Lmgg ICAgICAgICAgICB8ICA1MSArKysrKysrKysrKysrKysrKysKIGxpYi9pbnRlbF9iYXRjaGJ1ZmZl ci5jICAgfCAgMjAgKysrKysrKwogbGliL2ludGVsX2JhdGNoYnVmZmVyLmggICB8ICAxOSArKysr KysrCiBsaWIvbWVzb24uYnVpbGQgICAgICAgICAgIHwgICAxICsKIHRlc3RzL01ha2VmaWxlLnNv dXJjZXMgICAgfCAgIDMgKysKIHRlc3RzL2k5MTUvZ2VtX2h1Y19jb3B5LmMgfCAxMTEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRlc3RzL21lc29uLmJ1aWxkICAgICAg ICAgfCAgIDEgKwogOSBmaWxlcyBjaGFuZ2VkLCAzMTcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYi9odWNfY29weS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL2h1Y19jb3B5 LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9pOTE1L2dlbV9odWNfY29weS5jCgpkaWZmIC0t Z2l0IGEvbGliL01ha2VmaWxlLnNvdXJjZXMgYi9saWIvTWFrZWZpbGUuc291cmNlcwppbmRleCA1 ZGQzOTYyZS4uZTllMTMyYzEgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZS5zb3VyY2VzCisrKyBi L2xpYi9NYWtlZmlsZS5zb3VyY2VzCkBAIC03OCw2ICs3OCw4IEBAIGxpYl9zb3VyY2VfbGlzdCA9 CSAJXAogCWlvY3RsX3dyYXBwZXJzLmgJXAogCW1lZGlhX2ZpbGwuYwkJXAogCW1lZGlhX2ZpbGwu aCAgICAgICAgICAgIFwKKwlodWNfY29weS5jCQlcCisJaHVjX2NvcHkuaAkJXAogCW1lZGlhX3Nw aW4uaAkJXAogCW1lZGlhX3NwaW4uYwkJXAogCWdwZ3B1X2ZpbGwuaAkJXApkaWZmIC0tZ2l0IGEv bGliL2h1Y19jb3B5LmMgYi9saWIvaHVjX2NvcHkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMC4uMzI1NDExNTcKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvaHVjX2NvcHkuYwpA QCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0 aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg cHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJl IGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisg KiBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVE SU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFks CisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U LiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAq LworCisjaW5jbHVkZSA8aTkxNV9kcm0uaD4KKyNpbmNsdWRlICJodWNfY29weS5oIgorCitzdGF0 aWMgdm9pZAorZ2VuOV9lbWl0X2h1Y192aXJ0dWFsX2FkZHJfc3RhdGUoc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjX29iamVjdDIgKnNyYywKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVj dDIgKmRzdCwKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9yZWxvY2F0aW9uX2VudHJ5ICpyZWxvY19z cmMsCisJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSAqcmVsb2NfZHN0LAor CQl1aW50MzJfdCAqYnVmLAorCQlpbnQgKmkpCit7CisJYnVmWygqaSkrK10gPSBIVUNfVklSVFVB TF9BRERSX1NUQVRFOworCisJZm9yIChpbnQgaiA9IDA7IGogPCBIVUNfVklSVFVBTF9BRERSX1JF R0lPTl9OVU07IGorKykgeworCQlpZiAoaiA9PSBIVUNfVklSVFVBTF9BRERSX1JFR0lPTl9TUkMp IHsKKwkJCWJ1ZlsoKmkpKytdID0gc3JjLT5vZmZzZXQ7CisKKwkJCXJlbG9jX3NyYy0+dGFyZ2V0 X2hhbmRsZSA9IHNyYy0+aGFuZGxlOworCQkJcmVsb2Nfc3JjLT5kZWx0YSA9IDA7CisJCQlyZWxv Y19zcmMtPm9mZnNldCA9ICgqaSAtIDEpICogc2l6ZW9mKGJ1ZlswXSk7CisJCQlyZWxvY19zcmMt PnJlYWRfZG9tYWlucyA9IDA7CisJCQlyZWxvY19zcmMtPndyaXRlX2RvbWFpbiA9IDA7CisJCX0g ZWxzZSBpZiAoaiA9PSBIVUNfVklSVFVBTF9BRERSX1JFR0lPTl9EU1QpIHsKKwkJCWJ1ZlsoKmkp KytdID0gZHN0LT5vZmZzZXQ7CisKKwkJCXJlbG9jX2RzdC0+dGFyZ2V0X2hhbmRsZSA9IGRzdC0+ aGFuZGxlOworCQkJcmVsb2NfZHN0LT5kZWx0YSA9IDA7CisJCQlyZWxvY19kc3QtPm9mZnNldCA9 ICgqaSAtIDEpICogc2l6ZW9mKGJ1ZlswXSk7CisJCQlyZWxvY19kc3QtPnJlYWRfZG9tYWlucyA9 IDA7CisJCQlyZWxvY19kc3QtPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVI7 CisJCX0gZWxzZSB7CisJCQlidWZbKCppKSsrXSA9IDA7CisJCX0KKwkJYnVmWygqaSkrK10gPSAw OworCQlidWZbKCppKSsrXSA9IDA7CisJfQorfQorCit2b2lkCitnZW45X2h1Y19jb3B5ZnVuYyhp bnQgZmQsCisJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpzcmMsCisJCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpkc3QsCisJCXN0cnVjdCBkcm1faTkxNV9nZW1f ZXhlY19vYmplY3QyICpleGVjKQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9l bnRyeSByZWxvY1syXTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7 CisJaW50IGkgPSAwOworCXVpbnQzMl90IGJ1Zls2M107CisKKwkvKiBsb2FkIGh1YyBrZXJuZWwg Ki8KKwlidWZbaSsrXSA9IEhVQ19JTUVNX1NUQVRFOworCWJ1ZltpKytdID0gMDsKKwlidWZbaSsr XSA9IDA7CisJYnVmW2krK10gPSAwOworCWJ1ZltpKytdID0gMHgzOworCisJYnVmW2krK10gPSBN RlhfV0FJVDsKKwlidWZbaSsrXSA9IE1GWF9XQUlUOworCisJYnVmW2krK10gPSBIVUNfUElQRV9N T0RFX1NFTEVDVDsKKwlidWZbaSsrXSA9IDA7CisJYnVmW2krK10gPSAwOworCisJYnVmW2krK10g PSBNRlhfV0FJVDsKKworCW1lbXNldChyZWxvYywgMCwgc2l6ZW9mKHJlbG9jKSk7CisJZ2VuOV9l bWl0X2h1Y192aXJ0dWFsX2FkZHJfc3RhdGUoc3JjLCBkc3QsICZyZWxvY1swXSwgJnJlbG9jWzFd LCBidWYsICZpKTsKKworCWJ1ZltpKytdID0gSFVDX1NUQVJUOworCWJ1ZltpKytdID0gMTsKKwor CWJ1ZltpKytdID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKKworCWdlbV93cml0ZShmZCwgZXhlYy0+ aGFuZGxlLCAwLCBidWYsIHNpemVvZihidWYpKTsKKwlleGVjLT5yZWxvY2F0aW9uX2NvdW50ID0g MjsKKwlleGVjLT5yZWxvY3NfcHRyID0gdG9fdXNlcl9wb2ludGVyKHJlbG9jKTsKKworCW1lbXNl dCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKKwlleGVjYnVmLmJ1ZmZlcnNfcHRyID0g dG9fdXNlcl9wb2ludGVyKHNyYyk7CisJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAzOworCWV4ZWNi dWYuZmxhZ3MgPSBJOTE1X0VYRUNfQlNEOworCisJZ2VtX2V4ZWNidWYoZmQsICZleGVjYnVmKTsK KwlnZW1fY2xvc2UoZmQsIGV4ZWMtPmhhbmRsZSk7Cit9CmRpZmYgLS1naXQgYS9saWIvaHVjX2Nv cHkuaCBiL2xpYi9odWNfY29weS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw Li5jNDM1ZjZjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9odWNfY29weS5oCkBAIC0wLDAgKzEs NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQg ZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUg U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv bgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3 YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1 cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisg KgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBp biBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUu CisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVW RU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUg Rk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZS T00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0Ug T1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKworI2lmbmRl ZiBIVUNfQ09QWV9ICisjZGVmaW5lIEhVQ19DT1BZX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgor I2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgImlvY3RsX3dyYXBwZXJzLmgiCisjaW5jbHVk ZSAiaW50ZWxfcmVnLmgiCisKKyNkZWZpbmUgUEFSQUxMRUxfVklERU9fUElQRQkJKDB4Mzw8Mjkp CisjZGVmaW5lIE1GWF9XQUlUCQkJKFBBUkFMTEVMX1ZJREVPX1BJUEV8KDB4MTw8MjcpfCgweDE8 PDgpKQorCisjZGVmaW5lIEhVQ19JTUVNX1NUQVRFCQkJKFBBUkFMTEVMX1ZJREVPX1BJUEV8KDB4 Mjw8MjcpfCgweGI8PDIzKXwoMHgxPDwxNil8MHgzKQorI2RlZmluZSBIVUNfUElQRV9NT0RFX1NF TEVDVAkJKFBBUkFMTEVMX1ZJREVPX1BJUEV8KDB4Mjw8MjcpfCgweGI8PDIzKXwweDEpCisjZGVm aW5lIEhVQ19TVEFSVAkJCShQQVJBTExFTF9WSURFT19QSVBFfCgweDI8PDI3KXwoMHhiPDwyMyl8 KDB4MjE8PDE2KSkKKyNkZWZpbmUgSFVDX1ZJUlRVQUxfQUREUl9TVEFURQkJKFBBUkFMTEVMX1ZJ REVPX1BJUEV8KDB4Mjw8MjcpfCgweGI8PDIzKXwoMHg0PDwxNil8MHgyZikKKworI2RlZmluZSBI VUNfVklSVFVBTF9BRERSX1JFR0lPTl9OVU0JMTYKKyNkZWZpbmUgSFVDX1ZJUlRVQUxfQUREUl9S RUdJT05fU1JDCTAKKyNkZWZpbmUgSFVDX1ZJUlRVQUxfQUREUl9SRUdJT05fRFNUCTE0CisKK3Zv aWQKK2dlbjlfaHVjX2NvcHlmdW5jKGludCBmZCwKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVj X29iamVjdDIgKnNyYywKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmRzdCwK KwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmV4ZWMpOworCisjZW5kaWYgLyog SFVDX0NPUFlfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL2ludGVsX2JhdGNoYnVmZmVyLmMgYi9saWIv aW50ZWxfYmF0Y2hidWZmZXIuYwppbmRleCA1MWFhZTRkYy4uZDhjYjlkZjMgMTAwNjQ0Ci0tLSBh L2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5jCisrKyBiL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5jCkBA IC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiaW9jdGxfd3JhcHBlcnMuaCIKICNpbmNsdWRlICJt ZWRpYV9zcGluLmgiCiAjaW5jbHVkZSAiZ3BncHVfZmlsbC5oIgorI2luY2x1ZGUgImh1Y19jb3B5 LmgiCiAKICNpbmNsdWRlIDxpOTE1X2RybS5oPgogCkBAIC05NDIsMyArOTQzLDIyIEBAIGlndF9t ZWRpYV9zcGluZnVuY190IGlndF9nZXRfbWVkaWFfc3BpbmZ1bmMoaW50IGRldmlkKQogCiAJcmV0 dXJuIHNwaW47CiB9CisKKy8qKgorICogaWd0X2dldF9odWNfY29weWZ1bmM6CisgKiBAZGV2aWQ6 IHBjaSBkZXZpY2UgaWQKKyAqCisgKiBSZXR1cm5zOgorICoKKyAqIFRoZSBwbGF0Zm9ybS1zcGVj aWZpYyBodWMgY29weSBmdW5jdGlvbiBwb2ludGVyIGZvciB0aGUgZGV2aWNlIHNwZWNpZmllZAor ICogd2l0aCBAZGV2aWQuIFdpbGwgcmV0dXJuIE5VTEwgd2hlbiBubyBtZWRpYSBzcGluIGZ1bmN0 aW9uIGlzIGltcGxlbWVudGVkLgorICovCitpZ3RfaHVjX2NvcHlmdW5jX3QgaWd0X2dldF9odWNf Y29weWZ1bmMoaW50IGRldmlkKQoreworCWlndF9odWNfY29weWZ1bmNfdCBjb3B5ID0gTlVMTDsK KworCWlmIChJU19HRU4xMihkZXZpZCkgfHwgSVNfR0VOMTEoZGV2aWQpIHx8IElTX0dFTjkoZGV2 aWQpKQorCQljb3B5ID0gZ2VuOV9odWNfY29weWZ1bmM7CisKKwlyZXR1cm4gY29weTsKK30KZGlm ZiAtLWdpdCBhL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5oIGIvbGliL2ludGVsX2JhdGNoYnVmZmVy LmgKaW5kZXggMzdlM2FmZmUuLjVhZjU4NWVkIDEwMDY0NAotLS0gYS9saWIvaW50ZWxfYmF0Y2hi dWZmZXIuaAorKysgYi9saWIvaW50ZWxfYmF0Y2hidWZmZXIuaApAQCAtMzg4LDQgKzM4OCwyMyBA QCB0eXBlZGVmIHZvaWQgKCppZ3RfbWVkaWFfc3BpbmZ1bmNfdCkoc3RydWN0IGludGVsX2JhdGNo YnVmZmVyICpiYXRjaCwKIAogaWd0X21lZGlhX3NwaW5mdW5jX3QgaWd0X2dldF9tZWRpYV9zcGlu ZnVuYyhpbnQgZGV2aWQpOwogCisvKioKKyAqIGlndF9odWNfY29weWZ1bmNfdDoKKyAqIEBmZDog ZHJtIGZkCisgKiBAc3JjOiBzb3VyY2UgZHJtIGJ1ZmZlcgorICogQGRzdDogZGVzdGluYXRpb24g ZHJtIGJ1ZmZlcgorICogQGV4ZWM6IGV4ZWN1dGlvbiBkcm0gYnVmZmVyCisgKgorICogVGhpcyBp cyB0aGUgdHlwZSBvZiB0aGUgcGVyLXBsYXRmb3JtIGh1YyBjb3B5IGZ1bmN0aW9ucy4KKyAqCisg KiBUaGUgaHVjIGNvcHkgZnVuY3Rpb24gZW1pdHMgYSBiYXRjaGJ1ZmZlciB0byB0aGUgVkRCT1gg ZW5naW5lIHRvCisgKiBpbnZva2UgdGhlIEh1QyBDb3B5IGtlcm5lbCB0byBjb3B5IDRLIGJ5dGVz IGZyb20gdGhlIHNvdXJjZSBidWZmZXIKKyAqIHRvIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCisg Ki8KK3R5cGVkZWYgdm9pZCAoKmlndF9odWNfY29weWZ1bmNfdCkoaW50IGZkLAorCQlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqc3JjLAorCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNfb2JqZWN0MiAqZHN0LAorCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZXhl Yyk7CisKK2lndF9odWNfY29weWZ1bmNfdAlpZ3RfZ2V0X2h1Y19jb3B5ZnVuYyhpbnQgZGV2aWQp OwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvbWVzb24uYnVpbGQgYi9saWIvbWVzb24uYnVpbGQK aW5kZXggNTdlYjdkOTMuLjNkNzIwNjgzIDEwMDY0NAotLS0gYS9saWIvbWVzb24uYnVpbGQKKysr IGIvbGliL21lc29uLmJ1aWxkCkBAIC0xLDUgKzEsNiBAQAogbGliX3NvdXJjZXMgPSBbCiAJJ2Ry bXRlc3QuYycsCisJJ2h1Y19jb3B5LmMnLAogCSdpOTE1L2dlbV9jb250ZXh0LmMnLAogCSdpOTE1 L2dlbV9lbmdpbmVfdG9wb2xvZ3kuYycsCiAJJ2k5MTUvZ2VtX3NjaGVkdWxlci5jJywKZGlmZiAt LWdpdCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCmlu ZGV4IDgwNmViMDJkLi44YmE5N2JhYyAxMDA2NDQKLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNl cworKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCkBAIC0zMTMsNiArMzEzLDkgQEAgZ2VtX21l ZGlhX2ZpbGxfU09VUkNFUyA9IGk5MTUvZ2VtX21lZGlhX2ZpbGwuYwogVEVTVFNfcHJvZ3MgKz0g Z2VtX21lZGlhX3ZtZQogZ2VtX21lZGlhX3ZtZV9TT1VSQ0VTID0gaTkxNS9nZW1fbWVkaWFfdm1l LmMKIAorVEVTVFNfcHJvZ3MgKz0gZ2VtX2h1Y19jb3B5CitnZW1fbWVkaWFfdm1lX1NPVVJDRVMg PSBpOTE1L2dlbV9odWNfY29weS5jCisKIFRFU1RTX3Byb2dzICs9IGdlbV9tbWFwCiBnZW1fbW1h cF9TT1VSQ0VTID0gaTkxNS9nZW1fbW1hcC5jCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2Vt X2h1Y19jb3B5LmMgYi90ZXN0cy9pOTE1L2dlbV9odWNfY29weS5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwLi5mOGRhMTE1ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2k5 MTUvZ2VtX2h1Y19jb3B5LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkg MjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50 ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9m IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT b2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNv cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBh bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg dG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0 byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBu b3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICog cGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs IHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBP UiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBP VEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9S VCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9O IFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRI RSBTT0ZUV0FSRS4KKyAqLworI2luY2x1ZGUgImlndC5oIgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4K KyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMv aW9jdGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1 ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgor I2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlICJk cm0uaCIKKworSUdUX1RFU1RfREVTQ1JJUFRJT04oIkEgdmVyeSBzaW1wbGUgd29ya2xvYWQgZm9y IHRoZSBIdUMuIik7CisKKyNkZWZpbmUgSFVDX0NPUFlfREFUQV9CVUZfU0laRQk0MDk2CisKK3N0 YXRpYyB2b2lkCitjb21wYXJlX2h1Y19jb3B5X3Jlc3VsdChpbnQgZHJtX2ZkLCB1aW50MzJfdCBz cmNfaGFuZGxlLCB1aW50MzJfdCBkc3RfaGFuZGxlKQoreworCWNoYXIgc3JjX291dHB1dFtIVUNf Q09QWV9EQVRBX0JVRl9TSVpFXTsKKwljaGFyIGRzdF9vdXRwdXRbSFVDX0NPUFlfREFUQV9CVUZf U0laRV07CisKKwlnZW1fcmVhZChkcm1fZmQsIHNyY19oYW5kbGUsIDAsIHNyY19vdXRwdXQsIEhV Q19DT1BZX0RBVEFfQlVGX1NJWkUpOworCWdlbV9yZWFkKGRybV9mZCwgZHN0X2hhbmRsZSwgMCwg ZHN0X291dHB1dCwgSFVDX0NPUFlfREFUQV9CVUZfU0laRSk7CisKKwlmb3IgKGludCBpID0gMDsg aSA8IEhVQ19DT1BZX0RBVEFfQlVGX1NJWkU7IGkrKykgeworCQlpZ3RfYXNzZXJ0X2Yoc3JjX291 dHB1dFtpXSA9PSBkc3Rfb3V0cHV0W2ldLAorCQkJCSJIdWMgQ29weSBmYWlsZWQhXG4iKTsKKwl9 Cit9CisKK3N0YXRpYyBib29sCitjaGVja19odWNfc3RhdHVzKGludCBmZCkKK3sKKwlpbnQgdmFs ID0gMDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2V0cGFyYW0gcGc7CisKKwlwZy5wYXJhbSA9IEk5MTVf UEFSQU1fSFVDX1NUQVRVUzsKKwlwZy52YWx1ZSA9ICZ2YWw7CisJaWYgKGlvY3RsKGZkLCBEUk1f SU9DVExfSTkxNV9HRVRQQVJBTSwgJnBnKSA9PSAwKSB7CisJCXJldHVybiAhIXZhbDsKKwl9IGVs c2UgeworCQlyZXR1cm4gMDsKKwl9Cit9CisKK2lndF9tYWluCit7CisJaW50IGRybV9mZCA9IC0x OworCXVpbnQzMl90IGRldmlkOworCWlndF9odWNfY29weWZ1bmNfdCBodWNfY29weTsKKworCWln dF9maXh0dXJlIHsKKwkJZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CisJ CWlndF9yZXF1aXJlX2dlbShkcm1fZmQpOworCQlkZXZpZCA9IGludGVsX2dldF9kcm1fZGV2aWQo ZHJtX2ZkKTsKKwkJaHVjX2NvcHkgPSBpZ3RfZ2V0X2h1Y19jb3B5ZnVuYyhkZXZpZCk7CisJCWln dF9yZXF1aXJlX2YoaHVjX2NvcHksICJubyBodWNfY29weSBmdW5jdGlvblxuIik7CisJCWlndF9h c3NlcnRfZihjaGVja19odWNfc3RhdHVzKGRybV9mZCkgPT0gdHJ1ZSwKKwkJCSJIdUMgaXMgbm90 IHN1Y2Nlc3NmdWxseSBsb2FkZWQhXG4iKTsKKwl9CisKKwlpZ3Rfc3VidGVzdF9mKCJodWMtY29w eSIpIHsKKwkJY2hhciBpbnB1dHNbSFVDX0NPUFlfREFUQV9CVUZfU0laRV07CisJCXN0cnVjdCBk cm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKKworCQkvKiBJbml0aWFsaXplIHNyYyBi dWZmZXIgcmFuZG9tbHkgKi8KKwkJc3JhbmQodGltZShOVUxMKSk7CisJCWZvciAoaW50IGkgPSAw OyBpIDwgSFVDX0NPUFlfREFUQV9CVUZfU0laRTsgaSsrKSB7CisJCQlpbnB1dHNbaV0gPSAoY2hh cikgKHJhbmQoKSAlIDI1Nik7CisJCX0KKworCQltZW1zZXQob2JqLCAwLCBzaXplb2Yob2JqKSk7 CisJCW9ialswXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGRybV9mZCwgSFVDX0NPUFlfREFUQV9CVUZf U0laRSk7CisJCW9ialsxXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGRybV9mZCwgSFVDX0NPUFlfREFU QV9CVUZfU0laRSk7CisJCW9ialsyXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGRybV9mZCwgNDA5Nik7 CisKKwkJZ2VtX3dyaXRlKGRybV9mZCwgb2JqWzBdLmhhbmRsZSwgMCwgaW5wdXRzLCBIVUNfQ09Q WV9EQVRBX0JVRl9TSVpFKTsKKworCQlodWNfY29weShkcm1fZmQsICZvYmpbMF0sICZvYmpbMV0s ICZvYmpbMl0pOworCQljb21wYXJlX2h1Y19jb3B5X3Jlc3VsdChkcm1fZmQsIG9ialswXS5oYW5k bGUsIG9ialsxXS5oYW5kbGUpOworCX0KKworCWlndF9maXh0dXJlIHsKKwkJY2xvc2UoZHJtX2Zk KTsKKwl9Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1 aWxkCmluZGV4IDU3MGRlNTQ1Li4wNTQ1YjYxMiAxMDA2NDQKLS0tIGEvdGVzdHMvbWVzb24uYnVp bGQKKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKQEAgLTE2NSw2ICsxNjUsNyBAQCBpOTE1X3Byb2dz ID0gWwogCSdnZW1fZ3R0X2NwdV90bGInLAogCSdnZW1fZ3R0X2hvZycsCiAJJ2dlbV9ndHRfc3Bl ZWQnLAorCSdnZW1faHVjX2NvcHknLAogCSdnZW1fbGFyZ2VvYmplY3QnLAogCSdnZW1fbGluZWFy X2JsaXRzJywKIAknZ2VtX2x1dF9oYW5kbGUnLAotLSAKMi4yMS4wLjUuZ2FlYjU4MmE5ODMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=