summaryrefslogtreecommitdiff
path: root/src/soc/intel/common
diff options
context:
space:
mode:
authorFrancois Toguo <francois.toguo.fotso@intel.com>2021-01-21 09:55:19 -0800
committerPatrick Georgi <pgeorgi@google.com>2021-02-04 10:21:02 +0000
commit522e0dbdaa46dde5363ad4c50a11938ae2f17a0d (patch)
tree7f4c2ddd84f8069b9f2fad2a9c0586ed3a959a5f /src/soc/intel/common
parent5f30ae3714d7535d3ce061b30e3292c6ac62cb6f (diff)
acpi: Add support for reporting CrashLog in BERT table
Crash Data are collected and sent to the OS via the ACPI BERT. BUG=None TEST=Built, and BERT successfully generated in the crashLog flow. Signed-off-by: Francois Toguo <francois.toguo.fotso@intel.com> Change-Id: I00e390d735d61beac2e89a726e39119d9b06b3df Signed-off-by: Nikunj A. Dadhania <nikunj.dadhania@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/49799 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/soc/intel/common')
-rw-r--r--src/soc/intel/common/block/systemagent/memmap.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/systemagent/memmap.c b/src/soc/intel/common/block/systemagent/memmap.c
index 86ca4e1b84..ce842e850f 100644
--- a/src/soc/intel/common/block/systemagent/memmap.c
+++ b/src/soc/intel/common/block/systemagent/memmap.c
@@ -7,6 +7,7 @@
#include <cpu/x86/smm.h>
#include <intelblocks/fast_spi.h>
#include <intelblocks/systemagent.h>
+#include <arch/bert_storage.h>
#include <types.h>
/*
@@ -49,12 +50,22 @@
* +---------------------------+ 0
*/
+#define BERT_REGION_MAX_SIZE 0x10000
+
void smm_region(uintptr_t *start, size_t *size)
{
*start = sa_get_tseg_base();
*size = sa_get_tseg_size();
}
+void bert_reserved_region(void **start, size_t *size)
+{
+ *start = cbmem_add(CBMEM_ID_ACPI_BERT, BERT_REGION_MAX_SIZE);
+ *size = BERT_REGION_MAX_SIZE;
+
+ printk(BIOS_DEBUG, "Reserving BERT start %lx, size %lx\n", (uintptr_t)*start, *size);
+}
+
void fill_postcar_frame(struct postcar_frame *pcf)
{
/* FSP does not seem to bother w.r.t. alignment when asked to place cbmem_top() */