From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 2/2] drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 Date: Tue, 17 Apr 2018 13:54:06 +0800 Message-ID: <20180417055406.19902-2-david1.zhou@amd.com> References: <20180417055406.19902-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180417055406.19902-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> 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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , Felix.Kuehling-5C7GfCeVMHo@public.gmane.org, christian.koenig-5C7GfCeVMHo@public.gmane.org QWZ0ZXIgdGhhdCwgd2UgY2FuIGVhc2lseSBhZGQgbmV3IHBhcmFtZXRlciB3aGVuIG5lZWQuCgp2 MjoKYSkgcmViYXNlLgpiKSBJbml0aWFsaXplIHN0cnVjdCBhbWRncHVfYm9fcGFyYW0sIGZ1dHVy ZSBuZXcKbWVtYmVyIGNvdWxkIG9ubHkgYmUgdXNlZCBpbiBzb21lIG9uZSBjYXNlLCBidXQgYWxs IG1lbWJlcgpzaG91bGQgaGF2ZSBpdHMgb3duIGluaXRpYWwgdmFsdWUuCgpDaGFuZ2UtSWQ6IEk2 ZTgwMDM5YzM4MDFmMTYzMTI5ZWNjNjA1ZDkzMTQ4M2ZkYmM5MWRiClNpZ25lZC1vZmYtYnk6IENo dW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+ClJldmlld2VkLWJ5OiBIdWFuZyBSdWkg PHJheS5odWFuZ0BhbWQuY29tPiAodjEpClJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxj aHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ICh2MSkKQ2M6IGNocmlzdGlhbi5rb2VuaWdAYW1kLmNv bQpDYzogRmVsaXguS3VlaGxpbmdAYW1kLmNvbQotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmQuYyAgICAgICB8IDEyICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMgfCAxMSArKysrLQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2JlbmNobWFyay5jICAgIHwgMTUgKysrKy0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jICAgICAgICAgfCAxNyArKysrLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMgICAgICAgICAgfCAxMSArKysrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jICAgICAgIHwgNTggKysr KysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmggICAgICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9wcmltZS5jICAgICAgICB8IDEyICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdGVzdC5jICAgICAgICAgfCAxOCArKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5jICAgICAgICAgIHwgMTUgKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdm0uYyAgICAgICAgICAgfCAyNiArKysrKysrKy0tLQogMTEgZmls ZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYwppbmRleCA0ZDM2MjAzZmZiMTEuLjg4 NzcwMmM1OTQ4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2FtZGtmZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQu YwpAQCAtMjE3LDEzICsyMTcsMTkgQEAgaW50IGFsbG9jX2d0dF9tZW0oc3RydWN0IGtnZF9kZXYg KmtnZCwgc2l6ZV90IHNpemUsCiB7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKilrZ2Q7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBOVUxMOwor CXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnA7CiAJaW50IHI7CiAJdWludDY0X3QgZ3B1X2FkZHJf dG1wID0gMDsKIAl2b2lkICpjcHVfcHRyX3RtcCA9IE5VTEw7CiAKLQlyID0gYW1kZ3B1X2JvX2Ny ZWF0ZShhZGV2LCBzaXplLCBQQUdFX1NJWkUsIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKLQkJCSAg ICAgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VU1dDLCB0dG1fYm9fdHlwZV9rZXJuZWwsCi0J CQkgICAgIE5VTEwsICZibyk7CisJbWVtc2V0KCZicCwgMCwgc2l6ZW9mKGJwKSk7CisJYnAuc2l6 ZSA9IHNpemU7CisJYnAuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRTsKKwlicC5kb21haW4gPSBBTURH UFVfR0VNX0RPTUFJTl9HVFQ7CisJYnAuZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RU X1VTV0M7CisJYnAudHlwZSA9IHR0bV9ib190eXBlX2tlcm5lbDsKKwlicC5yZXN2ID0gTlVMTDsK KwlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZibyk7CiAJaWYgKHIpIHsKIAkJZGV2 X2VycihhZGV2LT5kZXYsCiAJCQkiZmFpbGVkIHRvIGFsbG9jYXRlIEJPIGZvciBhbWRrZmQgKCVk KVxuIiwgcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf YW1ka2ZkX2dwdXZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2Zk X2dwdXZtLmMKaW5kZXggMWQ2ZTE0NzlkYTM4Li5jMWIwY2RiNDAxZGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKQEAgLTEwMDQsNiAr MTAwNCw3IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJ c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBnZXRfYW1kZ3B1X2RldmljZShrZ2QpOwogCXN0 cnVjdCBhbWRncHVfdm0gKmF2bSA9IChzdHJ1Y3QgYW1kZ3B1X3ZtICopdm07CiAJc3RydWN0IGFt ZGdwdV9ibyAqYm87CisJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKIAlpbnQgYnl0ZV9hbGln bjsKIAl1MzIgYWxsb2NfZG9tYWluOwogCXU2NCBhbGxvY19mbGFnczsKQEAgLTEwNjksOCArMTA3 MCwxNCBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9hbGxvY19tZW1vcnlfb2ZfZ3B1KAogCXBy X2RlYnVnKCJcdGNyZWF0ZSBCTyBWQSAweCVsbHggc2l6ZSAweCVsbHggZG9tYWluICVzXG4iLAog CQkJdmEsIHNpemUsIGRvbWFpbl9zdHJpbmcoYWxsb2NfZG9tYWluKSk7CiAKLQlyZXQgPSBhbWRn cHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIGJ5dGVfYWxpZ24sCi0JCQkJYWxsb2NfZG9tYWluLCBh bGxvY19mbGFncywgdHRtX2JvX3R5cGVfZGV2aWNlLCBOVUxMLCAmYm8pOworCW1lbXNldCgmYnAs IDAsIHNpemVvZihicCkpOworCWJwLnNpemUgPSBzaXplOworCWJwLmJ5dGVfYWxpZ24gPSBieXRl X2FsaWduOworCWJwLmRvbWFpbiA9IGFsbG9jX2RvbWFpbjsKKwlicC5mbGFncyA9IGFsbG9jX2Zs YWdzOworCWJwLnR5cGUgPSB0dG1fYm9fdHlwZV9kZXZpY2U7CisJYnAucmVzdiA9IE5VTEw7CisJ cmV0ID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZibyk7CiAJaWYgKHJldCkgewogCQlw cl9kZWJ1ZygiRmFpbGVkIHRvIGNyZWF0ZSBCTyBvbiBkb21haW4gJXMuIHJldCAlZFxuIiwKIAkJ CQlkb21haW5fc3RyaW5nKGFsbG9jX2RvbWFpbiksIHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMKaW5kZXggMDJiODQ5YmUwODNiLi4xOWNmZmYz MWYyZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9iZW5j aG1hcmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJr LmMKQEAgLTc1LDEzICs3NSwyMCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfYmVuY2htYXJrX21vdmUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIHNpemUsCiB7CiAJc3RydWN0IGFt ZGdwdV9ibyAqZG9iaiA9IE5VTEw7CiAJc3RydWN0IGFtZGdwdV9ibyAqc29iaiA9IE5VTEw7CisJ c3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKIAl1aW50NjRfdCBzYWRkciwgZGFkZHI7CiAJaW50 IHIsIG47CiAJaW50IHRpbWU7CiAKKwltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKKwlicC5z aXplID0gc2l6ZTsKKwlicC5ieXRlX2FsaWduID0gUEFHRV9TSVpFOworCWJwLmRvbWFpbiA9IHNk b21haW47CisJYnAuZmxhZ3MgPSAwOworCWJwLnR5cGUgPSB0dG1fYm9fdHlwZV9rZXJuZWw7CisJ YnAucmVzdiA9IE5VTEw7CiAJbiA9IEFNREdQVV9CRU5DSE1BUktfSVRFUkFUSU9OUzsKLQlyID0g YW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBzaXplLCBQQUdFX1NJWkUsc2RvbWFpbiwgMCwKLQkJCSAg ICAgdHRtX2JvX3R5cGVfa2VybmVsLCBOVUxMLCAmc29iaik7CisJciA9IGFtZGdwdV9ib19jcmVh dGUoYWRldiwgJmJwLCAmc29iaik7CiAJaWYgKHIpIHsKIAkJZ290byBvdXRfY2xlYW51cDsKIAl9 CkBAIC05Myw4ICsxMDAsOCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfYmVuY2htYXJrX21vdmUoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIHNpemUsCiAJaWYgKHIpIHsKIAkJZ290 byBvdXRfY2xlYW51cDsKIAl9Ci0JciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwgUEFH RV9TSVpFLCBkZG9tYWluLCAwLAotCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsICZk b2JqKTsKKwlicC5kb21haW4gPSBkZG9tYWluOworCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYs ICZicCwgJmRvYmopOwogCWlmIChyKSB7CiAJCWdvdG8gb3V0X2NsZWFudXA7CiAJfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nYXJ0LmMKaW5kZXggY2YwZjE4NmM2MDkyLi4xN2Q2 YjlmYjZkNzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9n YXJ0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYwpAQCAt MTEzLDEyICsxMTMsMTcgQEAgaW50IGFtZGdwdV9nYXJ0X3RhYmxlX3ZyYW1fYWxsb2Moc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJaW50IHI7CiAKIAlpZiAoYWRldi0+Z2FydC5yb2JqID09 IE5VTEwpIHsKLQkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgYWRldi0+Z2FydC50YWJsZV9z aXplLCBQQUdFX1NJWkUsCi0JCQkJICAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLAotCQkJCSAg ICAgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8Ci0JCQkJICAgICBBTURH UFVfR0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCi0JCQkJICAgICB0dG1fYm9fdHlwZV9rZXJu ZWwsIE5VTEwsCi0JCQkJICAgICAmYWRldi0+Z2FydC5yb2JqKTsKKwkJc3RydWN0IGFtZGdwdV9i b19wYXJhbSBicDsKKworCQltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKKwkJYnAuc2l6ZSA9 IGFkZXYtPmdhcnQudGFibGVfc2l6ZTsKKwkJYnAuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRTsKKwkJ YnAuZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fVlJBTTsKKwkJYnAuZmxhZ3MgPSBBTURHUFVf R0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJCUFNREdQVV9HRU1fQ1JFQVRFX1ZS QU1fQ09OVElHVU9VUzsKKwkJYnAudHlwZSA9IHR0bV9ib190eXBlX2tlcm5lbDsKKwkJYnAucmVz diA9IE5VTEw7CisJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsICZicCwgJmFkZXYtPmdhcnQu cm9iaik7CiAJCWlmIChyKSB7CiAJCQlyZXR1cm4gcjsKIAkJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2dlbS5jCmluZGV4IDQ2YjllYTRlNjEwMy4uMTIwMGM1YmEzN2RhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dlbS5jCkBAIC00OCwxNyArNDgsMjQgQEAg aW50IGFtZGdwdV9nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg dW5zaWduZWQgbG9uZyBzaXplLAogCQkJICAgICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKipvYmop CiB7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm87CisJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsK IAlpbnQgcjsKIAorCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOwogCSpvYmogPSBOVUxMOwog CS8qIEF0IGxlYXN0IGFsaWduIG9uIHBhZ2Ugc2l6ZSAqLwogCWlmIChhbGlnbm1lbnQgPCBQQUdF X1NJWkUpIHsKIAkJYWxpZ25tZW50ID0gUEFHRV9TSVpFOwogCX0KIAorCWJwLnNpemUgPSBzaXpl OworCWJwLmJ5dGVfYWxpZ24gPSBhbGlnbm1lbnQ7CisJYnAudHlwZSA9IHR5cGU7CisJYnAucmVz diA9IHJlc3Y7CiByZXRyeToKLQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBzaXplLCBhbGln bm1lbnQsIGluaXRpYWxfZG9tYWluLAotCQkJICAgICBmbGFncywgdHlwZSwgcmVzdiwgJmJvKTsK KwlicC5mbGFncyA9IGZsYWdzOworCWJwLmRvbWFpbiA9IGluaXRpYWxfZG9tYWluOworCXIgPSBh bWRncHVfYm9fY3JlYXRlKGFkZXYsICZicCwgJmJvKTsKIAlpZiAocikgewogCQlpZiAociAhPSAt RVJFU1RBUlRTWVMpIHsKIAkJCWlmIChmbGFncyAmIEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9BQ0NF U1NfUkVRVUlSRUQpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3Qu YwppbmRleCBiMzNhN2ZkZWE3ZjIuLmNhYzY1ZTMyYTBiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwpAQCAtMTkxLDE0ICsxOTEsMjEgQEAgaW50IGFtZGdw dV9ib19jcmVhdGVfcmVzZXJ2ZWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkgICAg ICB1MzIgZG9tYWluLCBzdHJ1Y3QgYW1kZ3B1X2JvICoqYm9fcHRyLAogCQkJICAgICAgdTY0ICpn cHVfYWRkciwgdm9pZCAqKmNwdV9hZGRyKQogeworCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnA7 CiAJYm9vbCBmcmVlID0gZmFsc2U7CiAJaW50IHI7CiAKKwltZW1zZXQoJmJwLCAwLCBzaXplb2Yo YnApKTsKKwlicC5zaXplID0gc2l6ZTsKKwlicC5ieXRlX2FsaWduID0gYWxpZ247CisJYnAuZG9t YWluID0gZG9tYWluOworCWJwLmZsYWdzID0gQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19S RVFVSVJFRCB8CisJCUFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUzsKKwlicC50eXBl ID0gdHRtX2JvX3R5cGVfa2VybmVsOworCWJwLnJlc3YgPSBOVUxMOworCiAJaWYgKCEqYm9fcHRy KSB7Ci0JCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIGFsaWduLCBkb21haW4sCi0J CQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKLQkJCQkgICAg IEFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9VUywKLQkJCQkgICAgIHR0bV9ib190eXBl X2tlcm5lbCwgTlVMTCwgYm9fcHRyKTsKKwkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJw LCBib19wdHIpOwogCQlpZiAocikgewogCQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxl ZCB0byBhbGxvY2F0ZSBrZXJuZWwgYm9cbiIsCiAJCQkJcik7CkBAIC00NzAsMjAgKzQ3NywyMSBA QCBzdGF0aWMgaW50IGFtZGdwdV9ib19jcmVhdGVfc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQkJCSAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGJ5dGVfYWxpZ24sCiAJCQkJ ICAgc3RydWN0IGFtZGdwdV9ibyAqYm8pCiB7Ci0Jc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicCA9 IHsKLQkJLnNpemUgPSBzaXplLAotCQkuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxpZ24sCi0JCS5kb21h aW4gPSBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCi0JCS5mbGFncyA9IEFNREdQVV9HRU1fQ1JFQVRF X0NQVV9HVFRfVVNXQyB8Ci0JCQlBTURHUFVfR0VNX0NSRUFURV9TSEFET1csCi0JCS50eXBlID0g dHRtX2JvX3R5cGVfa2VybmVsLAotCQkucmVzdiA9IGJvLT50Ym8ucmVzdgotCX07CisJc3RydWN0 IGFtZGdwdV9ib19wYXJhbSBicDsKIAlpbnQgcjsKIAogCWlmIChiby0+c2hhZG93KQogCQlyZXR1 cm4gMDsKIAorCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOworCWJwLnNpemUgPSBzaXplOwor CWJwLmJ5dGVfYWxpZ24gPSBieXRlX2FsaWduOworCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9N QUlOX0dUVDsKKwlicC5mbGFncyA9IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9HVFRfVVNXQyB8CisJ CUFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVzsKKwlicC50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVs OworCWJwLnJlc3YgPSBiby0+dGJvLnJlc3Y7CisKIAlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShh ZGV2LCAmYnAsICZiby0+c2hhZG93KTsKIAlpZiAoIXIpIHsKIAkJYm8tPnNoYWRvdy0+cGFyZW50 ID0gYW1kZ3B1X2JvX3JlZihibyk7CkBAIC00OTUsMzQgKzUwMywyNiBAQCBzdGF0aWMgaW50IGFt ZGdwdV9ib19jcmVhdGVfc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXJldHVy biByOwogfQogCi1pbnQgYW1kZ3B1X2JvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwgdW5zaWduZWQgbG9uZyBzaXplLAotCQkgICAgIGludCBieXRlX2FsaWduLCB1MzIgZG9tYWlu LAotCQkgICAgIHU2NCBmbGFncywgZW51bSB0dG1fYm9fdHlwZSB0eXBlLAotCQkgICAgIHN0cnVj dCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YsCitpbnQgYW1kZ3B1X2JvX2NyZWF0ZShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKKwkJICAgICBzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtICpicCwK IAkJICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICoqYm9fcHRyKQogewotCXN0cnVjdCBhbWRncHVfYm9f cGFyYW0gYnAgPSB7Ci0JCS5zaXplID0gc2l6ZSwKLQkJLmJ5dGVfYWxpZ24gPSBieXRlX2FsaWdu LAotCQkuZG9tYWluID0gZG9tYWluLAotCQkuZmxhZ3MgPSBmbGFncyAmIH5BTURHUFVfR0VNX0NS RUFURV9TSEFET1csCi0JCS50eXBlID0gdHlwZSwKLQkJLnJlc3YgPSByZXN2Ci0JfTsKKwl1NjQg ZmxhZ3MgPSBicC0+ZmxhZ3M7CiAJaW50IHI7CiAKLQlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShh ZGV2LCAmYnAsIGJvX3B0cik7CisJYnAtPmZsYWdzID0gYnAtPmZsYWdzICYgfkFNREdQVV9HRU1f Q1JFQVRFX1NIQURPVzsKKwlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShhZGV2LCBicCwgYm9fcHRy KTsKIAlpZiAocikKIAkJcmV0dXJuIHI7CiAKIAlpZiAoKGZsYWdzICYgQU1ER1BVX0dFTV9DUkVB VEVfU0hBRE9XKSAmJiBhbWRncHVfbmVlZF9iYWNrdXAoYWRldikpIHsKLQkJaWYgKCFyZXN2KQor CQlpZiAoIWJwLT5yZXN2KQogCQkJV0FSTl9PTihyZXNlcnZhdGlvbl9vYmplY3RfbG9jaygoKmJv X3B0ciktPnRiby5yZXN2LAogCQkJCQkJCU5VTEwpKTsKIAotCQlyID0gYW1kZ3B1X2JvX2NyZWF0 ZV9zaGFkb3coYWRldiwgc2l6ZSwgYnl0ZV9hbGlnbiwgKCpib19wdHIpKTsKKwkJciA9IGFtZGdw dV9ib19jcmVhdGVfc2hhZG93KGFkZXYsIGJwLT5zaXplLCBicC0+Ynl0ZV9hbGlnbiwgKCpib19w dHIpKTsKIAotCQlpZiAoIXJlc3YpCisJCWlmICghYnAtPnJlc3YpCiAJCQlyZXNlcnZhdGlvbl9v YmplY3RfdW5sb2NrKCgqYm9fcHRyKS0+dGJvLnJlc3YpOwogCiAJCWlmIChyKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oCmluZGV4IDRiYjZmMGE4ZDc5OS4uZTlh MjFkOTkxZTc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5o CkBAIC0yMzMsMTAgKzIzMyw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBhbWRncHVfYm9fZXhwbGlj aXRfc3luYyhzdHJ1Y3QgYW1kZ3B1X2JvICpibykKIAlyZXR1cm4gYm8tPmZsYWdzICYgQU1ER1BV X0dFTV9DUkVBVEVfRVhQTElDSVRfU1lOQzsKIH0KIAotaW50IGFtZGdwdV9ib19jcmVhdGUoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQkJICAgICBpbnQg Ynl0ZV9hbGlnbiwgdTMyIGRvbWFpbiwKLQkJICAgICB1NjQgZmxhZ3MsIGVudW0gdHRtX2JvX3R5 cGUgdHlwZSwKLQkJICAgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2LAoraW50IGFt ZGdwdV9ib19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCSAgICAgc3RydWN0 IGFtZGdwdV9ib19wYXJhbSAqYnAsCiAJCSAgICAgc3RydWN0IGFtZGdwdV9ibyAqKmJvX3B0cik7 CiBpbnQgYW1kZ3B1X2JvX2NyZWF0ZV9yZXNlcnZlZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGFsaWduLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYwppbmRleCA0YjU4NGNiNzViZjQuLjcxMzQxN2I2 ZDE1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1l LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMKQEAgLTEw MiwxMiArMTAyLDE4IEBAIGFtZGdwdV9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiA9IGF0dGFj aC0+ZG1hYnVmLT5yZXN2OwogCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibzsKKwlzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFt IGJwOwogCWludCByZXQ7CiAKKwltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKKwlicC5zaXpl ID0gYXR0YWNoLT5kbWFidWYtPnNpemU7CisJYnAuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRTsKKwli cC5kb21haW4gPSBBTURHUFVfR0VNX0RPTUFJTl9DUFU7CisJYnAuZmxhZ3MgPSAwOworCWJwLnR5 cGUgPSB0dG1fYm9fdHlwZV9zZzsKKwlicC5yZXN2ID0gcmVzdjsKIAl3d19tdXRleF9sb2NrKCZy ZXN2LT5sb2NrLCBOVUxMKTsKLQlyZXQgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIGF0dGFjaC0+ ZG1hYnVmLT5zaXplLCBQQUdFX1NJWkUsCi0JCQkgICAgICAgQU1ER1BVX0dFTV9ET01BSU5fQ1BV LCAwLCB0dG1fYm9fdHlwZV9zZywKLQkJCSAgICAgICByZXN2LCAmYm8pOworCXJldCA9IGFtZGdw dV9ib19jcmVhdGUoYWRldiwgJmJwLCAmYm8pOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyb3I7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90ZXN0LmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdGVzdC5jCmluZGV4IDJkYmU4NzU5MWY4 MS4uZDE2N2U4YWI3NmQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdGVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90ZXN0 LmMKQEAgLTMzLDYgKzMzLDcgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gYWRl di0+bW1hbi5idWZmZXJfZnVuY3NfcmluZzsKIAlzdHJ1Y3QgYW1kZ3B1X2JvICp2cmFtX29iaiA9 IE5VTEw7CiAJc3RydWN0IGFtZGdwdV9ibyAqKmd0dF9vYmogPSBOVUxMOworCXN0cnVjdCBhbWRn cHVfYm9fcGFyYW0gYnA7CiAJdWludDY0X3QgZ2FydF9hZGRyLCB2cmFtX2FkZHI7CiAJdW5zaWdu ZWQgbiwgc2l6ZTsKIAlpbnQgaSwgcjsKQEAgLTU4LDkgKzU5LDE1IEBAIHN0YXRpYyB2b2lkIGFt ZGdwdV9kb190ZXN0X21vdmVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQlyID0gMTsK IAkJZ290byBvdXRfY2xlYW51cDsKIAl9Ci0KLQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBz aXplLCBQQUdFX1NJWkUsIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIDAsCi0JCQkgICAgIHR0bV9i b190eXBlX2tlcm5lbCwgTlVMTCwgJnZyYW1fb2JqKTsKKwltZW1zZXQoJmJwLCAwLCBzaXplb2Yo YnApKTsKKwlicC5zaXplID0gc2l6ZTsKKwlicC5ieXRlX2FsaWduID0gUEFHRV9TSVpFOworCWJw LmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX1ZSQU07CisJYnAuZmxhZ3MgPSAwOworCWJwLnR5 cGUgPSB0dG1fYm9fdHlwZV9rZXJuZWw7CisJYnAucmVzdiA9IE5VTEw7CisKKwlyID0gYW1kZ3B1 X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZ2cmFtX29iaik7CiAJaWYgKHIpIHsKIAkJRFJNX0VSUk9S KCJGYWlsZWQgdG8gY3JlYXRlIFZSQU0gb2JqZWN0XG4iKTsKIAkJZ290byBvdXRfY2xlYW51cDsK QEAgLTc5LDkgKzg2LDggQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCXZvaWQgKip2cmFtX3N0YXJ0LCAqKnZyYW1fZW5kOwog CQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IE5VTEw7CiAKLQkJciA9IGFtZGdwdV9ib19jcmVh dGUoYWRldiwgc2l6ZSwgUEFHRV9TSVpFLAotCQkJCSAgICAgQU1ER1BVX0dFTV9ET01BSU5fR1RU LCAwLAotCQkJCSAgICAgdHRtX2JvX3R5cGVfa2VybmVsLCBOVUxMLCBndHRfb2JqICsgaSk7CisJ CWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX0dUVDsKKwkJciA9IGFtZGdwdV9ib19jcmVh dGUoYWRldiwgJmJwLCBndHRfb2JqICsgaSk7CiAJCWlmIChyKSB7CiAJCQlEUk1fRVJST1IoIkZh aWxlZCB0byBjcmVhdGUgR1RUIG9iamVjdCAlZFxuIiwgaSk7CiAJCQlnb3RvIG91dF9sY2xlYW47 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKaW5kZXggMjllZmFhYzZlM2Vk Li5kZmQyMmRiMTNmYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMK QEAgLTEzMTYsNiArMTMxNiw3IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV90dG1fZndfcmVzZXJ2ZV92 cmFtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiBzdGF0aWMgaW50IGFtZGdwdV90 dG1fZndfcmVzZXJ2ZV92cmFtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CiAJ c3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsgZmFsc2UsIGZhbHNlIH07CisJc3RydWN0 IGFtZGdwdV9ib19wYXJhbSBicDsKIAlpbnQgciA9IDA7CiAJaW50IGk7CiAJdTY0IHZyYW1fc2l6 ZSA9IGFkZXYtPmdtYy52aXNpYmxlX3ZyYW1fc2l6ZTsKQEAgLTEzMjMsMTcgKzEzMjQsMjEgQEAg c3RhdGljIGludCBhbWRncHVfdHRtX2Z3X3Jlc2VydmVfdnJhbV9pbml0KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KQogCXU2NCBzaXplID0gYWRldi0+ZndfdnJhbV91c2FnZS5zaXplOwogCXN0 cnVjdCBhbWRncHVfYm8gKmJvOwogCisJbWVtc2V0KCZicCwgMCwgc2l6ZW9mKGJwKSk7CisJYnAu c2l6ZSA9IGFkZXYtPmZ3X3ZyYW1fdXNhZ2Uuc2l6ZTsKKwlicC5ieXRlX2FsaWduID0gUEFHRV9T SVpFOworCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX1ZSQU07CisJYnAuZmxhZ3MgPSBB TURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JFUVVJUkVEIHwKKwkJQU1ER1BVX0dFTV9DUkVB VEVfVlJBTV9DT05USUdVT1VTOworCWJwLnR5cGUgPSB0dG1fYm9fdHlwZV9rZXJuZWw7CisJYnAu cmVzdiA9IE5VTEw7CiAJYWRldi0+ZndfdnJhbV91c2FnZS52YSA9IE5VTEw7CiAJYWRldi0+Zndf dnJhbV91c2FnZS5yZXNlcnZlZF9ibyA9IE5VTEw7CiAKIAlpZiAoYWRldi0+ZndfdnJhbV91c2Fn ZS5zaXplID4gMCAmJgogCQlhZGV2LT5md192cmFtX3VzYWdlLnNpemUgPD0gdnJhbV9zaXplKSB7 CiAKLQkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgYWRldi0+ZndfdnJhbV91c2FnZS5zaXpl LCBQQUdFX1NJWkUsCi0JCQkJICAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLAotCQkJCSAgICAg QU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8Ci0JCQkJICAgICBBTURHUFVf R0VNX0NSRUFURV9WUkFNX0NPTlRJR1VPVVMsCi0JCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWws IE5VTEwsCisJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsICZicCwKIAkJCQkgICAgICZhZGV2 LT5md192cmFtX3VzYWdlLnJlc2VydmVkX2JvKTsKIAkJaWYgKHIpCiAJCQlnb3RvIGVycm9yX2Ny ZWF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXggZjBmYmMzMzFh YTMwLi45ZWM3YzEwNDFkZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV92bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5j CkBAIC00MTIsMTEgKzQxMiwxNiBAQCBzdGF0aWMgaW50IGFtZGdwdV92bV9hbGxvY19sZXZlbHMo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCXN0cnVjdCBhbWRncHVfYm8gKnB0OwogCiAJ CWlmICghZW50cnktPmJhc2UuYm8pIHsKLQkJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsCi0J CQkJCSAgICAgYW1kZ3B1X3ZtX2JvX3NpemUoYWRldiwgbGV2ZWwpLAotCQkJCQkgICAgIEFNREdQ VV9HUFVfUEFHRV9TSVpFLAotCQkJCQkgICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIGZsYWdz LAotCQkJCQkgICAgIHR0bV9ib190eXBlX2tlcm5lbCwgcmVzdiwgJnB0KTsKKwkJCXN0cnVjdCBh bWRncHVfYm9fcGFyYW0gYnA7CisKKwkJCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOworCQkJ YnAuc2l6ZSA9IGFtZGdwdV92bV9ib19zaXplKGFkZXYsIGxldmVsKTsKKwkJCWJwLmJ5dGVfYWxp Z24gPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKKwkJCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9N QUlOX1ZSQU07CisJCQlicC5mbGFncyA9IGZsYWdzOworCQkJYnAudHlwZSA9IHR0bV9ib190eXBl X2tlcm5lbDsKKwkJCWJwLnJlc3YgPSByZXN2OworCQkJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRl diwgJmJwLCAmcHQpOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJuIHI7CiAKQEAgLTIzNjgsNiArMjM3 Myw3IEBAIHZvaWQgYW1kZ3B1X3ZtX2FkanVzdF9zaXplKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCB1aW50MzJfdCB2bV9zaXplLAogaW50IGFtZGdwdV92bV9pbml0KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKIAkJICAgaW50IHZtX2NvbnRleHQs IHVuc2lnbmVkIGludCBwYXNpZCkKIHsKKwlzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtIGJwOwogCWNv bnN0IHVuc2lnbmVkIGFsaWduID0gbWluKEFNREdQVV9WTV9QVEJfQUxJR05fU0laRSwKIAkJQU1E R1BVX1ZNX1BURV9DT1VOVChhZGV2KSAqIDgpOwogCXVuc2lnbmVkIHJpbmdfaW5zdGFuY2U7CkBA IC0yNDIyLDggKzI0MjgsMTQgQEAgaW50IGFtZGdwdV92bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKIAkJZmxhZ3MgfD0gQU1ER1BVX0dFTV9D UkVBVEVfU0hBRE9XOwogCiAJc2l6ZSA9IGFtZGdwdV92bV9ib19zaXplKGFkZXYsIGFkZXYtPnZt X21hbmFnZXIucm9vdF9sZXZlbCk7Ci0JciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwg YWxpZ24sIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sIGZsYWdzLAotCQkJICAgICB0dG1fYm9fdHlw ZV9rZXJuZWwsIE5VTEwsICZ2bS0+cm9vdC5iYXNlLmJvKTsKKwltZW1zZXQoJmJwLCAwLCBzaXpl b2YoYnApKTsKKwlicC5zaXplID0gc2l6ZTsKKwlicC5ieXRlX2FsaWduID0gYWxpZ247CisJYnAu ZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fVlJBTTsKKwlicC5mbGFncyA9IGZsYWdzOworCWJw LnR5cGUgPSB0dG1fYm9fdHlwZV9rZXJuZWw7CisJYnAucmVzdiA9IE5VTEw7CisJciA9IGFtZGdw dV9ib19jcmVhdGUoYWRldiwgJmJwLCAmdm0tPnJvb3QuYmFzZS5ibyk7CiAJaWYgKHIpCiAJCWdv dG8gZXJyb3JfZnJlZV9zY2hlZF9lbnRpdHk7CiAKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==