Alexander Shursha wrote: > The current virpci code uses the Linux-specific sysfs subsystem, which makes > it impossible to use on other Unix-like systems. The libpciaccess library > provides a cross-platform API for accessing the PCI bus. Employ it to make > the code portable. > > This makes libpciaccess a non-optional dependency of libvirt. > > Signed-off-by: Alexander Shursha <kek...@ya.ru> > --- > meson.build | 11 +- > meson_options.txt | 4 +- > src/meson.build | 1 + > src/util/virpci.c | 465 +++++++++++---------------------------------- > tests/virpcimock.c | 22 ++- > 5 files changed, 139 insertions(+), 364 deletions(-)
I performed some limited testing of this feature, specifically for passing through a network device (as I currently don't have other applicable devices). The bhyve side of things looks good to me (except for the auto PCI address assignment which looks easy to fix). I don't think I can provide any meaningful review on the virpci side of things though, in fact, I'm not even sure how to test it. I've tried nodedev-attach and nodedev-detach (instead of doing that with external tools), but apparently it needs driver-level support. Anyway, my question is the following: Should we split this series into two: the virpci part and the bhyve part? If I'm not mistaken, they are not tied to each other, and splitting them would make review easier as the bhyve part is almost ready to get it. Thanks, Roman