PERFORCE change 132463 for review

Warner Losh imp at FreeBSD.org
Thu Jan 3 23:45:19 PST 2008


http://perforce.freebsd.org/chv.cgi?CH=132463

Change 132463 by imp at imp_paco-paco on 2008/01/04 07:44:17

	Resolve all the multiple definitions.  We go from ~10,000 lines of
	output on the link down to 117.  There's about 60 undefined symbols
	now.

Affected files ...

.. //depot/projects/mips2-jnpr/src/sys/conf/files.mips#4 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#7 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/include/intr.h#4 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/cpu.c#4 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/interrupt.c#4 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#6 edit
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/sys_machdep.c#2 delete

Differences ...

==== //depot/projects/mips2-jnpr/src/sys/conf/files.mips#4 (text+ko) ====

@@ -81,7 +81,6 @@
 mips/mips/stack_machdep.c	optional	ddb | stack
 mips/mips/support.S		standard
 mips/mips/swtch.S		standard
-mips/mips/sys_machdep.c		standard
 mips/mips/tick.c		standard
 mips/mips/uio_machdep.c		standard
 geom/geom_bsd.c			standard
@@ -91,7 +90,6 @@
 libkern/ashldi3.c		standard
 libkern/ashrdi3.c		standard
 libkern/divdi3.c		standard
-libkern/ffs.c			standard
 libkern/ffsl.c			standard
 libkern/fls.c			standard
 libkern/flsl.c			standard

==== //depot/projects/mips2-jnpr/src/sys/mips/include/cpu.h#7 (text+ko) ====

@@ -430,36 +430,36 @@
 #define	MIPS_VR5400	0x54	/* NEC Vr5400 FPU		ISA IV+	*/
 
 #ifndef _LOCORE
-union	cpuprid cpu_id;
+extern union	cpuprid cpu_id;
 #define	mips_proc_type()      ((cpu_id.cpu.cp_vendor << 8) | cpu_id.cpu.cp_imp)
 #define	mips_set_proc_type(type)	(cpu_id.cpu.cp_vendor = (type)  >> 8, \
 					 cpu_id.cpu.cp_imp = ((type) & 0x00ff))
 #endif /* !_LOCORE */
 
 #if defined(_KERNEL) && !defined(_LOCORE)
-union	cpuprid fpu_id;
+extern union	cpuprid fpu_id;
 
-u_int	CpuPrimaryInstCacheSize;
-u_int	CpuPrimaryInstCacheLSize;
-u_int	CpuPrimaryInstSetSize;
-u_int   CpuPrimaryInstCacheNsets;
-u_int   CpuPrimaryInstCacheAsso;
+extern u_int	CpuPrimaryInstCacheSize;
+extern u_int	CpuPrimaryInstCacheLSize;
+extern u_int	CpuPrimaryInstSetSize;
+extern u_int   CpuPrimaryInstCacheNsets;
+extern u_int   CpuPrimaryInstCacheAsso;
 
-u_int	CpuPrimaryDataCacheSize;
-u_int	CpuPrimaryDataCacheLSize;
-u_int	CpuPrimaryDataSetSize;
-u_int	CpuPrimaryDataCacheNsets;
-u_int   CpuPrimaryDataCacheAsso;
+extern u_int	CpuPrimaryDataCacheSize;
+extern u_int	CpuPrimaryDataCacheLSize;
+extern u_int	CpuPrimaryDataSetSize;
+extern u_int	CpuPrimaryDataCacheNsets;
+extern u_int   CpuPrimaryDataCacheAsso;
 
-u_int	CpuCacheAliasMask;
-u_int	CpuSecondaryCacheSize;
-u_int	CpuTertiaryCacheSize;
-u_int	CpuNWayCache;
-u_int	CpuCacheType;
-u_int	CpuConfigRegister;
-u_int	CpuStatusRegister;
-u_int	CpuExternalCacheOn;
-u_int	CpuOnboardCacheOn;
+extern u_int	CpuCacheAliasMask;
+extern u_int	CpuSecondaryCacheSize;
+extern u_int	CpuTertiaryCacheSize;
+extern u_int	CpuNWayCache;
+extern u_int	CpuCacheType;
+extern u_int	CpuConfigRegister;
+extern u_int	CpuStatusRegister;
+extern u_int	CpuExternalCacheOn;
+extern u_int	CpuOnboardCacheOn;
 
 struct tlb;
 struct user;

==== //depot/projects/mips2-jnpr/src/sys/mips/include/intr.h#4 (text+ko) ====

@@ -53,8 +53,8 @@
 #define	INTRCNT_PE		3	/* irq 4 */
 #define	INTRCNT_PICNIC		4	/* irq 5 */
 
-intrmask_t idle_mask;
-void (*mips_ack_interrupt)(int, intrmask_t);
+extern intrmask_t idle_mask;
+extern void (*mips_ack_interrupt)(int, intrmask_t);
 
 typedef int	ih_func_t(void *);
 
@@ -71,7 +71,7 @@
 	void	*frame;
 };
 
-struct mips_intr_handler intr_handlers[16];
+extern struct mips_intr_handler intr_handlers[];
 
 struct trapframe;
 void	mips_set_intr(int pri, intrmask_t mask,

==== //depot/projects/mips2-jnpr/src/sys/mips/mips/cpu.c#4 (text+ko) ====

@@ -40,6 +40,30 @@
 #include <sys/module.h>
 #include <machine/bus.h>
 
+union	cpuprid cpu_id;
+union	cpuprid fpu_id;
+
+u_int	CpuPrimaryInstCacheSize;
+u_int	CpuPrimaryInstCacheLSize;
+u_int	CpuPrimaryInstSetSize;
+u_int   CpuPrimaryInstCacheNsets;
+u_int   CpuPrimaryInstCacheAsso;
+
+u_int	CpuPrimaryDataCacheSize;
+u_int	CpuPrimaryDataCacheLSize;
+u_int	CpuPrimaryDataSetSize;
+u_int	CpuPrimaryDataCacheNsets;
+u_int   CpuPrimaryDataCacheAsso;
+
+u_int	CpuCacheAliasMask;
+u_int	CpuSecondaryCacheSize;
+u_int	CpuTertiaryCacheSize;
+u_int	CpuNWayCache;
+u_int	CpuCacheType;
+u_int	CpuConfigRegister;
+u_int	CpuStatusRegister;
+u_int	CpuExternalCacheOn;
+u_int	CpuOnboardCacheOn;
 
 static void cpu_identify(driver_t *driver, device_t parent);
 static int cpu_probe(device_t dev);

==== //depot/projects/mips2-jnpr/src/sys/mips/mips/interrupt.c#4 (text+ko) ====

@@ -70,6 +70,10 @@
 #include <machine/archtype.h>
 #include <machine/asm.h>
 
+intrmask_t idle_mask;
+void (*mips_ack_interrupt)(int, intrmask_t);
+struct mips_intr_handler intr_handlers[16];
+
 /*
  *  Modern versions of MIPS processors have extended interrupt
  *  capabilites. How these are handeled differs from implementation

==== //depot/projects/mips2-jnpr/src/sys/mips/mips/machdep.c#6 (text+ko) ====



More information about the p4-projects mailing list