From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: References: <20190523080649.29466-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Message-ID: <9e96f093-9a2c-fed7-2291-570b7a082673@linux.intel.com> Date: Thu, 23 May 2019 10:48:27 +0100 MIME-Version: 1.0 In-Reply-To: <20190523080649.29466-1-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [igt-dev] [Intel-gfx] [PATCH i-g-t] i915: Improve static engine map for legacy 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: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: Ck9uIDIzLzA1LzIwMTkgMDk6MDYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBXZSBuZWVkIHRvIGtl ZXAgaWd0IHdvcmtpbmcgb24gbGludXMgYW5kIGRpZiwgb3IgSm9vbmFzIGdldHMgdmVyeSB1cHNl dC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiBD YzogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Cj4gQ2M6IEpvb25hcyBMYWh0aW5l biA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgIGxpYi9pOTE1L2dl bV9jb250ZXh0LmMgICAgICAgICB8ICAyICstCj4gICBsaWIvaTkxNS9nZW1fZW5naW5lX3RvcG9s b2d5LmMgfCAxNSArKystLS0tLS0tCj4gICBsaWIvaWd0X2d0LmMgICAgICAgICAgICAgICAgICAg fCA1NCArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gICBsaWIvaWd0X2d0Lmgg ICAgICAgICAgICAgICAgICAgfCAxNyAtLS0tLS0tLS0tLQo+ICAgdGVzdHMvaTkxNS9nZW1fY3R4 X2lzb2xhdGlvbi5jIHwgMjEgKysrKystLS0tLS0tLQo+ICAgdG9vbHMvaW50ZWxfcmVnLmMgICAg ICAgICAgICAgIHwgIDQgKy0tCj4gICA2IGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyks IDk0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvaTkxNS9nZW1fY29udGV4dC5j IGIvbGliL2k5MTUvZ2VtX2NvbnRleHQuYwo+IGluZGV4IGY5NGQ4OWNiNC4uMDdhYjc4MTc0IDEw MDY0NAo+IC0tLSBhL2xpYi9pOTE1L2dlbV9jb250ZXh0LmMKPiArKysgYi9saWIvaTkxNS9nZW1f Y29udGV4dC5jCj4gQEAgLTI5MCw3ICsyOTAsNyBAQCBib29sIGdlbV9jb250ZXh0X2hhc19lbmdp bmUoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVpbnQ2NF90IGVuZ2luZSkKPiAgIAkgKiB3b3VsZG4n dCBwcm9kdWNlIGFueSByZXN1bHQuCj4gICAJICovCj4gICAJaWYgKChlbmdpbmUgJiB+KDM8PDEz KSkgPT0gSTkxNV9FWEVDX0JTRCkgewo+IC0JCWlmIChlbmdpbmUgJiAoMyA8PCAxMykgJiYgIWdl bV9oYXNfYnNkMihmZCkpCj4gKwkJaWYgKGVuZ2luZSAmICgyIDw8IDEzKSAmJiAhZ2VtX2hhc19i c2QyKGZkKSkKPiAgIAkJCXJldHVybiBmYWxzZTsKPiAgIAl9Cj4gICAKPiBkaWZmIC0tZ2l0IGEv bGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5jIGIvbGliL2k5MTUvZ2VtX2VuZ2luZV90b3Bv bG9neS5jCj4gaW5kZXggZDBjOGJkNWFhLi5mZGQxYjk1MTYgMTAwNjQ0Cj4gLS0tIGEvbGliL2k5 MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5jCj4gKysrIGIvbGliL2k5MTUvZ2VtX2VuZ2luZV90b3Bv bG9neS5jCj4gQEAgLTIyMywyMiArMjIzLDE1IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfZGF0YSBp bnRlbF9pbml0X2VuZ2luZV9saXN0KGludCBmZCwgdWludDMyX3QgY3R4X2lkKQo+ICAgCQkJc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICpfX2UyID0KPiAgIAkJCQkmZW5naW5lX2RhdGEu ZW5naW5lc1tlbmdpbmVfZGF0YS5uZW5naW5lc107Cj4gICAKPiAtCQkJaWYgKCFpZ3Rfb25seV9s aXN0X3N1YnRlc3RzKCkpIHsKPiAtCQkJCV9fZTItPmZsYWdzID0gZ2VtX2NsYXNzX2luc3RhbmNl X3RvX2ViX2ZsYWdzKGZkLAo+IC0JCQkJCQllMi0+Y2xhc3MsIGUyLT5pbnN0YW5jZSk7Cj4gLQo+ IC0JCQkJaWYgKCFnZW1faGFzX3JpbmcoZmQsIF9fZTItPmZsYWdzKSkKPiAtCQkJCQljb250aW51 ZTsKPiAtCQkJfSBlbHNlIHsKPiAtCQkJCV9fZTItPmZsYWdzID0gLTE7IC8qIDB4ZmZmLi4uICov Cj4gLQkJCX0KPiAtCj4gICAJCQlfX2UyLT5uYW1lICAgICAgID0gZTItPm5hbWU7Cj4gICAJCQlf X2UyLT5pbnN0YW5jZSAgID0gZTItPmluc3RhbmNlOwo+ICAgCQkJX19lMi0+Y2xhc3MgICAgICA9 IGUyLT5jbGFzczsKPiArCQkJX19lMi0+ZmxhZ3MgICAgICA9IGUyLT5mbGFnczsKPiAgIAkJCV9f ZTItPmlzX3ZpcnR1YWwgPSBmYWxzZTsKPiAgIAo+IC0JCQllbmdpbmVfZGF0YS5uZW5naW5lcysr Owo+ICsJCQlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpIHx8Cj4gKwkJCSAgICBnZW1faGFz X3JpbmcoZmQsIGUyLT5mbGFncykpCj4gKwkJCQllbmdpbmVfZGF0YS5uZW5naW5lcysrOwo+ICAg CQl9Cj4gICAJCXJldHVybiBlbmdpbmVfZGF0YTsKPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2xpYi9p Z3RfZ3QuYyBiL2xpYi9pZ3RfZ3QuYwo+IGluZGV4IDZiN2MwMzdlNi4uNzhlM2NkMDg5IDEwMDY0 NAo+IC0tLSBhL2xpYi9pZ3RfZ3QuYwo+ICsrKyBiL2xpYi9pZ3RfZ3QuYwo+IEBAIC01ODUsMTIg KzU4NSwxMiBAQCBib29sIGdlbV9jYW5fc3RvcmVfZHdvcmQoaW50IGZkLCB1bnNpZ25lZCBpbnQg ZW5naW5lKQo+ICAgfQo+ICAgCj4gICBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZTIgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyW10gPSB7Cj4gLQl7ICJyY3MwIiwgSTkxNV9FTkdJ TkVfQ0xBU1NfUkVOREVSLCAwIH0sCj4gLQl7ICJiY3MwIiwgSTkxNV9FTkdJTkVfQ0xBU1NfQ09Q WSwgMCB9LAo+IC0JeyAidmNzMCIsIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAwIH0sCj4gLQl7 ICJ2Y3MxIiwgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8sIDEgfSwKPiAtCXsgInZjczIiLCBJOTE1 X0VOR0lORV9DTEFTU19WSURFTywgMiB9LAo+IC0JeyAidmVjczAiLCBJOTE1X0VOR0lORV9DTEFT U19WSURFT19FTkhBTkNFLCAwIH0sCj4gKwl7ICJyY3MwIiwgSTkxNV9FTkdJTkVfQ0xBU1NfUkVO REVSLCAwLCBJOTE1X0VYRUNfUkVOREVSIH0sCj4gKwl7ICJiY3MwIiwgSTkxNV9FTkdJTkVfQ0xB U1NfQ09QWSwgMCwgSTkxNV9FWEVDX0JMVCB9LAo+ICsJeyAidmNzMCIsIEk5MTVfRU5HSU5FX0NM QVNTX1ZJREVPLCAwLCBJOTE1X0VYRUNfQlNEIHwgSTkxNV9FWEVDX0JTRF9SSU5HMSB9LAo+ICsJ eyAidmNzMSIsIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPLCAxLCBJOTE1X0VYRUNfQlNEIHwgSTkx NV9FWEVDX0JTRF9SSU5HMiB9LAo+ICsJeyAidmNzMiIsIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP LCAyLCAtMSB9LAo+ICsJeyAidmVjczAiLCBJOTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNF LCAwLCBJOTE1X0VYRUNfVkVCT1ggfSwKPiAgIAl7IH0KPiAgIH07Cj4gICAKPiBAQCAtNjExLDQ4 ICs2MTEsNiBAQCBpbnQgZ2VtX2V4ZWNidWZfZmxhZ3NfdG9fZW5naW5lX2NsYXNzKHVuc2lnbmVk IGludCBmbGFncykKPiAgIAl9Cj4gICB9Cj4gICAKPiAtdW5zaWduZWQgaW50Cj4gLWdlbV9jbGFz c19pbnN0YW5jZV90b19lYl9mbGFncyhpbnQgZ2VtX2ZkLAo+IC0JCQkgICAgICAgZW51bSBkcm1f aTkxNV9nZW1fZW5naW5lX2NsYXNzIGNsYXNzLAo+IC0JCQkgICAgICAgdW5zaWduZWQgaW50IGlu c3RhbmNlKQo+IC17Cj4gLQlpZiAoY2xhc3MgIT0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8pCj4g LQkJaWd0X2Fzc2VydChpbnN0YW5jZSA9PSAwKTsKPiAtCWVsc2UKPiAtCQlpZ3RfYXNzZXJ0KGlu c3RhbmNlID49IDAgJiYgaW5zdGFuY2UgPD0gMSk7Cj4gLQo+IC0Jc3dpdGNoIChjbGFzcykgewo+ IC0JY2FzZSBJOTE1X0VOR0lORV9DTEFTU19SRU5ERVI6Cj4gLQkJcmV0dXJuIEk5MTVfRVhFQ19S RU5ERVI7Cj4gLQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX0NPUFk6Cj4gLQkJcmV0dXJuIEk5MTVf RVhFQ19CTFQ7Cj4gLQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPOgo+IC0JCWlmIChpbnN0 YW5jZSA9PSAwKSB7Cj4gLQkJCWlmIChnZW1faGFzX2JzZDIoZ2VtX2ZkKSkKPiAtCQkJCXJldHVy biBJOTE1X0VYRUNfQlNEIHwgSTkxNV9FWEVDX0JTRF9SSU5HMTsKPiAtCQkJZWxzZQo+IC0JCQkJ cmV0dXJuIEk5MTVfRVhFQ19CU0Q7Cj4gLQo+IC0JCX0gZWxzZSB7Cj4gLQkJCXJldHVybiBJOTE1 X0VYRUNfQlNEIHwgSTkxNV9FWEVDX0JTRF9SSU5HMjsKPiAtCQl9Cj4gLQljYXNlIEk5MTVfRU5H SU5FX0NMQVNTX1ZJREVPX0VOSEFOQ0U6Cj4gLQkJcmV0dXJuIEk5MTVfRVhFQ19WRUJPWDsKPiAt CWNhc2UgSTkxNV9FTkdJTkVfQ0xBU1NfSU5WQUxJRDoKPiAtCWRlZmF1bHQ6Cj4gLQkJaWd0X2Fz c2VydCgwKTsKPiAtCX07Cj4gLX0KPiAtCj4gLWJvb2wgZ2VtX2hhc19lbmdpbmUoaW50IGdlbV9m ZCwKPiAtCQkgICAgZW51bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzIGNsYXNzLAo+IC0JCSAg ICB1bnNpZ25lZCBpbnQgaW5zdGFuY2UpCj4gLXsKPiAtCXJldHVybiBnZW1faGFzX3JpbmcoZ2Vt X2ZkLAo+IC0JCQkgICAgZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2ViX2ZsYWdzKGdlbV9mZCwgY2xh c3MsCj4gLQkJCQkJCQkgICBpbnN0YW5jZSkpOwo+IC19Cj4gLQo+ICAgYm9vbCBnZW1fcmluZ19p c19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCByaW5nKQo+ICAgewo+ICAgCWlmIChy aW5nID09IEk5MTVfRVhFQ19ERUZBVUxUKQo+IGRpZmYgLS1naXQgYS9saWIvaWd0X2d0LmggYi9s aWIvaWd0X2d0LmgKPiBpbmRleCA3NzMxOGUyYTguLjczYjUwMDJhMCAxMDA2NDQKPiAtLS0gYS9s aWIvaWd0X2d0LmgKPiArKysgYi9saWIvaWd0X2d0LmgKPiBAQCAtMTAyLDIxICsxMDIsNCBAQCBl eHRlcm4gY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyIHsKPiAgIAo+ICAgaW50 IGdlbV9leGVjYnVmX2ZsYWdzX3RvX2VuZ2luZV9jbGFzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpOwo+ ICAgCj4gLXVuc2lnbmVkIGludAo+IC1nZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoaW50 IGdlbV9mZCwKPiAtCQkJICAgICAgIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyBjbGFz cywKPiAtCQkJICAgICAgIHVuc2lnbmVkIGludCBpbnN0YW5jZSk7Cj4gLQo+IC1ib29sIGdlbV9o YXNfZW5naW5lKGludCBnZW1fZmQsCj4gLQkJICAgIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9j bGFzcyBjbGFzcywKPiAtCQkgICAgdW5zaWduZWQgaW50IGluc3RhbmNlKTsKPiAtCj4gLXN0YXRp YyBpbmxpbmUKPiAtdm9pZCBnZW1fcmVxdWlyZV9lbmdpbmUoaW50IGdlbV9mZCwKPiAtCQkJZW51 bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzIGNsYXNzLAo+IC0JCQl1bnNpZ25lZCBpbnQgaW5z dGFuY2UpCj4gLXsKPiAtCWlndF9yZXF1aXJlKGdlbV9oYXNfZW5naW5lKGdlbV9mZCwgY2xhc3Ms IGluc3RhbmNlKSk7Cj4gLX0KPiAtCj4gICAjZW5kaWYgLyogSUdUX0dUX0ggKi8KPiBkaWZmIC0t Z2l0IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xhdGlvbi5jIGIvdGVzdHMvaTkxNS9nZW1fY3R4 X2lzb2xhdGlvbi5jCj4gaW5kZXggYmNkMGY0ODEyLi41YjA1NGM4MWQgMTAwNjQ0Cj4gLS0tIGEv dGVzdHMvaTkxNS9nZW1fY3R4X2lzb2xhdGlvbi5jCj4gKysrIGIvdGVzdHMvaTkxNS9nZW1fY3R4 X2lzb2xhdGlvbi5jCj4gQEAgLTMyMSw4ICszMjEsNyBAQCBzdGF0aWMgdWludDMyX3QgcmVhZF9y ZWdzKGludCBmZCwKPiAgIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7Cj4g ICAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmopOwo+ICAgCWV4ZWNi dWYuYnVmZmVyX2NvdW50ID0gMjsKPiAtCWV4ZWNidWYuZmxhZ3MgPQo+IC0JCWdlbV9jbGFzc19p bnN0YW5jZV90b19lYl9mbGFncyhmZCwgZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKPiArCWV4ZWNi dWYuZmxhZ3MgPSBlLT5mbGFnczsKPiAgIAlleGVjYnVmLnJzdmQxID0gY3R4Owo+ICAgCWdlbV9l eGVjYnVmKGZkLCAmZXhlY2J1Zik7Cj4gICAJZ2VtX2Nsb3NlKGZkLCBvYmpbMV0uaGFuZGxlKTsK PiBAQCAtMzc3LDggKzM3Niw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlX3JlZ3MoaW50IGZkLAo+ICAg CW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKPiAgIAlleGVjYnVmLmJ1ZmZl cnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopOwo+ICAgCWV4ZWNidWYuYnVmZmVyX2NvdW50 ID0gMTsKPiAtCWV4ZWNidWYuZmxhZ3MgPQo+IC0JCWdlbV9jbGFzc19pbnN0YW5jZV90b19lYl9m bGFncyhmZCwgZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKPiArCWV4ZWNidWYuZmxhZ3MgPSBlLT5m bGFnczsKPiAgIAlleGVjYnVmLnJzdmQxID0gY3R4Owo+ICAgCWdlbV9leGVjYnVmKGZkLCAmZXhl Y2J1Zik7Cj4gICAJZ2VtX2Nsb3NlKGZkLCBvYmouaGFuZGxlKTsKPiBAQCAtNDQ4LDggKzQ0Niw3 IEBAIHN0YXRpYyB2b2lkIHJlc3RvcmVfcmVncyhpbnQgZmQsCj4gICAJbWVtc2V0KCZleGVjYnVm LCAwLCBzaXplb2YoZXhlY2J1ZikpOwo+ICAgCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2Vy X3BvaW50ZXIob2JqKTsKPiAgIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDI7Cj4gLQlleGVjYnVm LmZsYWdzID0KPiAtCQlnZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoZmQsIGUtPmNsYXNz LCBlLT5pbnN0YW5jZSk7Cj4gKwlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7Cj4gICAJZXhlY2J1 Zi5yc3ZkMSA9IGN0eDsKPiAgIAlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwo+ICAgCWdlbV9j bG9zZShmZCwgb2JqWzFdLmhhbmRsZSk7Cj4gQEAgLTU1OSw4ICs1NTYsNyBAQCBzdGF0aWMgdm9p ZCBub25wcml2KGludCBmZCwKPiAgIAkJMHgwNTA1YzBjMCwKPiAgIAkJMHhkZWFkYmVlZgo+ICAg CX07Cj4gLQl1bnNpZ25lZCBpbnQgZW5naW5lID0KPiAtCQlnZW1fY2xhc3NfaW5zdGFuY2VfdG9f ZWJfZmxhZ3MoZmQsIGUtPmNsYXNzLCBlLT5pbnN0YW5jZSk7Cj4gKwl1bnNpZ25lZCBpbnQgZW5n aW5lID0gZS0+ZmxhZ3M7Cj4gICAJdW5zaWduZWQgaW50IG51bV92YWx1ZXMgPSBBUlJBWV9TSVpF KHZhbHVlcyk7Cj4gICAKPiAgIAkvKiBTaWdoIC0tIGhzdzogd2UgbmVlZCBjbWRwYXJzZXIgYWNj ZXNzIHRvIG91ciBvd24gcmVnaXN0ZXJzISAqLwo+IEBAIC02MTYsOSArNjEyLDcgQEAgc3RhdGlj IHZvaWQgaXNvbGF0aW9uKGludCBmZCwKPiAgIAkJMHhhYWFhYWFhYSwKPiAgIAkJMHhkZWFkYmVl Zgo+ICAgCX07Cj4gLQl1bnNpZ25lZCBpbnQgZW5naW5lID0gZ2VtX2NsYXNzX2luc3RhbmNlX3Rv X2ViX2ZsYWdzKGZkLAo+IC0JCQkJCQkJICAgICBlLT5jbGFzcywKPiAtCQkJCQkJCSAgICAgZS0+ aW5zdGFuY2UpOwo+ICsJdW5zaWduZWQgaW50IGVuZ2luZSA9IGUtPmZsYWdzOwo+ICAgCXVuc2ln bmVkIGludCBudW1fdmFsdWVzID0KPiAgIAkJZmxhZ3MgJiAoRElSVFkxIHwgRElSVFkyKSA/IEFS UkFZX1NJWkUodmFsdWVzKSA6IDE7Cj4gICAKPiBAQCAtNzI5LDggKzcyMyw3IEBAIHN0YXRpYyB2 b2lkIHByZXNlcnZhdGlvbihpbnQgZmQsCj4gICAJCTB4ZGVhZGJlZWYKPiAgIAl9Owo+ICAgCWNv bnN0IHVuc2lnbmVkIGludCBudW1fdmFsdWVzID0gQVJSQVlfU0laRSh2YWx1ZXMpOwo+IC0JdW5z aWduZWQgaW50IGVuZ2luZSA9Cj4gLQkJZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2ViX2ZsYWdzKGZk LCBlLT5jbGFzcywgZS0+aW5zdGFuY2UpOwo+ICsJdW5zaWduZWQgaW50IGVuZ2luZSA9IGUtPmZs YWdzOwo+ICAgCXVpbnQzMl90IGN0eFtudW1fdmFsdWVzICsxIF07Cj4gICAJdWludDMyX3QgcmVn c1tudW1fdmFsdWVzICsgMV1bMl07Cj4gICAJaWd0X3NwaW5fdCAqc3BpbjsKPiBAQCAtODQwLDcg KzgzMyw3IEBAIGlndF9tYWluCj4gICAJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKPiAgIAkJCWlndF9m aXh0dXJlIHsKPiAgIAkJCQlpZ3RfcmVxdWlyZShoYXNfY29udGV4dF9pc29sYXRpb24gJiAoMSA8 PCBlLT5jbGFzcykpOwo+IC0JCQkJZ2VtX3JlcXVpcmVfZW5naW5lKGZkLCBlLT5jbGFzcywgZS0+ aW5zdGFuY2UpOwo+ICsJCQkJZ2VtX3JlcXVpcmVfcmluZyhmZCwgZS0+ZmxhZ3MpOwo+ICAgCQkJ CWlndF9mb3JrX2hhbmdfZGV0ZWN0b3IoZmQpOwo+ICAgCQkJfQo+ICAgCj4gZGlmZiAtLWdpdCBh L3Rvb2xzL2ludGVsX3JlZy5jIGIvdG9vbHMvaW50ZWxfcmVnLmMKPiBpbmRleCAxMjQ3YjcwYjAu LmU1MTc5NTZiOCAxMDA2NDQKPiAtLS0gYS90b29scy9pbnRlbF9yZWcuYwo+ICsrKyBiL3Rvb2xz L2ludGVsX3JlZy5jCj4gQEAgLTMyOSw5ICszMjksNyBAQCBzdGF0aWMgaW50IHJlZ2lzdGVyX3Ny bShzdHJ1Y3QgY29uZmlnICpjb25maWcsIHN0cnVjdCByZWcgKnJlZywKPiAgIAltZW1zZXQoJmV4 ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7Cj4gICAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRv X3VzZXJfcG9pbnRlcihvYmopOwo+ICAgCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMjsKPiAtCWV4 ZWNidWYuZmxhZ3MgPSBnZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoZmQsCj4gLQkJCQkJ CSAgICAgICBlbmdpbmUtPmNsYXNzLAo+IC0JCQkJCQkgICAgICAgZW5naW5lLT5pbnN0YW5jZSk7 Cj4gKwlleGVjYnVmLmZsYWdzID0gZW5naW5lLT5mbGFnczsKPiAgIAlpZiAoc2VjdXJlKQo+ICAg CQlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19TRUNVUkU7Cj4gICAKPiAKCkl0IHN0aWxsIHB1 enpsZXMgbWUgYXQgd2hpY2ggcG9pbnQgd2FzIEk5MTVfRVhFQ19CU0RfUklORzEgbm90IGFsbG93 ZWQgCm9uIHNpbmdsZSB2Y3MgcGFydHMuIFdhcyBpdCBqdXN0IGEgZmFpbCBpbiBJR1Q/IT8gVGhl IGZpcnN0IGh1bmsgaW4gdGhpcyAKcGF0Y2guIERpZ2dpbmcgaW4gaGlzdG9yeSBwb2ludHMgdG8g dGhhdC4uCgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2