1 config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
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
8 comment "QEMU requires a toolchain with wchar, threads"
9 depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
10 depends on BR2_USE_MMU
11 depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR)
13 config BR2_PACKAGE_QEMU
15 depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
16 depends on BR2_TOOLCHAIN_HAS_THREADS
17 depends on BR2_USE_WCHAR # gettext
18 depends on BR2_USE_MMU # fork()
19 select BR2_PACKAGE_LIBGLIB2
20 select BR2_PACKAGE_PIXMAN
21 select BR2_PACKAGE_ZLIB
23 QEMU is a generic and open source machine emulator and virtualizer.
25 When used as a machine emulator, QEMU can run OSes and programs made
26 for one machine (e.g. an ARM board) on a different machine (e.g.
27 your own PC). By using dynamic translation, it achieves very good
30 When used as a virtualizer, QEMU achieves near native performances
31 by executing the guest code directly on the host CPU. QEMU supports
32 virtualization when executing under the Xen hypervisor or using the
33 KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
34 server and embedded PowerPC, and S390 guests.
40 comment "Emulators selection"
42 config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
43 string "Enable specific targets"
45 Enter here the list of QEMU targets you want to build. For example:
47 System emulation | User-land emulation
48 ----------------------+-----------------------
49 i386-softmmu | i386-linux-user
50 arm-softmmu | ppc-linux-user
51 x86_64-softmmu | sparc-bsd-user
55 bool # To break the indentation
57 if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
59 comment "... or you can select emulator families to enable, below:"
61 config BR2_PACKAGE_QEMU_SYSTEM
62 bool "Enable all systems emulation"
63 depends on !BR2_STATIC_LIBS # dtc
64 select BR2_PACKAGE_QEMU_FDT
66 Say 'y' to build all system emulators/virtualisers that QEMU supports.
68 comment "systems emulation needs a toolchain w/ dynamic library"
69 depends on BR2_STATIC_LIBS
71 config BR2_PACKAGE_QEMU_LINUX_USER
72 bool "Enable all Linux user-land emulation"
73 # Incompatible "struct sigevent" definition on musl
74 depends on !BR2_TOOLCHAIN_USES_MUSL
76 Say 'y' to build all Linux user-land emulators that QEMU supports.
78 # Note: bsd-user can not be build on Linux
80 comment "Linux user-land emulation needs a glibc or uClibc toolchain"
81 depends on BR2_TOOLCHAIN_USES_MUSL
83 endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
85 config BR2_PACKAGE_QEMU_HAS_EMULS
87 depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != ""
89 if BR2_PACKAGE_QEMU_HAS_EMULS
93 config BR2_PACKAGE_QEMU_SDL
94 bool "Enable SDL frontend"
95 select BR2_PACKAGE_SDL
97 Say 'y' to enable the SDL frontend, that is, a graphical window
98 presenting the VM's display.
100 comment "Misc. features"
102 config BR2_PACKAGE_QEMU_FDT
104 depends on !BR2_STATIC_LIBS # dtc
105 select BR2_PACKAGE_DTC
107 Say 'y' here to have QEMU capable of constructing Device Trees,
108 and passing them to the VMs.
110 comment "FDT support needs a toolchain w/ dynamic library"
111 depends on BR2_STATIC_LIBS
113 endif # BR2_PACKAGE_QEMU_HAS_EMULS
115 config BR2_PACKAGE_QEMU_TOOLS
118 Say 'y' here to include tools packaged with QEMU (e.g. qemu-img).
120 endif # BR2_PACKAGE_QEMU