Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/69681 )
Change subject: soc/intel/meteorlake: Implement report_cache_info() function ......................................................................
soc/intel/meteorlake: Implement report_cache_info() function
Make use of deterministic cache helper functions from Meteor Lake SoC code to print useful information during boot as below:
Cache: Level 3: Associativity = 12 Partitions = 1 Line Size = 64 Sets = 32768 Cache size = 24 MiB
Port of commit 55f5410fcd78 ("soc/intel/alderlake: Implement report_cache_info() function")
BUG=none TEST=Build and Boot verified on google/rex
Signed-off-by: Dinesh Gehlot digehlot@google.com Change-Id: I561658c8da0136d6c3d9578f22f5d320e542457d Reviewed-on: https://review.coreboot.org/c/coreboot/+/69681 Reviewed-by: Kapil Porwal kapilporwal@google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Subrata Banik subratabanik@google.com --- M src/soc/intel/meteorlake/bootblock/report_platform.c 1 file changed, 44 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Subrata Banik: Looks good to me, approved Kapil Porwal: Looks good to me, approved
diff --git a/src/soc/intel/meteorlake/bootblock/report_platform.c b/src/soc/intel/meteorlake/bootblock/report_platform.c index 6acf922..156102d 100644 --- a/src/soc/intel/meteorlake/bootblock/report_platform.c +++ b/src/soc/intel/meteorlake/bootblock/report_platform.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */
+#include <commonlib/helpers.h> #include <console/console.h> #include <cpu/cpu.h> #include <cpu/intel/cpu_ids.h> @@ -65,6 +66,21 @@ return pci_read_config16(dev, PCI_DEVICE_ID); }
+static void report_cache_info(void) +{ + int cache_level = CACHE_L3; + struct cpu_cache_info info; + + if (!fill_cpu_cache_info(cache_level, &info)) + return; + + printk(BIOS_INFO, "Cache: Level %d: ", cache_level); + printk(BIOS_INFO, "Associativity = %zd Partitions = %zd Line Size = %zd Sets = %zd\n", + info.num_ways, info.physical_partitions, info.line_size, info.num_sets); + + printk(BIOS_INFO, "Cache size = %zu MiB\n", get_cache_size(&info)/MiB); +} + static void report_cpu_info(void) { u32 i, cpu_id, cpu_feature_flag; @@ -95,6 +111,8 @@ printk(BIOS_DEBUG, "CPU: AES %ssupported, TXT %ssupported, VT %ssupported\n", mode[aes], mode[txt], mode[vt]); + + report_cache_info(); }
static void report_mch_info(void)