From owner-p4-projects@FreeBSD.ORG Fri Jan 4 07:45:19 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 042AF16A41A; Fri, 4 Jan 2008 07:45:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A57E216A418 for ; Fri, 4 Jan 2008 07:45:18 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 956B013C44B for ; Fri, 4 Jan 2008 07:45:18 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m047jGko051330 for ; Fri, 4 Jan 2008 07:45:16 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m047jG0v051327 for perforce@freebsd.org; Fri, 4 Jan 2008 07:45:16 GMT (envelope-from imp@freebsd.org) Date: Fri, 4 Jan 2008 07:45:16 GMT Message-Id: <200801040745.m047jG0v051327@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 132463 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Jan 2008 07:45:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=132463 Change 132463 by imp@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 #include +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 #include +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) ====