• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## SPDX-License-Identifier: GPL-2.0-only
2
3# To execute, do:
4# qemu-system-riscv64 -M virt -m 1024M -nographic -bios build/coreboot.rom \
5#                     -drive if=pflash,file=build/coreboot.rom,format=raw
6
7if BOARD_EMULATION_QEMU_RISCV_RV64
8
9config BOARD_EMULATION_QEMU_RISCV
10	def_bool y
11	select ARCH_RISCV_RV64
12endif
13
14if BOARD_EMULATION_QEMU_RISCV_RV32
15
16config BOARD_EMULATION_QEMU_RISCV
17	def_bool y
18	select ARCH_RISCV_RV32
19endif
20
21if BOARD_EMULATION_QEMU_RISCV
22
23config BOARD_SPECIFIC_OPTIONS
24	def_bool y
25	select BOARD_ROMSIZE_KB_32768
26	select FLATTENED_DEVICE_TREE
27	select MISSING_BOARD_RESET
28	select DRIVERS_UART_8250MEM
29	select RISCV_HAS_OPENSBI
30	select ARCH_RISCV_S
31	select ARCH_RISCV_U
32	select ARCH_RISCV_PMP
33	select ARCH_BOOTBLOCK_RISCV
34	select ARCH_VERSTAGE_RISCV
35	select ARCH_ROMSTAGE_RISCV
36	select ARCH_RAMSTAGE_RISCV
37	select RISCV_USE_ARCH_TIMER
38
39config MEMLAYOUT_LD_FILE
40	string
41	default "src/mainboard/emulation/qemu-riscv/memlayout.ld"
42
43config MAINBOARD_DIR
44	default "emulation/qemu-riscv"
45
46config MAINBOARD_PART_NUMBER
47	default "QEMU RISCV"
48
49config MAX_CPUS
50	int
51	default 1
52
53config RISCV_ARCH
54	string
55	default "rv64imafd" if ARCH_RISCV_RV64
56	default "rv32im" if ARCH_RISCV_RV32
57
58config RISCV_ABI
59	string
60	default "lp64d" if ARCH_RISCV_RV64
61	default "ilp32" if ARCH_RISCV_RV32
62
63config RISCV_CODEMODEL
64	string
65	default "medany" if ARCH_RISCV_RV64
66	default "medany" if ARCH_RISCV_RV32
67
68config RISCV_WORKING_HARTID
69	int
70	default 0
71
72config DRAM_SIZE_MB
73	int
74	default 16383
75	help
76	  Qemu maps MMIO at ALIGN_UP(top_of_mem, 16 * GiB)
77	  To avoid confusing the dram probing algorithm, avoid large dram sizes (16G - 1m)
78
79config OPENSBI_PLATFORM
80	string
81	default "generic"
82
83config OPENSBI_TEXT_START
84	hex
85	default 0x80020000
86
87endif #  BOARD_EMULATION_QEMU_RISCV
88