On Sun, Nov 05, 2017 at 11:55:39AM +0100, Marcin Wojtas wrote: > Wire up the non-volatile EFI variable store support, by switching from > the emulation driver to the real one. Define default values for > memory mapped SPI access, which must be configured by the early > firmware. In order to ensure proper execution, configure initialization > order with Depex entries.
(And drop Depex entries from here.) If you do: Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Marcin Wojtas <m...@semihalf.com> > --- > Platform/Marvell/Armada/Armada.dsc.inc | 25 +++++++++++++++++++- > Platform/Marvell/Armada/Armada70x0.fdf | 6 ++++- > Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf | 5 +++- > Platform/Marvell/Drivers/Spi/MvSpiDxe.inf | 5 +++- > Platform/Marvell/Marvell.dec | 3 +++ > 5 files changed, 40 insertions(+), 4 deletions(-) > > diff --git a/Platform/Marvell/Armada/Armada.dsc.inc > b/Platform/Marvell/Armada/Armada.dsc.inc > index 2cd96e6..cccc3e0 100644 > --- a/Platform/Marvell/Armada/Armada.dsc.inc > +++ b/Platform/Marvell/Armada/Armada.dsc.inc > @@ -371,6 +371,17 @@ > # TRNG > gMarvellTokenSpaceGuid.PcdEip76TrngBaseAddress|0xF2760000 > > + # > + # Variable store - default values > + # > + gMarvellTokenSpaceGuid.PcdSpiMemoryBase|0xF9000000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0xF93C0000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0xF93D0000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0xF93E0000 > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000 > + > > ################################################################################ > # > # Components Section - list of all EDK II Modules needed by this Platform > @@ -428,7 +439,6 @@ > MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > - MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf > > EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf > MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > @@ -485,6 +495,19 @@ > > NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf > } > > + # > + # Variable services > + # > + Platform/Marvell/Drivers/Spi/Variables/MvFvbDxe.inf > + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf > + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { > + <LibraryClasses> > + > AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf > + NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf > + > TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf > + VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf > + } > + > # UEFI application (Shell Embedded Boot Loader) > ShellPkg/Application/Shell/Shell.inf { > <LibraryClasses> > diff --git a/Platform/Marvell/Armada/Armada70x0.fdf > b/Platform/Marvell/Armada/Armada70x0.fdf > index ec2c368..ca92c60 100644 > --- a/Platform/Marvell/Armada/Armada70x0.fdf > +++ b/Platform/Marvell/Armada/Armada70x0.fdf > @@ -103,7 +103,6 @@ FvNameGuid = 5eda4200-2c5f-43cb-9da3-0baf74b1b30c > INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf > INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf > - INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf > INF EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf > INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf > INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf > @@ -115,6 +114,11 @@ FvNameGuid = 5eda4200-2c5f-43cb-9da3-0baf74b1b30c > INF Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf > INF Platform/Marvell/Armada/Drivers/Armada70x0RngDxe/Armada70x0RngDxe.inf > > + # Variable services > + INF Platform/Marvell/Drivers/Spi/Variables/MvFvbDxe.inf > + INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf > + INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf > + > # Network support > INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf > INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf > diff --git a/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf > b/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf > index 200a00c..c6bbe5e 100644 > --- a/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf > +++ b/Platform/Marvell/Drivers/Spi/Devices/MvSpiFlash.inf > @@ -64,4 +64,7 @@ > gMarvellSpiFlashProtocolGuid > > [Depex] > - TRUE > + # > + # MvSpiFlashDxe must be loaded prior to variables driver MvFvbDxe > + # > + BEFORE gMarvellFvbDxeGuid > diff --git a/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf > b/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf > index 9fe246f..ac0e407 100644 > --- a/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf > +++ b/Platform/Marvell/Drivers/Spi/MvSpiDxe.inf > @@ -67,4 +67,7 @@ > gMarvellSpiMasterProtocolGuid > > [Depex] > - TRUE > + # > + # MvSpiDxe must be loaded prior to MvSpiFlash driver > + # > + BEFORE gMarvellSpiFlashDxeGuid > diff --git a/Platform/Marvell/Marvell.dec b/Platform/Marvell/Marvell.dec > index 6aa2a8d..2eb6238 100644 > --- a/Platform/Marvell/Marvell.dec > +++ b/Platform/Marvell/Marvell.dec > @@ -56,6 +56,9 @@ > gShellFUpdateHiiGuid = { 0x9b5d2176, 0x590a, 0x49db, { 0x89, 0x5d, 0x4a, > 0x70, 0xfe, 0xad, 0xbe, 0x24 } } > gShellSfHiiGuid = { 0x03a67756, 0x8cde, 0x4638, { 0x82, 0x34, 0x4a, 0x0f, > 0x6d, 0x58, 0x81, 0x39 } } > > + gMarvellFvbDxeGuid = { 0x42903750, 0x7e61, 0x4aaf, { 0x83, 0x29, 0xbf, > 0x42, 0x36, 0x4e, 0x24, 0x85 } } > + gMarvellSpiFlashDxeGuid = { 0x49d7fb74, 0x306d, 0x42bd, { 0x94, 0xc8, > 0xc0, 0xc5, 0x4b, 0x18, 0x1d, 0xd7 } } > + > [Protocols] > # installed as a protocol by PlatInitDxe to force ordering between DXE > drivers > # that depend on the lowlevel platform initialization having been completed > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel