[edk2-devel] [PATCH v1 05/11] ArmPlatformPkg: Dynamic flash variable base

Philippe Mathieu-Daudé philmd at redhat.com
Wed May 27 11:48:11 UTC 2020


On 5/14/20 10:40 AM, Sami Mujawar wrote:
> Some virtual machine managers like kvmtool can relocate
> the devices in the system memory map. The information
> about the devices location in memory is described in the
> device tree. Therefore, the CFI memory region and the
> associated Non volatile storage variables need to be
> adjusted accordingly.
> 
> To support such use cases the non-volatile storage
> variable base PCD PcdFlashNvStorageVariableBase has
> been defined as a dynamic PCD.
> 
> The NOR flash driver was using the Flash non-volatile
> storage variable base PCD as a fixed PCD, thereby
> preventing runtime resolution of the variable base
> address.
> 
> Therefore update the NOR flash driver to load the
> PCD using PcdGet32 instead of FixedPcdGet32.
> 
> Signed-off-by: Sami Mujawar <sami.mujawar at arm.com>
> ---
>  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c
> index e248fdf6db94191648b5d33bf1a9263f446ee141..9cdd85096a463f69b3b864cecdeaf247e65f4f73 100644
> --- a/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c
> +++ b/ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashFvbDxe.c
> @@ -1,6 +1,6 @@
>  /*++ @file  NorFlashFvbDxe.c
>  
> - Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>
> + Copyright (c) 2011 - 2020, ARM Ltd. All rights reserved.<BR>
>  
>   SPDX-License-Identifier: BSD-2-Clause-Patent
>  
> @@ -736,7 +736,7 @@ NorFlashFvbInitialize (
>        EFI_MEMORY_UC | EFI_MEMORY_RUNTIME);
>    ASSERT_EFI_ERROR (Status);
>  
> -  mFlashNvStorageVariableBase = FixedPcdGet32 (PcdFlashNvStorageVariableBase);
> +  mFlashNvStorageVariableBase = PcdGet32 (PcdFlashNvStorageVariableBase);
>  
>    // Set the index of the first LBA for the FVB
>    Instance->StartLba = (PcdGet32 (PcdFlashNvStorageVariableBase) - Instance->RegionBaseAddress) / Instance->Media.BlockSize;
> 

Reviewed-by: Philippe Mathieu-Daude <philmd at redhat.com>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#60337): https://edk2.groups.io/g/devel/message/60337
Mute This Topic: https://groups.io/mt/74200906/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list