]> git.baikalelectronics.ru Git - kernel.git/commit
virt: acrn: Introduce ioeventfd
authorShuo Liu <shuo.a.liu@intel.com>
Sun, 7 Feb 2021 03:10:37 +0000 (11:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Feb 2021 09:58:19 +0000 (10:58 +0100)
commitd8ad515156b66e7e79a6e4c814f997ee54eb47c7
tree858cf13d5d32b929b3f9136ece5f729a229395bf
parent5a0c9f176f232513d4114a518cbff835d232f500
virt: acrn: Introduce ioeventfd

ioeventfd is a mechanism to register PIO/MMIO regions to trigger an
eventfd signal when written to by a User VM. ACRN userspace can register
any arbitrary I/O address with a corresponding eventfd and then pass the
eventfd to a specific end-point of interest for handling.

Vhost is a kernel-level virtio server which uses eventfd for signalling.
To support vhost on ACRN, ioeventfd is introduced in HSM.

A new I/O client dedicated to ioeventfd is associated with a User VM
during VM creation. HSM provides ioctls to associate an I/O region with
a eventfd. The I/O client signals a eventfd once its corresponding I/O
region is matched with an I/O request.

Cc: Zhi Wang <zhi.a.wang@intel.com>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Yu Wang <yu1.wang@intel.com>
Cc: Reinette Chatre <reinette.chatre@intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Zhi Wang <zhi.a.wang@intel.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuo Liu <shuo.a.liu@intel.com>
Link: https://lore.kernel.org/r/20210207031040.49576-16-shuo.a.liu@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virt/acrn/Kconfig
drivers/virt/acrn/Makefile
drivers/virt/acrn/acrn_drv.h
drivers/virt/acrn/hsm.c
drivers/virt/acrn/ioeventfd.c [new file with mode: 0644]
drivers/virt/acrn/vm.c
include/uapi/linux/acrn.h