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 | #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0) | 102 | #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0) |
| 103 | 103 | ||
| 104 | struct privcmd_irqfd { | 104 | struct privcmd_irqfd { |
| 105 | void __user *dm_op; | 105 | __u64 dm_op; |
| 106 | __u32 size; /* Size of structure pointed by dm_op */ | 106 | __u32 size; /* Size of structure pointed by dm_op */ |
| 107 | __u32 fd; | 107 | __u32 fd; |
| 108 | __u32 flags; | 108 | __u32 flags; |
| @@ -110,6 +110,22 @@ struct privcmd_irqfd { · 1 unmodified line | |||
| 110 | __u8 pad[2]; | 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 | * @cmd: IOCTL_PRIVCMD_HYPERCALL | 130 | * @cmd: IOCTL_PRIVCMD_HYPERCALL |
| 115 | * @arg: &privcmd_hypercall_t | 131 | * @arg: &privcmd_hypercall_t |
| @@ -138,6 +154,8 @@ struct privcmd_irqfd { · 22 unmodified lines | |||
| 138 | #define IOCTL_PRIVCMD_MMAP_RESOURCE \ | 154 | #define IOCTL_PRIVCMD_MMAP_RESOURCE \ |
| 139 | _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource)) | 155 | _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource)) |
| 140 | #define IOCTL_PRIVCMD_IRQFD \ | 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 | #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */ | 161 | #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */ |