From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 64972C31E49 for ; Wed, 19 Jun 2019 05:00:06 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C42F208CB for ; Wed, 19 Jun 2019 05:00:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C42F208CB Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=alistair23.me Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:35122 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdShZ-0001n7-DC for qemu-devel@archiver.kernel.org; Wed, 19 Jun 2019 01:00:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60291) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hdScH-0005fS-ID for qemu-devel@nongnu.org; Wed, 19 Jun 2019 00:54:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hdScF-0001kn-27 for qemu-devel@nongnu.org; Wed, 19 Jun 2019 00:54:37 -0400 Received: from mail-oln040092254071.outbound.protection.outlook.com ([40.92.254.71]:63898 helo=APC01-PU1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hdScE-0001jD-GH for qemu-devel@nongnu.org; Wed, 19 Jun 2019 00:54:35 -0400 Received: from HK2APC01FT024.eop-APC01.prod.protection.outlook.com (10.152.248.51) by HK2APC01HT017.eop-APC01.prod.protection.outlook.com (10.152.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1987.11; Wed, 19 Jun 2019 04:54:31 +0000 Received: from PSXP216MB0277.KORP216.PROD.OUTLOOK.COM (10.152.248.60) by HK2APC01FT024.mail.protection.outlook.com (10.152.248.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11 via Frontend Transport; Wed, 19 Jun 2019 04:54:31 +0000 Received: from PSXP216MB0277.KORP216.PROD.OUTLOOK.COM ([fe80::61e4:d213:4652:f57]) by PSXP216MB0277.KORP216.PROD.OUTLOOK.COM ([fe80::61e4:d213:4652:f57%2]) with mapi id 15.20.1987.014; Wed, 19 Jun 2019 04:54:31 +0000 From: Alistair Francis To: "qemu-devel@nongnu.org" , "peter.maydell@linaro.org" Thread-Topic: [PATCH v3 5/6] hw/arm: Add the STM32F4xx SoC Thread-Index: AQHVJlsU/ejg8w2ipEqVxs185b0NCw== Date: Wed, 19 Jun 2019 04:54:30 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-AU, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR02CA0007.namprd02.prod.outlook.com (2603:10b6:a02:ee::20) To PSXP216MB0277.KORP216.PROD.OUTLOOK.COM (2603:1096:300:a::18) x-incomingtopheadermarker: OriginalChecksum:B73A91E19B4DB7C25955BBFA83E1FD3AFB2B669D2D384ADB77D4A0B3946FCA49; UpperCasedChecksum:4C911C1B6C7A7B8A72FD74C39E57D7E6A073EC9F0474BA38A29E6D80465FE0A3; SizeAsReceived:7560; Count:50 x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.11.0 x-tmn: [yOCYrPG44OHwHfg4PweU2WBwtoAv5pAQHwawVS2j6b07A2+ShDovBqhHtbgdWa5J] x-microsoft-original-message-id: x-ms-publictraffictype: Email x-incomingheadercount: 50 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(5050001)(7020095)(20181119110)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031322404)(2017031323274)(2017031324274)(1601125500)(1603101475)(1701031045); SRVR:HK2APC01HT017; x-ms-traffictypediagnostic: HK2APC01HT017: x-microsoft-antispam-message-info: BlamwVcKnWo3iA1XS2vFCe1VJrhSLv7S85rHr3UTKPcjgWKrznD9c9EP/MYUV0T8i9a9VLtR7O9oXlbud3aF0LwdilMakTi3dX74xDjG0uMyAqnK6lryl0QjdbaaJcRSNT8+hGs9DnS86oGOV5m6x12jXZE08lrOHnUFUGyzamPyt+e3NbZQEvnyQGEBKjIl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 302218c3-9692-4dc5-063f-08d6f47236dc X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2019 04:54:30.9387 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2APC01HT017 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.92.254.71 Subject: [Qemu-devel] [PATCH v3 5/6] hw/arm: Add the STM32F4xx SoC X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "alistair23@gmail.com" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" U2lnbmVkLW9mZi1ieTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXJAYWxpc3RhaXIyMy5tZT4N ClJldmlld2VkLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+DQot LS0NCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgfCAgIDggKysNCiBody9hcm0vS2Nv bmZpZyAgICAgICAgICAgICAgICAgfCAgIDMgKw0KIGh3L2FybS9NYWtlZmlsZS5vYmpzICAgICAg ICAgICB8ICAgMSArDQogaHcvYXJtL3N0bTMyZjQwNV9zb2MuYyAgICAgICAgIHwgMzAxICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogaW5jbHVkZS9ody9hcm0vc3Rt MzJmNDA1X3NvYy5oIHwgIDczICsrKysrKysrKysNCiA1IGZpbGVzIGNoYW5nZWQsIDM4NiBpbnNl cnRpb25zKCspDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGh3L2FybS9zdG0zMmY0MDVfc29jLmMNCiBj cmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody9hcm0vc3RtMzJmNDA1X3NvYy5oDQoNCmRpZmYg LS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTDQppbmRleCBkMzJjNWMyMzEzLi5mOTE3 ZjNlNjkzIDEwMDY0NA0KLS0tIGEvTUFJTlRBSU5FUlMNCisrKyBiL01BSU5UQUlORVJTDQpAQCAt ODA2LDYgKzgwNiwxNCBAQCBGOiBody9hZGMvKg0KIEY6IGh3L3NzaS9zdG0zMmYyeHhfc3BpLmMN CiBGOiBpbmNsdWRlL2h3Lyovc3RtMzIqLmgNCiANCitTVE0zMkY0MDUNCitNOiBBbGlzdGFpciBG cmFuY2lzIDxhbGlzdGFpckBhbGlzdGFpcjIzLm1lPg0KK006IFBldGVyIE1heWRlbGwgPHBldGVy Lm1heWRlbGxAbGluYXJvLm9yZz4NCitTOiBNYWludGFpbmVkDQorRjogaHcvYXJtL3N0bTMyZjQw NV9zb2MuYw0KK0Y6IGh3L21pc2Mvc3RtMzJmNHh4X3N5c2NmZy5jDQorRjogaHcvbWlzYy9zdG0z MmY0eHhfZXh0aS5jDQorDQogTmV0ZHVpbm8gMg0KIE06IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0 YWlyQGFsaXN0YWlyMjMubWU+DQogTTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5h cm8ub3JnPg0KZGlmZiAtLWdpdCBhL2h3L2FybS9LY29uZmlnIGIvaHcvYXJtL0tjb25maWcNCmlu ZGV4IDI1YTk4YmYzZGUuLjY1YTA5MjNhZmUgMTAwNjQ0DQotLS0gYS9ody9hcm0vS2NvbmZpZw0K KysrIGIvaHcvYXJtL0tjb25maWcNCkBAIC0yOTQsNiArMjk0LDkgQEAgY29uZmlnIFNUTTMyRjQw NV9TT0MNCiAgICAgc2VsZWN0IFNUTTMyRjRYWF9TWVNDRkcNCiAgICAgc2VsZWN0IFNUTTMyRjRY WF9FWFRJDQogDQorY29uZmlnIFNUTTMyRjQwNV9TT0MNCisgICAgYm9vbA0KKw0KIGNvbmZpZyBY TE5YX1pZTlFNUF9BUk0NCiAgICAgYm9vbA0KICAgICBzZWxlY3QgQUhDSQ0KZGlmZiAtLWdpdCBh L2h3L2FybS9NYWtlZmlsZS5vYmpzIGIvaHcvYXJtL01ha2VmaWxlLm9ianMNCmluZGV4IDk5NGU2 N2RkMGQuLjQ0MzZjMmU5M2UgMTAwNjQ0DQotLS0gYS9ody9hcm0vTWFrZWZpbGUub2Jqcw0KKysr IGIvaHcvYXJtL01ha2VmaWxlLm9ianMNCkBAIC0zNSw2ICszNSw3IEBAIG9iai0kKENPTkZJR19T VFJPTkdBUk0pICs9IHN0cm9uZ2FybS5vDQogb2JqLSQoQ09ORklHX0FMTFdJTk5FUl9BMTApICs9 IGFsbHdpbm5lci1hMTAubyBjdWJpZWJvYXJkLm8NCiBvYmotJChDT05GSUdfUkFTUEkpICs9IGJj bTI4MzVfcGVyaXBoZXJhbHMubyBiY20yODM2Lm8gcmFzcGkubw0KIG9iai0kKENPTkZJR19TVE0z MkYyMDVfU09DKSArPSBzdG0zMmYyMDVfc29jLm8NCitvYmotJChDT05GSUdfU1RNMzJGNDA1X1NP QykgKz0gc3RtMzJmNDA1X3NvYy5vDQogb2JqLSQoQ09ORklHX1hMTlhfWllOUU1QX0FSTSkgKz0g eGxueC16eW5xbXAubyB4bG54LXpjdTEwMi5vDQogb2JqLSQoQ09ORklHX1hMTlhfVkVSU0FMKSAr PSB4bG54LXZlcnNhbC5vIHhsbngtdmVyc2FsLXZpcnQubw0KIG9iai0kKENPTkZJR19GU0xfSU1Y MjUpICs9IGZzbC1pbXgyNS5vIGlteDI1X3Bkay5vDQpkaWZmIC0tZ2l0IGEvaHcvYXJtL3N0bTMy ZjQwNV9zb2MuYyBiL2h3L2FybS9zdG0zMmY0MDVfc29jLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMDAwLi40OThiYzExOTJjDQotLS0gL2Rldi9udWxsDQorKysgYi9ody9h cm0vc3RtMzJmNDA1X3NvYy5jDQpAQCAtMCwwICsxLDMwMSBAQA0KKy8qDQorICogU1RNMzJGNDA1 IFNvQw0KKyAqDQorICogQ29weXJpZ2h0IChjKSAyMDE0IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0 YWlyQGFsaXN0YWlyMjMubWU+DQorICoNCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVk LCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5DQorICogb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv ZnR3YXJlIiksIHRvIGRlYWwNCisgKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzDQorICogdG8gdXNlLCBj b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv b3Igc2VsbA0KKyAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29u cyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcw0KKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj dCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQorICoNCisgKiBUaGUgYWJvdmUgY29weXJp Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBp bg0KKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJl Lg0KKyAqDQorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1INCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwNCisgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO TyBFVkVOVCBTSEFMTA0KKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSDQorICogTElBQklMSVRZLCBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcg RlJPTSwNCisgKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElODQorICogVEhFIFNPRlRXQVJFLg0KKyAqLw0KKw0K KyNpbmNsdWRlICJxZW11L29zZGVwLmgiDQorI2luY2x1ZGUgInFhcGkvZXJyb3IuaCINCisjaW5j bHVkZSAicWVtdS1jb21tb24uaCINCisjaW5jbHVkZSAiZXhlYy9hZGRyZXNzLXNwYWNlcy5oIg0K KyNpbmNsdWRlICJody9hcm0vc3RtMzJmNDA1X3NvYy5oIg0KKyNpbmNsdWRlICJody9taXNjL3Vu aW1wLmgiDQorDQorI2RlZmluZSBTWVNDRkdfQUREICAgICAgICAgICAgICAgICAgICAgMHg0MDAx MzgwMA0KK3N0YXRpYyBjb25zdCB1aW50MzJfdCB1c2FydF9hZGRyW10gPSB7IDB4NDAwMTEwMDAs IDB4NDAwMDQ0MDAsIDB4NDAwMDQ4MDAsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg0MDAwNEMwMCwgMHg0MDAwNTAwMCwgMHg0MDAxMTQwMCwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDA3ODAwLCAweDQwMDA3QzAwIH07DQor LyogQXQgdGhlIG1vbWVudCBvbmx5IFRpbWVyIDIgdG8gNSBhcmUgbW9kZWxsZWQgKi8NCitzdGF0 aWMgY29uc3QgdWludDMyX3QgdGltZXJfYWRkcltdID0geyAweDQwMDAwMDAwLCAweDQwMDAwNDAw LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMDA4MDAsIDB4 NDAwMDBDMDAgfTsNCisjZGVmaW5lIEFEQ19BRERSICAgICAgICAgICAgICAgICAgICAgICAweDQw MDEyMDAwDQorc3RhdGljIGNvbnN0IHVpbnQzMl90IHNwaV9hZGRyW10gPSAgIHsgMHg0MDAxMzAw MCwgMHg0MDAwMzgwMCwgMHg0MDAwM0MwMCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDQwMDEzNDAwLCAweDQwMDE1MDAwLCAweDQwMDE1NDAwIH07DQorI2RlZmlu ZSBFWFRJX0FERFIgICAgICAgICAgICAgICAgICAgICAgMHg0MDAxM0MwMA0KKw0KKyNkZWZpbmUg U1lTQ0ZHX0lSUSAgICAgICAgICAgICAgIDcxDQorc3RhdGljIGNvbnN0IGludCB1c2FydF9pcnFb XSA9IHsgMzcsIDM4LCAzOSwgNTIsIDUzLCA3MSwgODIsIDgzIH07DQorc3RhdGljIGNvbnN0IGlu dCB0aW1lcl9pcnFbXSA9IHsgMjgsIDI5LCAzMCwgNTAgfTsNCisjZGVmaW5lIEFEQ19JUlEgMTgN CitzdGF0aWMgY29uc3QgaW50IHNwaV9pcnFbXSA9ICAgeyAzNSwgMzYsIDUxLCAwLCAwLCAwIH07 DQorc3RhdGljIGNvbnN0IGludCBleHRpX2lycVtdID0gIHsgNiwgNywgOCwgOSwgMTAsIDIzLCAy MywgMjMsIDIzLCAyMywgNDAsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAs IDQwLCA0MCwgNDAsIDQwfSA7DQorDQorDQorc3RhdGljIHZvaWQgc3RtMzJmNDA1X3NvY19pbml0 Zm4oT2JqZWN0ICpvYmopDQorew0KKyAgICBTVE0zMkY0MDVTdGF0ZSAqcyA9IFNUTTMyRjQwNV9T T0Mob2JqKTsNCisgICAgaW50IGk7DQorDQorICAgIHN5c2J1c19pbml0X2NoaWxkX29iaihvYmos ICJhcm12N20iLCAmcy0+YXJtdjdtLCBzaXplb2Yocy0+YXJtdjdtKSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgIFRZUEVfQVJNVjdNKTsNCisNCisgICAgc3lzYnVzX2luaXRfY2hpbGRfb2Jq KG9iaiwgInN5c2NmZyIsICZzLT5zeXNjZmcsIHNpemVvZihzLT5zeXNjZmcpLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgVFlQRV9TVE0zMkY0WFhfU1lTQ0ZHKTsNCisNCisgICAgZm9yIChp ID0gMDsgaSA8IFNUTV9OVU1fVVNBUlRTOyBpKyspIHsNCisgICAgICAgIHN5c2J1c19pbml0X2No aWxkX29iaihvYmosICJ1c2FydFsqXSIsICZzLT51c2FydFtpXSwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2Yocy0+dXNhcnRbaV0pLCBUWVBFX1NUTTMyRjJYWF9VU0FSVCk7 DQorICAgIH0NCisNCisgICAgZm9yIChpID0gMDsgaSA8IFNUTV9OVU1fVElNRVJTOyBpKyspIHsN CisgICAgICAgIHN5c2J1c19pbml0X2NoaWxkX29iaihvYmosICJ0aW1lclsqXSIsICZzLT50aW1l cltpXSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yocy0+dGltZXJbaV0p LCBUWVBFX1NUTTMyRjJYWF9USU1FUik7DQorICAgIH0NCisNCisgICAgZm9yIChpID0gMDsgaSA8 IFNUTV9OVU1fQURDUzsgaSsrKSB7DQorICAgICAgICBzeXNidXNfaW5pdF9jaGlsZF9vYmoob2Jq LCAiYWRjWypdIiwgJnMtPmFkY1tpXSwgc2l6ZW9mKHMtPmFkY1tpXSksDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVFlQRV9TVE0zMkYyWFhfQURDKTsNCisgICAgfQ0KKw0KKyAgICBm b3IgKGkgPSAwOyBpIDwgU1RNX05VTV9TUElTOyBpKyspIHsNCisgICAgICAgIHN5c2J1c19pbml0 X2NoaWxkX29iaihvYmosICJzcGlbKl0iLCAmcy0+c3BpW2ldLCBzaXplb2Yocy0+c3BpW2ldKSwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUWVBFX1NUTTMyRjJYWF9TUEkpOw0KKyAg ICB9DQorDQorICAgIHN5c2J1c19pbml0X2NoaWxkX29iaihvYmosICJleHRpIiwgJnMtPmV4dGks IHNpemVvZihzLT5leHRpKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRZUEVfU1RNMzJG NFhYX0VYVEkpOw0KK30NCisNCitzdGF0aWMgdm9pZCBzdG0zMmY0MDVfc29jX3JlYWxpemUoRGV2 aWNlU3RhdGUgKmRldl9zb2MsIEVycm9yICoqZXJycCkNCit7DQorICAgIFNUTTMyRjQwNVN0YXRl ICpzID0gU1RNMzJGNDA1X1NPQyhkZXZfc29jKTsNCisgICAgTWVtb3J5UmVnaW9uICpzeXN0ZW1f bWVtb3J5ID0gZ2V0X3N5c3RlbV9tZW1vcnkoKTsNCisgICAgRGV2aWNlU3RhdGUgKmRldiwgKmFy bXY3bTsNCisgICAgU3lzQnVzRGV2aWNlICpidXNkZXY7DQorICAgIEVycm9yICplcnIgPSBOVUxM Ow0KKyAgICBpbnQgaTsNCisNCisgICAgbWVtb3J5X3JlZ2lvbl9pbml0X3JhbSgmcy0+Zmxhc2gs IE5VTEwsICJTVE0zMkY0MDUuZmxhc2giLCBGTEFTSF9TSVpFLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICZlcnIpOw0KKyAgICBpZiAoZXJyICE9IE5VTEwpIHsNCisgICAgICAgIGVycm9y X3Byb3BhZ2F0ZShlcnJwLCBlcnIpOw0KKyAgICAgICAgcmV0dXJuOw0KKyAgICB9DQorICAgIG1l bW9yeV9yZWdpb25faW5pdF9hbGlhcygmcy0+Zmxhc2hfYWxpYXMsIE5VTEwsICJTVE0zMkY0MDUu Zmxhc2guYWxpYXMiLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnMtPmZsYXNoLCAw LCBGTEFTSF9TSVpFKTsNCisNCisgICAgbWVtb3J5X3JlZ2lvbl9zZXRfcmVhZG9ubHkoJnMtPmZs YXNoLCB0cnVlKTsNCisgICAgbWVtb3J5X3JlZ2lvbl9zZXRfcmVhZG9ubHkoJnMtPmZsYXNoX2Fs aWFzLCB0cnVlKTsNCisNCisgICAgbWVtb3J5X3JlZ2lvbl9hZGRfc3VicmVnaW9uKHN5c3RlbV9t ZW1vcnksIEZMQVNIX0JBU0VfQUREUkVTUywgJnMtPmZsYXNoKTsNCisgICAgbWVtb3J5X3JlZ2lv bl9hZGRfc3VicmVnaW9uKHN5c3RlbV9tZW1vcnksIDAsICZzLT5mbGFzaF9hbGlhcyk7DQorDQor ICAgIG1lbW9yeV9yZWdpb25faW5pdF9yYW0oJnMtPnNyYW0sIE5VTEwsICJTVE0zMkY0MDUuc3Jh bSIsIFNSQU1fU0laRSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyKTsNCisgICAg aWYgKGVyciAhPSBOVUxMKSB7DQorICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgZXJyKTsN CisgICAgICAgIHJldHVybjsNCisgICAgfQ0KKyAgICBtZW1vcnlfcmVnaW9uX2FkZF9zdWJyZWdp b24oc3lzdGVtX21lbW9yeSwgU1JBTV9CQVNFX0FERFJFU1MsICZzLT5zcmFtKTsNCisNCisgICAg YXJtdjdtID0gREVWSUNFKCZzLT5hcm12N20pOw0KKyAgICBxZGV2X3Byb3Bfc2V0X3VpbnQzMihh cm12N20sICJudW0taXJxIiwgOTYpOw0KKyAgICBxZGV2X3Byb3Bfc2V0X3N0cmluZyhhcm12N20s ICJjcHUtdHlwZSIsIHMtPmNwdV90eXBlKTsNCisgICAgcWRldl9wcm9wX3NldF9iaXQoYXJtdjdt LCAiZW5hYmxlLWJpdGJhbmQiLCB0cnVlKTsNCisgICAgb2JqZWN0X3Byb3BlcnR5X3NldF9saW5r KE9CSkVDVCgmcy0+YXJtdjdtKSwgT0JKRUNUKHN5c3RlbV9tZW1vcnkpLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAibWVtb3J5IiwgJmVycm9yX2Fib3J0KTsNCisgICAg b2JqZWN0X3Byb3BlcnR5X3NldF9ib29sKE9CSkVDVCgmcy0+YXJtdjdtKSwgdHJ1ZSwgInJlYWxp emVkIiwgJmVycik7DQorICAgIGlmIChlcnIgIT0gTlVMTCkgew0KKyAgICAgICAgZXJyb3JfcHJv cGFnYXRlKGVycnAsIGVycik7DQorICAgICAgICByZXR1cm47DQorICAgIH0NCisNCisgICAgLyog U3lzdGVtIGNvbmZpZ3VyYXRpb24gY29udHJvbGxlciAqLw0KKyAgICBkZXYgPSBERVZJQ0UoJnMt PnN5c2NmZyk7DQorICAgIG9iamVjdF9wcm9wZXJ0eV9zZXRfYm9vbChPQkpFQ1QoJnMtPnN5c2Nm ZyksIHRydWUsICJyZWFsaXplZCIsICZlcnIpOw0KKyAgICBpZiAoZXJyICE9IE5VTEwpIHsNCisg ICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBlcnIpOw0KKyAgICAgICAgcmV0dXJuOw0KKyAg ICB9DQorICAgIGJ1c2RldiA9IFNZU19CVVNfREVWSUNFKGRldik7DQorICAgIHN5c2J1c19tbWlv X21hcChidXNkZXYsIDAsIFNZU0NGR19BREQpOw0KKyAgICBzeXNidXNfY29ubmVjdF9pcnEoYnVz ZGV2LCAwLCBxZGV2X2dldF9ncGlvX2luKGFybXY3bSwgU1lTQ0ZHX0lSUSkpOw0KKw0KKyAgICAv KiBBdHRhY2ggVUFSVCAodXNlcyBVU0FSVCByZWdpc3RlcnMpIGFuZCBVU0FSVCBjb250cm9sbGVy cyAqLw0KKyAgICBmb3IgKGkgPSAwOyBpIDwgU1RNX05VTV9VU0FSVFM7IGkrKykgew0KKyAgICAg ICAgZGV2ID0gREVWSUNFKCYocy0+dXNhcnRbaV0pKTsNCisgICAgICAgIHFkZXZfcHJvcF9zZXRf Y2hyKGRldiwgImNoYXJkZXYiLCBzZXJpYWxfaGQoaSkpOw0KKyAgICAgICAgb2JqZWN0X3Byb3Bl cnR5X3NldF9ib29sKE9CSkVDVCgmcy0+dXNhcnRbaV0pLCB0cnVlLCAicmVhbGl6ZWQiLCAmZXJy KTsNCisgICAgICAgIGlmIChlcnIgIT0gTlVMTCkgew0KKyAgICAgICAgICAgIGVycm9yX3Byb3Bh Z2F0ZShlcnJwLCBlcnIpOw0KKyAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0NCisgICAg ICAgIGJ1c2RldiA9IFNZU19CVVNfREVWSUNFKGRldik7DQorICAgICAgICBzeXNidXNfbW1pb19t YXAoYnVzZGV2LCAwLCB1c2FydF9hZGRyW2ldKTsNCisgICAgICAgIHN5c2J1c19jb25uZWN0X2ly cShidXNkZXYsIDAsIHFkZXZfZ2V0X2dwaW9faW4oYXJtdjdtLCB1c2FydF9pcnFbaV0pKTsNCisg ICAgfQ0KKw0KKyAgICAvKiBUaW1lciAyIHRvIDUgKi8NCisgICAgZm9yIChpID0gMDsgaSA8IFNU TV9OVU1fVElNRVJTOyBpKyspIHsNCisgICAgICAgIGRldiA9IERFVklDRSgmKHMtPnRpbWVyW2ld KSk7DQorICAgICAgICBxZGV2X3Byb3Bfc2V0X3VpbnQ2NChkZXYsICJjbG9jay1mcmVxdWVuY3ki LCAxMDAwMDAwMDAwKTsNCisgICAgICAgIG9iamVjdF9wcm9wZXJ0eV9zZXRfYm9vbChPQkpFQ1Qo JnMtPnRpbWVyW2ldKSwgdHJ1ZSwgInJlYWxpemVkIiwgJmVycik7DQorICAgICAgICBpZiAoZXJy ICE9IE5VTEwpIHsNCisgICAgICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgZXJyKTsNCisg ICAgICAgICAgICByZXR1cm47DQorICAgICAgICB9DQorICAgICAgICBidXNkZXYgPSBTWVNfQlVT X0RFVklDRShkZXYpOw0KKyAgICAgICAgc3lzYnVzX21taW9fbWFwKGJ1c2RldiwgMCwgdGltZXJf YWRkcltpXSk7DQorICAgICAgICBzeXNidXNfY29ubmVjdF9pcnEoYnVzZGV2LCAwLCBxZGV2X2dl dF9ncGlvX2luKGFybXY3bSwgdGltZXJfaXJxW2ldKSk7DQorICAgIH0NCisNCisgICAgLyogQURD IGRldmljZSwgdGhlIElSUXMgYXJlIE9SZWQgdG9nZXRoZXIgKi8NCisgICAgb2JqZWN0X2luaXRp YWxpemVfY2hpbGQoT0JKRUNUKHMpLCAiYWRjLW9yaXJxIiwgJnMtPmFkY19pcnFzLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yocy0+YWRjX2lycXMpLCBUWVBFX09SX0lSUSwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVyciwgTlVMTCk7DQorICAgIGlmIChlcnIg IT0gTlVMTCkgew0KKyAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVycnAsIGVycik7DQorICAgICAg ICByZXR1cm47DQorICAgIH0NCisgICAgb2JqZWN0X3Byb3BlcnR5X3NldF9pbnQoT0JKRUNUKCZz LT5hZGNfaXJxcyksIFNUTV9OVU1fQURDUywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg Im51bS1saW5lcyIsICZlcnIpOw0KKyAgICBvYmplY3RfcHJvcGVydHlfc2V0X2Jvb2woT0JKRUNU KCZzLT5hZGNfaXJxcyksIHRydWUsICJyZWFsaXplZCIsICZlcnIpOw0KKyAgICBpZiAoZXJyICE9 IE5VTEwpIHsNCisgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBlcnIpOw0KKyAgICAgICAg cmV0dXJuOw0KKyAgICB9DQorICAgIHFkZXZfY29ubmVjdF9ncGlvX291dChERVZJQ0UoJnMtPmFk Y19pcnFzKSwgMCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIHFkZXZfZ2V0X2dwaW9faW4o YXJtdjdtLCBBRENfSVJRKSk7DQorDQorICAgIGRldiA9IERFVklDRSgmKHMtPmFkY1tpXSkpOw0K KyAgICBvYmplY3RfcHJvcGVydHlfc2V0X2Jvb2woT0JKRUNUKCZzLT5hZGNbaV0pLCB0cnVlLCAi cmVhbGl6ZWQiLCAmZXJyKTsNCisgICAgaWYgKGVyciAhPSBOVUxMKSB7DQorICAgICAgICBlcnJv cl9wcm9wYWdhdGUoZXJycCwgZXJyKTsNCisgICAgICAgIHJldHVybjsNCisgICAgfQ0KKyAgICBi dXNkZXYgPSBTWVNfQlVTX0RFVklDRShkZXYpOw0KKyAgICBzeXNidXNfbW1pb19tYXAoYnVzZGV2 LCAwLCBBRENfQUREUik7DQorICAgIHN5c2J1c19jb25uZWN0X2lycShidXNkZXYsIDAsDQorICAg ICAgICAgICAgICAgICAgICAgICBxZGV2X2dldF9ncGlvX2luKERFVklDRSgmcy0+YWRjX2lycXMp LCBpKSk7DQorDQorICAgIC8qIFNQSSBkZXZpY2VzICovDQorICAgIGZvciAoaSA9IDA7IGkgPCBT VE1fTlVNX1NQSVM7IGkrKykgew0KKyAgICAgICAgZGV2ID0gREVWSUNFKCYocy0+c3BpW2ldKSk7 DQorICAgICAgICBvYmplY3RfcHJvcGVydHlfc2V0X2Jvb2woT0JKRUNUKCZzLT5zcGlbaV0pLCB0 cnVlLCAicmVhbGl6ZWQiLCAmZXJyKTsNCisgICAgICAgIGlmIChlcnIgIT0gTlVMTCkgew0KKyAg ICAgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBlcnIpOw0KKyAgICAgICAgICAgIHJldHVy bjsNCisgICAgICAgIH0NCisgICAgICAgIGJ1c2RldiA9IFNZU19CVVNfREVWSUNFKGRldik7DQor ICAgICAgICBzeXNidXNfbW1pb19tYXAoYnVzZGV2LCAwLCBzcGlfYWRkcltpXSk7DQorICAgICAg ICBzeXNidXNfY29ubmVjdF9pcnEoYnVzZGV2LCAwLCBxZGV2X2dldF9ncGlvX2luKGFybXY3bSwg c3BpX2lycVtpXSkpOw0KKyAgICB9DQorDQorICAgIC8qIEVYVEkgZGV2aWNlICovDQorICAgIGRl diA9IERFVklDRSgmcy0+ZXh0aSk7DQorICAgIG9iamVjdF9wcm9wZXJ0eV9zZXRfYm9vbChPQkpF Q1QoJnMtPmV4dGkpLCB0cnVlLCAicmVhbGl6ZWQiLCAmZXJyKTsNCisgICAgaWYgKGVyciAhPSBO VUxMKSB7DQorICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgZXJyKTsNCisgICAgICAgIHJl dHVybjsNCisgICAgfQ0KKyAgICBidXNkZXYgPSBTWVNfQlVTX0RFVklDRShkZXYpOw0KKyAgICBz eXNidXNfbW1pb19tYXAoYnVzZGV2LCAwLCBFWFRJX0FERFIpOw0KKyAgICBmb3IgKGkgPSAwOyBp IDwgMTY7IGkrKykgew0KKyAgICAgICAgc3lzYnVzX2Nvbm5lY3RfaXJxKGJ1c2RldiwgaSwgcWRl dl9nZXRfZ3Bpb19pbihhcm12N20sIGV4dGlfaXJxW2ldKSk7DQorICAgIH0NCisgICAgZm9yIChp ID0gMDsgaSA8IDE2OyBpKyspIHsNCisgICAgICAgIHFkZXZfY29ubmVjdF9ncGlvX291dChERVZJ Q0UoJnMtPnN5c2NmZyksIGksIHFkZXZfZ2V0X2dwaW9faW4oZGV2LCBpKSk7DQorICAgIH0NCisN CisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJ0aW1lcls3XSIsICAgIDB4NDAwMDE0 MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJ0aW1lclsxMl0i LCAgIDB4NDAwMDE4MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNl KCJ0aW1lcls2XSIsICAgIDB4NDAwMDEwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVt ZW50ZWRfZGV2aWNlKCJ0aW1lclsxM10iLCAgIDB4NDAwMDFDMDAsIDB4NDAwKTsNCisgICAgY3Jl YXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJ0aW1lclsxNF0iLCAgIDB4NDAwMDIwMDAsIDB4NDAw KTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJSVEMgYW5kIEJLUCIsIDB4NDAw MDI4MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJXV0RHIiwg ICAgICAgIDB4NDAwMDJDMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2 aWNlKCJJV0RHIiwgICAgICAgIDB4NDAwMDMwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1w bGVtZW50ZWRfZGV2aWNlKCJJMlMyZXh0IiwgICAgIDB4NDAwMDMwMDAsIDB4NDAwKTsNCisgICAg Y3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJJMlMzZXh0IiwgICAgIDB4NDAwMDQwMDAsIDB4 NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJJMkMxIiwgICAgICAgIDB4 NDAwMDU0MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJJMkMy IiwgICAgICAgIDB4NDAwMDU4MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRf ZGV2aWNlKCJJMkMzIiwgICAgICAgIDB4NDAwMDVDMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3Vu aW1wbGVtZW50ZWRfZGV2aWNlKCJDQU4xIiwgICAgICAgIDB4NDAwMDY0MDAsIDB4NDAwKTsNCisg ICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJDQU4yIiwgICAgICAgIDB4NDAwMDY4MDAs IDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJQV1IiLCAgICAgICAg IDB4NDAwMDcwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJE QUMiLCAgICAgICAgIDB4NDAwMDc0MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50 ZWRfZGV2aWNlKCJ0aW1lclsxXSIsICAgIDB4NDAwMTAwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRl X3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJ0aW1lcls4XSIsICAgIDB4NDAwMTA0MDAsIDB4NDAwKTsN CisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJTRElPIiwgICAgICAgIDB4NDAwMTJD MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJ0aW1lcls5XSIs ICAgIDB4NDAwMTQwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNl KCJ0aW1lclsxMF0iLCAgIDB4NDAwMTQ0MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVt ZW50ZWRfZGV2aWNlKCJ0aW1lclsxMV0iLCAgIDB4NDAwMTQ4MDAsIDB4NDAwKTsNCisgICAgY3Jl YXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElPQSIsICAgICAgIDB4NDAwMjAwMDAsIDB4NDAw KTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElPQiIsICAgICAgIDB4NDAw MjA0MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElPQyIs ICAgICAgIDB4NDAwMjA4MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2 aWNlKCJHUElPRCIsICAgICAgIDB4NDAwMjBDMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1w bGVtZW50ZWRfZGV2aWNlKCJHUElPRSIsICAgICAgIDB4NDAwMjEwMDAsIDB4NDAwKTsNCisgICAg Y3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElPRiIsICAgICAgIDB4NDAwMjE0MDAsIDB4 NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElPRyIsICAgICAgIDB4 NDAwMjE4MDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJHUElP SCIsICAgICAgIDB4NDAwMjFDMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRf ZGV2aWNlKCJHUElPSSIsICAgICAgIDB4NDAwMjIwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3Vu aW1wbGVtZW50ZWRfZGV2aWNlKCJDUkMiLCAgICAgICAgIDB4NDAwMjMwMDAsIDB4NDAwKTsNCisg ICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJSQ0MiLCAgICAgICAgIDB4NDAwMjM4MDAs IDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJGbGFzaCBJbnQiLCAg IDB4NDAwMjNDMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJC S1BTUkFNIiwgICAgIDB4NDAwMjQwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50 ZWRfZGV2aWNlKCJETUExIiwgICAgICAgIDB4NDAwMjYwMDAsIDB4NDAwKTsNCisgICAgY3JlYXRl X3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJETUEyIiwgICAgICAgIDB4NDAwMjY0MDAsIDB4NDAwKTsN CisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2aWNlKCJFdGhlcm5ldCIsICAgIDB4NDAwMjgw MDAsIDB4MTQwMCk7DQorICAgIGNyZWF0ZV91bmltcGxlbWVudGVkX2RldmljZSgiVVNCIE9URyBI UyIsICAweDQwMDQwMDAwLCAweDMwMDAwKTsNCisgICAgY3JlYXRlX3VuaW1wbGVtZW50ZWRfZGV2 aWNlKCJVU0IgT1RHIEZTIiwgIDB4NTAwMDAwMDAsIDB4MzEwMDApOw0KKyAgICBjcmVhdGVfdW5p bXBsZW1lbnRlZF9kZXZpY2UoIkRDTUkiLCAgICAgICAgMHg1MDA1MDAwMCwgMHg0MDApOw0KKyAg ICBjcmVhdGVfdW5pbXBsZW1lbnRlZF9kZXZpY2UoIlJORyIsICAgICAgICAgMHg1MDA2MDgwMCwg MHg0MDApOw0KK30NCisNCitzdGF0aWMgUHJvcGVydHkgc3RtMzJmNDA1X3NvY19wcm9wZXJ0aWVz W10gPSB7DQorICAgIERFRklORV9QUk9QX1NUUklORygiY3B1LXR5cGUiLCBTVE0zMkY0MDVTdGF0 ZSwgY3B1X3R5cGUpLA0KKyAgICBERUZJTkVfUFJPUF9FTkRfT0ZfTElTVCgpLA0KK307DQorDQor c3RhdGljIHZvaWQgc3RtMzJmNDA1X3NvY19jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywg dm9pZCAqZGF0YSkNCit7DQorICAgIERldmljZUNsYXNzICpkYyA9IERFVklDRV9DTEFTUyhrbGFz cyk7DQorDQorICAgIGRjLT5yZWFsaXplID0gc3RtMzJmNDA1X3NvY19yZWFsaXplOw0KKyAgICBk Yy0+cHJvcHMgPSBzdG0zMmY0MDVfc29jX3Byb3BlcnRpZXM7DQorICAgIC8qIE5vIHZtc3RhdGUg b3IgcmVzZXQgcmVxdWlyZWQ6IGRldmljZSBoYXMgbm8gaW50ZXJuYWwgc3RhdGUgKi8NCit9DQor DQorc3RhdGljIGNvbnN0IFR5cGVJbmZvIHN0bTMyZjQwNV9zb2NfaW5mbyA9IHsNCisgICAgLm5h bWUgICAgICAgICAgPSBUWVBFX1NUTTMyRjQwNV9TT0MsDQorICAgIC5wYXJlbnQgICAgICAgID0g VFlQRV9TWVNfQlVTX0RFVklDRSwNCisgICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoU1RNMzJG NDA1U3RhdGUpLA0KKyAgICAuaW5zdGFuY2VfaW5pdCA9IHN0bTMyZjQwNV9zb2NfaW5pdGZuLA0K KyAgICAuY2xhc3NfaW5pdCAgICA9IHN0bTMyZjQwNV9zb2NfY2xhc3NfaW5pdCwNCit9Ow0KKw0K K3N0YXRpYyB2b2lkIHN0bTMyZjQwNV9zb2NfdHlwZXModm9pZCkNCit7DQorICAgIHR5cGVfcmVn aXN0ZXJfc3RhdGljKCZzdG0zMmY0MDVfc29jX2luZm8pOw0KK30NCisNCit0eXBlX2luaXQoc3Rt MzJmNDA1X3NvY190eXBlcykNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L2FybS9zdG0zMmY0MDVf c29jLmggYi9pbmNsdWRlL2h3L2FybS9zdG0zMmY0MDVfc29jLmgNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwLi4xZmU5N2Y4YzNhDQotLS0gL2Rldi9udWxsDQorKysgYi9p bmNsdWRlL2h3L2FybS9zdG0zMmY0MDVfc29jLmgNCkBAIC0wLDAgKzEsNzMgQEANCisvKg0KKyAq IFNUTTMyRjQwNSBTb0MNCisgKg0KKyAqIENvcHlyaWdodCAoYykgMjAxNCBBbGlzdGFpciBGcmFu Y2lzIDxhbGlzdGFpckBhbGlzdGFpcjIzLm1lPg0KKyAqDQorICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29w eQ0KKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsDQorICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cw0KKyAq IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwgYW5kL29yIHNlbGwNCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVy bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMNCisgKiBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KKyAqDQorICogVGhlIGFi b3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUg aW5jbHVkZWQgaW4NCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZSBTb2Z0d2FyZS4NCisgKg0KKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SDQorICogSU1QTElFRCwgSU5D TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ VFksDQorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF TUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwNCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9M REVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUg0KKyAqIExJQUJJ TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNF LCBBUklTSU5HIEZST00sDQorICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTg0KKyAqIFRIRSBTT0ZUV0FSRS4N CisgKi8NCisNCisjaWZuZGVmIEhXX0FSTV9TVE0zMkY0MDVfU09DX0gNCisjZGVmaW5lIEhXX0FS TV9TVE0zMkY0MDVfU09DX0gNCisNCisjaW5jbHVkZSAiaHcvbWlzYy9zdG0zMmY0eHhfc3lzY2Zn LmgiDQorI2luY2x1ZGUgImh3L3RpbWVyL3N0bTMyZjJ4eF90aW1lci5oIg0KKyNpbmNsdWRlICJo dy9jaGFyL3N0bTMyZjJ4eF91c2FydC5oIg0KKyNpbmNsdWRlICJody9hZGMvc3RtMzJmMnh4X2Fk Yy5oIg0KKyNpbmNsdWRlICJody9taXNjL3N0bTMyZjR4eF9leHRpLmgiDQorI2luY2x1ZGUgImh3 L29yLWlycS5oIg0KKyNpbmNsdWRlICJody9zc2kvc3RtMzJmMnh4X3NwaS5oIg0KKyNpbmNsdWRl ICJody9hcm0vYXJtdjdtLmgiDQorDQorI2RlZmluZSBUWVBFX1NUTTMyRjQwNV9TT0MgInN0bTMy ZjQwNS1zb2MiDQorI2RlZmluZSBTVE0zMkY0MDVfU09DKG9iaikgXA0KKyAgICBPQkpFQ1RfQ0hF Q0soU1RNMzJGNDA1U3RhdGUsIChvYmopLCBUWVBFX1NUTTMyRjQwNV9TT0MpDQorDQorI2RlZmlu ZSBTVE1fTlVNX1VTQVJUUyA3DQorI2RlZmluZSBTVE1fTlVNX1RJTUVSUyA0DQorI2RlZmluZSBT VE1fTlVNX0FEQ1MgNg0KKyNkZWZpbmUgU1RNX05VTV9TUElTIDYNCisNCisjZGVmaW5lIEZMQVNI X0JBU0VfQUREUkVTUyAweDA4MDAwMDAwDQorI2RlZmluZSBGTEFTSF9TSVpFICgxMDI0ICogMTAy NCkNCisjZGVmaW5lIFNSQU1fQkFTRV9BRERSRVNTIDB4MjAwMDAwMDANCisjZGVmaW5lIFNSQU1f U0laRSAoMTkyICogMTAyNCkNCisNCit0eXBlZGVmIHN0cnVjdCBTVE0zMkY0MDVTdGF0ZSB7DQor ICAgIC8qPCBwcml2YXRlID4qLw0KKyAgICBTeXNCdXNEZXZpY2UgcGFyZW50X29iajsNCisgICAg Lyo8IHB1YmxpYyA+Ki8NCisNCisgICAgY2hhciAqY3B1X3R5cGU7DQorDQorICAgIEFSTXY3TVN0 YXRlIGFybXY3bTsNCisNCisgICAgU1RNMzJGNHh4U3lzY2ZnU3RhdGUgc3lzY2ZnOw0KKyAgICBT VE0zMkY0eHhFeHRpU3RhdGUgZXh0aTsNCisgICAgU1RNMzJGMlhYVXNhcnRTdGF0ZSB1c2FydFtT VE1fTlVNX1VTQVJUU107DQorICAgIFNUTTMyRjJYWFRpbWVyU3RhdGUgdGltZXJbU1RNX05VTV9U SU1FUlNdOw0KKyAgICBxZW11X29yX2lycSBhZGNfaXJxczsNCisgICAgU1RNMzJGMlhYQURDU3Rh dGUgYWRjW1NUTV9OVU1fQURDU107DQorICAgIFNUTTMyRjJYWFNQSVN0YXRlIHNwaVtTVE1fTlVN X1NQSVNdOw0KKw0KKyAgICBNZW1vcnlSZWdpb24gc3JhbTsNCisgICAgTWVtb3J5UmVnaW9uIGZs YXNoOw0KKyAgICBNZW1vcnlSZWdpb24gZmxhc2hfYWxpYXM7DQorfSBTVE0zMkY0MDVTdGF0ZTsN CisNCisjZW5kaWYNCi0tIA0KMi4xMS4wDQoNCg==