summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2019-11-22 21:01:30 +0100
committerPatrick Georgi <pgeorgi@google.com>2019-11-25 09:17:38 +0000
commitc05b1a66b320ab0341aae16c217316bec4092f5e (patch)
treeb85eb2b6c48ddb3c38604a55468e7f3608741801 /src/arch/x86
parent689256797e0dc157046888f83bf64ae410df7f14 (diff)
Kconfig: Drop the C_ENVIRONMENT_BOOTBLOCK symbol
The romcc bootblock will be deprecated soon and most platforms use C_ENVIRONMENT_BOOTBLOCK already. This patch drops the CONFIG_C_ENVIRONMENT_BOOTBLOCK symbol and adds CONFIG_ROMCC_BOOTBLOCK where needed. Change-Id: I773a76aade623303b7cd95ebe9b0411e5a7ecbaf Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37154 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: HAOUAS Elyes <ehaouas@noos.fr> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/Kconfig8
-rw-r--r--src/arch/x86/Makefile.inc10
-rw-r--r--src/arch/x86/assembly_entry.S11
-rw-r--r--src/arch/x86/bootblock_crt0.S3
-rw-r--r--src/arch/x86/bootblock_romcc.S2
-rw-r--r--src/arch/x86/car.ld6
-rw-r--r--src/arch/x86/include/arch/cpu.h5
-rw-r--r--src/arch/x86/memlayout.ld3
8 files changed, 23 insertions, 25 deletions
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 24a2065c0e..a788bc0e23 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -23,7 +23,7 @@ config ARCH_BOOTBLOCK_X86_32
bool
default n
select ARCH_X86
- select BOOTBLOCK_CUSTOM if !C_ENVIRONMENT_BOOTBLOCK
+ select BOOTBLOCK_CUSTOM if ROMCC_BOOTBLOCK
config ARCH_VERSTAGE_X86_32
bool
@@ -47,7 +47,7 @@ config ARCH_BOOTBLOCK_X86_64
bool
default n
select ARCH_X86
- select BOOTBLOCK_CUSTOM if !C_ENVIRONMENT_BOOTBLOCK
+ select BOOTBLOCK_CUSTOM if ROMCC_BOOTBLOCK
config ARCH_VERSTAGE_X86_64
bool
@@ -199,7 +199,7 @@ config ID_SECTION_OFFSET
hex
default 0x80
-# 64KiB default bootblock size when employing C_ENVIRONMENT_BOOTBLOCK.
+# 64KiB default bootblock size
config C_ENV_BOOTBLOCK_SIZE
hex
default 0x10000
@@ -239,7 +239,7 @@ config ROMSTAGE_DEBUG_SPINLOOP
choice
prompt "Bootblock behaviour"
default BOOTBLOCK_SIMPLE
- depends on !C_ENVIRONMENT_BOOTBLOCK
+ depends on ROMCC_BOOTBLOCK
config BOOTBLOCK_SIMPLE
bool "Always load fallback"
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 6f47e884a4..423c35116b 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -116,7 +116,7 @@ bootblock-$(CONFIG_X86_TOP4G_BOOTMEDIA_MAP) += mmap_boot.c
bootblock-y += id.S
$(call src-to-obj,bootblock,$(dir)/id.S): $(obj)/build.h
-ifeq ($(CONFIG_C_ENVIRONMENT_BOOTBLOCK),y)
+ifneq ($(CONFIG_ROMCC_BOOTBLOCK),y)
bootblock-y += bootblock_crt0.S
@@ -128,7 +128,7 @@ endif
bootblock-$(CONFIG_ARCH_BOOTBLOCK_X86_32) += walkcbfs.S
-else # !C_ENVIRONMENT_BOOTBLOCK
+else # ROMCC_BOOTBLOCK
# x86-specific linker flags
ifeq ($(CONFIG_ARCH_BOOTBLOCK_X86_32),y)
@@ -178,7 +178,7 @@ $(objcbfs)/bootblock.debug: $$(bootblock-objs)
$(filter-out %.ld,$(bootblock-objs)) \
-T $(call src-to-obj,bootblock,src/arch/x86/bootblock.ld)
-endif # C_ENVIRONMENT_BOOTBLOCK
+endif # ROMCC_BOOTBLOCK
endif # CONFIG_ARCH_BOOTBLOCK_X86_32 / CONFIG_ARCH_BOOTBLOCK_X86_64
@@ -223,7 +223,9 @@ ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32)$(CONFIG_ARCH_ROMSTAGE_X86_64),y)
romstage-$(CONFIG_HAVE_ACPI_RESUME) += acpi_s3.c
# gdt_init.S is included by entry32.inc when romstage is the first C
# environment.
-romstage-$(CONFIG_C_ENVIRONMENT_BOOTBLOCK) += gdt_init.S
+ifneq ($(CONFIG_ROMCC_BOOTBLOCK),y)
+romstage-y += gdt_init.S
+endif
romstage-y += cbmem.c
romstage-$(CONFIG_IDT_IN_EVERY_STAGE) += exception.c
romstage-$(CONFIG_IDT_IN_EVERY_STAGE) += idt.S
diff --git a/src/arch/x86/assembly_entry.S b/src/arch/x86/assembly_entry.S
index d9d6d4ecef..9d6f5a42b4 100644
--- a/src/arch/x86/assembly_entry.S
+++ b/src/arch/x86/assembly_entry.S
@@ -13,14 +13,13 @@
#include <rules.h>
-#if CONFIG(C_ENVIRONMENT_BOOTBLOCK)
+#if !CONFIG(ROMCC_BOOTBLOCK)
/*
- * This path is for stages that are post bootblock when employing
- * CONFIG_C_ENVIRONMENT_BOOTBLOCK. The gdt is reloaded to accommodate
- * platforms that are executing out of CAR. In order to continue with
- * C code execution one needs to set stack pointer and clear CAR_GLOBAL
- * variables that are stage specific.
+ * This path is for stages that are post bootblock. The gdt is reloaded
+ * to accommodate platforms that are executing out of CAR. In order to
+ * continue with C code execution one needs to set stack pointer and
+ * clear .bss variables that are stage specific.
*/
.section ".text._start", "ax", @progbits
.global _start
diff --git a/src/arch/x86/bootblock_crt0.S b/src/arch/x86/bootblock_crt0.S
index 9fcb5c4e4a..325673162c 100644
--- a/src/arch/x86/bootblock_crt0.S
+++ b/src/arch/x86/bootblock_crt0.S
@@ -11,8 +11,7 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * This is the modern bootblock. It is used by platforms which select
- * C_ENVIRONMENT_BOOTBLOCK, and it prepares the system for C environment runtime
+ * This is the modern bootblock. It prepares the system for C environment runtime
* setup. The actual setup is done by hardware-specific code.
*
* It provides a bootflow similar to other architectures, and thus is considered
diff --git a/src/arch/x86/bootblock_romcc.S b/src/arch/x86/bootblock_romcc.S
index 05b34c6c5a..7d6f42f08a 100644
--- a/src/arch/x86/bootblock_romcc.S
+++ b/src/arch/x86/bootblock_romcc.S
@@ -20,7 +20,7 @@
* - timestamp.inc: store TSC in MMX registers
* - generated/bootblock.inc: ROMCC part of the bootblock
*
- * This is used on platforms which do not select C_ENVIRONMENT_BOOTBLOCK, and it
+ * This is used on platforms which select ROMCC_BOOTBLOCK, and it
* tries to do the absolute minimum before walking CBFS and jumping to romstage.
*
* This file assembles the bootblock program by the order of the includes. Thus,
diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld
index 3680250993..483a908816 100644
--- a/src/arch/x86/car.ld
+++ b/src/arch/x86/car.ld
@@ -36,7 +36,7 @@
/* Stack for CAR stages. Since it persists across all stages that
* use CAR it can be reused. The chipset/SoC is expected to provide
* the stack size. */
-#if CONFIG(C_ENVIRONMENT_BOOTBLOCK)
+#if !CONFIG(ROMCC_BOOTBLOCK)
_car_stack = .;
. += CONFIG_DCACHE_BSP_STACK_SIZE;
_ecar_stack = .;
@@ -90,7 +90,7 @@
_ebss = .;
_car_unallocated_start = .;
-#if !CONFIG(C_ENVIRONMENT_BOOTBLOCK)
+#if CONFIG(ROMCC_BOOTBLOCK)
_car_stack = .;
_ecar_stack = _car_region_end;
#endif
@@ -121,6 +121,6 @@ _bogus = ASSERT((CONFIG_DCACHE_RAM_SIZE == 0) || (SIZEOF(.car.data) <= CONFIG_DC
#if CONFIG(PAGING_IN_CACHE_AS_RAM)
_bogus2 = ASSERT(_pagetables == ALIGN(_pagetables, 4096), "_pagetables aren't 4KiB aligned");
#endif
-#if CONFIG(C_ENVIRONMENT_BOOTBLOCK)
+#if !CONFIG(ROMCC_BOOTBLOCK)
_bogus3 = ASSERT(CONFIG_DCACHE_BSP_STACK_SIZE > 0x0, "BSP stack size not configured");
#endif
diff --git a/src/arch/x86/include/arch/cpu.h b/src/arch/x86/include/arch/cpu.h
index e0e3ca1972..50d636b1f6 100644
--- a/src/arch/x86/include/arch/cpu.h
+++ b/src/arch/x86/include/arch/cpu.h
@@ -288,9 +288,8 @@ static inline void get_fms(struct cpuinfo_x86 *c, uint32_t tfms)
#define asmlinkage __attribute__((regparm(0)))
/*
- * When using CONFIG_C_ENVIRONMENT_BOOTBLOCK the car_stage_entry()
- * is the symbol jumped to for each stage after bootblock using
- * cache-as-ram.
+ * When not using a romcc bootblock the car_stage_entry() is the symbol
+ * jumped to for each stage after bootblock using cache-as-ram.
*/
asmlinkage void car_stage_entry(void);
diff --git a/src/arch/x86/memlayout.ld b/src/arch/x86/memlayout.ld
index 9fd9889911..f8ae9f3918 100644
--- a/src/arch/x86/memlayout.ld
+++ b/src/arch/x86/memlayout.ld
@@ -49,8 +49,7 @@ SECTIONS
#include EARLY_MEMLAYOUT
#elif ENV_BOOTBLOCK
- /* This is for C_ENVIRONMENT_BOOTBLOCK. arch/x86/bootblock.ld contains
- * the logic for the romcc linking. */
+ /* arch/x86/bootblock.ld contains the logic for the ROMCC_BOOTBLOCK linking. */
BOOTBLOCK(0xffffffff - CONFIG_C_ENV_BOOTBLOCK_SIZE + 1,
CONFIG_C_ENV_BOOTBLOCK_SIZE)