diff options
Diffstat (limited to 'arch/powerpc/include/asm/processor.h')
-rw-r--r-- | arch/powerpc/include/asm/processor.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index d7e67ca8b4a6..14a658363698 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h | |||
@@ -284,6 +284,12 @@ struct thread_struct { | |||
284 | unsigned long ebbrr; | 284 | unsigned long ebbrr; |
285 | unsigned long ebbhr; | 285 | unsigned long ebbhr; |
286 | unsigned long bescr; | 286 | unsigned long bescr; |
287 | unsigned long siar; | ||
288 | unsigned long sdar; | ||
289 | unsigned long sier; | ||
290 | unsigned long mmcr0; | ||
291 | unsigned long mmcr2; | ||
292 | unsigned long mmcra; | ||
287 | #endif | 293 | #endif |
288 | }; | 294 | }; |
289 | 295 | ||
@@ -403,21 +409,16 @@ static inline void prefetchw(const void *x) | |||
403 | #endif | 409 | #endif |
404 | 410 | ||
405 | #ifdef CONFIG_PPC64 | 411 | #ifdef CONFIG_PPC64 |
406 | static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) | 412 | static inline unsigned long get_clean_sp(unsigned long sp, int is_32) |
407 | { | 413 | { |
408 | unsigned long sp; | ||
409 | |||
410 | if (is_32) | 414 | if (is_32) |
411 | sp = regs->gpr[1] & 0x0ffffffffUL; | 415 | return sp & 0x0ffffffffUL; |
412 | else | ||
413 | sp = regs->gpr[1]; | ||
414 | |||
415 | return sp; | 416 | return sp; |
416 | } | 417 | } |
417 | #else | 418 | #else |
418 | static inline unsigned long get_clean_sp(struct pt_regs *regs, int is_32) | 419 | static inline unsigned long get_clean_sp(unsigned long sp, int is_32) |
419 | { | 420 | { |
420 | return regs->gpr[1]; | 421 | return sp; |
421 | } | 422 | } |
422 | #endif | 423 | #endif |
423 | 424 | ||