From 65ac3d862f99c520b05da7c1ff66f4eaa336ad1d Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Thu, 11 Feb 2016 14:36:19 -0600 Subject: 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 Reviewed-on: https://review.coreboot.org/13691 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth Reviewed-by: Andrey Petrov --- src/arch/x86/Kconfig | 5 +++++ src/arch/x86/memlayout.ld | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src') 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" -- cgit v1.2.3