From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alyssa Rosenzweig Subject: Re: [PATCH 4/5] drm/panfrost: Add support for GPU heap allocations Date: Mon, 22 Jul 2019 07:10:19 -0700 Message-ID: <20190722141019.GD2156@rosenzweig.io> References: <20190717183352.22519-1-robh@kernel.org> <20190717183352.22519-4-robh@kernel.org> <0605b17e-4a6b-df9d-6684-38952ce5a09d@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from rosenzweig.io (rosenzweig.io [107.170.207.86]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E22189708 for ; Mon, 22 Jul 2019 14:19:34 +0000 (UTC) Content-Disposition: inline In-Reply-To: <0605b17e-4a6b-df9d-6684-38952ce5a09d@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Steven Price Cc: Boris Brezillon , Robin Murphy , Tomeu Vizoso , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org PiBXaGlsZSBJIGFncmVlIGFuIGV4ZWN1dGFibGUgaGVhcCBpcyBwcmV0dHkgd2VpcmQsIEknZCBw cmVmZXIgbWFraW5nIHRoaXMKPiBleHBsaWNpdCAtIGkuZS4gZmFpbGluZyB0aGUgYWxsb2NhdGlv biBpZiB0aGUgZmxhZ3MgZG9uJ3QgbWFrZSBzZW5zZS4KClRoZSBvbmx5IHVzZSBjYXNlIGZvciBh biBleGVjdXRhYmxlIGhlYXAgSSBjYW4gdGhpbmsgb2YgaXMgYW4gYXR0YWNrZXIKdHJ5aW5nIHRv IGV4cGxvaXQgYSBHUFUtc2lkZSBoZWFwIG92ZXJmbG93LCBhbmQgdGhhdCdzIHNlcmlvdXNseQpz dHJldGNoaW5nIGl0IDspCgpNYWtpbmcgZXhlY3V0YWJsZT8gbXV0dWFsbHkgZXhjbHVzaXZlIHdp dGggZ3Jvd2FibGU/IGlzIHF1aXRlIHNhbmUgdG8KbWUuCgo+IAo+ID4gIAo+ID4gIAlyZXQgPSBw YW5mcm9zdF9nZW1fbWFwKHBmZGV2LCBibyk7Cj4gPiAgCWlmIChyZXQpCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5oCj4gPiBpbmRleCAxMzJmMDIzOTliN2IuLmM1MDBj YTZiOTA3MiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9z dF9nZW0uaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2dlbS5o Cj4gPiBAQCAtMTMsNiArMTMsNyBAQCBzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCB7Cj4gPiAg CXN0cnVjdCBkcm1fbW1fbm9kZSBub2RlOwo+ID4gIAlib29sIGlzX21hcHBlZAkJOjE7Cj4gPiAg CWJvb2wgbm9leGVjCQk6MTsKPiA+ICsJYm9vbCBpc19oZWFwCQk6MTsKPiA+ICB9Owo+ID4gIAo+ ID4gIHN0YXRpYyBpbmxpbmUKPiA+IEBAIC0yMSw2ICsyMiwxMyBAQCBzdHJ1Y3QgIHBhbmZyb3N0 X2dlbV9vYmplY3QgKnRvX3BhbmZyb3N0X2JvKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+ ID4gIAlyZXR1cm4gY29udGFpbmVyX29mKHRvX2RybV9nZW1fc2htZW1fb2JqKG9iaiksIHN0cnVj dCBwYW5mcm9zdF9nZW1fb2JqZWN0LCBiYXNlKTsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIGlu bGluZQo+ID4gK3N0cnVjdCAgcGFuZnJvc3RfZ2VtX29iamVjdCAqZHJtX21tX25vZGVfdG9fcGFu ZnJvc3RfYm8oc3RydWN0IGRybV9tbV9ub2RlICpub2RlKQo+ID4gK3sKPiA+ICsJcmV0dXJuIGNv bnRhaW5lcl9vZihub2RlLCBzdHJ1Y3QgcGFuZnJvc3RfZ2VtX29iamVjdCwgbm9kZSk7Cj4gPiAr fQo+ID4gKwo+ID4gKwo+IAo+IE5JVDogRXh0cmEgYmxhbmsgbGluZQo+IAo+ID4gIHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqcGFuZnJvc3RfZ2VtX2NyZWF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc2l6ZV90IHNpemUpOwo+ID4gIAo+ID4gIHN0cnVjdCBwYW5mcm9zdF9nZW1fb2Jq ZWN0ICoKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rf bW11LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfbW11LmMKPiA+IGluZGV4 IGQxODQ4NGEwN2JmYS4uM2I5NWM3MDI3MTg4IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmZyb3N0L3BhbmZyb3N0X21tdS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFu ZnJvc3QvcGFuZnJvc3RfbW11LmMKPiA+IEBAIC0zLDYgKzMsNyBAQAo+ID4gIC8qIENvcHlyaWdo dCAoQykgMjAxOSBBcm0gTHRkLiAqLwo+ID4gICNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgo+ ID4gICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFw cGluZy5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPiA+ICAjaW5jbHVkZSA8 bGludXgvaW8uaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvaW9wb2xsLmg+Cj4gPiBAQCAtMTAsNiAr MTEsNyBAQAo+ID4gICNpbmNsdWRlIDxsaW51eC9pb21tdS5oPgo+ID4gICNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgo+ ID4gKyNpbmNsdWRlIDxsaW51eC9zaG1lbV9mcy5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9zaXpl cy5oPgo+ID4gIAo+ID4gICNpbmNsdWRlICJwYW5mcm9zdF9kZXZpY2UuaCIKPiA+IEBAIC0yNTcs MTIgKzI1OSwxMiBAQCB2b2lkIHBhbmZyb3N0X21tdV91bm1hcChzdHJ1Y3QgcGFuZnJvc3RfZ2Vt X29iamVjdCAqYm8pCj4gPiAgCQlzaXplX3QgdW5tYXBwZWRfcGFnZTsKPiA+ICAJCXNpemVfdCBw Z3NpemUgPSBnZXRfcGdzaXplKGlvdmEsIGxlbiAtIHVubWFwcGVkX2xlbik7Cj4gPiAgCj4gPiAt CQl1bm1hcHBlZF9wYWdlID0gb3BzLT51bm1hcChvcHMsIGlvdmEsIHBnc2l6ZSk7Cj4gPiAtCQlp ZiAoIXVubWFwcGVkX3BhZ2UpCj4gPiAtCQkJYnJlYWs7Cj4gPiAtCj4gPiAtCQlpb3ZhICs9IHVu bWFwcGVkX3BhZ2U7Cj4gPiAtCQl1bm1hcHBlZF9sZW4gKz0gdW5tYXBwZWRfcGFnZTsKPiA+ICsJ CWlmIChvcHMtPmlvdmFfdG9fcGh5cyhvcHMsIGlvdmEpKSB7Cj4gPiArCQkJdW5tYXBwZWRfcGFn ZSA9IG9wcy0+dW5tYXAob3BzLCBpb3ZhLCBwZ3NpemUpOwo+ID4gKwkJCVdBUk5fT04odW5tYXBw ZWRfcGFnZSAhPSBwZ3NpemUpOwo+ID4gKwkJfQo+ID4gKwkJaW92YSArPSBwZ3NpemU7Cj4gPiAr CQl1bm1hcHBlZF9sZW4gKz0gcGdzaXplOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCW1tdV9od19kb19v cGVyYXRpb24ocGZkZXYsIDAsIGJvLT5ub2RlLnN0YXJ0IDw8IFBBR0VfU0hJRlQsCj4gPiBAQCAt Mjk4LDYgKzMwMCw4NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X2dhdGhlcl9vcHMgbW11 X3RsYl9vcHMgPSB7Cj4gPiAgCS50bGJfc3luYwk9IG1tdV90bGJfc3luY19jb250ZXh0LAo+ID4g IH07Cj4gPiAgCj4gPiArc3RhdGljIHN0cnVjdCBkcm1fbW1fbm9kZSAqYWRkcl90b19kcm1fbW1f bm9kZShzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiwgaW50IGFzLCB1NjQgYWRkcikKPiA+ ICt7Cj4gPiArCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZTsKPiA+ICsJdTY0IG9mZnNldCA9IGFk ZHIgPj4gUEFHRV9TSElGVDsKPiA+ICsKPiA+ICsJZHJtX21tX2Zvcl9lYWNoX25vZGUobm9kZSwg JnBmZGV2LT5tbSkgewo+ID4gKwkJaWYgKG9mZnNldCA+PSBub2RlLT5zdGFydCAmJiBvZmZzZXQg PCAobm9kZS0+c3RhcnQgKyBub2RlLT5zaXplKSkKPiA+ICsJCQlyZXR1cm4gbm9kZTsKPiA+ICsJ fQo+ID4gKwlyZXR1cm4gTlVMTDsKPiA+ICt9Cj4gPiArCj4gPiArI2RlZmluZSBOVU1fRkFVTFRf UEFHRVMgKFNaXzJNIC8gUEFHRV9TSVpFKQo+ID4gKwo+ID4gK2ludCBwYW5mcm9zdF9tbXVfbWFw X2ZhdWx0X2FkZHIoc3RydWN0IHBhbmZyb3N0X2RldmljZSAqcGZkZXYsIGludCBhcywgdTY0IGFk ZHIpCj4gPiArewo+ID4gKwlpbnQgcmV0LCBpOwo+ID4gKwlzdHJ1Y3QgZHJtX21tX25vZGUgKm5v ZGU7Cj4gPiArCXN0cnVjdCBwYW5mcm9zdF9nZW1fb2JqZWN0ICpibzsKPiA+ICsJc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKm1hcHBpbmc7Cj4gPiArCXBnb2ZmX3QgcGFnZV9vZmZzZXQ7Cj4gPiArCXN0 cnVjdCBzZ190YWJsZSBzZ3QgPSB7fTsKPiA+ICsJc3RydWN0IHBhZ2UgKipwYWdlczsKPiA+ICsK PiA+ICsJbm9kZSA9IGFkZHJfdG9fZHJtX21tX25vZGUocGZkZXYsIGFzLCBhZGRyKTsKPiA+ICsJ aWYgKCFub2RlKQo+ID4gKwkJcmV0dXJuIC1FTk9FTlQ7Cj4gPiArCj4gPiArCWJvID0gZHJtX21t X25vZGVfdG9fcGFuZnJvc3RfYm8obm9kZSk7Cj4gPiArCWlmICghYm8tPmlzX2hlYXApIHsKPiA+ ICsJCWRldl9XQVJOKHBmZGV2LT5kZXYsICJtYXRjaGluZyBCTyBpcyBub3QgaGVhcCB0eXBlIChH UFUgVkEgPSAlbGx4KSIsCj4gPiArCQkJIG5vZGUtPnN0YXJ0IDw8IFBBR0VfU0hJRlQpOwo+ID4g KwkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCX0KPiA+ICsJLyogQXNzdW1lIDJNQiBhbGlnbm1lbnQg YW5kIHNpemUgbXVsdGlwbGUgKi8KPiA+ICsJYWRkciAmPSB+KCh1NjQpU1pfMk0gLSAxKTsKPiA+ ICsJcGFnZV9vZmZzZXQgPSBhZGRyID4+IFBBR0VfU0hJRlQ7Cj4gPiArCXBhZ2Vfb2Zmc2V0IC09 IG5vZGUtPnN0YXJ0Owo+ID4gKwo+ID4gKwlwYWdlcyA9IGt2bWFsbG9jX2FycmF5KE5VTV9GQVVM VF9QQUdFUywgc2l6ZW9mKHN0cnVjdCBwYWdlICopLCBHRlBfS0VSTkVMKTsKPiA+ICsJaWYgKCFw YWdlcykKPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gKwo+ID4gKwltYXBwaW5nID0gYm8tPmJh c2UuYmFzZS5maWxwLT5mX21hcHBpbmc7Cj4gPiArCW1hcHBpbmdfc2V0X3VuZXZpY3RhYmxlKG1h cHBpbmcpOwo+ID4gKwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgTlVNX0ZBVUxUX1BBR0VTOyBpKysp IHsKPiA+ICsJCXBhZ2VzW2ldID0gc2htZW1fcmVhZF9tYXBwaW5nX3BhZ2UobWFwcGluZywgcGFn ZV9vZmZzZXQgKyBpKTsKPiA+ICsJCWlmIChJU19FUlIocGFnZXNbaV0pKSB7Cj4gPiArCQkJcmV0 ID0gUFRSX0VSUihwYWdlc1tpXSk7Cj4gPiArCQkJZ290byBlcnJfcGFnZXM7Cj4gPiArCQl9Cj4g PiArCX0KPiA+ICsKPiA+ICsJcmV0ID0gc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcygmc2d0LCBw YWdlcywgTlVNX0ZBVUxUX1BBR0VTLCAwLAo+ID4gKwkJCQkJU1pfMk0sIEdGUF9LRVJORUwpOwo+ ID4gKwlpZiAocmV0KQo+ID4gKwkJZ290byBlcnJfcGFnZXM7Cj4gPiArCj4gPiArCWlmIChkbWFf bWFwX3NnKHBmZGV2LT5kZXYsIHNndC5zZ2wsIHNndC5uZW50cywgRE1BX0JJRElSRUNUSU9OQUwp ID09IDApIHsKPiA+ICsJCXJldCA9IC1FSU5WQUw7Cj4gPiArCQlnb3RvIGVycl9tYXA7Cj4gPiAr CX0KPiA+ICsKPiA+ICsJbW11X21hcF9zZyhwZmRldiwgYWRkciwgSU9NTVVfV1JJVEUgfCBJT01N VV9SRUFEIHwgSU9NTVVfTk9FWEVDLCAmc2d0KTsKPiA+ICsKPiA+ICsJbW11X3dyaXRlKHBmZGV2 LCBNTVVfSU5UX0NMRUFSLCBCSVQoYXMpKTsKPiA+ICsJYm8tPmlzX21hcHBlZCA9IHRydWU7Cj4g PiArCj4gPiArCWRldl9kYmcocGZkZXYtPmRldiwgIm1hcHBlZCBwYWdlIGZhdWx0IEAgJWxseCIs IGFkZHIpOwo+ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiAKPiBZb3Ugc3RpbGwgbmVlZCB0byBmcmVl IHNndCBhbmQgcGFnZXMgLSBzbyB0aGlzIHNob3VsZCBiZToKPiAKPiByZXQgPSAwOwo+IAo+IHRv IGZhbGwgdGhyb3VnaCB0byB0aGUgY2xlYW4gdXAgYmVsb3c6Cj4gCj4gPiArCj4gPiArZXJyX21h cDoKPiA+ICsJc2dfZnJlZV90YWJsZSgmc2d0KTsKPiA+ICtlcnJfcGFnZXM6Cj4gPiArCWt2ZnJl ZShwYWdlcyk7Cj4gPiArCXJldHVybiByZXQ7Cj4gPiArfQo+ID4gKwo+IAo+IEJ1dCBhY3R1YWxs eSwgeW91IG5lZWQgdG8gc3RvcmUgdGhlIHBhZ2VzIGFsbG9jYXRlZCBpbiB0aGUgYnVmZmVyIG9i amVjdAo+IHNvIHRoYXQgdGhleSBjYW4gYmUgZnJlZWQgbGF0ZXIuIEF0IHRoZSBtb21lbnQgeW91 IGhhdmUgYSBiaWcgbWVtb3J5IGxlYWsuCj4gCj4gPiAgc3RhdGljIGNvbnN0IGNoYXIgKmFjY2Vz c190eXBlX25hbWUoc3RydWN0IHBhbmZyb3N0X2RldmljZSAqcGZkZXYsCj4gPiAgCQl1MzIgZmF1 bHRfc3RhdHVzKQo+ID4gIHsKPiA+IEBAIC0zMjMsMTMgKzQwNSwxMSBAQCBzdGF0aWMgaXJxcmV0 dXJuX3QgcGFuZnJvc3RfbW11X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRhdGEpCj4gPiAg ewo+ID4gIAlzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldiA9IGRhdGE7Cj4gPiAgCXUzMiBz dGF0dXMgPSBtbXVfcmVhZChwZmRldiwgTU1VX0lOVF9TVEFUKTsKPiA+IC0JaW50IGk7Cj4gPiAr CWludCBpLCByZXQ7Cj4gPiAgCj4gPiAgCWlmICghc3RhdHVzKQo+ID4gIAkJcmV0dXJuIElSUV9O T05FOwo+ID4gIAo+ID4gLQlkZXZfZXJyKHBmZGV2LT5kZXYsICJtbXUgaXJxIHN0YXR1cz0leFxu Iiwgc3RhdHVzKTsKPiA+IC0KPiA+ICAJZm9yIChpID0gMDsgc3RhdHVzOyBpKyspIHsKPiA+ICAJ CXUzMiBtYXNrID0gQklUKGkpIHwgQklUKGkgKyAxNik7Cj4gPiAgCQl1NjQgYWRkcjsKPiA+IEBA IC0zNTAsNiArNDMwLDE3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBwYW5mcm9zdF9tbXVfaXJxX2hh bmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkKPiA+ICAJCWFjY2Vzc190eXBlID0gKGZhdWx0X3N0 YXR1cyA+PiA4KSAmIDB4MzsKPiA+ICAJCXNvdXJjZV9pZCA9IChmYXVsdF9zdGF0dXMgPj4gMTYp Owo+ID4gIAo+ID4gKwkJLyogUGFnZSBmYXVsdCBvbmx5ICovCj4gPiArCQlpZiAoKHN0YXR1cyAm IG1hc2spID09IEJJVChpKSkgewo+ID4gKwkJCVdBUk5fT04oZXhjZXB0aW9uX3R5cGUgPCAweEMx IHx8IGV4Y2VwdGlvbl90eXBlID4gMHhDNCk7Cj4gPiArCj4gPiArCQkJcmV0ID0gcGFuZnJvc3Rf bW11X21hcF9mYXVsdF9hZGRyKHBmZGV2LCBpLCBhZGRyKTsKPiA+ICsJCQlpZiAoIXJldCkgewo+ ID4gKwkJCQlzdGF0dXMgJj0gfm1hc2s7Cj4gPiArCQkJCWNvbnRpbnVlOwo+IAo+IEluIHRoaXMg Y2FzZSB0aGUgSVJRIGlzbid0IGhhbmRsZWQgYW5kIHdpbGwgcmVtYWluIGFzc2VydGVkLCB3aGlj aAo+IHByb2JhYmx5IGlzbid0IGdvaW5nIHRvIGVuZCBwYXJ0aWN1bGFybHkgd2VsbC4KPiAKPiBJ ZGVhbGx5IHlvdSB3b3VsZCBzd2l0Y2ggdGhlIGFkZHJlc3Mgc3BhY2UgdG8gVU5NQVBQRUQgdG8g a2lsbCBvZmYgdGhlCj4gam9iLCBidXQgYXQgdGhlIHZlcnkgbGVhc3Qgd2Ugc2hvdWxkIGFja25v d2xlZGdlIHRoZSBpbnRlcnJ1cHQgYW5kIGxldAo+IHRoZSBHUFUgdGltZW91dCByZXNldCB0aGUg R1BVIHRvIHJlY292ZXIgKHdoaWNoIGlzIGVxdWl2YWxlbnQgd2hpbGUgd2UKPiBzdGlsbCBvbmx5 IHVzZSB0aGUgb25lIEFTIG9uIHRoZSBHUFUpLgo+IAo+IFN0ZXZlCj4gCj4gPiArCQkJfQo+ID4g KwkJfQo+ID4gKwo+ID4gIAkJLyogdGVybWluYWwgZmF1bHQsIHByaW50IGluZm8gYWJvdXQgdGhl IGZhdWx0ICovCj4gPiAgCQlkZXZfZXJyKHBmZGV2LT5kZXYsCj4gPiAgCQkJIlVuaGFuZGxlZCBQ YWdlIGZhdWx0IGluIEFTJWQgYXQgVkEgMHglMDE2bGxYXG4iCj4gPiBAQCAtMzkxLDggKzQ4Miw5 IEBAIGludCBwYW5mcm9zdF9tbXVfaW5pdChzdHJ1Y3QgcGFuZnJvc3RfZGV2aWNlICpwZmRldikK PiA+ICAJaWYgKGlycSA8PSAwKQo+ID4gIAkJcmV0dXJuIC1FTk9ERVY7Cj4gPiAgCj4gPiAtCWVy ciA9IGRldm1fcmVxdWVzdF9pcnEocGZkZXYtPmRldiwgaXJxLCBwYW5mcm9zdF9tbXVfaXJxX2hh bmRsZXIsCj4gPiAtCQkJICAgICAgIElSUUZfU0hBUkVELCAibW11IiwgcGZkZXYpOwo+ID4gKwll cnIgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKHBmZGV2LT5kZXYsIGlycSwgTlVMTCwKPiA+ ICsJCQkJCXBhbmZyb3N0X21tdV9pcnFfaGFuZGxlciwKPiA+ICsJCQkJCUlSUUZfT05FU0hPVCwg Im1tdSIsIHBmZGV2KTsKPiA+ICAKPiA+ICAJaWYgKGVycikgewo+ID4gIAkJZGV2X2VycihwZmRl di0+ZGV2LCAiZmFpbGVkIHRvIHJlcXVlc3QgbW11IGlycSIpOwo+ID4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvdWFwaS9kcm0vcGFuZnJvc3RfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL3BhbmZyb3N0 X2RybS5oCj4gPiBpbmRleCAxN2ZiNWQyMDBmN2EuLjkxNTBkZDc1YWFkOCAxMDA2NDQKPiA+IC0t LSBhL2luY2x1ZGUvdWFwaS9kcm0vcGFuZnJvc3RfZHJtLmgKPiA+ICsrKyBiL2luY2x1ZGUvdWFw aS9kcm0vcGFuZnJvc3RfZHJtLmgKPiA+IEBAIC04Myw2ICs4Myw3IEBAIHN0cnVjdCBkcm1fcGFu ZnJvc3Rfd2FpdF9ibyB7Cj4gPiAgfTsKPiA+ICAKPiA+ICAjZGVmaW5lIFBBTkZST1NUX0JPX05P RVhFQwkxCj4gPiArI2RlZmluZSBQQU5GUk9TVF9CT19IRUFQCTIKPiA+ICAKPiA+ICAvKioKPiA+ ICAgKiBzdHJ1Y3QgZHJtX3BhbmZyb3N0X2NyZWF0ZV9ibyAtIGlvY3RsIGFyZ3VtZW50IGZvciBj cmVhdGluZyBQYW5mcm9zdCBCT3MuCj4gPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVs