From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-we0-x242.google.com ([2a00:1450:400c:c03::242]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WEETz-0001nG-D9 for barebox@lists.infradead.org; Fri, 14 Feb 2014 08:50:53 +0000 Received: by mail-we0-f194.google.com with SMTP id u56so2550740wes.5 for ; Fri, 14 Feb 2014 00:50:26 -0800 (PST) From: =?UTF-8?q?Rapha=C3=ABl=20Poggi?= Date: Fri, 14 Feb 2014 09:50:39 +0100 Message-Id: <1392367839-15671-1-git-send-email-poggi.raph@gmail.com> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: =?UTF-8?q?=5BPATCH=5D=20ARM=3A=20add=20minimal=20support=20for=20the=20Freescale=20Quad=20UDOO=20Board?= To: barebox@lists.infradead.org Cc: Raphael Poggi RnJvbTogUmFwaGFlbCBQb2dnaSA8cG9nZ2kucmFwaEBnbWFpbC5jb20+CgpBZGRpbmcgbWluaW1h bCBzdXBwb3J0IGZvciB0aGUgVURPTyBib2FyZC4KCkZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0 IHRoZSBib2FyZDogaHR0cDovL3d3dy51ZG9vLm9yZy8KClNpZ25lZC1vZmYtYnk6IFJhcGhhZWwg UG9nZ2kgPHBvZ2dpLnJhcGhAZ21haWwuY29tPgotLS0KIGFyY2gvYXJtL2JvYXJkcy9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJtL2JvYXJkcy91ZG9v L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgfCAgICAzICsKIGFyY2gvYXJtL2JvYXJkcy91 ZG9vL2JvYXJkLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMjE0ICsrKysrKysrKysrKysrKysr KysrKwogYXJjaC9hcm0vYm9hcmRzL3Vkb28vZW52L2NvbmZpZy1ib2FyZCAgICAgICAgICAgICB8 ICAgIDYgKwogYXJjaC9hcm0vYm9hcmRzL3Vkb28vZmxhc2gtaGVhZGVyLW14Ni11ZG9vLmlteGNm ZyB8ICAxMDQgKysrKysrKysrKwogYXJjaC9hcm0vYm9hcmRzL3Vkb28vbG93bGV2ZWwuYyAgICAg ICAgICAgICAgICAgICB8ICAgMTcgKysKIGFyY2gvYXJtL2NvbmZpZ3MvdWRvb19xdWFkX2RlZmNv bmZpZyAgICAgICAgICAgICAgfCAgIDg2ICsrKysrKysrKwogYXJjaC9hcm0vZHRzL01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKy0KIGFyY2gvYXJtL2R0cy9pbXg2 cS11ZG9vLmR0cyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKwogYXJjaC9hcm0vZHRz L2lteDZxZGwtdWRvby5kdHNpICAgICAgICAgICAgICAgICAgICB8ICAxMDggKysrKysrKysrKysK IGFyY2gvYXJtL21hY2gtaW14L0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1 ICsKIGFyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAxICsKIGltYWdlcy9NYWtlZmlsZS5pbXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICA1ICsKIDEzIGZpbGVzIGNoYW5nZWQsIDU3NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9hcmRzL3Vkb28vTWFrZWZpbGUKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib2FyZHMvdWRvby9ib2FyZC5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgYXJjaC9hcm0vYm9hcmRzL3Vkb28vZW52L2NvbmZpZy1ib2FyZAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJkcy91ZG9vL2ZsYXNoLWhlYWRlci1teDYtdWRvby5pbXhj ZmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib2FyZHMvdWRvby9sb3dsZXZlbC5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vY29uZmlncy91ZG9vX3F1YWRfZGVmY29uZmlnCiBj cmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vZHRzL2lteDZxLXVkb28uZHRzCiBjcmVhdGUgbW9k ZSAxMDA2NDQgYXJjaC9hcm0vZHRzL2lteDZxZGwtdWRvby5kdHNpCgpkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vYm9hcmRzL01ha2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRzL01ha2VmaWxlCmluZGV4IGJl ZmRkZDAuLmE0NWFkZWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2JvYXJkcy9NYWtlZmlsZQorKysg Yi9hcmNoL2FybS9ib2FyZHMvTWFrZWZpbGUKQEAgLTkxLDYgKzkxLDcgQEAgb2JqLSQoQ09ORklH X01BQ0hfVFgyNSkJCQkJKz0ga2Fyby10eDI1Lwogb2JqLSQoQ09ORklHX01BQ0hfVFgyOCkJCQkJ Kz0ga2Fyby10eDI4Lwogb2JqLSQoQ09ORklHX01BQ0hfVFg1MSkJCQkJKz0ga2Fyby10eDUxLwog b2JqLSQoQ09ORklHX01BQ0hfVFg1MykJCQkJKz0ga2Fyby10eDUzLworb2JqLSQoQ09ORklHX01B Q0hfVURPTykgICAgICAgICAgICAgKz0gdWRvby8KIG9iai0kKENPTkZJR19NQUNIX1VTQl9BOTI2 MCkJCQkrPSB1c2ItYTkyNngvCiBvYmotJChDT05GSUdfTUFDSF9VU0JfQTkyNjMpCQkJKz0gdXNi LWE5MjZ4Lwogb2JqLSQoQ09ORklHX01BQ0hfVVNCX0E5RzIwKQkJCSs9IHVzYi1hOTI2eC8KZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy91ZG9vL01ha2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRz L3Vkb28vTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUxNzc4 OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2JvYXJkcy91ZG9vL01ha2VmaWxlCkBAIC0w LDAgKzEsMyBAQAorb2JqLXkgKz0gYm9hcmQubyBmbGFzaC1oZWFkZXItbXg2LXVkb28uZGNkLm8K K2V4dHJhLXkgKz0gZmxhc2gtaGVhZGVyLW14Ni11ZG9vLmRjZC5TIGZsYXNoLWhlYWRlci1teDYt dWRvby5kY2QKK2x3bC15ICs9IGxvd2xldmVsLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJk cy91ZG9vL2JvYXJkLmMgYi9hcmNoL2FybS9ib2FyZHMvdWRvby9ib2FyZC5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNDdlOWMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNo L2FybS9ib2FyZHMvdWRvby9ib2FyZC5jCkBAIC0wLDAgKzEsMjE0IEBACisvKgorICogQ29weXJp Z2h0IChDKSAyMDE0IFJhcGhhw6tsIFBvZ2dpCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU3RlZmZl biBUcnVtdHJhciwgUGVuZ3V0cm9uaXgKKyAqCisgKiBiYXNlZCBvbiBhcmNoL2FybS9ib2FyZHMv ZnJlZXNjYWxlLW14Ni1hcm0yL2JvYXJkLmMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgPGNvbW1vbi5oPgor I2luY2x1ZGUgPGluaXQuaD4KKyNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgorI2luY2x1ZGUgPG1h Y2gvaW14Ni1yZWdzLmg+CisjaW5jbHVkZSA8ZmVjLmg+CisjaW5jbHVkZSA8Z3Bpby5oPgorI2lu Y2x1ZGUgPG1hY2gvYmJ1Lmg+CisjaW5jbHVkZSA8YXNtL2FybWxpbnV4Lmg+CisjaW5jbHVkZSA8 Z2VuZXJhdGVkL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxwYXJ0aXRpb24uaD4KKyNpbmNsdWRl IDxsaW51eC9waHkuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vbW11Lmg+ CisjaW5jbHVkZSA8bWFjaC9nZW5lcmljLmg+CisjaW5jbHVkZSA8c2l6ZXMuaD4KKyNpbmNsdWRl IDxuZXQuaD4KKyNpbmNsdWRlIDxsaW51eC9taWNyZWxfcGh5Lmg+CisjaW5jbHVkZSA8bWFjaC9p bXg2Lmg+CisjaW5jbHVkZSA8bWFjaC9kZXZpY2VzLWlteDYuaD4KKyNpbmNsdWRlIDxtYWNoL2lv bXV4LW14Ni5oPgorI2luY2x1ZGUgPHNwaS9zcGkuaD4KKyNpbmNsdWRlIDxtYWNoL3NwaS5oPgor I2luY2x1ZGUgPG1hY2gvdXNiLmg+CisKK3N0YXRpYyBpb211eF92M19jZmdfdCB1ZG9vX2VuZXRf Z3Bpb19wYWRzXzFbXSA9IHsKKwlNWDZRX1BBRF9FTkVUX01ESU9fX0VORVRfTURJTwkJfCBNVVhf UEFEX0NUUkwoTVg2UV9FTkVUX1BBRF9DVFJMKSwKKwlNWDZRX1BBRF9FTkVUX01EQ19fRU5FVF9N REMJCQl8IE1VWF9QQURfQ1RSTChNWDZRX0VORVRfUEFEX0NUUkwpLAorCU1YNlFfUEFEX1JHTUlJ X1RYQ19fRU5FVF9SR01JSV9UWEMJfCBNVVhfUEFEX0NUUkwoTVg2UV9FTkVUX1BBRF9DVFJMKSwK KwlNWDZRX1BBRF9SR01JSV9URDBfX0VORVRfUkdNSUlfVEQwCXwgTVVYX1BBRF9DVFJMKE1YNlFf RU5FVF9QQURfQ1RSTCksCisJTVg2UV9QQURfUkdNSUlfVEQxX19FTkVUX1JHTUlJX1REMQl8IE1V WF9QQURfQ1RSTChNWDZRX0VORVRfUEFEX0NUUkwpLAorCU1YNlFfUEFEX1JHTUlJX1REMl9fRU5F VF9SR01JSV9URDIJfCBNVVhfUEFEX0NUUkwoTVg2UV9FTkVUX1BBRF9DVFJMKSwKKwlNWDZRX1BB RF9SR01JSV9URDNfX0VORVRfUkdNSUlfVEQzCXwgTVVYX1BBRF9DVFJMKE1YNlFfRU5FVF9QQURf Q1RSTCksCisJTVg2UV9QQURfUkdNSUlfVFhfQ1RMX19FTkVUX1JHTUlJX1RYX0NUTAl8IE1VWF9Q QURfQ1RSTChNWDZRX0VORVRfUEFEX0NUUkwpLAorCU1YNlFfUEFEX0VORVRfUkVGX0NMS19fRU5F VF9UWF9DTEsJfCBNVVhfUEFEX0NUUkwoTVg2UV9FTkVUX1BBRF9DVFJMKSwKKwlNWDZRX1BBRF9S R01JSV9SWENfX0VORVRfUkdNSUlfUlhDCXwgTVVYX1BBRF9DVFJMKE1YNlFfRU5FVF9QQURfQ1RS TCksCisJLyogUkdNSUkgcmVzZXQgKi8KKwkvKiBhbGltZW50YXppb25lIGV0aGVybmV0Ki8KKwlN WDZRX1BBRF9FSU1fRUIzX19HUElPXzJfMzEJCXwgTVVYX1BBRF9DVFJMKE5PX1BBRF9DVFJMKSwK KwkvKiBwaW4gMzIgLSAxIC0gKE1PREUwKSBhbGwgKi8KKwlNWDZRX1BBRF9SR01JSV9SRDBfX0dQ SU9fNl8yNQl8IE1VWF9QQURfQ1RSTChOT19QQURfQ1RSTCksCisJLyogcGluIDMxIC0gMSAtIChN T0RFMSkgYWxsICovCisJTVg2UV9QQURfUkdNSUlfUkQxX19HUElPXzZfMjcJfCBNVVhfUEFEX0NU UkwoTk9fUEFEX0NUUkwpLAorCS8qIHBpbiAyOCAtIDEgLSAoTU9ERTIpIGFsbCAqLworCU1YNlFf UEFEX1JHTUlJX1JEMl9fR1BJT182XzI4CXwgTVVYX1BBRF9DVFJMKE5PX1BBRF9DVFJMKSwKKwkv KiBwaW4gMjcgLSAxIC0gKE1PREUzKSBhbGwgKi8KKwlNWDZRX1BBRF9SR01JSV9SRDNfX0dQSU9f Nl8yOQl8IE1VWF9QQURfQ1RSTChOT19QQURfQ1RSTCksCisJLyogcGluIDMzIC0gMSAtIChDTEsx MjVfRU4pIDEyNU1oeiBjbG9ja291dCBlbmFibGVkICovCit9OworCitzdGF0aWMgaW9tdXhfdjNf Y2ZnX3QgdWRvb19lbmV0X2dwaW9fcGFkc18yW10gPSB7CisJLyogRXRoZXJuZXQgKi8KKwlNWDZR X1BBRF9SR01JSV9SWENfX0dQSU9fNl8zMCwJCS8qIFBIWUFEICovCisJTVg2UV9QQURfUkdNSUlf UkQwX19HUElPXzZfMjUsCQkvKiBNT0RFMCAqLworCU1YNlFfUEFEX1JHTUlJX1JEMV9fR1BJT182 XzI3LAkJLyogTU9ERTEgKi8KKwlNWDZRX1BBRF9SR01JSV9SRDJfX0dQSU9fNl8yOCwJCS8qIE1P REUyICovCisJTVg2UV9QQURfUkdNSUlfUkQzX19HUElPXzZfMjksCQkvKiBNT0RFMyAqLworCU1Y NlFfUEFEX1JHTUlJX1JYX0NUTF9fR1BJT182XzI0LAorfTsKKworc3RhdGljIGludCB1ZG9vX21l bV9pbml0KHZvaWQpCit7CisJYXJtX2FkZF9tZW1fZGV2aWNlKCJyYW0wIiwgMHgxMDAwMDAwMCwg U1pfMUcpOworCisJcmV0dXJuIDA7Cit9CittZW1faW5pdGNhbGwodWRvb19tZW1faW5pdCk7CisK K3N0YXRpYyBpbnQga3N6OTAyMXJuX3BoeV9maXh1cChzdHJ1Y3QgcGh5X2RldmljZSAqZGV2KQor eworCisJcGh5X3dyaXRlKCBkZXYgLCAweDA5ICwgMHgxYzAwICk7CisJcGh5X3dyaXRlKCBkZXYg LCAweDQgLCAweDAwMDAgKTsKKwlwaHlfd3JpdGUoIGRldiAsIDB4NSAsIDB4MDAwMCApOworCXBo eV93cml0ZSggZGV2ICwgMHg2ICwgMHgwMDAwICk7CisJcGh5X3dyaXRlKCBkZXYgLCAweDggLCAw eDAzZmYgKTsKKworCisJLyogZG8gc2FtZSBhcyBsaW51eCBrZXJuZWwgKi8KKwkvKiBtaW4gcngg ZGF0YSBkZWxheSAqLworCXBoeV93cml0ZShkZXYsIDB4MGIsIDB4ODEwNSk7CisJcGh5X3dyaXRl KGRldiwgMHgwYywgMHgwMDAwKTsKKworCS8qIG1heCByeC90eCBjbG9jayBkZWxheSwgbWluIHJ4 L3R4IGNvbnRyb2wgZGVsYXkgKi8KKwlwaHlfd3JpdGUoZGV2LCAweDBiLCAweDgxMDQpOworCXBo eV93cml0ZShkZXYsIDB4MGMsIDB4ZjBmMCk7CisJcGh5X3dyaXRlKGRldiwgMHgwYiwgMHgxMDQp OworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdWRvb19rc3o5MDIxcm5fc2V0dXAodm9p ZCkKK3sKKwlteGNfaW9tdXhfdjNfc2V0dXBfbXVsdGlwbGVfcGFkcyh1ZG9vX2VuZXRfZ3Bpb19w YWRzXzEsCisJCQlBUlJBWV9TSVpFKHVkb29fZW5ldF9ncGlvX3BhZHNfMSkpOworCisJZ3Bpb19k aXJlY3Rpb25fb3V0cHV0KCBJTVhfR1BJT19OUiggMiAsIDMxICkgLCAxICk7IC8qIFBvd2VyIG9u IGVuZXQgKi8KKworCS8qIE1PREUgc3RyYXAtaW4gcGluczogYWR2ZXJ0aXNlIGFsbCBjYXBhYmls aXRpZXMgKi8KKwlncGlvX2RpcmVjdGlvbl9vdXRwdXQoMTg1LCAxKTsgLyogR1BJTyA2LTI1ICov CisJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KDE4NywgMSk7IC8qIEdQSU8gNi0yNyAqLworCWdwaW9f ZGlyZWN0aW9uX291dHB1dCgxODgsIDEpOyAvKiBHUElPIDYtMjgqLworCWdwaW9fZGlyZWN0aW9u X291dHB1dCgxODksIDEpOyAvKiBHUElPIDYtMjkgKi8KKworCS8qIEVuYWJsZSAxMjUgTUh6IGNs b2NrIG91dHB1dCAqLworICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dCgxODQsIDEpOyAvKiBHUElP IDYtMjQgKi8KKworCW1kZWxheSgxMCk7CisKKwltZGVsYXkoIDEwMCApOworCisJZ3Bpb19mcmVl KElNWF9HUElPX05SKDYsIDI0KSk7CisJZ3Bpb19mcmVlKElNWF9HUElPX05SKDYsIDI1KSk7CisJ Z3Bpb19mcmVlKElNWF9HUElPX05SKDYsIDI3KSk7CisJZ3Bpb19mcmVlKElNWF9HUElPX05SKDYs IDI4KSk7CisJZ3Bpb19mcmVlKElNWF9HUElPX05SKDYsIDI5KSk7CisKKwlteGNfaW9tdXhfdjNf c2V0dXBfbXVsdGlwbGVfcGFkcyh1ZG9vX2VuZXRfZ3Bpb19wYWRzXzIsIEFSUkFZX1NJWkUodWRv b19lbmV0X2dwaW9fcGFkc18yKSk7CisKKwlyZXR1cm4gMDsKK30KKy8qCisgKiBEbyB0aGlzIGJl Zm9yZSB0aGUgZmVjIGluaXRpYWxpemVzIGJ1dCBhZnRlciBvdXIKKyAqIGdwaW9zIGFyZSBhdmFp bGFibGUuCisgKi8KK2ZzX2luaXRjYWxsKHVkb29fa3N6OTAyMXJuX3NldHVwKTsKKworc3RhdGlj IHZvaWQgdWRvb19laGNpX2luaXQodm9pZCkKK3sKKwkvKiBodWIgcmVzZXQgKi8KKwlncGlvX2Rp cmVjdGlvbl9vdXRwdXQoMjA0LCAwKTsKKwl1ZGVsYXkoMjAwMCk7CisJZ3Bpb19zZXRfdmFsdWUo MjA0LCAxKTsKK30KKworc3RhdGljIGlvbXV4X3YzX2NmZ190IGNvbnN0IHdkb2dfcGFkc1tdID0g eworCU1YNlFfUEFEX0VJTV9BMjRfX0dQSU9fNV80IHwgTVVYX1BBRF9DVFJMKE5PX1BBRF9DVFJM KSwKKwlNWDZRX1BBRF9FSU1fRDE5X19FUElUMV9FUElUTywKK307CisKKyNkZWZpbmUgV0RUX0VO CQlJTVhfR1BJT19OUig1LCA0KQorI2RlZmluZSBXRFRfVFJHCQlJTVhfR1BJT19OUigzLCAxOSkK K3N0YXRpYyB2b2lkIHNldHVwX2lvbXV4X3dkb2codm9pZCkKK3sKKwlteGNfaW9tdXhfdjNfc2V0 dXBfbXVsdGlwbGVfcGFkcyh3ZG9nX3BhZHMsIEFSUkFZX1NJWkUod2RvZ19wYWRzKSk7CisJZ3Bp b19kaXJlY3Rpb25fb3V0cHV0KFdEVF9UUkcsIDApOworCWdwaW9fZGlyZWN0aW9uX291dHB1dChX RFRfRU4sIDEpOworCWdwaW9fZGlyZWN0aW9uX2lucHV0KFdEVF9UUkcpOworfQorCitzdGF0aWMg dm9pZCB1ZG9vX2VwaXRfaW5pdCggdm9pZCApCit7CisKKwl3cml0ZWwoIDB4MDAwMDAwMCAsIDB4 MjBEMDAwMCApOworCXdyaXRlbCggMHgxNDIwMDBGICwgMHgyMEQwMDAwICk7CisJd3JpdGVsKCAw eDEwMDAwICwgMHgyMEQwMDA4ICk7CisJd3JpdGVsKCAweDAgLCAweDIwRDAwMEMgKTsKK30KKwor c3RhdGljIGludCB1ZG9vX2RldmljZXNfaW5pdCh2b2lkKQoreworCWlmICghb2ZfbWFjaGluZV9p c19jb21wYXRpYmxlKCJmc2wsaW14NnEtdWRvbyIpKQorCQlyZXR1cm4gMDsKKworCXNldHVwX2lv bXV4X3dkb2coKTsKKwl1ZG9vX2VoY2lfaW5pdCgpOworCXVkb29fZXBpdF9pbml0KCk7CisKKwlh cm1saW51eF9zZXRfYm9vdHBhcmFtcygodm9pZCAqKTB4MTAwMDAxMDApOworCWFybWxpbnV4X3Nl dF9hcmNoaXRlY3R1cmUoNDc3Mik7CisKKwlyZXR1cm4gMDsKK30KK2RldmljZV9pbml0Y2FsbCh1 ZG9vX2RldmljZXNfaW5pdCk7CisKK3N0YXRpYyBpbnQgdWRvb19jb3JlZGV2aWNlc19pbml0KHZv aWQpCit7CisJaWYgKCFvZl9tYWNoaW5lX2lzX2NvbXBhdGlibGUoImZzbCxpbXg2cS11ZG9vIikp CisJCXJldHVybiAwOworCisJcGh5X3JlZ2lzdGVyX2ZpeHVwX2Zvcl91aWQoUEhZX0lEX0tTWjkw MjEsIE1JQ1JFTF9QSFlfSURfTUFTSywKKwkJCQkJICAga3N6OTAyMXJuX3BoeV9maXh1cCk7CisJ cmV0dXJuIDA7Cit9Citjb3JlZGV2aWNlX2luaXRjYWxsKHVkb29fY29yZWRldmljZXNfaW5pdCk7 CisKK3N0YXRpYyBpbnQgdWRvb19wb3N0Y29yZV9pbml0KHZvaWQpCit7CisJaWYgKCFvZl9tYWNo aW5lX2lzX2NvbXBhdGlibGUoImZzbCxpbXg2cS11ZG9vIikpCisJCXJldHVybiAwOworCisJaW14 Nl9pbml0X2xvd2xldmVsKCk7CisKKwliYXJlYm94X3NldF9ob3N0bmFtZSgidWRvbyIpOworCisJ cmV0dXJuIDA7Cit9Citwb3N0Y29yZV9pbml0Y2FsbCh1ZG9vX3Bvc3Rjb3JlX2luaXQpOwpkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL3Vkb28vZW52L2NvbmZpZy1ib2FyZCBiL2FyY2gvYXJt L2JvYXJkcy91ZG9vL2Vudi9jb25maWctYm9hcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNGNhYmFjNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2JvYXJkcy91ZG9v L2Vudi9jb25maWctYm9hcmQKQEAgLTAsMCArMSw2IEBACisjIS9iaW4vc2gKKworIyBib2FyZCBk ZWZhdWx0cywgZG8gbm90IGNoYW5nZSBpbiBydW5uaW5nIHN5c3RlbS4gQ2hhbmdlIC9lbnYvY29u ZmlnCisjIGluc3RlYWQKKworZ2xvYmFsLmxpbnV4LmJvb3RhcmdzLmJhc2U9ImNvbnNvbGU9dHR5 bXhjMSwxMTUyMDAiCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdWRvby9mbGFzaC1oZWFk ZXItbXg2LXVkb28uaW14Y2ZnIGIvYXJjaC9hcm0vYm9hcmRzL3Vkb28vZmxhc2gtaGVhZGVyLW14 Ni11ZG9vLmlteGNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWQ5MmRi Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9hcmRzL3Vkb28vZmxhc2gtaGVhZGVyLW14 Ni11ZG9vLmlteGNmZwpAQCAtMCwwICsxLDEwNCBAQAorc29jIGlteDYKK2xvYWRhZGRyIDB4MjAw MDAwMDAKK2RjZG9mcyAweDQwMAorCisKKy8qIE1YNl9JT01fRFJBTV9TRFFTMCAtPiBNWDZfSU9N X0RSQU1fU0RRUzcgKi8KK3dtIDMyIDB4MDIwZTA1YTggMHgwMDAwMDAzMAord20gMzIgMHgwMjBl MDViMCAweDAwMDAwMDMwCit3bSAzMiAweDAyMGUwNTI0IDB4MDAwMDAwMzAKK3dtIDMyIDB4MDIw ZTA1MWMgMHgwMDAwMDAzMAord20gMzIgMHgwMjBlMDUxOCAweDAwMDAwMDMwCit3bSAzMiAweDAy MGUwNTBjIDB4MDAwMDAwMzAKK3dtIDMyIDB4MDIwZTA1YjggMHgwMDAwMDAzMAord20gMzIgMHgw MjBlMDVjMCAweDAwMDAwMDMwCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCisKKy8qIE1YNl9JT01fRFJBTV9EUU0wIC0+IE1YNl9JT01fRFJBTV9EUU03ICov Cit3bSAzMiAweDAyMGUwNWFjIDB4MDAwMjAwMzAKK3dtIDMyIDB4MDIwZTA1YjQgMHgwMDAyMDAz MAord20gMzIgMHgwMjBlMDUyOCAweDAwMDIwMDMwCit3bSAzMiAweDAyMGUwNTIwIDB4MDAwMjAw MzAKK3dtIDMyIDB4MDIwZTA1MTQgMHgwMDAyMDAzMAord20gMzIgMHgwMjBlMDUxMCAweDAwMDIw MDMwCit3bSAzMiAweDAyMGUwNWJjIDB4MDAwMjAwMzAKK3dtIDMyIDB4MDIwZTA1YzQgMHgwMDAy MDAzMAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKword20g MzIgMHgwMjBlMDU2YyAweDAwMDIwMDMwIC8qIE1YNl9JT01fRFJBTV9DQVMgKi8KK3dtIDMyIDB4 MDIwZTA1NzggMHgwMDAyMDAzMCAvKiBNWDZfSU9NX0RSQU1fUkFTICovCit3bSAzMiAweDAyMGUw NTg4IDB4MDAwMjAwMzAgLyogTVg2X0lPTV9EUkFNX1NEQ0xLXzAgKi8KK3dtIDMyIDB4MDIwZTA1 OTQgMHgwMDAyMDAzMAkvKiBNWDZfSU9NX0RSQU1fU0RDTEtfMSAqLword20gMzIgMHgwMjBlMDU3 YyAweDAwMDIwMDMwIC8qIE1YNl9JT01fRFJBTV9SRVNFVCAqLword20gMzIgMHgwMjBlMDU5MCAw eDAwMDAzMDAwCit3bSAzMiAweDAyMGUwNTk4IDB4MDAwMDMwMDAKK3dtIDMyIDB4MDIwZTA1OGMg MHgwMDAwMDAwMAord20gMzIgMHgwMjBlMDU5YyAweDAwMDAzMDMwCit3bSAzMiAweDAyMGUwNWEw IDB4MDAwMDMwMzAKKworLyogTVg2X0lPTV9HUlBfQjBEUyAtPiBNWDZfSU9NX0dSUF9CN0RTICov Cit3bSAzMiAweDAyMGUwNzg0IDB4MDAwMDAwMzAKK3dtIDMyIDB4MDIwZTA3ODggMHgwMDAwMDAz MAord20gMzIgMHgwMjBlMDc5NCAweDAwMDAwMDMwCit3bSAzMiAweDAyMGUwNzljIDB4MDAwMDAw MzAKK3dtIDMyIDB4MDIwZTA3YTAgMHgwMDAwMDAzMAord20gMzIgMHgwMjBlMDdhNCAweDAwMDAw MDMwCit3bSAzMiAweDAyMGUwN2E4IDB4MDAwMDAwMzAKK3dtIDMyIDB4MDIwZTA3NDggMHgwMDAw MDAzMAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKword20gMzIg MHgwMjBlMDc0YyAweDAwMDAwMDMwIC8qIE1YNl9JT01fR1JQX0FERERTICovCit3bSAzMiAweDAy MGUwNzUwIDB4MDAwMjAwMDAKK3dtIDMyIDB4MDIwZTA3NTggMHgwMDAwMDAwMAord20gMzIgMHgw MjBlMDc3NCAweDAwMDIwMDAwCit3bSAzMiAweDAyMGUwNzhjIDB4MDAwMDAwMzAgLyogTVg2X0lP TV9HUlBfQ1RMRFMgKi8KK3dtIDMyIDB4MDIwZTA3OTggMHgwMDBjMDAwMAord20gMzIgMHgwMjFi MDgxYyAweDMzMzMzMzMzCit3bSAzMiAweDAyMWIwODIwIDB4MzMzMzMzMzMKK3dtIDMyIDB4MDIx YjA4MjQgMHgzMzMzMzMzMword20gMzIgMHgwMjFiMDgyOCAweDMzMzMzMzMzCit3bSAzMiAweDAy MWI0ODFjIDB4MzMzMzMzMzMKK3dtIDMyIDB4MDIxYjQ4MjAgMHgzMzMzMzMzMword20gMzIgMHgw MjFiNDgyNCAweDMzMzMzMzMzCit3bSAzMiAweDAyMWI0ODI4IDB4MzMzMzMzMzMKKworCit3bSAz MiAweDAyMWIwMDA0IDB4MDAwMjAwMzYKK3dtIDMyIDB4MDIxYjAwMDggMHgwOTQ0NDA0MAord20g MzIgMHgwMjFiMDAwYyAweDU0NTk3OTU1Cit3bSAzMiAweDAyMWIwMDEwIDB4RkYzMjhGNjQKK3dt IDMyIDB4MDIxYjAwMTQgMHgwMUZGMDBEQgord20gMzIgMHgwMjFiMDAxOCAweDAwMDAxNzQwCit3 bSAzMiAweDAyMWIwMDFjIDB4MDAwMDgwMDAKK3dtIDMyIDB4MDIxYjAwMmMgMHgwMDAwMjZEMgor d20gMzIgMHgwMjFiMDAzMCAweDAwNTkxMDIzCit3bSAzMiAweDAyMWIwMDQwIDB4MDAwMDAwMjcK K3dtIDMyIDB4MDIxYjAwMDAgMHg4MzFBMDAwMAord20gMzIgMHgwMjFiMDAxYyAweDA0MDg4MDMy Cit3bSAzMiAweDAyMWIwMDFjIDB4MDAwMDgwMzMKK3dtIDMyIDB4MDIxYjAwMWMgMHgwMDA0ODAz MQord20gMzIgMHgwMjFiMDAxYyAweDA5NDA4MDMwCit3bSAzMiAweDAyMWIwMDFjIDB4MDQwMDgw NDAKK3dtIDMyIDB4MDIxYjA4MDAgMHhBMTM4MDAwMword20gMzIgMHgwMjFiNDgwMCAweEExMzgw MDAzCit3bSAzMiAweDAyMWIwMDIwIDB4MDAwMDU4MDAKK3dtIDMyIDB4MDIxYjA4MTggMHgwMDAx MTExNword20gMzIgMHgwMjFiNDgxOCAweDAwMDExMTE3Cit3bSAzMiAweDAyMWIwODNjIDB4NDM1 MTAzNjAKK3dtIDMyIDB4MDIxYjA4NDAgMHgwMzQyMDMzRgord20gMzIgMHgwMjFiNDgzYyAweDAz M0YwMzNGCit3bSAzMiAweDAyMWI0ODQwIDB4MDMyOTAyNjYKK3dtIDMyIDB4MDIxYjA4NDggMHg0 QjNFNDE0MQord20gMzIgMHgwMjFiNDg0OCAweDQ3NDEzQjRBCit3bSAzMiAweDAyMWIwODUwIDB4 NDI0MDQ4NDMKK3dtIDMyIDB4MDIxYjQ4NTAgMHg0QzNGNEM0NQord20gMzIgMHgwMjFiMDgwYyAw eDAwMzUwMDM1Cit3bSAzMiAweDAyMWIwODEwIDB4MDAxRjAwMUYKK3dtIDMyIDB4MDIxYjQ4MGMg MHgwMDAxMDAwMQord20gMzIgMHgwMjFiNDgxMCAweDAwMDEwMDAxCit3bSAzMiAweDAyMWIwOGI4 IDB4MDAwMDA4MDAKK3dtIDMyIDB4MDIxYjQ4YjggMHgwMDAwMDgwMAord20gMzIgMHgwMjFiMDAw NCAweDAwMDI1NTc2Cit3bSAzMiAweDAyMWIwNDA0IDB4MDAwMTEwMDYKK3dtIDMyIDB4MDIxYjAw MWMgMHgwMDAwMDAwMAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvdWRvby9sb3dsZXZl bC5jIGIvYXJjaC9hcm0vYm9hcmRzL3Vkb28vbG93bGV2ZWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5iNTRkZGZlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9h cmRzL3Vkb28vbG93bGV2ZWwuYwpAQCAtMCwwICsxLDE3IEBACisjaW5jbHVkZSA8Y29tbW9uLmg+ CisjaW5jbHVkZSA8c2l6ZXMuaD4KKyNpbmNsdWRlIDxhc20vYmFyZWJveC1hcm0taGVhZC5oPgor I2luY2x1ZGUgPGFzbS9iYXJlYm94LWFybS5oPgorCitleHRlcm4gY2hhciBfX2R0Yl9pbXg2cV91 ZG9vX3N0YXJ0W107CisKK0VOVFJZX0ZVTkNUSU9OKHN0YXJ0X2lteDZfdWRvbywgcjAsIHIxLCBy MikKK3sKKwl1aW50MzJfdCBmZHQ7CisKKwlhcm1fY3B1X2xvd2xldmVsX2luaXQoKTsKKworCWZk dCA9ICh1aW50MzJfdClfX2R0Yl9pbXg2cV91ZG9vX3N0YXJ0IC0gZ2V0X3J1bnRpbWVfb2Zmc2V0 KCk7CisKKwliYXJlYm94X2FybV9lbnRyeSgweDEwMDAwMDAwLCBTWl8xRywgZmR0KTsKK30KZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvdWRvb19xdWFkX2RlZmNvbmZpZyBiL2FyY2gvYXJt L2NvbmZpZ3MvdWRvb19xdWFkX2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi44ODAzMThmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy91ZG9v X3F1YWRfZGVmY29uZmlnCkBAIC0wLDAgKzEsODYgQEAKK0NPTkZJR19CVUlMVElOX0RUQj15CitD T05GSUdfQlVJTFRJTl9EVEJfTkFNRT0iaW14NnEtdWRvbyIKK0NPTkZJR19BUkNIX0lNWD15CitD T05GSUdfSU1YX01VTFRJX0JPQVJEUz15CitDT05GSUdfTUFDSF9VRE9PPXkKK0NPTkZJR19JTVhf SUlNPXkKK0NPTkZJR19JTVhfSUlNX0ZVU0VfQkxPVz15CitDT05GSUdfVEhVTUIyX0JBUkVCT1g9 eQorQ09ORklHX0NNRF9BUk1fTU1VSU5GTz15CitDT05GSUdfQVJNX09QVElNWkVEX1NUUklOR19G VU5DVElPTlM9eQorQ09ORklHX0FSTV9VTldJTkQ9eQorQ09ORklHX01NVT15CitDT05GSUdfTUFM TE9DX1NJWkU9MHg0MDAwMDAwCitDT05GSUdfTUFMTE9DX1RMU0Y9eQorQ09ORklHX0tBTExTWU1T PXkKK0NPTkZJR19MT05HSEVMUD15CitDT05GSUdfSFVTSF9GQU5DWV9QUk9NUFQ9eQorQ09ORklH X0NNRExJTkVfRURJVElORz15CitDT05GSUdfQVVUT19DT01QTEVURT15CitDT05GSUdfTUVOVT15 CitDT05GSUdfQ09OU09MRV9BQ1RJVkFURV9OT05FPXkKK0NPTkZJR19ERUZBVUxUX0VOVklST05N RU5UX0dFTkVSSUNfTkVXPXkKK0NPTkZJR19ERUZBVUxUX0VOVklST05NRU5UX1BBVEg9ImFyY2gv YXJtL2JvYXJkcy91ZG9vL2VudiIKK0NPTkZJR19SRVNFVF9TT1VSQ0U9eQorQ09ORklHX0NNRF9F RElUPXkKK0NPTkZJR19DTURfU0xFRVA9eQorQ09ORklHX0NNRF9NU0xFRVA9eQorQ09ORklHX0NN RF9TQVZFRU5WPXkKK0NPTkZJR19DTURfRVhQT1JUPXkKK0NPTkZJR19DTURfUkVBRExJTkU9eQor Q09ORklHX0NNRF9NRU5VPXkKK0NPTkZJR19DTURfTUVOVV9NQU5BR0VNRU5UPXkKK0NPTkZJR19D TURfVElNRT15CitDT05GSUdfQ01EX0xOPXkKK0NPTkZJR19DTURfVEZUUD15CitDT05GSUdfQ01E X0ZJTEVUWVBFPXkKK0NPTkZJR19DTURfRUNIT19FPXkKK0NPTkZJR19DTURfTUVNSU5GTz15CitD T05GSUdfQ01EX0lPTUVNPXkKK0NPTkZJR19DTURfQ1JDPXkKK0NPTkZJR19DTURfQ1JDX0NNUD15 CitDT05GSUdfQ01EX01ENVNVTT15CitDT05GSUdfQ01EX0ZMQVNIPXkKK0NPTkZJR19DTURfQk9P VE1fU0hPV19UWVBFPXkKK0NPTkZJR19DTURfQk9PVE1fVkVSQk9TRT15CitDT05GSUdfQ01EX0JP T1RNX0lOSVRSRD15CitDT05GSUdfQ01EX0JPT1RNX09GVFJFRT15CitDT05GSUdfQ01EX0JPT1RN X09GVFJFRV9VSU1BR0U9eQorQ09ORklHX0NNRF9CT09UTV9BSU1BR0U9eQorIyBDT05GSUdfQ01E X0JPT1RVIGlzIG5vdCBzZXQKK0NPTkZJR19DTURfUkVTRVQ9eQorQ09ORklHX0NNRF9HTz15CitD T05GSUdfQ01EX09GVFJFRT15CitDT05GSUdfQ01EX09GX1BST1BFUlRZPXkKK0NPTkZJR19DTURf T0ZfTk9ERT15CitDT05GSUdfQ01EX0JBUkVCT1hfVVBEQVRFPXkKK0NPTkZJR19DTURfVElNRU9V VD15CitDT05GSUdfQ01EX1BBUlRJVElPTj15CitDT05GSUdfQ01EX01BR0lDVkFSPXkKK0NPTkZJ R19DTURfTUFHSUNWQVJfSEVMUD15CitDT05GSUdfQ01EX0dQSU89eQorQ09ORklHX0NNRF9VTkNP TVBSRVNTPXkKK0NPTkZJR19DTURfU1BJPXkKK0NPTkZJR19DTURfTUlJVE9PTD15CitDT05GSUdf Q01EX0NMSz15CitDT05GSUdfTkVUPXkKK0NPTkZJR19ORVRfREhDUD15CitDT05GSUdfTkVUX1BJ Tkc9eQorQ09ORklHX05FVF9ORVRDT05TT0xFPXkKK0NPTkZJR19ORVRfUkVTT0xWPXkKK0NPTkZJ R19PRkRFVklDRT15CitDT05GSUdfRFJJVkVSX05FVF9GRUNfSU1YPXkKK0NPTkZJR19EUklWRVJf U1BJX0lNWD15CitDT05GSUdfTVREPXkKK0NPTkZJR19NVERfTTI1UDgwPXkKK0NPTkZJR19NVERf U1NUMjVMPXkKK0NPTkZJR19VU0I9eQorQ09ORklHX1VTQl9FSENJPXkKK0NPTkZJR19VU0JfU1RP UkFHRT15CitDT05GSUdfTUNJPXkKK0NPTkZJR19NQ0lfSU1YX0VTREhDPXkKK0NPTkZJR19GU19U RlRQPXkKK0NPTkZJR19GU19ORlM9eQorQ09ORklHX0ZTX0ZBVD15CitDT05GSUdfRlNfRkFUX0xG Tj15CitDT05GSUdfTFpPX0RFQ09NUFJFU1M9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vZHRzL01h a2VmaWxlIGIvYXJjaC9hcm0vZHRzL01ha2VmaWxlCmluZGV4IDA3NTA4ZTMuLjQ1YjRiNTQgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtL2R0cy9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9kdHMvTWFrZWZp bGUKQEAgLTIzLDcgKzIzLDggQEAgZHRiLSQoQ09ORklHX0FSQ0hfSU1YNikgKz0gaW14NnEtZ2s4 MDIuZHRiIFwKIAlpbXg2cS1waHl0ZWMtcGJhYjAxLmR0YiBcCiAJaW14NmRsLWh1bW1pbmdib2Fy ZC5kdGIgXAogCWlteDZxLW5pdHJvZ2VuNnguZHRiIFwKLQlpbXg2ZGwtbml0cm9nZW42eC5kdGIK KwlpbXg2ZGwtbml0cm9nZW42eC5kdGIgXAorICAgIGlteDZxLXVkb28uZHRiCiBkdGItJChDT05G SUdfQVJDSF9NVkVCVSkgKz0gZG92ZS1jdWJveC5kdGIKIGR0Yi0kKENPTkZJR19BUkNIX1NPQ0ZQ R0EpICs9IHNvY2ZwZ2FfY3ljbG9uZTVfc29ja2l0LmR0YiBcCiAJc29jZnBnYV9jeWNsb25lNV9z b2NyYXRlcy5kdGIKQEAgLTU1LDYgKzU2LDcgQEAgcGJsLSQoQ09ORklHX01BQ0hfU09DRlBHQV9U RVJBU0lDX1NPQ0tJVCkgKz0gc29jZnBnYV9jeWNsb25lNV9zb2NraXQuZHRiLm8KIHBibC0kKENP TkZJR19NQUNIX1NPTElEUlVOX0hVTU1JTkdCT0FSRCkgKz0gaW14NmRsLWh1bW1pbmdib2FyZC5k dGIubwogcGJsLSQoQ09ORklHX01BQ0hfU0FCUkVMSVRFKSArPSBpbXg2cS1zYWJyZWxpdGUuZHRi Lm8gaW14NmRsLXNhYnJlbGl0ZS5kdGIubwogcGJsLSQoQ09ORklHX01BQ0hfTklUUk9HRU42WCkg Kz0gaW14NnEtbml0cm9nZW42eC5kdGIubyBpbXg2ZGwtbml0cm9nZW42eC5kdGIubworcGJsLSQo Q09ORklHX01BQ0hfVURPTykgKz0gaW14NnEtdWRvby5kdGIubwogCiAuU0VDT05EQVJZOiAkKG9i aikvJChCVUlMVElOX0RUQikuZHRiLlMKIC5TRUNPTkRBUlk6ICQocGF0c3Vic3QgJSwkKG9iaikv JS5TLCQoZHRiLXkpKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vZHRzL2lteDZxLXVkb28uZHRzIGIv YXJjaC9hcm0vZHRzL2lteDZxLXVkb28uZHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmRhNTU4ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9kdHMvaW14NnEtdWRv by5kdHMKQEAgLTAsMCArMSwyMyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDE0IFJhcGhhw6tsIFBv Z2dpCisgKiBDb3B5cmlnaHQgMjAxMiBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICog Q29weXJpZ2h0IDIwMTEgTGluYXJvIEx0ZC4KKyAqCisgKiBUaGUgY29kZSBjb250YWluZWQgaGVy ZWluIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Uu IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyAqIFZlcnNpb24gMiBvciBsYXRlciBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKKyAqCisg KiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLmh0bWwKKyAq IGh0dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbAorICovCisKKy9kdHMtdjEvOwor CisjaW5jbHVkZSAiaW14NnEuZHRzaSIKKyNpbmNsdWRlICJpbXg2cWRsLXVkb28uZHRzaSIKKwor LyB7CisJbW9kZWwgPSAiRnJlZXNjYWxlIGkuTVg2IFF1YWQgVURPTyBCb2FyZCI7CisJY29tcGF0 aWJsZSA9ICJmc2wsaW14NnEtdWRvbyIsICJmc2wsaW14NnEiOworfTsKKwpkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vZHRzL2lteDZxZGwtdWRvby5kdHNpIGIvYXJjaC9hcm0vZHRzL2lteDZxZGwtdWRv by5kdHNpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4Mzg2MWYKLS0tIC9k ZXYvbnVsbAorKysgYi9hcmNoL2FybS9kdHMvaW14NnFkbC11ZG9vLmR0c2kKQEAgLTAsMCArMSwx MDggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxNCBSYXBoYcOrbCBQb2dnaQorICogQ29weXJpZ2h0 IDIwMTEgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqIENvcHlyaWdodCAyMDExIExp bmFybyBMdGQuCisgKgorICogVGhlIGNvZGUgY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZCB1 bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBWZXJzaW9uIDIgb3Ig bGF0ZXIgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CisgKgorICogaHR0cDovL3d3dy5vcGVu c291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5odG1sCisgKiBodHRwOi8vd3d3LmdudS5v cmcvY29weWxlZnQvZ3BsLmh0bWwKKyAqLworI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2dwaW8vZ3Bp by5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2lucHV0L2lucHV0Lmg+CisKKy8geworCWNob3Nl biB7CisJCWxpbnV4LHN0ZG91dC1wYXRoID0gJnVhcnQyOworCisJfTsKKworCW1lbW9yeSB7CisJ CXJlZyA9IDwweDEwMDAwMDAwIDB4NDAwMDAwMDA+OworCX07CisKKwlyZWd1bGF0b3JzIHsKKwkJ Y29tcGF0aWJsZSA9ICJzaW1wbGUtYnVzIjsKKwkJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCSNz aXplLWNlbGxzID0gPDA+OworCisJCXJlZ18ycDV2OiByZWd1bGF0b3JAMCB7CisJCQljb21wYXRp YmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCQlyZWcgPSA8MD47CisJCQlyZWd1bGF0b3ItbmFt ZSA9ICIyUDVWIjsKKwkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDI1MDAwMDA+OworCQkJ cmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MjUwMDAwMD47CisJCQlyZWd1bGF0b3ItYWx3YXlz LW9uOworCQl9OworCisJCXJlZ18zcDN2OiByZWd1bGF0b3JAMSB7CisJCQljb21wYXRpYmxlID0g InJlZ3VsYXRvci1maXhlZCI7CisJCQlyZWcgPSA8MT47CisJCQlyZWd1bGF0b3ItbmFtZSA9ICIz UDNWIjsKKwkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQkJcmVndWxh dG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwor CQl9OworCisJCXJlZ191c2Jfb3RnX3ZidXM6IHJlZ3VsYXRvckAyIHsKKwkJCWNvbXBhdGlibGUg PSAicmVndWxhdG9yLWZpeGVkIjsKKwkJCXJlZyA9IDwyPjsKKwkJCXJlZ3VsYXRvci1uYW1lID0g InVzYl9vdGdfdmJ1cyI7CisJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsK KwkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUwMDAwMDA+OworCQkJZ3BpbyA9IDwmZ3Bp bzMgMjIgMD47CisJCQllbmFibGUtYWN0aXZlLWhpZ2g7CisJCX07CisJfTsKK307CisKKyZpMmMx IHsKKwljbG9jay1mcmVxdWVuY3kgPSA8MTAwMDAwPjsKKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1 bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF9pMmMxPjsKKwlzdGF0dXMgPSAib2theSI7CisK K307CisKKyZpb211eGMgeworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0w ID0gPCZwaW5jdHJsX2hvZz47CisKKwlpbXg2cS11ZG9vIHsKKwkJcGluY3RybF9ob2c6IGhvZ2dy cCB7CisJCQlmc2wscGlucyA9IDwKKwkJCQkvKiBTR1RMNTAwMCBzeXNfbWNsayAqLworCQkJCU1Y NlFETF9QQURfR1BJT18wX19DQ01fQ0xLTzEgICAgMHgwMzBiMAorCQkJPjsKKwkJfTsKKworCQlw aW5jdHJsX2kyYzE6IGkyYzFncnAgeworCQkJZnNsLHBpbnMgPSA8TVg2UURMX0kyQzFfUElOR1JQ MT47CisJCX07CisKKwkJcGluY3RybF91YXJ0MjogdWFydDJncnAgeworCQkJZnNsLHBpbnMgPSA8 TVg2UURMX1VBUlQyX1BJTkdSUDE+OworCQl9OworCisJCXBpbmN0cmxfdXNkaGMzOiB1c2RoYzNn cnAgeworCQkJZnNsLHBpbnMgPSA8CisJCQkJTVg2UURMX1VTREhDM19QSU5HUlBfRDQKKwkJCT47 CisJCX07CisKKwl9OworfTsKKworJnVhcnQyIHsKKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQi OworCXBpbmN0cmwtMCA9IDwmcGluY3RybF91YXJ0Mj47CisJc3RhdHVzID0gIm9rYXkiOworfTsK KworJnVzZGhjMyB7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8 JnBpbmN0cmxfdXNkaGMzPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OwpkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vbWFjaC1pbXgvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtaW14L0tjb25maWcKaW5kZXgg NTkzM2Y4MS4uZDlmYWRmMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1pbXgvS2NvbmZpZwor KysgYi9hcmNoL2FybS9tYWNoLWlteC9LY29uZmlnCkBAIC0zNyw2ICszNyw3IEBAIGNvbmZpZyBB UkNIX1RFWFRfQkFTRQogCWRlZmF1bHQgMHgyZmMwMDAwMCBpZiBNQUNIX1RRTUE2WAogCWRlZmF1 bHQgMHg0ZmMwMDAwMCBpZiBNQUNIX1BIWVRFQ19QRkxBMDIKIAlkZWZhdWx0IDB4NGZjMDAwMDAg aWYgTUFDSF9ERklfRlM3MDBfTTYwCisJZGVmYXVsdCAweDRmYzAwMDAwIGlmIE1BQ0hfVURPTwog CiBjb25maWcgQVJDSF9JTVhfSU5URVJOQUxfQk9PVAogCWJvb2wgInN1cHBvcnQgaW50ZXJuYWwg Ym9vdCBtb2RlIgpAQCAtMjMzLDYgKzIzNCwxMCBAQCBjb25maWcgTUFDSF9TT0xJRFJVTl9IVU1N SU5HQk9BUkQKIAlib29sICJTb2xpZFJ1biBIdW1taW5nYm9hcmQiCiAJc2VsZWN0IEFSQ0hfSU1Y NgogCitjb25maWcgTUFDSF9VRE9PCisgICAgICAgYm9vbCAiRnJlZXNjYWxlIGkuTVg2IFVET08g Qm9hcmQiCisgICAgICAgc2VsZWN0IEFSQ0hfSU1YNgorCiBlbmRpZgogCiAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdp dCBhL2FyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMgYi9hcmNoL2FybS90b29scy9tYWNoLXR5cGVz CmluZGV4IDAxYmM3YWEuLjQ3MTgwMTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3Rvb2xzL21hY2gt dHlwZXMKKysrIGIvYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcwpAQCAtNDcyMywzICs0NzIzLDQg QEAgZWN2NAkJCU1BQ0hfRUNWNAkJRUNWNAkJCTQ3NjgKIHdlYmJnM2ZsaWdodAkJTUFDSF9XRUJC RzNGTElHSFQJV0VCQkczRkxJR0hUCQk0NzY5CiBzYmNfcGh5Y29yZV9hbTMzNXgJTUFDSF9TQkNf UEhZQ09SRV9BTTMzNVgJU0JDX1BIWUNPUkVfQU0zMzVYCTQ3NzAKIHRzYwkJCU1BQ0hfVFNDCQlU U0MJCQk0NzcxCit1ZG9vICAgICAgICAgICBNQUNIX1VET08gICAgICAgICAgICAgICBVRE9PX1FV QUQgICAgICAgNDc3MgpkaWZmIC0tZ2l0IGEvaW1hZ2VzL01ha2VmaWxlLmlteCBiL2ltYWdlcy9N YWtlZmlsZS5pbXgKaW5kZXggOWFjYTg3MS4uZTNiMjdiNyAxMDA2NDQKLS0tIGEvaW1hZ2VzL01h a2VmaWxlLmlteAorKysgYi9pbWFnZXMvTWFrZWZpbGUuaW14CkBAIC0xMjMsMyArMTIzLDggQEAg cGJseC0kKENPTkZJR19NQUNIX05JVFJPR0VONlgpICs9IHN0YXJ0X2lteDZkbF9uaXRyb2dlbjZ4 XzFnCiBDRkdfc3RhcnRfaW14NmRsX25pdHJvZ2VuNnhfMWcucGJseC5pbXhpbWcgPSAkKGJvYXJk KS9ib3VuZGFyeWRldmljZXMtbml0cm9nZW42eC9mbGFzaC1oZWFkZXItbml0cm9nZW42eC0xZy5p bXhjZmcKIEZJTEVfYmFyZWJveC1ib3VuZGFyeWRldmljZXMtaW14NmRsLW5pdHJvZ2VuNngtMWcu aW1nID0gc3RhcnRfaW14NmRsX25pdHJvZ2VuNnhfMWcucGJseC5pbXhpbWcKIGltYWdlLSQoQ09O RklHX01BQ0hfTklUUk9HRU42WCkgKz0gYmFyZWJveC1ib3VuZGFyeWRldmljZXMtaW14NmRsLW5p dHJvZ2VuNngtMWcuaW1nCisKK3BibHgtJChDT05GSUdfTUFDSF9VRE9PKSArPSBzdGFydF9pbXg2 X3Vkb28KK0NGR19zdGFydF9pbXg2X3Vkb28ucGJseC5pbXhpbWcgPSAkKGJvYXJkKS91ZG9vL2Zs YXNoLWhlYWRlci1teDYtdWRvby5pbXhjZmcKK0ZJTEVfYmFyZWJveC1mcmVlc2NhbGUtaW14NnEt dWRvby5pbWcgPSBzdGFydF9pbXg2X3Vkb28ucGJseC5pbXhpbWcKK2ltYWdlLSQoQ09ORklHX01B Q0hfVURPTykgKz0gYmFyZWJveC1mcmVlc2NhbGUtaW14NnEtdWRvby5pbWcKLS0gCjEuNy45LjUK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94 IG1haWxpbmcgbGlzdApiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9iYXJlYm94Cg==