diff options
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/processor.h | 11 | ||||
-rw-r--r-- | include/asm-powerpc/system.h | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/include/asm-powerpc/processor.h b/include/asm-powerpc/processor.h index 9592f533e058..eee954a001fd 100644 --- a/include/asm-powerpc/processor.h +++ b/include/asm-powerpc/processor.h | |||
@@ -162,10 +162,11 @@ struct thread_struct { | |||
162 | unsigned long dbcr1; | 162 | unsigned long dbcr1; |
163 | #endif | 163 | #endif |
164 | double fpr[32]; /* Complete floating point set */ | 164 | double fpr[32]; /* Complete floating point set */ |
165 | #ifdef CONFIG_PPC32 | 165 | struct { /* fpr ... fpscr must be contiguous */ |
166 | unsigned long fpscr_pad; /* fpr ... fpscr must be contiguous */ | 166 | |
167 | #endif | 167 | unsigned int pad; |
168 | unsigned long fpscr; /* Floating point status */ | 168 | unsigned int val; /* Floating point status */ |
169 | } fpscr; | ||
169 | int fpexc_mode; /* floating-point exception mode */ | 170 | int fpexc_mode; /* floating-point exception mode */ |
170 | #ifdef CONFIG_PPC64 | 171 | #ifdef CONFIG_PPC64 |
171 | unsigned long start_tb; /* Start purr when proc switched in */ | 172 | unsigned long start_tb; /* Start purr when proc switched in */ |
@@ -207,7 +208,7 @@ struct thread_struct { | |||
207 | .regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \ | 208 | .regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \ |
208 | .fs = KERNEL_DS, \ | 209 | .fs = KERNEL_DS, \ |
209 | .fpr = {0}, \ | 210 | .fpr = {0}, \ |
210 | .fpscr = 0, \ | 211 | .fpscr = { .val = 0, }, \ |
211 | .fpexc_mode = MSR_FE0|MSR_FE1, \ | 212 | .fpexc_mode = MSR_FE0|MSR_FE1, \ |
212 | } | 213 | } |
213 | #endif | 214 | #endif |
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h index d60c8c928922..e926e43c4ae6 100644 --- a/include/asm-powerpc/system.h +++ b/include/asm-powerpc/system.h | |||
@@ -132,8 +132,8 @@ extern int emulate_altivec(struct pt_regs *); | |||
132 | extern void giveup_spe(struct task_struct *); | 132 | extern void giveup_spe(struct task_struct *); |
133 | extern void load_up_spe(struct task_struct *); | 133 | extern void load_up_spe(struct task_struct *); |
134 | extern int fix_alignment(struct pt_regs *); | 134 | extern int fix_alignment(struct pt_regs *); |
135 | extern void cvt_fd(float *from, double *to, unsigned long *fpscr); | 135 | extern void cvt_fd(float *from, double *to, struct thread_struct *thread); |
136 | extern void cvt_df(double *from, float *to, unsigned long *fpscr); | 136 | extern void cvt_df(double *from, float *to, struct thread_struct *thread); |
137 | 137 | ||
138 | #ifdef CONFIG_ALTIVEC | 138 | #ifdef CONFIG_ALTIVEC |
139 | extern void flush_altivec_to_thread(struct task_struct *); | 139 | extern void flush_altivec_to_thread(struct task_struct *); |