diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 82b8ae36f9..2942cae3fb 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -107,9 +107,6 @@ bootblock-y += memcpy.c bootblock-y += memset.c bootblock-y += mmap_boot.c -# Add the assembly file that pulls in the rest of the dependencies in -# the right order. Make sure the auto generated bootblock.inc is a proper -# dependency. Make the same true for the linker sript. bootblock-y += id.S $(call src-to-obj,bootblock,$(dir)/id.S): $(obj)/build.h @@ -132,9 +129,12 @@ else LDFLAGS_bootblock += -m elf_x86_64 --oformat elf64-x86-64 endif -bootblock-y += bootblock.S +# Add the assembly file that pulls in the rest of the dependencies in +# the right order. Make sure the auto generated bootblock.inc is a proper +# dependency. Make the same true for the linker sript. +bootblock-y += bootblock_romcc.S bootblock-y += walkcbfs.S -$(call src-to-obj,bootblock,$(dir)/bootblock.S): $(objgenerated)/bootblock.inc +$(call src-to-obj,bootblock,$(dir)/bootblock_romcc.S): $(objgenerated)/bootblock.inc bootblock-y += bootblock.ld $(call src-to-obj,bootblock,$(dir)/bootblock.ld): $(objgenerated)/bootblock.ld diff --git a/src/arch/x86/bootblock.S b/src/arch/x86/bootblock_romcc.S similarity index 66% rename from src/arch/x86/bootblock.S rename to src/arch/x86/bootblock_romcc.S index 27a23ebef1..6c1723a4c1 100644 --- a/src/arch/x86/bootblock.S +++ b/src/arch/x86/bootblock_romcc.S @@ -13,9 +13,22 @@ * GNU General Public License for more details. */ -/* This file assembles the bootblock program by the order of the includes. Thus, +/* + * This is the original bootblock used by coreboot on x86 systems. It contains + * a monolithic code flow, assembled from the following stages: + * - reset16.inc: the reset vector + * - entry16.inc: protected mode setup + * - entry32.inc: segment descriptor setup + * - CONFIG_CHIPSET_BOOTBLOCK_INCLUDE: chipset-specific initialization + * - generated/bootblock.inc: ROMCC part of the bootblock + * + * This is used on platforms which do not select C_ENVIRONMENT_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, * it's extremely important that one pays very careful attention to the order - * of the includes. */ + * of the includes. + */ #include #include