From: Paul Brook <paul@codesourcery.com>
To: Scott Wood <scottwood@freescale.com>
Cc: Wood Scott-B07421 <B07421@freescale.com>,
Alexander Graf <agraf@suse.de>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"blauwirbel@gmail.com" <blauwirbel@gmail.com>,
Yoder Stuart-B08248 <B08248@freescale.com>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"joerg.roedel@amd.com" <joerg.roedel@amd.com>,
"dwg@au1.ibm.com" <dwg@au1.ibm.com>,
"armbru@redhat.com" <armbru@redhat.com>
Subject: Re: [Qemu-devel] device assignment for embedded Power
Date: Fri, 1 Jul 2011 18:03:01 +0100 [thread overview]
Message-ID: <201107011803.01887.paul@codesourcery.com> (raw)
In-Reply-To: <20110701114301.08d0154b@schlenkerla.am.freescale.net>
> > irq[0].guest_irq = "10"
> >
> > This should be independent of anything to do with device tree. This
> > would be useful for x86 too to assign platform devices (like the HPET).
>
> That's fine, as long as there's something layered on top of it for the case
> where we do want to reference something in the device tree.
>
> However, we'll need to address the question of what it means to say "irq
> 10" -- outside of PC-land there often isn't a global IRQ numberspace that
> isn't a fiction created by some software layer. Addressing this is one of
> the device tree's strengths.
That's an entirely separate problem, thoug probably a prerequisite.
Basically you should start by implementing full emulation of a device with
similar characteristics to the one you want to passthrough.
Then fix whatever is needed to allow the user to contol instantiation of those
devices. This almost certainly means using the -device commandline option.
This currently only works for a fairly simple subset of devices (approximately
PCI and USB), so you'll probably need to fix/implement the missing bits. To
do this you'll probably need to do some work on the various bits of the qdev
relating to linking devices together. See recent discussion about sockets in
the "basic support for composing sysbus devices" thread.
To expose this to the guest you'll probably also need to implement some form
of dynamic device tree assembly/manipulation. Not strictly necessary (we can
require the user supply a complete device tree that matches whatever devices
they've configured), but probably highly desirable.
Once you've done all the above, host device passthrough should be relatively
straightforward. Just replace the emulation bits in the above device with
code that pokes at a real device via the relevant kernel API.
Paul
next prev parent reply other threads:[~2011-07-01 17:03 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-30 15:59 [Qemu-devel] device assignment for embedded Power Yoder Stuart-B08248
2011-07-01 0:58 ` Benjamin Herrenschmidt
2011-07-01 11:40 ` Alexander Graf
2011-07-01 12:13 ` Anthony Liguori
2011-07-01 12:10 ` Anthony Liguori
2011-07-01 12:52 ` Paul Brook
2011-07-01 13:33 ` Anthony Liguori
2011-07-01 16:43 ` Scott Wood
2011-07-01 17:03 ` Paul Brook [this message]
2011-07-01 17:49 ` Scott Wood
2011-07-01 20:59 ` Paul Brook
2011-07-01 21:51 ` Scott Wood
2011-07-01 23:33 ` Paul Brook
2011-07-01 23:05 ` Benjamin Herrenschmidt
2011-07-01 23:50 ` Paul Brook
2011-07-02 2:17 ` Alexander Graf
2011-07-02 11:45 ` Paul Brook
2011-07-01 22:35 ` Anthony Liguori
2011-07-01 22:32 ` Anthony Liguori
2011-07-05 18:16 ` Scott Wood
2011-07-01 16:34 ` Scott Wood
2011-07-05 18:19 ` Yoder Stuart-B08248
2011-07-05 22:23 ` Alexander Graf
2011-07-01 11:16 ` Paul Brook
2011-07-01 11:33 ` Alexander Graf
2011-07-01 11:55 ` Paul Brook
2011-07-01 12:02 ` Alexander Graf
2011-07-01 12:14 ` Anthony Liguori
2011-07-01 17:51 ` Scott Wood
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=201107011803.01887.paul@codesourcery.com \
--to=paul@codesourcery.com \
--cc=B07421@freescale.com \
--cc=B08248@freescale.com \
--cc=agraf@suse.de \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=dwg@au1.ibm.com \
--cc=joerg.roedel@amd.com \
--cc=qemu-devel@nongnu.org \
--cc=scottwood@freescale.com \
/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).