Pull xen updates from Juergen Gross: - two small cleanup patches - a fix for PCI passthrough under Xen - a four patch series speeding up virtio under Xen with user space backends * tag 'for-linus-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled xen: privcmd: Add support for ioeventfd xen: evtchn: Allow shared registration of IRQ handers xen: irqfd: Use _IOW instead of the internal _IOC() macro xen: Make struct privcmd_irqfd's layout architecture independent xen/xenbus: Add __counted_by for struct read_buffer and use struct_size() xenbus: fix error exit in xenbus_init()
Showing the changes to include/uapi (1 of 11 files). Show all
Unified · Split
| @@ -102,7 +102,7 @@ struct privcmd_mmap_resource { · 101 unmodified lines | ||
| 102 | 102 | #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0) |
| 103 | 103 | |
| 104 | 104 | struct privcmd_irqfd { |
| 105 | − void __user *dm_op; | |
| 105 | + __u64 dm_op; | |
| 106 | 106 | __u32 size; /* Size of structure pointed by dm_op */ |
| 107 | 107 | __u32 fd; |
| 108 | 108 | __u32 flags; |
| @@ -110,6 +110,22 @@ struct privcmd_irqfd { · 1 unmodified line | ||
| 110 | 110 | __u8 pad[2]; |
| 111 | 111 | }; |
| 112 | 112 | |
| 113 | +/* For privcmd_ioeventfd::flags */ | |
| 114 | +#define PRIVCMD_IOEVENTFD_FLAG_DEASSIGN (1 << 0) | |
| 115 | + | |
| 116 | +struct privcmd_ioeventfd { | |
| 117 | + __u64 ioreq; | |
| 118 | + __u64 ports; | |
| 119 | + __u64 addr; | |
| 120 | + __u32 addr_len; | |
| 121 | + __u32 event_fd; | |
| 122 | + __u32 vcpus; | |
| 123 | + __u32 vq; | |
| 124 | + __u32 flags; | |
| 125 | + domid_t dom; | |
| 126 | + __u8 pad[2]; | |
| 127 | +}; | |
| 128 | + | |
| 113 | 129 | /* |
| 114 | 130 | * @cmd: IOCTL_PRIVCMD_HYPERCALL |
| 115 | 131 | * @arg: &privcmd_hypercall_t |
| @@ -138,6 +154,8 @@ struct privcmd_irqfd { · 22 unmodified lines | ||
| 138 | 154 | #define IOCTL_PRIVCMD_MMAP_RESOURCE \ |
| 139 | 155 | _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource)) |
| 140 | 156 | #define IOCTL_PRIVCMD_IRQFD \ |
| 141 | − _IOC(_IOC_NONE, 'P', 8, sizeof(struct privcmd_irqfd)) | |
| 157 | + _IOW('P', 8, struct privcmd_irqfd) | |
| 158 | +#define IOCTL_PRIVCMD_IOEVENTFD \ | |
| 159 | + _IOW('P', 9, struct privcmd_ioeventfd) | |
| 142 | 160 | |
| 143 | 161 | #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */ |