[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 2/2] libs/devicemodel: add dm_op support for FreeBSD
The FreeBSD ioctls have the same fields has the Linux ones, so the same file can be shared between both OSes. No functional change for OSes different than FreeBSD. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- tools/include/xen-sys/FreeBSD/privcmd.h | 15 +++++++++++++++ tools/libs/devicemodel/Makefile | 4 ++-- tools/libs/devicemodel/{linux.c => common.c} | 0 3 files changed, 17 insertions(+), 2 deletions(-) rename tools/libs/devicemodel/{linux.c => common.c} (100%) diff --git a/tools/include/xen-sys/FreeBSD/privcmd.h b/tools/include/xen-sys/FreeBSD/privcmd.h index 603aad67d5..649ad443c7 100644 --- a/tools/include/xen-sys/FreeBSD/privcmd.h +++ b/tools/include/xen-sys/FreeBSD/privcmd.h @@ -66,12 +66,27 @@ struct ioctl_privcmd_mmapresource { }; typedef struct ioctl_privcmd_mmapresource privcmd_mmap_resource_t; +struct privcmd_dmop_buf { + void *uptr; /* pointer to memory (in calling process) */ + size_t size; /* size of the buffer */ +}; +typedef struct privcmd_dmop_buf privcmd_dm_op_buf_t; + +struct ioctl_privcmd_dmop { + domid_t dom; /* target domain */ + unsigned int num; /* num of buffers */ + const struct privcmd_dmop_buf *ubufs; /* array of buffers */ +}; +typedef struct ioctl_privcmd_dmop privcmd_dm_op_t; + #define IOCTL_PRIVCMD_HYPERCALL \ _IOWR('E', 0, struct ioctl_privcmd_hypercall) #define IOCTL_PRIVCMD_MMAPBATCH \ _IOWR('E', 1, struct ioctl_privcmd_mmapbatch) #define IOCTL_PRIVCMD_MMAP_RESOURCE \ _IOW('E', 2, struct ioctl_privcmd_mmapresource) +#define IOCTL_PRIVCMD_DM_OP \ + _IOW('E', 3, struct ioctl_privcmd_dmop) #define IOCTL_PRIVCMD_RESTRICT \ _IOW('E', 4, domid_t) diff --git a/tools/libs/devicemodel/Makefile b/tools/libs/devicemodel/Makefile index b67fc0fac1..500de7adc5 100644 --- a/tools/libs/devicemodel/Makefile +++ b/tools/libs/devicemodel/Makefile @@ -5,8 +5,8 @@ MAJOR = 1 MINOR = 3 SRCS-y += core.c -SRCS-$(CONFIG_Linux) += linux.c -SRCS-$(CONFIG_FreeBSD) += compat.c +SRCS-$(CONFIG_Linux) += common.c +SRCS-$(CONFIG_FreeBSD) += common.c SRCS-$(CONFIG_SunOS) += compat.c SRCS-$(CONFIG_NetBSD) += compat.c SRCS-$(CONFIG_MiniOS) += compat.c diff --git a/tools/libs/devicemodel/linux.c b/tools/libs/devicemodel/common.c similarity index 100% rename from tools/libs/devicemodel/linux.c rename to tools/libs/devicemodel/common.c -- 2.29.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |