Pull virtio updates from Michael Tsirkin: "A small number of improvements all over the place: - vdpa/octeon support for multiple interrupts - virtio-pci support for error recovery - vp_vdpa support for notification with data - vhost/net fix to set num_buffers for spec compliance - virtio-mem now works with kdump on s390 And small cleanups all over the place" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (23 commits) virtio_blk: Add support for transport error recovery virtio_pci: Add support for PCIe Function Level Reset vhost/net: Set num_buffers for virtio 1.0 vdpa/octeon_ep: read vendor-specific PCI capability virtio-pci: define type and header for PCI vendor data vdpa/octeon_ep: handle device config change events vdpa/octeon_ep: enable support for multiple interrupts per device vdpa: solidrun: Replace deprecated PCI functions s390/kdump: virtio-mem kdump support (CONFIG_PROC_VMCORE_DEVICE_RAM) virtio-mem: support CONFIG_PROC_VMCORE_DEVICE_RAM virtio-mem: remember usable region size virtio-mem: mark device ready before registering callbacks in kdump mode fs/proc/vmcore: introduce PROC_VMCORE_DEVICE_RAM to detect device RAM ranges in 2nd kernel fs/proc/vmcore: factor out freeing a list of vmcore ranges fs/proc/vmcore: factor out allocating a vmcore range and adding it to a list fs/proc/vmcore: move vmcore definitions out of kcore.h fs/proc/vmcore: prefix all pr_* with "vmcore:" fs/proc/vmcore: disallow vmcore modifications while the vmcore is open fs/proc/vmcore: replace vmcoredd_mutex by vmcore_mutex fs/proc/vmcore: convert vmcore_cb_lock into vmcore_mutex ...
Showing the changes to include/uapi/linux (2 of 20 files). Show all
Unified · Split
| @@ -1,4 +1,4 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ |
| 2 | #ifndef _UAPI_VDUSE_H_ | 2 | #ifndef _UAPI_VDUSE_H_ |
| 3 | #define _UAPI_VDUSE_H_ | 3 | #define _UAPI_VDUSE_H_ |
| 4 | 4 | ||
| @@ -116,6 +116,8 @@ · 115 unmodified lines | |||
| 116 | #define VIRTIO_PCI_CAP_PCI_CFG 5 | 116 | #define VIRTIO_PCI_CAP_PCI_CFG 5 |
| 117 | /* Additional shared memory capability */ | 117 | /* Additional shared memory capability */ |
| 118 | #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8 | 118 | #define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8 |
| 119 | /* PCI vendor data configuration */ | ||
| 120 | #define VIRTIO_PCI_CAP_VENDOR_CFG 9 | ||
| 119 | 121 | ||
| 120 | /* This is the PCI capability header: */ | 122 | /* This is the PCI capability header: */ |
| 121 | struct virtio_pci_cap { | 123 | struct virtio_pci_cap { |
| @@ -130,6 +132,18 @@ struct virtio_pci_cap { · 8 unmodified lines | |||
| 130 | __le32 length; /* Length of the structure, in bytes. */ | 132 | __le32 length; /* Length of the structure, in bytes. */ |
| 131 | }; | 133 | }; |
| 132 | 134 | ||
| 135 | /* This is the PCI vendor data capability header: */ | ||
| 136 | struct virtio_pci_vndr_data { | ||
| 137 | __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */ | ||
| 138 | __u8 cap_next; /* Generic PCI field: next ptr. */ | ||
| 139 | __u8 cap_len; /* Generic PCI field: capability length */ | ||
| 140 | __u8 cfg_type; /* Identifies the structure. */ | ||
| 141 | __u16 vendor_id; /* Identifies the vendor-specific format. */ | ||
| 142 | /* For Vendor Definition */ | ||
| 143 | /* Pads structure to a multiple of 4 bytes */ | ||
| 144 | /* Reads must not have side effects */ | ||
| 145 | }; | ||
| 146 | |||
| 133 | struct virtio_pci_cap64 { | 147 | struct virtio_pci_cap64 { |
| 134 | struct virtio_pci_cap cap; | 148 | struct virtio_pci_cap cap; |
| 135 | __le32 offset_hi; /* Most sig 32 bits of offset */ | 149 | __le32 offset_hi; /* Most sig 32 bits of offset */ |