187c9c163SBrendan Higginsfrom ..qemu_config import QemuArchParams
287c9c163SBrendan Higginsimport os
387c9c163SBrendan Higginsimport os.path
487c9c163SBrendan Higginsimport sys
587c9c163SBrendan Higgins
6*3c4fc7bfSDavid GowOPENSBI_FILE = 'opensbi-riscv64-generic-fw_dynamic.bin'
7*3c4fc7bfSDavid GowOPENSBI_PATH = '/usr/share/qemu/' + OPENSBI_FILE
887c9c163SBrendan Higgins
9*3c4fc7bfSDavid Gowif not os.path.isfile(OPENSBI_PATH):
10*3c4fc7bfSDavid Gow	print('\n\nOpenSBI bios was not found in "' + OPENSBI_PATH + '".\n'
11*3c4fc7bfSDavid Gow	      'Please ensure that qemu-system-riscv is installed, or edit the path in "qemu_configs/riscv.py"\n')
1287c9c163SBrendan Higgins	sys.exit()
1387c9c163SBrendan Higgins
1487c9c163SBrendan HigginsQEMU_ARCH = QemuArchParams(linux_arch='riscv',
1587c9c163SBrendan Higgins			   kconfig='''
1687c9c163SBrendan HigginsCONFIG_SOC_VIRT=y
1787c9c163SBrendan HigginsCONFIG_SERIAL_8250=y
1887c9c163SBrendan HigginsCONFIG_SERIAL_8250_CONSOLE=y
1987c9c163SBrendan HigginsCONFIG_SERIAL_OF_PLATFORM=y
208a7ccad3SBrendan HigginsCONFIG_RISCV_SBI_V01=y
2187c9c163SBrendan HigginsCONFIG_SERIAL_EARLYCON_RISCV_SBI=y''',
2287c9c163SBrendan Higgins			   qemu_arch='riscv64',
2387c9c163SBrendan Higgins			   kernel_path='arch/riscv/boot/Image',
2487c9c163SBrendan Higgins			   kernel_command_line='console=ttyS0',
2587c9c163SBrendan Higgins			   extra_qemu_params=[
263f0a50f3SDaniel Latypov					   '-machine', 'virt',
273f0a50f3SDaniel Latypov					   '-cpu', 'rv64',
28*3c4fc7bfSDavid Gow					   '-bios', OPENSBI_PATH])
29