Using VFIO vs. developing a kernel module

sainath grandhi saiallforums at gmail.com
Thu May 27 23:23:05 AEST 2021


Hello,
Our project has an FPGA connected to BMC as a PCIe endpoint. This
endpoint provides a set of registers via MMIO and an interrupt for
notifying completion of work. This endpoint also implements AER
capability.

We have two options to enable this endpoint.
1) Write a new kernel module with a character device interface for
user-space interaction.
2) Use VFIO infrastructure provided by Linux and write an user-space
application.

I am reaching out to the community to check if there is any
recommended option, using VFIO vs. implementing a new kernel module,
or any previous experiences weighing in one option over the other.

A quick grep on https://github.com/openbmc/openbmc with CONFIG_VFIO
does not return any default configs using it.

Please advise.


More information about the openbmc mailing list