patch-2.1.51 linux/include/asm-sparc64/smp.h

Next file: linux/include/asm-sparc64/smp_lock.h
Previous file: linux/include/asm-sparc64/shmparam.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.50/linux/include/asm-sparc64/smp.h linux/include/asm-sparc64/smp.h
@@ -6,6 +6,7 @@
 #ifndef _SPARC64_SMP_H
 #define _SPARC64_SMP_H
 
+#include <linux/tasks.h>
 #include <asm/asi.h>
 
 #ifndef __ASSEMBLY__
@@ -29,8 +30,20 @@
 
 /* Per processor Sparc parameters we need. */
 
+/* Keep this a multiple of 64-bytes for cache reasons. */
 struct cpuinfo_sparc {
-	unsigned long udelay_val; /* that's it */
+	/* Dcache line 1 */
+	unsigned long	irq_count;
+	unsigned int	multiplier;
+	unsigned int	counter;
+	unsigned long	last_tlbversion_seen;
+	unsigned long	pgcache_size;
+
+	/* Dcache line 2 */
+	unsigned long	*pgd_cache;
+	unsigned long	*pmd_cache;
+	unsigned long	*pte_cache;
+	unsigned long	udelay_val;
 };
 
 extern struct cpuinfo_sparc cpu_data[NR_CPUS];
@@ -49,21 +62,8 @@
  *	Private routines/data
  */
  
-extern int smp_found_cpus;
 extern unsigned char boot_cpu_id;
 extern unsigned long cpu_present_map;
-extern __volatile__ unsigned long smp_invalidate_needed[NR_CPUS];
-extern __volatile__ unsigned long kernel_counter;
-extern __volatile__ unsigned char active_kernel_processor;
-extern void smp_message_irq(void);
-extern unsigned long ipi_count;
-extern __volatile__ unsigned long kernel_counter;
-extern __volatile__ unsigned long syscall_count;
-
-extern void print_lock_state(void);
-
-typedef void (*smpfunc_t)(unsigned long, unsigned long, unsigned long,
-		       unsigned long, unsigned long);
 
 /*
  *	General functions that each host system must provide.
@@ -88,30 +88,12 @@
 
 #define smp_processor_id() (current->processor)
 
-extern __volatile__ unsigned long smp_proc_in_lock[NR_CPUS]; /* for computing process time */
 #endif /* !(__ASSEMBLY__) */
 
-/* Sparc specific messages. */
-#define MSG_CROSS_CALL         0x0005       /* run func on cpus */
-
-/* Empirical PROM processor mailbox constants.  If the per-cpu mailbox
- * contains something other than one of these then the ipi is from
- * Linux's active_kernel_processor.  This facility exists so that
- * the boot monitor can capture all the other cpus when one catches
- * a watchdog reset or the user enters the monitor using L1-A keys.
- */
-#define MBOX_STOPCPU          0xFB
-#define MBOX_IDLECPU          0xFC
-#define MBOX_IDLECPU2         0xFD
-#define MBOX_STOPCPU2         0xFE
-
-#define PROC_CHANGE_PENALTY     20
-
-#define SMP_FROM_INT		1
-#define SMP_FROM_SYSCALL	2
+#define PROC_CHANGE_PENALTY	20
 
 #endif /* !(__SMP__) */
 
-#define NO_PROC_ID            0xFF
+#define NO_PROC_ID		0xFF
 
 #endif /* !(_SPARC64_SMP_H) */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov