123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
- bool
- # Only tested on these architectures
- default y if BR2_aarch64
- default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
- default y if BR2_i386
- default y if BR2_mips
- default y if BR2_mipsel
- default y if BR2_powerpc64
- default y if BR2_powerpc64le
- default y if BR2_riscv
- default y if BR2_x86_64
- comment "QEMU requires a toolchain with wchar, threads, gcc >= 8"
- depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
- depends on BR2_USE_MMU
- depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_8
- menuconfig BR2_PACKAGE_QEMU
- bool "QEMU"
- depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8
- 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
- select BR2_PACKAGE_QEMU_SYSTEM if !BR2_PACKAGE_QEMU_LINUX_USER
- 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_SYSTEM
- bool "Enable systems emulation"
- depends on !BR2_STATIC_LIBS # dtc
- help
- Say 'y' to build system emulators/virtualisers.
- if BR2_PACKAGE_QEMU_SYSTEM
- config BR2_PACKAGE_QEMU_SLIRP
- bool "Enable user mode networking (SLIRP)"
- select BR2_PACKAGE_SLIRP
- help
- Enable user mode network stack, which is the default
- networking backend. It requires no administrator privileges
- and generally is the easiest to use but has some
- limitations:
- - there is a lot of overhead so the performance is poor;
- - in general ICMP does not work (can't ping from/to a guest)
- - on Linux hosts, ping does work from within the guest, but it
- needs initial setup by root (once per host)
- - the guest is not directly accessible from the host or the
- external network
- User Networking is implemented using "slirp", which provides a
- full TCP/IP stack within QEMU and uses that stack to implement
- a virtual NAT'd network.
- Notice that this option does not disable other networking
- modes.
- config BR2_PACKAGE_QEMU_SDL
- bool "Enable SDL frontend"
- select BR2_PACKAGE_SDL2
- help
- Say 'y' to enable the SDL frontend, that is, a graphical
- window presenting the VM's display.
- config BR2_PACKAGE_QEMU_FDT
- bool "Enable FDT"
- select BR2_PACKAGE_DTC
- help
- Say 'y' here to have QEMU capable of constructing Device
- Trees, and passing them to the VMs.
- endif # BR2_PACKAGE_QEMU_SYSTEM
- comment "systems emulation needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
- config BR2_PACKAGE_QEMU_LINUX_USER
- bool "Enable Linux user-land emulation"
- # Incompatible "struct sigevent" definition on musl
- depends on !BR2_TOOLCHAIN_USES_MUSL
- help
- Say 'y' to build Linux user-land emulators.
- # 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
- config BR2_PACKAGE_QEMU_CHOOSE_TARGETS
- bool "Select individual emulator targets"
- help
- By default, all targets (system and/or user, subject to the
- corresponding options, above) are built. If you only need a
- subset of the emulated targets, say 'y' here and enable at
- least one target, below.
- if BR2_PACKAGE_QEMU_CHOOSE_TARGETS
- config BR2_PACKAGE_QEMU_TARGET_AARCH64
- bool "aarch64"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- ARM 64-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_AARCH64_BE
- bool "aarch64_be (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- ARM 64-bit architecture, big-endian.
- config BR2_PACKAGE_QEMU_TARGET_ALPHA
- bool "alpha"
- help
- DEC Alpha 64-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_ARM
- bool "arm"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- ARM EABI architecture, little-endian.
- config BR2_PACKAGE_QEMU_TARGET_ARMEB
- bool "armeb (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- ARM EABI architecture, big-endian.
- config BR2_PACKAGE_QEMU_TARGET_AVR
- bool "avr (system, only)"
- depends on BR2_PACKAGE_QEMU_SYSTEM
- help
- AVR 8-bit microcontroller architecture.
- config BR2_PACKAGE_QEMU_TARGET_CRIS
- bool "cris"
- help
- ETRAX CRIS microcontroller architecture.
- config BR2_PACKAGE_QEMU_TARGET_HEXAGON
- bool "hexagon (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- Qualcomm's Hexagon VLSI DSP architecture.
- config BR2_PACKAGE_QEMU_TARGET_HPPA
- bool "hppa"
- help
- HP PA-RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_I386
- bool "i386"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Intel i386 32-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_LOONGARCH64
- bool "loongarch64"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Loongson 64-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_M68K
- bool "m68k"
- help
- Motorola 68000 architecture.
- config BR2_PACKAGE_QEMU_TARGET_MICROBLAZE
- bool "microblaze"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Xilinix MicroBlaze soft processor.
- config BR2_PACKAGE_QEMU_TARGET_MICROBLAZEEL
- bool "microblazeel"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Xilinix MicroBlaze EL soft processor.
- config BR2_PACKAGE_QEMU_TARGET_MIPS
- bool "mips"
- help
- MIPS 32-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_MIPSEL
- bool "mipsel"
- help
- MIPS 32-bit architecture, little-endian.
- config BR2_PACKAGE_QEMU_TARGET_MIPS64
- bool "mips64"
- help
- MIPS 64-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_MIPS64EL
- bool "mips64el"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- MIPS 64-bit architecture, little-endian.
- config BR2_PACKAGE_QEMU_TARGET_MIPSN32
- bool "mipsn32 (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- MIPS N32 architecture.
- config BR2_PACKAGE_QEMU_TARGET_MIPSN32EL
- bool "mipsn32el (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- MIPS N32 architecture, little-endian.
- config BR2_PACKAGE_QEMU_TARGET_NIOS2
- bool "nios2"
- help
- Nios II architecture.
- config BR2_PACKAGE_QEMU_TARGET_OR1K
- bool "or1k"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- OpenRISC 1000 architecture.
- config BR2_PACKAGE_QEMU_TARGET_PPC
- bool "ppc"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- PoewerPC 32-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_PPC64
- bool "ppc64"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- PoewerPC 64-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_PPC64LE
- bool "ppc64le (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- PoewerPC 64-bit architecture, little-endian.
- config BR2_PACKAGE_QEMU_TARGET_RISCV32
- bool "riscv32"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- RISC-V 33-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_RISCV64
- bool "riscv64"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- RISC-V 64-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_RX
- bool "rx (system-only)"
- depends on BR2_PACKAGE_QEMU_SYSTEM
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Renesas Electronics RX 32-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_S390X
- bool "s390x"
- help
- IBM z/Architecture 64-bit mainframe (s390x)
- config BR2_PACKAGE_QEMU_TARGET_SH4
- bool "sh4"
- help
- Super-H 32-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_SH4EB
- bool "sh4eb"
- help
- Super-H EB 32-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_SPARC
- bool "sparc"
- help
- SPARC 32-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_SPARC32PLUS
- bool "sparc32plus (linux-user, only)"
- depends on BR2_PACKAGE_QEMU_LINUX_USER
- help
- SPARC 32-bit RISC architecture (Sun's v8plus).
- config BR2_PACKAGE_QEMU_TARGET_SPARC64
- bool "sparc64"
- help
- SPARC 64-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_TRICORE
- bool "tricore (system, only)"
- depends on BR2_PACKAGE_QEMU_SYSTEM
- help
- Infineon TriCore 32-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_X86_64
- bool "x86_64"
- select BR2_PACKAGE_QEMU_FDT if BR2_PACKAGE_QEMU_SYSTEM
- help
- Intel x86 64-bit architecture.
- config BR2_PACKAGE_QEMU_TARGET_XTENSA
- bool "xtensa"
- help
- Xtensa 32-bit RISC architecture.
- config BR2_PACKAGE_QEMU_TARGET_XTENSAEB
- bool "xtensaeb"
- help
- Xtensa 32-bit RISC architecture, big-endian.
- endif # BR2_PACKAGE_QEMU_CHOOSE_TARGETS
- comment "Tools selection"
- 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
|