| # Virtualization drivers configuration options |
| |
| # Copyright (c) 2015-2020 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menuconfig VIRTUALIZATION |
| bool "Virtualization guest drivers" |
| 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 |
| present in ACRN hypervisor, and lets VM sharing memory with each |
| other. |
| |
| if IVSHMEM |
| |
| module = IVSHMEM |
| module-str = ivshmem |
| source "subsys/logging/Kconfig.template.log_config" |
| |
| config IVSHMEM_DOORBELL |
| bool "Support interrupt based ivshmem (doorbell version)" |
| help |
| This will enable support of ivshmem-doorbell, i.e. the interrupt |
| based ivshmem. For ivshmem-v2 INTx interrupts are also supported. |
| |
| 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 |
| int "MSI-X interrupt priority" |
| default 2 |
| depends on IVSHMEM_DOORBELL |
| help |
| Interrupt priority used for the MSI-X generated interrupts. |
| INTx interrupt priority is configured in the device tree. |
| |
| config IVSHMEM_SHELL |
| bool "IVshmem shell module" |
| 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). |
| |
| endif # IVSHMEM |
| |
| 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. |
| |
| config IVSHMEM_V2_MAX_PEERS |
| int "Maximum number of ivshmem-v2 peers" |
| depends on IVSHMEM_V2 |
| default 2 |
| range 2 65536 |
| |
| endif # VIRTUALIZATION |