From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] VirtIO Support for Memory Regions
Date: Wed, 24 Feb 2010 09:01:37 -0600 [thread overview]
Message-ID: <4B853F51.8090705@codemonkey.ws> (raw)
In-Reply-To: <4B850A1A.40600@redhat.com>
On 02/24/2010 05:14 AM, Avi Kivity wrote:
> On 02/24/2010 08:20 AM, Cam Macdonell wrote:
>>
>>> Virtio is really a DMA engine. One of the nice things about it's
>>> design is
>>> that you can do things like transparent bounce buffering if needed.
>>> Adding
>>> a mechanism like this breaks this abstract and turns virtio into
>>> something
>>> that's more than I think it should be.
>>>
>>> For guest shared memory, what makes sense to me is to make use of
>>> uio_pci
>>> within a guest to map bars in userspace. The device can have the
>>> first bar
>>> map a small MMIO region that is tied to a ioeventfd with KVM. With
>>> just
>>> qemu, it can be tied to a normal eventfd. You can use irqfd with
>>> KVM to tie
>>> an eventfd to the PCI irq. Likewise, you can use a normal eventfd to
>>> emulate that. I'd suggest using a /dev/shm file to act as the
>>> shared memory
>>> segment. You'll need a little magic within qemu_ram_alloc() to use
>>> this
>>> (maybe qemu_ram_alloc() should take a context parameter so this can be
>>> setup).
>> Part of my goal with this patch was to support systems without PCI.
>> My previous patch
>
> Which? The only one I know of is s390 (and it would be a pity not to
> have shared memory for that).
uio provides insulation against devices and busses. When you use uio in
userspace, you don't have to have direct knowledge of the fact that a
device is or isn't a PCI device.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2010-02-24 15:01 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-23 20:52 [Qemu-devel] [PATCH] VirtIO Support for Memory Regions Cam Macdonell
2010-02-23 21:05 ` Anthony Liguori
2010-02-23 21:09 ` Anthony Liguori
2010-02-24 6:20 ` Cam Macdonell
2010-02-24 11:14 ` Avi Kivity
2010-02-24 15:01 ` Anthony Liguori [this message]
2010-02-24 15:13 ` Anthony Liguori
2010-02-24 15:41 ` Anthony Liguori
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=4B853F51.8090705@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=cam@cs.ualberta.ca \
--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).