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 guest 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 hypervisor, and lets VM sharing memory with each 21 other. 22 23if IVSHMEM 24 25module = IVSHMEM 26module-str = ivshmem 27source "subsys/logging/Kconfig.template.log_config" 28 29config IVSHMEM_DOORBELL 30 bool "Support interrupt based ivshmem (doorbell version)" 31 help 32 This will enable support of ivshmem-doorbell, i.e. the interrupt 33 based ivshmem. For ivshmem-v2 INTx interrupts are also supported. 34 35config IVSHMEM_MSI_X_VECTORS 36 int "How many notification vectors should be pre-allocated?" 37 default 2 38 depends on IVSHMEM_DOORBELL 39 help 40 MSI-X vector holders must be pre-allocated. One can pre-allocate 41 more or less than necessary. Depends on how many VMs will connect 42 with each other. These are know to be the notification vectors in 43 ivshmem. 44 45config IVSHMEM_INT_PRIORITY 46 int "MSI-X interrupt priority" 47 default 2 48 depends on IVSHMEM_DOORBELL 49 help 50 Interrupt priority used for the MSI-X generated interrupts. 51 INTx interrupt priority is configured in the device tree. 52 53config IVSHMEM_SHELL 54 bool "IVshmem shell module" 55 depends on SHELL 56 help 57 This is mostly a module to help getting info the ivshmem and/or 58 quickly testing your ivshmem client application (from another VM). 59 60endif # IVSHMEM 61 62config IVSHMEM_V2 63 bool "Inter-VM shared memory v2 (ivshmem-v2)" 64 select IVSHMEM 65 help 66 Enable ivshmem-v2 support. 67 ivshmem-v2 is primarily used for IPC in the Jailhouse hypervisor. 68 69config IVSHMEM_V2_MAX_PEERS 70 int "Maximum number of ivshmem-v2 peers" 71 depends on IVSHMEM_V2 72 default 2 73 range 2 65536 74 75endif # VIRTUALIZATION 76