Age | Commit message (Collapse) | Author | Files | Lines |
|
The parent directories must exist and the last component must be the
IOMMU group.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
SPDK has a hard time running as non-root. This is a temporary hack.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This allows package systems to use /usr (instead of CMake's default
/usr/local), which is the typical choice.
|
|
This avoids problems with cgroups.
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>
|
|
Compilation is broken because it required an existing installation of libmuser,
including the correct header files fixes it.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This allows system calls to return if a signal is sent (e.g. SIGINT) in order
to clean uo properly.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This helps reduce noise and debugging.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This simplifies callers of lm_log who use errno.
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>
|
|
The fd might come from another process so it doesn't make sense, the IOVA range
alone is sufficient to determine the DMA region to unmap.
Also, don't fail unmapping DMA regions that don't exist. Maybe we should revisit
this and ignore the error at the client side?
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>
|
|
fixes #47
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 is required for restartable device emulation.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This should probably only be done for debug builds, and I don't think we need
to print the fd. I'm enabling it for now because this is a new feature so it's
good to have these messages until we're convinced it works properly.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
The problem of not receiving a DMA unmap looks like it will be solved by having
VFIO send us the DMA unmap even if we haven't called vfio_pin_pages, so instead
of failing for regions we haven't mapped (e.g. non-shared regions) we simply
ignore that operation.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This enables huge pages to work. Also, it avoids requiring having to pin memory.
The solution is not 100% correct because since we no longer call vfio_pin_pages,
VFIO doesn't send the DMA registration event and we end up getting duplicate
regions which we reject (this is because of our internal DMA bookkeeping
implementation). We need to work with the community to find a solution.
fixes #28
fixes #29
fixes #38
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>
|
|
The muser print macro automatically inserts a new line.
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
This is a struct private to muser.
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>
|
|
Otherwise kmalloc can fail to allocate memory for larger guest VM RAM (>= 3GB).
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Fix for #34 issue
|
|
Grab the module reference if mudev is opened from vfio side.
We need to protect module unloads if,
1> mudev is opened by qemu
2> mudev is opened by device emulation
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
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: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
General cleanup and fixes
|
|
When the application close(muser_control_dev), do not destroy the
DMA_MAP information.
Reasons:
- Application should be able to connect back to DMA_MAP's.
- Qemu(vfio-client) is not aware when the DMA_MAP is destroyed.
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|