Subject: Re: very weird booting issues with new machines - 4-core Opteron 270
To: None <port-amd64@netbsd.org>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: port-amd64
Date: 08/29/2006 10:45:11
On Mon, Aug 28, 2006 at 07:27:16PM -0700, Chris Kantarjiev wrote:
> 
> OK, I'm trying today's -current! Still 4.99.1.
> [...]
> Now ... which kernel to try? GENERIC_ACPI seems the most likely... no joy. 
> Same crash at sysbeep. What file should I check to make certain I have the 
> fix?
> [...]
> attimer0 at isa0 port 0x40-0x43: AT Timer
> pcppi0 at isa0 port 0x61
> midi0 at pcppi0: PC speaker (CPU-intensive output)
> sysbeep0 at pcppi0
Hm, as a data point: I'm using a kernel w/o sysbeep on my
machines - requires making tickle_tc depend on NPCPPI in
src/sys/arch/amd64/isa/clock.c (see patch below - maybe this
could be checked in to the tree?).
I'll try GENERIC_ACPI later (with newest source from cvs ;-)

Kurt

cvs diff -u sys/arch/amd64/isa/clock.c
Index: sys/arch/amd64/isa/clock.c
===================================================================
RCS file: /cvsroot/src/sys/arch/amd64/isa/clock.c,v
retrieving revision 1.10
diff -u -r1.10 clock.c
--- sys/arch/amd64/isa/clock.c  24 Jul 2006 16:37:24 -0000      1.10
+++ sys/arch/amd64/isa/clock.c  29 Aug 2006 08:36:49 -0000
@@ -188,7 +188,9 @@
 void   rtcput __P((mc_todregs *));
 
 static inline int gettick_broken_latch __P((void));
+#if (NPCPPI > 0)
 static void       tickle_tc(void);
+#endif
 
 static volatile uint32_t i8254_lastcount;
 static volatile uint32_t i8254_offset;
@@ -363,6 +365,7 @@
 }
 
 
+#if (NPCPPI > 0)
 static void
 tickle_tc() 
 {
@@ -387,11 +390,14 @@
        }
 
 }
+#endif
 
 int
 clockintr(void *arg, struct intrframe frame)
 {
+#if (NPCPPI > 0)
        tickle_tc();
+#endif
 
        hardclock((struct clockframe *)&frame);