History

Merge tag 'for-linus-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

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()

Linus Torvalds committed 3 years ago

Commit ca995ce2 parents 8999ad9 2c269f411 files · +508 −39Browse files

Showing the changes to include/uapi (1 of 11 files). Show all

Unified · Split

include/uapi/xen/privcmd.h+20−2
@@ -102,7 +102,7 @@ struct privcmd_mmap_resource { · 101 unmodified lines
102102 #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0)
103103
104104 struct privcmd_irqfd {
105− void __user *dm_op;
105+ __u64 dm_op;
106106 __u32 size; /* Size of structure pointed by dm_op */
107107 __u32 fd;
108108 __u32 flags;
@@ -110,6 +110,22 @@ struct privcmd_irqfd { · 1 unmodified line
110110 __u8 pad[2];
111111 };
112112
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+
113129 /*
114130 * @cmd: IOCTL_PRIVCMD_HYPERCALL
115131 * @arg: &privcmd_hypercall_t
@@ -138,6 +154,8 @@ struct privcmd_irqfd { · 22 unmodified lines
138154 #define IOCTL_PRIVCMD_MMAP_RESOURCE \
139155 _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
140156 #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)
142160
143161 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */