# These are "proxy" symbols used to pass config-host.mak values
# down to Kconfig.  See also MINIKCONF_ARGS in the Makefile:
# these two need to be kept in sync.

config KVM
    bool

config LINUX
    bool

config OPENGL
    bool

config X11
    bool

config SPICE
    bool

config IVSHMEM
    bool

config TPM
    bool

config VHOST_USER
    bool
    select VHOST

config VHOST_KERNEL
    bool
    select VHOST

config XEN
    bool
    select FSDEV_9P if VIRTFS

config VIRTFS
    bool

config PVRDMA
    bool
