70bad61b53
For specific architectures, running qemu in user mode without any additional options may fail if the host processor does not have the necessary instructions to properly run qemu in user mode, which results in the following error: "qemu: uncaught target signal 4 (Illegal instruction) - core dumped" CoreI7 is one such architecture that has had consistent auto-build failures. Add a new string in qemu/Config.in.host: BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS. The default for the Corei7 architecture is directly from the OpenEmbedded project found in meta/conf/machine/include/x86/tune-corei7.inc: "-cpu Nehalem,check=false." Other architectures may be added to this string at a later date if other failures occure. Signed-off-by: Adam Duskett <aduskett@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
104 lines
3.1 KiB
Plaintext
104 lines
3.1 KiB
Plaintext
config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_arm
|
|
default y if BR2_armeb
|
|
default y if BR2_aarch64
|
|
default y if BR2_i386
|
|
default y if BR2_m68k
|
|
default y if BR2_microblazeel
|
|
default y if BR2_microblazebe
|
|
default y if BR2_mips
|
|
default y if BR2_mipsel
|
|
default y if BR2_nios2
|
|
default y if BR2_or1k
|
|
default y if BR2_powerpc
|
|
default y if BR2_powerpc64
|
|
default y if BR2_powerpc64le
|
|
default y if BR2_riscv
|
|
default y if BR2_s390x
|
|
default y if BR2_sh
|
|
default y if BR2_sparc
|
|
default y if BR2_sparc64
|
|
default y if BR2_xtensa
|
|
default y if BR2_x86_64
|
|
depends on !BR2_x86_steamroller && !BR2_x86_core_avx2
|
|
depends on !BR2_powerpc_620 && !BR2_powerpc_630 && !BR2_powerpc_970
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
|
default y if BR2_mips64
|
|
default y if BR2_mips64el
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
|
|
|
config BR2_PACKAGE_HOST_QEMU
|
|
bool "host qemu"
|
|
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
|
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \
|
|
if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE && BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
|
select BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE \
|
|
if !BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
|
help
|
|
QEMU is a generic and open source machine emulator and
|
|
virtualizer.
|
|
|
|
This option builds an emulator for your selected architecture.
|
|
|
|
http://www.qemu.org
|
|
|
|
if BR2_PACKAGE_HOST_QEMU
|
|
|
|
comment "Emulators selection"
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE
|
|
bool "Enable system emulation"
|
|
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS
|
|
help
|
|
Enables the build of the system emulator, which allows to
|
|
boot an entire system in Qemu.
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
|
|
bool "Enable Linux user-land emulation"
|
|
depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
|
help
|
|
Enables the build of the user-land emulator, which allows to
|
|
run user-space applications.
|
|
|
|
Note that system calls made by the emulated user-land are
|
|
serviced by the running host kernel. Therefore, if the
|
|
kernel headers used by your target are more recent than
|
|
the running host kernel, you may run into invalid system
|
|
calls, which may yield surprising effects.
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS
|
|
string
|
|
default "-cpu Nehalem,check=false" if BR2_x86_corei7
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_VDE2
|
|
bool "VDE2 support"
|
|
help
|
|
Enables VDE2 support. VDE2 stands for Virtual Distributed
|
|
Ethernet and can be used to create virtual switches to
|
|
"plug" both physical and virtual machines in them.
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_VIRTFS
|
|
bool "Virtual filesystem support"
|
|
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE
|
|
help
|
|
Enables support for virtual filesystem in Qemu allowing
|
|
shared filesystem between Qemu and its emulated target.
|
|
|
|
config BR2_PACKAGE_HOST_QEMU_USB
|
|
bool "USB passthrough support"
|
|
depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb
|
|
help
|
|
Enables USB passthrough support from guest to host.
|
|
|
|
comment "USB passthrough support needs a toolchain w/ host gcc >= 4.9"
|
|
depends on !BR2_HOST_GCC_AT_LEAST_4_9
|
|
|
|
endif
|