From: Arjan van de Ven <arjan@infradead.org>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Jan Beulich <jbeulich@novell.com>,
Xen-devel <xen-devel@lists.xensource.com>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [Xen-devel] [PATCH 10/24] xen: mask XSAVE from cpuid
Date: Sun, 15 Mar 2009 15:47:18 -0700 [thread overview]
Message-ID: <20090315154718.00353625@infradead.org> (raw)
In-Reply-To: <49BD6D0E.1010107@goop.org>
On Sun, 15 Mar 2009 14:03:10 -0700
Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> H. Peter Anvin wrote:
> > Jeremy Fitzhardinge wrote:
> >
> >> Jan Beulich wrote:
> >>
> >>> As pointed out on an earlier thread, it seems inappropriate to do
> >>> probing like this when there is a cpuid feature flag (osxsave)
> >>> that can be used to
> >>> determine whether XSAVE can be used. And even without that flag,
> >>> simply reading CR4 and checking whether osxsave is set there would
> >>> suffice. This is under the assumption that Xen's to-be-done
> >>> implementation
> >>> of XSAVE support would match that of FXSAVE (Xen turns its
> >>> support on unconditionally and for all [pv] guests).
> >>>
> >> I didn't want to make too many assumptions about how Xen's XSAVE
> >> support would look. In particular, I thought it might virtualize
> >> the state of OSXSAVE to give the guest the honour of appearing to
> >> enable it. A guest kernel may get confused if it starts with
> >> OSXSAVE set, as it may use it to control its own init logic.
> >>
> >
> > That wouldn't be an issue if you use the *native* CPUID to look for
> > OSXSAVE early on, since such virtualization would only be visible
> > though the PV interface, right?
> >
> > It seems cleaner than probing, to be sure...
> >
>
> Well, at the moment the problem is that cpuid (both PV and native)
> show XSAVE, but Xen prevents cr4.OSXSAVE from being set, crashing the
> kernel. There's now a patch in Xen to mask XSAVE in CPUID, so that
> guests don't try to use it; the patch in the kernel is just to
> support non-bleeding-edge versions of Xen.
This is indicative of something that might be a huge bug in Xen:
Xen should never ever pass through CPUID bits it does not know.
If Xen does not honor that, there is a fundamental and eternally
recurring problem.... every time something new gets introduced Xen
likely breaks.
--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
next prev parent reply other threads:[~2009-03-15 22:53 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 [this message]
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
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=20090315154718.00353625@infradead.org \
--to=arjan@infradead.org \
--cc=hpa@zytor.com \
--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
all inboxes | Powered by JetHome®