qemu-targets.inc 1.2 KB

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