summaryrefslogtreecommitdiffstats
path: root/package/qemu/Config.in
blob: 13b615bfba4d5402a12a799547beb0f94072787f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
	bool
	# Only tested on these architectures
	default y if BR2_aarch64 || BR2_i386 || BR2_mips || BR2_mipsel \
		|| BR2_x86_64 || BR2_arm \
		|| BR2_powerpc64 || BR2_powerpc64le

comment "QEMU requires a toolchain with wchar, threads"
	depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
	depends on BR2_USE_MMU
	depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR)

config BR2_PACKAGE_QEMU
	bool "QEMU"
	depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_WCHAR # gettext
	depends on BR2_USE_MMU # fork()
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_PIXMAN
	select BR2_PACKAGE_ZLIB
	help
	  QEMU is a generic and open source machine emulator and
	  virtualizer.

	  When used as a machine emulator, QEMU can run OSes and
	  programs made for one machine (e.g. an ARM board) on a
	  different machine (e.g.  your own PC). By using dynamic
	  translation, it achieves very good performance.

	  When used as a virtualizer, QEMU achieves near native
	  performances by executing the guest code directly on the
	  host CPU. QEMU supports virtualization when executing under
	  the Xen hypervisor or using the KVM kernel module in
	  Linux. When using KVM, QEMU can virtualize x86, server and
	  embedded PowerPC, and S390 guests.

	  http://qemu.org/

if BR2_PACKAGE_QEMU

comment "Emulators selection"

config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
	string "Enable specific targets"
	help
	  Enter here the list of QEMU targets you want to build. For
	  example:

	    System emulation      | User-land emulation
	    ----------------------+-----------------------
	    i386-softmmu          | i386-linux-user
	    arm-softmmu           | ppc-linux-user
	    x86_64-softmmu        | sparc-bsd-user
	    ...                   | ...

config QEMU_FOO
	bool # To break the indentation

if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""

comment "... or you can select emulator families to enable, below:"

config BR2_PACKAGE_QEMU_SYSTEM
	bool "Enable all systems emulation"
	depends on !BR2_STATIC_LIBS # dtc
	select BR2_PACKAGE_QEMU_FDT
	help
	  Say 'y' to build all system emulators/virtualisers that QEMU
	  supports.

comment "systems emulation needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_QEMU_LINUX_USER
	bool "Enable all Linux user-land emulation"
	# Incompatible "struct sigevent" definition on musl
	depends on !BR2_TOOLCHAIN_USES_MUSL
	help
	  Say 'y' to build all Linux user-land emulators that QEMU
	  supports.

# Note: bsd-user can not be build on Linux

comment "Linux user-land emulation needs a glibc or uClibc toolchain"
	depends on BR2_TOOLCHAIN_USES_MUSL

endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""

config BR2_PACKAGE_QEMU_HAS_EMULS
	def_bool y
	depends on BR2_PACKAGE_QEMU_SYSTEM || BR2_PACKAGE_QEMU_LINUX_USER || BR2_PACKAGE_QEMU_CUSTOM_TARGETS != ""

if BR2_PACKAGE_QEMU_HAS_EMULS

comment "Frontends"

config BR2_PACKAGE_QEMU_SDL
	bool "Enable SDL frontend"
	select BR2_PACKAGE_SDL
	help
	  Say 'y' to enable the SDL frontend, that is, a graphical
	  window presenting the VM's display.

comment "Misc. features"

config BR2_PACKAGE_QEMU_FDT
	bool "Enable FDT"
	depends on !BR2_STATIC_LIBS # dtc
	select BR2_PACKAGE_DTC
	help
	  Say 'y' here to have QEMU capable of constructing Device
	  Trees, and passing them to the VMs.

comment "FDT support needs a toolchain w/ dynamic library"
	depends on BR2_STATIC_LIBS

endif # BR2_PACKAGE_QEMU_HAS_EMULS

config BR2_PACKAGE_QEMU_TOOLS
	bool "Enable tools"
	help
	  Say 'y' here to include tools packaged with QEMU
	  (e.g. qemu-img).

endif # BR2_PACKAGE_QEMU
OpenPOWER on IntegriCloud