public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform
@ 2024-01-05 15:38 Prabin CA
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag Prabin CA
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

Changes since V1:
- Addressed comments from Sami

This patch series introduces support for two reference design platforms-
RD-N2-Cfg3 and RD-V2. The RD-N2-Cfg3 FVP platform is a variant of RD-N2
platform with a different mesh size and GIC ITS count. It is based on
the Neoverse N2 CPUs and includes 16xMP1 CPUs. RD-N2-Cfg3 has 12 GIC ITS
blocks, 6 more than the other RD-N2 variants.

The Neoverse RD-V2 FVP platform includes 16xMP1 Neoverse V2 CPUs and
each CPU has 64KB of L1 instruction/data cache, 2MB of L2 cache and 32MB
of system level cache. The system architecture of the RD-V2 platform is
similar to the RD-N2 platform, except for the CPU and L2 cache size. So
existing RD-N2 SMBIOS support is extended for RD-V2 platform to reuse
rest of the RD-N2 SMBIOS configuration for the RD-V2 platform.

In addition to patches that introduce support for these two platforms,
there are three patches that update support for existing platforms. The
first patch in this series removes +nofp gcc option flag. The second
patch adds no-stack-protector flag to the gcc build option for the StMM
builds. The third patch adds VariableFlashInfoLib to the common dsc
file.

Link to github branch with the patches in this series -
https://gitlab.arm.com/infra-solutions/reference-design/platsw/edk2-platforms/-/tree/topics/rdn2cfg3_rdv2_updates

Omkar Anand Kulkarni (1):
  Platform/Sgi: remove +nofp gcc option flag

Prabin CA (3):
  Platform/Sgi: add no-stack-protector flag for StMM builds
  Platform/Sgi: Add a PCD to specify platform variant
  Platform/Sgi: Add support for RD-N2-Cfg3 platform

Pranav Madhu (2):
  Platform/Sgi: Define RD-V2 platform id values
  Platform/Sgi: Extend SMBIOS support for RD-V2 platform

Vijayenthiran Subramaniam (1):
  Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency

 Platform/ARM/SgiPkg/SgiPlatform.dec                                           |  5 +-
 Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc                                     |  3 +-
 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc                                     | 58 ++++++++++++++++++++
 Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf                             |  3 +-
 Platform/ARM/SgiPkg/AcpiTables/{RdN2AcpiTables.inf => RdN2Cfg3AcpiTables.inf} | 15 ++---
 Platform/ARM/SgiPkg/Include/SgiPlatform.h                                     |  7 ++-
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c        |  7 ++-
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c     |  9 ++-
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c         | 20 ++++++-
 Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c                         |  8 ++-
 Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc                                 | 14 ++++-
 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc                                 | 10 ++++
 12 files changed, 136 insertions(+), 23 deletions(-)
 create mode 100644 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc
 copy Platform/ARM/SgiPkg/AcpiTables/{RdN2AcpiTables.inf => RdN2Cfg3AcpiTables.inf} (90%)
 create mode 100644 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc

-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113289): https://edk2.groups.io/g/devel/message/113289
Mute This Topic: https://groups.io/mt/103544562/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 10:53   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds Prabin CA
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

From: Omkar Anand Kulkarni <omkar.kulkarni@arm.com>

The software executing at a higher privileged level on the reference
design platforms have been updated to allow software executing at EL1
and EL0 to access the Advanced SIMD and floating-point registers (FPEN
field of CPACR_EL1 system register is programmed to allow access). So,
remove the use of +nofp gcc build option flag.

Signed-off-by: Omkar Anand Kulkarni <omkar.kulkarni@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
index ae0ff7247a6a..ab54b3b25f4c 100644
--- a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
+++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
@@ -145,5 +145,5 @@ [Components.AARCH64]
 #
 ###################################################################################################
 [BuildOptions.AARCH64]
-  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a+nofp -D DISABLE_NEW_DEPRECATED_INTERFACES
+  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a -D DISABLE_NEW_DEPRECATED_INTERFACES
   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113290): https://edk2.groups.io/g/devel/message/113290
Mute This Topic: https://groups.io/mt/103544563/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 10:49   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency Prabin CA
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

Add the no-stack-protector compiler flag to allow StandaloneMM builds
on both AArch64 and x86 host. Without this flag, the link stage fails
with the following errors on multiple files when built with gcc
(Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0:

undefined reference to `__stack_chk_guard'
undefined reference to `__stack_chk_fail'

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
index ab54b3b25f4c..2a8c678c0816 100644
--- a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
+++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
@@ -145,5 +145,5 @@ [Components.AARCH64]
 #
 ###################################################################################################
 [BuildOptions.AARCH64]
-  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a -D DISABLE_NEW_DEPRECATED_INTERFACES
+  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a -fno-stack-protector -D DISABLE_NEW_DEPRECATED_INTERFACES
   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113291): https://edk2.groups.io/g/devel/message/113291
Mute This Topic: https://groups.io/mt/103544564/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag Prabin CA
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 10:51   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant Prabin CA
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

From: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3479

A recent change in MdeModulePkg [1] introduced VariableFlashInfoLib as a
dependency to support dynamic variable flash information. Add an
instance for the library class VariableFlashInfoLib in
SgiPlatformMm.dsc.inc to resolve this dependency.

