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: lementec fabien
Subject: Re: [Qemu-devel] TCP based PCIE request forwarding
Date: Fri, 16 Nov 2012 14:05:29 +0100

Hi,

Thanks for your reply.

Actually, I wanted to be independant of the QEMU event loop. Plus,
some proprietary simulation environment provides a closed socket
based interface to 'stimulate' the emulated device, at the PCIE level
for instance. These environments are sometimes installed on cluster
not running QEMU. The socket based approach fits quite well.

Not knowing about QEMU internals, I spent some hours trying to find
out the best way to plug into QEMU, and did not find ivhsmem appropriate.
Honestly, I wanted to have a working solution asap, and it did not take
long before I opted for the socket based approach. Now that it is working,
I can take time to reconsider stuffs according to others need, and ideally
an integration to QEMU.

Fabien.

2012/11/16 Stefan Hajnoczi <address@hidden>:
> 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]