[coreboot-gerrit] New patch to review for coreboot: x86: add option for custom bootblock size for C_ENVIRONMENT_BOOTBLOCK

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Thu Feb 11 23:14:18 CET 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13691

-gerrit

commit db6afd190ab1ef938e8ef274b2f0852b7bbc97d0
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Feb 11 14:36:19 2016 -0600

    x86: add option for custom bootblock size for C_ENVIRONMENT_BOOTBLOCK
    
    Certain platforms may need to limit their bootblock size to within
    a given size because specific constraints. Allow the size to be
    changed based on HAS_CUSTOM_BOOTBLOCK_SIZE and deferring to
    CONFIG_CUSTOM_BOOTBLOCK_SIZE as the specific value.
    
    Change-Id: I46cc6315918cde575070fa2d3e2514f28008f575
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/arch/x86/Kconfig      |  4 ++++
 src/arch/x86/memlayout.ld | 12 +++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 889e811..8050949 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -146,3 +146,7 @@ config ID_SECTION_OFFSET
 config COMPILE_IN_DSDT
 	bool "compile in DSDT and use that over DSDT in CBFS"
 	default n
+
+# If selected defer to CUSTOM_BOOTBLOCK_SIZE
+config HAS_CUSTOM_BOOTBLOCK_SIZE
+	def_bool n
diff --git a/src/arch/x86/memlayout.ld b/src/arch/x86/memlayout.ld
index 1ecae8c..161bb27 100644
--- a/src/arch/x86/memlayout.ld
+++ b/src/arch/x86/memlayout.ld
@@ -45,7 +45,17 @@ SECTIONS
 #elif ENV_BOOTBLOCK
 	/* This is for C_ENVIRONMENT_BOOTBLOCK. arch/x86/bootblock.ld contains
 	 * the logic for the romcc linking. */
-	BOOTBLOCK(0xffff0000, 64K)
+
+	/* Allow one to limit the size of bootblock for a given platform. */
+	#if IS_ENABLED(CONFIG_HAS_CUSTOM_BOOTBLOCK_SIZE)
+	#define _BB_SIZE CONFIG_CUSTOM_BOOTBLOCK_SIZE
+	#else
+	#define _BB_SIZE 64K
+	#endif
+
+	BOOTBLOCK(0xffffffff - _BB_SIZE + 1, _BB_SIZE)
+
+	#undef _BB_SIZE
 
 	/* Pull in the cache-as-ram rules. */
 	#include "car.ld"



More information about the coreboot-gerrit mailing list