[edk2-devel] [edk2-platforms][PATCH V1 1/1] Platform/ARM/N1Sdp: Fix RemoteDdrSize cast

Thomas Abraham thomas.abraham at arm.com
Wed Jan 25 19:18:01 UTC 2023


Hi Sahil,

On 06/01/2023 06:07, sahil via groups.io wrote:
> RemoteDdrSize calculation wraps around when booting N1Sdp in
> multichip mode. Casting it to UINT64 to fix the issue.

The change looks okay but can the commit message be expanded to explain 
how this issue surfaced. RemoteDdrSize was probably added to support 
multi-chip. So what changed since then for this issue to show up?

Thanks,
Thomas.

> 
> Signed-off-by: sahil <sahil at arm.com>
> ---
>   Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c | 2 +-
>   Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c                         | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
> index c15020f595c3..b11c0425fe25 100644
> --- a/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
> +++ b/Platform/ARM/N1Sdp/ConfigurationManager/ConfigurationManagerDxe/ConfigurationManager.c
> @@ -1254,7 +1254,7 @@ InitializePlatformRepository (
>     PlatRepoInfo->MemAffInfo[LOCAL_DDR_REGION2].Length = Dram2Size;
> 
>   
> 
>     if (PlatInfo->MultichipMode == 1) {
> 
> -    RemoteDdrSize = ((PlatInfo->RemoteDdrSize - 2) * SIZE_1GB);
> 
> +    RemoteDdrSize = ((UINT64)(PlatInfo->RemoteDdrSize - 2) * SIZE_1GB);
> 
>   
> 
>       // Update Remote DDR Region1
> 
>       PlatRepoInfo->MemAffInfo[REMOTE_DDR_REGION1].ProximityDomain = 1;
> 
> diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> index 1d53ec75aa49..5cacd437474b 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> @@ -157,7 +157,7 @@ ArmPlatformGetVirtualMemoryMap (
>       DramBlock2Size);
> 
>   
> 
>     if (PlatInfo->MultichipMode == 1) {
> 
> -    RemoteDdrSize = ((PlatInfo->RemoteDdrSize - 2) * SIZE_1GB);
> 
> +    RemoteDdrSize = ((UINT64)(PlatInfo->RemoteDdrSize - 2) * SIZE_1GB);
> 
>   
> 
>       BuildResourceDescriptorHob (
> 
>         EFI_RESOURCE_SYSTEM_MEMORY,
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99040): https://edk2.groups.io/g/devel/message/99040
Mute This Topic: https://groups.io/mt/96088950/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