Config.in 4.4 KB

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