[U-Boot] [PATCH v3 25/28] x86: qemu: Support operation as an EFI payload

Simon Glass sjg at chromium.org
Wed Aug 5 20:03:42 CEST 2015


On 5 August 2015 at 02:19, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Wed, Aug 5, 2015 at 2:34 AM, Simon Glass <sjg at chromium.org> wrote:
>> 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 <sjg at chromium.org>
>> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
>> ---
>>
>> Changes in v3: None
>> Changes in v2:
>> - Fix indenting in board/emulation/qemu-x86/Kconfig
>>
>>  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
>>
>> --
>
> Tested on QEMU 32-bit and 64-bit
> Tested-by: Bin Meng <bmeng.cn at gmail.com>

Applied to u-boot-x86.


More information about the U-Boot mailing list