aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp1_1/fsp_report.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/intel/fsp1_1/fsp_report.c')
-rw-r--r--src/drivers/intel/fsp1_1/fsp_report.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/drivers/intel/fsp1_1/fsp_report.c b/src/drivers/intel/fsp1_1/fsp_report.c
new file mode 100644
index 0000000000..884218d7f7
--- /dev/null
+++ b/src/drivers/intel/fsp1_1/fsp_report.c
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <arch/symbols.h>
+#include <console/console.h>
+#include <fsp/util.h>
+
+/* filled in assembly after FSP-T ran */
+uintptr_t temp_memory_start;
+uintptr_t temp_memory_end;
+
+void report_fsp_output(void)
+{
+ const struct region fsp_car_region = {
+ .offset = temp_memory_start,
+ .size = temp_memory_end - temp_memory_start,
+ };
+ const struct region coreboot_car_region = {
+ .offset = (uintptr_t)_car_region_start,
+ .size = (uintptr_t)_car_region_size,
+ };
+ printk(BIOS_DEBUG, "FSP: reported temp_mem region: [0x%08lx,0x%08lx)\n",
+ temp_memory_start, temp_memory_end);
+ if (!region_is_subregion(&fsp_car_region, &coreboot_car_region)) {
+ printk(BIOS_ERR, "Wrong CAR region used!\n");
+ printk(BIOS_ERR, "Adapt DCACHE_RAM_BASE and DCACHE_RAM_SIZE to match FSP-T\n");
+ }
+}