[1]: https://github.com/tianocore/edk2/commit/8db39c60cdf35e0a53ccdbccf7e152ab41f54f4c

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
index 2a8c678c0816..5cc33e9f4af8 100644
--- a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
+++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
@@ -70,6 +70,7 @@ [LibraryClasses.common.MM_STANDALONE]
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
+  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
   SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
 !endif
 
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113292): https://edk2.groups.io/g/devel/message/113292
Mute This Topic: https://groups.io/mt/103544570/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
                   ` (2 preceding siblings ...)
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 10:53   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform Prabin CA
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

A new PCD named PcdPlatformVariant is introduced to specify the variant
number of a platform. This PCD can be used to select platform variant
specific configurations. The default value of this PCD is 0 which
selects the base variant.

Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/SgiPlatform.dec | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dec b/Platform/ARM/SgiPkg/SgiPlatform.dec
index 1613cc01981e..103dff8471a7 100644
--- a/Platform/ARM/SgiPkg/SgiPlatform.dec
+++ b/Platform/ARM/SgiPkg/SgiPlatform.dec
@@ -1,5 +1,5 @@
 #
-#  Copyright (c) 2018 - 2023, Arm Limited. All rights reserved.
+#  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -51,8 +51,9 @@ [PcdsFixedAtBuild]
   gArmSgiTokenSpaceGuid.PcdVirtioP9Size|0x00000000|UINT32|0x00000029
   gArmSgiTokenSpaceGuid.PcdVirtioP9Interrupt|0x00000000|UINT32|0x0000002A
 
-  # Chip count on the platform
+  # Chip count on the platform and platform variant
   gArmSgiTokenSpaceGuid.PcdChipCount|1|UINT32|0x0000000B
+  gArmSgiTokenSpaceGuid.PcdPlatformVariant|0|UINT32|0x0000002D
 
   # GIC
   gArmSgiTokenSpaceGuid.PcdGicSize|0|UINT64|0x0000000A
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113293): https://edk2.groups.io/g/devel/message/113293
Mute This Topic: https://groups.io/mt/103544572/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
                   ` (3 preceding siblings ...)
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 11:08   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values Prabin CA
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform Prabin CA
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

The Neoverse RD-N2-Cfg3 platform is a variant of RD-N2 platform with a
different mesh size and GIC ITS count. As part of the initial platform
support, add the corresponding platform and flash description files.
Use PcdPlatformVariant for the RD-N2-Cfg3 platform to specify the
platform variant. RD-N2-Cfg3 has 12 GIC ITS blocks when compared to the
other RD-N2 variants that have 6 GIC ITS blocks.

Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc                                     | 58 ++++++++++++++++++++
 Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf                             |  3 +-
 Platform/ARM/SgiPkg/AcpiTables/{RdN2AcpiTables.inf => RdN2Cfg3AcpiTables.inf} | 15 ++---
 Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc                                 | 14 ++++-
 Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc                                 | 10 ++++
 5 files changed, 88 insertions(+), 12 deletions(-)

diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc
new file mode 100644
index 000000000000..88293b236a32
--- /dev/null
+++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc
@@ -0,0 +1,58 @@
+#
+#  Copyright (c) 2024, ARM Limited. All rights reserved.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+################################################################################
+#
+# Defines Section - statements that will be processed to create a Makefile.
+#
+################################################################################
+[Defines]
+  PLATFORM_NAME                  = RdN2Cfg3
+  PLATFORM_GUID                  = b890ba7d-a256-4820-9d3a-655acbb737c9
+  PLATFORM_VERSION               = 0.1
+  DSC_SPECIFICATION              = 0x0001001B
+  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
+  SUPPORTED_ARCHITECTURES        = AARCH64
+  BUILD_TARGETS                  = NOOPT|DEBUG|RELEASE
+  SKUID_IDENTIFIER               = DEFAULT
+  FLASH_DEFINITION               = Platform/ARM/SgiPkg/SgiPlatform.fdf
+  BOARD_DXE_FV_COMPONENTS        = Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
+  BUILD_NUMBER                   = 1
+
+# include common definitions from SgiPlatform.dsc
+!include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
+!include Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc
+
+# include common/basic libraries from MdePkg.
+!include MdePkg/MdeLibs.dsc.inc
+
+################################################################################
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform
+#
+################################################################################
+
+[PcdsFixedAtBuild.common]
+  # GIC configurations
+  gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000
+  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x30300000
+  gArmSgiTokenSpaceGuid.PcdGicSize|0x400000
+
+  # ARM Cores and Clusters
+  gArmPlatformTokenSpaceGuid.PcdCoreCount|1
+  gArmPlatformTokenSpaceGuid.PcdClusterCount|16
+
+  # RdN2Cfg3 is the third variant from RdN2 Platform
+  gArmSgiTokenSpaceGuid.PcdPlatformVariant|3
+
+################################################################################
+#
+# Components Section - list of all EDK II Modules needed by this Platform
+#
+################################################################################
+
+[Components.common]
+  Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
index 8025ef58171b..afc38385c051 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
@@ -1,7 +1,7 @@
 ## @file
 #  ACPI table data and ASL sources required to boot the platform.
 #
-#  Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved.
+#  Copyright (c) 2020 - 2024, Arm Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -67,6 +67,7 @@ [FixedPcd]
   gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
   gArmSgiTokenSpaceGuid.PcdOscLpiEnable
   gArmSgiTokenSpaceGuid.PcdOscCppcEnable
+  gArmSgiTokenSpaceGuid.PcdPlatformVariant
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
similarity index 90%
copy from Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
copy to Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
index 8025ef58171b..a703d5a994f7 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
@@ -1,7 +1,7 @@
 ## @file
 #  ACPI table data and ASL sources required to boot the platform.
 #
-#  Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved.
+#  Copyright (c) 2024, Arm Ltd. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -9,7 +9,7 @@
 
 [Defines]
   INF_VERSION                    = 0x0001001A
-  BASE_NAME                      = RdN2AcpiTables
+  BASE_NAME                      = RdN2Cfg3AcpiTables
   FILE_GUID                      = c712719a-0aaf-438c-9cdd-35ab4d60207d  # gArmSgiAcpiTablesGuid
   MODULE_TYPE                    = USER_DEFINED
   VERSION_STRING                 = 1.0
@@ -18,16 +18,13 @@ [Sources]
   Dbg2.aslc
   Fadt.aslc
   Gtdt.aslc
-  Iort.aslc
-  Mcfg.aslc
   RdN2/Dsdt.asl
   RdN2/Madt.aslc
   RdN2/Pptt.aslc
   Spcr.aslc
-  Ssdt.asl
+  SsdtRos.asl
   SsdtEvents.asl
   SsdtIoVirtSocExp.asl
-  SsdtRos.asl
   SsdtRosVirtioP9.asl
 
 [Packages]
@@ -56,17 +53,17 @@ [FixedPcd]
   gArmTokenSpaceGuid.PcdPciBusMin
   gArmTokenSpaceGuid.PcdPciBusMax
 
