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
- Lines: 85
- Date:
Sat Aug 16 09:51:10 1997
- Orig file:
v2.1.50/linux/include/asm-sparc64/smp.h
- Orig date:
Mon Aug 4 16:25:40 1997
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