public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sami Mujawar" <sami.mujawar@arm.com>
To: devel@edk2.groups.io, khasim.mohammed@arm.com, nd <nd@arm.com>
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 1/4] Silicon/ARM/NeoverseN1Soc: Add mem regions to support multi-chip usecase
Date: Tue, 22 Jun 2021 16:10:14 +0100	[thread overview]
Message-ID: <9ec1ea69-e767-e7fb-c9ae-7d8a0a666be2@arm.com> (raw)
In-Reply-To: <20210602124701.18045-2-khasim.mohammed@arm.com>

Hi Khasim,

I think this patch needs to be split. Also the commit message and the
code changes look out of place. Can you fix this, please?

 From what I can see this patch includes the following changes:

- Fixes the missing function documentation. Thank you for that, but this
should be a separate patch.

- Defines new PCDs and configures the memory map.

Other than that one minor suggestion marked inline as [SAMI].

Regards,

Sami Mujawar


On 02/06/2021 01:46 PM, Khasim Mohammed via groups.io wrote:
> This patch adds resource descriptor for multi-chip usecase and
> introduces corresponding PCD definitions.
>
> Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
> Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@arm.com>
> ---
>   Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec                           | 30 ++++++-
>   Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf         | 28 ++++---
>   Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h                     | 10 +--
>   Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c | 18 ++---
>   Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c           | 43 ++++++++--
>   Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c        | 84 +++++++++++++++++---
>   6 files changed, 172 insertions(+), 41 deletions(-)
>
> diff --git a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec
> index 54b793a937ff..8789795bbae3 100644
> --- a/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec
> +++ b/Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec
> @@ -1,5 +1,7 @@
> +## @file
> +#  Describes the entire platform configuration.
>   #
> -#  Copyright (c) 2018 - 2020, ARM Limited. All rights reserved.
> +#  Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
>   #
> @@ -33,8 +35,8 @@ [PcdsFixedAtBuild]
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax|17|UINT32|0x00000005
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin|0|UINT32|0x00000006
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoBase|0x0|UINT32|0x00000007
> -  gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase|0x00FFFFFF|UINT32|0x00000008
> -  gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize|0x01000000|UINT32|0x00000009
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoMaxBase|0x001FFFF|UINT32|0x00000008
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoSize|0x020000|UINT32|0x00000009
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieIoTranslation|0x75200000|UINT32|0x0000000A
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Base|0x71200000|UINT32|0x0000000B
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32MaxBase|0x751FFFFF|UINT32|0x0000000C
> @@ -44,3 +46,25 @@ [PcdsFixedAtBuild]
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64MaxBase|0x28FFFFFFFF|UINT64|0x00000010
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Size|0x2000000000|UINT64|0x00000011
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio64Translation|0x0|UINT64|0x00000012
> +
> +  # CCIX
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusCount|18|UINT32|0x00000016
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax|17|UINT32|0x00000017
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin|0|UINT32|0x00000018
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress|0x68000000|UINT32|0x00000019
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoBase|0x0|UINT32|0x0000001A
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoMaxBase|0x01FFFF|UINT32|0x0000001B
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoSize|0x020000|UINT32|0x0000001C
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixIoTranslation|0x6D200000|UINT32|0x00000001D
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base|0x69200000|UINT32|0x0000001E
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32MaxBase|0x6D1FFFFF|UINT32|0x00000001F
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size|0x04000000|UINT32|0x00000020
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Translation|0x0|UINT32|0x00000021
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base|0x2900000000|UINT64|0x00000022
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64MaxBase|0x48FFFFFFFF|UINT64|0x00000023
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size|0x2000000000|UINT64|0x00000024
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Translation|0x0|UINT64|0x00000025
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress|0x62000000|UINT32|0x00000026
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize|0x00001000|UINT32|0x00000027
> +
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace|0x40000000000|UINT64|0x00000029
> diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf
> index 166c9e044483..8e2154aadf47 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf
> +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.inf
> @@ -1,6 +1,7 @@
>   ## @file
> +#  Platform Library for N1Sdp.
>   #
> -#  Copyright (c) 2018-2020, ARM Limited. All rights reserved.
> +#  Copyright (c) 2018-2021, ARM Limited. All rights reserved.<BR>
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
>   #
> @@ -29,13 +30,17 @@ [Sources.AARCH64]
>     AArch64/Helper.S | GCC
>
>   [FixedPcd]
> -  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
> -
> -  gArmTokenSpaceGuid.PcdSystemMemoryBase
> -  gArmTokenSpaceGuid.PcdSystemMemorySize
> -  gArmTokenSpaceGuid.PcdArmPrimaryCore
> -  gArmTokenSpaceGuid.PcdArmPrimaryCoreMask
> -
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMax
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixBusMin
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixExpressBaseAddress
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Base
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio32Size
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Base
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixMmio64Size
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseAddress
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdCcixRootPortConfigBaseSize
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base
> +  gArmNeoverseN1SocTokenSpaceGuid.PcdExtMemorySpace
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMax
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieBusMin
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieMmio32Base
> @@ -45,7 +50,12 @@ [FixedPcd]
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseAddress
>     gArmNeoverseN1SocTokenSpaceGuid.PcdPcieRootPortConfigBaseSize
>
> -  gArmNeoverseN1SocTokenSpaceGuid.PcdDramBlock2Base
> +  gArmTokenSpaceGuid.PcdArmPrimaryCore
> +  gArmTokenSpaceGuid.PcdArmPrimaryCoreMask
> +  gArmTokenSpaceGuid.PcdSystemMemoryBase
> +  gArmTokenSpaceGuid.PcdSystemMemorySize
> +
> +  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
>
>   [Guids]
>     gEfiHobListGuid          ## CONSUMES  ## SystemTable
> diff --git a/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h b/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h
> index 097160c7e2d1..309a5c627845 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h
> +++ b/Silicon/ARM/NeoverseN1Soc/Include/NeoverseN1Soc.h
> @@ -1,9 +1,9 @@
>   /** @file
> -*
> -* Copyright (c) 2018 - 2020, ARM Limited. All rights reserved.
> -*
> -* SPDX-License-Identifier: BSD-2-Clause-Patent
> -*
> +
> + Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
> +
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +
>   **/
>
>   #ifndef NEOVERSEN1SOC_PLATFORM_H_
> diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c
> index 9332939f63eb..ac88415fd24c 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c
> +++ b/Silicon/ARM/NeoverseN1Soc/Library/PciHostBridgeLib/PciHostBridgeLib.c
> @@ -1,10 +1,10 @@
>   /** @file
> -*  PCI Host Bridge Library instance for ARM Neoverse N1 platform
> -*
> -*  Copyright (c) 2019 - 2020, ARM Limited. All rights reserved.
> -*
> -*  SPDX-License-Identifier: BSD-2-Clause-Patent
> -*
> +  PCI Host Bridge Library instance for ARM Neoverse N1 platform
> +
> +  Copyright (c) 2019 - 2021, ARM Limited. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
>   **/
>
>   #include <PiDxe.h>
> @@ -96,7 +96,7 @@ STATIC PCI_ROOT_BRIDGE mPciRootBridge[] = {
>   /**
>     Return all the root bridge instances in an array.
>
> -  @param Count  Return the count of root bridge instances.
> +  @param Count            Return the count of root bridge instances.
>
>     @return All the root bridge instances in an array.
>             The array should be passed into PciHostBridgeFreeRootBridges()
> @@ -115,8 +115,8 @@ PciHostBridgeGetRootBridges (
>   /**
>     Free the root bridge instances array returned from PciHostBridgeGetRootBridges().
>
> -  @param Bridges The root bridge instances array.
> -  @param Count   The count of the array.
> +  @param Bridges          The root bridge instances array.
> +  @param Count            The count of the array.
>   **/
>   VOID
>   EFIAPI
> diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c
> index f722080e566b..d5ec0ff30d10 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c
> +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLib.c
> @@ -1,9 +1,9 @@
>   /** @file
> -*
> -*  Copyright (c) 2018-2020, ARM Limited. All rights reserved.
> -*
> -*  SPDX-License-Identifier: BSD-2-Clause-Patent
> -*
> +
> +  Copyright (c) 2018-2021, ARM Limited. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
>   **/
>
>   #include <Library/ArmPlatformLib.h>
> @@ -17,6 +17,12 @@ STATIC ARM_CORE_INFO mCoreInfoTable[] = {
>     { 0x1, 0x1 }  // Cluster 1, Core 1
>   };
>
> +/**
> +  Return the current Boot Mode.
> +
> +  This function returns the boot reason on the platform.
> +
> +**/
>   EFI_BOOT_MODE
>   ArmPlatformGetBootMode (
>            VOID
> @@ -25,6 +31,15 @@ ArmPlatformGetBootMode (
>     return BOOT_WITH_FULL_CONFIGURATION;
>   }
>
> +/**
> +  Initialize controllers that must be setup in the normal world.
> +
> +  This function is called by the ArmPlatformPkg/Pei or ArmPlatformPkg/Pei/PlatformPeim
> +  in the PEI phase.
> +
> +  @param[in]    MpId          Processor ID
> +
> +**/
>   RETURN_STATUS
>   ArmPlatformInitialize (
>     IN     UINTN                  MpId
> @@ -33,6 +48,15 @@ ArmPlatformInitialize (
>     return RETURN_SUCCESS;
>   }
>
> +/**
> +  Populate the Platform core information.
> +
> +  This function populates the ARM_MP_CORE_INFO_PPI with information about the cores.
> +
> +  @param[out]   CoreCount     Number of cores
> +  @param[out]   ArmCoreTable  Table containing information about the cores
> +
> +**/
>   EFI_STATUS
>   PrePeiCoreGetMpCoreInfo (
>        OUT UINTN                  *CoreCount,
> @@ -56,6 +80,15 @@ EFI_PEI_PPI_DESCRIPTOR gPlatformPpiTable[] = {
>     }
>   };
>
> +/**
> +  Return the Platform specific PPIs
> +
> +  This function exposes the N1Sdp Specific PPIs.
> +
> +  @param[out]   PpiListSize   Size in Bytes of the Platform PPI List
> +  @param[out]   PpiList       Platform PPI List
> +
> +**/
>   VOID
>   ArmPlatformGetPlatformPpiList (
>        OUT UINTN                  *PpiListSize,
> diff --git a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> index f9b3d037537d..ebdcf437599a 100644
> --- a/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> +++ b/Silicon/ARM/NeoverseN1Soc/Library/PlatformLib/PlatformLibMem.c
> @@ -1,9 +1,9 @@
>   /** @file
> -*
> -*  Copyright (c) 2018 - 2020, ARM Limited. All rights reserved.
> -*
> -*  SPDX-License-Identifier: BSD-2-Clause-Patent
> -*
> +
> +  Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
>   **/
>
>   #include <Library/ArmPlatformLib.h>
> @@ -13,7 +13,7 @@
>   #include <NeoverseN1Soc.h>
>
>   // The total number of descriptors, including the final "end-of-table" descriptor.
> -#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 13
> +#define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS 19
>
>   /**
>     Returns the Virtual Memory Map of the platform.
> @@ -21,21 +21,23 @@
>     This Virtual Memory Map is used by MemoryInitPei Module to initialize the MMU
>     on your platform.
>
> -  @param[out] VirtualMemoryMap Array of ARM_MEMORY_REGION_DESCRIPTOR describing
> -                               a Physical-to-Virtual Memory mapping. This array
> -                               must be ended by a zero-filled entry.
> +  @param[in]   VirtualMemoryMap  Array of ARM_MEMORY_REGION_DESCRIPTOR describing
> +                                 a Physical-to-Virtual Memory mapping. This array
> +                                 must be ended by a zero-filled entry.
>   **/
>   VOID
>   ArmPlatformGetVirtualMemoryMap (
>     IN     ARM_MEMORY_REGION_DESCRIPTOR  **VirtualMemoryMap
>     )
>   {
> -  UINTN                         Index = 0;
> +  UINTN                         Index;
>     ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;
>     EFI_RESOURCE_ATTRIBUTE_TYPE   ResourceAttributes;
>     NEOVERSEN1SOC_PLAT_INFO       *PlatInfo;
>     UINT64                        DramBlock2Size;
> +  UINT64                        RemoteDdrSize;
>
> +  Index = 0;
>     PlatInfo = (NEOVERSEN1SOC_PLAT_INFO *)NEOVERSEN1SOC_PLAT_INFO_STRUCT_BASE;
>     DramBlock2Size = ((UINT64)(PlatInfo->LocalDdrSize -
>                                NEOVERSEN1SOC_DRAM_BLOCK1_SIZE / SIZE_1GB) *
> @@ -55,6 +57,24 @@ ArmPlatformGetVirtualMemoryMap (
>       FixedPcdGet64 (PcdDramBlock2Base),
>       DramBlock2Size);
>
> +  if (PlatInfo->MultichipMode == 1) {
> +    RemoteDdrSize = ((PlatInfo->RemoteDdrSize - 2) * 1024UL * 1024UL * 1024UL);
[SAMI] Can SIZE_1GB be used instead of 1024UL*...?
> +
> +    BuildResourceDescriptorHob (
> +      EFI_RESOURCE_SYSTEM_MEMORY,
> +      ResourceAttributes,
> +      FixedPcdGet64 (PcdExtMemorySpace) + FixedPcdGet64 (PcdSystemMemoryBase),
> +      PcdGet64 (PcdSystemMemorySize)
> +      );
> +
> +    BuildResourceDescriptorHob (
> +      EFI_RESOURCE_SYSTEM_MEMORY,
> +      ResourceAttributes,
> +      FixedPcdGet64 (PcdExtMemorySpace) + FixedPcdGet64 (PcdDramBlock2Base),
> +      RemoteDdrSize
> +      );
> +  }
> +
>     ASSERT (VirtualMemoryMap != NULL);
>     Index = 0;
>
> @@ -114,6 +134,32 @@ ArmPlatformGetVirtualMemoryMap (
>     VirtualMemoryTable[Index].Length          = PcdGet64 (PcdPcieMmio64Size);
>     VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
>
> +  // CCIX RC Configuration Space
> +  VirtualMemoryTable[++Index].PhysicalBase  = PcdGet32 (PcdCcixRootPortConfigBaseAddress);
> +  VirtualMemoryTable[Index].VirtualBase     = PcdGet32 (PcdCcixRootPortConfigBaseAddress);
> +  VirtualMemoryTable[Index].Length          = PcdGet32 (PcdCcixRootPortConfigBaseSize);
> +  VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
> +
> +  // CCIX ECAM Configuration Space
> +  VirtualMemoryTable[++Index].PhysicalBase  = PcdGet32 (PcdCcixExpressBaseAddress);
> +  VirtualMemoryTable[Index].VirtualBase     = PcdGet32 (PcdCcixExpressBaseAddress);
> +  VirtualMemoryTable[Index].Length          = (FixedPcdGet32 (PcdCcixBusMax) -
> +                                               FixedPcdGet32 (PcdCcixBusMin) + 1) *
> +                                               SIZE_1MB;
> +  VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
> +
> +  // CCIX MMIO32 Memory Space
> +  VirtualMemoryTable[++Index].PhysicalBase  = PcdGet32 (PcdCcixMmio32Base);
> +  VirtualMemoryTable[Index].VirtualBase     = PcdGet32 (PcdCcixMmio32Base);
> +  VirtualMemoryTable[Index].Length          = PcdGet32 (PcdCcixMmio32Size);
> +  VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
> +
> + // CCIX MMIO64 Memory Space
> +  VirtualMemoryTable[++Index].PhysicalBase  = PcdGet64 (PcdCcixMmio64Base);
> +  VirtualMemoryTable[Index].VirtualBase     = PcdGet64 (PcdCcixMmio64Base);
> +  VirtualMemoryTable[Index].Length          = PcdGet64 (PcdCcixMmio64Size);
> +  VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
> +
>     // SubSystem Pheripherals - UART0
>     VirtualMemoryTable[++Index].PhysicalBase  = NEOVERSEN1SOC_UART0_BASE;
>     VirtualMemoryTable[Index].VirtualBase     = NEOVERSEN1SOC_UART0_BASE;
> @@ -138,6 +184,24 @@ ArmPlatformGetVirtualMemoryMap (
>     VirtualMemoryTable[Index].Length          = NEOVERSEN1SOC_EXP_PERIPH_BASE0_SZ;
>     VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_DEVICE;
>
> +  if (PlatInfo->MultichipMode == 1) {
> +    //Remote DDR (2GB)
> +    VirtualMemoryTable[++Index].PhysicalBase  = PcdGet64 (PcdExtMemorySpace) +
> +                                                PcdGet64 (PcdSystemMemoryBase);
> +    VirtualMemoryTable[Index].VirtualBase     = PcdGet64 (PcdExtMemorySpace) +
> +                                                PcdGet64 (PcdSystemMemoryBase);
> +    VirtualMemoryTable[Index].Length          = PcdGet64 (PcdSystemMemorySize);
> +    VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_THROUGH;
> +
> +    //Remote DDR
> +    VirtualMemoryTable[++Index].PhysicalBase  = PcdGet64 (PcdExtMemorySpace) +
> +                                                PcdGet64 (PcdDramBlock2Base);
> +    VirtualMemoryTable[Index].VirtualBase     = PcdGet64 (PcdExtMemorySpace) +
> +                                                PcdGet64 (PcdDramBlock2Base);
> +    VirtualMemoryTable[Index].Length          = RemoteDdrSize;
> +    VirtualMemoryTable[Index].Attributes      = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_THROUGH;
> +  }
> +
>     // End of Table
>     VirtualMemoryTable[++Index].PhysicalBase  = 0;
>     VirtualMemoryTable[Index].VirtualBase     = 0;

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

  reply	other threads:[~2021-06-22 15:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-02 12:46 [edk2-platforms][PATCH V1 0/4]N1Sdp ACPI table and configuration manager support Khasim Mohammed
2021-06-02 12:46 ` [edk2-platforms][PATCH V1 1/4] Silicon/ARM/NeoverseN1Soc: Add mem regions to support multi-chip usecase Khasim Mohammed
2021-06-22 15:10   ` Sami Mujawar [this message]
2021-06-02 12:46 ` [edk2-platforms][PATCH V1 2/4] Platform/ARM/N1Sdp: Introduce platform DXE driver Khasim Mohammed
2021-06-22 14:49   ` [edk2-devel] " Sami Mujawar
2021-06-02 12:47 ` [edk2-platforms][PATCH V1 3/4] Platform/ARM/N1Sdp: Enable N1Sdp platform specific configurations Khasim Mohammed
2021-06-22 14:44   ` [edk2-devel] " Sami Mujawar
2021-06-02 12:47 ` [edk2-platforms][PATCH V1 4/4] Platform/ARM/N1Sdp: Configuration Manager for N1Sdp Khasim Mohammed
2021-06-22 14:38   ` [edk2-devel] " Sami Mujawar
2021-06-22 16:11     ` PierreGondois

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9ec1ea69-e767-e7fb-c9ae-7d8a0a666be2@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox