Patrick Rudolph submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
cpu/qemu-x86/car: Move long mode entry right before c entry

This fixes non-emulation platforms as those are using 32bit code
after the bootblock_crt0 entry, like setting up CAR and updating
microcode, which isn't yet converted to support long mode.

This is a noop for the only supported x86_64 platform and all
x86_32 platforms.

Change-Id: I45e56ed8db9a44c00cd61e962bb82f27926eb23f
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37370
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
---
M src/arch/x86/bootblock_crt0.S
M src/cpu/qemu-x86/cache_as_ram_bootblock.S
2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/arch/x86/bootblock_crt0.S b/src/arch/x86/bootblock_crt0.S
index 9f45413..3f41464 100644
--- a/src/arch/x86/bootblock_crt0.S
+++ b/src/arch/x86/bootblock_crt0.S
@@ -20,12 +20,6 @@
#include <cpu/x86/16bit/reset16.inc>
#include <cpu/x86/32bit/entry32.inc>

- /* BIST result in eax */
- mov %eax, %ebx
- /* entry64.inc preserves ebx. */
-#include <cpu/x86/64bit/entry64.inc>
- mov %ebx, %eax
-
#if CONFIG(BOOTBLOCK_DEBUG_SPINLOOP)

/* Wait for a JTAG debugger to break in and set EBX non-zero */
diff --git a/src/cpu/qemu-x86/cache_as_ram_bootblock.S b/src/cpu/qemu-x86/cache_as_ram_bootblock.S
index 415ed24..148948b 100644
--- a/src/cpu/qemu-x86/cache_as_ram_bootblock.S
+++ b/src/cpu/qemu-x86/cache_as_ram_bootblock.S
@@ -27,6 +27,9 @@
/* Align the stack and keep aligned for call to bootblock_c_entry() */
and $0xfffffff0, %esp

+ /* entry64.inc preserves ebx. */
+#include <cpu/x86/64bit/entry64.inc>
+
/* Restore the BIST result and timestamps. */
#if defined(__x86_64__)
movd %mm2, %rdi

To view, visit change 37370. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I45e56ed8db9a44c00cd61e962bb82f27926eb23f
Gerrit-Change-Number: 37370
Gerrit-PatchSet: 12
Gerrit-Owner: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged