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

sahil sahil at arm.com
Wed Feb 8 05:34:27 UTC 2023


Hi Thomas/Sami,

This issue arose while fixing comments during upstreaming the
following patch - https://edk2.groups.io/g/devel/topic/83261392#76845
and was observed while we were testing the platform with upstream code.

Thanks,
Sahil

On Thu, 26 Jan 2023 at 00:48, Thomas Abraham <thomas.abraham at arm.com> wrote:
>
>
> 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 (#99785): https://edk2.groups.io/g/devel/message/99785
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