From owner-freebsd-ia64@FreeBSD.ORG Wed Sep 1 17:33:19 2004 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEA2A16A4CE; Wed, 1 Sep 2004 17:33:18 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6667043D2F; Wed, 1 Sep 2004 17:33:18 +0000 (GMT) (envelope-from julian@elischer.org) Received: from elischer.org (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 2A1BF7A439; Wed, 1 Sep 2004 10:33:18 -0700 (PDT) Message-ID: <413607DD.9040702@elischer.org> Date: Wed, 01 Sep 2004 10:33:17 -0700 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: Giorgos Keramidas References: <20040901115723.3122E7303F@freebsd-current.sentex.ca> <20040901150638.GA7118@orion.daedalusnetworks.priv> In-Reply-To: <20040901150638.GA7118@orion.daedalusnetworks.priv> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: ia64@freebsd.org cc: FreeBSD Tinderbox cc: current@freebsd.org Subject: Re: [current tinderbox] failure on ia64/ia64 X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 17:33:19 -0000 my bad.. I tested it on SMP compiel and forgot a UP compile.. of course UP has no reason to access those fields to the fact that it breaks exposes another bug.. Giorgos Keramidas wrote: >On 2004-09-01 07:57, FreeBSD Tinderbox wrote: > > >>>>>stage 3.2: building everything >>>>> >>>>> >>[...] >>/tinderbox/CURRENT/ia64/ia64/src/sys/kern/subr_smp.c:498: undefined reference to `all_cpus' >>uma_core.o(.text+0x3fa1): In function `zone_timeout': >>/tinderbox/CURRENT/ia64/ia64/src/sys/vm/uma_core.c:382: undefined reference to `all_cpus' >>uma_core.o(.text+0x6a21): In function `zone_dtor': >>/tinderbox/CURRENT/ia64/ia64/src/sys/vm/uma_core.c:1423: undefined reference to `all_cpus' >>uma_core.o(.text+0x8730): In function `uma_print_zone': >>/tinderbox/CURRENT/ia64/ia64/src/sys/vm/uma_core.c:2657: undefined reference to `all_cpus' >>uma_core.o(.text+0x8c31):/tinderbox/CURRENT/ia64/ia64/src/sys/vm/uma_core.c:2710: more undefined references to `all_cpus' follow >>*** Error code 1 >> >>Stop in /tinderbox/CURRENT/ia64/ia64/obj/ia64/tinderbox/CURRENT/ia64/ia64/src/sys/GENERIC. >>*** Error code 1 >> >>Stop in /tinderbox/CURRENT/ia64/ia64/src. >>*** Error code 1 >> >>Stop in /tinderbox/CURRENT/ia64/ia64/src. >>TB --- 2004-09-01 11:57:23 - WARNING: /usr/bin/make returned exit code 1 >>TB --- 2004-09-01 11:57:23 - ERROR: failed to build generic kernel >>TB --- 2004-09-01 11:57:23 - tinderbox aborted >> >> > >Until Julian or another src-committer fixes the build error, this patch >unbreaks the build for me on non-SMP i386/i386. Since the affected code >is not specific to i386, it probably fixes the other architectures too: > >%%% >Index: sys/smp.h >=================================================================== >RCS file: /home/ncvs/src/sys/sys/smp.h,v >retrieving revision 1.80 >diff -u -r1.80 smp.h >--- sys/smp.h 1 Sep 2004 06:42:02 -0000 1.80 >+++ sys/smp.h 1 Sep 2004 14:00:30 -0000 >@@ -49,23 +49,26 @@ > extern int smp_cpus; > extern volatile cpumask_t started_cpus; > extern volatile cpumask_t stopped_cpus; >+extern cpumask_t all_cpus; >+extern cpumask_t idle_cpus_mask; >+extern cpumask_t hlt_cpus_mask; >+extern cpumask_t logical_cpus_mask; > #endif /* SMP */ > > extern u_int mp_maxid; > extern int mp_ncpus; > extern volatile int smp_started; > >-extern cpumask_t all_cpus; >-extern cpumask_t idle_cpus_mask; >-extern cpumask_t hlt_cpus_mask; >-extern cpumask_t logical_cpus_mask; >- > /* > * Macro allowing us to determine whether a CPU is absent at any given > * time, thus permitting us to configure sparse maps of cpuid-dependent > * (per-CPU) structures. > */ >+#ifdef SMP > #define CPU_ABSENT(x_cpu) ((all_cpus & (1 << (x_cpu))) == 0) >+#else >+#define CPU_ABSENT(x_cpu) (0) >+#endif > > #ifdef SMP > /* >Index: kern/subr_smp.c >=================================================================== >RCS file: /home/ncvs/src/sys/kern/subr_smp.c,v >retrieving revision 1.191 >diff -u -r1.191 subr_smp.c >--- kern/subr_smp.c 1 Sep 2004 06:42:01 -0000 1.191 >+++ kern/subr_smp.c 1 Sep 2004 11:12:38 -0000 >@@ -495,7 +495,6 @@ > { > mp_ncpus = 1; > mp_maxid = PCPU_GET(cpuid); >- all_cpus = PCPU_GET(cpumask); > KASSERT(PCPU_GET(cpuid) == 0, ("UP must have a CPU ID of zero")); > } > SYSINIT(cpu_mp_setvariables, SI_SUB_TUNABLES, SI_ORDER_FIRST, >%%% > >_______________________________________________ >freebsd-current@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-current >To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > >