Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Virtualization drivers configuration options

# Copyright (c) 2015-2020 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig VIRTUALIZATION
	bool "Virtualization guests 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 hypervizor, and lets VM sharing memory with each
	  other.

if IVSHMEM

config IVSHMEM_DEV_NAME
       string
       default "IVSHMEM"

module = IVSHMEM
module-str = ivshmem
source "subsys/logging/Kconfig.template.log_config"

config IVSHMEM_DOORBELL
	bool "Support interrupt based ivshmem (doorbell version)"
	depends on PCIE_MSI_X && PCIE_MSI_MULTI_VECTOR
	help
	  This will enable support of ivshmem-doorbell, i.e. the interrupt
	  based ivshmem.

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 "Interrupt priority"
	default 2
	depends on IVSHMEM_DOORBELL
	help
	  Interrupt priority used for the MSI-X generated interrupts.

config IVSHMEM_SHELL
	bool "Enable 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

endif # VIRTUALIZATION