summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/tables.c11
-rw-r--r--src/arch/arm64/tables.c7
2 files changed, 18 insertions, 0 deletions
diff --git a/src/arch/arm/tables.c b/src/arch/arm/tables.c
index eef6bf2ffd..682c2bc39e 100644
--- a/src/arch/arm/tables.c
+++ b/src/arch/arm/tables.c
@@ -18,6 +18,7 @@
#include <bootmem.h>
#include <boot/tables.h>
#include <boot/coreboot_tables.h>
+#include <symbols.h>
void arch_write_tables(uintptr_t coreboot_table)
{
@@ -25,6 +26,16 @@ void arch_write_tables(uintptr_t coreboot_table)
void bootmem_arch_add_ranges(void)
{
+ DECLARE_OPTIONAL_REGION(ttb_subtables);
+
+ bootmem_add_range((uintptr_t)_ttb, _ttb_size, BM_MEM_RAMSTAGE);
+ bootmem_add_range((uintptr_t)_ttb_subtables, _ttb_subtables_size,
+ BM_MEM_RAMSTAGE);
+
+ if (!IS_ENABLED(CONFIG_COMMON_CBFS_SPI_WRAPPER))
+ return;
+ bootmem_add_range((uintptr_t)_postram_cbfs_cache,
+ _postram_cbfs_cache_size, BM_MEM_RAMSTAGE);
}
void lb_arch_add_records(struct lb_header *header)
diff --git a/src/arch/arm64/tables.c b/src/arch/arm64/tables.c
index eef6bf2ffd..f36679e67f 100644
--- a/src/arch/arm64/tables.c
+++ b/src/arch/arm64/tables.c
@@ -18,6 +18,7 @@
#include <bootmem.h>
#include <boot/tables.h>
#include <boot/coreboot_tables.h>
+#include <symbols.h>
void arch_write_tables(uintptr_t coreboot_table)
{
@@ -25,6 +26,12 @@ void arch_write_tables(uintptr_t coreboot_table)
void bootmem_arch_add_ranges(void)
{
+ bootmem_add_range((uintptr_t)_ttb, _ttb_size, BM_MEM_RAMSTAGE);
+
+ if (!IS_ENABLED(CONFIG_COMMON_CBFS_SPI_WRAPPER))
+ return;
+ bootmem_add_range((uintptr_t)_postram_cbfs_cache,
+ _postram_cbfs_cache_size, BM_MEM_RAMSTAGE);
}
void lb_arch_add_records(struct lb_header *header)