summaryrefslogtreecommitdiffstats
path: root/src/cpu/qemu-x86
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2019-11-15 12:31:18 +0100
committerPatrick Rudolph <siro@das-labor.org>2020-09-29 12:27:04 +0000
commitdc2f0e39aea48ca008703b9c71708629911920e9 (patch)
tree65c87dfdbb557e35c181b2713835c669c0623c36 /src/cpu/qemu-x86
parent20f580b6f9238e5f80b8888a9fd6addd86c8c5a7 (diff)
downloadcoreboot-dc2f0e39aea48ca008703b9c71708629911920e9.tar.gz
coreboot-dc2f0e39aea48ca008703b9c71708629911920e9.tar.bz2
coreboot-dc2f0e39aea48ca008703b9c71708629911920e9.zip
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>
Diffstat (limited to 'src/cpu/qemu-x86')
-rw-r--r--src/cpu/qemu-x86/cache_as_ram_bootblock.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cpu/qemu-x86/cache_as_ram_bootblock.S b/src/cpu/qemu-x86/cache_as_ram_bootblock.S
index 415ed247dfd3..148948ba3182 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 @@ cache_as_ram:
/* 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