From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 1/2] drm/amdgpu: add amdgpu_bo_param Date: Mon, 16 Apr 2018 14:23:51 +0200 Message-ID: References: <20180416111305.640-1-david1.zhou@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180416111305.640-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org QW0gMTYuMDQuMjAxOCB1bSAxMzoxMyBzY2hyaWViIENodW5taW5nIFpob3U6Cj4gQ2hhbmdlLUlk OiBJYjJhYTk4ZWUzN2E3MGYzY2IwZDYxZWVmMWQzMzZlODkxODc1NTRkNQo+IFNpZ25lZC1vZmYt Ynk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+CgpSZXZpZXdlZC1ieTogQ2hy aXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKPiAtLS0KPiAgIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYyB8IDgxICsrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29i amVjdC5oIHwgIDkgKysrKwo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAz NiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2Jq ZWN0LmMKPiBpbmRleCBhMTYwZWYwMzMyZDYuLmI1NTdiNjNiYjY0OCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKPiBAQCAtMzQxLDI4ICszNDEsMjYg QEAgc3RhdGljIGJvb2wgYW1kZ3B1X2JvX3ZhbGlkYXRlX3NpemUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCj4gICAJcmV0dXJuIGZhbHNlOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbnQgYW1k Z3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgbG9u ZyBzaXplLAo+IC0JCQkgICAgICAgaW50IGJ5dGVfYWxpZ24sIHUzMiBkb21haW4sCj4gLQkJCSAg ICAgICB1NjQgZmxhZ3MsIGVudW0gdHRtX2JvX3R5cGUgdHlwZSwKPiAtCQkJICAgICAgIHN0cnVj dCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCj4gK3N0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2Ny ZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiArCQkJICAgICAgIHN0cnVjdCBhbWRn cHVfYm9fcGFyYW0gKmJwLAo+ICAgCQkJICAgICAgIHN0cnVjdCBhbWRncHVfYm8gKipib19wdHIp Cj4gICB7Cj4gICAJc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKPiAtCQkuaW50ZXJy dXB0aWJsZSA9ICh0eXBlICE9IHR0bV9ib190eXBlX2tlcm5lbCksCj4gKwkJLmludGVycnVwdGli bGUgPSAoYnAtPnR5cGUgIT0gdHRtX2JvX3R5cGVfa2VybmVsKSwKPiAgIAkJLm5vX3dhaXRfZ3B1 ID0gZmFsc2UsCj4gLQkJLnJlc3YgPSByZXN2LAo+ICsJCS5yZXN2ID0gYnAtPnJlc3YsCj4gICAJ CS5mbGFncyA9IFRUTV9PUFRfRkxBR19BTExPV19SRVNfRVZJQ1QKPiAgIAl9Owo+ICAgCXN0cnVj dCBhbWRncHVfYm8gKmJvOwo+IC0JdW5zaWduZWQgbG9uZyBwYWdlX2FsaWduOwo+ICsJdW5zaWdu ZWQgbG9uZyBwYWdlX2FsaWduLCBzaXplID0gYnAtPnNpemU7Cj4gICAJc2l6ZV90IGFjY19zaXpl Owo+ICAgCXUzMiBkb21haW5zLCBwcmVmZXJyZWRfZG9tYWlucywgYWxsb3dlZF9kb21haW5zOwo+ ICAgCWludCByOwo+ICAgCj4gLQlwYWdlX2FsaWduID0gcm91bmR1cChieXRlX2FsaWduLCBQQUdF X1NJWkUpID4+IFBBR0VfU0hJRlQ7Cj4gKwlwYWdlX2FsaWduID0gcm91bmR1cChicC0+Ynl0ZV9h bGlnbiwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUOwo+ICAgCXNpemUgPSBBTElHTihzaXplLCBQ QUdFX1NJWkUpOwo+ICAgCj4gLQlpZiAoIWFtZGdwdV9ib192YWxpZGF0ZV9zaXplKGFkZXYsIHNp emUsIGRvbWFpbikpCj4gKwlpZiAoIWFtZGdwdV9ib192YWxpZGF0ZV9zaXplKGFkZXYsIHNpemUs IGJwLT5kb21haW4pKQo+ICAgCQlyZXR1cm4gLUVOT01FTTsKPiAgIAo+ICAgCSpib19wdHIgPSBO VUxMOwo+IEBAIC0zNzAsMTQgKzM2OCwxNCBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib19kb19jcmVh dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAlh Y2Nfc2l6ZSA9IHR0bV9ib19kbWFfYWNjX3NpemUoJmFkZXYtPm1tYW4uYmRldiwgc2l6ZSwKPiAg IAkJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBhbWRncHVfYm8pKTsKPiAgIAo+IC0JcHJlZmVycmVk X2RvbWFpbnMgPSBkb21haW4gJiAoQU1ER1BVX0dFTV9ET01BSU5fVlJBTSB8Cj4gLQkJCQkgICAg ICBBTURHUFVfR0VNX0RPTUFJTl9HVFQgfAo+IC0JCQkJICAgICAgQU1ER1BVX0dFTV9ET01BSU5f Q1BVIHwKPiAtCQkJCSAgICAgIEFNREdQVV9HRU1fRE9NQUlOX0dEUyB8Cj4gLQkJCQkgICAgICBB TURHUFVfR0VNX0RPTUFJTl9HV1MgfAo+IC0JCQkJICAgICAgQU1ER1BVX0dFTV9ET01BSU5fT0Ep Owo+ICsJcHJlZmVycmVkX2RvbWFpbnMgPSBicC0+ZG9tYWluICYgKEFNREdQVV9HRU1fRE9NQUlO X1ZSQU0gfAo+ICsJCQkJCSAgQU1ER1BVX0dFTV9ET01BSU5fR1RUIHwKPiArCQkJCQkgIEFNREdQ VV9HRU1fRE9NQUlOX0NQVSB8Cj4gKwkJCQkJICBBTURHUFVfR0VNX0RPTUFJTl9HRFMgfAo+ICsJ CQkJCSAgQU1ER1BVX0dFTV9ET01BSU5fR1dTIHwKPiArCQkJCQkgIEFNREdQVV9HRU1fRE9NQUlO X09BKTsKPiAgIAlhbGxvd2VkX2RvbWFpbnMgPSBwcmVmZXJyZWRfZG9tYWluczsKPiAtCWlmICh0 eXBlICE9IHR0bV9ib190eXBlX2tlcm5lbCAmJgo+ICsJaWYgKGJwLT50eXBlICE9IHR0bV9ib190 eXBlX2tlcm5lbCAmJgo+ICAgCSAgICBhbGxvd2VkX2RvbWFpbnMgPT0gQU1ER1BVX0dFTV9ET01B SU5fVlJBTSkKPiAgIAkJYWxsb3dlZF9kb21haW5zIHw9IEFNREdQVV9HRU1fRE9NQUlOX0dUVDsK PiAgIAlkb21haW5zID0gcHJlZmVycmVkX2RvbWFpbnM7Cj4gQEAgLTM5MSw3ICszODksNyBAQCBz dGF0aWMgaW50IGFtZGdwdV9ib19kb19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAliby0+cHJlZmVycmVkX2RvbWFpbnMgPSBwcmVmZXJy ZWRfZG9tYWluczsKPiAgIAliby0+YWxsb3dlZF9kb21haW5zID0gYWxsb3dlZF9kb21haW5zOwo+ ICAgCj4gLQliby0+ZmxhZ3MgPSBmbGFnczsKPiArCWJvLT5mbGFncyA9IGJwLT5mbGFnczsKPiAg IAo+ICAgI2lmZGVmIENPTkZJR19YODZfMzIKPiAgIAkvKiBYWFg6IFdyaXRlLWNvbWJpbmVkIENQ VSBtYXBwaW5ncyBvZiBHVFQgc2VlbSBicm9rZW4gb24gMzItYml0Cj4gQEAgLTQyMywxMyArNDIx LDEzIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAo+ICAgCj4gICAJYm8tPnRiby5iZGV2ID0gJmFk ZXYtPm1tYW4uYmRldjsKPiAgIAlhbWRncHVfdHRtX3BsYWNlbWVudF9mcm9tX2RvbWFpbihibywg ZG9tYWlucyk7Cj4gLQlyID0gdHRtX2JvX2luaXRfcmVzZXJ2ZWQoJmFkZXYtPm1tYW4uYmRldiwg JmJvLT50Ym8sIHNpemUsIHR5cGUsCj4gKwlyID0gdHRtX2JvX2luaXRfcmVzZXJ2ZWQoJmFkZXYt Pm1tYW4uYmRldiwgJmJvLT50Ym8sIHNpemUsIGJwLT50eXBlLAo+ICAgCQkJCSAmYm8tPnBsYWNl bWVudCwgcGFnZV9hbGlnbiwgJmN0eCwgYWNjX3NpemUsCj4gLQkJCQkgTlVMTCwgcmVzdiwgJmFt ZGdwdV90dG1fYm9fZGVzdHJveSk7Cj4gLQlpZiAodW5saWtlbHkociAmJiByICE9IC1FUkVTVEFS VFNZUykgJiYgdHlwZSA9PSB0dG1fYm9fdHlwZV9kZXZpY2UgJiYKPiAtCSAgICAhKGZsYWdzICYg QU1ER1BVX0dFTV9DUkVBVEVfTk9fRkFMTEJBQ0spKSB7Cj4gLQkJaWYgKGZsYWdzICYgQU1ER1BV X0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCkgewo+IC0JCQlmbGFncyAmPSB+QU1ER1BV X0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRDsKPiArCQkJCSBOVUxMLCBicC0+cmVzdiwg JmFtZGdwdV90dG1fYm9fZGVzdHJveSk7Cj4gKwlpZiAodW5saWtlbHkociAmJiByICE9IC1FUkVT VEFSVFNZUykgJiYgYnAtPnR5cGUgPT0gdHRtX2JvX3R5cGVfZGV2aWNlICYmCj4gKwkgICAgIShi cC0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9OT19GQUxMQkFDSykpIHsKPiArCQlpZiAoYnAt PmZsYWdzICYgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCkgewo+ICsJCQli cC0+ZmxhZ3MgJj0gfkFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQ7Cj4gICAJ CQlnb3RvIHJldHJ5Owo+ICAgCQl9IGVsc2UgaWYgKGRvbWFpbnMgIT0gYWxsb3dlZF9kb21haW5z KSB7Cj4gICAJCQlkb21haW5zID0gYWxsb3dlZF9kb21haW5zOwo+IEBAIC00NDcsMTAgKzQ0NSwx MCBAQCBzdGF0aWMgaW50IGFtZGdwdV9ib19kb19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAllbHNlCj4gICAJCWFtZGdwdV9jc19yZXBv cnRfbW92ZWRfYnl0ZXMoYWRldiwgY3R4LmJ5dGVzX21vdmVkLCAwKTsKPiAgIAo+IC0JaWYgKHR5 cGUgPT0gdHRtX2JvX3R5cGVfa2VybmVsKQo+ICsJaWYgKGJwLT50eXBlID09IHR0bV9ib190eXBl X2tlcm5lbCkKPiAgIAkJYm8tPnRiby5wcmlvcml0eSA9IDE7Cj4gICAKPiAtCWlmIChmbGFncyAm IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ0xFQVJFRCAmJgo+ICsJaWYgKGJwLT5mbGFncyAmIEFN REdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ0xFQVJFRCAmJgo+ICAgCSAgICBiby0+dGJvLm1lbS5wbGFj ZW1lbnQgJiBUVE1fUExfRkxBR19WUkFNKSB7Cj4gICAJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl Owo+ICAgCj4gQEAgLTQ2MywyMCArNDYxLDIwIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2RvX2Ny ZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgbG9uZyBzaXplLAo+ICAg CQliby0+dGJvLm1vdmluZyA9IGRtYV9mZW5jZV9nZXQoZmVuY2UpOwo+ICAgCQlkbWFfZmVuY2Vf cHV0KGZlbmNlKTsKPiAgIAl9Cj4gLQlpZiAoIXJlc3YpCj4gKwlpZiAoIWJwLT5yZXN2KQo+ICAg CQlhbWRncHVfYm9fdW5yZXNlcnZlKGJvKTsKPiAgIAkqYm9fcHRyID0gYm87Cj4gICAKPiAgIAl0 cmFjZV9hbWRncHVfYm9fY3JlYXRlKGJvKTsKPiAgIAo+ICAgCS8qIFRyZWF0IENQVV9BQ0NFU1Nf UkVRVUlSRUQgb25seSBhcyBhIGhpbnQgaWYgZ2l2ZW4gYnkgVU1EICovCj4gLQlpZiAodHlwZSA9 PSB0dG1fYm9fdHlwZV9kZXZpY2UpCj4gKwlpZiAoYnAtPnR5cGUgPT0gdHRtX2JvX3R5cGVfZGV2 aWNlKQo+ICAgCQliby0+ZmxhZ3MgJj0gfkFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NFU1NfUkVR VUlSRUQ7Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiAgIAo+ICAgZmFpbF91bnJlc2VydmU6Cj4gLQlp ZiAoIXJlc3YpCj4gKwlpZiAoIWJwLT5yZXN2KQo+ICAgCQl3d19tdXRleF91bmxvY2soJmJvLT50 Ym8ucmVzdi0+bG9jayk7Cj4gICAJYW1kZ3B1X2JvX3VucmVmKCZibyk7Cj4gICAJcmV0dXJuIHI7 Cj4gQEAgLTQ4NiwxNiArNDg0LDIxIEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9zaGFk b3coc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkJICAgdW5zaWduZWQgbG9uZyBz aXplLCBpbnQgYnl0ZV9hbGlnbiwKPiAgIAkJCQkgICBzdHJ1Y3QgYW1kZ3B1X2JvICpibykKPiAg IHsKPiArCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnAgPSB7Cj4gKwkJLnNpemUgPSBzaXplLAo+ ICsJCS5ieXRlX2FsaWduID0gYnl0ZV9hbGlnbiwKPiArCQkuZG9tYWluID0gQU1ER1BVX0dFTV9E T01BSU5fR1RULAo+ICsJCS5mbGFncyA9IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9HVFRfVVNXQyB8 Cj4gKwkJCUFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVywKPiArCQkudHlwZSA9IHR0bV9ib190eXBl X2tlcm5lbCwKPiArCQkucmVzdiA9IGJvLT50Ym8ucmVzdgo+ICsJfTsKPiAgIAlpbnQgcjsKPiAg IAo+ICAgCWlmIChiby0+c2hhZG93KQo+ICAgCQlyZXR1cm4gMDsKPiAgIAo+IC0JciA9IGFtZGdw dV9ib19kb19jcmVhdGUoYWRldiwgc2l6ZSwgYnl0ZV9hbGlnbiwgQU1ER1BVX0dFTV9ET01BSU5f R1RULAo+IC0JCQkJQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VU1dDIHwKPiAtCQkJCUFNREdQ VV9HRU1fQ1JFQVRFX1NIQURPVywKPiAtCQkJCXR0bV9ib190eXBlX2tlcm5lbCwKPiAtCQkJCWJv LT50Ym8ucmVzdiwgJmJvLT5zaGFkb3cpOwo+ICsJciA9IGFtZGdwdV9ib19kb19jcmVhdGUoYWRl diwgJmJwLCAmYm8tPnNoYWRvdyk7Cj4gICAJaWYgKCFyKSB7Cj4gICAJCWJvLT5zaGFkb3ctPnBh cmVudCA9IGFtZGdwdV9ib19yZWYoYm8pOwo+ICAgCQltdXRleF9sb2NrKCZhZGV2LT5zaGFkb3df bGlzdF9sb2NrKTsKPiBAQCAtNTEyLDExICs1MTUsMTcgQEAgaW50IGFtZGdwdV9ib19jcmVhdGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAkJICAg ICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2LAo+ICAgCQkgICAgIHN0cnVjdCBhbWRn cHVfYm8gKipib19wdHIpCj4gICB7Cj4gLQl1aW50NjRfdCBwYXJlbnRfZmxhZ3MgPSBmbGFncyAm IH5BTURHUFVfR0VNX0NSRUFURV9TSEFET1c7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtIGJw ID0gewo+ICsJCS5zaXplID0gc2l6ZSwKPiArCQkuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxpZ24sCj4g KwkJLmRvbWFpbiA9IGRvbWFpbiwKPiArCQkuZmxhZ3MgPSBmbGFncyAmIH5BTURHUFVfR0VNX0NS RUFURV9TSEFET1csCj4gKwkJLnR5cGUgPSB0eXBlLAo+ICsJCS5yZXN2ID0gcmVzdgo+ICsJfTsK PiAgIAlpbnQgcjsKPiAgIAo+IC0JciA9IGFtZGdwdV9ib19kb19jcmVhdGUoYWRldiwgc2l6ZSwg Ynl0ZV9hbGlnbiwgZG9tYWluLAo+IC0JCQkJcGFyZW50X2ZsYWdzLCB0eXBlLCByZXN2LCBib19w dHIpOwo+ICsJciA9IGFtZGdwdV9ib19kb19jcmVhdGUoYWRldiwgJmJwLCBib19wdHIpOwo+ICAg CWlmIChyKQo+ICAgCQlyZXR1cm4gcjsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfb2JqZWN0LmgKPiBpbmRleCAxZTlmZTg1YWJjYmIuLjRiYjZmMGE4ZDc5OSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPiBAQCAtMzMs NiArMzMsMTUgQEAKPiAgIAo+ICAgI2RlZmluZSBBTURHUFVfQk9fSU5WQUxJRF9PRkZTRVQJTE9O R19NQVgKPiAgIAo+ICtzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtIHsKPiArCXVuc2lnbmVkIGxvbmcJ CQlzaXplOwo+ICsJaW50CQkJCWJ5dGVfYWxpZ247Cj4gKwl1MzIJCQkJZG9tYWluOwo+ICsJdTY0 CQkJCWZsYWdzOwo+ICsJZW51bSB0dG1fYm9fdHlwZQkJdHlwZTsKPiArCXN0cnVjdCByZXNlcnZh dGlvbl9vYmplY3QJKnJlc3Y7Cj4gK307Cj4gKwo+ICAgLyogYm8gdmlydHVhbCBhZGRyZXNzZXMg aW4gYSB2bSAqLwo+ICAgc3RydWN0IGFtZGdwdV9ib192YV9tYXBwaW5nIHsKPiAgIAlzdHJ1Y3Qg YW1kZ3B1X2JvX3ZhCQkqYm9fdmE7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZngK