Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
vfio_device_info.argsz is set by the client and server is expected to
use/validate it.
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Initial client and server implementation of VFIO_USER_DEVICE_GET_INFO.
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Fix catching error from init_sock
|
|
init_sock() returns -errno, so no need to user errno
variable to get the error value.
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
libmuser always adds a newline
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Changpeng Liu changpeng.liu@intel.com
|
|
This patch adds cleanup during error out in init_socket.
Also no need to create control socket path, bind() on AF_UNIX
creates the path internally.
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
|
|
Cleanup 3
|
|
Fixes the type used in a format string and remove some whitespaces.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
This fixes vfio.diff to apply cleanly on Linux 5.8 and renames
vm_insert_pages to _vm_insert_pages because an upstream function of the
same name has been added to the kernel since. Future work will include
replacing our version of vm_insert_pages with the upstream and redo all
necessary testing.
We also update travis to use v5.8.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
This creates several smaller libraries out of the compilation units of
the muser userspace library. It then links them together to build the
shared library.
In this process, we also generate unit test version of the libraries
which include --coverage in the compilation and linking of those files.
Those will be statically linked to unit tests later on.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
During lm_ctx_create, the pci_info struct from dev_info was being
completely copied with a big memcpy(). That had the side-effect of
copying pointers that were not allocated by us. Shortly after,
copy_sparse_mmap_areas() rewrites these pointers with memory allocated
by the library. As a result, any failure half-way through setting up the
context would result in free_sparse_mmap_areas() calling free() on
pointers we did not allocate (which resulted in errors or double frees).
This fixes it by replacing the memcpy() with pci_info_bounce() which
selectively copies only what is needed.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
We were leaking the areas bounced by copy_sparse_mmap_areas(). This
fixes the leak by freeing the areas on the destructor.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
On certain error paths, @dma will be NULL. This makes the destructor
cope with it.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
For clarity and better project organisation towards unit tests, this
renames libmuser.c to muser_ctx.c and libmuser_pci.c to muser_pci.c.
CMakeLists is fixed accordingly including some other minor cleanup.
Future work should further split muser_ctx.c so that unit tests can
genuinely be written towards testing compilation units.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
When PCI_COMMAND interrupt disable bit set to 1, it means
disable the pin-based INTx interrupt.
For NVMe controller, it will use INTx first, and then switch
to MSIX, the interrupt vector 0 is both valid for INTx and
MSIX, so here we remove the check when posting an interrupt,
just check the interrupt fd is valid or not.
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This patch greatly refactors PCI capabilities. The main change is that we
don't keep them in a list but simply store them in the PCI configuration
space. Some corner cases aren't handled yet. It also fixes a bug where a
capability isn't properly read depending on where it's located.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|