summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/car.ld2
-rw-r--r--src/arch/x86/cbmem.c44
-rw-r--r--src/arch/x86/include/arch/cpu.h5
-rw-r--r--src/arch/x86/postcar_loader.c10
4 files changed, 7 insertions, 54 deletions
diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld
index 5669020b87..86656829ab 100644
--- a/src/arch/x86/car.ld
+++ b/src/arch/x86/car.ld
@@ -43,7 +43,7 @@
* in size. Therefore place them at the beginning .car.data section
* so that multiple stages (romstage and verstage) have a consistent
* link address of these shared objects. */
- PRERAM_CBMEM_CONSOLE(., (CONFIG_LATE_CBMEM_INIT ? 0 : CONFIG_PRERAM_CBMEM_CONSOLE_SIZE))
+ PRERAM_CBMEM_CONSOLE(., CONFIG_PRERAM_CBMEM_CONSOLE_SIZE)
#if IS_ENABLED(CONFIG_PAGING_IN_CACHE_AS_RAM)
. = ALIGN(32);
/* Page directory pointer table resides here. There are 4 8-byte entries
diff --git a/src/arch/x86/cbmem.c b/src/arch/x86/cbmem.c
index b3d89f4953..73967e17f8 100644
--- a/src/arch/x86/cbmem.c
+++ b/src/arch/x86/cbmem.c
@@ -15,55 +15,23 @@
#include <cbmem.h>
#include <arch/acpi.h>
-#if IS_ENABLED(CONFIG_LATE_CBMEM_INIT)
-
-void __weak backup_top_of_low_cacheable(uintptr_t ramtop)
-{
- /* Do nothing. Chipset may have implementation to save ramtop in NVRAM.
- */
-}
-
-uintptr_t __weak restore_top_of_low_cacheable(void)
-{
- return 0;
-}
-
-#endif /* LATE_CBMEM_INIT */
-
#if IS_ENABLED(CONFIG_CBMEM_TOP_BACKUP)
-static void *cbmem_top_backup;
-
-void set_late_cbmem_top(uintptr_t ramtop)
-{
- backup_top_of_low_cacheable(ramtop);
- if (ENV_RAMSTAGE)
- cbmem_top_backup = (void *)ramtop;
-}
-
-/* Top of CBMEM is at highest usable DRAM address below 4GiB. */
-uintptr_t __weak restore_cbmem_top(void)
-{
- if (IS_ENABLED(CONFIG_LATE_CBMEM_INIT) && ENV_ROMSTAGE)
- if (!acpi_is_wakeup_s3())
- return 0;
-
- return restore_top_of_low_cacheable();
-}
-
void *cbmem_top(void)
{
- uintptr_t top_backup;
+ static void *cbmem_top_backup;
+ void *top_backup;
if (ENV_RAMSTAGE && cbmem_top_backup != NULL)
return cbmem_top_backup;
- top_backup = restore_cbmem_top();
+ /* Top of CBMEM is at highest usable DRAM address below 4GiB. */
+ top_backup = (void *)restore_top_of_low_cacheable();
if (ENV_RAMSTAGE)
- cbmem_top_backup = (void *)top_backup;
+ cbmem_top_backup = top_backup;
- return (void *)top_backup;
+ return top_backup;
}
#endif /* CBMEM_TOP_BACKUP */
diff --git a/src/arch/x86/include/arch/cpu.h b/src/arch/x86/include/arch/cpu.h
index 00696e6bea..b50fef2b56 100644
--- a/src/arch/x86/include/arch/cpu.h
+++ b/src/arch/x86/include/arch/cpu.h
@@ -271,11 +271,6 @@ struct postcar_frame {
int postcar_frame_init(struct postcar_frame *pcf, size_t stack_size);
/*
- * Initialize postcar_frame object with a fixed stacktop in low memory.
- */
-void postcar_frame_init_lowmem(struct postcar_frame *pcf);
-
-/*
* Add variable MTRR covering the provided range with MTRR type.
*/
void postcar_frame_add_mtrr(struct postcar_frame *pcf,
diff --git a/src/arch/x86/postcar_loader.c b/src/arch/x86/postcar_loader.c
index 2342fb9fb8..141e8d23ae 100644
--- a/src/arch/x86/postcar_loader.c
+++ b/src/arch/x86/postcar_loader.c
@@ -60,16 +60,6 @@ int postcar_frame_init(struct postcar_frame *pcf, size_t stack_size)
return 0;
}
-/*
- * For use with LATE_CBMEM_INIT boards only, with a fixed stacktop in
- * low memory.
- */
-void postcar_frame_init_lowmem(struct postcar_frame *pcf)
-{
- postcar_frame_prepare(pcf);
- pcf->stack = CONFIG_RAMTOP;
-}
-
void postcar_frame_add_mtrr(struct postcar_frame *pcf,
uintptr_t addr, size_t size, int type)
{