diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-02-11 14:36:19 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-02-13 01:15:36 +0100 |
commit | 65ac3d862f99c520b05da7c1ff66f4eaa336ad1d (patch) | |
tree | b0f5a9f82ae1ccca529e3bccf601d94d44b04113 | |
parent | a50478f151218b3bfb8f45a318533b0f3c14c3f0 (diff) | |
download | coreboot-65ac3d862f99c520b05da7c1ff66f4eaa336ad1d.tar.xz |
x86: make bootblock size for C_ENVIRONMENT_BOOTBLOCK configurable
Certain platforms may need to limit their bootblock size to within
a given size because specific constraints. Allow the size to be
provided by the mainboard or chipset by way of the arch Kconfig
being processed after those.
Change-Id: I46cc6315918cde575070fa2d3e2514f28008f575
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/13691
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Andrey Petrov <andrey.petrov@intel.com>
-rw-r--r-- | src/arch/x86/Kconfig | 5 | ||||
-rw-r--r-- | src/arch/x86/memlayout.ld | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 889e811aee..204a9be052 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -146,3 +146,8 @@ config ID_SECTION_OFFSET config COMPILE_IN_DSDT bool "compile in DSDT and use that over DSDT in CBFS" default n + +# 64KiB default bootblock size when employing C_ENVIRONMENT_BOOTBLOCK. +config C_ENV_BOOTBLOCK_SIZE + hex + default 0x10000 diff --git a/src/arch/x86/memlayout.ld b/src/arch/x86/memlayout.ld index 1ecae8c230..fb675759c1 100644 --- a/src/arch/x86/memlayout.ld +++ b/src/arch/x86/memlayout.ld @@ -45,7 +45,8 @@ SECTIONS #elif ENV_BOOTBLOCK /* This is for C_ENVIRONMENT_BOOTBLOCK. arch/x86/bootblock.ld contains * the logic for the romcc linking. */ - BOOTBLOCK(0xffff0000, 64K) + BOOTBLOCK(0xffffffff - CONFIG_C_ENV_BOOTBLOCK_SIZE + 1, + CONFIG_C_ENV_BOOTBLOCK_SIZE) /* Pull in the cache-as-ram rules. */ #include "car.ld" |