diff options
author | Hung-Te Lin <hungte@chromium.org> | 2013-02-12 00:07:38 +0800 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2013-02-12 03:02:45 +0100 |
commit | 7635a60ca848b50ff4a0ac85a667adc7151a5abf (patch) | |
tree | 42d7db8bd1c1bcacd5d1c4d2b70ca0b8ad3a6da5 /src/mainboard/emulation/qemu-armv7/Kconfig | |
parent | bc64cae995ddab369289e19b41501df5dbc58751 (diff) |
armv7: Add emulation/qemu-armv7 board.
To simplify testing ARM implementation, we need a QEMU configuration for
ARM. The qemu-armv7 provides serial output, CBFS simulation, and full
boot path (bootblock, romstage, ramstage) to verify the boot loader
functionality.
To run with QEMU:
export QEMU_AUDIO_DRV=none
qemu-system-arm -M vexpress-a9 -m 1024M -nographic -kernel build/coreboot.rom
Verified to boot until ramstage loaded successfully by QEMU v1.0.50.
Change-Id: I1f23ffaf408199811a0756236821c7e0f2a85004
Signed-off-by: Hung-Te Lin <hungte@chromium.org>
Reviewed-on: http://review.coreboot.org/2354
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/mainboard/emulation/qemu-armv7/Kconfig')
-rw-r--r-- | src/mainboard/emulation/qemu-armv7/Kconfig | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig new file mode 100644 index 0000000000..38b1da249a --- /dev/null +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -0,0 +1,116 @@ +## +## This file is part of the coreboot project. +## +## Copyright (C) 2013 Google Inc. +## +## This software is licensed under the terms of the GNU General Public +## License version 2, as published by the Free Software Foundation, and +## may be copied, distributed, and modified under those terms. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +# Emulation for ARM Ltd Versatile Express Cortex-A9 +# http://www.arm.com/products/tools/development-boards/versatile-express + +# To execute, do: +# export QEMU_AUDIO_DRV=none +# qemu-system-arm -M vexpress-a9 -m 1024M -nographic -kernel build/coreboot.rom + +if BOARD_EMULATION_QEMU_ARMV7 + +config BOARD_SPECIFIC_OPTIONS # dummy + def_bool y + select ARCH_ARMV7 + select CPU_ARMLTD_CORTEX_A9 + select DEFAULT_EARLY_CONSOLE + select HAVE_UART_SPECIAL + select BOARD_ROMSIZE_KB_4096 + +config MAINBOARD_DIR + string + default emulation/qemu-armv7 + +config MAINBOARD_PART_NUMBER + string + default "QEMU ARMV7" + +config MAX_CPUS + int + default 2 + +config MAINBOARD_VENDOR + string + default "ARM Ltd." + +config BOOTBLOCK_MAINBOARD_INIT + string + default "mainboard/emulation/qemu-armv7/bootblock.c" + +config DRAM_SIZE_MB + int + default 1024 + +# Memory map for qemu vexpress-a9: +# +# 0x0000_0000: jump instruction (by qemu) +# 0x0001_0000: bootblock (entry of kernel / firmware) +# 0x0002_0000: romstage, assume up to 128KB in size. +# 0x0007_ff00: stack pointer +# 0x0010_0000: CBFS header +# 0x0011_0000: CBFS data +# 0x0100_0000: reserved for ramstage +# 0x1000_0000: I/O map address + +config BOOTBLOCK_BASE + hex + default 0x00010000 + +config ID_SECTION_BASE + hex + default 0x0001f000 + +config ROMSTAGE_BASE + hex + default 0x00020000 + +config ROMSTAGE_SIZE + hex + default 0x20000 + +config CBFS_HEADER_ROM_OFFSET + hex + default 0x0100000 + +config CBFS_ROM_OFFSET + hex + default 0x0110000 + +config IRAM_STACK + hex + default 0x0007ff00 + +config XIP_ROM_SIZE + hex + default ROMSTAGE_SIZE + +config SYS_SDRAM_BASE + hex "SDRAM base address" + default 0x01000000 + +config SYS_TEXT_BASE + hex "Executable code section" + default 0x04e00000 + +config RAMBASE + hex + default SYS_SDRAM_BASE + +# according to stefan, this is RAMBASE + 1M. +config RAMTOP + hex + default 0x01100000 + +endif # BOARD_EMULATION_QEMU_ARMV7 |