Ai
1 Star 0 Fork 0

SourceCodeSync/uvmm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Kconfig.L4 7.01 KB
一键复制 编辑 原始数据 按行查看 历史
Marcus Haehnel 提交于 2024-01-15 08:00 +08:00 . Kconfig.L4: simplify supported entry
config UVMM_SUPPORTED
def_bool BUILD_ARCH_arm64 || BUILD_ARCH_arm || BUILD_ARCH_amd64 || BUILD_ARCH_mips
comment "uvmm is not supported on this architecture"
depends on !UVMM_SUPPORTED
menu "uvmm virtual machine monitor"
depends on UVMM_SUPPORTED
config UVMM_MONITOR
bool "Monitor interface"
depends on !RELEASE_MODE
default y
help
Enables the monitoring interface that can be used to query and manipulate
the guest state at runtime. When enabled the interface must also be switched
on at runtime using the `mon` command line option.
menu "Supported Loaders"
config UVMM_LOADER_RAW
bool "RAW images"
default y
help
Allows to raw kernel images from an address. The format for the file name
is 'raw:addr=0xcaffee:filename' where addr is the address the image should
be loaded to, relative to the guest ram base.
config UVMM_LOADER_ELF
bool "ELF images"
default y
help
Enable loading of elf images. The file found under the file name passed to
uvmm must be a valid ELF file for the loader to pick it up.
config UVMM_LOADER_PE
bool "PE images (error handling only)"
default y
help
Print usefull errors when trying to load PE images. If the file found under
the file name passed to uvmm is a PE file uvmm will not load it but provides
helpful error messages.
config UVMM_LOADER_ROM
bool "ROM images (from guest memory locations)"
default y
help
Enable loading of images from a guest memory location. The format for the
kernel file name passed to uvmm is 'rom:addr=0xcaffee' where 0xcaffee is
a valid address in the memory of the guest. If the format is
'rom:addr=0xcaffee:64bit' then the guest is a 64 bit guest.
config UVMM_LOADER_LINUX
bool "Linux images (non-elf)"
depends on BUILD_ARCH_arm64 || BUILD_ARCH_arm || BUILD_ARCH_amd64
default y
help
Loads a Linux image.
config UVMM_LOADER_GZIP
bool "GZIP/ZLIB loading for Linux images"
depends on (BUILD_ARCH_arm64 || BUILD_ARCH_arm) && HAVE_BIDPC_ZLIB && UVMM_LOADER_LINUX
default y
help
Allows to load gzip or zlib compressed kernel images.
endmenu
comment "GZIP/ZLIB compression not available due to missing zlib package"
depends on !HAVE_BIDPC_ZLIB
config UVMM_QEMU_FW_IF
bool "Qemu firmware configuration device"
help
The device allows guests to gain access to the configuration of the
hypervisor or any kind of data like boot/kernel images in a defined way.
Some bootloaders make use of this to setup the platform and start the guest
OS.
For details on the configuration see device/qemu_fw_cfg.cc.
config UVMM_FAULT_INJECT
bool "Fault injection"
depends on BUILD_ARCH_arm64 || BUILD_ARCH_arm
comment "Interfacing with L4 applications or physical hardware"
config UVMM_VDEV_PSCI
bool "PSCI interface support"
depends on BUILD_ARCH_arm || BUILD_ARCH_arm64
default y
help
Emulates a PSCI interface for the guest.
config UVMM_PCI_SUPPORT
bool "Support PCI emulation" if BUILD_ARCH_arm64 || BUILD_ARCH_arm
default y
help
Configures if the PCI subsystem (and the corresponding devices using the
PCI transport) should be available in uvmm.
config UVMM_VDEV_OPTEE
bool "OPTEE SMC call forwarding"
depends on BUILD_ARCH_arm || BUILD_ARCH_arm64
default y
help
Allows forwarding of OP-TEE SMC calls either to a running OP-TEE instance
or to a native L4 application implementing the protocol.
For details on the configuration see device/optee.cc.
config UVMM_VDEV_VIRTIO_POWER
bool "Virtio-input based power events"
default y
help
Support sending power events via Virtio-input.
config UVMM_VDEV_VIRQ
bool "Forward L4 interrupts"
default y
help
Add a device for relaying L4 IRQs into the guest.
For details on the configuration see device/virq.cc
config UVMM_VDEV_MMIO_PROXY
bool "Proxy dataspaces and MMIO protocol"
default y
help
Emulate a device that proxies memory accesses to an external dataspace or
MMIO space.
For details on the configuration see device/mmio_proxy.cc
config UVMM_VDEV_SYSCTL
bool "System control device"
default y
help
Mmio-based device for triggering system events (shutdown, reboot).
The device can be used with the generic syscon device from Linux.
For details on the configuration see device/sysctl.cc
config UVMM_VDEV_DEVICE_PROXY
bool "Virtio device proxy"
default y
help
Proxy for virtio devices implemented in the guest. Can be used to export
devices driven by a guest using the virtio protocol.
For details on the configuration see device/virtio_device_proxy.cc
config UVMM_VDEV_ROM
bool "Read-only dataspace based devices"
default y
help
A device for adding L4 dataspaces read-only to the guest.
For details on the configuration see device/rom.cc
config UVMM_EXTERNAL_RTC
bool "l4rtc time source"
depends on HAVE_BIDPC_RTC
default y
help
A driver to retrieve wallclock time from an L4Re rtc server.
For details on the configuration see device/l4rtc.cc
comment "l4rtc time source not available due to missing rtc package"
depends on !HAVE_BIDPC_RTC
comment "Device Emulation"
config UVMM_VDEV_8250
bool "8250-compatible UART"
default y
help
Emulate an 8250 compatible UART for the guest.
For details on the configuration see device/uart_8250.cc
config UVMM_VDEV_PL011
bool "PL011 UART"
default y
help
Emulate a PrimeCell pl011-compatible UART for the guest.
For details on the configuration see device/pl011.cc
config UVMM_VDEV_PL031
bool "PL031 RTC"
default y
depends on BUILD_ARCH_arm64 || BUILD_ARCH_arm
help
Emluate a simple PL0311 RTC for the guest. This is not a complete device
model and does not come with write support.
For details on the configuration see device/arm/pl031.cc
config UVMM_VDEV_DEVICE_PCI_HOST_ECAM_GENERIC
bool "ECAM PCIe host bridge support"
default y
depends on (BUILD_ARCH_arm || BUILD_ARCH_arm64) && UVMM_PCI_SUPPORT
help
Emulates a generic PCIe host bridge for ARM platforms.
config UVMM_VDEV_DEVICE_FRAMEBUFFER
bool "Generic framebuffer device"
default y
help
Emulate a simple generic framebuffer device
config UVMM_VDEV_CFI_FLASH
bool "CFI flash device"
default y
help
Emulate a simple CFI compliant flash device with the Intel command set.
For details on the configuration see device/cfi.cc
config UVMM_VDEV_ISA_DEBUG_PORT
bool "Bochs debug port"
default y
depends on BUILD_ARCH_amd64
help
Emulate the BOCHS debug IO-port (0x402) to enable guests to print on the
vcon device.
For details on the configuration see ARCH-amd64/isa_debugport.cc
config UVMM_VDEV_GIC_V2
def_bool UVMM_VDEV_SEL_GIC_V2 || UVMM_VDEV_SEL_GIC_BOTH
config UVMM_VDEV_GIC_V3
def_bool UVMM_VDEV_SEL_GIC_V3 || UVMM_VDEV_SEL_GIC_BOTH
choice
prompt "GIC Support"
depends on BUILD_ARCH_arm || BUILD_ARCH_arm64
help
Select which GIC emulations uvmm should support for the virtual interrupt
controller.
config UVMM_VDEV_SEL_GIC_BOTH
bool "GICv2 + GICv3"
config UVMM_VDEV_SEL_GIC_V2
bool "GICv2"
config UVMM_VDEV_SEL_GIC_V3
bool "GICv3"
endchoice
config UVMM_VDEV_GIC_ITS
bool "Emulate ITS in GICv3 to support MSIs"
depends on UVMM_VDEV_GIC_V3
default y
endmenu
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/source-code-sync/uvmm.git
git@gitee.com:source-code-sync/uvmm.git
source-code-sync
uvmm
uvmm
master

搜索帮助