This patch cleans out a lot of unused variables in the ARM Kconfig files and introduces CONFIG_RAMSTAGE_BASE which is similar to CONFIG_RAMBASE on x86. This gets rid of the hard coded assumption that on ARM coreboot is always executed at the lowest DRAM address. But in fact, this might not be true because we might want coreboot to live at the end of RAM, or in SRAM Change-Id: I03e992645f9eb730e39a521aa21f702959311f74 Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: https://chromium-review.googlesource.com/168645 Reviewed-by: David Hendrix <dhendrix@chromium.org> Tested-by: David Hendrix <dhendrix@chromium.org> (cherry picked from commit 15b87892eb2d5e27759c49dc6c8c7e626f651d77) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6634 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
102 lines
2.0 KiB
Plaintext
102 lines
2.0 KiB
Plaintext
##
|
|
## 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 CPU_ARMLTD_CORTEX_A9
|
|
select DRIVERS_UART_PL011
|
|
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 SYS_SDRAM_BASE
|
|
hex "SDRAM base address"
|
|
default 0x01000000
|
|
|
|
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 ROMSTAGE_BASE
|
|
hex
|
|
default 0x00020000
|
|
|
|
config RAMSTAGE_BASE
|
|
hex
|
|
default SYS_SDRAM_BASE
|
|
|
|
config BOOTBLOCK_ROM_OFFSET
|
|
hex
|
|
default 0x0
|
|
|
|
config CBFS_HEADER_ROM_OFFSET
|
|
hex
|
|
default 0x0100000
|
|
|
|
config CBFS_ROM_OFFSET
|
|
hex
|
|
default 0x0110000
|
|
|
|
config STACK_TOP
|
|
hex
|
|
default 0x0007ff00
|
|
|
|
config STACK_BOTTOM
|
|
hex
|
|
default 0x00040000
|
|
|
|
config STACK_SIZE
|
|
hex
|
|
default 0x0003ff00
|
|
|
|
endif # BOARD_EMULATION_QEMU_ARMV7
|