Age | Commit message (Collapse) | Author | Files | Lines |
|
SPDK would like to statically link in libvfio-user, and it builds against a
staged installation directory, so always install the static library too.
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Allow to add capabilities individually, including extended capabilities, and
those to be handled via the region callback.
As a side effect, rework config space accesses to handle reads that straddle
capabilities and non-standard areas and use callbacks as needed.
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
They haven't kept pace with recent changes, and at this point are of no real use
(and besides, options like CFFI are likely better than hand-rolled bindings).
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Add basic "soname" versioning (but don't yet start using it meaningfully).
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Note that we intentionally don't install it: this is really for use when
building as a sub-module.
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
The muser name no longer reflects the implementation, and will just serve to
confuse. Bite the bullet now, and rename ourselves to reflect the actual
implementation.
Signed-off-by: John Levon <john.levon@nutanix.com>
Reviewed-by: Thanos Makatos <thanos.makatos@nutanix.com>
Reviewed-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
|
|
Introduce include/ dir for public headers, and clean up include guards etc.
|
|
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
|
|
|
|
|
|
Using target_link_libraries for libmuser meant that unused symbols - including
all of the public API - were not brought into the target shared object. Use
CMake's "object library" feature instead, which doesn't use intermediate
archives and thus avoids this issue.
|
|
CentOS 7's cmake 2.8.12.2 apparently doesn't support this.
|
|
|
|
vfio-user is on track to be accepted upstream, so we shouldn't need muser.ko.
This patch removes it since keeping it in the source is a maintanance burden.
The last version is stashed in https://github.com/nutanix/muser/tree/kmod. If
there is a valid use case we can reconsider reinstating it.
fixes #67
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 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>
|
|
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>
|
|
Remove various spurious whitespaces and empty lines. Some other
alignment issues, too.
Signed-off-by: Felipe Franciosi <felipe@nutanix.com>
|
|
This patch introduces experimental support for Python bindings, plus the GPIO
sample in Python.
There are many issues with extending Python (from module stuff to error
handling), the most important one is the inability to modify the buf argument
to the region access callbacks when a region is read from. For now I've resorted
to returning the value since in libmuser we limit accesses to 8 bytes (maybe
we should consider that for the C API as well?). Also, the fact that we don't
pass the region being accessed as an argument to a region access callback
results in clunky code (see the REGION_WRAP macro).
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>
|
|
|