Rtwo/kernel/motorola/sm8550/drivers/virt/gunyah/Kconfig
2025-09-30 19:22:48 -05:00

129 lines
5.4 KiB
Text

# SPDX-License-Identifier: GPL-2.0-only
config GUNYAH
tristate "Gunyah Virtualization support"
help
The Gunyah driver adds support for creating and launching
virtual machines from userspace. This driver exposes various
IOCTLs to allow userspace interface to manage virtual machines.
The userspace requests are relayed to Gunyah hypervisor via
this driver.
config GH_SECURE_VM_LOADER
tristate "Gunyah Secure Virtual Machine Loader Driver"
depends on GUNYAH
help
This driver invokes mdt Loader to load images of
any secure guest Virtual Machine (VM). The images are loaded
in the carveout designated for the VM once the firmware name
is validated.
config GH_PROXY_SCHED
tristate "PROXY Scheduling for Secondary VMs"
depends on GUNYAH
help
Gunyah Proxy Scheduler provides framework to schedule/run VCPUs
of Secondary VMs by exposing required functionality which can be
invoked by the Gunyah driver. Gunyah Proxy Scheduler communicates
with Gunyah hypervisor to run the VCPUs as needed.
menuconfig GUNYAH_DRIVERS
bool "Gunyah Virtualization drivers"
depends on ARM64
help
The Gunyah drivers are the helper interfaces that runs on the
virtual machines that provides support such as memory/device
sharing, IRQ sharing, IPC/signalling mechanisms, and so on.
Say Y here to enable the drivers needed to work on Gunyah
virtualization environment.
If you say N, all options in this submenu will be skipped and disabled.
if GUNYAH_DRIVERS
config GH_VIRT_WATCHDOG
tristate "Gunyah Virtual Watchdog Driver"
depends on QCOM_WDT_CORE
help
This enables the Qualcomm Technologies, Inc. watchdog module for
the Gunyah hypervisor. It provides an interface to perform watchdog
actions such as setting the bark/bite time and also petting the
watchdog in the hypervisor.
config GH_CTRL
tristate "Create Gunyah entries under /sys/hypervisor"
depends on SYSFS
select SYS_HYPERVISOR
help
Create entries under /sys/hypervisor for the Gunyah hypervisor.
The driver also provides a facility for controlling
hypervisor debug features.
See Documentation/ABI/testing/sysfs-hypervisor-gunyah for more details.
config GH_DBL
tristate "Gunyah Doorbell driver"
help
Gunyah offers a simple inter VMs(Virtual Machines) communication
through the use of doorbell interrupts. A single doorbell instance
provides an unidirectional communication between two VMs and it acts
like either a source(Tx) or generate(Rx). Individual VMs make use of
these doorbells by calling send and/or a receive primitives exposed by
driver and trigger an interrupt to each other and exchange the data.
config GH_MSGQ
tristate "Gunyah Message Queue driver"
help
Gunyah offers message-queues as one of the IPC mechanisms to
communicate among the Virtual Machines. The message queue drivers
runs on the Virtual machines to provide an interface to the clients
who wish to communicate to other clients on a different VM. Currently,
the services offered by the drivers is simply to send and receive
messages in a blocking manner.
config GH_RM_DRV
tristate "Gunyah Resource Manager driver"
help
The Gunyah Resource Manager driver is used to communicate with the
Resource Manager Virtual Machine (RM-VM). The RM-VM acts as a mediator
and provides numerous services to the other VMs running in the system,
such as notifying when a particular VM is up, resource (IRQ/device)
sharing between VMs, information about the IPC mechanisms, and so on.
The Resource Manager driver runs on the Virtual Machine and acts as an
interface to other driver in order to obtain the services provided by
the RM-VM.
config GH_IRQ_LEND
tristate "Gunyah IRQ Lending Framework"
depends on GH_RM_DRV
help
Gunyah Resource Manager permits interrupts to be shared between
virtual machines. This config enables a framework which
supports sharing these interrupts. The follows RM recommended
protocol.
config GH_MEM_NOTIFIER
tristate "Gunyah Memory Resource Notification Framework"
depends on GH_RM_DRV
help
The Gunyah Resource Manager allows for different memory resources
to be transferred across virtual machines with different notification
labels assigned to each resource to aid in distinguishing them.
Enabling the Gunyah Memory Resource Notification Framework provides an
interface for clients to transmit memory resources between virtual
machines, and register callbacks that get invoked only when
notifications pertaining to their memory resources arrive.
config GH_GUEST_POPS
tristate "Gunyah Guest Power-Operations driver"
depends on GH_RM_DRV
help
The driver runs on guest VMs and is majorly responsible for coordinating
the guest's power operations. This includes, setting the VM's status,
such as OS_STATUS_* or APPS_STATUS_*. It also acts as an input power key
driver. That is, it listens to the shutdown requests, and when it receives
one, it'll emulate a power key press action by sending an input
notification to user-space.
endif