diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2017-01-18 03:33:04 -0800 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2017-02-07 13:34:10 +0800 |
commit | bda40d5634caa629720b3a47e45517b4ad07df9d (patch) | |
tree | 48763922d548ebe46d8a1c5c9d4cff3fe9ee399d /board/emulation | |
parent | 73d2de2b590f27c6c683a8476238a6e5025bb0e8 (diff) | |
download | u-boot-bda40d5634caa629720b3a47e45517b4ad07df9d.tar.gz u-boot-bda40d5634caa629720b3a47e45517b4ad07df9d.tar.bz2 u-boot-bda40d5634caa629720b3a47e45517b4ad07df9d.zip |
x86: qemu: Add a config for 64-bit U-Boot
Add a new board config which uses 64-bit U-Boot. Supported features
are the same as the other 64-bit board (Google Chromebook Link).
It is a start for us to test 64-bit U-Boot easily without the need
to access a real hardware.
Note CONFIG_SPL_ENV_SUPPORT is required for QEMU 64-bit as without
this the SPL build fails at the end. This is just a workaround as
CONFIG_SPL_ENV_SUPPORT is not needed at all.
common/built-in.o:(.data.env_htab+0xc): undefined reference to 'env_flags_validate'
lib/built-in.o: In function `hsearch_r':
lib/hashtable.c:380: undefined reference to 'env_callback_init'
lib/hashtable.c:382: undefined reference to 'env_flags_init'
make[1]: *** [spl/u-boot-spl] Error 1
Except those SPL options required by 64-bit, compared to 32-bit
config, the following options are different:
- CONFIG_SYS_MALLOC_F_LEN has to be increased to 0x1000 for SPL.
- CONFIG_DEBUG_UART has to be included due to the weird issue.
See TODO comments in arch/x86/cpu/x86_64/cpu.c:arch_setup_gd().
Once this issue gets fixed, debug uart can be optional.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'board/emulation')
-rw-r--r-- | board/emulation/Kconfig | 7 | ||||
-rw-r--r-- | board/emulation/qemu-x86/Kconfig | 2 | ||||
-rw-r--r-- | board/emulation/qemu-x86/MAINTAINERS | 7 |
3 files changed, 15 insertions, 1 deletions
diff --git a/board/emulation/Kconfig b/board/emulation/Kconfig index 36809fd376..6d55dca2db 100644 --- a/board/emulation/Kconfig +++ b/board/emulation/Kconfig @@ -18,6 +18,13 @@ config TARGET_QEMU_X86 supported by U-Boot. They are via QEMU '-M pc', an i440FX/PIIX chipset platform and '-M q35', a Q35/ICH9 chipset platform. +config TARGET_QEMU_X86_64 + bool "QEMU x86 64-bit" + help + This is the QEMU emulated x86 64-bit board. With this config + U-Boot is built as a 64-bit binary. This allows testing while + this feature is being completed. + endchoice source "board/emulation/qemu-x86/Kconfig" diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/Kconfig index a773e8f737..a593f8cdc8 100644 --- a/board/emulation/qemu-x86/Kconfig +++ b/board/emulation/qemu-x86/Kconfig @@ -1,4 +1,4 @@ -if TARGET_QEMU_X86 +if TARGET_QEMU_X86 || TARGET_QEMU_X86_64 config SYS_BOARD default "qemu-x86" diff --git a/board/emulation/qemu-x86/MAINTAINERS b/board/emulation/qemu-x86/MAINTAINERS index 54dc2c58a8..4cf8ac90e7 100644 --- a/board/emulation/qemu-x86/MAINTAINERS +++ b/board/emulation/qemu-x86/MAINTAINERS @@ -6,3 +6,10 @@ F: include/configs/qemu-x86.h F: configs/qemu-x86_defconfig F: configs/qemu-x86_efi_payload32_defconfig F: configs/qemu-x86_efi_payload64_defconfig + +QEMU X86 64-bit BOARD +M: Bin Meng <bmeng.cn@gmail.com> +S: Maintained +F: board/emulation/qemu-x86/ +F: include/configs/qemu-x86.h +F: configs/qemu-x86_64_defconfig |