aboutsummaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2020-11-19 16:41:28 +0200
committerHung-Te Lin <hungte@chromium.org>2020-12-16 06:31:55 +0000
commit97b76f71915663aae82ca81568363eeda17fff87 (patch)
tree4403211b76e33c7e699d5802214b5d56acdc6f2e /src/arch
parent54b5e20cf87855324403689f0f05fba16267b7c4 (diff)
arch/x86: Link gdt_init.S into bootblock
Followup work forces gdtptr and gdt towards the top of bootblock. They need to be realmode-addressable, i.e. within top 64 KiB or same segment with .reset. Change-Id: Ib6f23b2808d0a7e0d277d00a9b0f30c49fdefdd5 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47965 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/Makefile.inc3
-rw-r--r--src/arch/x86/c_start.S4
2 files changed, 3 insertions, 4 deletions
diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc
index 5157564847..00917f0b69 100644
--- a/src/arch/x86/Makefile.inc
+++ b/src/arch/x86/Makefile.inc
@@ -98,6 +98,7 @@ bootblock-y += memmove.c
bootblock-$(CONFIG_COLLECT_TIMESTAMPS_TSC) += timestamp.c
bootblock-$(CONFIG_X86_TOP4G_BOOTMEDIA_MAP) += mmap_boot.c
bootblock-$(CONFIG_BOOTBLOCK_NORMAL) += bootblock_normal.c
+bootblock-y += gdt_init.S
bootblock-y += id.S
bootblock-$(CONFIG_HAVE_CF9_RESET) += cf9_reset.c
@@ -160,8 +161,6 @@ ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32)$(CONFIG_ARCH_ROMSTAGE_X86_64),y)
romstage-y += boot.c
romstage-y += post.c
-# gdt_init.S is included by entry32.inc when romstage is the first C
-# environment.
romstage-y += gdt_init.S
romstage-y += cpu_common.c
romstage-$(CONFIG_IDT_IN_EVERY_STAGE) += exception.c
diff --git a/src/arch/x86/c_start.S b/src/arch/x86/c_start.S
index a7af64f9bf..8bebf87435 100644
--- a/src/arch/x86/c_start.S
+++ b/src/arch/x86/c_start.S
@@ -142,10 +142,10 @@ gdtaddr:
/* This is the gdt for GCC part of coreboot.
* It is different from the gdt in ASM part of coreboot
- * which is defined in entry32.inc
+ * which is defined in gdt_init.S
*
* When the machine is initially started, we use a very simple
- * gdt from ROM (that in entry32.inc) which only contains those
+ * gdt from ROM (that in gdt_init.S) which only contains those
* entries we need for protected mode.
*
* When we're executing code from RAM, we want to do more complex