From eeae5100071465f67d203dd78ceb5a35de1b5717 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 4 Aug 2015 12:34:03 -0600 Subject: [PATCH] x86: qemu: Support operation as an EFI payload Disable a few things which interfere with the EFI init. This allows QEMU to to boot into EFI, load a U-Boot payload then boot to the U-Boot prompt. Signed-off-by: Simon Glass Reviewed-by: Bin Meng Tested-by: Bin Meng --- arch/x86/cpu/qemu/Makefile | 5 ++++- arch/x86/cpu/qemu/qemu.c | 2 ++ board/emulation/qemu-x86/Kconfig | 5 +++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/x86/cpu/qemu/Makefile b/arch/x86/cpu/qemu/Makefile index be79723..9a66b16 100644 --- a/arch/x86/cpu/qemu/Makefile +++ b/arch/x86/cpu/qemu/Makefile @@ -4,5 +4,8 @@ # SPDX-License-Identifier: GPL-2.0+ # -obj-y += car.o dram.o qemu.o +ifndef CONFIG_EFI_STUB +obj-y += car.o dram.o +endif +obj-y += qemu.o obj-$(CONFIG_PCI) += pci.o diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c index 930d2b6..64634a9 100644 --- a/arch/x86/cpu/qemu/qemu.c +++ b/arch/x86/cpu/qemu/qemu.c @@ -25,11 +25,13 @@ int arch_cpu_init(void) return 0; } +#ifndef CONFIG_EFI_STUB int print_cpuinfo(void) { post_code(POST_CPU_INFO); return default_print_cpuinfo(); } +#endif void reset_cpu(ulong addr) { diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig index e777ef4..c9181fc 100644 --- a/board/emulation/qemu-x86/Kconfig +++ b/board/emulation/qemu-x86/Kconfig @@ -13,11 +13,12 @@ config SYS_CONFIG_NAME default "qemu-x86" config SYS_TEXT_BASE - default 0xfff00000 + default 0xfff00000 if !EFI_STUB + default 0x01110000 if EFI_STUB config BOARD_SPECIFIC_OPTIONS # dummy def_bool y - select X86_RESET_VECTOR + select X86_RESET_VECTOR if !EFI_STUB select QEMU select BOARD_ROMSIZE_KB_1024 -- 2.7.4