coreboot/src/soc
Naresh Solanki fb3f025ea6 soc/amd/common/cpu/noncar: Add SMBIOS helper
Some SoC like Glinda,
1. It has multiple L3 caches block, each identified by a unique cache
UID. Each core is associated with a specific L3 cache, which can be
determined based on the CPU core ID.
2. Each CPU core have slightly different CPU boost frequency.

For L3 cache info in DMI table type 7, the default implementation
(x86_get_cpu_cache_info) retrieves cache information only for the
current core and assumes that the same L3 cache is shared across all
cores.

To accurately determine the total L3 cache size:
1. Retrieves L3 cache information for each CPU core.
2. Identifies the unique cache ID associated with each core.
3. Aggregates cache sizes for all unique cache IDs to compute the
   total L3 cache size, ensuring correct summation even when L3 cache
   blocks have different sizes.

Additionally to get core max boost frequency,
1. Determine max boost frequency among all cores & update
   smbios_cpu_get_max_speed_mhz such that it return max of all cores.

TEST=Build for Glinda SoC & check output of `dmidecode -t 7` &
`dmidecode -t 4`. Verify DMI Type7 table to report L3 cache size as 24MB
(16 + 8) & Also verify DMI Type4 'Max Speed: 5408 MHz' which is maximum
boost clock frequency.

Change-Id: I2569a9c744f7f41e4df692626e77a178184b7e0e
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87123
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
2025-04-24 14:27:21 +00:00
..
amd soc/amd/common/cpu/noncar: Add SMBIOS helper 2025-04-24 14:27:21 +00:00
cavium soc/cavium: Fix non matching types 2024-08-30 07:34:47 +00:00
example/min86
ibm/power9 3rdparty/open-power-signing-utils: add SecureBoot utility for OpenPOWER 2024-09-06 13:55:50 +00:00
intel smmrelocate: Drop unused parameter 2025-04-23 21:02:27 +00:00
mediatek soc/mediatek/mt8189: Add I2C driver support 2025-04-24 06:45:07 +00:00
nvidia arch/arm: Add a few ARM targets as supported by CLANG 2024-08-23 10:40:01 +00:00
qualcomm soc/qualcomm/common: Avoid hardcoding SPI bus from QUP range 2025-04-15 03:45:34 +00:00
rockchip arch/arm: Add a few ARM targets as supported by CLANG 2024-08-23 10:40:01 +00:00
samsung samsung/exynos5250: Replace 'unsigned long int' by 'unsigned long' 2025-01-15 08:32:16 +00:00
sifive tree: Remove unused <assert.h> 2024-11-19 00:40:04 +00:00
ti soc/ti/am335x: Remove superfluous formats 2024-08-02 14:45:13 +00:00
ucb/riscv soc/riscv/ucb: Switch to FDT parsing to get memory size 2025-02-26 17:11:09 +00:00
xilinx soc/xilinx/zynq7000: Initial Xilinx Zynq 7000 SoC bringup 2025-01-23 00:41:01 +00:00