xen/privcmd: add IOCTL_PRIVCMD_MMAP_RESOURCE
My recent Xen patch series introduces a new HYPERVISOR_memory_op to support direct priv-mapping of certain guest resources (such as ioreq pages, used by emulators) by a tools domain, rather than having to access such resources via the guest P2M. This patch adds the necessary infrastructure to the privcmd driver and Xen MMU code to support direct resource mapping. NOTE: The adjustment in the MMU code is partially cosmetic. Xen will now allow a PV tools domain to map guest pages either by GFN or MFN, thus the term 'mfn' has been swapped for 'pfn' in the lower layers of the remap code. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Juergen Gross <jgross@suse.com>
This commit is contained in:

committed by
Juergen Gross

parent
4bf2cc9645
commit
3ad0876554
@@ -89,6 +89,15 @@ struct privcmd_dm_op {
|
||||
const struct privcmd_dm_op_buf __user *ubufs;
|
||||
};
|
||||
|
||||
struct privcmd_mmap_resource {
|
||||
domid_t dom;
|
||||
__u32 type;
|
||||
__u32 id;
|
||||
__u32 idx;
|
||||
__u64 num;
|
||||
__u64 addr;
|
||||
};
|
||||
|
||||
/*
|
||||
* @cmd: IOCTL_PRIVCMD_HYPERCALL
|
||||
* @arg: &privcmd_hypercall_t
|
||||
@@ -114,5 +123,7 @@ struct privcmd_dm_op {
|
||||
_IOC(_IOC_NONE, 'P', 5, sizeof(struct privcmd_dm_op))
|
||||
#define IOCTL_PRIVCMD_RESTRICT \
|
||||
_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
|
||||
#define IOCTL_PRIVCMD_MMAP_RESOURCE \
|
||||
_IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
|
||||
|
||||
#endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
|
||||
|
Reference in New Issue
Block a user