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