soc/intel/meteorlake: Skip crashlog region with metadata tag

Region with metadata tag contains information about BDF entry for
SOC PMC SRAM and IOE SRAM. We don't need to parse this as we already
define BDFs in soc/pci_devs.h for these SRAMs. Also we need to skip
to region as it does not contain any crashlog data.

BUG=b:262501347
TEST=Able to build google/rex. Able to trigger crashlog and decode
correctly.

Change-Id: Id8ed40b865cde8e89045f5c9e713398fcbff5890
Signed-off-by: Pratikkumar Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76834
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Pratikkumar Prajapati 2023-07-31 15:58:18 -07:00 committed by Martin L Roth
parent b757facac2
commit 458e2553f5
1 changed files with 12 additions and 1 deletions

View File

@ -127,8 +127,19 @@ void cl_get_pmc_sram_data(void)
if (!descriptor_table.regions[i].bits.size)
continue;
/*
* Region with metadata TAG contains information about BDF entry for SOC PMC SRAM
* and IOE SRAM. We don't need to parse this as we already define BDFs in
* soc/pci_devs.h for these SRAMs. Also we need to skip this region as it does not
* contain any crashlog data.
*/
if (descriptor_table.regions[i].bits.assign_tag ==
CRASHLOG_DESCRIPTOR_TABLE_TAG_META) {
pmc_crashLog_size -= descriptor_table.regions[i].bits.size *
sizeof(u32);
printk(BIOS_DEBUG, "Found metadata tag. PMC crashlog size adjusted to: 0x%x\n",
pmc_crashLog_size);
} else if (descriptor_table.regions[i].bits.assign_tag ==
CRASHLOG_DESCRIPTOR_TABLE_TAG_SOC) {
if (cl_copy_data_from_sram(pmc_sram_base,