diff options
author | Michael Neuling <mikey@neuling.org> | 2008-06-25 00:07:18 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-06-30 21:28:48 -0400 |
commit | 72ffff5b1792b0fa4d40a8e2f3276fff999820ec (patch) | |
tree | 50dbf11b043350b98fcccd9f838b0f31f49997a5 /arch/powerpc/kernel/fpu.S | |
parent | b962ce9d26fd6677e6720949642420ceb029a102 (diff) |
powerpc: Add VSX assembler code macros
This adds the macros for the VSX load/store instruction as most
binutils are not going to support this for a while.
Also add VSX register save/restore macros and vsr[0-63] register definitions.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/fpu.S')
-rw-r--r-- | arch/powerpc/kernel/fpu.S | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/fpu.S b/arch/powerpc/kernel/fpu.S index 8a2b3d62b9b8..15247fe171a8 100644 --- a/arch/powerpc/kernel/fpu.S +++ b/arch/powerpc/kernel/fpu.S | |||
@@ -24,6 +24,29 @@ | |||
24 | #include <asm/ppc_asm.h> | 24 | #include <asm/ppc_asm.h> |
25 | #include <asm/asm-offsets.h> | 25 | #include <asm/asm-offsets.h> |
26 | 26 | ||
27 | #ifdef CONFIG_VSX | ||
28 | #define REST_32FPVSRS(n,c,base) \ | ||
29 | BEGIN_FTR_SECTION \ | ||
30 | b 2f; \ | ||
31 | END_FTR_SECTION_IFSET(CPU_FTR_VSX); \ | ||
32 | REST_32FPRS(n,base); \ | ||
33 | b 3f; \ | ||
34 | 2: REST_32VSRS(n,c,base); \ | ||
35 | 3: | ||
36 | |||
37 | #define SAVE_32FPVSRS(n,c,base) \ | ||
38 | BEGIN_FTR_SECTION \ | ||
39 | b 2f; \ | ||
40 | END_FTR_SECTION_IFSET(CPU_FTR_VSX); \ | ||
41 | SAVE_32FPRS(n,base); \ | ||
42 | b 3f; \ | ||
43 | 2: SAVE_32VSRS(n,c,base); \ | ||
44 | 3: | ||
45 | #else | ||
46 | #define REST_32FPVSRS(n,b,base) REST_32FPRS(n, base) | ||
47 | #define SAVE_32FPVSRS(n,b,base) SAVE_32FPRS(n, base) | ||
48 | #endif | ||
49 | |||
27 | /* | 50 | /* |
28 | * This task wants to use the FPU now. | 51 | * This task wants to use the FPU now. |
29 | * On UP, disable FP for the task which had the FPU previously, | 52 | * On UP, disable FP for the task which had the FPU previously, |