1# Virtualization drivers configuration options 2 3# Copyright (c) 2015-2020 Intel Corporation 4# SPDX-License-Identifier: Apache-2.0 5 6menuconfig VIRTUALIZATION 7 bool "Virtualization guests drivers" 8 help 9 This contains various drivers meant to support and expose features 10 when Zephyr is running as a guest in a virtualized or emulated 11 environment. 12 13if VIRTUALIZATION 14 15config IVSHMEM 16 bool "Inter-VM shared memory device (ivshmem)" 17 depends on PCIE 18 help 19 This will enable support of qemu's ivshmem device, which is also 20 present in ACRN hypervizor, and lets VM sharing memory with each 21 other. 22 23if IVSHMEM 24 25config IVSHMEM_DEV_NAME 26 string 27 default "IVSHMEM" 28 29module = IVSHMEM 30module-str = ivshmem 31source "subsys/logging/Kconfig.template.log_config" 32 33config IVSHMEM_DOORBELL 34 bool "Support interrupt based ivshmem (doorbell version)" 35 depends on PCIE_MSI_X && PCIE_MSI_MULTI_VECTOR 36 help 37 This will enable support of ivshmem-doorbell, i.e. the interrupt 38 based ivshmem. 39 40config IVSHMEM_MSI_X_VECTORS 41 int "How many notification vectors should be pre-allocated?" 42 default 2 43 depends on IVSHMEM_DOORBELL 44 help 45 MSI-X vector holders must be pre-allocated. One can pre-allocate 46 more or less than necessary. Depends on how many VMs will connect 47 with each other. These are know to be the notification vectors in 48 ivshmem. 49 50config IVSHMEM_INT_PRIORITY 51 int "Interrupt priority" 52 default 2 53 depends on IVSHMEM_DOORBELL 54 help 55 Interrupt priority used for the MSI-X generated interrupts. 56 57config IVSHMEM_SHELL 58 bool "Enable IVshmem shell module" 59 depends on SHELL 60 help 61 This is mostly a module to help getting info the ivshmem and/or 62 quickly testing your ivshmem client application (from another VM). 63 64endif # IVSHMEM 65 66endif # VIRTUALIZATION 67