summaryrefslogtreecommitdiff
path: root/src/soc/intel
diff options
context:
space:
mode:
authorPratikkumar Prajapati <pratikkumar.v.prajapati@intel.com>2023-07-31 15:58:18 -0700
committerMartin L Roth <gaumless@gmail.com>2023-09-01 21:21:44 +0000
commit458e2553f5a3385b776ba50b948b07e00c2fdd27 (patch)
tree382f822c582c5d933cf8047e81eb14001c785dfc /src/soc/intel
parentb757facac292b11f32a5ecdb8ce58eb60d1a555f (diff)
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>
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/meteorlake/crashlog.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/soc/intel/meteorlake/crashlog.c b/src/soc/intel/meteorlake/crashlog.c
index 9d3c5d60e4..cf05b24613 100644
--- a/src/soc/intel/meteorlake/crashlog.c
+++ b/src/soc/intel/meteorlake/crashlog.c
@@ -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,