Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is my current working state of PCIe support in MirageOS. Currently PCIe devices are supported on Linux via
mirage-pci-unix
and Solo5 (hvt on Linux only) viamirage-pci-solo5
, both throughmirage-pci
. Both versions use the host's IOMMU through VFIO. The only driver currently supported isixy.ml
which acts as a MirageOS network device.There are still a few little things to be ironed out and a bunch of cleanup to be done, and also the modifications to Solo5 are not upstreamed (and I doubt they will be in the current state). Currently I don't have the time to deal with it. If somebody were to review the code and point out what needs to be done, I'd be happy to take a look in the coming weeks.
I built the modifications against the latest MirageOS stable release and only just now rebased onto master.
To try a full setup an ixgbe-compatible NIC, a modified build of mirage-solo5, a modified build of hvt and ixy.ml are required. I tested such a setup using mirage_iperf with a tweaked config.