linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: "Nakajima, Jun" <jun.nakajima@intel.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	kvm-devel@lists.sourceforge.net, Avi Kivity <avi@qumranet.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [kvm-devel] [PATCH] Refactor hypercall infrastructure
Date: Mon, 17 Sep 2007 12:15:28 -0700	[thread overview]
Message-ID: <46EED250.5080207@goop.org> (raw)
In-Reply-To: <97D612E30E1F88419025B06CB4CF1BE1037F83EC@scsmsx412.amr.corp.intel.com>

Nakajima, Jun wrote:
> Using CPUID.0x4000000N (N > 2) does not prevent Xen from doing that,
> either. If you use 0x40001000, 1) you need to say the leaves from
> 0x40000000 through 0x40001000 are all valid, OR 2) you create/fork a
> new/odd leaf (with 0x1000 offset) repeating the detection redundantly. 
>   

I don't see a particular problem with that.  If the whole 0x4xxxxxxx
range is reserved for hypervisor use, and existing hypervisors are
already using 0x400000xx in hypervisor-specific ways, then it makes
sense to start the generic stuff at 0x40001xxx (or some other offset). 
But without a few more implementations of the "generic" interface its
all a bit moot (ie, where's your code? ;).

> Again, 0x40000000 is not Xen specific. If the leaf 0x40000000 is used
> for any guest to detect any hypervisor, that would be compelling
> benefit. For future Xen-specific features, it's safe for Xen to use
> other bigger leaves (like 0x40001000) because the guest starts looking
> at them after detection of Xen. 
>
> Likewise if KVM paravirtualization interface (as kind of "open source
> paravirtualization interface") is detected in the generic areas (not in
> vender-specific), any guest can check the features available without
> knowing which hypervisor uses which CPUID for that. 
>   

This just seems a bit grotty.  You're relying on the fact that you can
overlay Xen's current use of 0x4000000x for the generic interface by
freezing Xen's current use of 40000000-2.  0x40000000 becomes a more or
less useless hypervisor-identification signature (useless because you
need to assume that leaves 4000000x, x>2 implement the generic interface
anyway, where x=1,2 are reserved for Xen (=hypervisor-specific) uses).

In other words, what mechanism can a guest use to explicitly identify
the existence of the generic interface?  There needs to be a signature
for that somewhere.

    J

  parent reply	other threads:[~2007-09-17 19:15 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-14 19:45 [PATCH] Refactor hypercall infrastructure Anthony Liguori
2007-09-14 20:53 ` Jeremy Fitzhardinge
2007-09-14 21:02   ` [kvm-devel] " Anthony Liguori
2007-09-14 21:20     ` Zachary Amsden
2007-09-14 21:44       ` Anthony Liguori
2007-09-15  3:37         ` Zachary Amsden
2007-09-15  8:08           ` Avi Kivity
2007-09-15 17:33           ` Anthony Liguori
2007-09-14 21:22     ` Jeremy Fitzhardinge
2007-09-14 21:46       ` Anthony Liguori
2007-09-14 21:52         ` Jeremy Fitzhardinge
2007-09-14 22:08           ` Anthony Liguori
2007-09-14 22:40             ` Nakajima, Jun
2007-09-14 23:00               ` Jeremy Fitzhardinge
2007-09-15  0:10                 ` Nakajima, Jun
2007-09-15  0:28                   ` Jeremy Fitzhardinge
2007-09-15  1:04                     ` Nakajima, Jun
2007-09-15  4:53                       ` Jeremy Fitzhardinge
2007-09-15  6:11                         ` Nakajima, Jun
2007-09-15 18:23                           ` Anthony Liguori
2007-09-17 18:14                             ` Nakajima, Jun
2007-09-17 18:27                               ` Anthony Liguori
2007-09-17 19:15                                 ` Jeremy Fitzhardinge
2007-09-17 19:33                                   ` Anthony Liguori
2007-09-17 19:15                               ` Jeremy Fitzhardinge [this message]
2007-09-17 20:52                                 ` Nakajima, Jun
2007-09-15  8:00               ` Avi Kivity
2007-09-15  7:53     ` Avi Kivity
2007-09-15  2:35   ` Rusty Russell

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=46EED250.5080207@goop.org \
    --to=jeremy@goop.org \
    --cc=aliguori@us.ibm.com \
    --cc=avi@qumranet.com \
    --cc=jun.nakajima@intel.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.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).