Config.in 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
  2. bool
  3. # Only tested on these architectures
  4. default y if BR2_aarch64
  5. default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
  6. default y if BR2_i386
  7. default y if BR2_mips
  8. default y if BR2_mipsel
  9. default y if BR2_powerpc64
  10. default y if BR2_powerpc64le
  11. default y if BR2_x86_64
  12. comment "QEMU requires a toolchain with wchar, threads, gcc >= 8"
  13. depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
  14. depends on BR2_USE_MMU
  15. depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \
  16. !BR2_TOOLCHAIN_GCC_AT_LEAST_8
  17. config BR2_PACKAGE_QEMU
  18. bool "QEMU"
  19. depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
  20. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
  21. depends on BR2_TOOLCHAIN_HAS_THREADS
  22. depends on BR2_USE_WCHAR # gettext
  23. depends on BR2_USE_MMU # fork()
  24. select BR2_PACKAGE_LIBGLIB2
  25. select BR2_PACKAGE_PIXMAN
  26. select BR2_PACKAGE_ZLIB
  27. help
  28. QEMU is a generic and open source machine emulator and
  29. virtualizer.
  30. When used as a machine emulator, QEMU can run OSes and
  31. programs made for one machine (e.g. an ARM board) on a
  32. different machine (e.g. your own PC). By using dynamic
  33. translation, it achieves very good performance.
  34. When used as a virtualizer, QEMU achieves near native
  35. performances by executing the guest code directly on the
  36. host CPU. QEMU supports virtualization when executing under
  37. the Xen hypervisor or using the KVM kernel module in
  38. Linux. When using KVM, QEMU can virtualize x86, server and
  39. embedded PowerPC, and S390 guests.
  40. http://qemu.org/
  41. if BR2_PACKAGE_QEMU
  42. comment "Emulators selection"
  43. config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
  44. string "Enable specific targets"
  45. help
  46. Enter here the list of QEMU targets you want to build. For
  47. example:
  48. System emulation | User-land emulation
  49. ----------------------+-----------------------
  50. i386-softmmu | i386-linux-user
  51. arm-softmmu | ppc-linux-user
  52. x86_64-softmmu | sparc-bsd-user
  53. ... | ...
  54. comment "Networking options"
  55. config BR2_PACKAGE_QEMU_SLIRP
  56. bool "Enable user mode networking (SLIRP)"
  57. select BR2_PACKAGE_SLIRP
  58. help
  59. Enable user mode network stack, which is the default
  60. networking backend. It requires no administrator privileges
  61. and generally is the easiest to use but has some
  62. limitations:
  63. - there is a lot of overhead so the performance is poor;
  64. - in general ICMP does not work (can't ping from/to a guest)
  65. - on Linux hosts, ping does work from within the guest, but it
  66. needs initial setup by root (once per host)
  67. - the guest is not directly accessible from the host or the
  68. external network
  69. User Networking is implemented using "slirp", which provides a
  70. full TCP/IP stack within QEMU and uses that stack to implement
  71. a virtual NAT'd network.
  72. Notice that this option does not disable other networking
  73. modes.
  74. if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
  75. comment "... or you can select emulator families to enable, below:"
  76. config BR2_PACKAGE_QEMU_SYSTEM
  77. bool "Enable all systems emulation"
  78. depends on !BR2_STATIC_LIBS # dtc
  79. select BR2_PACKAGE_QEMU_FDT
  80. help
  81. Say 'y' to build all system emulators/virtualisers that QEMU
  82. supports.
  83. comment "systems emulation needs a toolchain w/ dynamic library"
  84. depends on BR2_STATIC_LIBS
  85. config BR2_PACKAGE_QEMU_LINUX_USER
  86. bool "Enable all Linux user-land emulation"
  87. # Incompatible "struct sigevent" definition on musl
  88. depends on !BR2_TOOLCHAIN_USES_MUSL
  89. help
  90. Say 'y' to build all Linux user-land emulators that QEMU
  91. supports.
  92. # Note: bsd-user can not be build on Linux
  93. comment "Linux user-land emulation needs a glibc or uClibc toolchain"
  94. depends on BR2_TOOLCHAIN_USES_MUSL
  95. endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
  96. config BR2_PACKAGE_QEMU_HAS_EMULS
  97. def_bool y
  98. depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != ""
  99. if BR2_PACKAGE_QEMU_HAS_EMULS
  100. comment "Frontends"
  101. config BR2_PACKAGE_QEMU_SDL
  102. bool "Enable SDL frontend"
  103. depends on !BR2_STATIC_LIBS # sdl2
  104. select BR2_PACKAGE_SDL2
  105. help
  106. Say 'y' to enable the SDL frontend, that is, a graphical
  107. window presenting the VM's display.
  108. comment "SDL frontend needs a toolchain w/ dynamic library"
  109. depends on BR2_STATIC_LIBS
  110. comment "Misc. features"
  111. config BR2_PACKAGE_QEMU_FDT
  112. bool "Enable FDT"
  113. depends on !BR2_STATIC_LIBS # dtc
  114. select BR2_PACKAGE_DTC
  115. help
  116. Say 'y' here to have QEMU capable of constructing Device
  117. Trees, and passing them to the VMs.
  118. comment "FDT support needs a toolchain w/ dynamic library"
  119. depends on BR2_STATIC_LIBS
  120. endif # BR2_PACKAGE_QEMU_HAS_EMULS
  121. config BR2_PACKAGE_QEMU_TOOLS
  122. bool "Enable tools"
  123. help
  124. Say 'y' here to include tools packaged with QEMU
  125. (e.g. qemu-img).
  126. endif # BR2_PACKAGE_QEMU