[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48EBF4A7.3080704@goop.org>
Date: Tue, 07 Oct 2008 16:45:43 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: "H. Peter Anvin" <hpa@...or.com>
CC: "Nakajima, Jun" <jun.nakajima@...el.com>,
"akataria@...are.com" <akataria@...are.com>,
"avi@...hat.com" <avi@...hat.com>,
Rusty Russell <rusty@...tcorp.com.au>,
Gerd Hoffmann <kraxel@...hat.com>, Ingo Molnar <mingo@...e.hu>,
the arch/x86 maintainers <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Daniel Hecht <dhecht@...are.com>,
Zach Amsden <zach@...are.com>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>
Subject: Re: [RFC] CPUID usage for interaction between Hypervisors and Linux.
H. Peter Anvin wrote:
> And you're absolutely right that the guest may end up picking and
> choosing different parts of the interfaces. That's how it is supposed
> to work.
No, that would be a horrible, horrible mistake. There's no sane way to
implement that; it would mean that the hypervisor would have to have
some kind of state model that incorporates all the ABIs in a consistent
way. Any guest using multiple ABIs would effectively end up being
dependent on a particular hypervisor via a frankensteinian interface
that no other hypervisor would implement in the same way, even if they
claim to implement the same set of interfaces.
If the hypervisor just needs to deal with one at a time then it can have
relatively simple ABI<->internal state translation.
However, if you have the notion of hypervisor-agnostic or common
interfaces, then you can include those as part of the rest of the ABI
and make it sane (so Xen+common, hyperv+common, etc).
J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists