From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915: Move the policy for placement of the GGTT vma into the caller Date: Tue, 20 Feb 2018 13:39:13 +0200 Message-ID: <20180220113913.GA5453@intel.com> References: <20180220105011.11651-1-chris@chris-wilson.co.uk> <20180220105011.11651-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 89B3388073 for ; Tue, 20 Feb 2018 11:39:17 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180220105011.11651-2-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 Cc: intel-gfx@lists.freedesktop.org, Ville@freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBGZWIgMjAsIDIwMTggYXQgMTA6NTA6MTFBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IEN1cnJlbnRseSB3ZSBtYWtlIHRoZSB1bmlsYXRlcmFsIGRlY2lzaW9uIGluc2lkZQo+ IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheSgpIHdoZXJlIHRoZSBWTUEgc2hvdWxkIHJl c2lkZWQgKGluc2lkZQo+IHRoZSBmZW5jZSBhbmQgbWFwcGFibGUgcmVnaW9uIG9yIGFib3ZlPyku IFRoaXMgaXMgbm90IG91ciBkZWNpc2lvbiB0bwo+IG1ha2UgYXMgaXQgaW1wYWN0cyBvbiBob3cg dGhlIGRpc3BsYXkgZW5naW5lIGNhbiB1c2UgdGhlIHJlc3VsdGluZwo+IHNjYW5vdXQgb2JqZWN0 LCBhbmQgaXQgd291bGQgcmF0aGVyIGluc3RydWN0IHVzIHdoZXJlIHRvIHBsYWNlIHRoZSBWTUEg c28KPiB0aGF0IGl0IGNhbiBlbmFibGUgdGhlIGZlYXR1cmVzIGl0IHdhbnRzLiBBcyBzdWNoLCBt YWtlIHRoZSBwaW4gZmxhZ3MgYW4KPiBhcmd1bWVudCB0byBpOTE1X2dlbV9vYmplY3RfcGluX3Rv X2Rpc3BsYXkoKSBhbmQgY29udHJvbCB0aGVtIGZyb20KPiBpbnRlbF9waW5fYW5kX2ZlbmNlX2Zi X29iaigpCj4gCj4gV2hpbHN0IHRha2luZyBjb250cm9sIG9mIHRoZSBtYXBwaW5nIGZvciBvdXJz ZWx2ZXMsIHN0YXJ0IHRyYWNraW5nIGhvdwo+IHdlIHVzZSBpdCB0byBhdm9pZCB0cnlpbmcgdG8g ZnJlZSBhIGZlbmNlIHdlIG5ldmVyIGNsYWltZWQ6Cj4gCj4gPDM+WyAgMjI3LjE1MTg2OV0gR0VN X0JVR19PTih2bWEtPmZlbmNlLT5waW5fY291bnQgPD0gMCkKPiA8ND5bICAyMjcuMTUyMDY0XSAt LS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiA8Mj5bICAyMjcuMTUyMDY4XSBr ZXJuZWwgQlVHIGF0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmg6MzkxIQo+IDw0Plsg IDIyNy4xNTIwODRdIGludmFsaWQgb3Bjb2RlOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgS0FTQU4g UFRJCj4gPDA+WyAgMjI3LjE1MjA5Ml0gRHVtcGluZyBmdHJhY2UgYnVmZmVyOgo+IDwwPlsgIDIy Ny4xNTIwOTldICAgIChmdHJhY2UgYnVmZmVyIGVtcHR5KQo+IDw0PlsgIDIyNy4xNTIxMDJdIE1v ZHVsZXMgbGlua2VkIGluOiBpOTE1IHNuZF9oZGFfY29kZWNfYW5hbG9nIHNuZF9oZGFfY29kZWNf Z2VuZXJpYyBjb3JldGVtcCBzbmRfaGRhX2ludGVsIHNuZF9oZGFfY29kZWMgc25kX2h3ZGVwIHNu ZF9oZGFfY29yZSBzbmRfcGNtIGxwY19pY2ggZTEwMDBlIG1laV9tZSBtZWkgcHJpbWVfbnVtYmVy cwo+IDw0PlsgIDIyNy4xNTIxMzFdIENQVTogMSBQSUQ6IDE1ODcgQ29tbToga3dvcmtlci91MTY6 NDkgVGFpbnRlZDogRyAgICAgVSAgICAgICAgICAgNC4xNi4wLXJjMS1nYmFiNjdiMmY2MTc3LWth c2FuXzcrICMxCj4gPDQ+WyAgMjI3LjE1MjEzNF0gSGFyZHdhcmUgbmFtZTogRGVsbCBJbmMuIE9w dGlQbGV4IDc1NSAgICAgICAgICAgICAgICAgLzBQVTA1MiwgQklPUyBBMDggMDIvMTkvMjAwOAo+ IDw0PlsgIDIyNy4xNTIyMzZdIFdvcmtxdWV1ZTogZXZlbnRzX3VuYm91bmQgaW50ZWxfYXRvbWlj X2NvbW1pdF93b3JrIFtpOTE1XQo+IDw0PlsgIDIyNy4xNTIyOTJdIFJJUDogMDAxMDppbnRlbF91 bnBpbl9mYl92bWErMHgyM2EvMHgyYTAgW2k5MTVdCj4gPDQ+WyAgMjI3LjE1MjI5NV0gUlNQOiAw MDE4OmZmZmY4ODAwNWFhZDdiNjggRUZMQUdTOiAwMDAxMDI4Ngo+IDw0PlsgIDIyNy4xNTIzMDBd IFJBWDogMDAwMDAwMDAwMDAwMDAyNiBSQlg6IGZmZmY4ODAwNWMzNTk1ODAgUkNYOiAwMDAwMDAw MDAwMDAwMDAwCj4gPDQ+WyAgMjI3LjE1MjMwNF0gUkRYOiAwMDAwMDAwMDAwMDAwMDI2IFJTSTog ZmZmZmZmZmY4NzA3ZDg0MCBSREk6IGZmZmZlZDAwMGI1NWFmNjMKPiA8ND5bICAyMjcuMTUyMzA3 XSBSQlA6IGZmZmY4ODAwNTY4MTdlNTggUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogMDAwMDAw MDAwMDAwMDAwMAo+IDw0PlsgIDIyNy4xNTIzMTFdIFIxMDogZmZmZjg4MDA1YWFkN2I4OCBSMTE6 IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiBmZmZmODgwMDU2ODE4NGQwCj4gPDQ+WyAgMjI3LjE1MjMx NF0gUjEzOiBmZmZmODgwMDY1YjVhYjA4IFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGRmZmZm YzAwMDAwMDAwMDAKPiA8ND5bICAyMjcuMTUyMzE4XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAw MCkgR1M6ZmZmZjg4MDA2YWM0MDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4gPDQ+ WyAgMjI3LjE1MjMyMl0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4 MDA1MDAzMwo+IDw0PlsgIDIyNy4xNTIzMjVdIENSMjogMDAwMDdmNWZiMjU1NTBhOCBDUjM6IDAw MDAwMDAwNjhjNzgwMDAgQ1I0OiAwMDAwMDAwMDAwMDAwNmUwCj4gPDQ+WyAgMjI3LjE1MjMyOF0g Q2FsbCBUcmFjZToKPiA8ND5bICAyMjcuMTUyMzg1XSAgaW50ZWxfY2xlYW51cF9wbGFuZV9mYisw eDZiLzB4ZDAgW2k5MTVdCj4gPDQ+WyAgMjI3LjE1MjM5NV0gIGRybV9hdG9taWNfaGVscGVyX2Ns ZWFudXBfcGxhbmVzKzB4MTY2LzB4MjgwCj4gPDQ+WyAgMjI3LjE1MjQ1Ml0gIGludGVsX2F0b21p Y19jb21taXRfdGFpbCsweDE1OWQvMHgzMzgwIFtpOTE1XQo+IDw0PlsgIDIyNy4xNTI0NjNdICA/ IHByb2Nlc3Nfb25lX3dvcmsrMHg2NmUvMHgxNDYwCj4gPDQ+WyAgMjI3LjE1MjUxNl0gID8gc2ts X3VwZGF0ZV9jcnRjcysweDljMC8weDljMCBbaTkxNV0KPiA8ND5bICAyMjcuMTUyNTIzXSAgPyBs b2NrX2FjcXVpcmUrMHgxM2QvMHgzOTAKPiA8ND5bICAyMjcuMTUyNTI3XSAgPyBsb2NrX2FjcXVp cmUrMHgxM2QvMHgzOTAKPiA8ND5bICAyMjcuMTUyNTM0XSAgcHJvY2Vzc19vbmVfd29yaysweDcx YS8weDE0NjAKPiA8ND5bICAyMjcuMTUyNTQwXSAgPyBfX3NjaGVkdWxlKzB4ODE1LzB4MWUyMAo+ IDw0PlsgIDIyNy4xNTI1NDddICA/IHB3cV9kZWNfbnJfaW5fZmxpZ2h0KzB4MmIwLzB4MmIwCj4g PDQ+WyAgMjI3LjE1MjU1M10gID8gX3Jhd19zcGluX2xvY2tfaXJxKzB4YS8weDQwCj4gPDQ+WyAg MjI3LjE1MjU1OV0gIHdvcmtlcl90aHJlYWQrMHhkZi8weGY2MAo+IDw0PlsgIDIyNy4xNTI1Njld ICA/IHByb2Nlc3Nfb25lX3dvcmsrMHgxNDYwLzB4MTQ2MAo+IDw0PlsgIDIyNy4xNTI1NzNdICBr dGhyZWFkKzB4MmNmLzB4M2MwCj4gPDQ+WyAgMjI3LjE1MjU3OF0gID8gX2t0aHJlYWRfY3JlYXRl X29uX25vZGUrMHhhMC8weGEwCj4gPDQ+WyAgMjI3LjE1MjU4M10gIHJldF9mcm9tX2ZvcmsrMHgz YS8weDUwCj4gPDQ+WyAgMjI3LjE1MjU5MV0gQ29kZTogYzYgMDAgMTEgODYgYzAgNDggYzcgYzcg ZTAgYmQgODUgYzAgZTggNjAgZTcgYTkgYzQgMGYgZmYgZTkgMWYgZmUgZmYgZmYgNDggYzcgYzYg NDAgMTAgODYgYzAgNDggYzcgYzcgZTAgY2EgODUgYzAgZTggMmIgOTUgYmQgYzQgPDBmPiAwYiA0 OCA4OSBlZiBlOCA0YyA0NCBlOCBjNCBlOSBlZiBmZCBmZiBmZiBlOCA0MiA0NCBlOCBjNCBlOQo+ IDwxPlsgIDIyNy4xNTI3MjBdIFJJUDogaW50ZWxfdW5waW5fZmJfdm1hKzB4MjNhLzB4MmEwIFtp OTE1XSBSU1A6IGZmZmY4ODAwNWFhZDdiNjgKPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogSm9vbmFzIExhaHRpbmVuIDxqb29u YXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgICAgICAgICAgIHwgMjYgKysrKysrLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jIHwgIDEgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgfCAgOSArKysr Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgICAgICAgIHwgMTAgKysr Ky0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgICAgICB8ICAzICsr LQo+ICA3IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDc2YmZlOTA5MTY4Yy4uMjA1NzViM2Vl NDA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTM0MTMsNyArMzQxMyw4IEBA IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLCBib29sIHdyaXRlKTsKPiAgc3RydWN0IGk5MTVfdm1hICogX19tdXN0X2NoZWNr Cj4gIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqLAo+ICAJCQkJICAgICB1MzIgYWxpZ25tZW50LAo+IC0JCQkJICAgICBj b25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcpOwo+ICsJCQkJICAgICBjb25zdCBzdHJ1 Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcsCj4gKwkJCQkgICAgIHVuc2lnbmVkIGludCBmbGFncyk7 Cj4gIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3VucGluX2Zyb21fZGlzcGxheV9wbGFuZShzdHJ1Y3Qg aTkxNV92bWEgKnZtYSk7Cj4gIGludCBpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCQkJCWludCBhbGlnbik7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gaW5kZXggMTg1NGE2OWJjMzU0Li5iZGMyMDY5ZDU0MzMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNDA3OCw3ICs0MDc4LDggQEAgaW50IGk5MTVfZ2Vt X3NldF9jYWNoaW5nX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4g IHN0cnVjdCBpOTE1X3ZtYSAqCj4gIGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFu ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAJCQkJICAgICB1MzIgYWxpZ25t ZW50LAo+IC0JCQkJICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9nZ3R0X3ZpZXcgKnZpZXcpCj4gKwkJ CQkgICAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRfdmlldyAqdmlldywKPiArCQkJCSAgICAgdW5z aWduZWQgaW50IGZsYWdzKQo+ICB7Cj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgCWludCBy ZXQ7Cj4gQEAgLTQxMTUsMjUgKzQxMTYsMTQgQEAgaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNw bGF5X3BsYW5lKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAkgKiB0cnkgdG8g cHJlc2VydmUgdGhlIGV4aXN0aW5nIEFCSSkuCj4gIAkgKi8KPiAgCXZtYSA9IEVSUl9QVFIoLUVO T1NQQyk7Cj4gLQlpZiAoIXZpZXcgfHwgdmlldy0+dHlwZSA9PSBJOTE1X0dHVFRfVklFV19OT1JN QUwpCj4gKwlpZiAoKGZsYWdzICYgUElOX01BUFBBQkxFKSA9PSAwICYmCj4gKwkgICAgKCF2aWV3 IHx8IHZpZXctPnR5cGUgPT0gSTkxNV9HR1RUX1ZJRVdfTk9STUFMKSkKPiAgCQl2bWEgPSBpOTE1 X2dlbV9vYmplY3RfZ2d0dF9waW4ob2JqLCB2aWV3LCAwLCBhbGlnbm1lbnQsCj4gLQkJCQkJICAg ICAgIFBJTl9NQVBQQUJMRSB8IFBJTl9OT05CTE9DSyk7Cj4gLQlpZiAoSVNfRVJSKHZtYSkpIHsK PiAtCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRl dik7Cj4gLQkJdW5zaWduZWQgaW50IGZsYWdzOwo+IC0KPiAtCQkvKiBWYWxsZXl2aWV3IGlzIGRl ZmluaXRlbHkgbGltaXRlZCB0byBzY2FubmluZyBvdXQgdGhlIGZpcnN0Cj4gLQkJICogNTEyTWlC LiBMZXRzIHByZXN1bWUgdGhpcyBiZWhhdmlvdXIgd2FzIGluaGVyaXRlZCBmcm9tIHRoZQo+IC0J CSAqIGc0eCBkaXNwbGF5IGVuZ2luZSBhbmQgdGhhdCBhbGwgZWFybGllciBnZW4gYXJlIHNpbWls YXJseQo+IC0JCSAqIGxpbWl0ZWQuIFRlc3Rpbmcgc3VnZ2VzdHMgdGhhdCBpdCBpcyBhIGxpdHRs ZSBtb3JlCj4gLQkJICogY29tcGxpY2F0ZWQgdGhhbiB0aGlzLiBGb3IgZXhhbXBsZSwgQ2hlcnJ5 dmlldyBhcHBlYXJzIHF1aXRlCj4gLQkJICogaGFwcHkgdG8gc2Nhbm91dCBmcm9tIGFueXdoZXJl IHdpdGhpbiBpdHMgZ2xvYmFsIGFwZXJ0dXJlLgo+IC0JCSAqLwo+IC0JCWZsYWdzID0gMDsKPiAt CQlpZiAoSEFTX0dNQ0hfRElTUExBWShpOTE1KSkKPiAtCQkJZmxhZ3MgPSBQSU5fTUFQUEFCTEU7 Cj4gKwkJCQkJICAgICAgIGZsYWdzIHwKPiArCQkJCQkgICAgICAgUElOX01BUFBBQkxFIHwKPiAr CQkJCQkgICAgICAgUElOX05PTkJMT0NLKTsKPiArCWlmIChJU19FUlIodm1hKSkKPiAgCQl2bWEg PSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4ob2JqLCB2aWV3LCAwLCBhbGlnbm1lbnQsIGZsYWdz KTsKPiAtCX0KPiAgCWlmIChJU19FUlIodm1hKSkKPiAgCQlnb3RvIGVycl91bnBpbl9nbG9iYWw7 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxh bmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCj4gaW5kZXgg MGVlMzIyNzU5OTRhLi43NDgxY2U4NTc0NmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9hdG9taWNfcGxhbmUuYwo+IEBAIC04NSw2ICs4NSw3IEBAIGludGVsX3BsYW5lX2R1cGxp Y2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgCV9fZHJtX2F0b21pY19oZWxw ZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHBsYW5lLCBzdGF0ZSk7Cj4gIAo+ICAJaW50ZWxfc3Rh dGUtPnZtYSA9IE5VTEw7Cj4gKwlpbnRlbF9zdGF0ZS0+ZmxhZ3MgPSAwOwo+ICAKPiAgCXJldHVy biBzdGF0ZTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCAy ODBjMDQzMjZmNjQuLjgwNzVlMTk5MDE1NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiBAQCAtMjA2OCw3ICsyMDY4LDkgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbnRl bF9zdXJmX2FsaWdubWVudChjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPiAgfQo+ ICAKPiAgc3RydWN0IGk5MTVfdm1hICoKPiAtaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHVuc2lnbmVkIGludCByb3RhdGlvbikKPiAraW50ZWxf cGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gKwkJCSAg IHVuc2lnbmVkIGludCByb3RhdGlvbiwKPiArCQkJICAgdW5zaWduZWQgbG9uZyAqb3V0X2ZsYWdz KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmItPmRldjsKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiBAQCAtMjA3Niw2ICsy MDc4LDcgQEAgaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIsIHVuc2lnbmVkIGludCByb3RhdGlvbikKPiAgCXN0cnVjdCBpOTE1X2dndHRfdmlldyB2 aWV3Owo+ICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gIAl1MzIgYWxpZ25tZW50Owo+ICsJdW5z aWduZWQgaW50IHBpbmN0bDsKPiAgCj4gIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJmRldi0+ c3RydWN0X211dGV4KSk7Cj4gIAo+IEBAIC0yMTAyLDcgKzIxMDUsMjAgQEAgaW50ZWxfcGluX2Fu ZF9mZW5jZV9mYl9vYmooc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHVuc2lnbmVkIGludCBy b3RhdGlvbikKPiAgCj4gIAlhdG9taWNfaW5jKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLnBlbmRpbmdf ZmJfcGluKTsKPiAgCj4gLQl2bWEgPSBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxh bmUob2JqLCBhbGlnbm1lbnQsICZ2aWV3KTsKPiArCXBpbmN0bCA9IDA7Cj4gKwo+ICsJLyogVmFs bGV5dmlldyBpcyBkZWZpbml0ZWx5IGxpbWl0ZWQgdG8gc2Nhbm5pbmcgb3V0IHRoZSBmaXJzdAo+ ICsJICogNTEyTWlCLiBMZXRzIHByZXN1bWUgdGhpcyBiZWhhdmlvdXIgd2FzIGluaGVyaXRlZCBm cm9tIHRoZQo+ICsJICogZzR4IGRpc3BsYXkgZW5naW5lIGFuZCB0aGF0IGFsbCBlYXJsaWVyIGdl biBhcmUgc2ltaWxhcmx5Cj4gKwkgKiBsaW1pdGVkLiBUZXN0aW5nIHN1Z2dlc3RzIHRoYXQgaXQg aXMgYSBsaXR0bGUgbW9yZQo+ICsJICogY29tcGxpY2F0ZWQgdGhhbiB0aGlzLiBGb3IgZXhhbXBs ZSwgQ2hlcnJ5dmlldyBhcHBlYXJzIHF1aXRlCj4gKwkgKiBoYXBweSB0byBzY2Fub3V0IGZyb20g YW55d2hlcmUgd2l0aGluIGl0cyBnbG9iYWwgYXBlcnR1cmUuCj4gKwkgKi8KPiArCWlmIChIQVNf R01DSF9ESVNQTEFZKGRldl9wcml2KSkKPiArCQlwaW5jdGwgfD0gUElOX01BUFBBQkxFOwo+ICsK PiArCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5fdG9fZGlzcGxheV9wbGFuZShvYmosCj4gKwkJ CQkJCSAgIGFsaWdubWVudCwgJnZpZXcsIHBpbmN0bCk7Cj4gIAlpZiAoSVNfRVJSKHZtYSkpCj4g IAkJZ290byBlcnI7Cj4gIAo+IEBAIC0yMTIzLDcgKzIxMzksOCBAQCBpbnRlbF9waW5fYW5kX2Zl bmNlX2ZiX29iaihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwgdW5zaWduZWQgaW50IHJvdGF0 aW9uKQo+ICAJCSAqIHNvbWV0aGluZyBhbmQgdHJ5IHRvIHJ1biB0aGUgc3lzdGVtIGluIGEgImxl c3MgdGhhbiBvcHRpbWFsIgo+ICAJCSAqIG1vZGUgdGhhdCBtYXRjaGVzIHRoZSB1c2VyIGNvbmZp Z3VyYXRpb24uCj4gIAkJICovCj4gLQkJaTkxNV92bWFfcGluX2ZlbmNlKHZtYSk7Cj4gKwkJaWYg KGk5MTVfdm1hX3Bpbl9mZW5jZSh2bWEpID09IDApCj4gKwkJCSpvdXRfZmxhZ3MgfD0gUExBTkVf SEFTX0ZFTkNFOwo+ICAJfQo+ICAKPiAgCWk5MTVfdm1hX2dldCh2bWEpOwo+IEBAIC0yMTM0LDEx ICsyMTUxLDEyIEBAIGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiLCB1bnNpZ25lZCBpbnQgcm90YXRpb24pCj4gIAlyZXR1cm4gdm1hOwo+ICB9Cj4g IAo+IC12b2lkIGludGVsX3VucGluX2ZiX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKPiArdm9p ZCBpbnRlbF91bnBpbl9mYl92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsIHVuc2lnbmVkIGxvbmcg ZmxhZ3MpCj4gIHsKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnZtYS0+dm0tPmk5MTUtPmRybS5z dHJ1Y3RfbXV0ZXgpOwo+ICAKPiAtCWk5MTVfdm1hX3VucGluX2ZlbmNlKHZtYSk7Cj4gKwlpZiAo ZmxhZ3MgJiBQTEFORV9IQVNfRkVOQ0UpCj4gKwkJaTkxNV92bWFfdW5waW5fZmVuY2Uodm1hKTsK PiAgCWk5MTVfZ2VtX29iamVjdF91bnBpbl9mcm9tX2Rpc3BsYXlfcGxhbmUodm1hKTsKPiAgCWk5 MTVfdm1hX3B1dCh2bWEpOwo+ICB9Cj4gQEAgLTI4MDgsNyArMjgyNiw5IEBAIGludGVsX2ZpbmRf aW5pdGlhbF9wbGFuZV9vYmooc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gIHZhbGlk X2ZiOgo+ICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJaW50ZWxfc3RhdGUt PnZtYSA9Cj4gLQkJaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooZmIsIHByaW1hcnktPnN0YXRl LT5yb3RhdGlvbik7Cj4gKwkJaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmooZmIsCj4gKwkJCQkJ ICAgcHJpbWFyeS0+c3RhdGUtPnJvdGF0aW9uLAo+ICsJCQkJCSAgICZpbnRlbF9zdGF0ZS0+Zmxh Z3MpOwo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlpZiAoSVNfRVJS KGludGVsX3N0YXRlLT52bWEpKSB7Cj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGluIGJvb3Qg ZmIgb24gcGlwZSAlZDogJWxpXG4iLAo+IEBAIC0xMjcxMyw3ICsxMjczMyw5IEBAIGludGVsX3By ZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAl9IGVsc2Ugewo+ICAJ CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAKPiAtCQl2bWEgPSBpbnRlbF9waW5fYW5kX2ZlbmNl X2ZiX29iaihmYiwgbmV3X3N0YXRlLT5yb3RhdGlvbik7Cj4gKwkJdm1hID0gaW50ZWxfcGluX2Fu ZF9mZW5jZV9mYl9vYmooZmIsCj4gKwkJCQkJCSBuZXdfc3RhdGUtPnJvdGF0aW9uLAo+ICsJCQkJ CQkgJnRvX2ludGVsX3BsYW5lX3N0YXRlKG5ld19zdGF0ZSktPmZsYWdzKTsKPiAgCQlpZiAoIUlT X0VSUih2bWEpKQo+ICAJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShuZXdfc3RhdGUpLT52bWEgPSB2 bWE7Cj4gIAkJZWxzZQo+IEBAIC0xMjc2OCw3ICsxMjc5MCw3IEBAIGludGVsX2NsZWFudXBfcGxh bmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAl2bWEgPSBmZXRjaF9hbmRfemVybygm dG9faW50ZWxfcGxhbmVfc3RhdGUob2xkX3N0YXRlKS0+dm1hKTsKPiAgCWlmICh2bWEpIHsKPiAg CQltdXRleF9sb2NrKCZwbGFuZS0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JCWludGVsX3VucGlu X2ZiX3ZtYSh2bWEpOwo+ICsJCWludGVsX3VucGluX2ZiX3ZtYSh2bWEsIHRvX2ludGVsX3BsYW5l X3N0YXRlKG9sZF9zdGF0ZSktPmZsYWdzKTsKPiAgCQltdXRleF91bmxvY2soJnBsYW5lLT5kZXYt PnN0cnVjdF9tdXRleCk7Cj4gIAl9Cj4gIH0KPiBAQCAtMTMxMjksNyArMTMxNTEsOSBAQCBpbnRl bF9sZWdhY3lfY3Vyc29yX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJZ290 byBvdXRfdW5sb2NrOwo+ICAJCX0KPiAgCX0gZWxzZSB7Cj4gLQkJdm1hID0gaW50ZWxfcGluX2Fu ZF9mZW5jZV9mYl9vYmooZmIsIG5ld19wbGFuZV9zdGF0ZS0+cm90YXRpb24pOwo+ICsJCXZtYSA9 IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKGZiLAo+ICsJCQkJCQkgbmV3X3BsYW5lX3N0YXRl LT5yb3RhdGlvbiwKPiArCQkJCQkJICZ0b19pbnRlbF9wbGFuZV9zdGF0ZShuZXdfcGxhbmVfc3Rh dGUpLT5mbGFncyk7Cj4gIAkJaWYgKElTX0VSUih2bWEpKSB7Cj4gIAkJCURSTV9ERUJVR19LTVMo ImZhaWxlZCB0byBwaW4gb2JqZWN0XG4iKTsKPiAgCj4gQEAgLTEzMTYwLDcgKzEzMTg0LDggQEAg aW50ZWxfbGVnYWN5X2N1cnNvcl91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAo+ ICAJb2xkX3ZtYSA9IGZldGNoX2FuZF96ZXJvKCZ0b19pbnRlbF9wbGFuZV9zdGF0ZShvbGRfcGxh bmVfc3RhdGUpLT52bWEpOwo+ICAJaWYgKG9sZF92bWEpCj4gLQkJaW50ZWxfdW5waW5fZmJfdm1h KG9sZF92bWEpOwo+ICsJCWludGVsX3VucGluX2ZiX3ZtYShvbGRfdm1hLAo+ICsJCQkJICAgdG9f aW50ZWxfcGxhbmVfc3RhdGUob2xkX3BsYW5lX3N0YXRlKS0+ZmxhZ3MpOwo+ICAKPiAgb3V0X3Vu bG9jazoKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggODk4MDY0ZThiZWE3Li41MDg3NGY0MDM1Y2Yg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0yMDQsNiArMjA0LDcgQEAgc3Ry dWN0IGludGVsX2ZiZGV2IHsKPiAgCXN0cnVjdCBkcm1fZmJfaGVscGVyIGhlbHBlcjsKPiAgCXN0 cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqZmI7Cj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAr CXVuc2lnbmVkIGxvbmcgdm1hX2ZsYWdzOwo+ICAJYXN5bmNfY29va2llX3QgY29va2llOwo+ICAJ aW50IHByZWZlcnJlZF9icHA7Cj4gIH07Cj4gQEAgLTQ5MCw2ICs0OTEsOCBAQCBzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlIHsKPiAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsKPiAgCXN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgYmFzZTsKPiAgCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICsJdW5z aWduZWQgbG9uZyBmbGFnczsKCmxvbmcgc2VlbXMgcG90ZW50aWFsbHkgd2FzdGVmdWwgd2hlbiB3 ZSBoYXZlIGp1c3QgdGhlIG9uZSBmbGFnLgpBbHRob3VnaCBtYXliZSB0aGUgbmV4dCB0aGluZyBn ZXRzIGFsaWduZWQgdG8gNjRiaXRzIGFueXdheS4KCkFueXdheXMsIHBhdGNoIGxvb2tzIHJlYXNv bmFibGUuClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgoKZmJjIHNob3VsZCBwcm9iYWJseSBzdGFydCBsb29raW5nIGF0IHRoZSBuZXcg ZmxhZyBpbnN0ZWFkIG9mCnVzaW5nIHRoZSByYWN5IHZtYS0+ZmVuY2UgY2hlY2tzIGl0IGhhcyBu b3cuCgo+ICsjZGVmaW5lIFBMQU5FX0hBU19GRU5DRSBCSVQoMCkKPiAgCj4gIAlzdHJ1Y3Qgewo+ ICAJCXUzMiBvZmZzZXQ7Cj4gQEAgLTE1MDMsOCArMTUwNiwxMCBAQCB2b2lkIGludGVsX3JlbGVh c2VfbG9hZF9kZXRlY3RfcGlwZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJ CQkJICAgIHN0cnVjdCBpbnRlbF9sb2FkX2RldGVjdF9waXBlICpvbGQsCj4gIAkJCQkgICAgc3Ry dWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwo+ICBzdHJ1Y3QgaTkxNV92bWEgKgo+ IC1pbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwg dW5zaWduZWQgaW50IHJvdGF0aW9uKTsKPiAtdm9pZCBpbnRlbF91bnBpbl9mYl92bWEoc3RydWN0 IGk5MTVfdm1hICp2bWEpOwo+ICtpbnRlbF9waW5fYW5kX2ZlbmNlX2ZiX29iaihzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiwKPiArCQkJICAgdW5zaWduZWQgaW50IHJvdGF0aW9uLAo+ICsJCQkg ICB1bnNpZ25lZCBsb25nICpvdXRfZmxhZ3MpOwo+ICt2b2lkIGludGVsX3VucGluX2ZiX3ZtYShz dHJ1Y3QgaTkxNV92bWEgKnZtYSwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKgo+ICBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKPiAgCQkJIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2Nt ZCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gaW5kZXggZGE0OGFmMTFlYjZiLi4z ZDhjZTNhNjI3NDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJk ZXYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKPiBAQCAtMTc3 LDYgKzE3Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmhlbHBlciwKPiAgCXN0cnVjdCBmYl9pbmZvICppbmZvOwo+ICAJc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqZmI7Cj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiArCXVuc2lnbmVkIGxvbmcg ZmxhZ3MgPSAwOwo+ICAJYm9vbCBwcmVhbGxvYyA9IGZhbHNlOwo+ICAJdm9pZCBfX2lvbWVtICp2 YWRkcjsKPiAgCWludCByZXQ7Cj4gQEAgLTIxMSw3ICsyMTIsOSBAQCBzdGF0aWMgaW50IGludGVs ZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCj4gIAkgKiBUaGlzIGFsc28g dmFsaWRhdGVzIHRoYXQgYW55IGV4aXN0aW5nIGZiIGluaGVyaXRlZCBmcm9tIHRoZQo+ICAJICog QklPUyBpcyBzdWl0YWJsZSBmb3Igb3duIGFjY2Vzcy4KPiAgCSAqLwo+IC0Jdm1hID0gaW50ZWxf cGluX2FuZF9mZW5jZV9mYl9vYmooJmlmYmRldi0+ZmItPmJhc2UsIERSTV9NT0RFX1JPVEFURV8w KTsKPiArCXZtYSA9IGludGVsX3Bpbl9hbmRfZmVuY2VfZmJfb2JqKCZpZmJkZXYtPmZiLT5iYXNl LAo+ICsJCQkJCSBEUk1fTU9ERV9ST1RBVEVfMCwKPiArCQkJCQkgJmZsYWdzKTsKPiAgCWlmIChJ U19FUlIodm1hKSkgewo+ICAJCXJldCA9IFBUUl9FUlIodm1hKTsKPiAgCQlnb3RvIG91dF91bmxv Y2s7Cj4gQEAgLTI2OCw2ICsyNzEsNyBAQCBzdGF0aWMgaW50IGludGVsZmJfY3JlYXRlKHN0cnVj dCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCj4gIAlEUk1fREVCVUdfS01TKCJhbGxvY2F0ZWQgJWR4 JWQgZmI6IDB4JTA4eFxuIiwKPiAgCQkgICAgICBmYi0+d2lkdGgsIGZiLT5oZWlnaHQsIGk5MTVf Z2d0dF9vZmZzZXQodm1hKSk7Cj4gIAlpZmJkZXYtPnZtYSA9IHZtYTsKPiArCWlmYmRldi0+dm1h X2ZsYWdzID0gZmxhZ3M7Cj4gIAo+ICAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+ ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gQEAgLTI3NSw3ICsyNzksNyBA QCBzdGF0aWMgaW50IGludGVsZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIs Cj4gIAlyZXR1cm4gMDsKPiAgCj4gIG91dF91bnBpbjoKPiAtCWludGVsX3VucGluX2ZiX3ZtYSh2 bWEpOwo+ICsJaW50ZWxfdW5waW5fZmJfdm1hKHZtYSwgZmxhZ3MpOwo+ICBvdXRfdW5sb2NrOgo+ ICAJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Cj4gQEAgLTUxMyw3ICs1MTcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9m YmRldl9kZXN0cm95KHN0cnVjdCBpbnRlbF9mYmRldiAqaWZiZGV2KQo+ICAKPiAgCWlmIChpZmJk ZXYtPnZtYSkgewo+ICAJCW11dGV4X2xvY2soJmlmYmRldi0+aGVscGVyLmRldi0+c3RydWN0X211 dGV4KTsKPiAtCQlpbnRlbF91bnBpbl9mYl92bWEoaWZiZGV2LT52bWEpOwo+ICsJCWludGVsX3Vu cGluX2ZiX3ZtYShpZmJkZXYtPnZtYSwgaWZiZGV2LT52bWFfZmxhZ3MpOwo+ICAJCW11dGV4X3Vu bG9jaygmaWZiZGV2LT5oZWxwZXIuZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJfQo+ICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCj4gaW5kZXggNDFlOTQ2NWQ0NGE4Li44OWY1Njhl NzM5ZWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCj4gQEAgLTgwMSw3 ICs4MDEsOCBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfZG9fcHV0X2ltYWdlKHN0cnVjdCBp bnRlbF9vdmVybGF5ICpvdmVybGF5LAo+ICAKPiAgCWF0b21pY19pbmMoJmRldl9wcml2LT5ncHVf ZXJyb3IucGVuZGluZ19mYl9waW4pOwo+ICAKPiAtCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9waW5f dG9fZGlzcGxheV9wbGFuZShuZXdfYm8sIDAsIE5VTEwpOwo+ICsJdm1hID0gaTkxNV9nZW1fb2Jq ZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKG5ld19ibywKPiArCQkJCQkJICAgMCwgTlVMTCwgUElO X01BUFBBQkxFKTsKPiAgCWlmIChJU19FUlIodm1hKSkgewo+ICAJCXJldCA9IFBUUl9FUlIodm1h KTsKPiAgCQlnb3RvIG91dF9waW5fc2VjdGlvbjsKPiAtLSAKPiAyLjE2LjEKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWls aW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBT eXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=