From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id A9BC26E179 for ; Fri, 20 Dec 2019 22:11:02 +0000 (UTC) References: <20191219235047.15224-1-robert.m.fosha@intel.com> From: Antonio Argenziano Message-ID: Date: Fri, 20 Dec 2019 14:11:01 -0800 MIME-Version: 1.0 In-Reply-To: <20191219235047.15224-1-robert.m.fosha@intel.com> Content-Language: en-US Subject: Re: [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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "Robert M. Fosha" , igt-dev@lists.freedesktop.org Cc: Sally Qi List-ID: CgpPbiAxOS8xMi8xOSAxNTo1MCwgUm9iZXJ0IE0uIEZvc2hhIHdyb3RlOgo+IEZyb206IFNhbGx5 IFFpIDxmZW5nLnFpQGludGVsLmNvbT4KPiAKPiBUaGlzIHRlc3QgY2FzZSBsb2FkcyB0aGUgSHVD IGNvcHkgZmlybXdhcmUgdG8gY29weSB0aGUgY29udGVudCBvZgo+IHRoZSBzb3VyY2UgYnVmZmVy IHRvIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCj4gCj4gdjI6IChUb255IFllKQo+ICAgKiBSZXN0 cnVjdHVyZWQgc29tZSBmdW5jdGlvbnMgYW5kIGZpbGVzLgo+ICAgKiBEZWZpbmVkIHRoZSBjb3B5 IGJ1ZmZlciBzaXplIGFzIDRLIGV4cGxpY2l0bHkgYXMgdGhlIEh1QyBDb3B5IGtlcm5lbAo+ICAg ICBhbHdheXMgY29weSA0SyBieXRlcyBmcm9tIHNyYyBidWZmZXIgdG8gZHN0IGJ1ZmZlci4KPiAK PiB2MzogKEZlbmcgUWksIEFudG9uaW8gQXJnZW56aWFubywgVG9ueSBZZSkKPiAgICogUmVzdHJ1 Y3R1cmVkIHNvbWUgZnVuY3Rpb25zIGFzIGlndCByZXF1ZXN0ZWQsIGV4Y2x1ZGUgbGliZHJtIGZ1 bmN0aW9uIGNhbGwuCj4gICAqIFJlbW92ZSBodWMgZnVuY3Rpb24gd3JhcHBlcnMKPiAgICogUmFu ZG9tIGluaXRpYWxpemUgc291cmNlIGlucHV0IGJ1ZmZlcgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNh bGx5IFFpIDxmZW5nLnFpQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBUb255IFllIDx0b255 LnllQGludGVsLmNvbT4KCkxHVE0gYnV0LCBJIGNhbid0IHJlYWxseSBjb21tZW50IG9uIEh1QyBz dHVmZiBhbmQgcG9zc2libHkgSSBhbSBhIGJpdCAKb3V0IG9mIHRoZSBsb29wIG9mIHRoZSBsYXRl c3QgSUdUIGNvZGUgYmFzZS4KCkFja2VkLWJ5OiBBbnRvbmlvIEFyZ2Vuemlhbm8gPGFudG9uaW8u YXJnZW56aWFub0BpbnRlbC5jb20+CgooT2ZjIGZpeCB0aGUgYXV0b3Rvb2xzIGJ1aWxkIGZpcnN0 IDspKQoKPiAtLS0KPiAgIGxpYi9NYWtlZmlsZS5zb3VyY2VzICAgICAgfCAgIDIgKwo+ICAgbGli L2h1Y19jb3B5LmMgICAgICAgICAgICB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCj4gICBsaWIvaHVjX2NvcHkuaCAgICAgICAgICAgIHwgIDUxICsrKysrKysrKysr KysrKysrKwo+ICAgbGliL2ludGVsX2JhdGNoYnVmZmVyLmMgICB8ICAyMCArKysrKysrCj4gICBs aWIvaW50ZWxfYmF0Y2hidWZmZXIuaCAgIHwgIDE5ICsrKysrKysKPiAgIGxpYi9tZXNvbi5idWls ZCAgICAgICAgICAgfCAgIDEgKwo+ICAgdGVzdHMvTWFrZWZpbGUuc291cmNlcyAgICB8ICAgMyAr Kwo+ICAgdGVzdHMvaTkxNS9nZW1faHVjX2NvcHkuYyB8IDExMSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ICAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgICB8ICAgMSAr Cj4gICA5IGZpbGVzIGNoYW5nZWQsIDMxNyBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAx MDA2NDQgbGliL2h1Y19jb3B5LmMKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvaHVjX2NvcHku aAo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2k5MTUvZ2VtX2h1Y19jb3B5LmMKPiAKPiBk aWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlLnNvdXJjZXMgYi9saWIvTWFrZWZpbGUuc291cmNlcwo+ IGluZGV4IDVkZDM5NjJlLi5lOWUxMzJjMSAxMDA2NDQKPiAtLS0gYS9saWIvTWFrZWZpbGUuc291 cmNlcwo+ICsrKyBiL2xpYi9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTc4LDYgKzc4LDggQEAgbGli X3NvdXJjZV9saXN0ID0JIAlcCj4gICAJaW9jdGxfd3JhcHBlcnMuaAlcCj4gICAJbWVkaWFfZmls bC5jCQlcCj4gICAJbWVkaWFfZmlsbC5oICAgICAgICAgICAgXAo+ICsJaHVjX2NvcHkuYwkJXAo+ ICsJaHVjX2NvcHkuaAkJXAo+ICAgCW1lZGlhX3NwaW4uaAkJXAo+ICAgCW1lZGlhX3NwaW4uYwkJ XAo+ICAgCWdwZ3B1X2ZpbGwuaAkJXAo+IGRpZmYgLS1naXQgYS9saWIvaHVjX2NvcHkuYyBiL2xp Yi9odWNfY29weS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4uMzI1 NDExNTcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliL2h1Y19jb3B5LmMKPiBAQCAtMCwwICsx LDEwOSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgo+ ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0 byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMg UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP Ugo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBB VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1B R0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJ TiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO R1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxp OTE1X2RybS5oPgo+ICsjaW5jbHVkZSAiaHVjX2NvcHkuaCIKPiArCj4gK3N0YXRpYyB2b2lkCj4g K2dlbjlfZW1pdF9odWNfdmlydHVhbF9hZGRyX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y19vYmplY3QyICpzcmMsCj4gKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmRz dCwKPiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jX3NyYywK PiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jX2RzdCwKPiAr CQl1aW50MzJfdCAqYnVmLAo+ICsJCWludCAqaSkKPiArewo+ICsJYnVmWygqaSkrK10gPSBIVUNf VklSVFVBTF9BRERSX1NUQVRFOwo+ICsKPiArCWZvciAoaW50IGogPSAwOyBqIDwgSFVDX1ZJUlRV QUxfQUREUl9SRUdJT05fTlVNOyBqKyspIHsKPiArCQlpZiAoaiA9PSBIVUNfVklSVFVBTF9BRERS X1JFR0lPTl9TUkMpIHsKPiArCQkJYnVmWygqaSkrK10gPSBzcmMtPm9mZnNldDsKPiArCj4gKwkJ CXJlbG9jX3NyYy0+dGFyZ2V0X2hhbmRsZSA9IHNyYy0+aGFuZGxlOwo+ICsJCQlyZWxvY19zcmMt PmRlbHRhID0gMDsKPiArCQkJcmVsb2Nfc3JjLT5vZmZzZXQgPSAoKmkgLSAxKSAqIHNpemVvZihi dWZbMF0pOwo+ICsJCQlyZWxvY19zcmMtPnJlYWRfZG9tYWlucyA9IDA7Cj4gKwkJCXJlbG9jX3Ny Yy0+d3JpdGVfZG9tYWluID0gMDsKPiArCQl9IGVsc2UgaWYgKGogPT0gSFVDX1ZJUlRVQUxfQURE Ul9SRUdJT05fRFNUKSB7Cj4gKwkJCWJ1ZlsoKmkpKytdID0gZHN0LT5vZmZzZXQ7Cj4gKwo+ICsJ CQlyZWxvY19kc3QtPnRhcmdldF9oYW5kbGUgPSBkc3QtPmhhbmRsZTsKPiArCQkJcmVsb2NfZHN0 LT5kZWx0YSA9IDA7Cj4gKwkJCXJlbG9jX2RzdC0+b2Zmc2V0ID0gKCppIC0gMSkgKiBzaXplb2Yo YnVmWzBdKTsKPiArCQkJcmVsb2NfZHN0LT5yZWFkX2RvbWFpbnMgPSAwOwo+ICsJCQlyZWxvY19k c3QtPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVI7Cj4gKwkJfSBlbHNlIHsK PiArCQkJYnVmWygqaSkrK10gPSAwOwo+ICsJCX0KPiArCQlidWZbKCppKSsrXSA9IDA7Cj4gKwkJ YnVmWygqaSkrK10gPSAwOwo+ICsJfQo+ICt9Cj4gKwo+ICt2b2lkCj4gK2dlbjlfaHVjX2NvcHlm dW5jKGludCBmZCwKPiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqc3JjLAo+ ICsJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpkc3QsCj4gKwkJc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmV4ZWMpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVsb2NhdGlvbl9lbnRyeSByZWxvY1syXTsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y2J1ZmZlcjIgZXhlY2J1ZjsKPiArCWludCBpID0gMDsKPiArCXVpbnQzMl90IGJ1Zls2M107Cj4g Kwo+ICsJLyogbG9hZCBodWMga2VybmVsICovCj4gKwlidWZbaSsrXSA9IEhVQ19JTUVNX1NUQVRF Owo+ICsJYnVmW2krK10gPSAwOwo+ICsJYnVmW2krK10gPSAwOwo+ICsJYnVmW2krK10gPSAwOwo+ ICsJYnVmW2krK10gPSAweDM7Cj4gKwo+ICsJYnVmW2krK10gPSBNRlhfV0FJVDsKPiArCWJ1Zltp KytdID0gTUZYX1dBSVQ7Cj4gKwo+ICsJYnVmW2krK10gPSBIVUNfUElQRV9NT0RFX1NFTEVDVDsK PiArCWJ1ZltpKytdID0gMDsKPiArCWJ1ZltpKytdID0gMDsKPiArCj4gKwlidWZbaSsrXSA9IE1G WF9XQUlUOwo+ICsKPiArCW1lbXNldChyZWxvYywgMCwgc2l6ZW9mKHJlbG9jKSk7Cj4gKwlnZW45 X2VtaXRfaHVjX3ZpcnR1YWxfYWRkcl9zdGF0ZShzcmMsIGRzdCwgJnJlbG9jWzBdLCAmcmVsb2Nb MV0sIGJ1ZiwgJmkpOwo+ICsKPiArCWJ1ZltpKytdID0gSFVDX1NUQVJUOwo+ICsJYnVmW2krK10g PSAxOwo+ICsKPiArCWJ1ZltpKytdID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKPiArCj4gKwlnZW1f d3JpdGUoZmQsIGV4ZWMtPmhhbmRsZSwgMCwgYnVmLCBzaXplb2YoYnVmKSk7Cj4gKwlleGVjLT5y ZWxvY2F0aW9uX2NvdW50ID0gMjsKPiArCWV4ZWMtPnJlbG9jc19wdHIgPSB0b191c2VyX3BvaW50 ZXIocmVsb2MpOwo+ICsKPiArCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsK PiArCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoc3JjKTsKPiArCWV4ZWNi dWYuYnVmZmVyX2NvdW50ID0gMzsKPiArCWV4ZWNidWYuZmxhZ3MgPSBJOTE1X0VYRUNfQlNEOwo+ ICsKPiArCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7Cj4gKwlnZW1fY2xvc2UoZmQsIGV4ZWMt PmhhbmRsZSk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvbGliL2h1Y19jb3B5LmggYi9saWIvaHVjX2Nv cHkuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAuLmM0MzVmNmNiCj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi9odWNfY29weS5oCj4gQEAgLTAsMCArMSw1MSBAQAo+ ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsg KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0 ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNo YWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2Yg dGhlCj4gKyAqIFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQg IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJ TVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1F UkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E IE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICog SU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgSFVDX0NPUFlfSAo+ ICsjZGVmaW5lIEhVQ19DT1BZX0gKPiArCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2luY2x1 ZGUgPHN0cmluZy5oPgo+ICsjaW5jbHVkZSAiaW9jdGxfd3JhcHBlcnMuaCIKPiArI2luY2x1ZGUg ImludGVsX3JlZy5oIgo+ICsKPiArI2RlZmluZSBQQVJBTExFTF9WSURFT19QSVBFCQkoMHgzPDwy OSkKPiArI2RlZmluZSBNRlhfV0FJVAkJCShQQVJBTExFTF9WSURFT19QSVBFfCgweDE8PDI3KXwo MHgxPDw4KSkKPiArCj4gKyNkZWZpbmUgSFVDX0lNRU1fU1RBVEUJCQkoUEFSQUxMRUxfVklERU9f UElQRXwoMHgyPDwyNyl8KDB4Yjw8MjMpfCgweDE8PDE2KXwweDMpCj4gKyNkZWZpbmUgSFVDX1BJ UEVfTU9ERV9TRUxFQ1QJCShQQVJBTExFTF9WSURFT19QSVBFfCgweDI8PDI3KXwoMHhiPDwyMyl8 MHgxKQo+ICsjZGVmaW5lIEhVQ19TVEFSVAkJCShQQVJBTExFTF9WSURFT19QSVBFfCgweDI8PDI3 KXwoMHhiPDwyMyl8KDB4MjE8PDE2KSkKPiArI2RlZmluZSBIVUNfVklSVFVBTF9BRERSX1NUQVRF CQkoUEFSQUxMRUxfVklERU9fUElQRXwoMHgyPDwyNyl8KDB4Yjw8MjMpfCgweDQ8PDE2KXwweDJm KQo+ICsKPiArI2RlZmluZSBIVUNfVklSVFVBTF9BRERSX1JFR0lPTl9OVU0JMTYKPiArI2RlZmlu ZSBIVUNfVklSVFVBTF9BRERSX1JFR0lPTl9TUkMJMAo+ICsjZGVmaW5lIEhVQ19WSVJUVUFMX0FE RFJfUkVHSU9OX0RTVAkxNAo+ICsKPiArdm9pZAo+ICtnZW45X2h1Y19jb3B5ZnVuYyhpbnQgZmQs Cj4gKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKnNyYywKPiArCQlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZHN0LAo+ICsJCXN0cnVjdCBkcm1faTkxNV9nZW1f ZXhlY19vYmplY3QyICpleGVjKTsKPiArCj4gKyNlbmRpZiAvKiBIVUNfQ09QWV9IICovCj4gZGlm ZiAtLWdpdCBhL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5jIGIvbGliL2ludGVsX2JhdGNoYnVmZmVy LmMKPiBpbmRleCA1MWFhZTRkYy4uZDhjYjlkZjMgMTAwNjQ0Cj4gLS0tIGEvbGliL2ludGVsX2Jh dGNoYnVmZmVyLmMKPiArKysgYi9saWIvaW50ZWxfYmF0Y2hidWZmZXIuYwo+IEBAIC00Myw2ICs0 Myw3IEBACj4gICAjaW5jbHVkZSAiaW9jdGxfd3JhcHBlcnMuaCIKPiAgICNpbmNsdWRlICJtZWRp YV9zcGluLmgiCj4gICAjaW5jbHVkZSAiZ3BncHVfZmlsbC5oIgo+ICsjaW5jbHVkZSAiaHVjX2Nv cHkuaCIKPiAgIAo+ICAgI2luY2x1ZGUgPGk5MTVfZHJtLmg+Cj4gICAKPiBAQCAtOTQyLDMgKzk0 MywyMiBAQCBpZ3RfbWVkaWFfc3BpbmZ1bmNfdCBpZ3RfZ2V0X21lZGlhX3NwaW5mdW5jKGludCBk ZXZpZCkKPiAgIAo+ICAgCXJldHVybiBzcGluOwo+ICAgfQo+ICsKPiArLyoqCj4gKyAqIGlndF9n ZXRfaHVjX2NvcHlmdW5jOgo+ICsgKiBAZGV2aWQ6IHBjaSBkZXZpY2UgaWQKPiArICoKPiArICog UmV0dXJuczoKPiArICoKPiArICogVGhlIHBsYXRmb3JtLXNwZWNpZmljIGh1YyBjb3B5IGZ1bmN0 aW9uIHBvaW50ZXIgZm9yIHRoZSBkZXZpY2Ugc3BlY2lmaWVkCj4gKyAqIHdpdGggQGRldmlkLiBX aWxsIHJldHVybiBOVUxMIHdoZW4gbm8gbWVkaWEgc3BpbiBmdW5jdGlvbiBpcyBpbXBsZW1lbnRl ZC4KPiArICovCj4gK2lndF9odWNfY29weWZ1bmNfdCBpZ3RfZ2V0X2h1Y19jb3B5ZnVuYyhpbnQg ZGV2aWQpCj4gK3sKPiArCWlndF9odWNfY29weWZ1bmNfdCBjb3B5ID0gTlVMTDsKPiArCj4gKwlp ZiAoSVNfR0VOMTIoZGV2aWQpIHx8IElTX0dFTjExKGRldmlkKSB8fCBJU19HRU45KGRldmlkKSkK PiArCQljb3B5ID0gZ2VuOV9odWNfY29weWZ1bmM7Cj4gKwo+ICsJcmV0dXJuIGNvcHk7Cj4gK30K PiBkaWZmIC0tZ2l0IGEvbGliL2ludGVsX2JhdGNoYnVmZmVyLmggYi9saWIvaW50ZWxfYmF0Y2hi dWZmZXIuaAo+IGluZGV4IDM3ZTNhZmZlLi41YWY1ODVlZCAxMDA2NDQKPiAtLS0gYS9saWIvaW50 ZWxfYmF0Y2hidWZmZXIuaAo+ICsrKyBiL2xpYi9pbnRlbF9iYXRjaGJ1ZmZlci5oCj4gQEAgLTM4 OCw0ICszODgsMjMgQEAgdHlwZWRlZiB2b2lkICgqaWd0X21lZGlhX3NwaW5mdW5jX3QpKHN0cnVj dCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2gsCj4gICAKPiAgIGlndF9tZWRpYV9zcGluZnVuY190 IGlndF9nZXRfbWVkaWFfc3BpbmZ1bmMoaW50IGRldmlkKTsKPiAgIAo+ICsvKioKPiArICogaWd0 X2h1Y19jb3B5ZnVuY190Ogo+ICsgKiBAZmQ6IGRybSBmZAo+ICsgKiBAc3JjOiBzb3VyY2UgZHJt IGJ1ZmZlcgo+ICsgKiBAZHN0OiBkZXN0aW5hdGlvbiBkcm0gYnVmZmVyCj4gKyAqIEBleGVjOiBl eGVjdXRpb24gZHJtIGJ1ZmZlcgo+ICsgKgo+ICsgKiBUaGlzIGlzIHRoZSB0eXBlIG9mIHRoZSBw ZXItcGxhdGZvcm0gaHVjIGNvcHkgZnVuY3Rpb25zLgo+ICsgKgo+ICsgKiBUaGUgaHVjIGNvcHkg ZnVuY3Rpb24gZW1pdHMgYSBiYXRjaGJ1ZmZlciB0byB0aGUgVkRCT1ggZW5naW5lIHRvCj4gKyAq IGludm9rZSB0aGUgSHVDIENvcHkga2VybmVsIHRvIGNvcHkgNEsgYnl0ZXMgZnJvbSB0aGUgc291 cmNlIGJ1ZmZlcgo+ICsgKiB0byB0aGUgZGVzdGluYXRpb24gYnVmZmVyLgo+ICsgKi8KPiArdHlw ZWRlZiB2b2lkICgqaWd0X2h1Y19jb3B5ZnVuY190KShpbnQgZmQsCj4gKwkJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjX29iamVjdDIgKnNyYywKPiArCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNf b2JqZWN0MiAqZHN0LAo+ICsJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyICpleGVj KTsKPiArCj4gK2lndF9odWNfY29weWZ1bmNfdAlpZ3RfZ2V0X2h1Y19jb3B5ZnVuYyhpbnQgZGV2 aWQpOwo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2xpYi9tZXNvbi5idWlsZCBiL2xpYi9tZXNv bi5idWlsZAo+IGluZGV4IDU3ZWI3ZDkzLi4zZDcyMDY4MyAxMDA2NDQKPiAtLS0gYS9saWIvbWVz b24uYnVpbGQKPiArKysgYi9saWIvbWVzb24uYnVpbGQKPiBAQCAtMSw1ICsxLDYgQEAKPiAgIGxp Yl9zb3VyY2VzID0gWwo+ICAgCSdkcm10ZXN0LmMnLAo+ICsJJ2h1Y19jb3B5LmMnLAo+ICAgCSdp OTE1L2dlbV9jb250ZXh0LmMnLAo+ICAgCSdpOTE1L2dlbV9lbmdpbmVfdG9wb2xvZ3kuYycsCj4g ICAJJ2k5MTUvZ2VtX3NjaGVkdWxlci5jJywKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUu c291cmNlcyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiBpbmRleCA4MDZlYjAyZC4uOGJhOTdi YWMgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ICsrKyBiL3Rlc3RzL01h a2VmaWxlLnNvdXJjZXMKPiBAQCAtMzEzLDYgKzMxMyw5IEBAIGdlbV9tZWRpYV9maWxsX1NPVVJD RVMgPSBpOTE1L2dlbV9tZWRpYV9maWxsLmMKPiAgIFRFU1RTX3Byb2dzICs9IGdlbV9tZWRpYV92 bWUKPiAgIGdlbV9tZWRpYV92bWVfU09VUkNFUyA9IGk5MTUvZ2VtX21lZGlhX3ZtZS5jCj4gICAK PiArVEVTVFNfcHJvZ3MgKz0gZ2VtX2h1Y19jb3B5Cj4gK2dlbV9tZWRpYV92bWVfU09VUkNFUyA9 IGk5MTUvZ2VtX2h1Y19jb3B5LmMKPiArCj4gICBURVNUU19wcm9ncyArPSBnZW1fbW1hcAo+ICAg Z2VtX21tYXBfU09VUkNFUyA9IGk5MTUvZ2VtX21tYXAuYwo+ICAgCj4gZGlmZiAtLWdpdCBhL3Rl c3RzL2k5MTUvZ2VtX2h1Y19jb3B5LmMgYi90ZXN0cy9pOTE1L2dlbV9odWNfY29weS5jCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4uZjhkYTExNWQKPiAtLS0gL2Rldi9u dWxsCj4gKysrIGIvdGVzdHMvaTkxNS9nZW1faHVjX2NvcHkuYwo+IEBAIC0wLDAgKzEsMTExIEBA Cj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE5IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4g KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg cGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwg aW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxp bWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBT b2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBj b25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp cyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkg c2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURF RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAq IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMg T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1Ig T1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ICsg KiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsjaW5jbHVkZSAiaWd0LmgiCj4gKyNpbmNsdWRl IDxzdGRib29sLmg+Cj4gKyNpbmNsdWRlIDx1bmlzdGQuaD4KPiArI2luY2x1ZGUgPHN0ZGxpYi5o Pgo+ICsjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Cj4gKyNpbmNsdWRlIDxzdGRpby5oPgo+ICsjaW5j bHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDxmY250bC5oPgo+ICsjaW5jbHVkZSA8aW50dHlw ZXMuaD4KPiArI2luY2x1ZGUgPGVycm5vLmg+Cj4gKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgo+ICsj aW5jbHVkZSA8c3lzL3RpbWUuaD4KPiArI2luY2x1ZGUgImRybS5oIgo+ICsKPiArSUdUX1RFU1Rf REVTQ1JJUFRJT04oIkEgdmVyeSBzaW1wbGUgd29ya2xvYWQgZm9yIHRoZSBIdUMuIik7Cj4gKwo+ ICsjZGVmaW5lIEhVQ19DT1BZX0RBVEFfQlVGX1NJWkUJNDA5Ngo+ICsKPiArc3RhdGljIHZvaWQK PiArY29tcGFyZV9odWNfY29weV9yZXN1bHQoaW50IGRybV9mZCwgdWludDMyX3Qgc3JjX2hhbmRs ZSwgdWludDMyX3QgZHN0X2hhbmRsZSkKPiArewo+ICsJY2hhciBzcmNfb3V0cHV0W0hVQ19DT1BZ X0RBVEFfQlVGX1NJWkVdOwo+ICsJY2hhciBkc3Rfb3V0cHV0W0hVQ19DT1BZX0RBVEFfQlVGX1NJ WkVdOwo+ICsKPiArCWdlbV9yZWFkKGRybV9mZCwgc3JjX2hhbmRsZSwgMCwgc3JjX291dHB1dCwg SFVDX0NPUFlfREFUQV9CVUZfU0laRSk7Cj4gKwlnZW1fcmVhZChkcm1fZmQsIGRzdF9oYW5kbGUs IDAsIGRzdF9vdXRwdXQsIEhVQ19DT1BZX0RBVEFfQlVGX1NJWkUpOwo+ICsKPiArCWZvciAoaW50 IGkgPSAwOyBpIDwgSFVDX0NPUFlfREFUQV9CVUZfU0laRTsgaSsrKSB7Cj4gKwkJaWd0X2Fzc2Vy dF9mKHNyY19vdXRwdXRbaV0gPT0gZHN0X291dHB1dFtpXSwKPiArCQkJCSJIdWMgQ29weSBmYWls ZWQhXG4iKTsKPiArCX0KPiArfQo+ICsKPiArc3RhdGljIGJvb2wKPiArY2hlY2tfaHVjX3N0YXR1 cyhpbnQgZmQpCj4gK3sKPiArCWludCB2YWwgPSAwOwo+ICsJc3RydWN0IGRybV9pOTE1X2dldHBh cmFtIHBnOwo+ICsKPiArCXBnLnBhcmFtID0gSTkxNV9QQVJBTV9IVUNfU1RBVFVTOwo+ICsJcGcu dmFsdWUgPSAmdmFsOwo+ICsJaWYgKGlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRVRQQVJBTSwg JnBnKSA9PSAwKSB7Cj4gKwkJcmV0dXJuICEhdmFsOwo+ICsJfSBlbHNlIHsKPiArCQlyZXR1cm4g MDsKPiArCX0KPiArfQo+ICsKPiAraWd0X21haW4KPiArewo+ICsJaW50IGRybV9mZCA9IC0xOwo+ ICsJdWludDMyX3QgZGV2aWQ7Cj4gKwlpZ3RfaHVjX2NvcHlmdW5jX3QgaHVjX2NvcHk7Cj4gKwo+ ICsJaWd0X2ZpeHR1cmUgewo+ICsJCWRybV9mZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5U RUwpOwo+ICsJCWlndF9yZXF1aXJlX2dlbShkcm1fZmQpOwo+ICsJCWRldmlkID0gaW50ZWxfZ2V0 X2RybV9kZXZpZChkcm1fZmQpOwo+ICsJCWh1Y19jb3B5ID0gaWd0X2dldF9odWNfY29weWZ1bmMo ZGV2aWQpOwo+ICsJCWlndF9yZXF1aXJlX2YoaHVjX2NvcHksICJubyBodWNfY29weSBmdW5jdGlv blxuIik7Cj4gKwkJaWd0X2Fzc2VydF9mKGNoZWNrX2h1Y19zdGF0dXMoZHJtX2ZkKSA9PSB0cnVl LAo+ICsJCQkiSHVDIGlzIG5vdCBzdWNjZXNzZnVsbHkgbG9hZGVkIVxuIik7Cj4gKwl9Cj4gKwo+ ICsJaWd0X3N1YnRlc3RfZigiaHVjLWNvcHkiKSB7Cj4gKwkJY2hhciBpbnB1dHNbSFVDX0NPUFlf REFUQV9CVUZfU0laRV07Cj4gKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2Jq WzNdOwo+ICsKPiArCQkvKiBJbml0aWFsaXplIHNyYyBidWZmZXIgcmFuZG9tbHkgKi8KPiArCQlz cmFuZCh0aW1lKE5VTEwpKTsKPiArCQlmb3IgKGludCBpID0gMDsgaSA8IEhVQ19DT1BZX0RBVEFf QlVGX1NJWkU7IGkrKykgewo+ICsJCQlpbnB1dHNbaV0gPSAoY2hhcikgKHJhbmQoKSAlIDI1Nik7 Cj4gKwkJfQo+ICsKPiArCQltZW1zZXQob2JqLCAwLCBzaXplb2Yob2JqKSk7Cj4gKwkJb2JqWzBd LmhhbmRsZSA9IGdlbV9jcmVhdGUoZHJtX2ZkLCBIVUNfQ09QWV9EQVRBX0JVRl9TSVpFKTsKPiAr CQlvYmpbMV0uaGFuZGxlID0gZ2VtX2NyZWF0ZShkcm1fZmQsIEhVQ19DT1BZX0RBVEFfQlVGX1NJ WkUpOwo+ICsJCW9ialsyXS5oYW5kbGUgPSBnZW1fY3JlYXRlKGRybV9mZCwgNDA5Nik7Cj4gKwo+ ICsJCWdlbV93cml0ZShkcm1fZmQsIG9ialswXS5oYW5kbGUsIDAsIGlucHV0cywgSFVDX0NPUFlf REFUQV9CVUZfU0laRSk7Cj4gKwo+ICsJCWh1Y19jb3B5KGRybV9mZCwgJm9ialswXSwgJm9ialsx XSwgJm9ialsyXSk7Cj4gKwkJY29tcGFyZV9odWNfY29weV9yZXN1bHQoZHJtX2ZkLCBvYmpbMF0u aGFuZGxlLCBvYmpbMV0uaGFuZGxlKTsKPiArCX0KPiArCj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJ Y2xvc2UoZHJtX2ZkKTsKPiArCX0KPiArfQo+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWls ZCBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gaW5kZXggNTcwZGU1NDUuLjA1NDViNjEyIDEwMDY0NAo+ IC0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCj4gKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBAQCAt MTY1LDYgKzE2NSw3IEBAIGk5MTVfcHJvZ3MgPSBbCj4gICAJJ2dlbV9ndHRfY3B1X3RsYicsCj4g ICAJJ2dlbV9ndHRfaG9nJywKPiAgIAknZ2VtX2d0dF9zcGVlZCcsCj4gKwknZ2VtX2h1Y19jb3B5 JywKPiAgIAknZ2VtX2xhcmdlb2JqZWN0JywKPiAgIAknZ2VtX2xpbmVhcl9ibGl0cycsCj4gICAJ J2dlbV9sdXRfaGFuZGxlJywKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Qt ZGV2Cg==