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

Reply via email to