2020-10-23 18:01:18 +08:00
|
|
|
# Virtualization drivers configuration options
|
|
|
|
|
|
|
|
# Copyright (c) 2015-2020 Intel Corporation
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
menuconfig VIRTUALIZATION
|
2023-03-27 20:55:23 +08:00
|
|
|
bool "Virtualization guest drivers"
|
2020-10-23 18:01:18 +08:00
|
|
|
help
|
|
|
|
This contains various drivers meant to support and expose features
|
|
|
|
when Zephyr is running as a guest in a virtualized or emulated
|
|
|
|
environment.
|
|
|
|
|
|
|
|
if VIRTUALIZATION
|
|
|
|
|
|
|
|
config IVSHMEM
|
|
|
|
bool "Inter-VM shared memory device (ivshmem)"
|
|
|
|
depends on PCIE
|
|
|
|
help
|
|
|
|
This will enable support of qemu's ivshmem device, which is also
|
2022-03-17 05:07:43 +08:00
|
|
|
present in ACRN hypervisor, and lets VM sharing memory with each
|
2020-10-23 18:01:18 +08:00
|
|
|
other.
|
|
|
|
|
|
|
|
if IVSHMEM
|
|
|
|
|
|
|
|
module = IVSHMEM
|
|
|
|
module-str = ivshmem
|
|
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
|
2020-11-24 17:11:23 +08:00
|
|
|
config IVSHMEM_DOORBELL
|
|
|
|
bool "Support interrupt based ivshmem (doorbell version)"
|
|
|
|
help
|
|
|
|
This will enable support of ivshmem-doorbell, i.e. the interrupt
|
2023-04-30 10:34:35 +08:00
|
|
|
based ivshmem. For ivshmem-v2 INTx interrupts are also supported.
|
2020-11-24 17:11:23 +08:00
|
|
|
|
|
|
|
config IVSHMEM_MSI_X_VECTORS
|
|
|
|
int "How many notification vectors should be pre-allocated?"
|
|
|
|
default 2
|
|
|
|
depends on IVSHMEM_DOORBELL
|
|
|
|
help
|
|
|
|
MSI-X vector holders must be pre-allocated. One can pre-allocate
|
|
|
|
more or less than necessary. Depends on how many VMs will connect
|
|
|
|
with each other. These are know to be the notification vectors in
|
|
|
|
ivshmem.
|
|
|
|
|
|
|
|
config IVSHMEM_INT_PRIORITY
|
2023-04-30 10:34:35 +08:00
|
|
|
int "MSI-X interrupt priority"
|
2020-11-24 17:11:23 +08:00
|
|
|
default 2
|
|
|
|
depends on IVSHMEM_DOORBELL
|
|
|
|
help
|
|
|
|
Interrupt priority used for the MSI-X generated interrupts.
|
2023-04-30 10:34:35 +08:00
|
|
|
INTx interrupt priority is configured in the device tree.
|
2020-11-24 17:11:23 +08:00
|
|
|
|
2020-11-30 19:46:57 +08:00
|
|
|
config IVSHMEM_SHELL
|
2022-03-09 19:05:12 +08:00
|
|
|
bool "IVshmem shell module"
|
2020-11-30 19:46:57 +08:00
|
|
|
depends on SHELL
|
|
|
|
help
|
|
|
|
This is mostly a module to help getting info the ivshmem and/or
|
|
|
|
quickly testing your ivshmem client application (from another VM).
|
|
|
|
|
2020-10-23 18:01:18 +08:00
|
|
|
endif # IVSHMEM
|
|
|
|
|
2023-04-30 10:34:35 +08:00
|
|
|
config IVSHMEM_V2
|
|
|
|
bool "Inter-VM shared memory v2 (ivshmem-v2)"
|
|
|
|
select IVSHMEM
|
|
|
|
help
|
|
|
|
Enable ivshmem-v2 support.
|
|
|
|
ivshmem-v2 is primarily used for IPC in the Jailhouse hypervisor.
|
|
|
|
|
2023-11-12 05:29:36 +08:00
|
|
|
config IVSHMEM_V2_MAX_PEERS
|
|
|
|
int "Maximum number of ivshmem-v2 peers"
|
|
|
|
depends on IVSHMEM_V2
|
|
|
|
default 2
|
|
|
|
range 2 65536
|
|
|
|
|
2020-10-23 18:01:18 +08:00
|
|
|
endif # VIRTUALIZATION
|