#include <linux/eventfd.h>
#include <linux/slab.h>
#include "acrn_drv.h"
struct hsm_ioeventfd { … };
static inline int ioreq_type_from_flags(int flags)
{ … }
static void acrn_ioeventfd_shutdown(struct acrn_vm *vm, struct hsm_ioeventfd *p)
{ … }
static bool hsm_ioeventfd_is_conflict(struct acrn_vm *vm,
struct hsm_ioeventfd *ioeventfd)
{ … }
static int acrn_ioeventfd_assign(struct acrn_vm *vm,
struct acrn_ioeventfd *args)
{ … }
static int acrn_ioeventfd_deassign(struct acrn_vm *vm,
struct acrn_ioeventfd *args)
{ … }
static struct hsm_ioeventfd *hsm_ioeventfd_match(struct acrn_vm *vm, u64 addr,
u64 data, int len, int type)
{ … }
static int acrn_ioeventfd_handler(struct acrn_ioreq_client *client,
struct acrn_io_request *req)
{ … }
int acrn_ioeventfd_config(struct acrn_vm *vm, struct acrn_ioeventfd *args)
{ … }
int acrn_ioeventfd_init(struct acrn_vm *vm)
{ … }
void acrn_ioeventfd_deinit(struct acrn_vm *vm)
{ … }