Adds the Virtual Services framework and core protocol code. The Virtual Services framework provides a bus for generic inter-vm communications using a high level abstract model. The vservices bus provides support for both HLOS and embedded C clients and servers, allowing VMs to communicate in a common OS independent manner. The vservices bus and services over it are hot-plug capable and can support a wide variety of use cases, including device virtualization using virtual device protocol (classes) and drivers, similar in concept to USB or virtio. Change-Id: I7a696354f59730e0ad340fb92dc85661a7376dee Signed-off-by: Carl van Schaik <carl@cog.systems> Git-commit: 42814676e8bf5fb34060ee80e05e2175ae146292 Git-repo: https://github.com/CogSystems/linux-msm/commits/msm-4.9-hyp [mnalajal@codeaurora: Resolve trivial merge conflicts] Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
#
|
|
# OKL4 Virtual Services framework
|
|
#
|
|
|
|
menuconfig VSERVICES_SUPPORT
|
|
tristate "OKL4 Virtual Services support"
|
|
default OKL4_GUEST || OKL4_VIRTUALISATION
|
|
select HOTPLUG
|
|
help
|
|
This option adds core support for OKL4 Virtual Services. The Virtual
|
|
Services framework is an inter-OS device/service sharing
|
|
protocol which is supported on OKL4 Microvisor virtualization
|
|
platforms. You will also need drivers from the following menu in
|
|
order to make use of it.
|
|
|
|
if VSERVICES_SUPPORT
|
|
|
|
config VSERVICES_CHAR_DEV
|
|
bool "Virtual Services user-space service API"
|
|
default y
|
|
help
|
|
Select this if you want to use user-space service drivers. You will
|
|
also need udev rules that create device nodes, and protocol code
|
|
generated by the OK Mill tool.
|
|
|
|
config VSERVICES_DEBUG
|
|
bool "Virtual Services debugging support"
|
|
help
|
|
Select this if you want to enable Virtual Services core framework
|
|
debugging. The debug messages for various components of the Virtual
|
|
Services core framework can be toggled at runtime on a per-session
|
|
basis via sysfs. When Virtual Services debugging is enabled here,
|
|
but disabled at runtime it has a minimal performance impact.
|
|
|
|
config VSERVICES_LOCK_DEBUG
|
|
bool "Debug Virtual Services state locks"
|
|
default DEBUG_KERNEL
|
|
help
|
|
This option enables some runtime checks that Virtual Services
|
|
state lock functions are used correctly in service drivers.
|
|
|
|
config VSERVICES_SERVER
|
|
tristate "Virtual Services server support"
|
|
depends on SYSFS
|
|
default y
|
|
help
|
|
This option adds support for Virtual Services servers, which allows
|
|
exporting of services from this Linux to other environments. Servers
|
|
are created at runtime by writing to files in
|
|
/sys/bus/vservices-server.
|
|
|
|
config VSERVICES_CLIENT
|
|
tristate "Virtual Services client support"
|
|
default y
|
|
help
|
|
This option adds support for Virtual Services clients, which allows
|
|
connecting to services exported from other environments.
|
|
|
|
config VSERVICES_SKELETON_DRIVER
|
|
tristate "Virtual Services skeleton driver"
|
|
depends on VSERVICES_SERVER || VSERVICES_CLIENT
|
|
default n
|
|
help
|
|
This option adds support for a skeleton virtual service driver. This
|
|
driver can be used for templating or testing of virtual service
|
|
drivers. If unsure say N.
|
|
|
|
config VSERVICES_NAMED_DEVICE
|
|
bool "Virtual Services use named device node in /dev"
|
|
default n
|
|
help
|
|
Select this if you want to use a named device name over a numeric
|
|
device name in /dev
|
|
|
|
source "drivers/vservices/transport/Kconfig"
|
|
|
|
source "drivers/vservices/protocol/Kconfig"
|
|
|
|
source "drivers/vservices/Kconfig.stacks"
|
|
|
|
endif # VSERVICES_SUPPORT
|