From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Permerror (SPF Permanent Error: Void lookup limit of 2 exceeded) identity=mailfrom; client-ip=2a01:111:f400:fe07::608; helo=eur02-am5-obe.outbound.protection.outlook.com; envelope-from=meenakshi.aggarwal@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-am5eur02on0608.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe07::608]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 15D4321CF1CEB for ; Fri, 16 Feb 2018 00:49:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=U20qfbIaWqX4dWugKa9cKe6bYUCytT5STtpmZn1lgM8=; b=U+p9oBTXzE4vDnHvBfwGhWi/V9P8XnaxDnGZeRdk+P4M70G4DYdcYQKHR79aoayvLTDaGC9OsNV90oue45lhPKR380dMZ0lIMFO6N3j0o7tIT2rvjkFmRYVpOhGzqxYYP8Fo9bCALmTQjPyTx80MD9YqDNjqA5rO63u1FDO/xQA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=meenakshi.aggarwal@nxp.com; Received: from idcbfarm.ap.freescale.net (192.88.169.1) by VI1PR04MB1008.eurprd04.prod.outlook.com (2a01:111:e400:5090::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.485.10; Fri, 16 Feb 2018 08:54:48 +0000 From: Meenakshi To: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, michael.d.kinney@intel.com, edk2-devel@lists.01.org Date: Fri, 16 Feb 2018 14:20:27 +0530 Message-Id: <1518771035-6733-32-git-send-email-meenakshi.aggarwal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1518771035-6733-1-git-send-email-meenakshi.aggarwal@nxp.com> References: <1518771035-6733-1-git-send-email-meenakshi.aggarwal@nxp.com> MIME-Version: 1.0 X-Originating-IP: [192.88.169.1] X-ClientProxiedBy: HK2PR02CA0172.apcprd02.prod.outlook.com (2603:1096:201:1f::32) To VI1PR04MB1008.eurprd04.prod.outlook.com (2a01:111:e400:5090::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1763a287-fe24-4f68-eb18-08d5751af10c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020); SRVR:VI1PR04MB1008; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1008; 3:yDpu8aiOQrY7Yfb+YjpsdkPg/xfZR0iQrOkRKMNziMWo6ckx02NcLLtRUR0Ir7mTHDI2RxV86A7LKrkJXu5F4aDla6sBGkukBFNUD6wrJIby8+m7axY10t/euPf3zUDRUoUkeRANA+HFoeKCEoDOEbbdZYaVORZLTyVvf2KBJ4X7uPQrtGDa+14hL2zUCcrHxhTRhe9IFwkrAOpZRZSI6re7Ra2SLB71sKLWy4L3KPx1qoWnfCRUl4TpKbJXgsn1; 25:poYjAPi7jb6REYHpLya3IOPj134ehfuSg0HqvKXyZQ/icK9eN786NbL2o+mmIyVQmOLM8ydVxv8wvXxzPXbSfykSZwtYeQ2hBKjOSBtk0m8aPGKmpbIfVwM+4IuxBm4hm/VBAMEGL50ZmjoXxzlT9VO+RPxRuDqGXlO14e/x/tcagUMzEnGxxqMjQwpeYIFVe/SWYBj6VK1z9+XZtplTHAyyN1BTTxDWKoi1sl5IADX5AAKjpINILaTSThvgyZwUXrj3jkYDl65lHWW624Rq6oaMLzqx+joGTf3l8qfjdf1ksg2ODmwrrRsJmeeojwRxgq4+izDyniuFoDpZSagHbg==; 31:orvg+9wrVJ8LLi3o6L16jRdtTn5cmUpXSSnSnFwyBgki7EuaMFYABuKL2/SQJPGXApBvXEIPKCq18j6iICOOyDjsyHdIxt/vh/GAFpdzlDtdxaxeL8w55DFrENYR7MigBX9HtcgRn4iKLYl/dDlg3wBn8BaDFSsb0xRucozm6n4XR4DAn466v6yK3Fq5Ri5S0TrCKB8vGozxWfJq9RylQJDR0c1pW2xe4PhCD1j5lQU= X-MS-TrafficTypeDiagnostic: VI1PR04MB1008: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1008; 20:IxB1CJQd6ljQjb6WCJ051a5oX8UK9uL5rLsnIE2NwQxCoYlg6qaKYzZczthpZBkYN2fn+vlu84mSTtZypwNuFOnQx9ot2CqOg7oqdDSU1+c3mJVmGvo1OHjYxzXr5jQVgMju6G+Sm6lnovmHHcyhhSwkjZOVGSxNZAD7KPxdHxEOBtNnQJQr9cpXUsn2WllxktzOpoyKJ4NJWY5dU5nBSjELfx5HUYjHjT0XvD0qaempBxftKxa+HdMMW73ovQB8HYSV43t27yCgYw8AWwDm70e0yYfPT/ayILqwiprzR0P9qhu1X8MI3+xE8xL+ae6Ww1a6oRL/t/rKctC/GYuYdgbaOhva7e37U325nQv+g25e+1f2cQ07qvgX0Tbbd935IofJZEoECv5LgCR10COipWcZRptkoDFLOKJyRKfp2XwsUvuHxrZINvA4mpiGNGGjyMisGtGDPxE1qjBpd5o5rAEwiBa7k5fbdYv2FYCj/TKqV1SXrlTtqlsywvCx+R3Z; 4:Ct0vcU5bV9F9VrR0WoJd2BUiUgyD/TaiHZmZsfb1Ci2EF/vXtbRZfKDqpI1VFBVkmoSiYVosRYC/XQaMrdQk/FatA5NcV+x1UJhJ8uyhtEcCgdaIRio2o+lltLjJX6goj8frXju9T4WHZLUGvlogAFHXlpkcFvhBLCJRmyokzhwo+WrI6QVmKkBgz3cln8pR8RsINlCw1HWNmfgFH5uUWajrmS+dKah3Q6MeRKZS57zjeZSEnMPAQxgD3/VgSdeRpv66wDkSjczpVxQYFMH3j7wGDrtBuLsdzQ5OA7Tr/XZbG6MHmMfhTeQnChxpyOp3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231101)(944501161)(6055026)(6041288)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR04MB1008; BCL:0; PCL:0; RULEID:; SRVR:VI1PR04MB1008; X-Forefront-PRVS: 0585417D7B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(39380400002)(396003)(39860400002)(366004)(199004)(189003)(86362001)(575784001)(6486002)(8676002)(76176011)(36756003)(53376002)(966005)(4326008)(6116002)(15188155005)(16799955002)(7736002)(386003)(68736007)(186003)(26005)(53936002)(305945005)(16526019)(81156014)(3846002)(114624004)(6506007)(478600001)(50226002)(16586007)(8936002)(2950100002)(316002)(2906002)(59450400001)(25786009)(97736004)(50466002)(48376002)(105586002)(52116002)(47776003)(81166006)(51416003)(5660300001)(6666003)(106356001)(66066001)(6306002)(6512007)(19627235001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB1008; H:idcbfarm.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR04MB1008; 23:0Q5ktcfG0aK1eZoueUAgzfCbQ6iERL80jyA3pgznT?= =?us-ascii?Q?lrS9GzUX1bM+PVaX9LbKlUxgLsVNpkUp/TzGztW+UierKw1bAAEqU5/WBXKD?= =?us-ascii?Q?eLxycNeE9EsRyJ2NxGuv0KdnYHgHKv5Ll6Q2IGNfmJQwWC4STI2LrahPuPGv?= =?us-ascii?Q?52QMJHyOG5jj245/w5dcxWGByABogzkTyG5/gOZqYpajDlnXjiwV1G7LVmzl?= =?us-ascii?Q?wwwWVp+Aq9zIDn4auVlbBCLGZbSIL9BFI0ER5ax/m8NrdX6RVEcqYjs19PqQ?= =?us-ascii?Q?aqJRgzPE/pVeT9VygQGnHk53572SwZC9GrJW7oZH0byN/8GjI8iLu8JA2bgx?= =?us-ascii?Q?zEvEYImIO8cUgpey/sT9Mpg84yGlKV3/E5lwlDVoUfDkv3kWb+ISZQkGLz9h?= =?us-ascii?Q?lUW6J7NkmEgzPVOds2MicnXrSGSQ+3i++WizN/5RzJBP0VSuseV5BHHSiTU+?= =?us-ascii?Q?SzxE7jNEDbtqpczzIB2UIwR4BKj/l6J8uHHslEVY5mZCqSsCs1YBjLCXZgtX?= =?us-ascii?Q?XYjzJw6IARG7Jgty6nmjtEI873GNN25YRIqF7O+QX0rHTuQmUSH0TX8lao6P?= =?us-ascii?Q?HHVlunZvPGB84PXnVVckFt+TnDAFxzH7m71ATyHGXznYOK9EalGFpeC9BZEW?= =?us-ascii?Q?PwFmvftLVL/k5j8sykRcMkjUJeMdK0U9VZOTEHYW0NRLnZnPlZDSQ0SQsE/c?= =?us-ascii?Q?btzoXzVfIOOvVe1VTPasIFZFP7uebjcjw3Ttcp4YlP1nEe2Zh6oN6F1vEP3H?= =?us-ascii?Q?irhGtzWXlYYcLRHWuysQpqma7IWae+EUUfe72LkbXe89fVXaPJHFuTjn9rA/?= =?us-ascii?Q?YEbqI/2hdogbARJOrtbKirsXtPJjs5o0gndMLuEDAIi2HUW3lVZaJUWMJRdT?= =?us-ascii?Q?hn17ORQPiZ0U18RBSDVRFh9x8k4CixaxzOPnu310FIY8jo3pJfnP7JmJfJMb?= =?us-ascii?Q?dQMhx6/t2zFHg1/Kk/w/s1iazk5+HTZrTw8jFrPQWNOC3bGuXAX1XQEvtx45?= =?us-ascii?Q?VeHsUqEUfLRAiDFcy6ULCUgrk9WtdIvW/zJ60anJsxDTQPMx7rkPLmaVGlFG?= =?us-ascii?Q?9dRGRBlS8oHqNi0vSIN2qE2VKiz0DCoHZC3EH9r39oqOEnzxmjm2HbqN7zd4?= =?us-ascii?Q?9zCcicFCPAwlinDC8UgdfkgJ8dgNDB3nnZ0CGLLDc3Pk1n3wkLdMmFQ1aVT2?= =?us-ascii?Q?gG7ojW6gMAzilC6C320cibk+OCwcQj2fxfwuDPZ/UvvS5TaP+L8YI0XbM9nU?= =?us-ascii?Q?fDIr9R27YUCr49h7Xm2Do2Z6qGxNqkFu6A/hODe+Lj8tCI9WVVvY5XnNlEcQ?= =?us-ascii?B?QT09?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB1008; 6:o4ImXdiLNSl/qQmBSwG/JvH9wfu+o+ZAmJMUnR28UwmE2aBQdQQLBY4+x4X78cLe1w3Nbc0eCSQY6A99C8CX4D9/6NCxsMmxMwMWty3TOtY88tzc+UeEzL+HSth7uTlYfg2FLxsJ1crew0/pvlpKdaztvWpFRw7flkSESsB9ogRlqb/f3fRai6rfgip9v+9ChZRM7YjPhBrTU07l/+Sgf00GMA+MwXqd1X8JBOQSwZ3deS1YiEIhVpC7VIRZgu88MoOleXvKyLVbA0PCAf0yvn9EsgGmPxhlWrYhwLOWZh6AS/2kB0haG/JokixAIl0cnnVxA/7oLAyDqJxL5T970bZCTB7zmMxQBFpBhszIML8=; 5:VgQ7E8Cd03GXYbfq2j3IDhUtny3qDBjrNxb+SUIno3Zcv7BtgGw7qfR3Gqy7h/U9lGfGspncYUvtxYWbl12HNBRPJuRFI5BWZXw7iAfaKl/Xr5FFI7JM/09cjyTFNOZrUmks9l9LpRBanI5CusBH2tAYqD4uhpOcLsEgveKivlM=; 24:s332bld7qgoz8rcvA5Qg755nEpUtUtTTDAmUYhICRmdWZkSZuxwbRDI3Dawp0//lktHO9ogL65iFWDrKOBTldG3Le8UiFIgu51/MVkxMQhc=; 7:+I8OGLM1GPeh06cS0zlBEg7WJVF7IDz1P0tVqry3KBFzZx/qHFq8VUTkrm7iossqly8aW8iyGimWfTG5cn1Zpfd5CrQ7ea61R9QUzp8Be0OayePUPXxOF0rRXGSUZuTMZPjbZPnnKugacmacOrOcENZKdcmpkaaWG0iLhRPlOCvpowwfjREWOfDn5CHiC4cv7yvV1VAqpHP8v7uXqrkJcUIwXOhorh5Vj3taik5tlu4yC8oqv2tb3Lnb1u66J/K1 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2018 08:54:48.7798 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1763a287-fe24-4f68-eb18-08d5751af10c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB1008 Subject: [PATCH edk2-platforms 31/39] LS2088ARDB: Enable NOR driver and Runtime Services X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Feb 2018 08:49:01 -0000 Content-Type: text/plain From: Wasim Khan Enable NOR driver and Runtime Services for LS2088ARDB Platform Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Wasim Khan --- Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc | 15 ++++- Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf | 6 +- Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc | 99 ++++++++++++++++++++++++++++ 3 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc index 7894925..60449b5 100755 --- a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc +++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.dsc @@ -42,6 +42,7 @@ IfcLib|Silicon/NXP/Library/IfcLib/IfcLib.inf BoardLib|Platform/NXP/LS2088aRdbPkg/Library/BoardLib/BoardLib.inf FpgaLib|Platform/NXP/LS2088aRdbPkg/Library/FpgaLib/FpgaLib.inf + NorFlashLib|Silicon/NXP/Library/NorFlashLib/NorFlashLib.inf [PcdsFixedAtBuild.common] @@ -89,6 +90,13 @@ gDs3232RtcLibTokenSpaceGuid.PcdMuxRtcChannelValue|0x09 gDs3232RtcLibTokenSpaceGuid.PcdMuxDefaultChannelValue|0x08 + # + # NV Storage PCDs. + # + gArmTokenSpaceGuid.PcdVFPEnabled|1 + gNxpQoriqLsTokenSpaceGuid.PcdFlashDeviceBase64|0x580000000 + gNxpQoriqLsTokenSpaceGuid.PcdFlashReservedRegionBase64|0x580300000 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform @@ -98,6 +106,11 @@ # # Architectural Protocols # - MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf{ + + NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf + } + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf + Silicon/NXP/Drivers/NorFlashDxe/NorFlashDxe.inf diff --git a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf index 14072a6..785f88b 100644 --- a/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf +++ b/Platform/NXP/LS2088aRdbPkg/LS2088aRdbPkg.fdf @@ -55,6 +55,7 @@ gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT !include ../FVRules.fdf.inc +!include VarStore.fdf.inc ################################################################################ # # FV Section @@ -103,7 +104,8 @@ READ_LOCK_STATUS = TRUE INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf - INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf + INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf + INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf INF Silicon/NXP/Drivers/I2cDxe/I2cDxe.inf @@ -122,6 +124,8 @@ READ_LOCK_STATUS = TRUE INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf INF EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf + INF Silicon/NXP/Drivers/NorFlashDxe/NorFlashDxe.inf + # # Network modules # diff --git a/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc b/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc new file mode 100644 index 0000000..7d35042 --- /dev/null +++ b/Platform/NXP/LS2088aRdbPkg/VarStore.fdf.inc @@ -0,0 +1,99 @@ +## @file +# FDF include file with FD definition that defines an empty variable store. +# +# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved. +# Copyright (C) 2014, Red Hat, Inc. +# Copyright (c) 2016, Linaro, Ltd. All rights reserved. +# Copyright (c) 2016, Freescale Semiconductor. All rights reserved. +# Copyright 2017-2018 NXP. +# +# This program and the accompanying materials are licensed and made available +# under the terms and conditions of the BSD License which accompanies this +# distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR +# IMPLIED. +# +## + +[FD.LS2088aRdbNv_EFI] + +BaseAddress = 0x580300000|gNxpQoriqLsTokenSpaceGuid.PcdNvFdBase #The base address of the FLASH device +Size = 0x000C0000|gNxpQoriqLsTokenSpaceGuid.PcdNvFdSize #The size in bytes of the FLASH device +ErasePolarity = 1 +BlockSize = 0x1 +NumBlocks = 0xC0000 + +# +# Place NV Storage just above Platform Data Base +# +DEFINE NVRAM_AREA_VARIABLE_BASE = 0x00000000 +DEFINE NVRAM_AREA_VARIABLE_SIZE = 0x00040000 +DEFINE FTW_WORKING_BASE = $(NVRAM_AREA_VARIABLE_BASE) + $(NVRAM_AREA_VARIABLE_SIZE) +DEFINE FTW_WORKING_SIZE = 0x00040000 +DEFINE FTW_SPARE_BASE = $(FTW_WORKING_BASE) + $(FTW_WORKING_SIZE) +DEFINE FTW_SPARE_SIZE = 0x00040000 + +############################################################################# +# LS2088ARDB NVRAM Area +# LS2088ARDB NVRAM Area contains: Variable + FTW Working + FTW Spare +############################################################################# + + +$(NVRAM_AREA_VARIABLE_BASE)|$(NVRAM_AREA_VARIABLE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize +#NV_VARIABLE_STORE +DATA = { + ## This is the EFI_FIRMWARE_VOLUME_HEADER + # ZeroVector [] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + # FileSystemGuid: gEfiSystemNvDataFvGuid = + # { 0xFFF12B8D, 0x7696, 0x4C8B, + # { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C, + 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50, + # FvLength: 0xC0000 + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + # Signature "_FVH" # Attributes + 0x5f, 0x46, 0x56, 0x48, 0x36, 0x0E, 0x00, 0x00, + # HeaderLength # CheckSum # ExtHeaderOffset #Reserved #Revision + 0x48, 0x00, 0xFA, 0xF5, 0x00, 0x00, 0x00, 0x02, + # Blockmap[0]: 0x3 Blocks * 0x40000 Bytes / Block + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + # Blockmap[1]: End + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ## This is the VARIABLE_STORE_HEADER + # It is compatible with SECURE_BOOT_ENABLE == FALSE as well. + # Signature: gEfiAuthenticatedVariableGuid = + # { 0xaaf32c78, 0x947b, 0x439a, + # { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }} + 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43, + 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92, + # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) - + # 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3ffb8 + # This can speed up the Variable Dispatch a bit. + 0xB8, 0xFF, 0x03, 0x00, + # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32 + 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_WORKING_BASE)|$(FTW_WORKING_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize +#NV_FTW_WORKING +DATA = { + # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid = + # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }} + 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49, + 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95, + # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved + 0x5b, 0xe7, 0xc6, 0x86, 0xFE, 0xFF, 0xFF, 0xFF, + # WriteQueueSize: UINT64 + 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_SPARE_BASE)|$(FTW_SPARE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize +#NV_FTW_SPARE -- 1.9.1