## ## 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 HAVE_UART_MEMORY_MAPPED 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