From: Michael Neuling <mikey@neuling.org>
To: Kumar Gala <galak@kernel.crashing.org>
Cc: linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>
Subject: Re: [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX
Date: Thu, 19 Jun 2008 14:30:46 +1000 [thread overview]
Message-ID: <13731.1213849846@neuling.org> (raw)
In-Reply-To: <C780D687-D505-4A01-BED8-9866F4D0160A@kernel.crashing.org>
In message <C780D687-D505-4A01-BED8-9866F4D0160A@kernel.crashing.org> you wrote:
>
> On Jun 18, 2008, at 5:58 PM, Paul Mackerras wrote:
>
> > Kumar Gala writes:
> >
> >> Is VSX mutually exclusive with altivec/fp? is there a MSR bit for
> >> it?
> >
> > It's not exclusive, it's an extension of altivec/fp, and yes it has
> > its own MSR bit to enable it.
>
> what MSR bit does it use... I'm not seeing the code add or test a new
> MSR bit anywhere.
It's introduced in patch 8.
#define MSR_VEC_LG 25 /* Enable AltiVec */
+#define MSR_VSX_LG 23 /* Enable VSX */
#define MSR_POW_LG 18 /* Enable Power Management */
> What exactly do you mean by its an extension of altivec/fp? Are the
> instructions considered part of altivec/fp or is it just reusing the
> register storage like SPE?
VSX is considered separate instructions, but it uses the same
architected registers as FP and VMX.
ie if you execute a VSX instruction which touches VSX regsister 0, it'll
change FP register 0 (and visa versa).
Also, if execute a VSX instruction which touches VSX register 32, it'll
change VMX register 0 (and visa versa). In fact, for this patch we use
the 128bit VMX load/stores to perform the context save/restore on the
VSX registers 32-63.
I guess in theory you could have VSX without FP and VMX, but this patch
assumes you have FP and VMX if you have VSX.
This set of patches should allow any crazy mix of FP, VMX and VSX code
and the architected state should be context switched correctly.
Sorry, I'm not familiar with how SPE works, so I can't comment on it's
relevance.
Mikey
next prev parent reply other threads:[~2008-06-19 4:30 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-18 0:47 [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Michael Neuling
2008-06-18 0:47 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-18 14:53 ` Kumar Gala
2008-06-18 23:55 ` Michael Neuling
2008-06-18 0:47 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-18 0:47 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-18 0:47 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
2008-06-18 0:47 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-18 19:35 ` Kumar Gala
2008-06-18 22:58 ` Paul Mackerras
2008-06-19 4:13 ` Kumar Gala
2008-06-19 4:30 ` Michael Neuling [this message]
2008-06-19 4:22 ` Kumar Gala
2008-06-19 4:35 ` Michael Neuling
2008-06-19 4:58 ` Kumar Gala
2008-06-19 5:37 ` Michael Neuling
2008-06-19 5:47 ` Kumar Gala
2008-06-19 6:01 ` Michael Neuling
2008-06-19 6:10 ` Kumar Gala
2008-06-19 9:33 ` Benjamin Herrenschmidt
2008-06-19 13:24 ` Kumar Gala
2008-06-18 0:47 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-18 0:47 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-18 0:47 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-18 16:28 ` Joel Schopp
2008-06-19 6:51 ` David Woodhouse
2008-06-19 7:00 ` Michael Neuling
2008-06-18 0:47 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-18 13:05 ` [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Kumar Gala
2008-06-18 23:54 ` Michael Neuling
2008-06-20 4:13 ` Michael Neuling
2008-06-20 4:13 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-20 4:13 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-20 6:39 ` Kumar Gala
2008-06-22 11:29 ` Michael Neuling
2008-06-20 4:13 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-20 4:13 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-20 4:13 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
2008-06-20 4:13 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-20 4:13 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-20 6:44 ` Kumar Gala
2008-06-20 4:13 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-20 6:35 ` Kumar Gala
2008-06-20 4:13 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-20 6:37 ` [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Kumar Gala
2008-06-20 8:15 ` Michael Neuling
2008-06-23 5:31 ` Michael Neuling
2008-06-23 5:31 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
2008-06-23 5:31 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-23 5:31 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-23 5:31 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-23 5:31 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-23 5:31 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-23 5:31 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-23 5:31 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-23 5:31 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-23 7:38 ` [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Michael Neuling
2008-06-23 7:38 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-23 14:46 ` Kumar Gala
2008-06-23 7:38 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-23 7:38 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
2008-06-23 7:38 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-23 7:38 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-23 7:38 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-23 7:38 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-23 7:38 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-23 7:38 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-24 10:57 ` [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Michael Neuling
2008-06-24 10:57 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-24 13:47 ` Kumar Gala
2008-06-24 10:57 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-24 14:07 ` Kumar Gala
2008-06-24 16:33 ` Segher Boessenkool
2008-06-25 0:25 ` Michael Neuling
2008-06-24 10:57 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
2008-06-24 10:57 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-24 10:57 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-24 14:01 ` Kumar Gala
2008-06-24 10:57 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-24 14:19 ` Kumar Gala
2008-06-24 10:57 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-24 14:06 ` Kumar Gala
2008-06-25 0:06 ` Michael Neuling
2008-06-25 2:19 ` Kumar Gala
2008-06-24 10:57 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-24 14:19 ` Kumar Gala
2008-06-24 10:57 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-25 4:07 ` [PATCH 0/9] powerpc: Add kernel support for POWER7 VSX Michael Neuling
2008-06-25 4:07 ` [PATCH 2/9] powerpc: Add macros to access floating point registers in thread_struct Michael Neuling
2008-06-25 14:08 ` Kumar Gala
2008-06-25 15:34 ` Scott Wood
2008-06-25 16:12 ` Gabriel Paubert
2008-06-25 16:17 ` Scott Wood
2008-06-25 17:07 ` Kumar Gala
2008-06-26 0:09 ` Michael Neuling
2008-06-26 7:07 ` [PATCH] " Michael Neuling
2008-06-26 10:44 ` [PATCH 2/9] " Gabriel Paubert
2008-06-25 17:08 ` Andreas Schwab
2008-06-25 4:07 ` [PATCH 1/9] powerpc: Fix msr setting in 32 bit signal code Michael Neuling
2008-06-25 4:07 ` [PATCH 7/9] powerpc: Add VSX assembler code macros Michael Neuling
2008-06-25 4:07 ` [PATCH 5/9] powerpc: Introduce VSX thread_struct and CONFIG_VSX Michael Neuling
2008-06-25 4:07 ` [PATCH 8/9] powerpc: Add VSX context save/restore, ptrace and signal support Michael Neuling
2008-06-25 4:07 ` [PATCH 4/9] powerpc: Make load_up_fpu and load_up_altivec callable Michael Neuling
2008-06-25 4:07 ` [PATCH 6/9] powerpc: Add VSX CPU feature Michael Neuling
2008-06-25 4:07 ` [PATCH 9/9] powerpc: Add CONFIG_VSX config option Michael Neuling
2008-06-25 4:07 ` [PATCH 3/9] powerpc: Move altivec_unavailable Michael Neuling
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=13731.1213849846@neuling.org \
--to=mikey@neuling.org \
--cc=galak@kernel.crashing.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=paulus@samba.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).