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
Showing the changes to include/uapi/linux (3 of 11 files). Show all
Unified · Split
| @@ -34,6 +34,7 @@ · 33 unmodified lines | ||
| 34 | 34 | /* The feature bitmap for virtio net */ |
| 35 | 35 | #define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */ |
| 36 | 36 | #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. */ | |
| 37 | 38 | #define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */ |
| 38 | 39 | #define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */ |
| 39 | 40 | #define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */ |
| @@ -226,4 +227,19 @@ struct virtio_net_ctrl_mq { · 186 unmodified lines | ||
| 226 | 227 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1 |
| 227 | 228 | #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000 |
| 228 | 229 | |
| 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 | + | |
| 229 | 245 | #endif /* _LINUX_VIRTIO_NET_H */ |
| @@ -157,6 +157,12 @@ struct virtio_pci_common_cfg { · 156 unmodified lines | ||
| 157 | 157 | __le32 queue_used_hi; /* read-write */ |
| 158 | 158 | }; |
| 159 | 159 | |
| 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 | + | |
| 160 | 166 | /* Macro versions of offsets for the Old Timers! */ |
| 161 | 167 | #define VIRTIO_PCI_CAP_VNDR 0 |
| 162 | 168 | #define VIRTIO_PCI_CAP_NEXT 1 |
| @@ -31,6 +31,9 @@ · 30 unmodified lines | ||
| 31 | 31 | * SUCH DAMAGE. |
| 32 | 32 | * |
| 33 | 33 | * Copyright Rusty Russell IBM Corporation 2007. */ |
| 34 | +#ifndef __KERNEL__ | |
| 35 | +#include <stdint.h> | |
| 36 | +#endif | |
| 34 | 37 | #include <linux/types.h> |
| 35 | 38 | #include <linux/virtio_types.h> |
| 36 | 39 | |
| @@ -143,7 +146,7 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p, · 106 unmodified lines | ||
| 143 | 146 | vr->num = num; |
| 144 | 147 | vr->desc = p; |
| 145 | 148 | 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) | |
| 147 | 150 | + align-1) & ~(align - 1)); |
| 148 | 151 | } |
| 149 | 152 | |