From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Put all permanent stolen allocations together Date: Tue, 11 Sep 2018 19:13:18 +0300 Message-ID: <20180911161318.GL5565@intel.com> References: <20180911151439.10586-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D3F66E3A9 for ; Tue, 11 Sep 2018 16:15:05 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180911151439.10586-1-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 List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBTZXAgMTEsIDIwMTggYXQgMDQ6MTQ6MzlQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFdoaWxzdCByZXZpZXdpbmcgYW5vdGhlciBuZXcgdXNlciBvZiBzdG9sZW4gbWVtb3J5 LCBWaWxsZSBtYWRlIHRoZQo+IG9ic2VydmF0aW9uIHRoYXQgd2Ugc2hvdWxkIHRyeSB0byBlbnN1 cmUgdGhhdCBhbGwgcGVybWFuZW50IGFsbG9jYXRpb25zCj4gd2l0aGluIHN0b2xlbiBtZW1vcnkg YXJlIGNsdXN0ZXJlZCB0b2dldGhlciBhdCBlaXRoZXIgZW5kIG9mIHRoZSBzdG9sZW4KPiByZWdp b24sIGluIG9yZGVyIHRvIHJlZHVjZSBmcmFnbWVudGF0aW9uLiBJbiB0aGUgZGVwdGhzIG9mCj4g aTkxNV9nZW1fc3RvbGVuLmMgaXQgaXMgbm90IGFsd2F5cyBjbGVhciB3aGF0IG1hbm5lciBvZiBh bGxvY2F0aW9uIHdlCj4gbmVlZCwgc28gZXhwb3NlIHRoZSBkcm1fbW0gc2VhcmNoIHBhcmFtZXRl ciBhbmQgcHVzaCB0aGUgZGVjaXNpb24gdG8gb3VyCj4gY2FsbGVycy4KPiAKPiBTdWdnZXN0ZWQt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8IDE1ICsrKysrKysrKy0t LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyAgfCAxOSArKysr KysrKysrKystLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j ICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyAgICAgICAgfCAx MyArKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgICAg ICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgICAgfCAg MyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgICAgIHwgIDMgKyst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8ICAyICstCj4gIDgg ZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggN2VhNDQyMDMzYTU3Li5lNjgxMDIxNDEwNjcgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzMwMiwxOSArMzMwMiwyMiBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY2hpcHNldF9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICAvKiBpOTE1X2dlbV9zdG9sZW4uYyAqLwo+ICBpbnQgaTkx NV9nZW1fc3RvbGVuX2luc2VydF9ub2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAtCQkJCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSwgdTY0IHNpemUsCj4gLQkJCQl1bnNp Z25lZCBhbGlnbm1lbnQpOwo+ICsJCQkJc3RydWN0IGRybV9tbV9ub2RlICpub2RlLAo+ICsJCQkJ dTY0IHNpemUsIHVuc2lnbmVkIGludCBhbGlnbm1lbnQsCj4gKwkJCQl1bnNpZ25lZCBpbnQgc2Vh cmNoKTsKPiAgaW50IGk5MTVfZ2VtX3N0b2xlbl9pbnNlcnRfbm9kZV9pbl9yYW5nZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gLQkJCQkJIHN0cnVjdCBkcm1fbW1fbm9kZSAq bm9kZSwgdTY0IHNpemUsCj4gLQkJCQkJIHVuc2lnbmVkIGFsaWdubWVudCwgdTY0IHN0YXJ0LAo+ IC0JCQkJCSB1NjQgZW5kKTsKPiArCQkJCQkgc3RydWN0IGRybV9tbV9ub2RlICpub2RlLAo+ICsJ CQkJCSB1NjQgc2l6ZSwgdW5zaWduZWQgaW50IGFsaWdubWVudCwKPiArCQkJCQkgdTY0IHN0YXJ0 LCB1NjQgZW5kLAo+ICsJCQkJCSB1bnNpZ25lZCBpbnQgc2VhcmNoKTsKPiAgdm9pZCBpOTE1X2dl bV9zdG9sZW5fcmVtb3ZlX25vZGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJCQkJIHN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSk7Cj4gIGludCBpOTE1X2dlbV9pbml0X3N0 b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICB2b2lkIGk5MTVfZ2Vt X2NsZWFudXBfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqCj4gIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJICAgICAgcmVzb3VyY2Vfc2l6ZV90IHNp emUpOwo+ICsJCQkgICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKPiArCQkJICAgICAgdW5zaWdu ZWQgaW50IHNlYXJjaCk7Cj4gIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKPiAgaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCQkJICAgICAgIHJlc291cmNlX3NpemVfdCBzdG9sZW5f b2Zmc2V0LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9s ZW4uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCj4gaW5kZXggNTM0 NDBiZjg3NjUwLi5lZDQ0MGUyODBkZDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9zdG9sZW4uYwo+IEBAIC00Myw4ICs0MywxMCBAQAo+ICAgKi8KPiAgCj4gIGludCBpOTE1X2dl bV9zdG9sZW5faW5zZXJ0X25vZGVfaW5fcmFuZ2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+IC0JCQkJCSBzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUsIHU2NCBzaXplLAo+IC0J CQkJCSB1bnNpZ25lZCBhbGlnbm1lbnQsIHU2NCBzdGFydCwgdTY0IGVuZCkKPiArCQkJCQkgc3Ry dWN0IGRybV9tbV9ub2RlICpub2RlLAo+ICsJCQkJCSB1NjQgc2l6ZSwgdW5zaWduZWQgaW50IGFs aWdubWVudCwKPiArCQkJCQkgdTY0IHN0YXJ0LCB1NjQgZW5kLAo+ICsJCQkJCSB1bnNpZ25lZCBp bnQgc2VhcmNoKQo+ICB7Cj4gIAlpbnQgcmV0Owo+ICAKPiBAQCAtNTgsNyArNjAsNyBAQCBpbnQg aTkxNV9nZW1fc3RvbGVuX2luc2VydF9ub2RlX2luX3JhbmdlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiAgCW11dGV4X2xvY2soJmRldl9wcml2LT5tbS5zdG9sZW5fbG9jayk7 Cj4gIAlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfaW5fcmFuZ2UoJmRldl9wcml2LT5tbS5zdG9s ZW4sIG5vZGUsCj4gIAkJCQkJICBzaXplLCBhbGlnbm1lbnQsIDAsCj4gLQkJCQkJICBzdGFydCwg ZW5kLCBEUk1fTU1fSU5TRVJUX0JFU1QpOwo+ICsJCQkJCSAgc3RhcnQsIGVuZCwgc2VhcmNoKTsK PiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPm1tLnN0b2xlbl9sb2NrKTsKPiAgCj4gIAlyZXR1 cm4gcmV0Owo+IEBAIC02NiwxMCArNjgsMTIgQEAgaW50IGk5MTVfZ2VtX3N0b2xlbl9pbnNlcnRf bm9kZV9pbl9yYW5nZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICBp bnQgaTkxNV9nZW1fc3RvbGVuX2luc2VydF9ub2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgCQkJCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZSwgdTY0IHNpemUsCj4gLQkJ CQl1bnNpZ25lZCBhbGlnbm1lbnQpCj4gKwkJCQl1bnNpZ25lZCBpbnQgYWxpZ25tZW50LAo+ICsJ CQkJdW5zaWduZWQgaW50IHNlYXJjaCkKPiAgewo+ICAJcmV0dXJuIGk5MTVfZ2VtX3N0b2xlbl9p bnNlcnRfbm9kZV9pbl9yYW5nZShkZXZfcHJpdiwgbm9kZSwgc2l6ZSwKPiAtCQkJCQkJICAgIGFs aWdubWVudCwgMCwgVTY0X01BWCk7Cj4gKwkJCQkJCSAgICBhbGlnbm1lbnQsIDAsIFU2NF9NQVgs Cj4gKwkJCQkJCSAgICBzZWFyY2gpOwo+ICB9Cj4gIAo+ICB2b2lkIGk5MTVfZ2VtX3N0b2xlbl9y ZW1vdmVfbm9kZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gQEAgLTU5MSw3 ICs1OTUsOCBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+ ICBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gLQkJCSAgICAgIHJlc291cmNlX3NpemVfdCBzaXplKQo+ICsJCQkgICAgICBy ZXNvdXJjZV9zaXplX3Qgc2l6ZSwKPiArCQkJICAgICAgdW5zaWduZWQgaW50IHNlYXJjaCkKPiAg ewo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAgCXN0cnVjdCBkcm1fbW1f bm9kZSAqc3RvbGVuOwo+IEBAIC02MDcsNyArNjEyLDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJaWYgKCFzdG9s ZW4pCj4gIAkJcmV0dXJuIE5VTEw7Cj4gIAo+IC0JcmV0ID0gaTkxNV9nZW1fc3RvbGVuX2luc2Vy dF9ub2RlKGRldl9wcml2LCBzdG9sZW4sIHNpemUsIDQwOTYpOwo+ICsJcmV0ID0gaTkxNV9nZW1f c3RvbGVuX2luc2VydF9ub2RlKGRldl9wcml2LCBzdG9sZW4sIHNpemUsIDQwOTYsIHNlYXJjaCk7 Cj4gIAlpZiAocmV0KSB7Cj4gIAkJa2ZyZWUoc3RvbGVuKTsKPiAgCQlyZXR1cm4gTlVMTDsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IGluZGV4IDEwY2QwNTFiYTI5ZS4u Yzk0NWE5ZmI1NGFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Vu Z2luZV9jcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMK PiBAQCAtNDk5LDcgKzQ5OSw4IEBAIGludCBpbnRlbF9lbmdpbmVfY3JlYXRlX3NjcmF0Y2goc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAKPiAgCVdBUk5fT04oZW5naW5lLT5zY3Jh dGNoKTsKPiAgCj4gLQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihlbmdpbmUt Pmk5MTUsIHNpemUpOwo+ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZW5n aW5lLT5pOTE1LAo+ICsJCQkJCSAgICBzaXplLCBEUk1fTU1fSU5TRVJUX0xPVyk7Cj4gIAlpZiAo IW9iaikKPiAgCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2ludGVybmFsKGVuZ2luZS0+ aTkxNSwgc2l6ZSk7Cj4gIAlpZiAoSVNfRVJSKG9iaikpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYwo+IGluZGV4IDAxZDFkMjA4OGYwNC4uYmY2MmQzZDA4ZTgyIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJjLmMKPiBAQCAtNDU3LDggKzQ1Nyw5IEBAIHN0YXRpYyBpbnQgZmluZF9jb21w cmVzc2lvbl90aHJlc2hvbGQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJ ICovCj4gIAo+ICAJLyogVHJ5IHRvIG92ZXItYWxsb2NhdGUgdG8gcmVkdWNlIHJlYWxsb2NhdGlv bnMgYW5kIGZyYWdtZW50YXRpb24uICovCj4gLQlyZXQgPSBpOTE1X2dlbV9zdG9sZW5faW5zZXJ0 X25vZGVfaW5fcmFuZ2UoZGV2X3ByaXYsIG5vZGUsIHNpemUgPDw9IDEsCj4gLQkJCQkJCSAgIDQw OTYsIDAsIGVuZCk7Cj4gKwlyZXQgPSBpOTE1X2dlbV9zdG9sZW5faW5zZXJ0X25vZGVfaW5fcmFu Z2UoZGV2X3ByaXYsIG5vZGUsCj4gKwkJCQkJCSAgIHNpemUgPDw9IDEsIDQwOTYsCj4gKwkJCQkJ CSAgIDAsIGVuZCwgRFJNX01NX0lOU0VSVF9CRVNUKTsKPiAgCWlmIChyZXQgPT0gMCkKPiAgCQly ZXR1cm4gY29tcHJlc3Npb25fdGhyZXNob2xkOwo+ICAKPiBAQCAtNDY4LDggKzQ2OSw5IEBAIHN0 YXRpYyBpbnQgZmluZF9jb21wcmVzc2lvbl90aHJlc2hvbGQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAo+ICAJICAgIChmYl9jcHAgPT0gMiAmJiBjb21wcmVzc2lvbl90aHJlc2hv bGQgPT0gMikpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JcmV0ID0gaTkxNV9nZW1fc3RvbGVuX2lu c2VydF9ub2RlX2luX3JhbmdlKGRldl9wcml2LCBub2RlLCBzaXplID4+PSAxLAo+IC0JCQkJCQkg ICA0MDk2LCAwLCBlbmQpOwo+ICsJcmV0ID0gaTkxNV9nZW1fc3RvbGVuX2luc2VydF9ub2RlX2lu X3JhbmdlKGRldl9wcml2LCBub2RlLAo+ICsJCQkJCQkgICBzaXplID4+PSAxLCA0MDk2LAo+ICsJ CQkJCQkgICAwLCBlbmQsIERSTV9NTV9JTlNFUlRfQkVTVCk7Cj4gIAlpZiAocmV0ICYmIElOVEVM X0dFTihkZXZfcHJpdikgPD0gNCkgewo+ICAJCXJldHVybiAwOwo+ICAJfSBlbHNlIGlmIChyZXQp IHsKPiBAQCAtNTEzLDcgKzUxNSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxfZmJjX2FsbG9jX2NmYihz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCQkJZ290byBlcnJfZmI7Cj4gIAo+ICAJCXJldCA9 IGk5MTVfZ2VtX3N0b2xlbl9pbnNlcnRfbm9kZShkZXZfcHJpdiwgY29tcHJlc3NlZF9sbGIsCj4g LQkJCQkJCSAgNDA5NiwgNDA5Nik7Cj4gKwkJCQkJCSAgNDA5NiwgNDA5NiwKPiArCQkJCQkJICBE Uk1fTU1fSU5TRVJUX0xPVyk7CgpXZSBzZWVtIHRvIGFsbG9jL2ZyZWUgdGhlIGxpbmUgbGVuZ3Ro IGJ1ZmZlciBhbG9uZ3NpZGUgdGhlIGNmYi4KU28gc2hvdWxkIHRoaXMgdXNlIGJlc3QgaW5zdGVh ZD8KCj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBlcnJfZmI7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZmJkZXYuYwo+IGluZGV4IGZiMmY5ZmNlMzRjZC4uMGUxZGRiZjFjNWEwIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gQEAgLTE0MCw3ICsxNDAsOCBAQCBzdGF0aWMg aW50IGludGVsZmJfYWxsb2Moc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKPiAgCSAqIGZl YXR1cmVzLiAqLwo+ICAJb2JqID0gTlVMTDsKPiAgCWlmIChzaXplICogMiA8IGRldl9wcml2LT5z dG9sZW5fdXNhYmxlX3NpemUpCj4gLQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9s ZW4oZGV2X3ByaXYsIHNpemUpOwo+ICsJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3Rv bGVuKGRldl9wcml2LAo+ICsJCQkJCQkgICAgc2l6ZSwgRFJNX01NX0lOU0VSVF9MT1cpOwo+ICAJ aWYgKG9iaiA9PSBOVUxMKQo+ICAJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2X3By aXYsIHNpemUpOwo+ICAJaWYgKElTX0VSUihvYmopKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X292ZXJsYXkuYwo+IGluZGV4IDcyZWI3ZTQ4ZThiYy4uYjEzNGI5Y2FiZjkzIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IEBAIC0xMzA2LDcgKzEzMDYsOCBAQCBzdGF0 aWMgaW50IGdldF9yZWdpc3RlcnMoc3RydWN0IGludGVsX292ZXJsYXkgKm92ZXJsYXksIGJvb2wg dXNlX3BoeXMpCj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPiAgCWludCBlcnI7Cj4gIAo+IC0J b2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4ob3ZlcmxheS0+aTkxNSwgUEFHRV9T SVpFKTsKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKG92ZXJsYXktPmk5 MTUsCj4gKwkJCQkJICAgIFBBR0VfU0laRSwgRFJNX01NX0lOU0VSVF9MT1cpOwo+ICAJaWYgKG9i aiA9PSBOVUxMKQo+ICAJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfaW50ZXJuYWwob3Zl cmxheS0+aTkxNSwgUEFHRV9TSVpFKTsKPiAgCWlmIChJU19FUlIob2JqKSkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiBpbmRleCBkOTllNWZhYmU5M2MuLjVkMTgzMDFiYTA3OSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYwo+IEBAIC03MzgyLDcgKzczODIsOCBAQCBzdGF0aWMgdm9pZCB2 YWxsZXl2aWV3X3NldHVwX3BjdHgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICAJICogb3ZlcmxhcCB3aXRoIG90aGVyIHJhbmdlcywgc3VjaCBhcyB0aGUgZnJhbWUgYnVmZmVy LCBwcm90ZWN0ZWQKPiAgCSAqIG1lbW9yeSwgb3IgYW55IG90aGVyIHJlbGV2YW50IHJhbmdlcy4K PiAgCSAqLwo+IC0JcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRldl9wcml2 LCBwY3R4X3NpemUpOwo+ICsJcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRl dl9wcml2LAo+ICsJCQkJCSAgICAgcGN0eF9zaXplLCBEUk1fTU1fSU5TRVJUX0xPVyk7CgpJIGd1 ZXNzIHRoZXJlIHdhcyBubyBzcGVjaWFsIHJlcXVpcmVtZW50IGZvciB0aGUgcGxhY2VtZW50IG9m IHRoaXMuCkFGQUlLIHRoZSBCSU9TIGFsd2F5cyBhbGxvY2F0ZXMgaXQganVzdCBiZWxvdyB0aGUg d29wY20sIGJ1dCBJIHN1cHBvc2UKaXQgZG9lc24ndCBtYXR0ZXIgaWYgd2UgdGFrZSBhIGRpZmZl cmVudCBhcHByb2FjaC4KCj4gIAlpZiAoIXBjdHgpIHsKPiAgCQlEUk1fREVCVUcoIm5vdCBlbm91 Z2ggc3RvbGVuIHNwYWNlIGZvciBQQ1RYLCBkaXNhYmxpbmdcbiIpOwo+ICAJCWdvdG8gb3V0Owo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBpbmRleCA0NzI5MzlmNWMx OGYuLmU2YTIzYTI0MWNmMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMKPiBAQCAtMTEwNCw3ICsxMTA0LDcgQEAgaW50ZWxfcmluZ19jcmVhdGVfdm1hKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHNpemUpCj4gIAlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqOwo+ICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gIAo+IC0Jb2Jq ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHNpemUpOwo+ICsJb2Jq ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHNpemUsIERSTV9NTV9J TlNFUlRfQkVTVCk7CgpTaG91bGQgdGhlc2UgZ28gbG93PyBXZSBuZXZlciByZWFsbG9jYXRlIHRo ZW0sIHJpZ2h0PwoKPiAgCWlmICghb2JqKQo+ICAJCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVh dGVfaW50ZXJuYWwoZGV2X3ByaXYsIHNpemUpOwo+ICAJaWYgKElTX0VSUihvYmopKQo+IC0tIAo+ IDIuMTkuMC5yYzIKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==