From: Stefan Hajnoczi <stefanha@gmail.com>
To: lementec fabien <fabien.lementec@gmail.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>,
Nick Gasson <nick@nickg.me.uk>,
qemu-devel <qemu-devel@nongnu.org>,
fred.konrad@greensocs.com
Subject: Re: [Qemu-devel] TCP based PCIE request forwarding
Date: Fri, 16 Nov 2012 13:10:56 +0100 [thread overview]
Message-ID: <CAJSP0QU6T3=7fzLXgmbuoTWtxN1vxWtLEu1KupocNZHX-Pvqeg@mail.gmail.com> (raw)
In-Reply-To: <CAAPMK-T4pmMr+SR8miDzDtLuGtS+5Q6yqJk4C80M8PAX21gYKA@mail.gmail.com>
On Fri, Nov 16, 2012 at 9:39 AM, lementec fabien
<fabien.lementec@gmail.com> 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
next prev parent reply other threads:[~2012-11-16 12:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-16 8:39 [Qemu-devel] TCP based PCIE request forwarding lementec fabien
2012-11-16 12:10 ` Stefan Hajnoczi [this message]
2012-11-16 13:05 ` lementec fabien
2012-11-19 8:55 ` Stefan Hajnoczi
2012-11-19 16:00 ` lementec fabien
2012-11-21 14:27 ` lementec fabien
2012-11-22 8:19 ` Stefan Hajnoczi
2012-11-22 10:08 ` lementec fabien
2012-11-22 10:21 ` Paolo Bonzini
2012-11-22 11:26 ` lementec fabien
2012-11-22 12:38 ` Stefan Hajnoczi
2012-11-20 16:41 ` Jason Baron
2012-11-21 13:13 ` lementec fabien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJSP0QU6T3=7fzLXgmbuoTWtxN1vxWtLEu1KupocNZHX-Pvqeg@mail.gmail.com' \
--to=stefanha@gmail.com \
--cc=cam@cs.ualberta.ca \
--cc=fabien.lementec@gmail.com \
--cc=fred.konrad@greensocs.com \
--cc=nick@nickg.me.uk \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).