diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-13 20:05:32 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-13 20:05:32 -0500 |
commit | 934f98d7e8123892bd9ca8ea08728ee0784e6597 (patch) | |
tree | 1a73064970020d945ca5f2c31ce420021b99e94c /include | |
parent | f3996e6ac6e2bd739d8a82cc9acae0653c2d5dca (diff) | |
parent | 222e684ca762e9288108fcf852eb5d08cbe10ae3 (diff) |
Merge tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio
Pull VFIO updates from Alex Williamson:
- Use kernel interfaces for VPD emulation (Alex Williamson)
- Platform fix for releasing IRQs (Eric Auger)
- Type1 IOMMU always advertises PAGE_SIZE support when smaller mapping
sizes are available (Eric Auger)
- Platform fixes for incorrectly using copies of structures rather than
pointers to structures (James Morse)
- Rework platform reset modules, fix leak, and add AMD xgbe reset
module (Eric Auger)
- Fix vfio_device_get_from_name() return value (Joerg Roedel)
- No-IOMMU interface (Alex Williamson)
- Fix potential out of bounds array access in PCI config handling (Dan
Carpenter)
* tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio:
vfio/pci: make an array larger
vfio: Include No-IOMMU mode
vfio: Fix bug in vfio_device_get_from_name()
VFIO: platform: reset: AMD xgbe reset module
vfio: platform: reset: calxedaxgmac: fix ioaddr leak
vfio: platform: add dev_info on device reset
vfio: platform: use list of registered reset function
vfio: platform: add compat in vfio_platform_device
vfio: platform: reset: calxedaxgmac: add reset function registration
vfio: platform: introduce module_vfio_reset_handler macro
vfio: platform: add capability to register a reset function
vfio: platform: introduce vfio-platform-base module
vfio/platform: store mapped memory in region, instead of an on-stack copy
vfio/type1: handle case where IOMMU does not support PAGE_SIZE size
VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ
vfio/pci: Use kernel VPD access functions
vfio: Whitelist PCI bridges
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/vfio.h | 3 | ||||
-rw-r--r-- | include/uapi/linux/vfio.h | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/vfio.h b/include/linux/vfio.h index ddb440975382..610a86a892b8 100644 --- a/include/linux/vfio.h +++ b/include/linux/vfio.h | |||
@@ -44,6 +44,9 @@ struct vfio_device_ops { | |||
44 | void (*request)(void *device_data, unsigned int count); | 44 | void (*request)(void *device_data, unsigned int count); |
45 | }; | 45 | }; |
46 | 46 | ||
47 | extern struct iommu_group *vfio_iommu_group_get(struct device *dev); | ||
48 | extern void vfio_iommu_group_put(struct iommu_group *group, struct device *dev); | ||
49 | |||
47 | extern int vfio_add_group_dev(struct device *dev, | 50 | extern int vfio_add_group_dev(struct device *dev, |
48 | const struct vfio_device_ops *ops, | 51 | const struct vfio_device_ops *ops, |
49 | void *device_data); | 52 | void *device_data); |
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h index 9fd7b5d8df2f..751b69f858c8 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h | |||
@@ -39,6 +39,13 @@ | |||
39 | #define VFIO_SPAPR_TCE_v2_IOMMU 7 | 39 | #define VFIO_SPAPR_TCE_v2_IOMMU 7 |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * The No-IOMMU IOMMU offers no translation or isolation for devices and | ||
43 | * supports no ioctls outside of VFIO_CHECK_EXTENSION. Use of VFIO's No-IOMMU | ||
44 | * code will taint the host kernel and should be used with extreme caution. | ||
45 | */ | ||
46 | #define VFIO_NOIOMMU_IOMMU 8 | ||
47 | |||
48 | /* | ||
42 | * The IOCTL interface is designed for extensibility by embedding the | 49 | * The IOCTL interface is designed for extensibility by embedding the |
43 | * structure length (argsz) and flags into structures passed between | 50 | * structure length (argsz) and flags into structures passed between |
44 | * kernel and userspace. We therefore use the _IO() macro for these | 51 | * kernel and userspace. We therefore use the _IO() macro for these |