summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/ppc32.h
diff options
context:
space:
mode:
authorMichael Neuling2008-06-25 06:07:18 +0200
committerPaul Mackerras2008-07-01 03:28:50 +0200
commitce48b2100785e5ca629fb3aa8e3b50aca808f692 (patch)
tree63532ff7cc68b18ca4902bd10e03fcbaaf01cade /arch/powerpc/kernel/ppc32.h
parentpowerpc: Add VSX assembler code macros (diff)
downloadkernel-qcow2-linux-ce48b2100785e5ca629fb3aa8e3b50aca808f692.tar.gz
kernel-qcow2-linux-ce48b2100785e5ca629fb3aa8e3b50aca808f692.tar.xz
kernel-qcow2-linux-ce48b2100785e5ca629fb3aa8e3b50aca808f692.zip
powerpc: Add VSX context save/restore, ptrace and signal support
This patch extends the floating point save and restore code to use the VSX load/stores when VSX is available. This will make FP context save/restore marginally slower on FP only code, when VSX is available, as it has to load/store 128bits rather than just 64bits. Mixing FP, VMX and VSX code will get constant architected state. The signals interface is extended to enable access to VSR 0-31 doubleword 1 after discussions with tool chain maintainers. Backward compatibility is maintained. The ptrace interface is also extended to allow access to VSR 0-31 full registers. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/ppc32.h')
-rw-r--r--arch/powerpc/kernel/ppc32.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/ppc32.h b/arch/powerpc/kernel/ppc32.h
index 90e562771791..dc16aefe1dd0 100644
--- a/arch/powerpc/kernel/ppc32.h
+++ b/arch/powerpc/kernel/ppc32.h
@@ -120,6 +120,7 @@ struct mcontext32 {
elf_fpregset_t mc_fregs;
unsigned int mc_pad[2];
elf_vrregset_t32 mc_vregs __attribute__((__aligned__(16)));
+ elf_vsrreghalf_t32 mc_vsregs __attribute__((__aligned__(16)));
};
struct ucontext32 {