1*87c9c163SBrendan Higginsfrom ..qemu_config import QemuArchParams
2*87c9c163SBrendan Higginsimport os
3*87c9c163SBrendan Higginsimport os.path
4*87c9c163SBrendan Higginsimport sys
5*87c9c163SBrendan Higgins
6*87c9c163SBrendan HigginsGITHUB_OPENSBI_URL = 'https://github.com/qemu/qemu/raw/master/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin'
7*87c9c163SBrendan HigginsOPENSBI_FILE = os.path.basename(GITHUB_OPENSBI_URL)
8*87c9c163SBrendan Higgins
9*87c9c163SBrendan Higginsif not os.path.isfile(OPENSBI_FILE):
10*87c9c163SBrendan Higgins	print('\n\nOpenSBI file is not in the current working directory.\n'
11*87c9c163SBrendan Higgins	      'Would you like me to download it for you from:\n' + GITHUB_OPENSBI_URL + ' ?\n')
12*87c9c163SBrendan Higgins	response = input('yes/[no]: ')
13*87c9c163SBrendan Higgins	if response.strip() == 'yes':
14*87c9c163SBrendan Higgins		os.system('wget ' + GITHUB_OPENSBI_URL)
15*87c9c163SBrendan Higgins	else:
16*87c9c163SBrendan Higgins		sys.exit()
17*87c9c163SBrendan Higgins
18*87c9c163SBrendan HigginsQEMU_ARCH = QemuArchParams(linux_arch='riscv',
19*87c9c163SBrendan Higgins			   kconfig='''
20*87c9c163SBrendan HigginsCONFIG_SOC_VIRT=y
21*87c9c163SBrendan HigginsCONFIG_SERIAL_8250=y
22*87c9c163SBrendan HigginsCONFIG_SERIAL_8250_CONSOLE=y
23*87c9c163SBrendan HigginsCONFIG_SERIAL_OF_PLATFORM=y
24*87c9c163SBrendan HigginsCONFIG_SERIAL_EARLYCON_RISCV_SBI=y''',
25*87c9c163SBrendan Higgins			   qemu_arch='riscv64',
26*87c9c163SBrendan Higgins			   kernel_path='arch/riscv/boot/Image',
27*87c9c163SBrendan Higgins			   kernel_command_line='console=ttyS0',
28*87c9c163SBrendan Higgins			   extra_qemu_params=[
29*87c9c163SBrendan Higgins					   '-machine virt',
30*87c9c163SBrendan Higgins					   '-cpu rv64',
31*87c9c163SBrendan Higgins					   '-bios opensbi-riscv64-generic-fw_dynamic.bin'])
32