From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: Re: [PATCH 2/2] drm/amdgpu: use amdgpu_bo_parm for amdgpu_bo_create Date: Tue, 17 Apr 2018 09:39:09 +0800 Message-ID: <20180417013908.GA31085@hr-amur2> References: <20180416111305.640-1-david1.zhou@amd.com> <20180416111305.640-2-david1.zhou@amd.com> <20180416114338.GB28380@hr-amur2> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Koenig, Christian" Cc: "Zhou, David(ChunMing)" , "Kuehling, Felix" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" T24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMDg6MjA6NTlQTSArMDgwMCwgS29lbmlnLCBDaHJpc3Rp YW4gd3JvdGU6Cj4gQW0gMTYuMDQuMjAxOCB1bSAxMzo0MyBzY2hyaWViIEh1YW5nIFJ1aToKPiA+ IE9uIE1vbiwgQXByIDE2LCAyMDE4IGF0IDA3OjEzOjA1UE0gKzA4MDAsIENodW5taW5nIFpob3Ug d3JvdGU6Cj4gPj4gYWZ0ZXIgdGhhdCwgd2UgY2FuIGVhc2lseSBhZGQgbmV3IHBhcmFtZXRlciB3 aGVuIG5lZWQuCj4gPj4KPiA+PiBDaGFuZ2UtSWQ6IEk2ZTgwMDM5YzM4MDFmMTYzMTI5ZWNjNjA1 ZDkzMTQ4M2ZkYmM5MWRiCj4gPj4gU2lnbmVkLW9mZi1ieTogQ2h1bm1pbmcgWmhvdSA8ZGF2aWQx Lnpob3VAYW1kLmNvbT4KPiA+PiBDYzogY2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tCj4gPj4gQ2M6 IEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20KPiA+PiAtLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYyAgICAgICB8IDEyICsrKysrKy0tCj4gPj4gICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgfCAxMCArKysrKy0t Cj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMgICAg fCAxNSArKysrKysrLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Z2FydC5jICAgICAgICAgfCAxNiArKysrKystLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZ2VtLmMgICAgICAgICAgfCAxMSArKysrKy0tCj4gPj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgICAgICAgfCAzOCArKysrKysrKysr Ky0tLS0tLS0tLS0tLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9v YmplY3QuaCAgICAgICB8ICA2ICsrLS0KPiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9wcmltZS5jICAgICAgICB8IDEyICsrKysrKy0tCj4gPj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdGVzdC5jICAgICAgICAgfCAxNiArKysrKystLS0tCj4gPj4g ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgICAgICAgICAgfCAxNSAr KysrKystLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyAg ICAgICAgICAgfCAyNCArKysrKysrKysrLS0tLS0KPiA+PiAgIDExIGZpbGVzIGNoYW5nZWQsIDEx NCBpbnNlcnRpb25zKCspLCA2MSBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMKPiA+PiBpbmRleCA0ZDM2MjAzZmZiMTEuLmY5 MDQwNWU1NzJmOSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkLmMKPiA+PiBAQCAtMjE3LDEzICsyMTcsMTkgQEAgaW50IGFsbG9jX2d0dF9tZW0o c3RydWN0IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUsCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilrZ2Q7Cj4gPj4g ICAJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBOVUxMOwo+ID4+ICsJc3RydWN0IGFtZGdwdV9ib19w YXJhbSBicCA9IHsKPiA+PiArCQkuc2l6ZSA9IHNpemUsCj4gPj4gKwkJLmJ5dGVfYWxpZ24gPSBQ QUdFX1NJWkUsCj4gPj4gKwkJLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKPiA+PiAr CQkuZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0MsCj4gPj4gKwkJLnR5cGUg PSB0dG1fYm9fdHlwZV9rZXJuZWwsCj4gPj4gKwkJLnJlc3YgPSBOVUxMCj4gPj4gKwl9Owo+ID4+ ICAgCWludCByOwo+ID4+ICAgCXVpbnQ2NF90IGdwdV9hZGRyX3RtcCA9IDA7Cj4gPj4gICAJdm9p ZCAqY3B1X3B0cl90bXAgPSBOVUxMOwo+ID4+ICAgCj4gPj4gLQlyID0gYW1kZ3B1X2JvX2NyZWF0 ZShhZGV2LCBzaXplLCBQQUdFX1NJWkUsIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKPiA+PiAtCQkJ ICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0MsIHR0bV9ib190eXBlX2tlcm5lbCwK PiA+PiAtCQkJICAgICBOVUxMLCAmYm8pOwo+ID4+ICsJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRl diwgJmJwLCAmYm8pOwo+ID4+ICAgCWlmIChyKSB7Cj4gPj4gICAJCWRldl9lcnIoYWRldi0+ZGV2 LAo+ID4+ICAgCQkJImZhaWxlZCB0byBhbGxvY2F0ZSBCTyBmb3IgYW1ka2ZkICglZClcbiIsIHIp Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dw dXZtLmMKPiA+PiBpbmRleCAxZDZlMTQ3OWRhMzguLmI3YmQyNGMzNWIyNSAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiA+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMK PiA+PiBAQCAtMTAwNCw2ICsxMDA0LDcgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fYWxsb2Nf bWVtb3J5X29mX2dwdSgKPiA+PiAgIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGdldF9h bWRncHVfZGV2aWNlKGtnZCk7Cj4gPj4gICAJc3RydWN0IGFtZGdwdV92bSAqYXZtID0gKHN0cnVj dCBhbWRncHVfdm0gKil2bTsKPiA+PiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibzsKPiA+PiArCXN0 cnVjdCBhbWRncHVfYm9fcGFyYW0gYnA7Cj4gPj4gICAJaW50IGJ5dGVfYWxpZ247Cj4gPj4gICAJ dTMyIGFsbG9jX2RvbWFpbjsKPiA+PiAgIAl1NjQgYWxsb2NfZmxhZ3M7Cj4gPj4gQEAgLTEwNjks OCArMTA3MCwxMyBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9hbGxvY19tZW1vcnlfb2ZfZ3B1 KAo+ID4+ICAgCXByX2RlYnVnKCJcdGNyZWF0ZSBCTyBWQSAweCVsbHggc2l6ZSAweCVsbHggZG9t YWluICVzXG4iLAo+ID4+ICAgCQkJdmEsIHNpemUsIGRvbWFpbl9zdHJpbmcoYWxsb2NfZG9tYWlu KSk7Cj4gPj4gICAKPiA+PiAtCXJldCA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwgYnl0 ZV9hbGlnbiwKPiA+PiAtCQkJCWFsbG9jX2RvbWFpbiwgYWxsb2NfZmxhZ3MsIHR0bV9ib190eXBl X2RldmljZSwgTlVMTCwgJmJvKTsKPiA+PiArCWJwLnNpemUgPSBzaXplOwo+ID4+ICsJYnAuYnl0 ZV9hbGlnbiA9IGJ5dGVfYWxpZ247Cj4gPj4gKwlicC5kb21haW4gPSBhbGxvY19kb21haW47Cj4g Pj4gKwlicC5mbGFncyA9IGFsbG9jX2ZsYWdzOwo+ID4+ICsJYnAudHlwZSA9IHR0bV9ib190eXBl X2RldmljZTsKPiA+PiArCWJwLnJlc3YgPSBOVUxMOwo+ID4+ICsJcmV0ID0gYW1kZ3B1X2JvX2Ny ZWF0ZShhZGV2LCAmYnAsICZibyk7Cj4gPj4gICAJaWYgKHJldCkgewo+ID4+ICAgCQlwcl9kZWJ1 ZygiRmFpbGVkIHRvIGNyZWF0ZSBCTyBvbiBkb21haW4gJXMuIHJldCAlZFxuIiwKPiA+PiAgIAkJ CQlkb21haW5fc3RyaW5nKGFsbG9jX2RvbWFpbiksIHJldCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9iZW5jaG1hcmsuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9iZW5jaG1hcmsuYwo+ID4+IGluZGV4IDAyYjg0OWJlMDgz Yi4uOTZiZGI0NTRiZGY2IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9iZW5jaG1hcmsuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9iZW5jaG1hcmsuYwo+ID4+IEBAIC03NSwxMyArNzUsMjAgQEAgc3RhdGljIHZv aWQgYW1kZ3B1X2JlbmNobWFya19tb3ZlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNp Z25lZCBzaXplLAo+ID4+ICAgewo+ID4+ICAgCXN0cnVjdCBhbWRncHVfYm8gKmRvYmogPSBOVUxM Owo+ID4+ICAgCXN0cnVjdCBhbWRncHVfYm8gKnNvYmogPSBOVUxMOwo+ID4+ICsJc3RydWN0IGFt ZGdwdV9ib19wYXJhbSBicCA9IHsKPiA+PiArCQkuc2l6ZSA9IHNpemUsCj4gPj4gKwkJLmJ5dGVf YWxpZ24gPSBQQUdFX1NJWkUsCj4gPj4gKwkJLmRvbWFpbiA9IHNkb21haW4sCj4gPj4gKwkJLmZs YWdzID0gMCwKPiA+PiArCQkudHlwZSA9IHR0bV9ib190eXBlX2tlcm5lbCwKPiA+PiArCQkucmVz diA9IE5VTEwKPiA+PiArCX07Cj4gPj4gICAJdWludDY0X3Qgc2FkZHIsIGRhZGRyOwo+ID4+ICAg CWludCByLCBuOwo+ID4+ICAgCWludCB0aW1lOwo+ID4+ICAgCj4gPj4gICAJbiA9IEFNREdQVV9C RU5DSE1BUktfSVRFUkFUSU9OUzsKPiA+PiAtCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIHNp emUsIFBBR0VfU0laRSxzZG9tYWluLCAwLAo+ID4+IC0JCQkgICAgIHR0bV9ib190eXBlX2tlcm5l bCwgTlVMTCwgJnNvYmopOwo+ID4+ICsJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJwLCAm c29iaik7Cj4gPj4gICAJaWYgKHIpIHsKPiA+PiAgIAkJZ290byBvdXRfY2xlYW51cDsKPiA+PiAg IAl9Cj4gPj4gQEAgLTkzLDggKzEwMCw4IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9iZW5jaG1hcmtf bW92ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgc2l6ZSwKPiA+PiAgIAlp ZiAocikgewo+ID4+ICAgCQlnb3RvIG91dF9jbGVhbnVwOwo+ID4+ICAgCX0KPiA+PiAtCXIgPSBh bWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIFBBR0VfU0laRSwgZGRvbWFpbiwgMCwKPiA+PiAt CQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsICZkb2JqKTsKPiA+PiArCWJwLmRvbWFp biA9IGRkb21haW47Cj4gPj4gKwlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZkb2Jq KTsKPiA+PiAgIAlpZiAocikgewo+ID4+ICAgCQlnb3RvIG91dF9jbGVhbnVwOwo+ID4+ICAgCX0K PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nYXJ0LmMKPiA+PiBpbmRleCBj ZjBmMTg2YzYwOTIuLjFmOWI4YWU3YWQyYiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2dhcnQuYwo+ID4+IEBAIC0xMTAsMTUgKzExMCwxOSBAQCBzdGF0aWMg dm9pZCBhbWRncHVfZ2FydF9kdW1teV9wYWdlX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpCj4gPj4gICAgKi8KPiA+PiAgIGludCBhbWRncHVfZ2FydF90YWJsZV92cmFtX2FsbG9jKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ID4+ICAgewo+ID4+ICsJc3RydWN0IGFtZGdwdV9i b19wYXJhbSBicCA9IHsKPiA+PiArCQkuc2l6ZSA9IGFkZXYtPmdhcnQudGFibGVfc2l6ZSwKPiA+ PiArCQkuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRSwKPiA+PiArCQkuZG9tYWluID0gQU1ER1BVX0dF TV9ET01BSU5fVlJBTSwKPiA+PiArCQkuZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUND RVNTX1JFUVVJUkVEIHwKPiA+PiArCQkJQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VT LAo+ID4+ICsJCS50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsLAo+ID4+ICsJCS5yZXN2ID0gTlVM TAo+ID4+ICsJfTsKPiA+PiAgIAlpbnQgcjsKPiA+PiAgIAo+ID4+ICAgCWlmIChhZGV2LT5nYXJ0 LnJvYmogPT0gTlVMTCkgewo+ID4+IC0JCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIGFkZXYt PmdhcnQudGFibGVfc2l6ZSwgUEFHRV9TSVpFLAo+ID4+IC0JCQkJICAgICBBTURHUFVfR0VNX0RP TUFJTl9WUkFNLAo+ID4+IC0JCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JF UVVJUkVEIHwKPiA+PiAtCQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VT LAo+ID4+IC0JCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsCj4gPj4gLQkJCQkgICAg ICZhZGV2LT5nYXJ0LnJvYmopOwo+ID4+ICsJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsICZi cCwgJmFkZXYtPmdhcnQucm9iaik7Cj4gPj4gICAJCWlmIChyKSB7Cj4gPj4gICAJCQlyZXR1cm4g cjsKPiA+PiAgIAkJfQo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMK PiA+PiBpbmRleCAyOGMyNzA2ZTQ4ZDcuLmU4Zjk0N2QzZGE1MyAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKPiA+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKPiA+PiBAQCAtNDgsNiArNDgsMTQgQEAg aW50IGFtZGdwdV9nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg dW5zaWduZWQgbG9uZyBzaXplLAo+ID4+ICAgCQkJICAgICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg KipvYmopCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0IGFtZGdwdV9ibyAqYm87Cj4gPj4gKwlzdHJ1 Y3QgYW1kZ3B1X2JvX3BhcmFtIGJwID0gewo+ID4+ICsJCS5zaXplID0gc2l6ZSwKPiA+PiArCQku Ynl0ZV9hbGlnbiA9IGFsaWdubWVudCwKPiA+PiArCQkuZG9tYWluID0gaW5pdGlhbF9kb21haW4s Cj4gPj4gKwkJLmZsYWdzID0gZmxhZ3MsCj4gPj4gKwkJLnR5cGUgPSB0eXBlLAo+ID4+ICsJCS5y ZXN2ID0gcmVzdgo+ID4+ICsJfTsKPiA+PiAgIAlpbnQgcjsKPiA+PiAgIAo+ID4+ICAgCSpvYmog PSBOVUxMOwo+ID4+IEBAIC01Niw4ICs2NCw3IEBAIGludCBhbWRncHVfZ2VtX29iamVjdF9jcmVh dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiA+PiAg IAkJYWxpZ25tZW50ID0gUEFHRV9TSVpFOwo+ID4+ICAgCX0KPiA+PiAgIAo+ID4+IC0JciA9IGFt ZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwgYWxpZ25tZW50LCBpbml0aWFsX2RvbWFpbiwKPiA+ PiAtCQkJICAgICBmbGFncywgdHlwZSwgcmVzdiwgJmJvKTsKPiA+PiArCXIgPSBhbWRncHVfYm9f Y3JlYXRlKGFkZXYsICZicCwgJmJvKTsKPiA+PiAgIAlpZiAocikgewo+ID4+ICAgCQlEUk1fREVC VUcoIkZhaWxlZCB0byBhbGxvY2F0ZSBHRU0gb2JqZWN0ICglbGQsICVkLCAldSwgJWQpXG4iLAo+ ID4+ICAgCQkJICBzaXplLCBpbml0aWFsX2RvbWFpbiwgYWxpZ25tZW50LCByKTsKPiA+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gPj4gaW5kZXggYjU1N2I2 M2JiNjQ4Li5hN2E3M2VhMTg3MDQgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X29iamVjdC5jCj4gPj4gQEAgLTE5MSwxNCArMTkxLDIwIEBAIGludCBhbWRn cHVfYm9fY3JlYXRlX3Jlc2VydmVkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ID4+ICAg CQkJICAgICAgdTMyIGRvbWFpbiwgc3RydWN0IGFtZGdwdV9ibyAqKmJvX3B0ciwKPiA+PiAgIAkJ CSAgICAgIHU2NCAqZ3B1X2FkZHIsIHZvaWQgKipjcHVfYWRkcikKPiA+PiAgIHsKPiA+PiArCXN0 cnVjdCBhbWRncHVfYm9fcGFyYW0gYnAgPSB7Cj4gPj4gKwkJLnNpemUgPSBzaXplLAo+ID4+ICsJ CS5ieXRlX2FsaWduID0gYWxpZ24sCj4gPj4gKwkJLmRvbWFpbiA9IGRvbWFpbiwKPiA+PiArCQku ZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKPiA+PiArCQkJ QU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTLAo+ID4+ICsJCS50eXBlID0gdHRtX2Jv X3R5cGVfa2VybmVsLAo+ID4+ICsJCS5yZXN2ID0gTlVMTAo+ID4+ICsJfTsKPiA+IE90aGVycyBs b29rcyBnb29kLgo+ID4gSG93IGFib3V0IGFsc28gdXNlIGFtZGdwdV9ib19wYXJhbSBmb3IgYW1k Z3B1X2JvX2NyZWF0ZV9rZXJuZWwgZnVuY3Rpb24/Cj4gCj4gSSByZWFsbHkgd2FudGVkIHRvIGtl ZXAgdGhlIF9rZXJuZWwgYW5kIF9yZXNlcnZlZCB2YXJpYW50IHNpbXBsZSBlbm91Z2ggCj4gdG8g bm90IG5lZWQgdGhhdC4KPiAKClRoYXQncyBmaW5lLiBJIGhhdmUgbm8gcHJvYmxlbS4KClJldmll d2VkLWJ5OiBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==