lkml.org 
[lkml]   [2015]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[RFC PATCH 0/3] VFIO: capability chains
From
Date
Please see the commit log and comments in patch 1 for a general
explanation of the problems that this series tries to address. The
general problem is that we have several cases where we want to expose
variable sized information to the user, whether it's sparse mmaps for
a region, as implemented here, or DMA mapping ranges of an IOMMU, or
reserved MSI mapping ranges, etc. Extending data structures is hard;
extending them to report variable sized data is really hard. After
considering several options, I think the best approach is to copy how
PCI does capabilities. This allows the ioctl to only expose the
capabilities that are relevant for them, avoids data structures that
are too complicated to parse, and avoids creating a new ioctl each
time we think of something else that we'd like to report. This method
also doesn't preclude extensions to the fixed structure since the
offset of these capabilities is entirely dynamic.

Comments welcome, I'll also follow-up to the QEMU and KVM lists with
an RFC making use of this for mmaps skipping over the MSI-X table.
Thanks,

Alex

---

Alex Williamson (3):
vfio: Define capability chains
vfio: Define sparse mmap capability for regions
vfio/pci: Include sparse mmap capability for MSI-X table regions


drivers/vfio/pci/vfio_pci.c | 101 +++++++++++++++++++++++++++++++++++++++++++
include/uapi/linux/vfio.h | 53 ++++++++++++++++++++++-
2 files changed, 152 insertions(+), 2 deletions(-)


\
 
 \ /
  Last update: 2015-11-23 22:01    [W:0.079 / U:1.800 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site