On Thu, Dec 14, 2023 at 11:41 AM Pranav Madhu <pranav.ma...@arm.com> wrote:
> 
> 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.
> 
> Signed-off-by: Pranav Madhu <pranav.ma...@arm.com>
> ---
>  Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.c
> |  5 ++++-
> 
> Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformation
> .c |  7 +++++--
>  Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
> | 18 ++++++++++++++++++
>  3 files changed, 27 insertions(+), 3 deletions(-)
> 
> diff --git
> a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.
> c
> b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation
> .c
> index b7e2238fb39c..fe3c88672d7e 100644
> ---
> a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation.
> c
> +++
> b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type1SystemInformation
> .c
> @@ -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/Type4ProcessorInformati
> on.c
> b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformati
> on.c
> index b59172cf1cb9..0f403e41a3c7 100644
> ---
> a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformati
> on.c
> +++
> b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type4ProcessorInformati
> on.c
> @@ -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..d65ae9520679 100644
> ---
> a/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.c
> +++
> b/Platform/ARM/SgiPkg/Drivers/SmbiosPlatformDxe/Type7CacheInformation.
> c
> @@ -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

Reviewed-by: Thomas Abraham <thomas.abra...@arm.com>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#112535): https://edk2.groups.io/g/devel/message/112535
Mute This Topic: https://groups.io/mt/103168058/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to