1*4882a593Smuzhiyun# possible arch values are: 2*4882a593Smuzhiyun# aarch64 arm armeb alpha cris i386 x86_64 m68k microblaze 3*4882a593Smuzhiyun# mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppcemb 4*4882a593Smuzhiyun# riscv32 riscv64 sparc sparc32 sparc32plus 5*4882a593Smuzhiyun 6*4882a593Smuzhiyundef get_qemu_target_list(d): 7*4882a593Smuzhiyun import bb 8*4882a593Smuzhiyun archs = d.getVar('QEMU_TARGETS').split() 9*4882a593Smuzhiyun tos = d.getVar('HOST_OS') 10*4882a593Smuzhiyun softmmuonly = "" 11*4882a593Smuzhiyun for arch in ['ppcemb', 'lm32']: 12*4882a593Smuzhiyun if arch in archs: 13*4882a593Smuzhiyun softmmuonly += arch + "-softmmu," 14*4882a593Smuzhiyun archs.remove(arch) 15*4882a593Smuzhiyun linuxuseronly = "" 16*4882a593Smuzhiyun for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']: 17*4882a593Smuzhiyun if arch in archs: 18*4882a593Smuzhiyun linuxuseronly += arch + "-linux-user," 19*4882a593Smuzhiyun archs.remove(arch) 20*4882a593Smuzhiyun if 'linux' not in tos: 21*4882a593Smuzhiyun return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in archs]).rstrip(',') 22*4882a593Smuzhiyun return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',') 23*4882a593Smuzhiyun 24*4882a593Smuzhiyundef get_qemu_usermode_target_list(d): 25*4882a593Smuzhiyun return ",".join(filter(lambda i: "-linux-user" in i, get_qemu_target_list(d).split(','))) 26*4882a593Smuzhiyun 27*4882a593Smuzhiyundef get_qemu_system_target_list(d): 28*4882a593Smuzhiyun return ",".join(filter(lambda i: "-linux-user" not in i, get_qemu_target_list(d).split(','))) 29