From: Gerd Hoffmann <kraxel@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
Huang Ying <ying.huang@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andi Kleen <andi@firstfloor.org>
Subject: Re: Xenner design and kvm msr handling
Date: Tue, 21 Apr 2009 13:41:20 +0200 [thread overview]
Message-ID: <49EDB0E0.5060101@redhat.com> (raw)
In-Reply-To: <49ED9C70.5010906@redhat.com>
On 04/21/09 12:14, Avi Kivity wrote:
> Gerd Hoffmann wrote:
>> xenner & pv-on-hvm
>> ==================
>>
>> Once we have all this in qemu it is just a small step to also support
>> xenish pv-on-hvm drivers in qemu using the xenner emulation bits.
>> Hypercalls are handled by a small pic binary loaded into the hypercall
>> pages. Loading of the binary is triggered by the msr writes discussed.
>> Size of the binary is only two pages: one hypercall entry points, one
>> code. Communication path is the very same ioport interface also used
>> by emu, i.e. it does *not* use vmcall and thus no opcode changes are
>> needed on migration.
>>
> This gives a good case for exporting MSRs to userspace.
>
> Can you explain the protocol used by this MSR? How does the guest know
> how many pages to load? How does the kernel know which type of page to
> put where?
Sure.
(1) cpuid 0x40000000, check vmm signature
(2) cpuid 0x40000002 -> returns # of pages (eax) and msr (ebx)
(3) allocate pages (normal ram)
(4) foreach page (wrmsr "guest physical address | pageno")
Xen uses msr 0x40000000. Due to the msr being queried via cpuid it
should be possible to use another one. Modulo guest bugs of course ...
> Note that it would still be interesting to have the guest call the
> kernel, so it can kick the host kernel Xen netback driver directly
> instead of going through qemu (and the userspace netback + tap).
With the current codebase netback isn't involved at all. Backend lives
in qemu like virtio-net. It is a very simple one (no GSO support, ...),
there are tons of opportunities for optimizations. Don't feel like
tackeling that right now though. My patch queue is already deep enougth
as-is. Also as time passes the qemu network layer tweaks for virtio-net
should make that job easier ;)
cheers,
Gerd
next prev parent reply other threads:[~2009-04-21 11:41 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-08 1:53 [PATCH] Add MCE support to KVM Huang Ying
2009-04-09 15:50 ` Avi Kivity
2009-04-10 3:00 ` Huang Ying
2009-04-11 12:04 ` Avi Kivity
2009-04-11 12:19 ` Andi Kleen
2009-04-11 12:25 ` Avi Kivity
2009-04-13 8:26 ` Andi Kleen
2009-04-13 2:41 ` Huang Ying
2009-04-13 13:02 ` Avi Kivity
2009-04-14 2:04 ` Huang Ying
2009-04-14 10:45 ` Avi Kivity
2009-04-15 7:24 ` Huang Ying
2009-04-18 22:17 ` Anthony Liguori
2009-04-19 8:33 ` Avi Kivity
2009-04-20 7:52 ` Gerd Hoffmann
2009-04-20 8:26 ` Avi Kivity
2009-04-20 8:59 ` Gerd Hoffmann
2009-04-20 9:05 ` Avi Kivity
2009-04-20 10:04 ` Andi Kleen
2009-04-20 11:02 ` Avi Kivity
2009-04-20 11:23 ` Gerd Hoffmann
2009-04-20 11:27 ` Avi Kivity
2009-04-20 12:20 ` Gerd Hoffmann
2009-04-20 12:43 ` Avi Kivity
2009-04-20 13:24 ` Gerd Hoffmann
2009-04-20 13:45 ` Avi Kivity
2009-04-21 9:14 ` Xenner design and kvm msr handling Gerd Hoffmann
2009-04-21 10:14 ` Avi Kivity
2009-04-21 11:41 ` Gerd Hoffmann [this message]
2009-04-21 12:27 ` Avi Kivity
2009-04-21 12:47 ` Gerd Hoffmann
2009-04-21 13:33 ` Avi Kivity
2009-04-21 16:00 ` Gerd Hoffmann
2009-04-21 16:15 ` Avi Kivity
2009-04-21 16:15 ` Avi Kivity
2009-04-22 10:02 ` Gerd Hoffmann
2009-04-22 10:02 ` Gerd Hoffmann
2009-04-21 16:04 ` [PATCH] Add MCE support to KVM Anthony Liguori
2009-04-21 16:17 ` Avi Kivity
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=49EDB0E0.5060101@redhat.com \
--to=kraxel@redhat.com \
--cc=andi@firstfloor.org \
--cc=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ying.huang@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.