Module Name: src Committed By: chs Date: Sat Oct 1 15:59:28 UTC 2011
Modified Files: src/sys/arch/ia64/conf: files.ia64 src/sys/arch/ia64/ia64: cpu.c exception.S genassym.cf interrupt.c locore.S machdep.c sal.c src/sys/arch/ia64/include: cpu.h param.h types.h Log Message: fix build errors with gcc 4.5. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/conf/files.ia64 cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/ia64/cpu.c \ src/sys/arch/ia64/ia64/genassym.cf cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/ia64/exception.S cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/ia64/interrupt.c cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/ia64/locore.S cvs rdiff -u -r1.29 -r1.30 src/sys/arch/ia64/ia64/machdep.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/ia64/ia64/sal.c cvs rdiff -u -r1.9 -r1.10 src/sys/arch/ia64/include/cpu.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/param.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/types.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/ia64/conf/files.ia64 diff -u src/sys/arch/ia64/conf/files.ia64:1.6 src/sys/arch/ia64/conf/files.ia64:1.7 --- src/sys/arch/ia64/conf/files.ia64:1.6 Sun Jun 12 03:35:42 2011 +++ src/sys/arch/ia64/conf/files.ia64 Sat Oct 1 15:59:27 2011 @@ -1,4 +1,4 @@ -# $NetBSD: files.ia64,v 1.6 2011/06/12 03:35:42 rmind Exp $ +# $NetBSD: files.ia64,v 1.7 2011/10/01 15:59:27 chs Exp $ # # new style config file for ia64 architecture # @@ -73,6 +73,9 @@ file dev/md_root.c memory_disk_hooks defpseudo ssccons file arch/ia64/ia64/ssc.c ssccons needs-flag +include "dev/i2o/files.i2o" +include "dev/pci/files.pci" +include "dev/pci/files.agp" include "dev/isa/files.isa" # XXXXXXX: Oops, required by acpi include "dev/apm/files.apm" # XXXXXXX: Oops, required by acpi Index: src/sys/arch/ia64/ia64/cpu.c diff -u src/sys/arch/ia64/ia64/cpu.c:1.9 src/sys/arch/ia64/ia64/cpu.c:1.10 --- src/sys/arch/ia64/ia64/cpu.c:1.9 Mon Jun 28 12:08:13 2010 +++ src/sys/arch/ia64/ia64/cpu.c Sat Oct 1 15:59:27 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.9 2010/06/28 12:08:13 kiyohara Exp $ */ +/* $NetBSD: cpu.c,v 1.10 2011/10/01 15:59:27 chs Exp $ */ /* * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.9 2010/06/28 12:08:13 kiyohara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.10 2011/10/01 15:59:27 chs Exp $"); #include <sys/param.h> #include <sys/proc.h> @@ -45,6 +45,7 @@ __KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.9 #define GHz (1000L * MHz) struct cpu_info cpu_info_primary __aligned(CACHE_LINE_SIZE); +struct cpu_info *cpu_info_list = &cpu_info_primary; struct cpu_softc { device_t sc_dev; /* device tree glue */ Index: src/sys/arch/ia64/ia64/genassym.cf diff -u src/sys/arch/ia64/ia64/genassym.cf:1.9 src/sys/arch/ia64/ia64/genassym.cf:1.10 --- src/sys/arch/ia64/ia64/genassym.cf:1.9 Mon Dec 20 00:25:35 2010 +++ src/sys/arch/ia64/ia64/genassym.cf Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.9 2010/12/20 00:25:35 matt Exp $ +# $NetBSD: genassym.cf,v 1.10 2011/10/01 15:59:28 chs Exp $ # # Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -90,6 +90,7 @@ include <machine/vmparam.h> include <machine/intr.h> include <machine/frame.h> include <machine/types.h> +include <machine/pcb.h> ifdef COMPAT_LINUX include <compat/linux/common/linux_signal.h> @@ -108,6 +109,10 @@ ifdef MULTIPROCESSOR include <machine/cpu.h> endif +define PAGE_SIZE PAGE_SIZE +define PAGE_SHIFT PAGE_SHIFT +define KSTACK_PAGES KSTACK_PAGES + define DT_NULL DT_NULL define DT_RELA DT_RELA define DT_RELAENT DT_RELAENT Index: src/sys/arch/ia64/ia64/exception.S diff -u src/sys/arch/ia64/ia64/exception.S:1.4 src/sys/arch/ia64/ia64/exception.S:1.5 --- src/sys/arch/ia64/ia64/exception.S:1.4 Mon Jul 20 04:41:37 2009 +++ src/sys/arch/ia64/ia64/exception.S Sat Oct 1 15:59:27 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: exception.S,v 1.4 2009/07/20 04:41:37 kiyohara Exp $ */ +/* $NetBSD: exception.S,v 1.5 2011/10/01 15:59:27 chs Exp $ */ /*- * Copyright (c) 2003,2004 Marcel Moolenaar @@ -29,7 +29,6 @@ #include <machine/asm.h> #include <machine/pte.h> -#include <machine/vmparam.h> #include "assym.h" Index: src/sys/arch/ia64/ia64/interrupt.c diff -u src/sys/arch/ia64/ia64/interrupt.c:1.5 src/sys/arch/ia64/ia64/interrupt.c:1.6 --- src/sys/arch/ia64/ia64/interrupt.c:1.5 Mon Dec 20 00:25:35 2010 +++ src/sys/arch/ia64/ia64/interrupt.c Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: interrupt.c,v 1.5 2010/12/20 00:25:35 matt Exp $ */ +/* $NetBSD: interrupt.c,v 1.6 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -33,13 +33,14 @@ */ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.5 2010/12/20 00:25:35 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.6 2011/10/01 15:59:28 chs Exp $"); #include "opt_ddb.h" #include <sys/param.h> #include <sys/evcnt.h> #include <sys/lwp.h> +#include <sys/proc.h> #include <sys/malloc.h> #include <sys/sched.h> Index: src/sys/arch/ia64/ia64/locore.S diff -u src/sys/arch/ia64/ia64/locore.S:1.3 src/sys/arch/ia64/ia64/locore.S:1.4 --- src/sys/arch/ia64/ia64/locore.S:1.3 Mon Jul 20 04:41:37 2009 +++ src/sys/arch/ia64/ia64/locore.S Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.3 2009/07/20 04:41:37 kiyohara Exp $ */ +/* $NetBSD: locore.S,v 1.4 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -28,11 +28,10 @@ * $FreeBSD$ */ +#include "opt_multiprocessor.h" #include <machine/asm.h> #include <machine/ia64_cpu.h> -#include <machine/param.h> -#include <machine/vmparam.h> #include <machine/pte.h> #include <machine/elf_machdep.h> #include <sys/syscall.h> @@ -102,7 +101,7 @@ ENTRY_NOPROFILE(start, 1) END(start) -#ifdef SMP +#ifdef MULTIPROCESSOR /* * AP wake-up entry point. The handoff state is similar as for the BSP, * as described on page 3-9 of the IPF SAL Specification. The difference @@ -217,7 +216,7 @@ ENTRY_NOPROFILE(os_boot_rendez,0) } END(os_boot_rendez) -#endif /* !SMP */ +#endif /* MULTIPROCESSOR */ /* * Create a default interrupt name table. The first entry (vector 0) is Index: src/sys/arch/ia64/ia64/machdep.c diff -u src/sys/arch/ia64/ia64/machdep.c:1.29 src/sys/arch/ia64/ia64/machdep.c:1.30 --- src/sys/arch/ia64/ia64/machdep.c:1.29 Sun Jun 12 03:35:42 2011 +++ src/sys/arch/ia64/ia64/machdep.c Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.29 2011/06/12 03:35:42 rmind Exp $ */ +/* $NetBSD: machdep.c,v 1.30 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 2003,2004 Marcel Moolenaar @@ -114,6 +114,7 @@ #include <machine/atomic.h> #include <machine/pte.h> +#include <machine/pcb.h> #include <uvm/uvm.h> Index: src/sys/arch/ia64/ia64/sal.c diff -u src/sys/arch/ia64/ia64/sal.c:1.2 src/sys/arch/ia64/ia64/sal.c:1.3 --- src/sys/arch/ia64/ia64/sal.c:1.2 Sat Apr 8 14:52:09 2006 +++ src/sys/arch/ia64/ia64/sal.c Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: sal.c,v 1.2 2006/04/08 14:52:09 cherry Exp $ */ +/* $NetBSD: sal.c,v 1.3 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 2001 Doug Rabson @@ -26,6 +26,8 @@ * SUCH DAMAGE. */ +#include "opt_multiprocessor.h" + #include <sys/cdefs.h> #include <sys/param.h> @@ -121,7 +123,7 @@ ia64_sal_init(void) } case 5: { struct sal_ap_wakeup_descriptor *dp; -#ifdef SMP +#ifdef MULTIPROCESSOR struct ia64_sal_result result; struct ia64_fdesc *fd; #endif @@ -164,7 +166,7 @@ ia64_sal_init(void) ipi_vector[IPI_AP_WAKEUP] = dp->sale_vector; setup_ipi_vectors(dp->sale_vector & 0xf0); -#ifdef SMP +#ifdef MULTIPROCESSOR fd = (struct ia64_fdesc *) os_boot_rendez; result = ia64_sal_entry(SAL_SET_VECTORS, SAL_OS_BOOT_RENDEZ, ia64_tpa(fd->func), Index: src/sys/arch/ia64/include/cpu.h diff -u src/sys/arch/ia64/include/cpu.h:1.9 src/sys/arch/ia64/include/cpu.h:1.10 --- src/sys/arch/ia64/include/cpu.h:1.9 Thu Oct 22 22:28:57 2009 +++ src/sys/arch/ia64/include/cpu.h Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.9 2009/10/22 22:28:57 rmind Exp $ */ +/* $NetBSD: cpu.h,v 1.10 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -78,16 +78,17 @@ #include <sys/cctr.h> #include <machine/frame.h> #include <machine/ia64_cpu.h> - +#include <sys/device_if.h> struct cpu_info { - struct device *ci_dev; /* pointer to our device */ /* * Public members. */ - struct lwp *ci_curlwp; /* current owner of the processor */ + struct cpu_data ci_data; /* MI per-cpu data */ + device_t ci_dev; /* pointer to our device */ + struct lwp *ci_curlwp; /* current owner of the processor */ struct cctr_state ci_cc; /* cycle counter state */ struct cpu_info *ci_next; /* next cpu_info structure */ @@ -99,6 +100,8 @@ struct cpu_info { * Private members. */ cpuid_t ci_cpuid; /* our CPU ID */ + uint32_t ci_acpiid; /* our ACPI/MADT ID */ + uint32_t ci_initapicid; /* our intitial APIC ID */ struct pmap *ci_pmap; /* current pmap */ struct lwp *ci_fpcurlwp; /* current owner of the FPU */ paddr_t ci_curpcb; /* PA of current HW PCB */ @@ -112,7 +115,11 @@ struct cpu_info { extern struct cpu_info cpu_info_primary; +extern struct cpu_info *cpu_info_list; +#define CPU_INFO_ITERATOR int +#define CPU_INFO_FOREACH(cii, ci) cii = 0, ci = cpu_info_list; \ + ci != NULL; ci = ci->ci_next #ifdef MULTIPROCESSOR /* * XXX: TODO use percpu infrastructure that yamt proposed or use KR? for Index: src/sys/arch/ia64/include/param.h diff -u src/sys/arch/ia64/include/param.h:1.4 src/sys/arch/ia64/include/param.h:1.5 --- src/sys/arch/ia64/include/param.h:1.4 Mon Feb 8 19:02:29 2010 +++ src/sys/arch/ia64/include/param.h Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.4 2010/02/08 19:02:29 joerg Exp $ */ +/* $NetBSD: param.h,v 1.5 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -41,13 +41,17 @@ * Machine dependent constants for Intel Itanium. */ +#ifdef _KERNEL +#include <machine/cpu.h> +#endif + #define _MACHINE ia64 #define MACHINE "ia64" #define _MACHINE_ARCH ia64 #define MACHINE_ARCH "ia64" #define MID_MACHINE MID_IA64 -#ifdef SMP +#ifdef MULTIPROCESSOR #define MAXCPU 16 #else #define MAXCPU 1 Index: src/sys/arch/ia64/include/types.h diff -u src/sys/arch/ia64/include/types.h:1.5 src/sys/arch/ia64/include/types.h:1.6 --- src/sys/arch/ia64/include/types.h:1.5 Fri Dec 11 05:52:03 2009 +++ src/sys/arch/ia64/include/types.h Sat Oct 1 15:59:28 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: types.h,v 1.5 2009/12/11 05:52:03 matt Exp $ */ +/* $NetBSD: types.h,v 1.6 2011/10/01 15:59:28 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -68,6 +68,7 @@ typedef __volatile int __cpu_simple_loc #define __SIMPLELOCK_LOCKED 1 #define __SIMPLELOCK_UNLOCKED 0 +#define __HAVE_CPU_DATA_FIRST #define __HAVE_CPU_COUNTER #define __HAVE_SYSCALL_INTERN #define __HAVE_MINIMAL_EMUL