mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-01 14:31:47 -09:00
qemu: introduce BR2_PACKAGE_HOST_QEMU_{SYSTEM, USER}_ARCH_SUPPORTS
Not all architectures are supported by both the system emulation and
user-mode emulation in Qemu, so a single
BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS doesn't work very well.
Therefore, this commit introduces the
BR2_PACKAGE_HOST_QEMU_{SYSTEM,USER}_ARCH_SUPPORTS hidden options. We
keep the BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS option for the (numerous)
architectures supported by both system emulation and user-mode
emulation.
The 'select' logic to make sure that at least either system emulation
or user-mode emulation is selected is reworked, and done carefully to
avoid recursive Kconfig dependencies.
For now BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS and
BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS are the same, but they will
become different in a follow-up commit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
@@ -19,11 +19,21 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
|||||||
default y if BR2_x86_64
|
default y if BR2_x86_64
|
||||||
depends on !BR2_powerpc_620 && !BR2_powerpc_630 && !BR2_powerpc_970
|
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
|
||||||
|
|
||||||
|
config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||||
|
bool
|
||||||
|
default y if BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
||||||
|
|
||||||
config BR2_PACKAGE_HOST_QEMU
|
config BR2_PACKAGE_HOST_QEMU
|
||||||
bool "host qemu"
|
bool "host qemu"
|
||||||
depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||||
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \
|
select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \
|
||||||
if !BR2_PACKAGE_HOST_QEMU_SYSTEM_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
|
help
|
||||||
QEMU is a generic and open source machine emulator and
|
QEMU is a generic and open source machine emulator and
|
||||||
virtualizer.
|
virtualizer.
|
||||||
@@ -38,12 +48,14 @@ comment "Emulators selection"
|
|||||||
|
|
||||||
config BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE
|
config BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE
|
||||||
bool "Enable system emulation"
|
bool "Enable system emulation"
|
||||||
|
depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS
|
||||||
help
|
help
|
||||||
Enables the build of the system emulator, which allows to
|
Enables the build of the system emulator, which allows to
|
||||||
boot an entire system in Qemu.
|
boot an entire system in Qemu.
|
||||||
|
|
||||||
config BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
|
config BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE
|
||||||
bool "Enable Linux user-land emulation"
|
bool "Enable Linux user-land emulation"
|
||||||
|
depends on BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS
|
||||||
help
|
help
|
||||||
Enables the build of the user-land emulator, which allows to
|
Enables the build of the user-land emulator, which allows to
|
||||||
run user-space applications.
|
run user-space applications.
|
||||||
|
|||||||
Reference in New Issue
Block a user