public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Mikael Pettersson <mikpe@it.uu.se>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>,
	mingo@elte.hu, tglx@linutronix.de, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, andi@firstfloor.org,
	roland@redhat.com, drepper@redhat.com, Hongjiu.lu@intel.com,
	linux-kernel@vger.kernel.org, arjan@linux.intel.com,
	rmk+lkml@arm.linux.org.uk, dan@debian.org,
	asit.k.mallick@intel.com
Subject: Re: [RFC] x86: xsave/xrstor support, ucontext_t extensions
Date: Mon, 19 May 2008 09:29:01 -0700	[thread overview]
Message-ID: <4831AACD.8030607@zytor.com> (raw)
In-Reply-To: <18481.37905.297556.288317@harpo.it.uu.se>

Mikael Pettersson wrote:
> 
> My problem with the OSXAVE flag is that it's a very indirect way of
> communicating the layout of sigframes and sigcontexts. These structures
> should, if at all possible, be self-describing. A single flag bit in
> the sigcontext could handle both structures (since a sigframe always
> includes a sigcontext).
> 

It's also wrong, since OSXSAVE indicates that the CPU can do it, not 
that the kernel can.

> 
>>> struct _fpstate has a 'magic' field which distinguishes x87-only
>>> from x87+FXSR structs. Could that field also be used to indicate XSAVE?
>> I don't think we can use the existing 'magic' field.
> 
> Hmm, right now it seems this field has a de-facto ABI of being
> either 0xffff (plain) or 0x0000 (fxsr). Using other values would
> confuse at least one application I know of. Sad.
> 

Well, arguably it is the right thing to use since we're talking about a 
new format.  The difference is that the new format *does* extend 
backwards to match the old format.

>> But we can
>> use some what similar magic, if the fxsave/fxrstor give away
>> some of the fields at the end of fxsave image (today it is reserved
>> and ignored during fxsave/fxrstor) for software use.
>> We can then use these fields at the end of fpstate, to indicate the presence of
>> xstate. But this requires some architecture changes like giving
>> away this space for SW use. We can take this to architects and
>> see what they think.
> 
> If the HW doesn't store anything valuable there, we could store
> SW flags/cookies there on signal delivery, and clear them before
> fxrstor (unless the HW is known to ignore those fields).
> But it depends on how forgiving the HW is.

All we need is a single field -- a single byte -- reserved indefinitely 
for software use.  Existing FXSAVE kernels will have set it to zero.

There might be fields the existing FXSAVE format which can be equally 
abused, even.  I will do some looking.

	-hpa


  parent reply	other threads:[~2008-05-19 16:39 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-13  1:10 [RFC] x86: xsave/xrstor support, ucontext_t extensions Suresh Siddha
2008-05-16 13:26 ` Mikael Pettersson
2008-05-18  1:34   ` Suresh Siddha
2008-05-19 14:52     ` Mikael Pettersson
2008-05-19 15:04       ` Andi Kleen
2008-05-19 16:29       ` H. Peter Anvin [this message]
2008-05-19 16:57         ` Suresh Siddha
2008-05-19 17:45           ` H. Peter Anvin
2008-05-20  1:57       ` Suresh Siddha
2008-05-20  8:58         ` Mikael Pettersson
2008-05-20 10:01         ` Andi Kleen
2008-05-20 13:19           ` Mikael Pettersson
2008-05-20 14:58             ` H. Peter Anvin
2008-05-20 15:20               ` Mikael Pettersson
2008-05-20 17:53                 ` Suresh Siddha
2008-05-20 17:59                   ` H. Peter Anvin
2008-05-22  0:28                   ` H. Peter Anvin
2008-05-22  0:53                     ` Roland McGrath
2008-05-22  1:38                       ` H. Peter Anvin
2008-05-22  6:40                         ` Roland McGrath
2008-05-22  7:18                           ` H. Peter Anvin
2008-05-22  8:49                       ` Mikael Pettersson
2008-05-22  8:57                     ` Mikael Pettersson
2008-05-22 20:56                       ` Suresh Siddha
2008-05-22 21:02                         ` H. Peter Anvin
2008-05-22 21:29                           ` Suresh Siddha
2008-05-22 21:34                             ` H. Peter Anvin
2008-05-22 22:22                               ` Mikael Pettersson
2008-05-23  1:48                               ` Suresh Siddha
2008-05-23  2:12                                 ` Roland McGrath
2008-05-23  2:49                                   ` H. Peter Anvin
2008-05-23 18:09                                     ` Suresh Siddha
2008-06-06  0:28                                       ` x86: xsave/xrstor support; " H. Peter Anvin
2008-06-06 20:14                                         ` Suresh Siddha
2008-06-06 23:03                                           ` H. Peter Anvin
2008-05-23  2:45                                 ` [RFC] x86: xsave/xrstor support, " H. Peter Anvin
2008-05-23 11:46                                   ` Mikael Pettersson
2008-05-23 12:11                                     ` Andi Kleen
2008-05-22 21:32                           ` Chris Wright
2008-05-22 22:15                             ` Mikael Pettersson
2008-05-22 22:29                               ` Chris Wright
2008-05-23  0:32                                 ` H. Peter Anvin
2008-05-23  0:44                                   ` Chris Wright
2008-05-22 22:36                           ` Mikael Pettersson
2008-05-23  0:33                             ` H. Peter Anvin
2008-05-23  0:42                               ` Suresh Siddha
2008-05-23  1:33                                 ` Roland McGrath
2008-05-23 16:57                                   ` H. Peter Anvin
2008-05-23 17:50                                     ` Suresh Siddha
2008-05-23  2:27                                 ` H. Peter Anvin
2008-05-20 17:57                 ` H. Peter Anvin
2008-05-20 14:55           ` H. Peter Anvin
2008-05-20 15:03             ` Andi Kleen
2008-05-20 20:10               ` Roland McGrath
2008-05-22  0:05                 ` H. Peter Anvin
2008-05-22  0:47                   ` Roland McGrath
2008-05-22  8:14                     ` Andi Kleen

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=4831AACD.8030607@zytor.com \
    --to=hpa@zytor.com \
    --cc=Hongjiu.lu@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=arjan@linux.intel.com \
    --cc=asit.k.mallick@intel.com \
    --cc=dan@debian.org \
    --cc=drepper@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    --cc=mingo@elte.hu \
    --cc=rmk+lkml@arm.linux.org.uk \
    --cc=roland@redhat.com \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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