提交 5c0d914a 编写于 作者: P Paul Durrant 提交者: Stefano Stabellini

xen: add a meaningful declaration of grant_copy_segment into xen_common.h

Currently the xen_disk source has to carry #ifdef exclusions to compile
against Xen older then 4.8. This is a bit messy so this patch lifts the
definition of struct xengnttab_grant_copy_segment and adds it into the
pre-4.8 compat area in xen_common.h, which allows xen_disk to be cleaned
up.
Signed-off-by: NPaul Durrant <paul.durrant@citrix.com>
Acked-by: NAnthony PERARD <anthony.perard@citrix.com>
Signed-off-by: NStefano Stabellini <sstabellini@kernel.org>
上级 8d0f08e9
......@@ -496,8 +496,6 @@ static int ioreq_map(struct ioreq *ioreq)
return 0;
}
#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
static void ioreq_free_copy_buffers(struct ioreq *ioreq)
{
int i;
......@@ -579,22 +577,6 @@ static int ioreq_grant_copy(struct ioreq *ioreq)
return rc;
}
#else
static void ioreq_free_copy_buffers(struct ioreq *ioreq)
{
abort();
}
static int ioreq_init_copy_buffers(struct ioreq *ioreq)
{
abort();
}
static int ioreq_grant_copy(struct ioreq *ioreq)
{
abort();
}
#endif
static int ioreq_runio_qemu_aio(struct ioreq *ioreq);
......
......@@ -667,8 +667,21 @@ static inline int xen_domain_create(xc_interface *xc, uint32_t ssidref,
#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40800
typedef void *xengnttab_grant_copy_segment_t;
struct xengnttab_grant_copy_segment {
union xengnttab_copy_ptr {
void *virt;
struct {
uint32_t ref;
uint16_t offset;
uint16_t domid;
} foreign;
} source, dest;
uint16_t len;
uint16_t flags;
int16_t status;
};
typedef struct xengnttab_grant_copy_segment xengnttab_grant_copy_segment_t;
static inline int xengnttab_grant_copy(xengnttab_handle *xgt, uint32_t count,
xengnttab_grant_copy_segment_t *segs)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册