-  gArmSgiTokenSpaceGuid.PcdChipCount
   gArmSgiTokenSpaceGuid.PcdGpioController0BaseAddress
   gArmSgiTokenSpaceGuid.PcdGpioController0Size
   gArmSgiTokenSpaceGuid.PcdGpioController0Interrupt
   gArmSgiTokenSpaceGuid.PcdGtFrame0Gsiv
   gArmSgiTokenSpaceGuid.PcdGtFrame1Gsiv
+  gArmSgiTokenSpaceGuid.PcdOscLpiEnable
+  gArmSgiTokenSpaceGuid.PcdOscCppcEnable
   gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlk0Base
   gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlkUartEnable
   gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
-  gArmSgiTokenSpaceGuid.PcdOscLpiEnable
-  gArmSgiTokenSpaceGuid.PcdOscCppcEnable
+  gArmSgiTokenSpaceGuid.PcdPlatformVariant
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize
   gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt
diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
index cdf8b3f2e953..5fba3fa7d020 100644
--- a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
+++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
@@ -6,7 +6,7 @@
   CPU interface, redistributor, distributor and ITS blocks on the Rd-N2 platform
   is included in this table.
 
-  Copyright (c) 2020 - 2022, Arm Limited. All rights reserved.
+  Copyright (c) 2020 - 2024, Arm Limited. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -23,6 +23,8 @@
 #define CORE_CNT   (FixedPcdGet32 (PcdClusterCount) * \
                       FixedPcdGet32 (PcdCoreCount))
 
+#define ITS_CNT ((FixedPcdGet32(PcdPlatformVariant) == 3) ? 12 : 6)
+
 // Multiple APIC Description Table
 #pragma pack (1)
 
@@ -31,7 +33,7 @@ typedef struct {
   EFI_ACPI_6_4_GIC_STRUCTURE                            GicInterfaces[CORE_CNT];
   EFI_ACPI_6_4_GIC_DISTRIBUTOR_STRUCTURE                GicDistributor;
   EFI_ACPI_6_4_GICR_STRUCTURE                           GicRedistributor;
-  EFI_ACPI_6_4_GIC_ITS_STRUCTURE                        GicIts[6];
+  EFI_ACPI_6_4_GIC_ITS_STRUCTURE                        GicIts[ITS_CNT];
 } EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE;
 
 #pragma pack ()
@@ -134,6 +136,14 @@ STATIC EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
     EFI_ACPI_6_4_GIC_ITS_INIT(3, 0x30100000),
     EFI_ACPI_6_4_GIC_ITS_INIT(4, 0x30140000),
     EFI_ACPI_6_4_GIC_ITS_INIT(5, 0x30180000),
+#if (FixedPcdGet32 (PcdPlatformVariant) == 3)
+    EFI_ACPI_6_4_GIC_ITS_INIT(6, 0x301C0000),
+    EFI_ACPI_6_4_GIC_ITS_INIT(7, 0x30200000),
+    EFI_ACPI_6_4_GIC_ITS_INIT(8, 0x30240000),
+    EFI_ACPI_6_4_GIC_ITS_INIT(9, 0x30280000),
+    EFI_ACPI_6_4_GIC_ITS_INIT(10, 0x302C0000),
+    EFI_ACPI_6_4_GIC_ITS_INIT(11, 0x30180000),
+#endif
   },
 };
 
diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
new file mode 100644
index 000000000000..77288ab1ad93
--- /dev/null
+++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
@@ -0,0 +1,10 @@
+#
+#  Copyright (c) 2024, ARM Limited. All rights reserved.
+#
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+# Per-platform additional content of the DXE phase firmware volume
+
+  # ACPI support
+  INF RuleOverride=ACPITABLE Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113294): https://edk2.groups.io/g/devel/message/113294
Mute This Topic: https://groups.io/mt/103544573/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
                   ` (4 preceding siblings ...)
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 11:07   ` levi.yun
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform Prabin CA
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

From: Pranav Madhu <pranav.madhu@arm.com>

Add RD-V2 platform identification values including the part number
and configuration number. This information will be used in populating
the SMBIOS tables.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/Include/SgiPlatform.h             | 7 ++++++-
 Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c | 8 +++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
index e83853664c4c..6fa39d407bc9 100644
--- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h
+++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
@@ -1,6 +1,6 @@
 /** @file
 *
-*  Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
+*  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
 *
 *  SPDX-License-Identifier: BSD-2-Clause-Patent
 *
@@ -47,6 +47,10 @@
 #define RD_N2_PART_NUM                            0x7B7
 #define RD_N2_CONF_ID                             0x1
 
+// RD-V2 Platform Identification values
+#define RD_V2_PART_NUM                            0x7F2
+#define RD_V2_CONF_ID                             0x1
+
 #define SGI_CONFIG_MASK                           0x0F
 #define SGI_CONFIG_SHIFT                          0x1C
 #define SGI_PART_NUM_MASK                         0xFFF
@@ -85,6 +89,7 @@ typedef enum {
   RdN2,
   RdN2Cfg1,
   RdN2Cfg2,
+  RdV2,
 } ARM_RD_PRODUCT_ID;
 
 // Arm ProductId look-up table
diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
index fa006320025b..14b06796ae9c 100644
--- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
+++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
@@ -1,6 +1,6 @@
 /** @file
 *
-*  Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
+*  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
 *
 *  SPDX-License-Identifier: BSD-2-Clause-Patent
 *
@@ -79,6 +79,12 @@ STATIC CONST SGI_PRODUCT_ID_LOOKUP SgiProductIdLookup[] = {
     RD_N2_CONF_ID,
     1
   },
+  {
+    RdV2,
+    RD_V2_PART_NUM,
+    RD_V2_CONF_ID,
+    0
+  },
 };
 
 EFI_BOOT_MODE
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113295): https://edk2.groups.io/g/devel/message/113295
Mute This Topic: https://groups.io/mt/103544574/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform
  2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
                   ` (5 preceding siblings ...)
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values Prabin CA
@ 2024-01-05 15:38 ` Prabin CA
  2024-01-08 11:07   ` levi.yun
  6 siblings, 1 reply; 15+ messages in thread
From: Prabin CA @ 2024-01-05 15:38 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Prabin CA

From: Pranav Madhu <pranav.madhu@arm.com>

The Neoverse RD-V2 FVP platform includes 16 CPUs and each CPU has 64KB
of L1 instruction/data cache, 2MB of L2 cache and 32MB of system level
cache. Extend the SMBIOS support for RD-V2 platform with this
configuration and reuse rest of the RD-N2 SMBIOS configuration for the
RD-V2 platform.

Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
Signed-off-by: Prabin CA <prabin.ca@arm.com>
---
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c    |  7 +++++--
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c |  9 ++++++---
 Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c     | 20 +++++++++++++++++++-
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
index b7e2238fb39c..edf2a5f63c63 100644
--- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
+++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
@@ -5,7 +5,7 @@
   Reference Design platforms. Type 1 table defines attributes of the
   overall system such as manufacturer, product name, UUID etc.
 
-  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
+  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
   @par Specification Reference:
@@ -33,7 +33,8 @@
   "RdV1Mc\0"                                            \
   "RdN2\0"                                              \
   "RdN2Cfg1\0"                                          \
-  "RdN2Cfg2\0"
+  "RdN2Cfg2\0"                                          \
+  "RdV2\0"
 
 typedef enum {
   ManufacturerName = 1,
@@ -71,6 +72,8 @@ STATIC GUID mSmbiosUid[] = {
   {0xa4941d3d, 0xfac3, 0x4ace, {0x9a, 0x7e, 0xce, 0x26, 0x76, 0x64, 0x5e, 0xda}},
   /* Rd-N2-Cfg2    */
   {0xd2946d07, 0x8057, 0x4c26, {0xbf, 0x53, 0x78, 0xa6, 0x5b, 0xe1, 0xc1, 0x60}},
