From: "H. Peter Anvin" <hpa@zytor.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Jan Beulich <jbeulich@novell.com>,
Arjan van de Ven <arjan@infradead.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
Jeremy Fitzhardinge <jeremy@goop.org>,
the arch/x86 maintainers <x86@kernel.org>,
Xen-devel <xen-devel@lists.xensource.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 10/24] xen: mask XSAVE from cpuid
Date: Tue, 17 Mar 2009 08:48:31 -0700 [thread overview]
Message-ID: <49BFC64F.4080300@zytor.com> (raw)
In-Reply-To: <20090317115621.GQ11935@one.firstfloor.org>
Andi Kleen wrote:
>> The point is YOU DON'T KNOW. In particular, there might be new traps,
>> there might be new state, there might be new MSRs, there might be new
>> control bits... anything. Therefore, you cannot blindly pass the bit
>> on, even though XSAVE solves one part of the problem.
>
> I think what will happen if you don't expose it is that there will
> be always hypervisors which are behind and applications/OS will end up
> doing probing for opcodes instead of trusting CPUID bits.
>
> Probably not what you intended.
>
Probing for opcodes is even more harmful, though. But yes, we don't
have a good answer to this, and I believe we *can't* have a good answer
to this either -- we could architect the CPUID instruction a bit
differently, but that doesn't account for the various needs of
differnent hypervisors.
Hypervisor vendors can of course make this easier by making their CPUID
code pluggable so the end user can "hotfix" upgrade it without upgrading
the hypervisor (which makes a lot of them nervous.)
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
next prev parent reply other threads:[~2009-03-17 15:56 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-13 8:11 [GIT PULL] 2.6.30 Xen core updates Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 01/24] xen: disable preempt for leave_lazy_mmu Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 02/24] xen: separate p2m allocation from setting Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 03/24] xen: dynamically allocate p2m tables Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 04/24] xen: split construction of p2m mfn tables from registration Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 05/24] xen: clean up xen_load_gdt Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 06/24] xen: make xen_load_gdt simpler Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 07/24] xen: remove xen_load_gdt debug Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 08/24] xen: reserve i386 Xen pagetables Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 09/24] NULL noise: arch/x86/xen/smp.c Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 10/24] xen: mask XSAVE from cpuid Jeremy Fitzhardinge
2009-03-13 9:50 ` [Xen-devel] " Jan Beulich
2009-03-13 15:13 ` Jeremy Fitzhardinge
2009-03-15 18:45 ` H. Peter Anvin
2009-03-15 21:03 ` Jeremy Fitzhardinge
2009-03-15 22:47 ` Arjan van de Ven
2009-03-16 0:05 ` Jeremy Fitzhardinge
2009-03-16 0:09 ` Arjan van de Ven
2009-03-16 0:57 ` H. Peter Anvin
2009-03-16 14:16 ` Jan Beulich
2009-03-16 14:29 ` Arjan van de Ven
2009-03-16 23:59 ` Andi Kleen
2009-03-17 1:33 ` H. Peter Anvin
2009-03-17 11:56 ` Andi Kleen
2009-03-17 15:48 ` H. Peter Anvin [this message]
2009-03-17 15:49 ` Arjan van de Ven
2009-03-17 15:55 ` Andi Kleen
2009-03-17 7:53 ` Jan Beulich
2009-03-17 10:48 ` Andi Kleen
2009-03-17 10:55 ` Jan Beulich
2009-03-13 8:11 ` [PATCH 11/24] xen: add FIX_TEXT_POKE to fixmap Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 12/24] x86-64: remove PGE from must-have feature list Jeremy Fitzhardinge
2009-03-15 21:18 ` H. Peter Anvin
2009-03-15 21:25 ` Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 13/24] Xen: Add virt_to_pfn helper function Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 14/24] xen: add irq_from_evtchn Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 15/24] xen: add /dev/xen/evtchn driver Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 16/24] xen: export ioctl headers to userspace Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 17/24] xen/dev-evtchn: clean up locking in evtchn Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 18/24] xen: add "capabilities" file Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 19/24] xen: add /sys/hypervisor support Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 20/24] xen/sys/hypervisor: change writable_pt to features Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 21/24] xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 22/24] xen: remove suspend_cancel hook Jeremy Fitzhardinge
2009-03-13 10:08 ` [Xen-devel] " Jan Beulich
2009-03-13 15:17 ` Jeremy Fitzhardinge
2009-03-13 8:11 ` [PATCH 23/24] xen: use device model for suspending xenbus devices Jeremy Fitzhardinge
2009-03-13 10:09 ` [Xen-devel] [PATCH 23/24] xen: use device model for suspendingxenbus devices Jan Beulich
2009-03-13 8:12 ` [PATCH 24/24] xen/xenbus: export xenbus_dev_changed Jeremy Fitzhardinge
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=49BFC64F.4080300@zytor.com \
--to=hpa@zytor.com \
--cc=andi@firstfloor.org \
--cc=arjan@infradead.org \
--cc=jbeulich@novell.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox