blob: b66761d512dcdab159abcc83a1cb65f777cef478 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
##
## 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
|