summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/early_ram.ld47
-rw-r--r--src/arch/x86/memlayout.ld15
2 files changed, 3 insertions, 59 deletions
diff --git a/src/arch/x86/early_ram.ld b/src/arch/x86/early_ram.ld
deleted file mode 100644
index 82bd775e9c..0000000000
--- a/src/arch/x86/early_ram.ld
+++ /dev/null
@@ -1,47 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-/* This file is included inside a SECTIONS block */
-
-_STACK_SIZE = CONFIG_EARLYRAM_BSP_STACK_SIZE;
-_ = ASSERT(_STACK_SIZE > 0x0, "EARLYRAM_BSP_STACK_SIZE is not configured");
-
-_CONSOLE_SIZE = CONFIG_PRERAM_CBMEM_CONSOLE_SIZE;
-_ = ASSERT(_CONSOLE_SIZE > 0x0, "PRERAM_CBMEM_CONSOLE_SIZE is not configured");
-
-_TIMESTAMPS_SIZE = 0x200;
-#if !CONFIG(NO_FMAP_CACHE)
-_FMAP_SIZE = FMAP_SIZE;
-#else
-_FMAP_SIZE = 0;
-#endif
-
-/*
- * The PRERAM_CBMEM_CONSOLE, TIMESTAMP, and FMAP_CACHE regions are shared
- * between the pre-ram stages (bootblock, romstage, etc). We need to assign a
- * fixed size and consistent link address so they can be shared between stages.
- *
- * The stack area is not shared between stages, but is defined here for
- * convenience.
- */
-. = CONFIG_X86_RESET_VECTOR - ARCH_STACK_ALIGN_SIZE - _STACK_SIZE - _CONSOLE_SIZE - _TIMESTAMPS_SIZE - _FMAP_SIZE - VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE;
-
-_ = ASSERT(. > _eprogram, "Not enough room for .earlyram.data. Try increasing C_ENV_BOOTBLOCK_SIZE, or decreasing either EARLYRAM_BSP_STACK_SIZE or PRERAM_CBMEM_CONSOLE_SIZE.");
-
-.stack ALIGN(ARCH_STACK_ALIGN_SIZE) (NOLOAD) : {
- EARLYRAM_STACK(., _STACK_SIZE)
-}
-
-.persistent ALIGN(ARCH_POINTER_ALIGN_SIZE) (NOLOAD) : {
- PRERAM_CBMEM_CONSOLE(., _CONSOLE_SIZE)
- TIMESTAMP(., _TIMESTAMPS_SIZE)
- #if !CONFIG(NO_FMAP_CACHE)
- FMAP_CACHE(., FMAP_SIZE)
- #endif
-
- #if CONFIG(VBOOT_STARTS_IN_BOOTBLOCK)
- ALIGN_COUNTER(16);
- VBOOT2_WORK(., VB2_FIRMWARE_WORKBUF_RECOMMENDED_SIZE)
- #endif
-}
-
-_ = ASSERT(. <= CONFIG_X86_RESET_VECTOR, "Earlyram data regions don't fit below the reset vector!");
diff --git a/src/arch/x86/memlayout.ld b/src/arch/x86/memlayout.ld
index 7209034169..08c9b8d23d 100644
--- a/src/arch/x86/memlayout.ld
+++ b/src/arch/x86/memlayout.ld
@@ -3,15 +3,6 @@
#include <memlayout.h>
#include <arch/header.ld>
-/* Pull in the either CAR or early DRAM rules. */
-#if ENV_ROMSTAGE_OR_BEFORE
-#if ENV_CACHE_AS_RAM
-#define EARLY_MEMLAYOUT "car.ld"
-#else
-#define EARLY_MEMLAYOUT "early_ram.ld"
-#endif
-#endif
-
SECTIONS
{
/*
@@ -30,18 +21,18 @@ SECTIONS
* Link at 32MiB address and rely on cbfstool to relocate to XIP. */
ROMSTAGE(CONFIG_ROMSTAGE_ADDR, 1M)
- #include EARLY_MEMLAYOUT
+ #include "car.ld"
#elif ENV_SEPARATE_VERSTAGE
/* The 1M size is not allocated. It's just for basic size checking.
* Link at 32MiB address and rely on cbfstool to relocate to XIP. */
VERSTAGE(CONFIG_VERSTAGE_ADDR, 1M)
- #include EARLY_MEMLAYOUT
+ #include "car.ld"
#elif ENV_BOOTBLOCK
BOOTBLOCK(CONFIG_X86_RESET_VECTOR - CONFIG_C_ENV_BOOTBLOCK_SIZE + 0x10,
CONFIG_C_ENV_BOOTBLOCK_SIZE)
- #include EARLY_MEMLAYOUT
+ #include "car.ld"
#elif ENV_POSTCAR
POSTCAR(32M, 1M)