+  /* Rd-V2         */
+  {0x3b1180a3, 0x0744, 0x4194, {0xae, 0x2e, 0xed, 0xa5, 0xbc, 0x2e, 0x43, 0x45}},
 };
 
 /* System information */
diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
index b59172cf1cb9..ee269f707714 100644
--- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
+++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
@@ -6,7 +6,7 @@
   family, processor id, maximum operating frequency, and other information
   related to the processor.
 
-  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
+  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
   @par Specification Reference:
@@ -27,7 +27,7 @@
 #define SOCKET_TYPE_BASE        3
 #define SOCKET_TYPE_NUM         1
 #define PROCESSOR_VERSION_BASE  (SOCKET_TYPE_BASE + SOCKET_TYPE_NUM)
-#define PROCESSOR_VERSION_NUM   10
+#define PROCESSOR_VERSION_NUM   11
 #define SERIAL_NUMBER_BASE      (PROCESSOR_VERSION_BASE + PROCESSOR_VERSION_NUM)
 #define TYPE4_STRINGS                                   \
   "0x000\0"                     /* Part Number */       \
@@ -43,6 +43,7 @@
   "Neoverse-N2\0"                                       \
   "Neoverse-N2\0"                                       \
   "Neoverse-N2\0"                                       \
+  "Neoverse-V2\0"                                       \
   "000-0\0"                     /* Serial number */     \
   "783-3\0"                                             \
   "786-1\0"                                             \
@@ -52,7 +53,8 @@
   "78A-2\0"                                             \
   "7B7-1\0"                                             \
   "7B6-1\0"                                             \
