[edk2-platforms][PATCH V1 5/5] Platform/Sgi: Extend SMBIOS support for RD-N2-Cfg2


Pranav Madhu
 

Extend the SMBIOS support for RD-N2-Cfg2 platform which is a quad-chip
variant of the RD-N2 platform. Most the SMBIOS information is shared
with the RD-N2 platform except for the number of the CPUs supported on
the RD-N2-Cfg2 platform.

Signed-off-by: Pranav Madhu <pranav.madhu@...>
---
Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c =
| 7 +++++--
Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation.=
c | 15 ++++++++++++---
Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c =
| 3 ++-
3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInf=
ormation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInf=
ormation.c
index 17361f63359b..b7e2238fb39c 100644
--- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformatio=
n.c
+++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformatio=
n.c
@@ -5,7 +5,7 @@
Reference Design platforms. Type 1 table defines attributes of the
overall system such as manufacturer, product name, UUID etc.
=20
- Copyright (c) 2021, ARM Limited. All rights reserved.
+ Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
=20
@par Specification Reference:
@@ -32,7 +32,8 @@
"RdV1\0" \
"RdV1Mc\0" \
"RdN2\0" \
- "RdN2Cfg1\0"
+ "RdN2Cfg1\0" \
+ "RdN2Cfg2\0"
=20
typedef enum {
ManufacturerName =3D 1,
@@ -68,6 +69,8 @@ STATIC GUID mSmbiosUid[] =3D {
{0xf2cded73, 0x37f9, 0x4ec9, {0xd9, 0xf9, 0x89, 0x9b, 0x74, 0x91, 0x20=
, 0x49}},
/* Rd-N2-Cfg1 */
{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}},
};
=20
/* System information */
diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4Processor=
Information.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4Proces=
sorInformation.c
index b554ee6dea58..b59172cf1cb9 100644
--- a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInforma=
tion.c
+++ b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInforma=
tion.c
@@ -6,7 +6,7 @@
family, processor id, maximum operating frequency, and other informati=
on
related to the processor.
=20
- Copyright (c) 2021, ARM Limited. All rights reserved.
+ Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
=20
@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 9
+#define PROCESSOR_VERSION_NUM 10
#define SERIAL_NUMBER_BASE (PROCESSOR_VERSION_BASE + PROCESSOR_VERS=
ION_NUM)
#define TYPE4_STRINGS \
"0x000\0" /* Part Number */ \
@@ -42,6 +42,7 @@
"Neoverse-V1\0" \
"Neoverse-N2\0" \
"Neoverse-N2\0" \
+ "Neoverse-N2\0" \
"000-0\0" /* Serial number */ \
"783-3\0" \
"786-1\0" \
@@ -50,7 +51,8 @@
"78A-1\0" \
"78A-2\0" \
"7B7-1\0" \
- "7B6-1\0"
+ "7B6-1\0" \
+ "7B7-1\0"
=20
typedef enum {
PartNumber =3D 1,
@@ -188,6 +190,13 @@ InstallType4ProcessorInformation (
mArmRdSmbiosType4.Base.EnabledCoreCount =3D CoreCount * FixedPcdGet3=
2 (PcdChipCount);
mArmRdSmbiosType4.Base.ThreadCount =3D CoreCount * FixedPcdGet32 (Pc=
dChipCount);
break;
+ case RdN2Cfg2:
+ mArmRdSmbiosType4.Base.CoreCount =3D CoreCount * FixedPcdGet32 (PcdC=
hipCount);
+ mArmRdSmbiosType4.Base.EnabledCoreCount =3D CoreCount * FixedPcdGet3=
2 (PcdChipCount);
+ mArmRdSmbiosType4.Base.ThreadCount =3D CoreCount * FixedPcdGet32 (Pc=
dChipCount);
+ mArmRdSmbiosType4.Base.MaxSpeed =3D 3200; // Frequency in MHz
+ mArmRdSmbiosType4.Base.CurrentSpeed =3D 3200; // Frequency in MHz
+ break;
case RdE1Edge:
mArmRdSmbiosType4.Base.CoreCount =3D CoreCount / NEOVERSE_E1_THREADS=
_PER_CORE;
mArmRdSmbiosType4.Base.EnabledCoreCount =3D CoreCount / NEOVERSE_E1_=
THREADS_PER_CORE;
diff --git a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInfo=
rmation.c b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInfor=
mation.c
index 02cfa6334deb..b71ce721e2e8 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.
=20
- Copyright (c) 2021, ARM Limited. All rights reserved.
+ Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
=20
@par Specification Reference:
@@ -298,6 +298,7 @@ InstallType7CacheInformation (
mArmRdSmbiosType7[4].Base.Associativity =3D CacheAssociativity16Way;
break;
case RdN2:
+ case RdN2Cfg2:
/* L1 instruction cache */
mArmRdSmbiosType7[0].Base.MaximumCacheSize2 =3D 64; // 64KB
mArmRdSmbiosType7[0].Base.InstalledSize2 =3D 64; // 64KB
--=20
2.25.1