]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/asm-sh/processor_64.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[mv-sheeva.git] / include / asm-sh / processor_64.h
index 6ad23387d7ba076a59e3f9baed2f731afb4314f5..99c22b14a85b1b20abea399446247119cd82997a 100644 (file)
@@ -18,6 +18,7 @@
 #include <asm/page.h>
 #include <asm/types.h>
 #include <asm/cache.h>
+#include <asm/ptrace.h>
 #include <asm/cpu/registers.h>
 
 /*
@@ -66,12 +67,14 @@ struct sh_cpuinfo {
        /* TLB info */
        struct tlb_info itlb;
        struct tlb_info dtlb;
-};
 
-extern struct sh_cpuinfo boot_cpu_data;
+       unsigned long flags;
+};
 
-#define cpu_data (&boot_cpu_data)
-#define current_cpu_data boot_cpu_data
+extern struct sh_cpuinfo cpu_data[];
+#define boot_cpu_data cpu_data[0]
+#define current_cpu_data cpu_data[smp_processor_id()]
+#define raw_current_cpu_data cpu_data[raw_smp_processor_id()]
 
 #endif
 
@@ -99,8 +102,6 @@ extern struct sh_cpuinfo boot_cpu_data;
  *     Single step bit
  *
  */
-#define SR_FD    0x00008000
-
 #if defined(CONFIG_SH64_SR_WATCH)
 #define SR_MMU   0x84000000
 #else
@@ -216,7 +217,7 @@ extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
  * FPU lazy state save handling.
  */
 
-static inline void release_fpu(void)
+static inline void disable_fpu(void)
 {
        unsigned long long __dummy;
 
@@ -228,7 +229,7 @@ static inline void release_fpu(void)
                             : "r" (SR_FD));
 }
 
-static inline void grab_fpu(void)
+static inline void enable_fpu(void)
 {
        unsigned long long __dummy;
 
@@ -249,11 +250,12 @@ static inline void grab_fpu(void)
 #define FPSCR_INIT  0x00000000
 #endif
 
-/* Save the current FP regs */
-void fpsave(struct sh_fpu_hard_struct *fpregs);
-
+#ifdef CONFIG_SH_FPU
 /* Initialise the FP state of a task */
 void fpinit(struct sh_fpu_hard_struct *fpregs);
+#else
+#define fpinit(fpregs) do { } while (0)
+#endif
 
 extern struct task_struct *last_task_used_math;