187c9c163SBrendan Higginsfrom ..qemu_config import QemuArchParams
287c9c163SBrendan Higginsimport os
387c9c163SBrendan Higginsimport os.path
487c9c163SBrendan Higginsimport sys
587c9c163SBrendan Higgins
687c9c163SBrendan HigginsGITHUB_OPENSBI_URL = 'https://github.com/qemu/qemu/raw/master/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin'
787c9c163SBrendan HigginsOPENSBI_FILE = os.path.basename(GITHUB_OPENSBI_URL)
887c9c163SBrendan Higgins
987c9c163SBrendan Higginsif not os.path.isfile(OPENSBI_FILE):
1087c9c163SBrendan Higgins	print('\n\nOpenSBI file is not in the current working directory.\n'
1187c9c163SBrendan Higgins	      'Would you like me to download it for you from:\n' + GITHUB_OPENSBI_URL + ' ?\n')
1287c9c163SBrendan Higgins	response = input('yes/[no]: ')
1387c9c163SBrendan Higgins	if response.strip() == 'yes':
1487c9c163SBrendan Higgins		os.system('wget ' + GITHUB_OPENSBI_URL)
1587c9c163SBrendan Higgins	else:
1687c9c163SBrendan Higgins		sys.exit()
1787c9c163SBrendan Higgins
1887c9c163SBrendan HigginsQEMU_ARCH = QemuArchParams(linux_arch='riscv',
1987c9c163SBrendan Higgins			   kconfig='''
2087c9c163SBrendan HigginsCONFIG_SOC_VIRT=y
2187c9c163SBrendan HigginsCONFIG_SERIAL_8250=y
2287c9c163SBrendan HigginsCONFIG_SERIAL_8250_CONSOLE=y
2387c9c163SBrendan HigginsCONFIG_SERIAL_OF_PLATFORM=y
24*8a7ccad3SBrendan HigginsCONFIG_RISCV_SBI_V01=y
2587c9c163SBrendan HigginsCONFIG_SERIAL_EARLYCON_RISCV_SBI=y''',
2687c9c163SBrendan Higgins			   qemu_arch='riscv64',
2787c9c163SBrendan Higgins			   kernel_path='arch/riscv/boot/Image',
2887c9c163SBrendan Higgins			   kernel_command_line='console=ttyS0',
2987c9c163SBrendan Higgins			   extra_qemu_params=[
303f0a50f3SDaniel Latypov					   '-machine', 'virt',
313f0a50f3SDaniel Latypov					   '-cpu', 'rv64',
323f0a50f3SDaniel Latypov					   '-bios', 'opensbi-riscv64-generic-fw_dynamic.bin'])
33