Hi, I am a software engineer who works in an electronic group. Using QEMU to emulate devices allows me to start writing and testing LINUX software before the device is actually available. In the group, we are mostly working with XILINX FPGAs, communicating with the host via PCIE. The devices are implemented in VHDL.
I wanted to be able to reuse our VHDL designs in QEMU. To this end, I implemented a QEMU TCP based PCIE request forwarder, so that I can emulate our device in a standard process, and use the GHDL GCC frontend plus some glue. The fact that it is TCP based allows me to run the device on another machine, which is a requirement. The whole thing is available here: https://github.com/texane/vpcie The request forwarder is available here: https://github.com/texane/vpcie/blob/master/qemu/pciefw.c It requires a patch to QEMU, available here: https://github.com/texane/vpcie/blob/master/qemu/qemu_58617a795c8067b2f9800cffce60f38707d3aa31.diff Since I am the only one using it and I wanted a working version soon, I use a naive method to plug into QEMU, which can block the VM. Plus, I did not take care of some PCIE related details. But it works well enough. Do you think the approach of forwarding PCIE requests over TCP could be integrated to QEMU? If positive, what kind of modifications should be done to this patch? Best regards, Fabien Le Mentec.