-  "7B7-1\0"
+  "7B7-1\0"                                             \
+  "7F2-1\0"
 
 typedef enum {
   PartNumber = 1,
@@ -178,6 +180,7 @@ InstallType4ProcessorInformation (
     break;
   case RdN2:
   case RdN2Cfg1:
+  case RdV2:
     mArmRdSmbiosType4.Base.CoreCount = CoreCount;
     mArmRdSmbiosType4.Base.EnabledCoreCount = CoreCount;
     mArmRdSmbiosType4.Base.ThreadCount = CoreCount;
diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
index b71ce721e2e8..4af72919a3f1 100644
--- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
+++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
@@ -6,7 +6,7 @@
   implemented, cache configuration, ways of associativity and other
   information related to cache memory installed.
 
-  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
+  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
   @par Specification Reference:
@@ -334,6 +334,24 @@ InstallType7CacheInformation (
     mArmRdSmbiosType7[4].Base.InstalledSize2 = 8192;     // 8MB SLC
     mArmRdSmbiosType7[4].Base.Associativity = CacheAssociativity16Way;
     break;
+  case RdV2:
+    /* L1 instruction cache */
+    mArmRdSmbiosType7[0].Base.MaximumCacheSize2 = 64;    // 64KB
+    mArmRdSmbiosType7[0].Base.InstalledSize2 = 64;       // 64KB
+    mArmRdSmbiosType7[0].Base.Associativity = CacheAssociativity4Way;
+    /* L1 data cache */
+    mArmRdSmbiosType7[1].Base.MaximumCacheSize2 = 64;    // 64KB
+    mArmRdSmbiosType7[1].Base.InstalledSize2 = 64;       // 64KB
+    mArmRdSmbiosType7[1].Base.Associativity = CacheAssociativity4Way;
+    /* L2 cache */
+    mArmRdSmbiosType7[2].Base.MaximumCacheSize2 = 2048;  // 2MB
+    mArmRdSmbiosType7[2].Base.InstalledSize2 = 2048;     // 2MB
+    mArmRdSmbiosType7[2].Base.Associativity = CacheAssociativity8Way;
+    /* System level cache */
+    mArmRdSmbiosType7[4].Base.MaximumCacheSize2 = 32768; // 32MB SLC
+    mArmRdSmbiosType7[4].Base.InstalledSize2 = 32768;    // 32MB SLC
+    mArmRdSmbiosType7[4].Base.Associativity = CacheAssociativity16Way;
+    break;
   }
 
   /* Install valid cache information tables */
-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113296): https://edk2.groups.io/g/devel/message/113296
Mute This Topic: https://groups.io/mt/103544576/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds Prabin CA
@ 2024-01-08 10:49   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 10:49 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Hi. Parabin

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> Add the no-stack-protector compiler flag to allow StandaloneMM builds
> on both AArch64 and x86 host. Without this flag, the link stage fails
> with the following errors on multiple files when built with gcc
> (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0:
>
As Sami's suggestion, Is it much better to add below libraray?

     MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

Thanks.

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113374): https://edk2.groups.io/g/devel/message/113374
Mute This Topic: https://groups.io/mt/103544564/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency Prabin CA
@ 2024-01-08 10:51   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 10:51 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> From: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3479
>
> A recent change in MdeModulePkg [1] introduced VariableFlashInfoLib as a
> dependency to support dynamic variable flash information. Add an
> instance for the library class VariableFlashInfoLib in
> SgiPlatformMm.dsc.inc to resolve this dependency.
>
> [1]: https://github.com/tianocore/edk2/commit/8db39c60cdf35e0a53ccdbccf7e152ab41f54f4c
>
> Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> index 2a8c678c0816..5cc33e9f4af8 100644
> --- a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> +++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> @@ -70,6 +70,7 @@ [LibraryClasses.common.MM_STANDALONE]
>     SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
>     TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
>     VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
> +  VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
>     SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
>   !endif
>

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113375): https://edk2.groups.io/g/devel/message/113375
Mute This Topic: https://groups.io/mt/103544570/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag Prabin CA
@ 2024-01-08 10:53   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 10:53 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> From: Omkar Anand Kulkarni <omkar.kulkarni@arm.com>
>
> The software executing at a higher privileged level on the reference
> design platforms have been updated to allow software executing at EL1
> and EL0 to access the Advanced SIMD and floating-point registers (FPEN
> field of CPACR_EL1 system register is programmed to allow access). So,
> remove the use of +nofp gcc build option flag.
>
> Signed-off-by: Omkar Anand Kulkarni <omkar.kulkarni@arm.com>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> index ae0ff7247a6a..ab54b3b25f4c 100644
> --- a/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> +++ b/Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc
> @@ -145,5 +145,5 @@ [Components.AARCH64]
>   #
>   ###################################################################################################
>   [BuildOptions.AARCH64]
> -  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a+nofp -D DISABLE_NEW_DEPRECATED_INTERFACES
> +  GCC:*_*_*_CC_FLAGS = -mstrict-align -march=armv8-a -D DISABLE_NEW_DEPRECATED_INTERFACES
>     GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113376): https://edk2.groups.io/g/devel/message/113376
Mute This Topic: https://groups.io/mt/103544563/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant Prabin CA
@ 2024-01-08 10:53   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 10:53 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> A new PCD named PcdPlatformVariant is introduced to specify the variant
> number of a platform. This PCD can be used to select platform variant
> specific configurations. The default value of this PCD is 0 which
> selects the base variant.
>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/SgiPlatform.dec | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Platform/ARM/SgiPkg/SgiPlatform.dec b/Platform/ARM/SgiPkg/SgiPlatform.dec
> index 1613cc01981e..103dff8471a7 100644
> --- a/Platform/ARM/SgiPkg/SgiPlatform.dec
> +++ b/Platform/ARM/SgiPkg/SgiPlatform.dec
> @@ -1,5 +1,5 @@
>   #
> -#  Copyright (c) 2018 - 2023, Arm Limited. All rights reserved.
> +#  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
>   #
> @@ -51,8 +51,9 @@ [PcdsFixedAtBuild]
>     gArmSgiTokenSpaceGuid.PcdVirtioP9Size|0x00000000|UINT32|0x00000029
>     gArmSgiTokenSpaceGuid.PcdVirtioP9Interrupt|0x00000000|UINT32|0x0000002A
>
> -  # Chip count on the platform
> +  # Chip count on the platform and platform variant
>     gArmSgiTokenSpaceGuid.PcdChipCount|1|UINT32|0x0000000B
> +  gArmSgiTokenSpaceGuid.PcdPlatformVariant|0|UINT32|0x0000002D
>
>     # GIC
>     gArmSgiTokenSpaceGuid.PcdGicSize|0|UINT64|0x0000000A

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113377): https://edk2.groups.io/g/devel/message/113377
Mute This Topic: https://groups.io/mt/103544572/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform Prabin CA
@ 2024-01-08 11:07   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 11:07 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> From: Pranav Madhu <pranav.madhu@arm.com>
>
> The Neoverse RD-V2 FVP platform includes 16 CPUs and each CPU has 64KB
> of L1 instruction/data cache, 2MB of L2 cache and 32MB of system level
> cache. Extend the SMBIOS support for RD-V2 platform with this
> configuration and reuse rest of the RD-N2 SMBIOS configuration for the
> RD-V2 platform.
>
> Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c    |  7 +++++--
>   Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c |  9 ++++++---
>   Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c     | 20 +++++++++++++++++++-
>   3 files changed, 30 insertions(+), 6 deletions(-)
>
> diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
> index b7e2238fb39c..edf2a5f63c63 100644
> --- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
> +++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
> @@ -5,7 +5,7 @@
>     Reference Design platforms. Type 1 table defines attributes of the
>     overall system such as manufacturer, product name, UUID etc.
>
> -  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
> +  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>
>     @par Specification Reference:
> @@ -33,7 +33,8 @@
>     "RdV1Mc\0"                                            \
>     "RdN2\0"                                              \
>     "RdN2Cfg1\0"                                          \
> -  "RdN2Cfg2\0"
> +  "RdN2Cfg2\0"                                          \
> +  "RdV2\0"
>
>   typedef enum {
>     ManufacturerName = 1,
> @@ -71,6 +72,8 @@ STATIC GUID mSmbiosUid[] = {
>     {0xa4941d3d, 0xfac3, 0x4ace, {0x9a, 0x7e, 0xce, 0x26, 0x76, 0x64, 0x5e, 0xda}},
>     /* Rd-N2-Cfg2    */
>     {0xd2946d07, 0x8057, 0x4c26, {0xbf, 0x53, 0x78, 0xa6, 0x5b, 0xe1, 0xc1, 0x60}},
> +  /* Rd-V2         */
> +  {0x3b1180a3, 0x0744, 0x4194, {0xae, 0x2e, 0xed, 0xa5, 0xbc, 0x2e, 0x43, 0x45}},
>   };
>
>   /* System information */
> diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
> index b59172cf1cb9..ee269f707714 100644
> --- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
> +++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.c
> @@ -6,7 +6,7 @@
>     family, processor id, maximum operating frequency, and other information
>     related to the processor.
>
> -  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
> +  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>
>     @par Specification Reference:
> @@ -27,7 +27,7 @@
>   #define SOCKET_TYPE_BASE        3
>   #define SOCKET_TYPE_NUM         1
>   #define PROCESSOR_VERSION_BASE  (SOCKET_TYPE_BASE + SOCKET_TYPE_NUM)
> -#define PROCESSOR_VERSION_NUM   10
> +#define PROCESSOR_VERSION_NUM   11
>   #define SERIAL_NUMBER_BASE      (PROCESSOR_VERSION_BASE + PROCESSOR_VERSION_NUM)
>   #define TYPE4_STRINGS                                   \
>     "0x000\0"                     /* Part Number */       \
> @@ -43,6 +43,7 @@
>     "Neoverse-N2\0"                                       \
>     "Neoverse-N2\0"                                       \
>     "Neoverse-N2\0"                                       \
> +  "Neoverse-V2\0"                                       \
>     "000-0\0"                     /* Serial number */     \
>     "783-3\0"                                             \
>     "786-1\0"                                             \
> @@ -52,7 +53,8 @@
>     "78A-2\0"                                             \
>     "7B7-1\0"                                             \
>     "7B6-1\0"                                             \
> -  "7B7-1\0"
> +  "7B7-1\0"                                             \
> +  "7F2-1\0"
>
>   typedef enum {
>     PartNumber = 1,
> @@ -178,6 +180,7 @@ InstallType4ProcessorInformation (
>       break;
>     case RdN2:
>     case RdN2Cfg1:
> +  case RdV2:
>       mArmRdSmbiosType4.Base.CoreCount = CoreCount;
>       mArmRdSmbiosType4.Base.EnabledCoreCount = CoreCount;
>       mArmRdSmbiosType4.Base.ThreadCount = CoreCount;
> diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
> index b71ce721e2e8..4af72919a3f1 100644
> --- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
> +++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
> @@ -6,7 +6,7 @@
>     implemented, cache configuration, ways of associativity and other
>     information related to cache memory installed.
>
> -  Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
> +  Copyright (c) 2021 - 2024, Arm Limited. All rights reserved.
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>
>     @par Specification Reference:
> @@ -334,6 +334,24 @@ InstallType7CacheInformation (
>       mArmRdSmbiosType7[4].Base.InstalledSize2 = 8192;     // 8MB SLC
>       mArmRdSmbiosType7[4].Base.Associativity = CacheAssociativity16Way;
>       break;
> +  case RdV2:
> +    /* L1 instruction cache */
> +    mArmRdSmbiosType7[0].Base.MaximumCacheSize2 = 64;    // 64KB
> +    mArmRdSmbiosType7[0].Base.InstalledSize2 = 64;       // 64KB
> +    mArmRdSmbiosType7[0].Base.Associativity = CacheAssociativity4Way;
> +    /* L1 data cache */
> +    mArmRdSmbiosType7[1].Base.MaximumCacheSize2 = 64;    // 64KB
> +    mArmRdSmbiosType7[1].Base.InstalledSize2 = 64;       // 64KB
> +    mArmRdSmbiosType7[1].Base.Associativity = CacheAssociativity4Way;
> +    /* L2 cache */
> +    mArmRdSmbiosType7[2].Base.MaximumCacheSize2 = 2048;  // 2MB
> +    mArmRdSmbiosType7[2].Base.InstalledSize2 = 2048;     // 2MB
> +    mArmRdSmbiosType7[2].Base.Associativity = CacheAssociativity8Way;
> +    /* System level cache */
> +    mArmRdSmbiosType7[4].Base.MaximumCacheSize2 = 32768; // 32MB SLC
> +    mArmRdSmbiosType7[4].Base.InstalledSize2 = 32768;    // 32MB SLC
> +    mArmRdSmbiosType7[4].Base.Associativity = CacheAssociativity16Way;
> +    break;
>     }
>
>     /* Install valid cache information tables */

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113378): https://edk2.groups.io/g/devel/message/113378
Mute This Topic: https://groups.io/mt/103544576/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values Prabin CA
@ 2024-01-08 11:07   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 11:07 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> From: Pranav Madhu <pranav.madhu@arm.com>
>
> Add RD-V2 platform identification values including the part number
> and configuration number. This information will be used in populating
> the SMBIOS tables.
>
> Signed-off-by: Pranav Madhu <pranav.madhu@arm.com>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/Include/SgiPlatform.h             | 7 ++++++-
>   Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c | 8 +++++++-
>   2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/Platform/ARM/SgiPkg/Include/SgiPlatform.h b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
> index e83853664c4c..6fa39d407bc9 100644
> --- a/Platform/ARM/SgiPkg/Include/SgiPlatform.h
> +++ b/Platform/ARM/SgiPkg/Include/SgiPlatform.h
> @@ -1,6 +1,6 @@
>   /** @file
>   *
> -*  Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
> +*  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
>   *
>   *  SPDX-License-Identifier: BSD-2-Clause-Patent
>   *
> @@ -47,6 +47,10 @@
>   #define RD_N2_PART_NUM                            0x7B7
>   #define RD_N2_CONF_ID                             0x1
>
> +// RD-V2 Platform Identification values
> +#define RD_V2_PART_NUM                            0x7F2
> +#define RD_V2_CONF_ID                             0x1
> +
>   #define SGI_CONFIG_MASK                           0x0F
>   #define SGI_CONFIG_SHIFT                          0x1C
>   #define SGI_PART_NUM_MASK                         0xFFF
> @@ -85,6 +89,7 @@ typedef enum {
>     RdN2,
>     RdN2Cfg1,
>     RdN2Cfg2,
> +  RdV2,
>   } ARM_RD_PRODUCT_ID;
>
>   // Arm ProductId look-up table
> diff --git a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
> index fa006320025b..14b06796ae9c 100644
> --- a/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
> +++ b/Platform/ARM/SgiPkg/Library/PlatformLib/PlatformLib.c
> @@ -1,6 +1,6 @@
>   /** @file
>   *
> -*  Copyright (c) 2018 - 2022, Arm Limited. All rights reserved.
> +*  Copyright (c) 2018 - 2024, Arm Limited. All rights reserved.
>   *
>   *  SPDX-License-Identifier: BSD-2-Clause-Patent
>   *
> @@ -79,6 +79,12 @@ STATIC CONST SGI_PRODUCT_ID_LOOKUP SgiProductIdLookup[] = {
>       RD_N2_CONF_ID,
>       1
>     },
> +  {
> +    RdV2,
> +    RD_V2_PART_NUM,
> +    RD_V2_CONF_ID,
> +    0
> +  },
>   };
>
>   EFI_BOOT_MODE

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113379): https://edk2.groups.io/g/devel/message/113379
Mute This Topic: https://groups.io/mt/103544574/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform
  2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform Prabin CA
@ 2024-01-08 11:08   ` levi.yun
  0 siblings, 0 replies; 15+ messages in thread
From: levi.yun @ 2024-01-08 11:08 UTC (permalink / raw)
  To: devel, prabin.ca; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar

Reviewed-by: levi.yun <yeoreum.yun@arm.com>

On 05/01/2024 15:38, Prabin CA via groups.io wrote:
> The Neoverse RD-N2-Cfg3 platform is a variant of RD-N2 platform with a
> different mesh size and GIC ITS count. As part of the initial platform
> support, add the corresponding platform and flash description files.
> Use PcdPlatformVariant for the RD-N2-Cfg3 platform to specify the
> platform variant. RD-N2-Cfg3 has 12 GIC ITS blocks when compared to the
> other RD-N2 variants that have 6 GIC ITS blocks.
>
> Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> Signed-off-by: Prabin CA <prabin.ca@arm.com>
> ---
>   Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc                                     | 58 ++++++++++++++++++++
>   Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf                             |  3 +-
>   Platform/ARM/SgiPkg/AcpiTables/{RdN2AcpiTables.inf => RdN2Cfg3AcpiTables.inf} | 15 ++---
>   Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc                                 | 14 ++++-
>   Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc                                 | 10 ++++
>   5 files changed, 88 insertions(+), 12 deletions(-)
>
> diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc
> new file mode 100644
> index 000000000000..88293b236a32
> --- /dev/null
> +++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.dsc
> @@ -0,0 +1,58 @@
> +#
> +#  Copyright (c) 2024, ARM Limited. All rights reserved.
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +################################################################################
> +#
> +# Defines Section - statements that will be processed to create a Makefile.
> +#
> +################################################################################
> +[Defines]
> +  PLATFORM_NAME                  = RdN2Cfg3
> +  PLATFORM_GUID                  = b890ba7d-a256-4820-9d3a-655acbb737c9
> +  PLATFORM_VERSION               = 0.1
> +  DSC_SPECIFICATION              = 0x0001001B
> +  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)
> +  SUPPORTED_ARCHITECTURES        = AARCH64
> +  BUILD_TARGETS                  = NOOPT|DEBUG|RELEASE
> +  SKUID_IDENTIFIER               = DEFAULT
> +  FLASH_DEFINITION               = Platform/ARM/SgiPkg/SgiPlatform.fdf
> +  BOARD_DXE_FV_COMPONENTS        = Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
> +  BUILD_NUMBER                   = 1
> +
> +# include common definitions from SgiPlatform.dsc
> +!include Platform/ARM/SgiPkg/SgiPlatform.dsc.inc
> +!include Platform/ARM/SgiPkg/SgiMemoryMap2.dsc.inc
> +
> +# include common/basic libraries from MdePkg.
> +!include MdePkg/MdeLibs.dsc.inc
> +
> +################################################################################
> +#
> +# Pcd Section - list of all EDK II PCD Entries defined by this Platform
> +#
> +################################################################################
> +
> +[PcdsFixedAtBuild.common]
> +  # GIC configurations
> +  gArmTokenSpaceGuid.PcdGicDistributorBase|0x30000000
> +  gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x30300000
> +  gArmSgiTokenSpaceGuid.PcdGicSize|0x400000
> +
> +  # ARM Cores and Clusters
> +  gArmPlatformTokenSpaceGuid.PcdCoreCount|1
> +  gArmPlatformTokenSpaceGuid.PcdClusterCount|16
> +
> +  # RdN2Cfg3 is the third variant from RdN2 Platform
> +  gArmSgiTokenSpaceGuid.PcdPlatformVariant|3
> +
> +################################################################################
> +#
> +# Components Section - list of all EDK II Modules needed by this Platform
> +#
> +################################################################################
> +
> +[Components.common]
> +  Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
> index 8025ef58171b..afc38385c051 100644
> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
> @@ -1,7 +1,7 @@
>   ## @file
>   #  ACPI table data and ASL sources required to boot the platform.
>   #
> -#  Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved.
> +#  Copyright (c) 2020 - 2024, Arm Ltd. All rights reserved.
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
>   #
> @@ -67,6 +67,7 @@ [FixedPcd]
>     gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
>     gArmSgiTokenSpaceGuid.PcdOscLpiEnable
>     gArmSgiTokenSpaceGuid.PcdOscCppcEnable
> +  gArmSgiTokenSpaceGuid.PcdPlatformVariant
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt
> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
> similarity index 90%
> copy from Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
> copy to Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
> index 8025ef58171b..a703d5a994f7 100644
> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2AcpiTables.inf
> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf
> @@ -1,7 +1,7 @@
>   ## @file
>   #  ACPI table data and ASL sources required to boot the platform.
>   #
> -#  Copyright (c) 2020 - 2023, Arm Ltd. All rights reserved.
> +#  Copyright (c) 2024, Arm Ltd. All rights reserved.
>   #
>   #  SPDX-License-Identifier: BSD-2-Clause-Patent
>   #
> @@ -9,7 +9,7 @@
>
>   [Defines]
>     INF_VERSION                    = 0x0001001A
> -  BASE_NAME                      = RdN2AcpiTables
> +  BASE_NAME                      = RdN2Cfg3AcpiTables
>     FILE_GUID                      = c712719a-0aaf-438c-9cdd-35ab4d60207d  # gArmSgiAcpiTablesGuid
>     MODULE_TYPE                    = USER_DEFINED
>     VERSION_STRING                 = 1.0
> @@ -18,16 +18,13 @@ [Sources]
>     Dbg2.aslc
>     Fadt.aslc
>     Gtdt.aslc
> -  Iort.aslc
> -  Mcfg.aslc
>     RdN2/Dsdt.asl
>     RdN2/Madt.aslc
>     RdN2/Pptt.aslc
>     Spcr.aslc
> -  Ssdt.asl
> +  SsdtRos.asl
>     SsdtEvents.asl
>     SsdtIoVirtSocExp.asl
> -  SsdtRos.asl
>     SsdtRosVirtioP9.asl
>
>   [Packages]
> @@ -56,17 +53,17 @@ [FixedPcd]
>     gArmTokenSpaceGuid.PcdPciBusMin
>     gArmTokenSpaceGuid.PcdPciBusMax
>
> -  gArmSgiTokenSpaceGuid.PcdChipCount
>     gArmSgiTokenSpaceGuid.PcdGpioController0BaseAddress
>     gArmSgiTokenSpaceGuid.PcdGpioController0Size
>     gArmSgiTokenSpaceGuid.PcdGpioController0Interrupt
>     gArmSgiTokenSpaceGuid.PcdGtFrame0Gsiv
>     gArmSgiTokenSpaceGuid.PcdGtFrame1Gsiv
> +  gArmSgiTokenSpaceGuid.PcdOscLpiEnable
> +  gArmSgiTokenSpaceGuid.PcdOscCppcEnable
>     gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlk0Base
>     gArmSgiTokenSpaceGuid.PcdIoVirtSocExpBlkUartEnable
>     gArmSgiTokenSpaceGuid.PcdMaxAddressBitsPerChip
> -  gArmSgiTokenSpaceGuid.PcdOscLpiEnable
> -  gArmSgiTokenSpaceGuid.PcdOscCppcEnable
> +  gArmSgiTokenSpaceGuid.PcdPlatformVariant
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerBaseAddress
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerSize
>     gArmSgiTokenSpaceGuid.PcdSp804DualTimerInterrupt
> diff --git a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
> index cdf8b3f2e953..5fba3fa7d020 100644
> --- a/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
> +++ b/Platform/ARM/SgiPkg/AcpiTables/RdN2/Madt.aslc
> @@ -6,7 +6,7 @@
>     CPU interface, redistributor, distributor and ITS blocks on the Rd-N2 platform
>     is included in this table.
>
> -  Copyright (c) 2020 - 2022, Arm Limited. All rights reserved.
> +  Copyright (c) 2020 - 2024, Arm Limited. All rights reserved.
>
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -23,6 +23,8 @@
>   #define CORE_CNT   (FixedPcdGet32 (PcdClusterCount) * \
>                         FixedPcdGet32 (PcdCoreCount))
>
> +#define ITS_CNT ((FixedPcdGet32(PcdPlatformVariant) == 3) ? 12 : 6)
> +
>   // Multiple APIC Description Table
>   #pragma pack (1)
>
> @@ -31,7 +33,7 @@ typedef struct {
>     EFI_ACPI_6_4_GIC_STRUCTURE                            GicInterfaces[CORE_CNT];
>     EFI_ACPI_6_4_GIC_DISTRIBUTOR_STRUCTURE                GicDistributor;
>     EFI_ACPI_6_4_GICR_STRUCTURE                           GicRedistributor;
> -  EFI_ACPI_6_4_GIC_ITS_STRUCTURE                        GicIts[6];
> +  EFI_ACPI_6_4_GIC_ITS_STRUCTURE                        GicIts[ITS_CNT];
>   } EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE;
>
>   #pragma pack ()
> @@ -134,6 +136,14 @@ STATIC EFI_ACPI_6_4_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = {
>       EFI_ACPI_6_4_GIC_ITS_INIT(3, 0x30100000),
>       EFI_ACPI_6_4_GIC_ITS_INIT(4, 0x30140000),
>       EFI_ACPI_6_4_GIC_ITS_INIT(5, 0x30180000),
> +#if (FixedPcdGet32 (PcdPlatformVariant) == 3)
> +    EFI_ACPI_6_4_GIC_ITS_INIT(6, 0x301C0000),
> +    EFI_ACPI_6_4_GIC_ITS_INIT(7, 0x30200000),
> +    EFI_ACPI_6_4_GIC_ITS_INIT(8, 0x30240000),
> +    EFI_ACPI_6_4_GIC_ITS_INIT(9, 0x30280000),
> +    EFI_ACPI_6_4_GIC_ITS_INIT(10, 0x302C0000),
> +    EFI_ACPI_6_4_GIC_ITS_INIT(11, 0x30180000),
> +#endif
>     },
>   };
>
> diff --git a/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
> new file mode 100644
> index 000000000000..77288ab1ad93
> --- /dev/null
> +++ b/Platform/ARM/SgiPkg/RdN2Cfg3/RdN2Cfg3.fdf.inc
> @@ -0,0 +1,10 @@
> +#
> +#  Copyright (c) 2024, ARM Limited. All rights reserved.
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +
> +# Per-platform additional content of the DXE phase firmware volume
> +
> +  # ACPI support
> +  INF RuleOverride=ACPITABLE Platform/ARM/SgiPkg/AcpiTables/RdN2Cfg3AcpiTables.inf

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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113380): https://edk2.groups.io/g/devel/message/113380
Mute This Topic: https://groups.io/mt/103544573/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-01-08 11:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-05 15:38 [edk2-devel] [edk2-platforms][PATCH v2 0/7] Platform/Sgi: Add support for RD-N2-Cfg3 and RD-V2 platform Prabin CA
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 1/7] Platform/Sgi: remove +nofp gcc option flag Prabin CA
2024-01-08 10:53   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 2/7] Platform/Sgi: add no-stack-protector flag for StMM builds Prabin CA
2024-01-08 10:49   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 3/7] Platform/Sgi: Add VariableFlashInfoLib to fix missing dependency Prabin CA
2024-01-08 10:51   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 4/7] Platform/Sgi: Add a PCD to specify platform variant Prabin CA
2024-01-08 10:53   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 5/7] Platform/Sgi: Add support for RD-N2-Cfg3 platform Prabin CA
2024-01-08 11:08   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 6/7] Platform/Sgi: Define RD-V2 platform id values Prabin CA
2024-01-08 11:07   ` levi.yun
2024-01-05 15:38 ` [edk2-devel] [edk2-platforms][PATCH v2 7/7] Platform/Sgi: Extend SMBIOS support for RD-V2 platform Prabin CA
2024-01-08 11:07   ` levi.yun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox