History

Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

Pull virtio/vhost fixes from Michael Tsirkin: "Bugfixes and documentation fixes. Igor's patch that allows users to tweak memory table size is borderline, but it does fix known crashes, so I merged it" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: vhost: add max_mem_regions module parameter vhost: extend memory regions allocation to vmalloc 9p/trans_virtio: reset virtio device on remove virtio/s390: rename drivers/s390/kvm -> drivers/s390/virtio MAINTAINERS: separate section for s390 virtio drivers virtio: define virtio_pci_cfg_cap in header. virtio: Fix typecast of pointer in vring_init() virtio scsi: fix unused variable warning vhost: use binary search instead of linear in find_region() virtio_net: document VIRTIO_NET_CTRL_GUEST_OFFLOADS

Linus Torvalds committed 11 years ago

Commit d1a343a2 parents b681268 c9ce42f11 files · +91 −20Browse files

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

Unified · Split

3 files
  1. include/uapi/linux/virtio_net.h +16 −0
  2. include/uapi/linux/virtio_pci.h +6 −0
  3. include/uapi/linux/virtio_ring.h +4 −1
include/uapi/linux/virtio_net.h+16−0
@@ -34,6 +34,7 @@ · 33 unmodified lines
3434 /* The feature bitmap for virtio net */
3535 #define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */
3636 #define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */
37+#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 /* Dynamic offload configuration. */
3738 #define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */
3839 #define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */
3940 #define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */
@@ -226,4 +227,19 @@ struct virtio_net_ctrl_mq { · 186 unmodified lines
226227 #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1
227228 #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000
228229
230+/*
231+ * Control network offloads
232+ *
233+ * Reconfigures the network offloads that Guest can handle.
234+ *
235+ * Available with the VIRTIO_NET_F_CTRL_GUEST_OFFLOADS feature bit.
236+ *
237+ * Command data format matches the feature bit mask exactly.
238+ *
239+ * See VIRTIO_NET_F_GUEST_* for the list of offloads
240+ * that can be enabled/disabled.
241+ */
242+#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
243+#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
244+
229245 #endif /* _LINUX_VIRTIO_NET_H */
include/uapi/linux/virtio_pci.h+6−0
@@ -157,6 +157,12 @@ struct virtio_pci_common_cfg { · 156 unmodified lines
157157 __le32 queue_used_hi; /* read-write */
158158 };
159159
160+/* Fields in VIRTIO_PCI_CAP_PCI_CFG: */
161+struct virtio_pci_cfg_cap {
162+ struct virtio_pci_cap cap;
163+ __u8 pci_cfg_data[4]; /* Data for BAR access. */
164+};
165+
160166 /* Macro versions of offsets for the Old Timers! */
161167 #define VIRTIO_PCI_CAP_VNDR 0
162168 #define VIRTIO_PCI_CAP_NEXT 1
include/uapi/linux/virtio_ring.h+4−1
@@ -31,6 +31,9 @@ · 30 unmodified lines
3131 * SUCH DAMAGE.
3232 *
3333 * Copyright Rusty Russell IBM Corporation 2007. */
34+#ifndef __KERNEL__
35+#include <stdint.h>
36+#endif
3437 #include <linux/types.h>
3538 #include <linux/virtio_types.h>
3639
@@ -143,7 +146,7 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p, · 106 unmodified lines
143146 vr->num = num;
144147 vr->desc = p;
145148 vr->avail = p + num*sizeof(struct vring_desc);
146− vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__virtio16)
149+ vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16)
147150 + align-1) & ~(align - 1));
148151 }
149152