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: Date: Thu, 23 May 2019 09:46:08 +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 QVNTX1ZJREVPLCAwLCBJOTE1X0VYRUNfQlNEIHwgSTkxNV9FWEVDX0JTRF9SSU5HMSB9LAoKZXhl Y2J1ZiB3aWxsIHJlamVjdCB0aGlzIG9uIHNpbmdsZSB2Y3MgcGFydHMuIDooIEFtIEkgbm90IHNl ZWluZyBzb21lIApwbGFjZSB3aGVyZSB5b3UgZnVkZ2UgaXQgaW50byBjb21wbGlhbmNlPwoKUmVn YXJkcywKClR2cnRrbwoKPiArCXsgInZjczEiLCBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMSwg STkxNV9FWEVDX0JTRCB8IEk5MTVfRVhFQ19CU0RfUklORzIgfSwKPiArCXsgInZjczIiLCBJOTE1 X0VOR0lORV9DTEFTU19WSURFTywgMiwgLTEgfSwKPiArCXsgInZlY3MwIiwgSTkxNV9FTkdJTkVf Q0xBU1NfVklERU9fRU5IQU5DRSwgMCwgSTkxNV9FWEVDX1ZFQk9YIH0sCj4gICAJeyB9Cj4gICB9 Owo+ICAgCj4gQEAgLTYxMSw0OCArNjExLDYgQEAgaW50IGdlbV9leGVjYnVmX2ZsYWdzX3RvX2Vu Z2luZV9jbGFzcyh1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gICAJfQo+ICAgfQo+ICAgCj4gLXVuc2ln bmVkIGludAo+IC1nZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoaW50IGdlbV9mZCwKPiAt CQkJICAgICAgIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyBjbGFzcywKPiAtCQkJICAg ICAgIHVuc2lnbmVkIGludCBpbnN0YW5jZSkKPiAtewo+IC0JaWYgKGNsYXNzICE9IEk5MTVfRU5H SU5FX0NMQVNTX1ZJREVPKQo+IC0JCWlndF9hc3NlcnQoaW5zdGFuY2UgPT0gMCk7Cj4gLQllbHNl Cj4gLQkJaWd0X2Fzc2VydChpbnN0YW5jZSA+PSAwICYmIGluc3RhbmNlIDw9IDEpOwo+IC0KPiAt CXN3aXRjaCAoY2xhc3MpIHsKPiAtCWNhc2UgSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSOgo+IC0J CXJldHVybiBJOTE1X0VYRUNfUkVOREVSOwo+IC0JY2FzZSBJOTE1X0VOR0lORV9DTEFTU19DT1BZ Ogo+IC0JCXJldHVybiBJOTE1X0VYRUNfQkxUOwo+IC0JY2FzZSBJOTE1X0VOR0lORV9DTEFTU19W SURFTzoKPiAtCQlpZiAoaW5zdGFuY2UgPT0gMCkgewo+IC0JCQlpZiAoZ2VtX2hhc19ic2QyKGdl bV9mZCkpCj4gLQkJCQlyZXR1cm4gSTkxNV9FWEVDX0JTRCB8IEk5MTVfRVhFQ19CU0RfUklORzE7 Cj4gLQkJCWVsc2UKPiAtCQkJCXJldHVybiBJOTE1X0VYRUNfQlNEOwo+IC0KPiAtCQl9IGVsc2Ug ewo+IC0JCQlyZXR1cm4gSTkxNV9FWEVDX0JTRCB8IEk5MTVfRVhFQ19CU0RfUklORzI7Cj4gLQkJ fQo+IC0JY2FzZSBJOTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFOgo+IC0JCXJldHVybiBJ OTE1X0VYRUNfVkVCT1g7Cj4gLQljYXNlIEk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSUQ6Cj4gLQlk ZWZhdWx0Ogo+IC0JCWlndF9hc3NlcnQoMCk7Cj4gLQl9Owo+IC19Cj4gLQo+IC1ib29sIGdlbV9o YXNfZW5naW5lKGludCBnZW1fZmQsCj4gLQkJICAgIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9j bGFzcyBjbGFzcywKPiAtCQkgICAgdW5zaWduZWQgaW50IGluc3RhbmNlKQo+IC17Cj4gLQlyZXR1 cm4gZ2VtX2hhc19yaW5nKGdlbV9mZCwKPiAtCQkJICAgIGdlbV9jbGFzc19pbnN0YW5jZV90b19l Yl9mbGFncyhnZW1fZmQsIGNsYXNzLAo+IC0JCQkJCQkJICAgaW5zdGFuY2UpKTsKPiAtfQo+IC0K PiAgIGJvb2wgZ2VtX3JpbmdfaXNfcGh5c2ljYWxfZW5naW5lKGludCBmZCwgdW5zaWduZWQgcmlu ZykKPiAgIHsKPiAgIAlpZiAocmluZyA9PSBJOTE1X0VYRUNfREVGQVVMVCkKPiBkaWZmIC0tZ2l0 IGEvbGliL2lndF9ndC5oIGIvbGliL2lndF9ndC5oCj4gaW5kZXggNzczMThlMmE4Li43M2I1MDAy YTAgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9ndC5oCj4gKysrIGIvbGliL2lndF9ndC5oCj4gQEAg LTEwMiwyMSArMTAyLDQgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lMiB7Cj4gICAKPiAgIGludCBnZW1fZXhlY2J1Zl9mbGFnc190b19lbmdpbmVfY2xhc3ModW5z aWduZWQgaW50IGZsYWdzKTsKPiAgIAo+IC11bnNpZ25lZCBpbnQKPiAtZ2VtX2NsYXNzX2luc3Rh bmNlX3RvX2ViX2ZsYWdzKGludCBnZW1fZmQsCj4gLQkJCSAgICAgICBlbnVtIGRybV9pOTE1X2dl bV9lbmdpbmVfY2xhc3MgY2xhc3MsCj4gLQkJCSAgICAgICB1bnNpZ25lZCBpbnQgaW5zdGFuY2Up Owo+IC0KPiAtYm9vbCBnZW1faGFzX2VuZ2luZShpbnQgZ2VtX2ZkLAo+IC0JCSAgICBlbnVtIGRy bV9pOTE1X2dlbV9lbmdpbmVfY2xhc3MgY2xhc3MsCj4gLQkJICAgIHVuc2lnbmVkIGludCBpbnN0 YW5jZSk7Cj4gLQo+IC1zdGF0aWMgaW5saW5lCj4gLXZvaWQgZ2VtX3JlcXVpcmVfZW5naW5lKGlu dCBnZW1fZmQsCj4gLQkJCWVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFzcyBjbGFzcywKPiAt CQkJdW5zaWduZWQgaW50IGluc3RhbmNlKQo+IC17Cj4gLQlpZ3RfcmVxdWlyZShnZW1faGFzX2Vu Z2luZShnZW1fZmQsIGNsYXNzLCBpbnN0YW5jZSkpOwo+IC19Cj4gLQo+ICAgI2VuZGlmIC8qIElH VF9HVF9IICovCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2N0eF9pc29sYXRpb24uYyBi L3Rlc3RzL2k5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+IGluZGV4IGJjZDBmNDgxMi4uNWIwNTRj ODFkIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+ICsrKyBi L3Rlc3RzL2k5MTUvZ2VtX2N0eF9pc29sYXRpb24uYwo+IEBAIC0zMjEsOCArMzIxLDcgQEAgc3Rh dGljIHVpbnQzMl90IHJlYWRfcmVncyhpbnQgZmQsCj4gICAJbWVtc2V0KCZleGVjYnVmLCAwLCBz aXplb2YoZXhlY2J1ZikpOwo+ICAgCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50 ZXIob2JqKTsKPiAgIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDI7Cj4gLQlleGVjYnVmLmZsYWdz ID0KPiAtCQlnZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoZmQsIGUtPmNsYXNzLCBlLT5p bnN0YW5jZSk7Cj4gKwlleGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7Cj4gICAJZXhlY2J1Zi5yc3Zk MSA9IGN0eDsKPiAgIAlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwo+ICAgCWdlbV9jbG9zZShm ZCwgb2JqWzFdLmhhbmRsZSk7Cj4gQEAgLTM3Nyw4ICszNzYsNyBAQCBzdGF0aWMgdm9pZCB3cml0 ZV9yZWdzKGludCBmZCwKPiAgIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7 Cj4gICAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqKTsKPiAgIAll eGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Cj4gLQlleGVjYnVmLmZsYWdzID0KPiAtCQlnZW1fY2xh c3NfaW5zdGFuY2VfdG9fZWJfZmxhZ3MoZmQsIGUtPmNsYXNzLCBlLT5pbnN0YW5jZSk7Cj4gKwll eGVjYnVmLmZsYWdzID0gZS0+ZmxhZ3M7Cj4gICAJZXhlY2J1Zi5yc3ZkMSA9IGN0eDsKPiAgIAln ZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwo+ICAgCWdlbV9jbG9zZShmZCwgb2JqLmhhbmRsZSk7 Cj4gQEAgLTQ0OCw4ICs0NDYsNyBAQCBzdGF0aWMgdm9pZCByZXN0b3JlX3JlZ3MoaW50IGZkLAo+ ICAgCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKPiAgIAlleGVjYnVmLmJ1 ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9iaik7Cj4gICAJZXhlY2J1Zi5idWZmZXJfY291 bnQgPSAyOwo+IC0JZXhlY2J1Zi5mbGFncyA9Cj4gLQkJZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2Vi X2ZsYWdzKGZkLCBlLT5jbGFzcywgZS0+aW5zdGFuY2UpOwo+ICsJZXhlY2J1Zi5mbGFncyA9IGUt PmZsYWdzOwo+ICAgCWV4ZWNidWYucnN2ZDEgPSBjdHg7Cj4gICAJZ2VtX2V4ZWNidWYoZmQsICZl eGVjYnVmKTsKPiAgIAlnZW1fY2xvc2UoZmQsIG9ialsxXS5oYW5kbGUpOwo+IEBAIC01NTksOCAr NTU2LDcgQEAgc3RhdGljIHZvaWQgbm9ucHJpdihpbnQgZmQsCj4gICAJCTB4MDUwNWMwYzAsCj4g ICAJCTB4ZGVhZGJlZWYKPiAgIAl9Owo+IC0JdW5zaWduZWQgaW50IGVuZ2luZSA9Cj4gLQkJZ2Vt X2NsYXNzX2luc3RhbmNlX3RvX2ViX2ZsYWdzKGZkLCBlLT5jbGFzcywgZS0+aW5zdGFuY2UpOwo+ ICsJdW5zaWduZWQgaW50IGVuZ2luZSA9IGUtPmZsYWdzOwo+ICAgCXVuc2lnbmVkIGludCBudW1f dmFsdWVzID0gQVJSQVlfU0laRSh2YWx1ZXMpOwo+ICAgCj4gICAJLyogU2lnaCAtLSBoc3c6IHdl IG5lZWQgY21kcGFyc2VyIGFjY2VzcyB0byBvdXIgb3duIHJlZ2lzdGVycyEgKi8KPiBAQCAtNjE2 LDkgKzYxMiw3IEBAIHN0YXRpYyB2b2lkIGlzb2xhdGlvbihpbnQgZmQsCj4gICAJCTB4YWFhYWFh YWEsCj4gICAJCTB4ZGVhZGJlZWYKPiAgIAl9Owo+IC0JdW5zaWduZWQgaW50IGVuZ2luZSA9IGdl bV9jbGFzc19pbnN0YW5jZV90b19lYl9mbGFncyhmZCwKPiAtCQkJCQkJCSAgICAgZS0+Y2xhc3Ms Cj4gLQkJCQkJCQkgICAgIGUtPmluc3RhbmNlKTsKPiArCXVuc2lnbmVkIGludCBlbmdpbmUgPSBl LT5mbGFnczsKPiAgIAl1bnNpZ25lZCBpbnQgbnVtX3ZhbHVlcyA9Cj4gICAJCWZsYWdzICYgKERJ UlRZMSB8IERJUlRZMikgPyBBUlJBWV9TSVpFKHZhbHVlcykgOiAxOwo+ICAgCj4gQEAgLTcyOSw4 ICs3MjMsNyBAQCBzdGF0aWMgdm9pZCBwcmVzZXJ2YXRpb24oaW50IGZkLAo+ICAgCQkweGRlYWRi ZWVmCj4gICAJfTsKPiAgIAljb25zdCB1bnNpZ25lZCBpbnQgbnVtX3ZhbHVlcyA9IEFSUkFZX1NJ WkUodmFsdWVzKTsKPiAtCXVuc2lnbmVkIGludCBlbmdpbmUgPQo+IC0JCWdlbV9jbGFzc19pbnN0 YW5jZV90b19lYl9mbGFncyhmZCwgZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKPiArCXVuc2lnbmVk IGludCBlbmdpbmUgPSBlLT5mbGFnczsKPiAgIAl1aW50MzJfdCBjdHhbbnVtX3ZhbHVlcyArMSBd Owo+ICAgCXVpbnQzMl90IHJlZ3NbbnVtX3ZhbHVlcyArIDFdWzJdOwo+ICAgCWlndF9zcGluX3Qg KnNwaW47Cj4gQEAgLTg0MCw3ICs4MzMsNyBAQCBpZ3RfbWFpbgo+ICAgCQlpZ3Rfc3VidGVzdF9n cm91cCB7Cj4gICAJCQlpZ3RfZml4dHVyZSB7Cj4gICAJCQkJaWd0X3JlcXVpcmUoaGFzX2NvbnRl eHRfaXNvbGF0aW9uICYgKDEgPDwgZS0+Y2xhc3MpKTsKPiAtCQkJCWdlbV9yZXF1aXJlX2VuZ2lu ZShmZCwgZS0+Y2xhc3MsIGUtPmluc3RhbmNlKTsKPiArCQkJCWdlbV9yZXF1aXJlX3JpbmcoZmQs IGUtPmZsYWdzKTsKPiAgIAkJCQlpZ3RfZm9ya19oYW5nX2RldGVjdG9yKGZkKTsKPiAgIAkJCX0K PiAgIAo+IGRpZmYgLS1naXQgYS90b29scy9pbnRlbF9yZWcuYyBiL3Rvb2xzL2ludGVsX3JlZy5j Cj4gaW5kZXggMTI0N2I3MGIwLi5lNTE3OTU2YjggMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvaW50ZWxf cmVnLmMKPiArKysgYi90b29scy9pbnRlbF9yZWcuYwo+IEBAIC0zMjksOSArMzI5LDcgQEAgc3Rh dGljIGludCByZWdpc3Rlcl9zcm0oc3RydWN0IGNvbmZpZyAqY29uZmlnLCBzdHJ1Y3QgcmVnICpy ZWcsCj4gICAJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXplb2YoZXhlY2J1ZikpOwo+ICAgCWV4ZWNi dWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKTsKPiAgIAlleGVjYnVmLmJ1ZmZl cl9jb3VudCA9IDI7Cj4gLQlleGVjYnVmLmZsYWdzID0gZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2Vi X2ZsYWdzKGZkLAo+IC0JCQkJCQkgICAgICAgZW5naW5lLT5jbGFzcywKPiAtCQkJCQkJICAgICAg IGVuZ2luZS0+aW5zdGFuY2UpOwo+ICsJZXhlY2J1Zi5mbGFncyA9IGVuZ2luZS0+ZmxhZ3M7Cj4g ICAJaWYgKHNlY3VyZSkKPiAgIAkJZXhlY2J1Zi5mbGFncyB8PSBJOTE1X0VYRUNfU0VDVVJFOwo+ ICAgCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmln dC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==