#
# 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
