aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/bootblock.ld11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/arch/x86/bootblock.ld b/src/arch/x86/bootblock.ld
index d59eb27a64..65479851ce 100644
--- a/src/arch/x86/bootblock.ld
+++ b/src/arch/x86/bootblock.ld
@@ -17,19 +17,16 @@ SECTIONS {
. = _ebootblock - CONFIG_C_ENV_BOOTBLOCK_SIZE;
#else
. = BOOTBLOCK_TOP - PROGRAM_SZ;
- . = ALIGN(64);
+ /* Page tables need to be at a 4K boundary so align the bootblock downwards */
+ . = ALIGN(4096);
+ . -= 4096;
#endif
_bootblock = .;
INCLUDE "bootblock/lib/program.ld"
- /*
- * Allocation reserves extra space here. Alignment requirements
- * may cause the total size of a section to change when the start
- * address gets applied.
- */
- PROGRAM_SZ = SIZEOF(.text) + 512;
+ PROGRAM_SZ = SIZEOF(.text);
. = MIN(_ECFW_PTR, MIN(_ID_SECTION, _FIT_POINTER)) - EARLYASM_SZ;
. = CONFIG(SIPI_VECTOR_IN_ROM) ? ALIGN(4096) : ALIGN(16);