summaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block/systemagent/memmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/common/block/systemagent/memmap.c')
-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() */