From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 5/9] drm/i915: Rearrange switch_context to load the aliasing ppgtt on first use Date: Tue, 19 Apr 2016 10:52:21 +0100 Message-ID: <5715FFD5.3040400@linux.intel.com> References: <1460721275-1001-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1461048560-31983-1-git-send-email-chris@chris-wilson.co.uk> <1461048560-31983-6-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 89AD46E6E9 for ; Tue, 19 Apr 2016 09:52:23 +0000 (UTC) In-Reply-To: <1461048560-31983-6-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE5LzA0LzE2IDA3OjQ5LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gVGhlIGNvZGUgdG8gc3dp dGNoX21tKCkgaXMgYWxyZWFkeSBoYW5kbGVkIGJ5IGk5MTVfc3dpdGNoX2NvbnRleHQoKSwgdGhl Cj4gb25seSBkaWZmZXJlbmNlIHJlcXVpcmVkIHRvIHNldHVwIHRoZSBhbGlhc2luZyBwcGd0dCBp cyB0aGF0IHdlIG5lZWQgdG8KPiBlbWl0IHRlIHN3aXRjaF9tbSgpIG9uIHRoZSBmaXJzdCBjb250 ZXh0LCBpLmUuIHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tCj4gZW5naW5lLT5sYXN0X2NvbnRleHQg PT0gTlVMTC4KCkV4cGxhbmF0aW9uIGZlZWxzIGEgYml0IHNob3J0IGZvciB0aGUgYW1vdW50IG9m IGNoYW5nZS4KCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgfCAgMSAtCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgfCAy OCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYyB8IDQzICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgIHwgMTMgLS0tLS0tLS0tLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAgIHwgIDEgLQo+ICAgNSBmaWxl cyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IGluZGV4IDRjNTVmNDgwZjYwYi4uNzdiZWNmZDVhMDlkIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTMxMjUsNyArMzEyNSw2IEBAIGludCBfX211c3Rf Y2hlY2sgaTkxNV9nZW1fY29udGV4dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAg dm9pZCBpOTE1X2dlbV9jb250ZXh0X2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gICB2 b2lkIGk5MTVfZ2VtX2NvbnRleHRfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gICBp bnQgaTkxNV9nZW1fY29udGV4dF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZSk7Cj4gLWludCBpOTE1X2dlbV9jb250ZXh0X2VuYWJsZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7Cj4gICB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfY2xvc2Uo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiAgIGludCBp OTE1X3N3aXRjaF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKPiAg IHN0cnVjdCBpbnRlbF9jb250ZXh0ICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBm ZDlhMzZiYWRiNDUuLjQwNTdjMGZlYmNjZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ IEBAIC00MjQ1LDM0ICs0MjQ1LDYgQEAgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgCQl9Cj4gICAJfQo+Cj4gLQkvKiBOb3cgaXQgaXMgc2FmZSB0byBnbyBiYWNr IHJvdW5kIGFuZCBkbyBldmVyeXRoaW5nIGVsc2U6ICovCj4gLQlmb3JfZWFjaF9lbmdpbmUoZW5n aW5lLCBkZXZfcHJpdikgewo+IC0JCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwo+ IC0KPiAtCQlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKGVuZ2luZSwgTlVMTCk7Cj4gLQkJ aWYgKElTX0VSUihyZXEpKSB7Cj4gLQkJCXJldCA9IFBUUl9FUlIocmVxKTsKPiAtCQkJYnJlYWs7 Cj4gLQkJfQo+IC0KPiAtCQlyZXQgPSBpOTE1X3BwZ3R0X2luaXRfcmluZyhyZXEpOwo+IC0JCWlm IChyZXQpCj4gLQkJCWdvdG8gZXJyX3JlcXVlc3Q7Cj4gLQo+IC0JCXJldCA9IGk5MTVfZ2VtX2Nv bnRleHRfZW5hYmxlKHJlcSk7Cj4gLQkJaWYgKHJldCkKPiAtCQkJZ290byBlcnJfcmVxdWVzdDsK PiAtCj4gLWVycl9yZXF1ZXN0Ogo+IC0JCWk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKTsK PiAtCQlpZiAocmV0KSB7Cj4gLQkJCURSTV9FUlJPUigiRmFpbGVkIHRvIGVuYWJsZSAlcywgZXJy b3I9JWRcbiIsCj4gLQkJCQkgIGVuZ2luZS0+bmFtZSwgcmV0KTsKPiAtCQkJaTkxNV9nZW1fY2xl YW51cF9lbmdpbmVzKGRldik7Cj4gLQkJCWJyZWFrOwo+IC0JCX0KPiAtCX0KPiAtCj4gICBvdXQ6 Cj4gICAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9BTEwp Owo+ICAgCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu Ywo+IGluZGV4IDY4NzA1NTZhMTgwYi4uY2Y4NDEzOGRlNGVjIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IEBAIC00NzEsMjcgKzQ3MSw2IEBAIHZvaWQgaTkx NV9nZW1fY29udGV4dF9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJZGV2X3ByaXYt Pmtlcm5lbF9jb250ZXh0ID0gTlVMTDsKPiAgIH0KPgo+IC1pbnQgaTkxNV9nZW1fY29udGV4dF9l bmFibGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gLXsKPiAtCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ZW5naW5lOwo+IC0JaW50IHJldDsKPiAtCj4g LQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7Cj4gLQkJaWYgKGVuZ2luZS0+aW5pdF9jb250 ZXh0ID09IE5VTEwpCj4gLQkJCXJldHVybiAwOwo+IC0KPiAtCQlyZXQgPSBlbmdpbmUtPmluaXRf Y29udGV4dChyZXEpOwo+IC0JfSBlbHNlCj4gLQkJcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChy ZXEpOwo+IC0KPiAtCWlmIChyZXQpIHsKPiAtCQlEUk1fRVJST1IoInJpbmcgaW5pdCBjb250ZXh0 OiAlZFxuIiwgcmV0KTsKPiAtCQlyZXR1cm4gcmV0Owo+IC0JfQo+IC0KPiAtCXJldHVybiAwOwo+ IC19Cj4gLQoKU28gZGVmYXVsdCBjb250ZXh0IGlzIG5vdCBzd2l0Y2hlZCB0byBhdCBkcml2ZXIg bG9hZCwgb3IgYmVmb3JlIHRoZSAKbm9uLWRlZmF1bHQgY29udGV4dCBldmVuLCBhbnkgbW9yZT8g QW5kIHRoYXQgaXMgZmluZT8KCj4gICBzdGF0aWMgaW50IGNvbnRleHRfaWRyX2NsZWFudXAoaW50 IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQo+ICAgewo+ICAgCXN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHggPSBwOwo+IEBAIC02NjEsNyArNjQwLDcgQEAgc3RhdGljIGJvb2wKPiAgIG5lZWRzX3Bk X2xvYWRfcHJlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGludGVsX2Nv bnRleHQgKnRvKQo+ICAgewo+ICAgCWlmICghdG8tPnBwZ3R0KQo+IC0JCXJldHVybiBmYWxzZTsK PiArCQlyZXR1cm4gZW5naW5lLT5sYXN0X2NvbnRleHQgPT0gTlVMTDsKPgo+ICAgCWlmIChlbmdp bmUtPmxhc3RfY29udGV4dCA9PSB0byAmJgo+ICAgCSAgICAhKGludGVsX2VuZ2luZV9mbGFnKGVu Z2luZSkgJiB0by0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKSkKPiBAQCAtNzI0LDYgKzcwMyw3IEBA IHN0YXRpYyBpbnQgZG9fcmNzX3N3aXRjaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqdG8gPSByZXEtPmN0eDsKPiAgIAlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKPiArCXN0cnVjdCBp OTE1X2h3X3BwZ3R0ICpwcGd0dCA9IHRvLT5wcGd0dCA/OiByZXEtPmk5MTUtPm1tLmFsaWFzaW5n X3BwZ3R0Owo+ICAgCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpmcm9tOwo+ICAgCXUzMiBod19mbGFn czsKPiAgIAlpbnQgcmV0LCBpOwo+IEBAIC03NjUsNyArNzQ1LDcgQEAgc3RhdGljIGludCBkb19y Y3Nfc3dpdGNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ICAgCQkgKiBSZWdp c3RlciBJbW1lZGlhdGUgY29tbWFuZHMgaW4gUmluZyBCdWZmZXIgYmVmb3JlIHN1Ym1pdHRpbmcK PiAgIAkJICogYSBjb250ZXh0LiIqLwo+ICAgCQl0cmFjZV9zd2l0Y2hfbW0oZW5naW5lLCB0byk7 Cj4gLQkJcmV0ID0gdG8tPnBwZ3R0LT5zd2l0Y2hfbW0odG8tPnBwZ3R0LCByZXEpOwo+ICsJCXJl dCA9IHBwZ3R0LT5zd2l0Y2hfbW0ocHBndHQsIHJlcSk7Cj4gICAJCWlmIChyZXQpCj4gICAJCQln b3RvIHVucGluX291dDsKPiAgIAl9Cj4gQEAgLTc3Niw4ICs3NTYsNyBAQCBzdGF0aWMgaW50IGRv X3Jjc19zd2l0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gICAJCSAqIHNw YWNlLiBUaGlzIG1lYW5zIHdlIG11c3QgZW5mb3JjZSB0aGF0IGEgcGFnZSB0YWJsZSBsb2FkCj4g ICAJCSAqIG9jY3VyIHdoZW4gdGhpcyBvY2N1cnMuICovCj4gICAJCWh3X2ZsYWdzID0gTUlfUkVT VE9SRV9JTkhJQklUOwo+IC0JZWxzZSBpZiAodG8tPnBwZ3R0ICYmCj4gLQkJIGludGVsX2VuZ2lu ZV9mbGFnKGVuZ2luZSkgJiB0by0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKQo+ICsJZWxzZSBpZiAo cHBndHQgJiYgaW50ZWxfZW5naW5lX2ZsYWcoZW5naW5lKSAmIHBwZ3R0LT5wZF9kaXJ0eV9yaW5n cykKPiAgIAkJaHdfZmxhZ3MgPSBNSV9GT1JDRV9SRVNUT1JFOwo+ICAgCWVsc2UKPiAgIAkJaHdf ZmxhZ3MgPSAwOwo+IEBAIC04MjIsNyArODAxLDcgQEAgc3RhdGljIGludCBkb19yY3Nfc3dpdGNo KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQo+ICAgCSAqLwo+ICAgCWlmIChuZWVk c19wZF9sb2FkX3Bvc3QodG8sIGh3X2ZsYWdzKSkgewo+ICAgCQl0cmFjZV9zd2l0Y2hfbW0oZW5n aW5lLCB0byk7Cj4gLQkJcmV0ID0gdG8tPnBwZ3R0LT5zd2l0Y2hfbW0odG8tPnBwZ3R0LCByZXEp Owo+ICsJCXJldCA9IHBwZ3R0LT5zd2l0Y2hfbW0odG8tPnBwZ3R0LCByZXEpOwoKdG8tPnBwZ3R0 IHNob3VsZCBiZSBwcGd0dCBJIHRoaW5rLgoKPiAgIAkJLyogVGhlIGhhcmR3YXJlIGNvbnRleHQg c3dpdGNoIGlzIGVtaXR0ZWQsIGJ1dCB3ZSBoYXZlbid0Cj4gICAJCSAqIGFjdHVhbGx5IGNoYW5n ZWQgdGhlIHN0YXRlIC0gc28gaXQncyBwcm9iYWJseSBzYWZlIHRvIGJhaWwKPiAgIAkJICogaGVy ZS4gU3RpbGwsIGxldCB0aGUgdXNlciBrbm93IHNvbWV0aGluZyBkYW5nZXJvdXMgaGFzCj4gQEAg LTgzMiw4ICs4MTEsOCBAQCBzdGF0aWMgaW50IGRvX3Jjc19zd2l0Y2goc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEpCj4gICAJCQlyZXR1cm4gcmV0Owo+ICAgCX0KPgo+IC0JaWYgKHRv LT5wcGd0dCkKPiAtCQl0by0+cHBndHQtPnBkX2RpcnR5X3JpbmdzICY9IH5pbnRlbF9lbmdpbmVf ZmxhZyhlbmdpbmUpOwo+ICsJaWYgKHBwZ3R0KQo+ICsJCXBwZ3R0LT5wZF9kaXJ0eV9yaW5ncyAm PSB+aW50ZWxfZW5naW5lX2ZsYWcoZW5naW5lKTsKPgo+ICAgCWZvciAoaSA9IDA7IGkgPCBNQVhf TDNfU0xJQ0VTOyBpKyspIHsKPiAgIAkJaWYgKCEodG8tPnJlbWFwX3NsaWNlICYgKDE8PGkpKSkK PiBAQCAtODg3LDE1ICs4NjYsMTcgQEAgaW50IGk5MTVfc3dpdGNoX2NvbnRleHQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gICAJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICp0byA9 IHJlcS0+Y3R4Owo+Cj4gICAJCWlmIChuZWVkc19wZF9sb2FkX3ByZShlbmdpbmUsIHRvKSkgewo+ ICsJCQlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQ7Cj4gICAJCQlpbnQgcmV0Owo+Cj4gKwkJ CXBwZ3R0ID0gdG8tPnBwZ3R0ID86IHRvX2k5MTUocmVxKS0+bW0uYWxpYXNpbmdfcHBndHQ7CgpX cm9uZyBiYXNlIGFnYWluLgoKPiArCj4gICAJCQl0cmFjZV9zd2l0Y2hfbW0oZW5naW5lLCB0byk7 Cj4gLQkJCXJldCA9IHRvLT5wcGd0dC0+c3dpdGNoX21tKHRvLT5wcGd0dCwgcmVxKTsKPiArCQkJ cmV0ID0gcHBndHQtPnN3aXRjaF9tbShwcGd0dCwgcmVxKTsKPiAgIAkJCWlmIChyZXQpCj4gICAJ CQkJcmV0dXJuIHJldDsKPgo+IC0JCQkvKiBEb2luZyBhIFBEIGxvYWQgYWx3YXlzIHJlbG9hZHMg dGhlIHBhZ2UgZGlycyAqLwo+IC0JCQl0by0+cHBndHQtPnBkX2RpcnR5X3JpbmdzICY9IH5pbnRl bF9lbmdpbmVfZmxhZyhlbmdpbmUpOwo+ICsJCQlwcGd0dC0+cGRfZGlydHlfcmluZ3MgJj0gfmlu dGVsX2VuZ2luZV9mbGFnKGVuZ2luZSk7Cj4gICAJCX0KPgo+ICAgCQlpZiAodG8gIT0gZW5naW5l LT5sYXN0X2NvbnRleHQpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4 IDc4MGUzYWQzY2ExMC4uNTBiZGJhNWNiNmQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKPiBAQCAtMjE4MCwxOSArMjE4MCw2IEBAIGludCBpOTE1X3BwZ3R0X2luaXRfaHco c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPgo+IC1pbnQgaTkx NV9wcGd0dF9pbml0X3Jpbmcoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4gLXsK PiAtCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpwcGd0dCA9IHRvX2k5MTUocmVxKS0+bW0uYWxpYXNp bmdfcHBndHQ7Cj4gLQo+IC0JaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKPiAtCQlyZXR1cm4g MDsKPiAtCj4gLQlpZiAoIXBwZ3R0KQo+IC0JCXJldHVybiAwOwo+IC0KPiAtCXJldHVybiBwcGd0 dC0+c3dpdGNoX21tKHBwZ3R0LCByZXEpOwo+IC19Cj4gLQo+ICAgc3RydWN0IGk5MTVfaHdfcHBn dHQgKgo+ICAgaTkxNV9wcGd0dF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZnByaXYpCj4gICB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmgKPiBpbmRleCBkN2RkM2Q4YTg3NTguLjMzM2EyZmM2MmI0MyAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCj4gQEAgLTUxOSw3ICs1MTksNiBAQCB2b2lkIGk5 MTVfZ2d0dF9jbGVhbnVwX2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+Cj4gICBpbnQgaTkx NV9wcGd0dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpOTE1X2h3X3BwZ3R0 ICpwcGd0dCk7Cj4gICBpbnQgaTkxNV9wcGd0dF9pbml0X2h3KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpOwo+IC1pbnQgaTkxNV9wcGd0dF9pbml0X3Jpbmcoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpOwo+ICAgdm9pZCBpOTE1X3BwZ3R0X3JlbGVhc2Uoc3RydWN0IGtyZWYgKmtyZWYp Owo+ICAgc3RydWN0IGk5MTVfaHdfcHBndHQgKmk5MTVfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gICAJCQkJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZwcml2 KTsKPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK