X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-sparc%2Fsystem.h;h=8c259de02614be6ab1e8053f124b332a613a6456;hb=847ddd2bbe15c6e452606503b5d073826aaaddb7;hp=100c3eaf3c1fe439713ccedab0ea8c0e87459067;hpb=9b4f2e9576658c4e52d95dc8d309f51b2e2db096;p=linux-2.6 diff --git a/include/asm-sparc/system.h b/include/asm-sparc/system.h index 100c3eaf3c..8c259de026 100644 --- a/include/asm-sparc/system.h +++ b/include/asm-sparc/system.h @@ -11,9 +11,12 @@ #include #include #include +#include #ifndef __ASSEMBLY__ +#include + /* * Sparc (general) CPU types */ @@ -163,36 +166,6 @@ extern void fpsave(unsigned long *fpregs, unsigned long *fsr, "o0", "o1", "o2", "o3", "o7"); \ } while(0) -/* - * On SMP systems, when the scheduler does migration-cost autodetection, - * it needs a way to flush as much of the CPU's caches as possible. - * - * TODO: fill this in! - */ -static inline void sched_cacheflush(void) -{ -} - -/* - * Changing the IRQ level on the Sparc. - */ -extern void local_irq_restore(unsigned long); -extern unsigned long __local_irq_save(void); -extern void local_irq_enable(void); - -static inline unsigned long getipl(void) -{ - unsigned long retval; - - __asm__ __volatile__("rd %%psr, %0" : "=r" (retval)); - return retval; -} - -#define local_save_flags(flags) ((flags) = getipl()) -#define local_irq_save(flags) ((flags) = __local_irq_save()) -#define local_irq_disable() ((void) __local_irq_save()) -#define irqs_disabled() ((getipl() & PSR_PIL) != 0) - /* XXX Change this if we ever use a PSO mode kernel. */ #define mb() __asm__ __volatile__ ("" : : : "memory") #define rmb() mb() @@ -241,7 +214,6 @@ static inline unsigned long xchg_u32(__volatile__ unsigned long *m, unsigned lon } #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) -#define tas(ptr) (xchg((ptr),1)) extern void __xchg_called_with_bad_pointer(void);