xref: /aosp_15_r20/bionic/libc/kernel/uapi/xen/gntdev.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX_PUBLIC_GNTDEV_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_PUBLIC_GNTDEV_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_grant_ref {
11*8d67ca89SAndroid Build Coastguard Worker   __u32 domid;
12*8d67ca89SAndroid Build Coastguard Worker   __u32 ref;
13*8d67ca89SAndroid Build Coastguard Worker };
14*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
15*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_map_grant_ref {
16*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
17*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
18*8d67ca89SAndroid Build Coastguard Worker   __u64 index;
19*8d67ca89SAndroid Build Coastguard Worker   struct ioctl_gntdev_grant_ref refs[1];
20*8d67ca89SAndroid Build Coastguard Worker };
21*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
22*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_grant_ref {
23*8d67ca89SAndroid Build Coastguard Worker   __u64 index;
24*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
25*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
26*8d67ca89SAndroid Build Coastguard Worker };
27*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
28*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_get_offset_for_vaddr {
29*8d67ca89SAndroid Build Coastguard Worker   __u64 vaddr;
30*8d67ca89SAndroid Build Coastguard Worker   __u64 offset;
31*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
32*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
33*8d67ca89SAndroid Build Coastguard Worker };
34*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
35*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_set_max_grants {
36*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
37*8d67ca89SAndroid Build Coastguard Worker };
38*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
39*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_unmap_notify {
40*8d67ca89SAndroid Build Coastguard Worker   __u64 index;
41*8d67ca89SAndroid Build Coastguard Worker   __u32 action;
42*8d67ca89SAndroid Build Coastguard Worker   __u32 event_channel_port;
43*8d67ca89SAndroid Build Coastguard Worker };
44*8d67ca89SAndroid Build Coastguard Worker struct gntdev_grant_copy_segment {
45*8d67ca89SAndroid Build Coastguard Worker   union {
46*8d67ca89SAndroid Build Coastguard Worker     void  * virt;
47*8d67ca89SAndroid Build Coastguard Worker     struct {
48*8d67ca89SAndroid Build Coastguard Worker       grant_ref_t ref;
49*8d67ca89SAndroid Build Coastguard Worker       __u16 offset;
50*8d67ca89SAndroid Build Coastguard Worker       domid_t domid;
51*8d67ca89SAndroid Build Coastguard Worker     } foreign;
52*8d67ca89SAndroid Build Coastguard Worker   } source, dest;
53*8d67ca89SAndroid Build Coastguard Worker   __u16 len;
54*8d67ca89SAndroid Build Coastguard Worker   __u16 flags;
55*8d67ca89SAndroid Build Coastguard Worker   __s16 status;
56*8d67ca89SAndroid Build Coastguard Worker };
57*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_GRANT_COPY _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy))
58*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_grant_copy {
59*8d67ca89SAndroid Build Coastguard Worker   unsigned int count;
60*8d67ca89SAndroid Build Coastguard Worker   struct gntdev_grant_copy_segment  * segments;
61*8d67ca89SAndroid Build Coastguard Worker };
62*8d67ca89SAndroid Build Coastguard Worker #define UNMAP_NOTIFY_CLEAR_BYTE 0x1
63*8d67ca89SAndroid Build Coastguard Worker #define UNMAP_NOTIFY_SEND_EVENT 0x2
64*8d67ca89SAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_WC (1 << 0)
65*8d67ca89SAndroid Build Coastguard Worker #define GNTDEV_DMA_FLAG_COHERENT (1 << 1)
66*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_FROM_REFS _IOC(_IOC_NONE, 'G', 9, sizeof(struct ioctl_gntdev_dmabuf_exp_from_refs))
67*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_from_refs {
68*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
69*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
70*8d67ca89SAndroid Build Coastguard Worker   __u32 fd;
71*8d67ca89SAndroid Build Coastguard Worker   __u32 domid;
72*8d67ca89SAndroid Build Coastguard Worker   __u32 refs[1];
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_EXP_WAIT_RELEASED _IOC(_IOC_NONE, 'G', 10, sizeof(struct ioctl_gntdev_dmabuf_exp_wait_released))
75*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_exp_wait_released {
76*8d67ca89SAndroid Build Coastguard Worker   __u32 fd;
77*8d67ca89SAndroid Build Coastguard Worker   __u32 wait_to_ms;
78*8d67ca89SAndroid Build Coastguard Worker };
79*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_TO_REFS _IOC(_IOC_NONE, 'G', 11, sizeof(struct ioctl_gntdev_dmabuf_imp_to_refs))
80*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_to_refs {
81*8d67ca89SAndroid Build Coastguard Worker   __u32 fd;
82*8d67ca89SAndroid Build Coastguard Worker   __u32 count;
83*8d67ca89SAndroid Build Coastguard Worker   __u32 domid;
84*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
85*8d67ca89SAndroid Build Coastguard Worker   __u32 refs[1];
86*8d67ca89SAndroid Build Coastguard Worker };
87*8d67ca89SAndroid Build Coastguard Worker #define IOCTL_GNTDEV_DMABUF_IMP_RELEASE _IOC(_IOC_NONE, 'G', 12, sizeof(struct ioctl_gntdev_dmabuf_imp_release))
88*8d67ca89SAndroid Build Coastguard Worker struct ioctl_gntdev_dmabuf_imp_release {
89*8d67ca89SAndroid Build Coastguard Worker   __u32 fd;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved;
91*8d67ca89SAndroid Build Coastguard Worker };
92*8d67ca89SAndroid Build Coastguard Worker #endif
93