From: Gleb Natapov <gleb@redhat.com>
To: qemu-devel@nongnu.org
Cc: kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH] Vmchannel PCI device.
Date: Sun, 14 Dec 2008 15:12:47 +0200 [thread overview]
Message-ID: <20081214131247.GS5555@redhat.com> (raw)
In-Reply-To: <f43fc5580812140428j15fa8064iee1224b0013ab3e6@mail.gmail.com>
On Sun, Dec 14, 2008 at 02:28:23PM +0200, Blue Swirl wrote:
> On 12/14/08, Gleb Natapov <gleb@redhat.com> wrote:
> > There is a need for communication channel between host and various
> > agents that are running inside a VM guest. The channel will be used
> > for statistic gathering, logging, cut & paste, host screen resolution
> > changes notification, guest configuration etc.
>
> Isn't this exactly what the firmware configuration device was supposed
> to be used for? In the list of use cases you gave, I don't see
> anything that could not be done with it.
>
The requirement for firmware configuration interface was different. We
wanted something simple that we can use as early as possible in cpu init
code and performance was not considered at all. Obviously PCI device doesn't
fit for this. We don't want to write PCI driver inside a BIOS and PCI
initialization is too late in HW initialization sequence.
The requirement for vmchannel was that it should allow a guest
to communicate with external (to qemu) process and with reasonable
performance too. Firmware interface that copies data byte at time does
not fit. And obviously firmware interface lacks interrupts, we don't
want to poll for data in a guest.
> So, to avoid duplicated functionality, I'd add the missing pieces to
> the configuration device and if PCI compatibility is desired, the
> firmware configuration device IO port could be handled by a wrapper
> PCI device much like what you proposed.
>
vmchannel code uses virtio subsistem (which was not present in qemu when
firmware interface was added BTW). Theoretically we can use virtio for
FW interface too, but the in guest part of vitio is too complex to be
added to firmware IMO. Lets keep simple things simple.
--
Gleb.
next prev parent reply other threads:[~2008-12-14 13:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-14 11:50 [Qemu-devel] [PATCH] Vmchannel PCI device Gleb Natapov
2008-12-14 12:28 ` Blue Swirl
2008-12-14 13:12 ` Gleb Natapov [this message]
2008-12-14 19:15 ` Anthony Liguori
2008-12-14 19:37 ` Gleb Natapov
2008-12-14 22:52 ` Anthony Liguori
2008-12-15 9:20 ` Avi Kivity
2008-12-15 9:25 ` Dan Kenigsberg
2008-12-15 15:43 ` Dan Kenigsberg
2008-12-14 22:13 ` Daniel P. Berrange
2008-12-14 22:56 ` Anthony Liguori
2008-12-14 23:33 ` Daniel P. Berrange
2008-12-15 1:18 ` Thiemo Seufer
2008-12-15 2:03 ` Anthony Liguori
2008-12-15 9:47 ` Daniel P. Berrange
2008-12-14 19:24 ` [Qemu-devel] " Anthony Liguori
2008-12-14 19:44 ` Gleb Natapov
2008-12-15 0:41 ` [Qemu-devel] " Paul Brook
2008-12-15 1:50 ` 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=20081214131247.GS5555@redhat.com \
--to=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--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).