From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 7/8] dal: port to using drm dpcd defines Date: Tue, 13 Dec 2016 16:41:11 +1000 Message-ID: <20161213064112.20004-8-airlied@gmail.com> References: <20161213064112.20004-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161213064112.20004-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCldlIG9ubHkga2VlcCBvbmUg bGlzdCBvZiB0aGVzZSBkZWZpbmVzIGluIHRoZSBrZXJuZWwsIHNvIHdlIHNob3VsZCB1c2UgaXQu CgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYyAgICAgIHwgICA4ICst CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jICB8ICAg MiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19kcC5jICAg fCAxNDQgKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfbGlua19od3NzLmMgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9pbmNs dWRlL2RwY2RfZGVmcy5oICAgIHwgMjIzICstLS0tLS0tLS0tLS0tLS0tLS0tLQogNSBmaWxlcyBj aGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAzMDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jCmluZGV4IDQ3ZjIyZDQuLjY1N2Vj MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xp bmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMK QEAgLTExNTcsNyArMTE1Nyw3IEBAIHN0YXRpYyB2b2lkIGRwY2RfY29uZmlndXJlX3BhbmVsX21v ZGUoCiAJCS8qc2V0IGVkcCBwYW5lbCBtb2RlIGluIHJlY2VpdmVyKi8KIAkJY29yZV9saW5rX3Jl YWRfZHBjZCgKIAkJCWxpbmssCi0JCQlEUENEX0FERFJFU1NfRURQX0NPTkZJR19TRVQsCisJCQlE UF9FRFBfQ09ORklHVVJBVElPTl9TRVQsCiAJCQkmZWRwX2NvbmZpZ19zZXQucmF3LAogCQkJc2l6 ZW9mKGVkcF9jb25maWdfc2V0LnJhdykpOwogCkBAIC0xMTY5LDcgKzExNjksNyBAQCBzdGF0aWMg dm9pZCBkcGNkX2NvbmZpZ3VyZV9wYW5lbF9tb2RlKAogCQkJcGFuZWxfbW9kZV9lZHA7CiAJCQly ZXN1bHQgPSBjb3JlX2xpbmtfd3JpdGVfZHBjZCgKIAkJCQlsaW5rLAotCQkJCURQQ0RfQUREUkVT U19FRFBfQ09ORklHX1NFVCwKKwkJCQlEUF9FRFBfQ09ORklHVVJBVElPTl9TRVQsCiAJCQkJJmVk cF9jb25maWdfc2V0LnJhdywKIAkJCQlzaXplb2YoZWRwX2NvbmZpZ19zZXQucmF3KSk7CiAKQEAg LTExOTAsMTMgKzExOTAsMTMgQEAgc3RhdGljIHZvaWQgZW5hYmxlX3N0cmVhbV9mZWF0dXJlcyhz dHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4KQogCXN0cnVjdCBjb3JlX2xpbmsgKmxpbmsgPSBzdHJl YW0tPnNpbmstPmxpbms7CiAJdW5pb24gZG93bl9zcHJlYWRfY3RybCBkb3duc3ByZWFkOwogCi0J Y29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBEUENEX0FERFJFU1NfRE9XTlNQUkVBRF9DTlRMLAor CWNvcmVfbGlua19yZWFkX2RwY2QobGluaywgRFBfRE9XTlNQUkVBRF9DVFJMLAogCQkJJmRvd25z cHJlYWQucmF3LCBzaXplb2YoZG93bnNwcmVhZCkpOwogCiAJZG93bnNwcmVhZC5iaXRzLklHTk9S RV9NU0FfVElNSU5HX1BBUkFNID0KIAkJCShzdHJlYW0tPnB1YmxpYy5pZ25vcmVfbXNhX3RpbWlu Z19wYXJhbSkgPyAxIDogMDsKIAotCWNvcmVfbGlua193cml0ZV9kcGNkKGxpbmssIERQQ0RfQURE UkVTU19ET1dOU1BSRUFEX0NOVEwsCisJY29yZV9saW5rX3dyaXRlX2RwY2QobGluaywgRFBfRE9X TlNQUkVBRF9DVFJMLAogCQkJJmRvd25zcHJlYWQucmF3LCBzaXplb2YoZG93bnNwcmVhZCkpOwog fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19s aW5rX2RkYy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19k ZGMuYwppbmRleCA2Mzc5Y2NmLi5jZDY2OTQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RkYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfZGRjLmMKQEAgLTg3Miw3ICs4NzIsNyBAQCB2b2lk IGRhbF9kZGNfc2VydmljZV9pMmNfcXVlcnlfZHBfZHVhbF9tb2RlX2FkYXB0b3IoCiAKIGVudW0g ewogCURQX1NJTktfQ0FQX1NJWkUgPQotCQlEUENEX0FERFJFU1NfRURQX0NPTkZJR19DQVAgLSBE UENEX0FERFJFU1NfRFBDRF9SRVYgKyAxCisJCURQX0VEUF9DT05GSUdVUkFUSU9OX0NBUCAtIERQ X0RQQ0RfUkVWICsgMQogfTsKIAogYm9vbCBkYWxfZGRjX3NlcnZpY2VfcXVlcnlfZGRjX2RhdGEo CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5r X2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rX2RwLmMK aW5kZXggMjU4NWVjMy4uZDM2MjVjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2NvcmUvZGNfbGlua19kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjX2xpbmtfZHAuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgdm9pZCB3 YWl0X2Zvcl90cmFpbmluZ19hdXhfcmRfaW50ZXJ2YWwoCiAJCSAqICJEUENEX0FERFJfVFJBSU5J TkdfQVVYX1JEX0lOVEVSVkFMIiByZWdpc3RlciAqLwogCQljb3JlX2xpbmtfcmVhZF9kcGNkKAog CQkJbGluaywKLQkJCURQQ0RfQUREUkVTU19UUkFJTklOR19BVVhfUkRfSU5URVJWQUwsCisJCQlE UF9UUkFJTklOR19BVVhfUkRfSU5URVJWQUwsCiAJCQkodWludDhfdCAqKSZ0cmFpbmluZ19yZF9p bnRlcnZhbCwKIAkJCXNpemVvZih0cmFpbmluZ19yZF9pbnRlcnZhbCkpOwogCkBAIC05MywxNCAr OTMsMTQgQEAgc3RhdGljIHZvaWQgZHBjZF9zZXRfdHJhaW5pbmdfcGF0dGVybigKIHsKIAljb3Jl X2xpbmtfd3JpdGVfZHBjZCgKIAkJbGluaywKLQkJRFBDRF9BRERSRVNTX1RSQUlOSU5HX1BBVFRF Uk5fU0VULAorCQlEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKIAkJJmRwY2RfcGF0dGVybi5yYXcs CiAJCTEpOwogCiAJZG1fbG9nZ2VyX3dyaXRlKGxpbmstPmN0eC0+bG9nZ2VyLCBMT0dfSFdfTElO S19UUkFJTklORywKIAkJIiVzXG4gJXggcGF0dGVybiA9ICV4XG4iLAogCQlfX2Z1bmNfXywKLQkJ RFBDRF9BRERSRVNTX1RSQUlOSU5HX1BBVFRFUk5fU0VULAorCQlEUF9UUkFJTklOR19QQVRURVJO X1NFVCwKIAkJZHBjZF9wYXR0ZXJuLnYxXzQuVFJBSU5JTkdfUEFUVEVSTl9TRVQpOwogfQogCkBA IC0xMjksMTkgKzEyOSwxOSBAQCBzdGF0aWMgdm9pZCBkcGNkX3NldF9saW5rX3NldHRpbmdzKAog CWxpbmtfc2V0X2J1ZmZlclswXSA9IHJhdGU7CiAJbGlua19zZXRfYnVmZmVyWzFdID0gbGFuZV9j b3VudF9zZXQucmF3OwogCi0JY29yZV9saW5rX3dyaXRlX2RwY2QobGluaywgRFBDRF9BRERSRVNT X0xJTktfQldfU0VULAorCWNvcmVfbGlua193cml0ZV9kcGNkKGxpbmssIERQX0xJTktfQldfU0VU LAogCWxpbmtfc2V0X2J1ZmZlciwgMik7Ci0JY29yZV9saW5rX3dyaXRlX2RwY2QobGluaywgRFBD RF9BRERSRVNTX0RPV05TUFJFQURfQ05UTCwKKwljb3JlX2xpbmtfd3JpdGVfZHBjZChsaW5rLCBE UF9ET1dOU1BSRUFEX0NUUkwsCiAJJmRvd25zcHJlYWQucmF3LCBzaXplb2YoZG93bnNwcmVhZCkp OwogCiAJZG1fbG9nZ2VyX3dyaXRlKGxpbmstPmN0eC0+bG9nZ2VyLCBMT0dfSFdfTElOS19UUkFJ TklORywKIAkJIiVzXG4gJXggcmF0ZSA9ICV4XG4gJXggbGFuZSA9ICV4XG4gJXggc3ByZWFkID0g JXhcbiIsCiAJCV9fZnVuY19fLAotCQlEUENEX0FERFJFU1NfTElOS19CV19TRVQsCisJCURQX0xJ TktfQldfU0VULAogCQlsdF9zZXR0aW5ncy0+bGlua19zZXR0aW5ncy5saW5rX3JhdGUsCi0JCURQ Q0RfQUREUkVTU19MQU5FX0NPVU5UX1NFVCwKKwkJRFBfTEFORV9DT1VOVF9TRVQsCiAJCWx0X3Nl dHRpbmdzLT5saW5rX3NldHRpbmdzLmxhbmVfY291bnQsCi0JCURQQ0RfQUREUkVTU19ET1dOU1BS RUFEX0NOVEwsCisJCURQX0RPV05TUFJFQURfQ1RSTCwKIAkJbHRfc2V0dGluZ3MtPmxpbmtfc2V0 dGluZ3MubGlua19zcHJlYWQpOwogCiB9CkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQg ZHBjZF9zZXRfbHRfcGF0dGVybl9hbmRfbGFuZV9zZXR0aW5ncygKIHsKIAl1bmlvbiBkcGNkX3Ry YWluaW5nX2xhbmUgZHBjZF9sYW5lW0xBTkVfQ09VTlRfRFBfTUFYXSA9IHt7ezB9fX07CiAJY29u c3QgdWludDMyX3QgZHBjZF9iYXNlX2x0X29mZnNldCA9Ci0JRFBDRF9BRERSRVNTX1RSQUlOSU5H X1BBVFRFUk5fU0VUOworCURQX1RSQUlOSU5HX1BBVFRFUk5fU0VUOwogCXVpbnQ4X3QgZHBjZF9s dF9idWZmZXJbNV0gPSB7MH07CiAJdW5pb24gZHBjZF90cmFpbmluZ19wYXR0ZXJuIGRwY2RfcGF0 dGVybiA9IHt7MH19OwogCXVpbnQzMl90IGxhbmU7CkBAIC0xOTksMTMgKzE5OSwxMyBAQCBzdGF0 aWMgdm9pZCBkcGNkX3NldF9sdF9wYXR0ZXJuX2FuZF9sYW5lX3NldHRpbmdzKAogCWRwY2RfcGF0 dGVybi52MV80LlRSQUlOSU5HX1BBVFRFUk5fU0VUID0KIAkJaHdfdHJhaW5pbmdfcGF0dGVybl90 b19kcGNkX3RyYWluaW5nX3BhdHRlcm4obGluaywgcGF0dGVybik7CiAKLQlkcGNkX2x0X2J1ZmZl cltEUENEX0FERFJFU1NfVFJBSU5JTkdfUEFUVEVSTl9TRVQgLSBkcGNkX2Jhc2VfbHRfb2Zmc2V0 XQorCWRwY2RfbHRfYnVmZmVyW0RQX1RSQUlOSU5HX1BBVFRFUk5fU0VUIC0gZHBjZF9iYXNlX2x0 X29mZnNldF0KIAkJPSBkcGNkX3BhdHRlcm4ucmF3OwogCiAJZG1fbG9nZ2VyX3dyaXRlKGxpbmst PmN0eC0+bG9nZ2VyLCBMT0dfSFdfTElOS19UUkFJTklORywKIAkJIiVzXG4gJXggcGF0dGVybiA9 ICV4XG4iLAogCQlfX2Z1bmNfXywKLQkJRFBDRF9BRERSRVNTX1RSQUlOSU5HX1BBVFRFUk5fU0VU LAorCQlEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKIAkJZHBjZF9wYXR0ZXJuLnYxXzQuVFJBSU5J TkdfUEFUVEVSTl9TRVQpOwogCiAJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0yMzMsNyArMjMzLDcgQEAgc3RhdGlj IHZvaWQgZHBjZF9zZXRfbHRfcGF0dGVybl9hbmRfbGFuZV9zZXR0aW5ncygKIAogCSAvLyAweDAw MTAzIC0gMHgwMDEwMgogCW1lbW1vdmUoCi0JCSZkcGNkX2x0X2J1ZmZlcltEUENEX0FERFJFU1Nf TEFORTBfU0VUIC0gZHBjZF9iYXNlX2x0X29mZnNldF0sCisJCSZkcGNkX2x0X2J1ZmZlcltEUF9U UkFJTklOR19MQU5FMF9TRVQgLSBkcGNkX2Jhc2VfbHRfb2Zmc2V0XSwKIAkJZHBjZF9sYW5lLAog CQlzaXplX2luX2J5dGVzKTsKIApAQCAtMjQxLDcgKzI0MSw3IEBAIHN0YXRpYyB2b2lkIGRwY2Rf c2V0X2x0X3BhdHRlcm5fYW5kX2xhbmVfc2V0dGluZ3MoCiAJCSIlczpcbiAleCBWUyBzZXQgPSAl eCAgUEUgc2V0ID0gJXggXAogCQltYXggVlMgUmVhY2hlZCA9ICV4ICBtYXggUEUgUmVhY2hlZCA9 ICV4XG4iLAogCQlfX2Z1bmNfXywKLQkJRFBDRF9BRERSRVNTX0xBTkUwX1NFVCwKKwkJRFBfVFJB SU5JTkdfTEFORTBfU0VULAogCQlkcGNkX2xhbmVbMF0uYml0cy5WT0xUQUdFX1NXSU5HX1NFVCwK IAkJZHBjZF9sYW5lWzBdLmJpdHMuUFJFX0VNUEhBU0lTX1NFVCwKIAkJZHBjZF9sYW5lWzBdLmJp dHMuTUFYX1NXSU5HX1JFQUNIRUQsCkBAIC0yNTMsMTMgKzI1MywxMyBAQCBzdGF0aWMgdm9pZCBk cGNkX3NldF9sdF9wYXR0ZXJuX2FuZF9sYW5lX3NldHRpbmdzKAogCQkqLwogCQljb3JlX2xpbmtf d3JpdGVfZHBjZCgKIAkJCWxpbmssCi0JCQlEUENEX0FERFJFU1NfVFJBSU5JTkdfUEFUVEVSTl9T RVQsCisJCQlEUF9UUkFJTklOR19QQVRURVJOX1NFVCwKIAkJCSZkcGNkX3BhdHRlcm4ucmF3LAog CQkJc2l6ZW9mKGRwY2RfcGF0dGVybi5yYXcpICk7CiAKIAkJY29yZV9saW5rX3dyaXRlX2RwY2Qo CiAJCQlsaW5rLAotCQkJRFBDRF9BRERSRVNTX0xBTkUwX1NFVCwKKwkJCURQX1RSQUlOSU5HX0xB TkUwX1NFVCwKIAkJCSh1aW50OF90ICopKGRwY2RfbGFuZSksCiAJCQlzaXplX2luX2J5dGVzKTsK IApAQCAtNDU5LDcgKzQ1OSw3IEBAIHN0YXRpYyB2b2lkIGdldF9sYW5lX3N0YXR1c19hbmRfZHJp dmVfc2V0dGluZ3MoCiAKIAljb3JlX2xpbmtfcmVhZF9kcGNkKAogCQlsaW5rLAotCQlEUENEX0FE RFJFU1NfTEFORV8wMV9TVEFUVVMsCisJCURQX0xBTkUwXzFfU1RBVFVTLAogCQkodWludDhfdCAq KShkcGNkX2J1ZiksCiAJCXNpemVvZihkcGNkX2J1ZikpOwogCkBAIC00NzgsMTUgKzQ3OCwxNSBA QCBzdGF0aWMgdm9pZCBnZXRfbGFuZV9zdGF0dXNfYW5kX2RyaXZlX3NldHRpbmdzKAogCWRtX2xv Z2dlcl93cml0ZShsaW5rLT5jdHgtPmxvZ2dlciwgTE9HX0hXX0xJTktfVFJBSU5JTkcsCiAJCSIl czpcbiV4IExhbmUwMVN0YXR1cyA9ICV4XG4gJXggTGFuZTIzU3RhdHVzID0gJXhcbiAiLAogCQlf X2Z1bmNfXywKLQkJRFBDRF9BRERSRVNTX0xBTkVfMDFfU1RBVFVTLCBkcGNkX2J1ZlswXSwKLQkJ RFBDRF9BRERSRVNTX0xBTkVfMjNfU1RBVFVTLCBkcGNkX2J1ZlsxXSk7CisJCURQX0xBTkUwXzFf U1RBVFVTLCBkcGNkX2J1ZlswXSwKKwkJRFBfTEFORTJfM19TVEFUVVMsIGRwY2RfYnVmWzFdKTsK IAogCWRtX2xvZ2dlcl93cml0ZShsaW5rLT5jdHgtPmxvZ2dlciwgTE9HX0hXX0xJTktfVFJBSU5J TkcsCiAJCSIlczpcbiAleCBMYW5lMDFBZGp1c3RSZXF1ZXN0ID0gJXhcbiAleCBMYW5lMjNBZGp1 c3RSZXF1ZXN0ID0gJXhcbiIsCiAJCV9fZnVuY19fLAotCQlEUENEX0FERFJFU1NfQURKVVNUX1JF UVVFU1RfTEFORTBfMSwKKwkJRFBfQURKVVNUX1JFUVVFU1RfTEFORTBfMSwKIAkJZHBjZF9idWZb NF0sCi0JCURQQ0RfQUREUkVTU19BREpVU1RfUkVRVUVTVF9MQU5FMl8zLAorCQlEUF9BREpVU1Rf UkVRVUVTVF9MQU5FMl8zLAogCQlkcGNkX2J1Zls1XSk7CiAKIAkvKmNvcHkgdG8gcmVxX3NldHRp bmdzKi8KQEAgLTU1Miw3ICs1NTIsNyBAQCBzdGF0aWMgdm9pZCBkcGNkX3NldF9sYW5lX3NldHRp bmdzKAogCX0KIAogCWNvcmVfbGlua193cml0ZV9kcGNkKGxpbmssCi0JCURQQ0RfQUREUkVTU19M QU5FMF9TRVQsCisJCURQX1RSQUlOSU5HX0xBTkUwX1NFVCwKIAkJKHVpbnQ4X3QgKikoZHBjZF9s YW5lKSwKIAkJbGlua190cmFpbmluZ19zZXR0aW5nLT5saW5rX3NldHRpbmdzLmxhbmVfY291bnQp OwogCkBAIC01NzksNyArNTc5LDcgQEAgc3RhdGljIHZvaWQgZHBjZF9zZXRfbGFuZV9zZXR0aW5n cygKIAkJIiVzXG4gJXggVlMgc2V0ID0gJXggIFBFIHNldCA9ICV4IFwKIAkJbWF4IFZTIFJlYWNo ZWQgPSAleCAgbWF4IFBFIFJlYWNoZWQgPSAleFxuIiwKIAkJX19mdW5jX18sCi0JCURQQ0RfQURE UkVTU19MQU5FMF9TRVQsCisJCURQX1RSQUlOSU5HX0xBTkUwX1NFVCwKIAkJZHBjZF9sYW5lWzBd LmJpdHMuVk9MVEFHRV9TV0lOR19TRVQsCiAJCWRwY2RfbGFuZVswXS5iaXRzLlBSRV9FTVBIQVNJ U19TRVQsCiAJCWRwY2RfbGFuZVswXS5iaXRzLk1BWF9TV0lOR19SRUFDSEVELApAQCAtOTM1LDcg KzkzNSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBwZXJmb3JtX2xpbmtfdHJhaW5pbmdfaW50KAog CiAJY29yZV9saW5rX3dyaXRlX2RwY2QoCiAJCWxpbmssCi0JCURQQ0RfQUREUkVTU19MQU5FX0NP VU5UX1NFVCwKKwkJRFBfTEFORV9DT1VOVF9TRVQsCiAJCSZsYW5lX2NvdW50X3NldC5yYXcsCiAJ CXNpemVvZihsYW5lX2NvdW50X3NldCkpOwogCkBAIC0xMzg1LDE4ICsxMzg1LDE4IEBAIHN0YXRp YyBib29sIGhwZF9yeF9pcnFfY2hlY2tfbGlua19sb3NzX3N0YXR1cygKIAkgKi8KIAogCWRwY2Rf cmVzdWx0ID0gY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLAotCQlEUENEX0FERFJFU1NfUE9XRVJf U1RBVEUsCisJCURQX1NFVF9QT1dFUiwKIAkJJmlycV9yZWdfcnhfcG93ZXJfc3RhdGUsCiAJCXNp emVvZihpcnFfcmVnX3J4X3Bvd2VyX3N0YXRlKSk7CiAKIAlpZiAoZHBjZF9yZXN1bHQgIT0gRENf T0spIHsKLQkJaXJxX3JlZ19yeF9wb3dlcl9zdGF0ZSA9IERQX1BXUl9TVEFURV9EMDsKKwkJaXJx X3JlZ19yeF9wb3dlcl9zdGF0ZSA9IERQX1NFVF9QT1dFUl9EMDsKIAkJZG1fbG9nZ2VyX3dyaXRl KGxpbmstPmN0eC0+bG9nZ2VyLCBMT0dfSFdfSFBEX0lSUSwKIAkJCSIlczogRFBDRCByZWFkIGZh aWxlZCB0byBvYnRhaW4gcG93ZXIgc3RhdGUuXG4iLAogCQkJX19mdW5jX18pOwogCX0KIAotCWlm IChpcnFfcmVnX3J4X3Bvd2VyX3N0YXRlID09IERQX1BXUl9TVEFURV9EMCkgeworCWlmIChpcnFf cmVnX3J4X3Bvd2VyX3N0YXRlID09IERQX1NFVF9QT1dFUl9EMCkgewogCiAJCS8qMi4gQ2hlY2sg dGhhdCBMaW5rIFN0YXR1cyBjaGFuZ2VkLCBiZWZvcmUgcmUtdHJhaW5pbmcuKi8KIApAQCAtMTQ1 Miw3ICsxNDUyLDcgQEAgc3RhdGljIGVudW0gZGNfc3RhdHVzIHJlYWRfaHBkX3J4X2lycV9kYXRh KAogCSAqLwogCXJldHVybiBjb3JlX2xpbmtfcmVhZF9kcGNkKAogCWxpbmssCi0JRFBDRF9BRERS RVNTX1NJTktfQ09VTlQsCisJRFBfU0lOS19DT1VOVCwKIAlpcnFfZGF0YS0+cmF3LAogCXNpemVv Zih1bmlvbiBocGRfaXJxX2RhdGEpKTsKIH0KQEAgLTE1MzYsMTIgKzE1MzYsMTIgQEAgc3RhdGlj IHZvaWQgZHBfdGVzdF9zZW5kX2xpbmtfdHJhaW5pbmcoc3RydWN0IGNvcmVfbGluayAqbGluaykK IAogCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCQlsaW5rLAotCQkJRFBDRF9BRERSRVNTX1RFU1Rf TEFORV9DT1VOVCwKKwkJCURQX1RFU1RfTEFORV9DT1VOVCwKIAkJCSh1bnNpZ25lZCBjaGFyICop KCZsaW5rX3NldHRpbmdzLmxhbmVfY291bnQpLAogCQkJMSk7CiAJY29yZV9saW5rX3JlYWRfZHBj ZCgKIAkJCWxpbmssCi0JCQlEUENEX0FERFJFU1NfVEVTVF9MSU5LX1JBVEUsCisJCQlEUF9URVNU X0xJTktfUkFURSwKIAkJCSh1bnNpZ25lZCBjaGFyICopKCZsaW5rX3NldHRpbmdzLmxpbmtfcmF0 ZSksCiAJCQkxKTsKIApAQCAtMTU1OCw4ICsxNTU4LDggQEAgc3RhdGljIHZvaWQgZHBfdGVzdF9z ZW5kX3BoeV90ZXN0X3BhdHRlcm4oc3RydWN0IGNvcmVfbGluayAqbGluaykKIAl1bmlvbiBsYW5l X2FkanVzdCBkcGNkX2xhbmVfYWRqdXN0bWVudFsyXTsKIAl1bnNpZ25lZCBjaGFyIGRwY2RfcG9z dF9jdXJzb3JfMl9hZGp1c3RtZW50ID0gMDsKIAl1bnNpZ25lZCBjaGFyIHRlc3RfODBfYml0X3Bh dHRlcm5bCi0JCQkoRFBDRF9BRERSRVNTX1RFU1RfODBCSVRfQ1VTVE9NX1BBVFRFUk5fNzlfNzIg LQotCQkJRFBDRF9BRERSRVNTX1RFU1RfODBCSVRfQ1VTVE9NX1BBVFRFUk5fN18wKSsxXSA9IHsw fTsKKwkJCShEUF9URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzc5XzcyIC0KKwkJCURQX1RFU1Rf ODBCSVRfQ1VTVE9NX1BBVFRFUk5fN18wKSsxXSA9IHswfTsKIAllbnVtIGRwX3Rlc3RfcGF0dGVy biB0ZXN0X3BhdHRlcm47CiAJc3RydWN0IGRjX2xpbmtfdHJhaW5pbmdfc2V0dGluZ3MgbGlua19z ZXR0aW5nczsKIAl1bmlvbiBsYW5lX2FkanVzdCBkcGNkX2xhbmVfYWRqdXN0OwpAQCAtMTU3NCwx MiArMTU3NCwxMiBAQCBzdGF0aWMgdm9pZCBkcF90ZXN0X3NlbmRfcGh5X3Rlc3RfcGF0dGVybihz dHJ1Y3QgY29yZV9saW5rICpsaW5rKQogCS8qIGdldCBwaHkgdGVzdCBwYXR0ZXJuIGFuZCBwYXR0 ZXJuIHBhcmFtZXRlcnMgZnJvbSBEUCByZWNlaXZlciAqLwogCWNvcmVfbGlua19yZWFkX2RwY2Qo CiAJCQlsaW5rLAotCQkJRFBDRF9BRERSRVNTX1RFU1RfUEhZX1BBVFRFUk4sCisJCQlEUF9URVNU X1BIWV9QQVRURVJOLAogCQkJJmRwY2RfdGVzdF9wYXR0ZXJuLnJhdywKIAkJCXNpemVvZihkcGNk X3Rlc3RfcGF0dGVybikpOwogCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCQlsaW5rLAotCQkJRFBD RF9BRERSRVNTX0FESlVTVF9SRVFVRVNUX0xBTkUwXzEsCisJCQlEUF9BREpVU1RfUkVRVUVTVF9M QU5FMF8xLAogCQkJJmRwY2RfbGFuZV9hZGp1c3RtZW50WzBdLnJhdywKIAkJCXNpemVvZihkcGNk X2xhbmVfYWRqdXN0bWVudCkpOwogCkBAIC0xNTkxLDcgKzE1OTEsNyBAQCBzdGF0aWMgdm9pZCBk cF90ZXN0X3NlbmRfcGh5X3Rlc3RfcGF0dGVybihzdHJ1Y3QgY29yZV9saW5rICpsaW5rKQogCSAq LwogCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCQlsaW5rLAotCQkJRFBDRF9BRERSRVNTX0FESlVT VF9SRVFVRVNUX1BPU1RfQ1VSU09SMiwKKwkJCURQX0FESlVTVF9SRVFVRVNUX1BPU1RfQ1VSU09S MiwKIAkJCSZkcGNkX3Bvc3RfY3Vyc29yXzJfYWRqdXN0bWVudCwKIAkJCXNpemVvZihkcGNkX3Bv c3RfY3Vyc29yXzJfYWRqdXN0bWVudCkpOwogCkBAIC0xNjIwLDcgKzE2MjAsNyBAQCBzdGF0aWMg dm9pZCBkcF90ZXN0X3NlbmRfcGh5X3Rlc3RfcGF0dGVybihzdHJ1Y3QgY29yZV9saW5rICpsaW5r KQogCWlmICh0ZXN0X3BhdHRlcm4gPT0gRFBfVEVTVF9QQVRURVJOXzgwQklUX0NVU1RPTSkKIAkJ Y29yZV9saW5rX3JlYWRfZHBjZCgKIAkJCQlsaW5rLAotCQkJCURQQ0RfQUREUkVTU19URVNUXzgw QklUX0NVU1RPTV9QQVRURVJOXzdfMCwKKwkJCQlEUF9URVNUXzgwQklUX0NVU1RPTV9QQVRURVJO XzdfMCwKIAkJCQl0ZXN0XzgwX2JpdF9wYXR0ZXJuLAogCQkJCXNpemVvZih0ZXN0XzgwX2JpdF9w YXR0ZXJuKSk7CiAKQEAgLTE2NjAsOCArMTY2MCw4IEBAIHN0YXRpYyB2b2lkIGRwX3Rlc3Rfc2Vu ZF9waHlfdGVzdF9wYXR0ZXJuKHN0cnVjdCBjb3JlX2xpbmsgKmxpbmspCiAJCXRlc3RfcGF0dGVy biwKIAkJJmxpbmtfdHJhaW5pbmdfc2V0dGluZ3MsCiAJCXRlc3RfODBfYml0X3BhdHRlcm4sCi0J CShEUENEX0FERFJFU1NfVEVTVF84MEJJVF9DVVNUT01fUEFUVEVSTl83OV83MiAtCi0JCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzdfMCkrMSk7CisJCShEUF9URVNUXzgw QklUX0NVU1RPTV9QQVRURVJOXzc5XzcyIC0KKwkJRFBfVEVTVF84MEJJVF9DVVNUT01fUEFUVEVS Tl83XzApKzEpOwogfQogCiBzdGF0aWMgdm9pZCBkcF90ZXN0X3NlbmRfbGlua190ZXN0X3BhdHRl cm4oc3RydWN0IGNvcmVfbGluayAqbGluaykKQEAgLTE2NzYsMTIgKzE2NzYsMTIgQEAgc3RhdGlj IHZvaWQgZHBfdGVzdF9zZW5kX2xpbmtfdGVzdF9wYXR0ZXJuKHN0cnVjdCBjb3JlX2xpbmsgKmxp bmspCiAJLyogZ2V0IGxpbmsgdGVzdCBwYXR0ZXJuIGFuZCBwYXR0ZXJuIHBhcmFtZXRlcnMgKi8K IAljb3JlX2xpbmtfcmVhZF9kcGNkKAogCQkJbGluaywKLQkJCURQQ0RfQUREUkVTU19URVNUX1BB VFRFUk4sCisJCQlEUF9URVNUX1BBVFRFUk4sCiAJCQkmZHBjZF90ZXN0X3BhdHRlcm4ucmF3LAog CQkJc2l6ZW9mKGRwY2RfdGVzdF9wYXR0ZXJuKSk7CiAJY29yZV9saW5rX3JlYWRfZHBjZCgKIAkJ CWxpbmssCi0JCQlEUENEX0FERFJFU1NfVEVTVF9NSVNDMSwKKwkJCURQX1RFU1RfTUlTQzEsCiAJ CQkmZHBjZF90ZXN0X3BhcmFtcy5yYXcsCiAJCQlzaXplb2YoZHBjZF90ZXN0X3BhcmFtcykpOwog CkBAIC0xNzIxLDcgKzE3MjEsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfYXV0b21hdGVkX3Rlc3Qo c3RydWN0IGNvcmVfbGluayAqbGluaykKIAogCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCWxpbmss Ci0JCURQQ0RfQUREUkVTU19URVNUX1JFUVVFU1QsCisJCURQX1RFU1RfUkVRVUVTVCwKIAkJJnRl c3RfcmVxdWVzdC5yYXcsCiAJCXNpemVvZih1bmlvbiB0ZXN0X3JlcXVlc3QpKTsKIAlpZiAodGVz dF9yZXF1ZXN0LmJpdHMuTElOS19UUkFJTklORykgewpAQCAtMTcyOSw3ICsxNzI5LDcgQEAgc3Rh dGljIHZvaWQgaGFuZGxlX2F1dG9tYXRlZF90ZXN0KHN0cnVjdCBjb3JlX2xpbmsgKmxpbmspCiAJ CXRlc3RfcmVzcG9uc2UuYml0cy5BQ0sgPSAxOwogCQljb3JlX2xpbmtfd3JpdGVfZHBjZCgKIAkJ CWxpbmssCi0JCQlEUENEX0FERFJFU1NfVEVTVF9SRVNQT05TRSwKKwkJCURQX1RFU1RfUkVTUE9O U0UsCiAJCQkmdGVzdF9yZXNwb25zZS5yYXcsCiAJCQlzaXplb2YodGVzdF9yZXNwb25zZSkpOwog CQlkcF90ZXN0X3NlbmRfbGlua190cmFpbmluZyhsaW5rKTsKQEAgLTE3NTQsNyArMTc1NCw3IEBA IHN0YXRpYyB2b2lkIGhhbmRsZV9hdXRvbWF0ZWRfdGVzdChzdHJ1Y3QgY29yZV9saW5rICpsaW5r KQogCWlmICh0ZXN0X3Jlc3BvbnNlLmJpdHMuQUNLKQogCQljb3JlX2xpbmtfd3JpdGVfZHBjZCgK IAkJCWxpbmssCi0JCQlEUENEX0FERFJFU1NfVEVTVF9SRVNQT05TRSwKKwkJCURQX1RFU1RfUkVT UE9OU0UsCiAJCQkmdGVzdF9yZXNwb25zZS5yYXcsCiAJCQlzaXplb2YodGVzdF9yZXNwb25zZSkp OwogfQpAQCAtMTc5Miw3ICsxNzkyLDcgQEAgYm9vbCBkY19saW5rX2hhbmRsZV9ocGRfcnhfaXJx KGNvbnN0IHN0cnVjdCBkY19saW5rICpkY19saW5rKQogCQlkZXZpY2Vfc2VydmljZV9jbGVhci5i aXRzLkFVVE9NQVRFRF9URVNUID0gMTsKIAkJY29yZV9saW5rX3dyaXRlX2RwY2QoCiAJCQlsaW5r LAotCQkJRFBDRF9BRERSRVNTX0RFVklDRV9TRVJWSUNFX0lSUV9WRUNUT1IsCisJCQlEUF9ERVZJ Q0VfU0VSVklDRV9JUlFfVkVDVE9SLAogCQkJJmRldmljZV9zZXJ2aWNlX2NsZWFyLnJhdywKIAkJ CXNpemVvZihkZXZpY2Vfc2VydmljZV9jbGVhci5yYXcpKTsKIAkJZGV2aWNlX3NlcnZpY2VfY2xl YXIucmF3ID0gMDsKQEAgLTE4NzIsMTIgKzE4NzIsMTIgQEAgYm9vbCBpc19tc3Rfc3VwcG9ydGVk KHN0cnVjdCBjb3JlX2xpbmsgKmxpbmspCiAJcmV2LnJhdyAgPSAwOwogCWNhcC5yYXcgID0gMDsK IAotCXN0ID0gY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBEUENEX0FERFJFU1NfRFBDRF9SRVYs ICZyZXYucmF3LAorCXN0ID0gY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBEUF9EUENEX1JFViwg JnJldi5yYXcsCiAJCQlzaXplb2YocmV2KSk7CiAKIAlpZiAoc3QgPT0gRENfT0sgJiYgcmV2LnJh dyA+PSBEUENEX1JFVl8xMikgewogCi0JCXN0ID0gY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBE UENEX0FERFJFU1NfTVNUTV9DQVAsCisJCXN0ID0gY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBE UF9NU1RNX0NBUCwKIAkJCQkmY2FwLnJhdywgc2l6ZW9mKGNhcCkpOwogCQlpZiAoc3QgPT0gRENf T0sgJiYgY2FwLmJpdHMuTVNUX0NBUCA9PSAxKQogCQkJbXN0ID0gdHJ1ZTsKQEAgLTE5MjYsNyAr MTkyNiw3IEBAIHN0YXRpYyB2b2lkIGdldF9hY3RpdmVfY29udmVydGVyX2luZm8oCiAJCXVpbnQ4 X3QgZGV0X2NhcHNbNF07CiAJCXVuaW9uIGR3bnN0cmVhbV9wb3J0X2NhcHNfYnl0ZTAgKnBvcnRf Y2FwcyA9CiAJCQkodW5pb24gZHduc3RyZWFtX3BvcnRfY2Fwc19ieXRlMCAqKWRldF9jYXBzOwot CQljb3JlX2xpbmtfcmVhZF9kcGNkKGxpbmssIERQQ0RfQUREUkVTU19EV05fU1RSTV9QT1JUMF9D QVBTLAorCQljb3JlX2xpbmtfcmVhZF9kcGNkKGxpbmssIERQX0RPV05TVFJFQU1fUE9SVF8wLAog CQkJCWRldF9jYXBzLCBzaXplb2YoZGV0X2NhcHMpKTsKIAogCQlzd2l0Y2ggKHBvcnRfY2Fwcy0+ Yml0cy5EV05fU1RSTV9QT1JUWF9UWVBFKSB7CkBAIC0xOTYyLDcgKzE5NjIsNyBAQCBzdGF0aWMg dm9pZCBnZXRfYWN0aXZlX2NvbnZlcnRlcl9pbmZvKAogCQkvKiByZWFkIElFRUUgYnJhbmNoIGRl dmljZSBpZCAqLwogCQljb3JlX2xpbmtfcmVhZF9kcGNkKAogCQkJbGluaywKLQkJCURQQ0RfQURE UkVTU19CUkFOQ0hfREVWSUNFX0lEX1NUQVJULAorCQkJRFBfQlJBTkNIX09VSSwKIAkJCSh1aW50 OF90ICopJmRwX2lkLAogCQkJc2l6ZW9mKGRwX2lkKSk7CiAKQEAgLTE5ODIsNyArMTk4Miw3IEBA IHN0YXRpYyB2b2lkIGdldF9hY3RpdmVfY29udmVydGVyX2luZm8oCiAKIAkJY29yZV9saW5rX3Jl YWRfZHBjZCgKIAkJCWxpbmssCi0JCQlEUENEX0FERFJFU1NfQlJBTkNIX1JFVklTSU9OX1NUQVJU LAorCQkJRFBfQlJBTkNIX1JFVklTSU9OX1NUQVJULAogCQkJKHVpbnQ4X3QgKikmZHBfaHdfZndf cmV2aXNpb24sCiAJCQlzaXplb2YoZHBfaHdfZndfcmV2aXNpb24pKTsKIApAQCAtMjAwMCwxNiAr MjAwMCwxNiBAQCBzdGF0aWMgdm9pZCBkcF93YV9wb3dlcl91cF8wMDEwRkEoc3RydWN0IGNvcmVf bGluayAqbGluaywgdWludDhfdCAqZHBjZF9kYXRhLAogCWlmICghbGluay0+ZHBjZF9jYXBzLmRw Y2RfcmV2LnJhdykgewogCQlkbyB7CiAJCQlkcF9yZWNlaXZlcl9wb3dlcl9jdHJsKGxpbmssIHRy dWUpOwotCQkJY29yZV9saW5rX3JlYWRfZHBjZChsaW5rLCBEUENEX0FERFJFU1NfRFBDRF9SRVYs CisJCQljb3JlX2xpbmtfcmVhZF9kcGNkKGxpbmssIERQX0RQQ0RfUkVWLAogCQkJCQkJCWRwY2Rf ZGF0YSwgbGVuZ3RoKTsKIAkJCWxpbmstPmRwY2RfY2Fwcy5kcGNkX3Jldi5yYXcgPSBkcGNkX2Rh dGFbCi0JCQkJRFBDRF9BRERSRVNTX0RQQ0RfUkVWIC0KLQkJCQlEUENEX0FERFJFU1NfRFBDRF9S RVZdOworCQkJCURQX0RQQ0RfUkVWIC0KKwkJCQlEUF9EUENEX1JFVl07CiAJCX0gd2hpbGUgKHJl dHJ5KysgPCA0ICYmICFsaW5rLT5kcGNkX2NhcHMuZHBjZF9yZXYucmF3KTsKIAl9CiAKLQlkc19w b3J0LmJ5dGUgPSBkcGNkX2RhdGFbRFBDRF9BRERSRVNTX0RPV05TVFJFQU1fUE9SVF9QUkVTRU5U IC0KLQkJCQkgRFBDRF9BRERSRVNTX0RQQ0RfUkVWXTsKKwlkc19wb3J0LmJ5dGUgPSBkcGNkX2Rh dGFbRFBfRE9XTlNUUkVBTVBPUlRfUFJFU0VOVCAtCisJCQkJIERQX0RQQ0RfUkVWXTsKIAogCWlm IChsaW5rLT5kcGNkX2NhcHMuZG9uZ2xlX3R5cGUgPT0gRElTUExBWV9ET05HTEVfRFBfVkdBX0NP TlZFUlRFUikgewogCQlzd2l0Y2ggKGxpbmstPmRwY2RfY2Fwcy5icmFuY2hfZGV2X2lkKSB7CkBA IC0yMDM3LDE0ICsyMDM3LDE0IEBAIHN0YXRpYyB2b2lkIHJldHJpZXZlX3Bzcl9saW5rX2NhcChz dHJ1Y3QgY29yZV9saW5rICpsaW5rLAogewogCWlmIChlZHBfcmV2aXNpb24gPj0gRURQX1JFVklT SU9OXzEzKSB7CiAJCWNvcmVfbGlua19yZWFkX2RwY2QobGluaywKLQkJCQlEUENEX0FERFJFU1Nf UFNSX1NVUFBPUlRfVkVSLAorCQkJCURQX1BTUl9TVVBQT1JULAogCQkJCSh1aW50OF90ICopKCZs aW5rLT5wdWJsaWMucHNyX2NhcHMpLAogCQkJCXNpemVvZihsaW5rLT5wdWJsaWMucHNyX2NhcHMp KTsKIAkJaWYgKGxpbmstPnB1YmxpYy5wc3JfY2Fwcy5wc3JfdmVyc2lvbiAhPSAwKSB7CiAJCQl1 bnNpZ25lZCBjaGFyIHBzcl9jYXBhYmlsaXR5ID0gMDsKIAogCQkJY29yZV9saW5rX3JlYWRfZHBj ZChsaW5rLAotCQkJCQlEUENEX0FERFJFU1NfUFNSX0NBUEFCSUxJVFksCisJCQkJCSAgICBEUF9Q U1JfQ0FQUywKIAkJCQkJCSZwc3JfY2FwYWJpbGl0eSwKIAkJCQkJCXNpemVvZihwc3JfY2FwYWJp bGl0eSkpOwogCQkJLyogQml0IDAgZGV0ZXJtaW5lcyB3aGV0aGVyIGZhc3QgbGluayB0cmFpbmlu ZyBpcwpAQCAtMjA2NCw3ICsyMDY0LDcgQEAgc3RhdGljIHZvaWQgcmV0cmlldmVfcHNyX2xpbmtf Y2FwKHN0cnVjdCBjb3JlX2xpbmsgKmxpbmssCiAKIHN0YXRpYyB2b2lkIHJldHJpZXZlX2xpbmtf Y2FwKHN0cnVjdCBjb3JlX2xpbmsgKmxpbmspCiB7Ci0JdWludDhfdCBkcGNkX2RhdGFbRFBDRF9B RERSRVNTX1RSQUlOSU5HX0FVWF9SRF9JTlRFUlZBTCAtIERQQ0RfQUREUkVTU19EUENEX1JFViAr IDFdOworCXVpbnQ4X3QgZHBjZF9kYXRhW0RQX1RSQUlOSU5HX0FVWF9SRF9JTlRFUlZBTCAtIERQ X0RQQ0RfUkVWICsgMV07CiAKIAl1bmlvbiBkb3duX3N0cmVhbV9wb3J0X2NvdW50IGRvd25fc3Ry bV9wb3J0X2NvdW50OwogCXVuaW9uIGVkcF9jb25maWd1cmF0aW9uX2NhcCBlZHBfY29uZmlnX2Nh cDsKQEAgLTIwNzgsMzAgKzIwNzgsMzAgQEAgc3RhdGljIHZvaWQgcmV0cmlldmVfbGlua19jYXAo c3RydWN0IGNvcmVfbGluayAqbGluaykKIAogCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCWxpbmss Ci0JCURQQ0RfQUREUkVTU19EUENEX1JFViwKKwkJRFBfRFBDRF9SRVYsCiAJCWRwY2RfZGF0YSwK IAkJc2l6ZW9mKGRwY2RfZGF0YSkpOwogCiAJbGluay0+ZHBjZF9jYXBzLmRwY2RfcmV2LnJhdyA9 Ci0JCWRwY2RfZGF0YVtEUENEX0FERFJFU1NfRFBDRF9SRVYgLSBEUENEX0FERFJFU1NfRFBDRF9S RVZdOworCQlkcGNkX2RhdGFbRFBfRFBDRF9SRVYgLSBEUF9EUENEX1JFVl07CiAKIAl7CiAJCXVu aW9uIHRyYWluaW5nX2F1eF9yZF9pbnRlcnZhbCBhdXhfcmRfaW50ZXJ2YWw7CiAKIAkJYXV4X3Jk X2ludGVydmFsLnJhdyA9Ci0JCQlkcGNkX2RhdGFbRFBDRF9BRERSRVNTX1RSQUlOSU5HX0FVWF9S RF9JTlRFUlZBTF07CisJCQlkcGNkX2RhdGFbRFBfVFJBSU5JTkdfQVVYX1JEX0lOVEVSVkFMXTsK IAogCQlpZiAoYXV4X3JkX2ludGVydmFsLmJpdHMuRVhUX1JFQ0lFVkVSX0NBUF9GSUVMRF9QUkVT RU5UID09IDEpIHsKIAkJCWNvcmVfbGlua19yZWFkX2RwY2QoCiAJCQkJbGluaywKLQkJCQlEUENE X0FERFJFU1NfRFAxM19EUENEX1JFViwKKwkJCQlEUF9EUDEzX0RQQ0RfUkVWLAogCQkJCWRwY2Rf ZGF0YSwKIAkJCQlzaXplb2YoZHBjZF9kYXRhKSk7CiAJCX0KIAl9CiAKLQlkc19wb3J0LmJ5dGUg PSBkcGNkX2RhdGFbRFBDRF9BRERSRVNTX0RPV05TVFJFQU1fUE9SVF9QUkVTRU5UIC0KLQkJCQkg RFBDRF9BRERSRVNTX0RQQ0RfUkVWXTsKKwlkc19wb3J0LmJ5dGUgPSBkcGNkX2RhdGFbRFBfRE9X TlNUUkVBTVBPUlRfUFJFU0VOVCAtCisJCQkJIERQX0RQQ0RfUkVWXTsKIAogCWdldF9hY3RpdmVf Y29udmVydGVyX2luZm8oZHNfcG9ydC5ieXRlLCBsaW5rKTsKIApAQCAtMjExMSwyMSArMjExMSwy MSBAQCBzdGF0aWMgdm9pZCByZXRyaWV2ZV9saW5rX2NhcChzdHJ1Y3QgY29yZV9saW5rICpsaW5r KQogCQlkb3duX3N0cm1fcG9ydF9jb3VudC5iaXRzLklHTk9SRV9NU0FfVElNSU5HX1BBUkFNOwog CiAJbGluay0+ZHBjZF9jYXBzLm1heF9sbl9jb3VudC5yYXcgPSBkcGNkX2RhdGFbCi0JCURQQ0Rf QUREUkVTU19NQVhfTEFORV9DT1VOVCAtIERQQ0RfQUREUkVTU19EUENEX1JFVl07CisJCURQX01B WF9MQU5FX0NPVU5UIC0gRFBfRFBDRF9SRVZdOwogCiAJbGluay0+ZHBjZF9jYXBzLm1heF9kb3du X3NwcmVhZC5yYXcgPSBkcGNkX2RhdGFbCi0JCURQQ0RfQUREUkVTU19NQVhfRE9XTlNQUkVBRCAt IERQQ0RfQUREUkVTU19EUENEX1JFVl07CisJCURQX01BWF9ET1dOU1BSRUFEIC0gRFBfRFBDRF9S RVZdOwogCiAJbGluay0+cHVibGljLnJlcG9ydGVkX2xpbmtfY2FwLmxhbmVfY291bnQgPQogCQls aW5rLT5kcGNkX2NhcHMubWF4X2xuX2NvdW50LmJpdHMuTUFYX0xBTkVfQ09VTlQ7CiAJbGluay0+ cHVibGljLnJlcG9ydGVkX2xpbmtfY2FwLmxpbmtfcmF0ZSA9IGRwY2RfZGF0YVsKLQkJRFBDRF9B RERSRVNTX01BWF9MSU5LX1JBVEUgLSBEUENEX0FERFJFU1NfRFBDRF9SRVZdOworCQlEUF9NQVhf TElOS19SQVRFIC0gRFBfRFBDRF9SRVZdOwogCWxpbmstPnB1YmxpYy5yZXBvcnRlZF9saW5rX2Nh cC5saW5rX3NwcmVhZCA9CiAJCWxpbmstPmRwY2RfY2Fwcy5tYXhfZG93bl9zcHJlYWQuYml0cy5N QVhfRE9XTl9TUFJFQUQgPwogCQlMSU5LX1NQUkVBRF8wNV9ET1dOU1BSRUFEXzMwS0haIDogTElO S19TUFJFQURfRElTQUJMRUQ7CiAKIAllZHBfY29uZmlnX2NhcC5yYXcgPSBkcGNkX2RhdGFbCi0J CURQQ0RfQUREUkVTU19FRFBfQ09ORklHX0NBUCAtIERQQ0RfQUREUkVTU19EUENEX1JFVl07CisJ CURQX0VEUF9DT05GSUdVUkFUSU9OX0NBUCAtIERQX0RQQ0RfUkVWXTsKIAlsaW5rLT5kcGNkX2Nh cHMucGFuZWxfbW9kZV9lZHAgPQogCQllZHBfY29uZmlnX2NhcC5iaXRzLkFMVF9TQ1JBTUJMRVJf UkVTRVQ7CiAKQEAgLTIxNDIsNyArMjE0Miw3IEBAIHN0YXRpYyB2b2lkIHJldHJpZXZlX2xpbmtf Y2FwKHN0cnVjdCBjb3JlX2xpbmsgKmxpbmspCiAKIAkvKiByZWFkIHNpbmsgY291bnQgKi8KIAlj b3JlX2xpbmtfcmVhZF9kcGNkKGxpbmssCi0JCQlEUENEX0FERFJFU1NfU0lOS19DT1VOVCwKKwkJ CURQX1NJTktfQ09VTlQsCiAJCQkmbGluay0+ZHBjZF9jYXBzLnNpbmtfY291bnQucmF3LAogCQkJ c2l6ZW9mKGxpbmstPmRwY2RfY2Fwcy5zaW5rX2NvdW50LnJhdykpOwogCkBAIC0yMTUxLDcgKzIx NTEsNyBAQCBzdGF0aWMgdm9pZCByZXRyaWV2ZV9saW5rX2NhcChzdHJ1Y3QgY29yZV9saW5rICps aW5rKQogCWlmIChlZHBfY29uZmlnX2NhcC5iaXRzLkRQQ0RfRElTUExBWV9DT05UUk9MX0NBUEFC TEUpIHsKIAkJLyogUmVhZCB0aGUgUGFuZWwncyBlRFAgcmV2aXNpb24gYXQgRFBDRCA3MDBoLiAq LwogCQljb3JlX2xpbmtfcmVhZF9kcGNkKGxpbmssCi0JCQlEUENEX0FERFJFU1NfRURQX1JFViwK KwkJCURQX0VEUF9EUENEX1JFViwKIAkJCSh1aW50OF90ICopKCZsaW5rLT5lZHBfcmV2aXNpb24p LAogCQkJc2l6ZW9mKGxpbmstPmVkcF9yZXZpc2lvbikpOwogCX0KQEAgLTI0MTUsNyArMjQxNSw3 IEBAIGJvb2wgZGNfbGlua19kcF9zZXRfdGVzdF9wYXR0ZXJuKAogCQkJCQkJKHVuc2lnbmVkIGNo YXIpKHBhdHRlcm4pOwogCiAJCQljb3JlX2xpbmtfd3JpdGVfZHBjZChjb3JlX2xpbmssCi0JCQkJ CURQQ0RfQUREUkVTU19MSU5LX1FVQUxfTEFORTBfU0VULAorCQkJCQlEUF9MSU5LX1FVQUxfTEFO RTBfU0VULAogCQkJCQlsaW5rX3F1YWxfcGF0dGVybiwKIAkJCQkJc2l6ZW9mKGxpbmtfcXVhbF9w YXR0ZXJuKSk7CiAJCX0gZWxzZSBpZiAoY29yZV9saW5rLT5kcGNkX2NhcHMuZHBjZF9yZXYucmF3 ID49IERQQ0RfUkVWXzEwIHx8CkBAIC0yNDI4LDEyICsyNDI4LDEyIEBAIGJvb2wgZGNfbGlua19k cF9zZXRfdGVzdF9wYXR0ZXJuKAogCQkJICogc2V0dGluZyB0ZXN0IHBhdHRlcm4gZm9yIERQIDEu MS4KIAkJCSAqLwogCQkJY29yZV9saW5rX3JlYWRfZHBjZChjb3JlX2xpbmssCi0JCQkJCURQQ0Rf QUREUkVTU19UUkFJTklOR19QQVRURVJOX1NFVCwKKwkJCQkJRFBfVFJBSU5JTkdfUEFUVEVSTl9T RVQsCiAJCQkJCSZ0cmFpbmluZ19wYXR0ZXJuLnJhdywKIAkJCQkJc2l6ZW9mKHRyYWluaW5nX3Bh dHRlcm4pKTsKIAkJCXRyYWluaW5nX3BhdHRlcm4udjFfMy5MSU5LX1FVQUxfUEFUVEVSTl9TRVQg PSBwYXR0ZXJuOwogCQkJY29yZV9saW5rX3dyaXRlX2RwY2QoY29yZV9saW5rLAotCQkJCQlEUENE X0FERFJFU1NfVFJBSU5JTkdfUEFUVEVSTl9TRVQsCisJCQkJCURQX1RSQUlOSU5HX1BBVFRFUk5f U0VULAogCQkJCQkmdHJhaW5pbmdfcGF0dGVybi5yYXcsCiAJCQkJCXNpemVvZih0cmFpbmluZ19w YXR0ZXJuKSk7CiAJCX0KQEAgLTI0NTIsNyArMjQ1Miw3IEBAIGJvb2wgZGNfbGlua19kcF9zZXRf dGVzdF9wYXR0ZXJuKAogCQkJCQkJU0VUX1RFU1RfUEFUVEVSTl9QRU5ESU5HID0gMDsKIAkJCXRl c3RfcmVzcG9uc2UuYml0cy5BQ0sgPSAxOwogCQkJY29yZV9saW5rX3dyaXRlX2RwY2QoY29yZV9s aW5rLAotCQkJCQlEUENEX0FERFJFU1NfVEVTVF9SRVNQT05TRSwKKwkJCQkJRFBfVEVTVF9SRVNQ T05TRSwKIAkJCQkJJnRlc3RfcmVzcG9uc2UucmF3LAogCQkJCQlzaXplb2YodGVzdF9yZXNwb25z ZSkpOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29y ZS9kY19saW5rX2h3c3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X2xpbmtfaHdzcy5jCmluZGV4IGU4OWY1ZjEuLjdiOWZiZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfaHdzcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfaHdzcy5jCkBAIC00OCw3ICs0OCw3 IEBAIHZvaWQgZHBfcmVjZWl2ZXJfcG93ZXJfY3RybChzdHJ1Y3QgY29yZV9saW5rICpsaW5rLCBi b29sIG9uKQogCiAJc3RhdGUgPSBvbiA/IERQX1BPV0VSX1NUQVRFX0QwIDogRFBfUE9XRVJfU1RB VEVfRDM7CiAKLQljb3JlX2xpbmtfd3JpdGVfZHBjZChsaW5rLCBEUENEX0FERFJFU1NfUE9XRVJf U1RBVEUsICZzdGF0ZSwKKwljb3JlX2xpbmtfd3JpdGVfZHBjZChsaW5rLCBEUF9TRVRfUE9XRVIs ICZzdGF0ZSwKIAkJCXNpemVvZihzdGF0ZSkpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvaW5jbHVkZS9kcGNkX2RlZnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9pbmNsdWRlL2RwY2RfZGVmcy5oCmluZGV4IGZiYjI3MjkuLmYwMzc2ZjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9pbmNsdWRlL2RwY2RfZGVmcy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9pbmNsdWRlL2RwY2RfZGVmcy5oCkBA IC0yNiwyMjMgKzI2LDcgQEAKICNpZm5kZWYgX19EQUxfRFBDRF9ERUZTX0hfXwogI2RlZmluZSBf X0RBTF9EUENEX0RFRlNfSF9fCiAKLWVudW0gZHBjZF9hZGRyZXNzIHsKLS8qIGFkZHJlc3NlcyBt YXJrZWQgd2l0aCAxLjIgYXJlIG9ubHkgZGVmaW5lZCBzaW5jZSBEUCAxLjIgc3BlYyAqLwotCi0J LyogUmVjaWV2ZXIgQ2FwYWJpbGl0eSBGaWVsZCAqLwotCURQQ0RfQUREUkVTU19EUENEX1JFViA9 IDB4MDAwMDAsCi0JRFBDRF9BRERSRVNTX01BWF9MSU5LX1JBVEUgPSAweDAwMDAxLAotCURQQ0Rf QUREUkVTU19NQVhfTEFORV9DT1VOVCA9IDB4MDAwMDIsCi0JRFBDRF9BRERSRVNTX01BWF9ET1dO U1BSRUFEID0gMHgwMDAwMywKLQlEUENEX0FERFJFU1NfTk9SUCA9IDB4MDAwMDQsCi0JRFBDRF9B RERSRVNTX0RPV05TVFJFQU1fUE9SVF9QUkVTRU5UID0gMHgwMDAwNSwKLQlEUENEX0FERFJFU1Nf TUFJTl9MSU5LX0NIQU5ORUxfQ09ESU5HID0gMHgwMDAwNiwKLQlEUENEX0FERFJFU1NfRE9XTlNU UkVBTV9QT1JUX0NPVU5UID0gMHgwMDAwNywKLQlEUENEX0FERFJFU1NfUkVDRUlWRV9QT1JUMF9D QVAwID0gMHgwMDAwOCwKLQlEUENEX0FERFJFU1NfUkVDRUlWRV9QT1JUMF9DQVAxID0gMHgwMDAw OSwKLQlEUENEX0FERFJFU1NfUkVDRUlWRV9QT1JUMV9DQVAwID0gMHgwMDAwQSwKLQlEUENEX0FE RFJFU1NfUkVDRUlWRV9QT1JUMV9DQVAxID0gMHgwMDAwQiwKLQotCURQQ0RfQUREUkVTU19JMkNf U1BFRURfQ05UTF9DQVAgPSAweDAwMDBDLC8qMS4yKi8KLQlEUENEX0FERFJFU1NfRURQX0NPTkZJ R19DQVAgPSAweDAwMDBELC8qMS4yKi8KLQlEUENEX0FERFJFU1NfVFJBSU5JTkdfQVVYX1JEX0lO VEVSVkFMID0gMHgwMDBFLC8qMS4yKi8KLQotCURQQ0RfQUREUkVTU19NU1RNX0NBUCA9IDB4MDAw MjEsLyoxLjIqLwotCi0JLyogQXVkaW8gVmlkZW8gU3luYyBEYXRhIEZlaWxkICovCi0JRFBDRF9B RERSRVNTX0FWX0dSQU5VTEFSSVRZID0gMHgwMDIzLAotCURQQ0RfQUREUkVTU19BVURJT19ERUNP REVfTEFURU5DWTEgPSAweDAwMjQsCi0JRFBDRF9BRERSRVNTX0FVRElPX0RFQ09ERV9MQVRFTkNZ MiA9IDB4MDAyNSwKLQlEUENEX0FERFJFU1NfQVVESU9fUE9TVFBST0NFU1NJTkdfTEFURU5DWTEg PSAweDAwMjYsCi0JRFBDRF9BRERSRVNTX0FVRElPX1BPU1RQUk9DRVNTSU5HX0xBVEVOQ1kyID0g MHgwMDI3LAotCURQQ0RfQUREUkVTU19WSURFT19JTlRFUkxBQ0VEX0xBVEVOQ1kgPSAweDAwMjgs Ci0JRFBDRF9BRERSRVNTX1ZJREVPX1BST0dSRVNTSVZFX0xBVEVOQ1kgPSAweDAwMjksCi0JRFBD RF9BRERSRVNTX0FVRElPX0RFTEFZX0lOU0VSVDEgPSAweDAwMDJCLAotCURQQ0RfQUREUkVTU19B VURJT19ERUxBWV9JTlNFUlQyID0gMHgwMDAyQywKLQlEUENEX0FERFJFU1NfQVVESU9fREVMQVlf SU5TRVJUMyA9IDB4MDAwMkQsCi0KLQkvKiBBdWRpbyBjYXBhYmlsaXR5ICovCi0JRFBDRF9BRERS RVNTX05VTV9PRl9BVURJT19FTkRQT0lOVFMgPSAweDAwMDIyLAotCi0JRFBDRF9BRERSRVNTX0dV SURfU1RBUlQgPSAweDAwMDMwLC8qMS4yKi8KLQlEUENEX0FERFJFU1NfR1VJRF9FTkQgPSAweDAw MDNmLC8qMS4yKi8KLQotCURQQ0RfQUREUkVTU19QU1JfU1VQUE9SVF9WRVIgPSAweDAwMDcwLAot CURQQ0RfQUREUkVTU19QU1JfQ0FQQUJJTElUWSA9IDB4MDAwNzEsCi0KLQlEUENEX0FERFJFU1Nf RFdOX1NUUk1fUE9SVDBfQ0FQUyA9IDB4MDAwODAsLyoxLjJhKi8KLQotCS8qIExpbmsgQ29uZmln dXJhdGlvbiBGaWVsZCAqLwotCURQQ0RfQUREUkVTU19MSU5LX0JXX1NFVCA9IDB4MDAxMDAsCi0J RFBDRF9BRERSRVNTX0xBTkVfQ09VTlRfU0VUID0gMHgwMDEwMSwKLQlEUENEX0FERFJFU1NfVFJB SU5JTkdfUEFUVEVSTl9TRVQgPSAweDAwMTAyLAotCURQQ0RfQUREUkVTU19MQU5FMF9TRVQgPSAw eDAwMTAzLAotCURQQ0RfQUREUkVTU19MQU5FMV9TRVQgPSAweDAwMTA0LAotCURQQ0RfQUREUkVT U19MQU5FMl9TRVQgPSAweDAwMTA1LAotCURQQ0RfQUREUkVTU19MQU5FM19TRVQgPSAweDAwMTA2 LAotCURQQ0RfQUREUkVTU19ET1dOU1BSRUFEX0NOVEwgPSAweDAwMTA3LAotCURQQ0RfQUREUkVT U19JMkNfU1BFRURfQ05UTCA9IDB4MDAxMDksLyoxLjIqLwotCi0JRFBDRF9BRERSRVNTX0VEUF9D T05GSUdfU0VUID0gMHgwMDEwQSwKLQlEUENEX0FERFJFU1NfTElOS19RVUFMX0xBTkUwX1NFVCA9 IDB4MDAxMEIsCi0JRFBDRF9BRERSRVNTX0xJTktfUVVBTF9MQU5FMV9TRVQgPSAweDAwMTBDLAot CURQQ0RfQUREUkVTU19MSU5LX1FVQUxfTEFORTJfU0VUID0gMHgwMDEwRCwKLQlEUENEX0FERFJF U1NfTElOS19RVUFMX0xBTkUzX1NFVCA9IDB4MDAxMEUsCi0KLQlEUENEX0FERFJFU1NfTEFORTBf U0VUMiA9IDB4MDAxMEYsLyoxLjIqLwotCURQQ0RfQUREUkVTU19MQU5FMl9TRVQyID0gMHgwMDEx MCwvKjEuMiovCi0KLQlEUENEX0FERFJFU1NfTVNUTV9DTlRMID0gMHgwMDExMSwvKjEuMiovCi0K LQlEUENEX0FERFJFU1NfUFNSX0VOQUJMRV9DRkcgPSAweDAxNzAsCi0KLQkvKiBQYXlsb2FkIFRh YmxlIENvbmZpZ3VyYXRpb24gRmllbGQgMS4yICovCi0JRFBDRF9BRERSRVNTX1BBWUxPQURfQUxM T0NBVEVfU0VUID0gMHgwMDFDMCwKLQlEUENEX0FERFJFU1NfUEFZTE9BRF9BTExPQ0FURV9TVEFS VF9USU1FU0xPVCA9IDB4MDAxQzEsCi0JRFBDRF9BRERSRVNTX1BBWUxPQURfQUxMT0NBVEVfVElN RVNMT1RfQ09VTlQgPSAweDAwMUMyLAotCi0JRFBDRF9BRERSRVNTX1NJTktfQ09VTlQgPSAweDAy MDAsCi0JRFBDRF9BRERSRVNTX0RFVklDRV9TRVJWSUNFX0lSUV9WRUNUT1IgPSAweDAyMDEsCi0K LQkvKiBMaW5rIC8gU2luayBTdGF0dXMgRmllbGQgKi8KLQlEUENEX0FERFJFU1NfTEFORV8wMV9T VEFUVVMgPSAweDAwMjAyLAotCURQQ0RfQUREUkVTU19MQU5FXzIzX1NUQVRVUyA9IDB4MDAyMDMs Ci0JRFBDRF9BRERSRVNTX0xBTkVfQUxJR05fU1RBVFVTX1VQREFURUQgPSAweDAyMDQsCi0JRFBD RF9BRERSRVNTX1NJTktfU1RBVFVTID0gMHgwMjA1LAotCi0JLyogQWRqdXN0IFJlcXVlc3QgRmll bGQgKi8KLQlEUENEX0FERFJFU1NfQURKVVNUX1JFUVVFU1RfTEFORTBfMSA9IDB4MDIwNiwKLQlE UENEX0FERFJFU1NfQURKVVNUX1JFUVVFU1RfTEFORTJfMyA9IDB4MDIwNywKLQlEUENEX0FERFJF U1NfQURKVVNUX1JFUVVFU1RfUE9TVF9DVVJTT1IyID0gMHgwMjBDLAotCi0JLyogVGVzdCBSZXF1 ZXN0IEZpZWxkICovCi0JRFBDRF9BRERSRVNTX1RFU1RfUkVRVUVTVCA9IDB4MDIxOCwKLQlEUENE X0FERFJFU1NfVEVTVF9MSU5LX1JBVEUgPSAweDAyMTksCi0JRFBDRF9BRERSRVNTX1RFU1RfTEFO RV9DT1VOVCA9IDB4MDIyMCwKLQlEUENEX0FERFJFU1NfVEVTVF9QQVRURVJOID0gMHgwMjIxLAot CURQQ0RfQUREUkVTU19URVNUX01JU0MxID0gMHgwMjMyLAotCi0JLyogUGh5IFRlc3QgUGF0dGVy biBGaWVsZCAqLwotCURQQ0RfQUREUkVTU19URVNUX1BIWV9QQVRURVJOID0gMHgwMjQ4LAotCURQ Q0RfQUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzdfMCA9IDB4MDI1MCwKLQlEUENE X0FERFJFU1NfVEVTVF84MEJJVF9DVVNUT01fUEFUVEVSTl8xNV84ID0gMHgwMjUxLAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzIzXzE2ID0gMHgwMjUyLAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzMxXzI0ID0gMHgwMjUzLAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzM5XzMyID0gMHgwMjU0LAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzQ3XzQwID0gMHgwMjU1LAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzU1XzQ4ID0gMHgwMjU2LAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzYzXzU2ID0gMHgwMjU3LAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzcxXzY0ID0gMHgwMjU4LAotCURQQ0Rf QUREUkVTU19URVNUXzgwQklUX0NVU1RPTV9QQVRURVJOXzc5XzcyID0gMHgwMjU5LAotCi0JLyog VGVzdCBSZXNwb25zZSBGaWVsZCovCi0JRFBDRF9BRERSRVNTX1RFU1RfUkVTUE9OU0UgPSAweDAy NjAsCi0KLQkvKiBBdWRpbyBUZXN0IFBhdHRlcm4gRmllbGQgMS4yKi8KLQlEUENEX0FERFJFU1Nf VEVTVF9BVURJT19NT0RFID0gMHgwMjcxLAotCURQQ0RfQUREUkVTU19URVNUX0FVRElPX1BBVFRF Uk5fVFlQRSA9IDB4MDI3MiwKLQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hfMSA9 IDB4MDI3MywKLQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hfMiA9IDB4MDI3NCwK LQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hfMyA9IDB4MDI3NSwKLQlEUENEX0FE RFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hfNCA9IDB4MDI3NiwKLQlEUENEX0FERFJFU1NfVEVT VF9BVURJT19QRVJJT0RfQ0hfNSA9IDB4MDI3NywKLQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19Q RVJJT0RfQ0hfNiA9IDB4MDI3OCwKLQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hf NyA9IDB4MDI3OSwKLQlEUENEX0FERFJFU1NfVEVTVF9BVURJT19QRVJJT0RfQ0hfOCA9IDB4MDI3 QSwKLQotCS8qIFBheWxvYWQgVGFibGUgU3RhdHVzIEZpZWxkICovCi0JRFBDRF9BRERSRVNTX1BB WUxPQURfVEFCTEVfVVBEQVRFX1NUQVRVUyA9IDB4MDAyQzAsLyoxLjIqLwotCURQQ0RfQUREUkVT U19WQ19QQVlMT0FEX0lEX1NMT1QxID0gMHgwMDJDMSwvKjEuMiovCi0JRFBDRF9BRERSRVNTX1ZD X1BBWUxPQURfSURfU0xPVDYzID0gMHgwMDJGRiwvKjEuMiovCi0KLQkvKiBTb3VyY2UgRGV2aWNl IFNwZWNpZmljIEZpZWxkICovCi0JRFBDRF9BRERSRVNTX1NPVVJDRV9ERVZJQ0VfSURfU1RBUlQg PSAweDAzMDAsCi0JRFBDRF9BRERSRVNTX1NPVVJDRV9ERVZJQ0VfSURfRU5EID0gMHgwMzAxLAot CURQQ0RfQUREUkVTU19BTURfSU5URVJOQUxfREVCVUdfU1RBUlQgICAgICAgPSAweDAzMEMsCi0J RFBDRF9BRERSRVNTX0FNRF9JTlRFUk5BTF9ERUJVR19FTkQgICAgICAgICA9IDB4MDMwRiwKLQlE UENEX0FERFJFU1NfU09VUkNFX1NQRUNJRklDX1RBQkxFX1NUQVJUICAgID0gMHgwMzEwLAotCURQ Q0RfQUREUkVTU19TT1VSQ0VfU1BFQ0lGSUNfVEFCTEVfRU5EICAgICAgPSAweDAzN0YsCi0JRFBD RF9BRERSRVNTX1NPVVJDRV9SRVNFUlZFRF9TVEFSVCAgICAgICAgID0gMHgwMzgwLAotCURQQ0Rf QUREUkVTU19TT1VSQ0VfUkVTRVJWRURfRU5EICAgICAgICAgICA9IDB4MDNGRiwKLQotCS8qIFNp bmsgRGV2aWNlIFNwZWNpZmljIEZpZWxkICovCi0JRFBDRF9BRERSRVNTX1NJTktfREVWSUNFX0lE X1NUQVJUID0gMHgwNDAwLAotCURQQ0RfQUREUkVTU19TSU5LX0RFVklDRV9JRF9FTkQgPSAweDA0 MDIsCi0JRFBDRF9BRERSRVNTX1NJTktfREVWSUNFX1NUUl9TVEFSVCA9IDB4MDQwMywKLQlEUENE X0FERFJFU1NfU0lOS19ERVZJQ0VfU1RSX0VORCA9IDB4MDQwOCwKLQlEUENEX0FERFJFU1NfU0lO S19SRVZJU0lPTl9TVEFSVCA9IDB4NDA5LAotCURQQ0RfQUREUkVTU19TSU5LX1JFVklTSU9OX0VO RCA9IDB4NDBCLAotCi0JLyogQnJhbmNoIERldmljZSBTcGVjaWZpYyBGaWVsZCAqLwotCURQQ0Rf QUREUkVTU19CUkFOQ0hfREVWSUNFX0lEX1NUQVJUID0gMHgwNTAwLAotCURQQ0RfQUREUkVTU19C UkFOQ0hfREVWSUNFX0lEX0VORCA9IDB4MDUwMiwKLQlEUENEX0FERFJFU1NfQlJBTkNIX0RFVklD RV9TVFJfU1RBUlQgPSAweDA1MDMsCi0JRFBDRF9BRERSRVNTX0JSQU5DSF9ERVZJQ0VfU1RSX0VO RCA9IDB4MDUwOCwKLQlEUENEX0FERFJFU1NfQlJBTkNIX1JFVklTSU9OX1NUQVJUID0gMHgwNTA5 LAotCURQQ0RfQUREUkVTU19CUkFOQ0hfUkVWSVNJT05fRU5EID0gMHgwNTBCLAotCi0JRFBDRF9B RERSRVNTX1BPV0VSX1NUQVRFID0gMHgwNjAwLAotCi0JLyogRURQIHJlbGF0ZWQgKi8KLQlEUENE X0FERFJFU1NfRURQX1JFViA9IDB4MDcwMCwKLQlEUENEX0FERFJFU1NfRURQX0NBUEFCSUxJVFkg PSAweDA3MDEsCi0JRFBDRF9BRERSRVNTX0VEUF9CQUNLTElHSFRfQURKVVNUX0NBUCA9IDB4MDcw MiwKLQlEUENEX0FERFJFU1NfRURQX0dFTkVSQUxfQ0FQMiA9IDB4MDcwMywKLQotCURQQ0RfQURE UkVTU19FRFBfRElTUExBWV9DT05UUk9MID0gMHgwNzIwLAotCURQQ0RfQUREUkVTU19TVVBQT1JU RURfTElOS19SQVRFUyA9IDB4MDAwMTAsIC8qIGVkcCAxLjQgKi8KLQlEUENEX0FERFJFU1NfRURQ X0JBQ0tMSUdIVF9TRVQgPSAweDA3MjEsCi0JRFBDRF9BRERSRVNTX0VEUF9CQUNLTElHSFRfQlJJ R0hUTkVTU19NU0IgPSAweDA3MjIsCi0JRFBDRF9BRERSRVNTX0VEUF9CQUNLTElHSFRfQlJJR0hU TkVTU19MU0IgPSAweDA3MjMsCi0JRFBDRF9BRERSRVNTX0VEUF9QV01HRU5fQklUX0NPVU5UID0g MHgwNzI0LAotCURQQ0RfQUREUkVTU19FRFBfUFdNR0VOX0JJVF9DT1VOVF9DQVBfTUlOID0gMHgw NzI1LAotCURQQ0RfQUREUkVTU19FRFBfUFdNR0VOX0JJVF9DT1VOVF9DQVBfTUFYID0gMHgwNzI2 LAotCURQQ0RfQUREUkVTU19FRFBfQkFDS0xJR0hUX0NPTlRST0xfU1RBVFVTID0gMHgwNzI3LAot CURQQ0RfQUREUkVTU19FRFBfQkFDS0xJR0hUX0ZSRVFfU0VUID0gMHgwNzI4LAotCURQQ0RfQURE UkVTU19FRFBfUkVWRVJWRUQgPSAweDA3MjksCi0JRFBDRF9BRERSRVNTX0VEUF9CQUNLTElHTlRf RlJFUV9DQVBfTUlOX01TQiA9IDB4MDcyQSwKLQlEUENEX0FERFJFU1NfRURQX0JBQ0tMSUdOVF9G UkVRX0NBUF9NSU5fTUlEID0gMHgwNzJCLAotCURQQ0RfQUREUkVTU19FRFBfQkFDS0xJR05UX0ZS RVFfQ0FQX01JTl9MU0IgPSAweDA3MkMsCi0JRFBDRF9BRERSRVNTX0VEUF9CQUNLTElHTlRfRlJF UV9DQVBfTUFYX01TQiA9IDB4MDcyRCwKLQlEUENEX0FERFJFU1NfRURQX0JBQ0tMSUdOVF9GUkVR X0NBUF9NQVhfTUlEID0gMHgwNzJFLAotCURQQ0RfQUREUkVTU19FRFBfQkFDS0xJR05UX0ZSRVFf Q0FQX01BWF9MU0IgPSAweDA3MkYsCi0KLQlEUENEX0FERFJFU1NfRURQX0RCQ19NSU5JTVVNX0JS SUdIVE5FU1NfU0VUID0gMHgwNzMyLAotCURQQ0RfQUREUkVTU19FRFBfREJDX01BWElNVU1fQlJJ R0hUTkVTU19TRVQgPSAweDA3MzMsCi0KLQkvKiBTaWRlYmFuZCBNU0cgQnVmZmVycyAxLjIgKi8K LQlEUENEX0FERFJFU1NfRE9XTl9SRVFfU1RBUlQgPSAweDAxMDAwLAotCURQQ0RfQUREUkVTU19E T1dOX1JFUV9FTkQgPSAweDAxMWZmLAotCi0JRFBDRF9BRERSRVNTX1VQX1JFUF9TVEFSVCA9IDB4 MDEyMDAsCi0JRFBDRF9BRERSRVNTX1VQX1JFUF9FTkQgPSAweDAxM2ZmLAotCi0JRFBDRF9BRERS RVNTX0RPV05fUkVQX1NUQVJUID0gMHgwMTQwMCwKLQlEUENEX0FERFJFU1NfRE9XTl9SRVBfRU5E ID0gMHgwMTVmZiwKLQotCURQQ0RfQUREUkVTU19VUF9SRVFfU1RBUlQgPSAweDAxNjAwLAotCURQ Q0RfQUREUkVTU19VUF9SRVFfRU5EID0gMHgwMTdmZiwKLQotCS8qIEVTSSAoRXZlbnQgU3RhdHVz IEluZGljYXRvcikgRmllbGQgMS4yICovCi0JRFBDRF9BRERSRVNTX1NJTktfQ09VTlRfRVNJID0g MHgwMjAwMiwKLQlEUENEX0FERFJFU1NfREVWSUNFX0lSUV9FU0kwID0gMHgwMjAwMywKLQlEUENE X0FERFJFU1NfREVWSUNFX0lSUV9FU0kxID0gMHgwMjAwNCwKLQkvKkB0b2RvIG1vdmUgZHBjZF9h ZGRyZXNzX0xhbmUwMVN0YXR1cyBiYWNrIGhlcmUqLwotCi0JRFBDRF9BRERSRVNTX1BTUl9FUlJP Ul9TVEFUVVMgPSAweDIwMDYsCi0JRFBDRF9BRERSRVNTX1BTUl9FVkVOVF9TVEFUVVMgPSAweDIw MDcsCi0JRFBDRF9BRERSRVNTX1BTUl9TSU5LX1NUQVRVUyA9IDB4MjAwOCwKLQlEUENEX0FERFJF U1NfUFNSX0RCR19SRUdJU1RFUjAgPSAweDIwMDksCi0JRFBDRF9BRERSRVNTX1BTUl9EQkdfUkVH SVNURVIxID0gMHgyMDBBLAotCi0JRFBDRF9BRERSRVNTX0RQMTNfRFBDRF9SRVYgPSAweDIyMDAs Ci0JRFBDRF9BRERSRVNTX0RQMTNfTUFYX0xJTktfUkFURSA9IDB4MjIwMSwKLQotCS8qIFRyYXZp cyBzcGVjaWZpYyBhZGRyZXNzZXMgKi8KLQlEUENEX0FERFJFU1NfVFJBVklTX1NJTktfREVWX1NF TCA9IDB4NWYwLAotCURQQ0RfQUREUkVTU19UUkFWSVNfU0lOS19BQ0NFU1NfT0ZGU0VUCT0gMHg1 ZjEsCi0JRFBDRF9BRERSRVNTX1RSQVZJU19TSU5LX0FDQ0VTU19SRUcgPSAweDVmMiwKLX07Cisj aW5jbHVkZSAiZHJtX2RwX2hlbHBlci5oIgogCiBlbnVtIGRwY2RfcmV2aXNpb24gewogCURQQ0Rf UkVWXzEwID0gMHgxMCwKQEAgLTI1MiwxMSArMzYsNiBAQCBlbnVtIGRwY2RfcmV2aXNpb24gewog CURQQ0RfUkVWXzE0ID0gMHgxNAogfTsKIAotZW51bSBkcF9wd3Jfc3RhdGUgewotCURQX1BXUl9T VEFURV9EMCA9IDEsLyogZGlyZWN0IEhXIHRyYW5zbGF0aW9uISAqLwotCURQX1BXUl9TVEFURV9E MwotfTsKLQogLyogdGhlc2UgYXJlIHRoZSB0eXBlcyBzdG9yZWQgYXQgRE9XTlNUUkVBTVBPUlRf UFJFU0VOVCAqLwogZW51bSBkcGNkX2Rvd25zdHJlYW1fcG9ydF90eXBlIHsKIAlET1dOU1RSRUFN X0RQID0gMCwKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK