From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.8814.1585133592370636588 for ; Wed, 25 Mar 2020 03:53:12 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: aditya.angadi@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D267C31B; Wed, 25 Mar 2020 03:53:11 -0700 (PDT) Received: from usa.arm.com (a073440-lin.blr.arm.com [10.162.16.34]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 39D2C3F71F; Wed, 25 Mar 2020 03:53:10 -0700 (PDT) From: "Aditya Angadi" To: devel@edk2.groups.io Cc: Vijayenthiran Subramaniam , Leif Lindholm , Ard Biesheuvel , Aditya Angadi Subject: [edk2-platforms][PATCH v3 1/9] Platform/ARM/SgiPkg: create individual Date: Wed, 25 Mar 2020 16:22:44 +0530 Message-Id: <20200325105252.13905-2-aditya.angadi@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200325105252.13905-1-aditya.angadi@arm.com> References: <20200325105252.13905-1-aditya.angadi@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Vijayenthiran Subramaniam In preparation for adding support for Reference Design (RD) platforms that have different base addresses for GIC distributor or redistributor, create individual platform description files for all SGI/RD platforms and move GIC related base addresses from the common SGI/RD platform description file to individual platform description files. The existing platform description is then included by individual platform description files. Cc: Leif Lindholm Cc: Ard Biesheuvel Signed-off-by: Aditya Angadi --- Platform/ARM/SgiPkg/Include/SgiPlatform.h | 7 +--- Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf | 3 +- Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c | 8 ++--- Platform/ARM/SgiPkg/RdE1Edge.dsc | 37 ++++++++++= ++++++++++ Platform/ARM/SgiPkg/RdN1Edge.dsc | 37 ++++++++++= ++++++++++ Platform/ARM/SgiPkg/Sgi575.dsc | 37 ++++++++++= ++++++++++ Platform/ARM/SgiPkg/SgiPlatform.dec | 5 ++- Platform/ARM/SgiPkg/SgiPlatform.dsc | 25 ++--------= --- 8 files changed, 124 insertions(+), 35 deletions(-) diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/Sgi= Pkg/Include/SgiPlatform.h index e36a412155ff..d87fb2b5409f 100644 --- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h +++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h @@ -1,6 +1,6 @@ /** @file * -* Copyright (c) 2018, ARM Limited. All rights reserved. +* Copyright (c) 2018-2020, ARM Limited. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -45,11 +45,6 @@ #define SGI_SUBSYS_GENERIC_WDOG_BASE 0x2A440000 #define SGI_SUBSYS_GENERIC_WDOG_SZ SIZE_128KB =20 -// Sub System Peripherals - GIC -#define SGI_SUBSYS_GENERIC_GIC_BASE 0x30000000 -#define SGI_SUBSYS_GENERIC_GICR_BASE 0x300C0000 -#define SGI_SUBSYS_GENERIC_GIC_SZ SIZE_1MB - // Expansion AXI - Platform Peripherals - HDLCD1 #define SGI_EXP_PLAT_PERIPH_HDLCD1_BASE 0x7FF60000 #define SGI_EXP_PLAT_PERIPH_HDLCD1_SZ SIZE_64KB diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf b/Pl= atform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf index 3db70e900d61..a918afef5fba 100644 --- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf +++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.inf @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, ARM Limited. All rights reserved. +# Copyright (c) 2018-2020, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -42,6 +42,7 @@ [FixedPcd] =20 gArmSgiTokenSpaceGuid.PcdDramBlock2Base gArmSgiTokenSpaceGuid.PcdDramBlock2Size + gArmSgiTokenSpaceGuid.PcdGicSize =20 gArmTokenSpaceGuid.PcdSystemMemoryBase gArmTokenSpaceGuid.PcdSystemMemorySize diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c b/P= latform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c index 845aeaf4dd49..8d0ad4ec9c84 100644 --- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c +++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLibMem.c @@ -1,6 +1,6 @@ /** @file * -* Copyright (c) 2018, ARM Limited. All rights reserved. +* Copyright (c) 2018-2020, ARM Limited. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent * @@ -93,9 +93,9 @@ ArmPlatformGetVirtualMemoryMap ( VirtualMemoryTable[Index].Attributes =3D ARM_MEMORY_REGION_ATTRIB= UTE_DEVICE; =20 // Sub System Peripherals - GIC-600 - VirtualMemoryTable[++Index].PhysicalBase =3D SGI_SUBSYS_GENERIC_GIC_B= ASE; - VirtualMemoryTable[Index].VirtualBase =3D SGI_SUBSYS_GENERIC_GIC_B= ASE; - VirtualMemoryTable[Index].Length =3D SGI_SUBSYS_GENERIC_GIC_S= Z; + VirtualMemoryTable[++Index].PhysicalBase =3D FixedPcdGet64(PcdGicDist= ributorBase); + VirtualMemoryTable[Index].VirtualBase =3D FixedPcdGet64(PcdGicDist= ributorBase); + VirtualMemoryTable[Index].Length =3D FixedPcdGet64(PcdGicSize= ); VirtualMemoryTable[Index].Attributes =3D ARM_MEMORY_REGION_ATTRIB= UTE_DEVICE; =20 // Expansion AXI - Platform Peripherals - HDLCD1 diff --git a/Platform/ARM/SgiPkg/RdE1Edge.dsc b/Platform/ARM/SgiPkg/RdE1E= dge.dsc new file mode 100644 index 000000000000..082cbb0157f7 --- /dev/null +++ b/Platform/ARM/SgiPkg/RdE1Edge.dsc @@ -0,0 +1,37 @@ +# +# Copyright (c) 2020, ARM Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +########################################################################= ######## +# +# Defines Section - statements that will be processed to create a Makefi= le. +# +########################################################################= ######## +[Defines] + PLATFORM_NAME =3D ArmSgi + PLATFORM_GUID =3D c834de39-c5b0-458b-8ea3-882427179b8= a + PLATFORM_VERSION =3D 0.1 + DSC_SPECIFICATION =3D 0x0001001B + OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) + SUPPORTED_ARCHITECTURES =3D AARCH64|ARM + BUILD_TARGETS =3D NOOPT|DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + FLASH_DEFINITION =3D Platform/ARM/SgiPkg/SgiPlatform.fdf + BUILD_NUMBER =3D 1 + +# include common definitions from SgiPlatform.dsc +!include Platform/ARM/SgiPkg/SgiPlatform.dsc + +########################################################################= ######## +# +# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# +########################################################################= ######## + +[PcdsFixedAtBuild.common] + # GIC Base Addresses + gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000 + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 + gArmSgiTokenSpaceGuid.PcdGicSize|0x100000 diff --git a/Platform/ARM/SgiPkg/RdN1Edge.dsc b/Platform/ARM/SgiPkg/RdN1E= dge.dsc new file mode 100644 index 000000000000..6774990ad6f6 --- /dev/null +++ b/Platform/ARM/SgiPkg/RdN1Edge.dsc @@ -0,0 +1,37 @@ +# +# Copyright (c) 2020, ARM Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +########################################################################= ######## +# +# Defines Section - statements that will be processed to create a Makefi= le. +# +########################################################################= ######## +[Defines] + PLATFORM_NAME =3D ArmSgi + PLATFORM_GUID =3D dbc75915-03df-4640-8f3d-3d3abf7c119= b + PLATFORM_VERSION =3D 0.1 + DSC_SPECIFICATION =3D 0x0001001B + OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) + SUPPORTED_ARCHITECTURES =3D AARCH64|ARM + BUILD_TARGETS =3D NOOPT|DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + FLASH_DEFINITION =3D Platform/ARM/SgiPkg/SgiPlatform.fdf + BUILD_NUMBER =3D 1 + +# include common definitions from SgiPlatform.dsc +!include Platform/ARM/SgiPkg/SgiPlatform.dsc + +########################################################################= ######## +# +# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# +########################################################################= ######## + +[PcdsFixedAtBuild.common] + # GIC Base Addresses + gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000 + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 + gArmSgiTokenSpaceGuid.PcdGicSize|0x100000 diff --git a/Platform/ARM/SgiPkg/Sgi575.dsc b/Platform/ARM/SgiPkg/Sgi575.= dsc new file mode 100644 index 000000000000..3c1904c2da91 --- /dev/null +++ b/Platform/ARM/SgiPkg/Sgi575.dsc @@ -0,0 +1,37 @@ +# +# Copyright (c) 2020, ARM Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +########################################################################= ######## +# +# Defines Section - statements that will be processed to create a Makefi= le. +# +########################################################################= ######## +[Defines] + PLATFORM_NAME =3D ArmSgi + PLATFORM_GUID =3D 3a6b2eae-0275-4b6e-a5d1-bd2ba1ce1fa= e + PLATFORM_VERSION =3D 0.1 + DSC_SPECIFICATION =3D 0x0001001B + OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) + SUPPORTED_ARCHITECTURES =3D AARCH64|ARM + BUILD_TARGETS =3D NOOPT|DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + FLASH_DEFINITION =3D Platform/ARM/SgiPkg/SgiPlatform.fdf + BUILD_NUMBER =3D 1 + +# include common definitions from SgiPlatform.dsc +!include Platform/ARM/SgiPkg/SgiPlatform.dsc + +########################################################################= ######## +# +# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# +########################################################################= ######## + +[PcdsFixedAtBuild.common] + # GIC Base Addresses + gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000 + gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 + gArmSgiTokenSpaceGuid.PcdGicSize|0x100000 diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dec b/Platform/ARM/SgiPkg/Sg= iPlatform.dec index 9d70ec677776..4ac3dec91e3d 100644 --- a/Platform/ARM/SgiPkg/SgiPlatform.dec +++ b/Platform/ARM/SgiPkg/SgiPlatform.dec @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, ARM Limited. All rights reserved. +# Copyright (c) 2018-2020, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -49,5 +49,8 @@ [PcdsFixedAtBuild] gArmSgiTokenSpaceGuid.PcdVirtioNetSize|0x00000000|UINT32|0x00000008 gArmSgiTokenSpaceGuid.PcdVirtioNetInterrupt|0x00000000|UINT32|0x000000= 09 =20 + # GIC + gArmSgiTokenSpaceGuid.PcdGicSize|0|UINT64|0x0000000A + [Ppis] gNtFwConfigDtInfoPpiGuid =3D { 0x6f606eb3, 0x9123, 0x4e15, { 0xa8,= 0x9b, 0x0f, 0xac, 0x66, 0xef, 0xd0, 0x17 } } diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dsc b/Platform/ARM/SgiPkg/Sg= iPlatform.dsc index 5226c5751e98..4e1fcefb1442 100644 --- a/Platform/ARM/SgiPkg/SgiPlatform.dsc +++ b/Platform/ARM/SgiPkg/SgiPlatform.dsc @@ -1,26 +1,9 @@ # -# Copyright (c) 2018, ARM Limited. All rights reserved. +# Copyright (c) 2018-2020, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # =20 -########################################################################= ######## -# -# Defines Section - statements that will be processed to create a Makefi= le. -# -########################################################################= ######## -[Defines] - PLATFORM_NAME =3D ArmSgi - PLATFORM_GUID =3D 3a6b2eae-0275-4b6e-a5d1-bd2ba1ce1fa= e - PLATFORM_VERSION =3D 0.1 - DSC_SPECIFICATION =3D 0x0001001B - OUTPUT_DIRECTORY =3D Build/$(PLATFORM_NAME) - SUPPORTED_ARCHITECTURES =3D AARCH64|ARM - BUILD_TARGETS =3D NOOPT|DEBUG|RELEASE - SKUID_IDENTIFIER =3D DEFAULT - FLASH_DEFINITION =3D Platform/ARM/SgiPkg/SgiPlatform.fdf - BUILD_NUMBER =3D 1 - !include Platform/ARM/VExpressPkg/ArmVExpress.dsc.inc =20 [BuildOptions] @@ -93,7 +76,7 @@ [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.comm= on.UEFI_APPLICATION, Libr =20 ########################################################################= ######## # -# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# Pcd Section - list of all EDK II PCD Entries common to all SGI/RD plat= forms # ########################################################################= ######## =20 @@ -126,10 +109,6 @@ [PcdsFixedAtBuild.common] gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000 gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000 =20 - # GIC Base Addresses - gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000 - gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x300C0000 - # # PCIe # --=20 2.17.1