From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [RFC] drm/i915/guc: capture GuC logs if FW fails to load Date: Fri, 5 May 2017 08:40:05 -0700 Message-ID: <33222f76-12bc-e517-aad2-45e209f4085f@intel.com> References: <1493923903-7672-1-git-send-email-daniele.ceraolospurio@intel.com> <83F5C7385F545743AD4FB2A62F75B073019BE66B@ORSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id C37E76E6CE for ; Fri, 5 May 2017 15:40:05 +0000 (UTC) In-Reply-To: <83F5C7385F545743AD4FB2A62F75B073019BE66B@ORSMSX108.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srivatsa, Anusha" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNC8wNS8xNyAxNDoyNiwgU3JpdmF0c2EsIEFudXNoYSB3cm90ZToKPgo+Cj4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEludGVsLWdmeCBbbWFpbHRvOmludGVsLWdm eC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24gQmVoYWxmIE9mCj4+IERhbmllbGUg Q2VyYW9sbyBTcHVyaW8KPj4gU2VudDogVGh1cnNkYXksIE1heSA0LCAyMDE3IDExOjUyIEFNCj4+ IFRvOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IFN1YmplY3Q6IFtJbnRlbC1n ZnhdIFtSRkNdIGRybS9pOTE1L2d1YzogY2FwdHVyZSBHdUMgbG9ncyBpZiBGVyBmYWlscyB0byBs b2FkCj4+Cj4+IFdlJ3JlIGN1cnJlbnRseSBkZWxldGluZyB0aGUgR3VDIGxvZ3MgaWYgdGhlIEZX IGZhaWxzIHRvIGxvYWQsIGJ1dCB0aG9zZSBhcmUgc3RpbGwKPj4gdXNlZnVsIHRvIHVuZGVyc3Rh bmQgd2h5IHRoZSBsb2FkaW5nIGZhaWxlZC4gSW5zdGVhZCBvZiBkZWxldGluZyB0aGVtLCB0YWtp bmcgYQo+PiBzbmFwc2hvdCBhbGxvd3MgdXMgdG8gYWNjZXNzIHRoZW0gYWZ0ZXIgZHJpdmVyIGxv YWQgaXMgY29tcGxldGVkLgo+Cj4gSGkgRGFuaWVsZSwgSSBsaWtlIHRoZSBpZGVhLiBCdXQganVz dCB0byBjb25maXJtLCB3ZSBhcmUgc3RpbGwgZ29pbmcgdG8gZ2V0IHRoZSBzdGF0dXMgb2YgZmV0 Y2ggYW5kIGxvYWQtbGlrZSBQRU5ESU5HICBvciBGQUlMLCBidXQgdGhlIHJlYXNvbiBvZiBmYWls dXJlIGlzIGdvaW5nIHRvIGJlIGluIHRoZSBkZWJ1Z2ZzLiBDb3JyZWN0Pwo+Cj4gQW51c2hhCj4K Cnllcywgbm8gY2hhbmdlcyBpbiB0aGUgd2hhdCBjb21lcyBvdXQgaW4gZG1lc2cuIFdoYXQgaXMg Z29pbmcgdG8gYmUgaW4gCmRlYnVnZnMgaXMgbm90IHRoZSByZWFzb24gZm9yIHRoZSBmYWlsdXJl IGJ1dCB0aGUgR3VDIGxvZ3MgZ2VuZXJhdGVkIApkdXJpbmcgdGhlIGF0dGVtcHRlZCBsb2FkLCB3 aGljaCBvbmNlIGRlY29kZWQgc2hvdWxkIHNob3cgdGhlIHJlYXNvbiBmb3IgCnRoZSBmYWlsdXJl LgoKRGFuaWVsZQoKPj4gQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+Cj4+ IENjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KPj4gU2ln bmVkLW9mZi1ieTogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlv QGludGVsLmNvbT4KPj4gLS0tCj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j ICAgfCAzNiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+PiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgIHwgIDMgKysrCj4+IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggICAgICAgfCAgNiArKysrKysKPj4gZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuYyB8IDM2Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lmLmggfCAxNCArKysrKysr KysrKy0tLQo+PiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgIHwgMTAgKyst LS0tLS0tLQo+PiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgIHwgIDcgKysr KystLQo+PiA3IGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBpbmRleCA4NzBjNDcw Li40ZmYyMGZjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBAQCAt MjU0MywyNiArMjU0MywzMiBAQCBzdGF0aWMgaW50IGk5MTVfZ3VjX2luZm8oc3RydWN0IHNlcV9m aWxlICptLCB2b2lkCj4+ICpkYXRhKSAgc3RhdGljIGludCBpOTE1X2d1Y19sb2dfZHVtcChzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpICB7Cj4+IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBub2RlX3RvX2k5MTUobS0+cHJpdmF0ZSk7Cj4+IC0Jc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iajsKPj4gLQlpbnQgaSA9IDAsIHBnOwo+PiAtCj4+IC0JaWYgKCFk ZXZfcHJpdi0+Z3VjLmxvZy52bWEpCj4+ICsJdTMyICpsb2c7Cj4+ICsJaW50IGkgPSAwOwo+PiAr Cj4+ICsJaWYgKGRldl9wcml2LT5ndWMubG9nLnZtYSkgewo+PiArCQlsb2cgPSBpOTE1X2dlbV9v YmplY3RfcGluX21hcChkZXZfcHJpdi0+Z3VjLmxvZy52bWEtPm9iaiwKPj4gKwkJCQkJICAgICAg STkxNV9NQVBfV0MpOwo+PiArCQlpZiAoSVNfRVJSKGxvZykpIHsKPj4gKwkJCURSTV9FUlJPUigi RmFpbGVkIHRvIHBpbiBndWNfbG9nIHZtYVxuIik7Cj4+ICsJCQlyZXR1cm4gLUVOT01FTTsKPj4g KwkJfQo+PiArCX0gZWxzZSBpZiAoZGV2X3ByaXYtPmdwdV9lcnJvci5ndWNfbG9hZF9mYWlsX2xv Zykgewo+PiArCQlsb2cgPSBkZXZfcHJpdi0+Z3B1X2Vycm9yLmd1Y19sb2FkX2ZhaWxfbG9nOwo+ PiArCX0gZWxzZSB7Cj4+IAkJcmV0dXJuIDA7Cj4+IC0KPj4gLQlvYmogPSBkZXZfcHJpdi0+Z3Vj LmxvZy52bWEtPm9iajsKPj4gLQlmb3IgKHBnID0gMDsgcGcgPCBvYmotPmJhc2Uuc2l6ZSAvIFBB R0VfU0laRTsgcGcrKykgewo+PiAtCQl1MzIgKmxvZyA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29i amVjdF9nZXRfcGFnZShvYmosIHBnKSk7Cj4+IC0KPj4gLQkJZm9yIChpID0gMDsgaSA8IFBBR0Vf U0laRSAvIHNpemVvZih1MzIpOyBpICs9IDQpCj4+IC0JCQlzZXFfcHJpbnRmKG0sICIweCUwOHgg MHglMDh4IDB4JTA4eCAweCUwOHhcbiIsCj4+IC0JCQkJICAgKihsb2cgKyBpKSwgKihsb2cgKyBp ICsgMSksCj4+IC0JCQkJICAgKihsb2cgKyBpICsgMiksICoobG9nICsgaSArIDMpKTsKPj4gLQo+ PiAtCQlrdW5tYXBfYXRvbWljKGxvZyk7Cj4+IAl9Cj4+Cj4+ICsJZm9yIChpID0gMDsgaSA8IEdV Q19MT0dfU0laRSAvIHNpemVvZih1MzIpOyBpICs9IDQpCj4+ICsJCXNlcV9wcmludGYobSwgIjB4 JTA4eCAweCUwOHggMHglMDh4IDB4JTA4eFxuIiwKPj4gKwkJCSAgICoobG9nICsgaSksICoobG9n ICsgaSArIDEpLAo+PiArCQkJICAgKihsb2cgKyBpICsgMiksICoobG9nICsgaSArIDMpKTsKPj4g Kwo+PiAJc2VxX3B1dGMobSwgJ1xuJyk7Cj4+Cj4+ICsJaWYgKGRldl9wcml2LT5ndWMubG9nLnZt YSkKPj4gKwkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChkZXZfcHJpdi0+Z3VjLmxvZy52bWEt Pm9iaik7Cj4+ICsKPj4gCXJldHVybiAwOwo+PiB9Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu Ywo+PiBpbmRleCA0NTJjMjY1Li5jN2NiMzZjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMKPj4gQEAgLTEzNTQsNiArMTM1NCw5IEBAIHZvaWQgaTkxNV9kcml2ZXJfdW5sb2FkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4+IAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRldl9wcml2 LT5ncHVfZXJyb3IuaGFuZ2NoZWNrX3dvcmspOwo+PiAJaTkxNV9yZXNldF9lcnJvcl9zdGF0ZShk ZXZfcHJpdik7Cj4+Cj4+ICsJLyogcmVsZWFzZSBHdUMgZXJyb3IgbG9nIChpZiBhbnkpICovCj4+ ICsJaTkxNV9ndWNfbG9hZF9lcnJvcl9sb2dfZnJlZShkZXZfcHJpdik7Cj4+ICsKPj4gCS8qIEZs dXNoIGFueSBvdXRzdGFuZGluZyB1bnBpbl93b3JrLiAqLwo+PiAJZHJhaW5fd29ya3F1ZXVlKGRl dl9wcml2LT53cSk7Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBpbmRleCA0NTg4YjNl Li43NjFjNjYzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTE1NTUsNiAr MTU1NSw5IEBAIHN0cnVjdCBpOTE1X2dwdV9lcnJvciB7Cj4+IAkvKiBQcm90ZWN0ZWQgYnkgdGhl IGFib3ZlIGRldi0+Z3B1X2Vycm9yLmxvY2suICovCj4+IAlzdHJ1Y3QgaTkxNV9ncHVfc3RhdGUg KmZpcnN0X2Vycm9yOwo+Pgo+PiArCS8qIExvZyBzbmFwc2hvdCBpZiBHdUMgZXJyb3JzIGR1cmlu ZyBsb2FkICovCj4+ICsJdm9pZCAqZ3VjX2xvYWRfZmFpbF9sb2c7Cj4+ICsKPj4gCXVuc2lnbmVk IGxvbmcgbWlzc2VkX2lycV9yaW5nczsKPj4KPj4gCS8qKgo+PiBAQCAtMzY4Nyw2ICszNjkwLDkg QEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfcmVzZXRfZXJyb3Jfc3RhdGUoc3RydWN0Cj4+IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4+Cj4+ICNlbmRpZgo+Pgo+PiArdm9pZCBpOTE1X2d1Y19s b2FkX2Vycm9yX2xvZ19jYXB0dXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKPj4g K3ZvaWQgaTkxNV9ndWNfbG9hZF9lcnJvcl9sb2dfZnJlZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSk7Cj4+ICsKPj4gY29uc3QgY2hhciAqaTkxNV9jYWNoZV9sZXZlbF9zdHIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGludCB0eXBlKTsKPj4KPj4gLyogaTkxNV9jbWRfcGFy c2VyLmMgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vy cm9yLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4+IGluZGV4 IGVjNTI2ZDkuLjQ0YTg3M2IgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ3B1X2Vycm9yLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJy b3IuYwo+PiBAQCAtMTgwOSwzICsxODA5LDM5IEBAIHZvaWQgaTkxNV9yZXNldF9lcnJvcl9zdGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+PiAqaTkxNSkKPj4KPj4gCWk5MTVfZ3B1X3N0YXRl X3B1dChlcnJvcik7Cj4+IH0KPj4gKwo+PiArdm9pZCBpOTE1X2d1Y19sb2FkX2Vycm9yX2xvZ19j YXB0dXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KSB7Cj4+ICsJdm9pZCAqbG9nLCAq YnVmOwo+PiArCXN0cnVjdCBpOTE1X3ZtYSAqdm1hID0gaTkxNS0+Z3VjLmxvZy52bWE7Cj4+ICsK Pj4gKwlpZiAoaTkxNS0+Z3B1X2Vycm9yLmd1Y19sb2FkX2ZhaWxfbG9nIHx8ICF2bWEpCj4+ICsJ CXJldHVybjsKPj4gKwo+PiArCS8qCj4+ICsJICogdGhlIHZtYSBzaG91bGQgYmUgYWxyZWFkeSBw aW5uZWQgYW5kIG1hcHBlZCBmb3IgbG9nIHJ1bnRpbWUKPj4gKwkgKiBtYW5hZ2VtZW50IGJ1dCBs ZXQncyBwbGF5IHNhZmUKPj4gKwkgKi8KPj4gKwlsb2cgPSBpOTE1X2dlbV9vYmplY3RfcGluX21h cCh2bWEtPm9iaiwgSTkxNV9NQVBfV0MpOwo+PiArCWlmIChJU19FUlIobG9nKSkgewo+PiArCQlE Uk1fRVJST1IoIkZhaWxlZCB0byBwaW4gZ3VjX2xvZyB2bWFcbiIpOwo+PiArCQlyZXR1cm47Cj4+ ICsJfQo+PiArCj4+ICsJYnVmID0ga3phbGxvYyhHVUNfTE9HX1NJWkUsIEdGUF9LRVJORUwpOwo+ PiArCWlmIChidWYpIHsKPj4gKwkJbWVtY3B5KGJ1ZiwgbG9nLCBHVUNfTE9HX1NJWkUpOwo+PiAr CQlpOTE1LT5ncHVfZXJyb3IuZ3VjX2xvYWRfZmFpbF9sb2cgPSBidWY7Cj4+ICsJfSBlbHNlIHsK Pj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY29weSBndWMgbG9nXG4iKTsKPj4gKwl9Cj4+ICsK Pj4gKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHZtYS0+b2JqKTsKPj4gKwlyZXR1cm47Cj4+ ICt9Cj4+ICsKPj4gK3ZvaWQgaTkxNV9ndWNfbG9hZF9lcnJvcl9sb2dfZnJlZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkgewo+PiArCWlmIChpOTE1LT5ncHVfZXJyb3IuZ3VjX2xvYWRf ZmFpbF9sb2cpCj4+ICsJCWtmcmVlKGk5MTUtPmdwdV9lcnJvci5ndWNfbG9hZF9mYWlsX2xvZyk7 Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfZndp Zi5oCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2Z3aWYuaAo+PiBpbmRleCA2 MTU2ODQ1Li5iZTgzYmUwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWNfZndpZi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19md2lm LmgKPj4gQEAgLTc3LDYgKzc3LDE3IEBACj4+ICNkZWZpbmUgR1VDX1NUQUdFX0RFU0NfQVRUUl9Q Q0gJCUJJVCg2KQo+PiAjZGVmaW5lIEdVQ19TVEFHRV9ERVNDX0FUVFJfVEVSTUlOQVRFRAlCSVQo NykKPj4KPj4gKy8qCj4+ICsgKiBHdUMgbG9nIGJ1ZmZlciBzaXplLiBUaGUgZmlyc3QgcGFnZSBp cyB0byBzYXZlIGxvZyBidWZmZXIgc3RhdGUuCj4+ICtBbGxvY2F0ZSBvbmUKPj4gKyAqIGV4dHJh IHBhZ2UgZm9yIG90aGVycyBpbiBjYXNlIGZvciBvdmVybGFwICAqLwo+PiArI2RlZmluZSBHVUNf TE9HX1NUQVRFX1BBR0UJMQo+PiArI2RlZmluZSBHVUNfTE9HX0NSQVNIX1BBR0VTCTIJLyogMSAr IDEgZXh0cmEgKi8KPj4gKyNkZWZpbmUgR1VDX0xPR19EUENfUEFHRVMJOAkvKiA3ICsgMSBleHRy YSAqLwo+PiArI2RlZmluZSBHVUNfTE9HX0lTUl9QQUdFUwk4CS8qIDcgKyAxIGV4dHJhICovCj4+ ICsjZGVmaW5lIEdVQ19MT0dfU0laRSAoKEdVQ19MT0dfU1RBVEVfUEFHRSArIEdVQ19MT0dfRFBD X1BBR0VTICsgXAo+PiArCQkgICAgICAgR1VDX0xPR19JU1JfUEFHRVMgKyBHVUNfTE9HX0NSQVNI X1BBR0VTKSA8PAo+PiBQQUdFX1NISUZUKQo+PiArCj4+IC8qIFRoZSBndWMgY29udHJvbCBkYXRh IGlzIDEwIERXT1JEcyAqLwo+PiAjZGVmaW5lIEdVQ19DVExfQ1RYSU5GTwkJCTAKPj4gI2RlZmlu ZSAgIEdVQ19DVExfQ1RYTlVNX0lOMTZfU0hJRlQJMAo+PiBAQCAtOTMsMTEgKzEwNCw4IEBACj4+ ICNkZWZpbmUgICBHVUNfTE9HX1ZBTElECQkJKDEgPDwgMCkKPj4gI2RlZmluZSAgIEdVQ19MT0df Tk9USUZZX09OX0hBTEZfRlVMTAkoMSA8PCAxKQo+PiAjZGVmaW5lICAgR1VDX0xPR19BTExPQ19J Tl9NRUdBQllURQkoMSA8PCAzKQo+PiAtI2RlZmluZSAgIEdVQ19MT0dfQ1JBU0hfUEFHRVMJCTEK Pj4gI2RlZmluZSAgIEdVQ19MT0dfQ1JBU0hfU0hJRlQJCTQKPj4gLSNkZWZpbmUgICBHVUNfTE9H X0RQQ19QQUdFUwkJNwo+PiAjZGVmaW5lICAgR1VDX0xPR19EUENfU0hJRlQJCTYKPj4gLSNkZWZp bmUgICBHVUNfTE9HX0lTUl9QQUdFUwkJNwo+PiAjZGVmaW5lICAgR1VDX0xPR19JU1JfU0hJRlQJ CTkKPj4gI2RlZmluZSAgIEdVQ19MT0dfQlVGX0FERFJfU0hJRlQJMTIKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+PiBpbmRleCAxNmQzYjg3Li5iMzU3ZGEzIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCj4+IEBAIC01MjQsNyArNTI0LDcg QEAgaW50IGludGVsX2d1Y19sb2dfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykgIHsKPj4g CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+PiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7Cj4+IC0JdWlu dDMyX3Qgc2l6ZSwgZmxhZ3M7Cj4+ICsJdWludDMyX3QgZmxhZ3M7Cj4+IAlpbnQgcmV0Owo+Pgo+ PiAJR0VNX0JVR19PTihndWMtPmxvZy52bWEpOwo+PiBAQCAtNTMyLDEyICs1MzIsNiBAQCBpbnQg aW50ZWxfZ3VjX2xvZ19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+PiAJaWYgKGk5MTUu Z3VjX2xvZ19sZXZlbCA+IEdVQ19MT0dfVkVSQk9TSVRZX01BWCkKPj4gCQlpOTE1Lmd1Y19sb2df bGV2ZWwgPSBHVUNfTE9HX1ZFUkJPU0lUWV9NQVg7Cj4+Cj4+IC0JLyogVGhlIGZpcnN0IHBhZ2Ug aXMgdG8gc2F2ZSBsb2cgYnVmZmVyIHN0YXRlLiBBbGxvY2F0ZSBvbmUKPj4gLQkgKiBleHRyYSBw YWdlIGZvciBvdGhlcnMgaW4gY2FzZSBmb3Igb3ZlcmxhcCAqLwo+PiAtCXNpemUgPSAoMSArIEdV Q19MT0dfRFBDX1BBR0VTICsgMSArCj4+IC0JCUdVQ19MT0dfSVNSX1BBR0VTICsgMSArCj4+IC0J CUdVQ19MT0dfQ1JBU0hfUEFHRVMgKyAxKSA8PCBQQUdFX1NISUZUOwo+PiAtCj4+IAkvKiBXZSBy ZXF1aXJlIFNTRSA0LjEgZm9yIGZhc3QgcmVhZHMgZnJvbSB0aGUgR3VDIGxvZyBidWZmZXIgYW5k Cj4+IAkgKiBpdCBzaG91bGQgYmUgcHJlc2VudCBvbiB0aGUgY2hpcHNldHMgc3VwcG9ydGluZyBH dUMgYmFzZWQKPj4gCSAqIHN1Ym1pc3NzaW9ucy4KPj4gQEAgLTU0Nyw3ICs1NDEsNyBAQCBpbnQg aW50ZWxfZ3VjX2xvZ19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+PiAJCWdvdG8gZXJy Owo+PiAJfQo+Pgo+PiAtCXZtYSA9IGludGVsX2d1Y19hbGxvY2F0ZV92bWEoZ3VjLCBzaXplKTsK Pj4gKwl2bWEgPSBpbnRlbF9ndWNfYWxsb2NhdGVfdm1hKGd1YywgR1VDX0xPR19TSVpFKTsKPj4g CWlmIChJU19FUlIodm1hKSkgewo+PiAJCXJldCA9IFBUUl9FUlIodm1hKTsKPj4gCQlnb3RvIGVy cjsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCj4+IGluZGV4IDdmZDc1Y2EuLjY0ZjIzMTQgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwo+PiBAQCAtMjc0LDYgKzI3NCw3IEBAIGludCBp bnRlbF91Y19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4KPj4g CWd1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oZ3VjKTsKPj4gCWdlbjlfcmVzZXRfZ3VjX2ludGVy cnVwdHMoZGV2X3ByaXYpOwo+PiArCWk5MTVfZ3VjX2xvYWRfZXJyb3JfbG9nX2ZyZWUoZGV2X3By aXYpOwo+Pgo+PiAJLyogV2UgbmVlZCB0byBub3RpZnkgdGhlIGd1YyB3aGVuZXZlciB3ZSBjaGFu Z2UgdGhlIEdHVFQgKi8KPj4gCWk5MTVfZ2d0dF9lbmFibGVfZ3VjKGRldl9wcml2KTsKPj4gQEAg LTMyMCwxMSArMzIxLDExIEBAIGludCBpbnRlbF91Y19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlCj4+ICpkZXZfcHJpdikKPj4KPj4gCS8qIERpZCB3ZSBzdWNjZWRlZCBvciBydW4gb3V0 IG9mIHJldHJpZXM/ICovCj4+IAlpZiAocmV0KQo+PiAtCQlnb3RvIGVycl9zdWJtaXNzaW9uOwo+ PiArCQlnb3RvIGxvZ19jYXB0dXJlOwo+Pgo+PiAJcmV0ID0gZ3VjX2VuYWJsZV9jb21tdW5pY2F0 aW9uKGd1Yyk7Cj4+IAlpZiAocmV0KQo+PiAtCQlnb3RvIGVycl9zdWJtaXNzaW9uOwo+PiArCQln b3RvIGxvZ19jYXB0dXJlOwo+Pgo+PiAJaW50ZWxfZ3VjX2F1dGhfaHVjKGRldl9wcml2KTsKPj4g CWlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lvbikgewo+PiBAQCAtMzUwLDYgKzM1MSw4IEBA IGludCBpbnRlbF91Y19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK Pj4gZXJyX2ludGVycnVwdHM6Cj4+IAlndWNfZGlzYWJsZV9jb21tdW5pY2F0aW9uKGd1Yyk7Cj4+ IAlnZW45X2Rpc2FibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+PiArbG9nX2NhcHR1cmU6 Cj4+ICsJaTkxNV9ndWNfbG9hZF9lcnJvcl9sb2dfY2FwdHVyZShkZXZfcHJpdik7Cj4+IGVycl9z dWJtaXNzaW9uOgo+PiAJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQo+PiAJCWk5MTVf Z3VjX3N1Ym1pc3Npb25fZmluaShkZXZfcHJpdik7Cj4+IC0tCj4+IDEuOS4xCj4+Cj4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK