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>
This commit is contained in:
Aaron Durbin 2016-02-11 14:36:19 -06:00
parent a50478f151
commit 65ac3d862f
2 changed files with 7 additions and 1 deletions

View File

@ -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

View File

@ -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"