qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] TCP based PCIE request forwarding


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] TCP based PCIE request forwarding
Date: Fri, 16 Nov 2012 13:10:56 +0100

On Fri, Nov 16, 2012 at 9:39 AM, lementec fabien
<address@hidden> wrote:
> 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?

Thanks for sharing your code.  There is definitely interest in
integrating hardware simulation with QEMU in the wider community.

There is a little bit of overlap with hw/ivshmem.c but I don't think
ivshmem is as flexible for modelling arbitrary PCIe adapters.

I guess the reason you didn't try linking the GHDL object files
against QEMU is that you wanted full control over the process (e.g. so
you don't need to worry about QEMU's event loop)?

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]