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 2487c9c163SBrendan HigginsCONFIG_SERIAL_EARLYCON_RISCV_SBI=y''', 2587c9c163SBrendan Higgins qemu_arch='riscv64', 2687c9c163SBrendan Higgins kernel_path='arch/riscv/boot/Image', 2787c9c163SBrendan Higgins kernel_command_line='console=ttyS0', 2887c9c163SBrendan Higgins extra_qemu_params=[ 29*3f0a50f3SDaniel Latypov '-machine', 'virt', 30*3f0a50f3SDaniel Latypov '-cpu', 'rv64', 31*3f0a50f3SDaniel Latypov '-bios', 'opensbi-riscv64-generic-fw_dynamic.bin']) 32