diff options
author | Paul Mackerras <paulus@samba.org> | 2006-01-12 21:22:34 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-12 21:22:34 +1100 |
commit | 624cee31bcb14bfd85559fbec5dd7bb833542965 (patch) | |
tree | f9e428498d88618f4f28b974a51591481ccfed0b /include/asm-ppc | |
parent | 8fce10a3c9ee7f9c74d83502fd5156a8ec82c21a (diff) | |
download | blackbird-op-linux-624cee31bcb14bfd85559fbec5dd7bb833542965.tar.gz blackbird-op-linux-624cee31bcb14bfd85559fbec5dd7bb833542965.zip |
powerpc: make ARCH=ppc use arch/powerpc/kernel/process.c
Commit 5388fb1025443ec223ba556b10efc4c5f83f8682 made signal_32.c
use discard_lazy_cpu_state, which broke ARCH=ppc because that
uses the common signal_32.c but has its own process.c. Make ARCH=ppc
use the common process.c to fix this and to reduce the amount
of duplicated code.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-ppc')
-rw-r--r-- | include/asm-ppc/system.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/asm-ppc/system.h b/include/asm-ppc/system.h index bd99cb53a19f..b97037348277 100644 --- a/include/asm-ppc/system.h +++ b/include/asm-ppc/system.h @@ -4,7 +4,6 @@ #ifndef __PPC_SYSTEM_H #define __PPC_SYSTEM_H -#include <linux/config.h> #include <linux/kernel.h> #include <asm/atomic.h> @@ -39,7 +38,7 @@ #ifdef CONFIG_SMP #define smp_mb() mb() #define smp_rmb() rmb() -#define smp_wmb() wmb() +#define smp_wmb() __asm__ __volatile__ ("eieio" : : : "memory") #define smp_read_barrier_depends() read_barrier_depends() #else #define smp_mb() barrier() @@ -74,6 +73,7 @@ extern void chrp_nvram_init(void); extern void read_rtc_time(void); extern void pmac_find_display(void); extern void giveup_fpu(struct task_struct *); +extern void disable_kernel_fp(void); extern void enable_kernel_fp(void); extern void flush_fp_to_thread(struct task_struct *); extern void enable_kernel_altivec(void); @@ -86,6 +86,14 @@ extern int fix_alignment(struct pt_regs *); extern void cvt_fd(float *from, double *to, struct thread_struct *thread); extern void cvt_df(double *from, float *to, struct thread_struct *thread); +#ifndef CONFIG_SMP +extern void discard_lazy_cpu_state(void); +#else +static inline void discard_lazy_cpu_state(void) +{ +} +#endif + #ifdef CONFIG_ALTIVEC extern void flush_altivec_to_thread(struct task_struct *); #else |