From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 04/21] drm/i915/gtt: Allow >= 4GB sizes for vm. Date: Tue, 26 May 2015 09:15:38 +0200 Message-ID: <20150526071538.GC12971@phenom.ffwll.local> References: <1432314314-23530-1-git-send-email-mika.kuoppala@intel.com> <1432314314-23530-5-git-send-email-mika.kuoppala@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTP id 697306E2E1 for ; Tue, 26 May 2015 00:13:10 -0700 (PDT) Received: by wicmx19 with SMTP id mx19so55735866wic.0 for ; Tue, 26 May 2015 00:13:09 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1432314314-23530-5-git-send-email-mika.kuoppala@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala Cc: intel-gfx@lists.freedesktop.org, miku@iki.fi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBNYXkgMjIsIDIwMTUgYXQgMDg6MDQ6NTdQTSArMDMwMCwgTWlrYSBLdW9wcGFsYSB3 cm90ZToKPiBXZSBjYW4gaGF2ZSBleGFjdGx5IDRHQiBzaXplZCBwcGd0dCB3aXRoIDMyYml0IHN5 c3RlbS4KPiBzaXplX3QgaXMgaW5hZGVxdWF0ZSBmb3IgdGhpcy4KPiAKCklzIHRoZXJlIGEKCnYy OiBDb252ZXJ0IGEgbG90IG1vcmUgcGxhY2VzIChEYW5pZWwpCgptaXNzaW5nIGhlcmU/IFRoZSBw YXRjaCBsb29rcyBhIGxvdCBiaWdnZXIsIGJ1dCBub3Qgc3VyZSAuLi4KLURhbmllbAoKPiBTaWdu ZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgNDIgKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICB8 ICA2ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8IDIyICsr KysrKysrKy0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0Lmgg fCAxMiArKysrKy0tLS0tLQo+ICBpbmNsdWRlL2RybS9pbnRlbC1ndHQuaCAgICAgICAgICAgICB8 ICA0ICsrLS0KPiAgNiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1ndHQuYyBiL2Ry aXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKPiBpbmRleCAwYjQxODhiLi40NzM0ZDAyIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtZ3R0LmMKPiArKysgYi9kcml2ZXJzL2No YXIvYWdwL2ludGVsLWd0dC5jCj4gQEAgLTE0MDgsOCArMTQwOCw4IEBAIGludCBpbnRlbF9nbWNo X3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfcGRldiwgc3RydWN0IHBjaV9kZXYgKmdwdV9w ZGV2LAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woaW50ZWxfZ21jaF9wcm9iZSk7Cj4gIAo+IC12b2lk IGludGVsX2d0dF9nZXQoc2l6ZV90ICpndHRfdG90YWwsIHNpemVfdCAqc3RvbGVuX3NpemUsCj4g LQkJICAgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2UsIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxl X2VuZCkKPiArdm9pZCBpbnRlbF9ndHRfZ2V0KHU2NCAqZ3R0X3RvdGFsLCBzaXplX3QgKnN0b2xl bl9zaXplLAo+ICsJCSAgIHBoeXNfYWRkcl90ICptYXBwYWJsZV9iYXNlLCB1NjQgKm1hcHBhYmxl X2VuZCkKPiAgewo+ICAJKmd0dF90b3RhbCA9IGludGVsX3ByaXZhdGUuZ3R0X3RvdGFsX2VudHJp ZXMgPDwgUEFHRV9TSElGVDsKPiAgCSpzdG9sZW5fc2l6ZSA9IGludGVsX3ByaXZhdGUuc3RvbGVu X3NpemU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRleCBmZWNlOTIyLi5j N2E4NDBiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTk4LDcg KzE5OCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2xpc3RfaW5mbyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0g PSAmZGV2X3ByaXYtPmd0dC5iYXNlOwo+ICAJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4gLQlzaXpl X3QgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0dF9zaXplOwo+ICsJdTY0IHRvdGFsX29ial9zaXpl LCB0b3RhbF9ndHRfc2l6ZTsKPiAgCWludCBjb3VudCwgcmV0Owo+ICAKPiAgCXJldCA9IG11dGV4 X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBAIC0yMzEsNyArMjMx LDcgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfbGlzdF9pbmZvKHN0cnVjdCBzZXFfZmls ZSAqbSwgdm9pZCAqZGF0YSkKPiAgCX0KPiAgCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwo+ICAKPiAtCXNlcV9wcmludGYobSwgIlRvdGFsICVkIG9iamVjdHMsICV6dSBieXRlcywg JXp1IEdUVCBzaXplXG4iLAo+ICsJc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2JqZWN0cywgJWxs dSBieXRlcywgJWxsdSBHVFQgc2l6ZVxuIiwKPiAgCQkgICBjb3VudCwgdG90YWxfb2JqX3NpemUs IHRvdGFsX2d0dF9zaXplKTsKPiAgCXJldHVybiAwOwo+ICB9Cj4gQEAgLTI1Myw3ICsyNTMsNyBA QCBzdGF0aWMgaW50IGk5MTVfZ2VtX3N0b2xlbl9saXN0X2luZm8oc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICpkYXRhKQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5k ZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAtCXNpemVfdCB0b3Rh bF9vYmpfc2l6ZSwgdG90YWxfZ3R0X3NpemU7Cj4gKwl1NjQgdG90YWxfb2JqX3NpemUsIHRvdGFs X2d0dF9zaXplOwo+ICAJTElTVF9IRUFEKHN0b2xlbik7Cj4gIAlpbnQgY291bnQsIHJldDsKPiAg Cj4gQEAgLTI5Miw3ICsyOTIsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3N0b2xlbl9saXN0X2lu Zm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAJfQo+ICAJbXV0ZXhfdW5sb2Nr KCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAo+IC0Jc2VxX3ByaW50ZihtLCAiVG90YWwgJWQgb2Jq ZWN0cywgJXp1IGJ5dGVzLCAlenUgR1RUIHNpemVcbiIsCj4gKwlzZXFfcHJpbnRmKG0sICJUb3Rh bCAlZCBvYmplY3RzLCAlbGx1IGJ5dGVzLCAlbGx1IEdUVCBzaXplXG4iLAo+ICAJCSAgIGNvdW50 LCB0b3RhbF9vYmpfc2l6ZSwgdG90YWxfZ3R0X3NpemUpOwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBA QCAtMzEwLDEwICszMTAsMTAgQEAgc3RhdGljIGludCBpOTE1X2dlbV9zdG9sZW5fbGlzdF9pbmZv KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgCj4gIHN0cnVjdCBmaWxlX3N0YXRz IHsKPiAgCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKPiAtCWludCBj b3VudDsKPiAtCXNpemVfdCB0b3RhbCwgdW5ib3VuZDsKPiAtCXNpemVfdCBnbG9iYWwsIHNoYXJl ZDsKPiAtCXNpemVfdCBhY3RpdmUsIGluYWN0aXZlOwo+ICsJdW5zaWduZWQgbG9uZyBjb3VudDsK PiArCXU2NCB0b3RhbCwgdW5ib3VuZDsKPiArCXU2NCBnbG9iYWwsIHNoYXJlZDsKPiArCXU2NCBh Y3RpdmUsIGluYWN0aXZlOwo+ICB9Owo+ICAKPiAgc3RhdGljIGludCBwZXJfZmlsZV9zdGF0cyhp bnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0YSkKPiBAQCAtMzcwLDcgKzM3MCw3IEBAIHN0YXRp YyBpbnQgcGVyX2ZpbGVfc3RhdHMoaW50IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRhdGEpCj4gIAo+ ICAjZGVmaW5lIHByaW50X2ZpbGVfc3RhdHMobSwgbmFtZSwgc3RhdHMpIGRvIHsgXAo+ICAJaWYg KHN0YXRzLmNvdW50KSBcCj4gLQkJc2VxX3ByaW50ZihtLCAiJXM6ICV1IG9iamVjdHMsICV6dSBi eXRlcyAoJXp1IGFjdGl2ZSwgJXp1IGluYWN0aXZlLCAlenUgZ2xvYmFsLCAlenUgc2hhcmVkLCAl enUgdW5ib3VuZClcbiIsIFwKPiArCQlzZXFfcHJpbnRmKG0sICIlczogJWx1IG9iamVjdHMsICVs bHUgYnl0ZXMgKCVsbHUgYWN0aXZlLCAlbGx1IGluYWN0aXZlLCAlbGx1IGdsb2JhbCwgJWxsdSBz aGFyZWQsICVsbHUgdW5ib3VuZClcbiIsIFwKPiAgCQkJICAgbmFtZSwgXAo+ICAJCQkgICBzdGF0 cy5jb3VudCwgXAo+ICAJCQkgICBzdGF0cy50b3RhbCwgXAo+IEBAIC00MjAsNyArNDIwLDcgQEAg c3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQq IGRhdGEpCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g IAl1MzIgY291bnQsIG1hcHBhYmxlX2NvdW50LCBwdXJnZWFibGVfY291bnQ7Cj4gLQlzaXplX3Qg c2l6ZSwgbWFwcGFibGVfc2l6ZSwgcHVyZ2VhYmxlX3NpemU7Cj4gKwl1NjQgc2l6ZSwgbWFwcGFi bGVfc2l6ZSwgcHVyZ2VhYmxlX3NpemU7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqOwo+ICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0gPSAmZGV2X3ByaXYtPmd0dC5i YXNlOwo+ICAJc3RydWN0IGRybV9maWxlICpmaWxlOwo+IEBAIC00MzcsMTcgKzQzNywxNyBAQCBz dGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCog ZGF0YSkKPiAgCj4gIAlzaXplID0gY291bnQgPSBtYXBwYWJsZV9zaXplID0gbWFwcGFibGVfY291 bnQgPSAwOwo+ICAJY291bnRfb2JqZWN0cygmZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QsIGdsb2Jh bF9saXN0KTsKPiAtCXNlcV9wcmludGYobSwgIiV1IFsldV0gb2JqZWN0cywgJXp1IFslenVdIGJ5 dGVzIGluIGd0dFxuIiwKPiArCXNlcV9wcmludGYobSwgIiV1IFsldV0gb2JqZWN0cywgJWxsdSBb JWxsdV0gYnl0ZXMgaW4gZ3R0XG4iLAo+ICAJCSAgIGNvdW50LCBtYXBwYWJsZV9jb3VudCwgc2l6 ZSwgbWFwcGFibGVfc2l6ZSk7Cj4gIAo+ICAJc2l6ZSA9IGNvdW50ID0gbWFwcGFibGVfc2l6ZSA9 IG1hcHBhYmxlX2NvdW50ID0gMDsKPiAgCWNvdW50X3ZtYXMoJnZtLT5hY3RpdmVfbGlzdCwgbW1f bGlzdCk7Cj4gLQlzZXFfcHJpbnRmKG0sICIgICV1IFsldV0gYWN0aXZlIG9iamVjdHMsICV6dSBb JXp1XSBieXRlc1xuIiwKPiArCXNlcV9wcmludGYobSwgIiAgJXUgWyV1XSBhY3RpdmUgb2JqZWN0 cywgJWxsdSBbJWxsdV0gYnl0ZXNcbiIsCj4gIAkJICAgY291bnQsIG1hcHBhYmxlX2NvdW50LCBz aXplLCBtYXBwYWJsZV9zaXplKTsKPiAgCj4gIAlzaXplID0gY291bnQgPSBtYXBwYWJsZV9zaXpl ID0gbWFwcGFibGVfY291bnQgPSAwOwo+ICAJY291bnRfdm1hcygmdm0tPmluYWN0aXZlX2xpc3Qs IG1tX2xpc3QpOwo+IC0Jc2VxX3ByaW50ZihtLCAiICAldSBbJXVdIGluYWN0aXZlIG9iamVjdHMs ICV6dSBbJXp1XSBieXRlc1xuIiwKPiArCXNlcV9wcmludGYobSwgIiAgJXUgWyV1XSBpbmFjdGl2 ZSBvYmplY3RzLCAlbGx1IFslbGx1XSBieXRlc1xuIiwKPiAgCQkgICBjb3VudCwgbWFwcGFibGVf Y291bnQsIHNpemUsIG1hcHBhYmxlX3NpemUpOwo+ICAKPiAgCXNpemUgPSBjb3VudCA9IHB1cmdl YWJsZV9zaXplID0gcHVyZ2VhYmxlX2NvdW50ID0gMDsKPiBAQCAtNDU2LDcgKzQ1Niw3IEBAIHN0 YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkKiBk YXRhKQo+ICAJCWlmIChvYmotPm1hZHYgPT0gSTkxNV9NQURWX0RPTlRORUVEKQo+ICAJCQlwdXJn ZWFibGVfc2l6ZSArPSBvYmotPmJhc2Uuc2l6ZSwgKytwdXJnZWFibGVfY291bnQ7Cj4gIAl9Cj4g LQlzZXFfcHJpbnRmKG0sICIldSB1bmJvdW5kIG9iamVjdHMsICV6dSBieXRlc1xuIiwgY291bnQs IHNpemUpOwo+ICsJc2VxX3ByaW50ZihtLCAiJXUgdW5ib3VuZCBvYmplY3RzLCAlbGx1IGJ5dGVz XG4iLCBjb3VudCwgc2l6ZSk7Cj4gIAo+ICAJc2l6ZSA9IGNvdW50ID0gbWFwcGFibGVfc2l6ZSA9 IG1hcHBhYmxlX2NvdW50ID0gMDsKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLCAmZGV2X3By aXYtPm1tLmJvdW5kX2xpc3QsIGdsb2JhbF9saXN0KSB7Cj4gQEAgLTQ3MywxNiArNDczLDE2IEBA IHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lk KiBkYXRhKQo+ICAJCQkrK3B1cmdlYWJsZV9jb3VudDsKPiAgCQl9Cj4gIAl9Cj4gLQlzZXFfcHJp bnRmKG0sICIldSBwdXJnZWFibGUgb2JqZWN0cywgJXp1IGJ5dGVzXG4iLAo+ICsJc2VxX3ByaW50 ZihtLCAiJXUgcHVyZ2VhYmxlIG9iamVjdHMsICVsbHUgYnl0ZXNcbiIsCj4gIAkJICAgcHVyZ2Vh YmxlX2NvdW50LCBwdXJnZWFibGVfc2l6ZSk7Cj4gLQlzZXFfcHJpbnRmKG0sICIldSBwaW5uZWQg bWFwcGFibGUgb2JqZWN0cywgJXp1IGJ5dGVzXG4iLAo+ICsJc2VxX3ByaW50ZihtLCAiJXUgcGlu bmVkIG1hcHBhYmxlIG9iamVjdHMsICVsbHUgYnl0ZXNcbiIsCj4gIAkJICAgbWFwcGFibGVfY291 bnQsIG1hcHBhYmxlX3NpemUpOwo+IC0Jc2VxX3ByaW50ZihtLCAiJXUgZmF1bHQgbWFwcGFibGUg b2JqZWN0cywgJXp1IGJ5dGVzXG4iLAo+ICsJc2VxX3ByaW50ZihtLCAiJXUgZmF1bHQgbWFwcGFi bGUgb2JqZWN0cywgJWxsdSBieXRlc1xuIiwKPiAgCQkgICBjb3VudCwgc2l6ZSk7Cj4gIAo+IC0J c2VxX3ByaW50ZihtLCAiJXp1IFslbHVdIGd0dCB0b3RhbFxuIiwKPiArCXNlcV9wcmludGYobSwg IiVsbHUgWyVsbHVdIGd0dCB0b3RhbFxuIiwKPiAgCQkgICBkZXZfcHJpdi0+Z3R0LmJhc2UudG90 YWwsCj4gLQkJICAgZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQgLSBkZXZfcHJpdi0+Z3R0LmJh c2Uuc3RhcnQpOwo+ICsJCSAgICh1NjQpZGV2X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQgLSBkZXZf cHJpdi0+Z3R0LmJhc2Uuc3RhcnQpOwo+ICAKPiAgCXNlcV9wdXRjKG0sICdcbicpOwo+ICAJcHJp bnRfYmF0Y2hfcG9vbF9zdGF0cyhtLCBkZXZfcHJpdik7Cj4gQEAgLTUxOSw3ICs1MTksNyBAQCBz dGF0aWMgaW50IGk5MTVfZ2VtX2d0dF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0 YSkKPiAgCXVpbnRwdHJfdCBsaXN0ID0gKHVpbnRwdHJfdCkgbm9kZS0+aW5mb19lbnQtPmRhdGE7 Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl Owo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiAtCXNpemVfdCB0b3RhbF9v Ympfc2l6ZSwgdG90YWxfZ3R0X3NpemU7Cj4gKwl1NjQgdG90YWxfb2JqX3NpemUsIHRvdGFsX2d0 dF9zaXplOwo+ICAJaW50IGNvdW50LCByZXQ7Cj4gIAo+ICAJcmV0ID0gbXV0ZXhfbG9ja19pbnRl cnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gQEAgLTU0MSw3ICs1NDEsNyBAQCBzdGF0 aWMgaW50IGk5MTVfZ2VtX2d0dF9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkK PiAgCj4gIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCj4gLQlzZXFfcHJp bnRmKG0sICJUb3RhbCAlZCBvYmplY3RzLCAlenUgYnl0ZXMsICV6dSBHVFQgc2l6ZVxuIiwKPiAr CXNlcV9wcmludGYobSwgIlRvdGFsICVkIG9iamVjdHMsICVsbHUgYnl0ZXMsICVsbHUgR1RUIHNp emVcbiIsCj4gIAkJICAgY291bnQsIHRvdGFsX29ial9zaXplLCB0b3RhbF9ndHRfc2l6ZSk7Cj4g IAo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggY2MyMDZmMS4u MjVlMzc1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0zNjcxLDkgKzM2NzEs OSBAQCBpOTE1X2dlbV9vYmplY3RfYmluZF90b192bShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7Cj4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJ dTMyIHNpemUsIGZlbmNlX3NpemUsIGZlbmNlX2FsaWdubWVudCwgdW5mZW5jZWRfYWxpZ25tZW50 Owo+IC0JdW5zaWduZWQgbG9uZyBzdGFydCA9Cj4gKwl1NjQgc3RhcnQgPQo+ICAJCWZsYWdzICYg UElOX09GRlNFVF9CSUFTID8gZmxhZ3MgJiBQSU5fT0ZGU0VUX01BU0sgOiAwOwo+IC0JdW5zaWdu ZWQgbG9uZyBlbmQgPQo+ICsJdTY0IGVuZCA9Cj4gIAkJZmxhZ3MgJiBQSU5fTUFQUEFCTEUgPyBk ZXZfcHJpdi0+Z3R0Lm1hcHBhYmxlX2VuZCA6IHZtLT50b3RhbDsKPiAgCXN0cnVjdCBpOTE1X3Zt YSAqdm1hOwo+ICAJaW50IHJldDsKPiBAQCAtMzcyOSw3ICszNzI5LDcgQEAgaTkxNV9nZW1fb2Jq ZWN0X2JpbmRfdG9fdm0oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCSAqIGF0 dGVtcHQgdG8gZmluZCBzcGFjZS4KPiAgCSAqLwo+ICAJaWYgKHNpemUgPiBlbmQpIHsKPiAtCQlE Uk1fREVCVUcoIkF0dGVtcHRpbmcgdG8gYmluZCBhbiBvYmplY3QgKHZpZXcgdHlwZT0ldSkgbGFy Z2VyIHRoYW4gdGhlIGFwZXJ0dXJlOiBzaXplPSV1ID4gJXMgYXBlcnR1cmU9JWx1XG4iLAo+ICsJ CURSTV9ERUJVRygiQXR0ZW1wdGluZyB0byBiaW5kIGFuIG9iamVjdCAodmlldyB0eXBlPSV1KSBs YXJnZXIgdGhhbiB0aGUgYXBlcnR1cmU6IHNpemU9JXUgPiAlcyBhcGVydHVyZT0lbGx1XG4iLAo+ ICAJCQkgIGdndHRfdmlldyA/IGdndHRfdmlldy0+dHlwZSA6IDAsCj4gIAkJCSAgc2l6ZSwKPiAg CQkJICBmbGFncyAmIFBJTl9NQVBQQUJMRSA/ICJtYXBwYWJsZSIgOiAidG90YWwiLAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gaW5kZXggNzZkZTc4MS4uYzYxZGU0YSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCj4gQEAgLTIxNDcsNyArMjE0Nyw3IEBAIHN0 YXRpYyBpbnQgaTkxNV9nZW1fc2V0dXBfZ2xvYmFsX2d0dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICB2b2lkIGk5MTVfZ2VtX2luaXRfZ2xvYmFsX2d0dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+IC0JdW5zaWduZWQgbG9uZyBndHRfc2l6ZSwgbWFwcGFibGVfc2l6ZTsKPiArCXU2 NCBndHRfc2l6ZSwgbWFwcGFibGVfc2l6ZTsKPiAgCj4gIAlndHRfc2l6ZSA9IGRldl9wcml2LT5n dHQuYmFzZS50b3RhbDsKPiAgCW1hcHBhYmxlX3NpemUgPSBkZXZfcHJpdi0+Z3R0Lm1hcHBhYmxl X2VuZDsKPiBAQCAtMjQwMiwxMyArMjQwMiwxMyBAQCBzdGF0aWMgdm9pZCBjaHZfc2V0dXBfcHJp dmF0ZV9wcGF0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgfQo+ICAKPiAg c3RhdGljIGludCBnZW44X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJ ICAgc2l6ZV90ICpndHRfdG90YWwsCj4gKwkJCSAgIHU2NCAqZ3R0X3RvdGFsLAo+ICAJCQkgICBz aXplX3QgKnN0b2xlbiwKPiAgCQkJICAgcGh5c19hZGRyX3QgKm1hcHBhYmxlX2Jhc2UsCj4gLQkJ CSAgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCkKPiArCQkJICAgdTY0ICptYXBwYWJsZV9l bmQpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gLQl1bnNpZ25lZCBpbnQgZ3R0X3NpemU7Cj4gKwl1NjQgZ3R0X3NpemU7Cj4g IAl1MTYgc25iX2dtY2hfY3RsOwo+ICAJaW50IHJldDsKPiAgCj4gQEAgLTI0NTAsMTAgKzI0NTAs MTAgQEAgc3RhdGljIGludCBnZW44X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK PiAgfQo+ICAKPiAgc3RhdGljIGludCBnZW42X2dtY2hfcHJvYmUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAtCQkJICAgc2l6ZV90ICpndHRfdG90YWwsCj4gKwkJCSAgIHU2NCAqZ3R0X3RvdGFs LAo+ICAJCQkgICBzaXplX3QgKnN0b2xlbiwKPiAgCQkJICAgcGh5c19hZGRyX3QgKm1hcHBhYmxl X2Jhc2UsCj4gLQkJCSAgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCkKPiArCQkJICAgdTY0 ICptYXBwYWJsZV9lbmQpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAl1bnNpZ25lZCBpbnQgZ3R0X3NpemU7Cj4gQEAgLTI0 NjcsNyArMjQ2Nyw3IEBAIHN0YXRpYyBpbnQgZ2VuNl9nbWNoX3Byb2JlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAkgKiBhIGNvYXJzZSBzYW5pdHkgY2hlY2suCj4gIAkgKi8KPiAgCWlmICgo Km1hcHBhYmxlX2VuZCA8ICg2NDw8MjApIHx8ICgqbWFwcGFibGVfZW5kID4gKDUxMjw8MjApKSkp IHsKPiAtCQlEUk1fRVJST1IoIlVua25vd24gR01BRFIgc2l6ZSAoJWx4KVxuIiwKPiArCQlEUk1f RVJST1IoIlVua25vd24gR01BRFIgc2l6ZSAoJWxseClcbiIsCj4gIAkJCSAgZGV2X3ByaXYtPmd0 dC5tYXBwYWJsZV9lbmQpOwo+ICAJCXJldHVybiAtRU5YSU87Cj4gIAl9Cj4gQEAgLTI1MDEsMTAg KzI1MDEsMTAgQEAgc3RhdGljIHZvaWQgZ2VuNl9nbWNoX3JlbW92ZShzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSkKPiAgfQo+ICAKPiAgc3RhdGljIGludCBpOTE1X2dtY2hfcHJvYmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJICAgc2l6ZV90ICpndHRfdG90YWwsCj4gKwkJCSAg IHU2NCAqZ3R0X3RvdGFsLAo+ICAJCQkgICBzaXplX3QgKnN0b2xlbiwKPiAgCQkJICAgcGh5c19h ZGRyX3QgKm1hcHBhYmxlX2Jhc2UsCj4gLQkJCSAgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2Vu ZCkKPiArCQkJICAgdTY0ICptYXBwYWJsZV9lbmQpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlpbnQgcmV0Owo+IEBAIC0y NTY5LDkgKzI1NjksOSBAQCBpbnQgaTkxNV9nZW1fZ3R0X2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCWd0dC0+YmFzZS5kZXYgPSBkZXY7Cj4gIAo+ICAJLyogR01BRFIgaXMgdGhlIFBD SSBtbWlvIGFwZXJ0dXJlIGludG8gdGhlIGdsb2JhbCBHVFQuICovCj4gLQlEUk1fSU5GTygiTWVt b3J5IHVzYWJsZSBieSBncmFwaGljcyBkZXZpY2UgPSAlemRNXG4iLAo+ICsJRFJNX0lORk8oIk1l bW9yeSB1c2FibGUgYnkgZ3JhcGhpY3MgZGV2aWNlID0gJWxsdU1cbiIsCj4gIAkJIGd0dC0+YmFz ZS50b3RhbCA+PiAyMCk7Cj4gLQlEUk1fREVCVUdfRFJJVkVSKCJHTUFEUiBzaXplID0gJWxkTVxu IiwgZ3R0LT5tYXBwYWJsZV9lbmQgPj4gMjApOwo+ICsJRFJNX0RFQlVHX0RSSVZFUigiR01BRFIg c2l6ZSA9ICVsbGRNXG4iLCBndHQtPm1hcHBhYmxlX2VuZCA+PiAyMCk7Cj4gIAlEUk1fREVCVUdf RFJJVkVSKCJHVFQgc3RvbGVuIHNpemUgPSAlemRNXG4iLCBndHQtPnN0b2xlbl9zaXplID4+IDIw KTsKPiAgI2lmZGVmIENPTkZJR19JTlRFTF9JT01NVQo+ICAJaWYgKGludGVsX2lvbW11X2dmeF9t YXBwZWQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBpbmRleCAwZDQ2ZGQyLi5j MzQzMTYxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKPiBAQCAtMjMzLDgg KzIzMyw4IEBAIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ugewo+ICAJc3RydWN0IGRybV9tbSBt bTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGdsb2Jh bF9saW5rOwo+IC0JdW5zaWduZWQgbG9uZyBzdGFydDsJCS8qIFN0YXJ0IG9mZnNldCBhbHdheXMg MCBmb3IgZHJpMiAqLwo+IC0Jc2l6ZV90IHRvdGFsOwkJLyogc2l6ZSBhZGRyIHNwYWNlIG1hcHMg KGV4LiAyR0IgZm9yIGdndHQpICovCj4gKwl1NjQgc3RhcnQ7CQkvKiBTdGFydCBvZmZzZXQgYWx3 YXlzIDAgZm9yIGRyaTIgKi8KPiArCXU2NCB0b3RhbDsJCS8qIHNpemUgYWRkciBzcGFjZSBtYXBz IChleC4gMkdCIGZvciBnZ3R0KSAqLwo+ICAKPiAgCXN0cnVjdCB7Cj4gIAkJZG1hX2FkZHJfdCBh ZGRyOwo+IEBAIC0zMDAsOSArMzAwLDkgQEAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSB7Cj4g ICAqLwo+ICBzdHJ1Y3QgaTkxNV9ndHQgewo+ICAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSBi YXNlOwo+IC0Jc2l6ZV90IHN0b2xlbl9zaXplOwkJLyogVG90YWwgc2l6ZSBvZiBzdG9sZW4gbWVt b3J5ICovCj4gIAo+IC0JdW5zaWduZWQgbG9uZyBtYXBwYWJsZV9lbmQ7CS8qIEVuZCBvZmZzZXQg dGhhdCB3ZSBjYW4gQ1BVIG1hcCAqLwo+ICsJc2l6ZV90IHN0b2xlbl9zaXplOwkJLyogVG90YWwg c2l6ZSBvZiBzdG9sZW4gbWVtb3J5ICovCj4gKwl1NjQgbWFwcGFibGVfZW5kOwkJLyogRW5kIG9m ZnNldCB0aGF0IHdlIGNhbiBDUFUgbWFwICovCj4gIAlzdHJ1Y3QgaW9fbWFwcGluZyAqbWFwcGFi bGU7CS8qIE1hcHBpbmcgdG8gb3VyIENQVSBtYXBwYWJsZSByZWdpb24gKi8KPiAgCXBoeXNfYWRk cl90IG1hcHBhYmxlX2Jhc2U7CS8qIFBBIG9mIG91ciBHTUFEUiAqLwo+ICAKPiBAQCAtMzE0LDkg KzMxNCw5IEBAIHN0cnVjdCBpOTE1X2d0dCB7Cj4gIAlpbnQgbXRycjsKPiAgCj4gIAkvKiBnbG9i YWwgZ3R0IG9wcyAqLwo+IC0JaW50ICgqZ3R0X3Byb2JlKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzaXplX3QgKmd0dF90b3RhbCwKPiArCWludCAoKmd0dF9wcm9iZSkoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdTY0ICpndHRfdG90YWwsCj4gIAkJCSAgc2l6ZV90ICpzdG9sZW4sIHBoeXNfYWRk cl90ICptYXBwYWJsZV9iYXNlLAo+IC0JCQkgIHVuc2lnbmVkIGxvbmcgKm1hcHBhYmxlX2VuZCk7 Cj4gKwkJCSAgdTY0ICptYXBwYWJsZV9lbmQpOwo+ICB9Owo+ICAKPiAgc3RydWN0IGk5MTVfaHdf cHBndHQgewo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9pbnRlbC1ndHQuaCBiL2luY2x1ZGUv ZHJtL2ludGVsLWd0dC5oCj4gaW5kZXggYjA4YmRhZC4uOWU5YmRkYWE1IDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUvZHJtL2ludGVsLWd0dC5oCj4gKysrIGIvaW5jbHVkZS9kcm0vaW50ZWwtZ3R0LmgK PiBAQCAtMyw4ICszLDggQEAKPiAgI2lmbmRlZiBfRFJNX0lOVEVMX0dUVF9ICj4gICNkZWZpbmUJ X0RSTV9JTlRFTF9HVFRfSAo+ICAKPiAtdm9pZCBpbnRlbF9ndHRfZ2V0KHNpemVfdCAqZ3R0X3Rv dGFsLCBzaXplX3QgKnN0b2xlbl9zaXplLAo+IC0JCSAgIHBoeXNfYWRkcl90ICptYXBwYWJsZV9i YXNlLCB1bnNpZ25lZCBsb25nICptYXBwYWJsZV9lbmQpOwo+ICt2b2lkIGludGVsX2d0dF9nZXQo dTY0ICpndHRfdG90YWwsIHNpemVfdCAqc3RvbGVuX3NpemUsCj4gKwkJICAgcGh5c19hZGRyX3Qg Km1hcHBhYmxlX2Jhc2UsIHU2NCAqbWFwcGFibGVfZW5kKTsKPiAgCj4gIGludCBpbnRlbF9nbWNo X3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfcGRldiwgc3RydWN0IHBjaV9kZXYgKmdwdV9w ZGV2LAo+ICAJCSAgICAgc3RydWN0IGFncF9icmlkZ2VfZGF0YSAqYnJpZGdlKTsKPiAtLSAKPiAx LjkuMQo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRp b24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK