6.0 BETA2 reboot hangs on SMP system - progress of a sort

From: Mark Kirkwood <markir_at_paradise.net.nz>
Date: Wed, 24 Aug 2005 10:23:45 +1200
A brief description of system is (dmesg attached):

Tyan S2510 dual 1Ghz
RELENG_6 From Aug 14
GENERIC

Reboot hangs after displaying "cpu_reset: Stopping other CPUs". This 
appears to be a hard lockup, as I cannot break to the debugger.

In an effort to see where the problem was, I amended

src/sys/i386/i386/vm_machdep.c
src/sys/kern/subr_smp.c

Adding some printf statements and removing the #ifdef DIAGNOSTIC in 
subr_smp.c, so that it printed always (diffs attached).

To my surprise, after a kernel rebuild + shutdown and restart, I find 
that 'shutdown -r now' and 'reboot' *now work*! Hmmm, nice but weird. 
This sort of voodoo suggests something like memory being clobbered 
somewhere...

Hopefully this will help shed some light on this issue - and I am happy 
to try out any suggestions to diagnose.

As an aside, this same thing happens with 5.4-RELEASE - but *only* after 
an SMP kernel has been built, so this appears to be similar to prs 
i386/36943, i386/34092.

Mark

Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 6.0-BETA2 #1: Wed Aug 24 08:24:52 NZST 2005
    postgres_at_ikker.markir.net:/usr/obj/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (996.85-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 2147483648 (2048 MB)
avail memory = 2096541696 (1999 MB)
MPTable: <AMI      CNB30LE     >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Assuming intbase of 0
ioapic1: Assuming intbase of 16
ioapic0 <Version 1.1> irqs 0-15 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
cpu0 on motherboard
cpu1 on motherboard
pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: <display, VGA> at device 1.0 (no driver attached)
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xd400-0xd43f mem 0xfeafe000-0xfeafefff,0xfe900000-0xfe9fffff irq 20 at device 4.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:e0:81:02:4c:6a
fxp1: <Intel 82559 Pro/100 Ethernet> port 0xd000-0xd03f mem 0xfeafd000-0xfeafdfff,0xfe700000-0xfe7fffff irq 21 at device 5.0 on pci0
miibus1: <MII bus> on fxp1
inphy1: <i82555 10/100 media interface> on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: Ethernet address: 00:e0:81:02:4c:6b
isab0: <PCI-ISA bridge> port 0x580-0x58f at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 15.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfeafc000-0xfeafcfff irq 10 at device 15.2 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pcib1: <MPTable Host-PCI bridge> pcibus 1 on motherboard
pci1: <PCI bus> on pcib1
atapci1: <Promise PDC20271 UDMA133 controller> port 0xefe0-0xefe7,0xefac-0xefaf,0xefa0-0xefa7,0xefa8-0xefab,0xef90-0xef9f mem 0xfebf0000-0xfebfffff irq 27 at device 2.0 on pci1
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xd17ff,0xd1800-0xd27ff,0xd2800-0xd37ff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c02> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 1.000 msec
acd0: CDRW <CREATIVE CD-RW RW8439E/1R09> at ata0-master PIO4
ad4: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-master UDMA133
ad5: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-slave UDMA133
ad6: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-master UDMA133
ad7: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-slave UDMA133
ar0: 156822MB <Promise Fasttrak RAID0 (stripe 256 KB)> status: READY
ar0: disk0 READY using ad4 at ata2-master
ar0: disk1 READY using ad6 at ata3-master
ar0: disk2 READY using ad5 at ata2-slave
ar0: disk3 READY using ad7 at ata3-slave
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ar0s2a
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...2 0 0 done
All buffers synced.
unmount of /dev failed (BUSY)
Uptime: 1m53s
Rebooting...
cpu_reset: Entering SMP section
cpu_reset: Stopping other CPUs
stop_cpus: entering
stop_cpus: send ipi
stop_cpus: entering spin for int
cpu_reset: Stopped other CPUs ok
cpu_reset: leaving SMP section
cpu_reset_real: entering
cpu_reset_real: case CPU_GEODE1100 
cpu_reset_real: case CPU_PC98 + BROKEN_KEYBOARD_RESET 
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 6.0-BETA2 #1: Wed Aug 24 08:24:52 NZST 2005
    postgres_at_ikker.markir.net:/usr/obj/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (996.84-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 2147483648 (2048 MB)
avail memory = 2096541696 (1999 MB)
MPTable: <AMI      CNB30LE     >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Assuming intbase of 0
ioapic1: Assuming intbase of 16
ioapic0 <Version 1.1> irqs 0-15 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
cpu0 on motherboard
cpu1 on motherboard
pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: <display, VGA> at device 1.0 (no driver attached)
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xd400-0xd43f mem 0xfeafe000-0xfeafefff,0xfe900000-0xfe9fffff irq 20 at device 4.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:e0:81:02:4c:6a
fxp1: <Intel 82559 Pro/100 Ethernet> port 0xd000-0xd03f mem 0xfeafd000-0xfeafdfff,0xfe700000-0xfe7fffff irq 21 at device 5.0 on pci0
miibus1: <MII bus> on fxp1
inphy1: <i82555 10/100 media interface> on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: Ethernet address: 00:e0:81:02:4c:6b
isab0: <PCI-ISA bridge> port 0x580-0x58f at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 15.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfeafc000-0xfeafcfff irq 10 at device 15.2 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pcib1: <MPTable Host-PCI bridge> pcibus 1 on motherboard
pci1: <PCI bus> on pcib1
atapci1: <Promise PDC20271 UDMA133 controller> port 0xefe0-0xefe7,0xefac-0xefaf,0xefa0-0xefa7,0xefa8-0xefab,0xef90-0xef9f mem 0xfebf0000-0xfebfffff irq 27 at device 2.0 on pci1
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xd17ff,0xd1800-0xd27ff,0xd2800-0xd37ff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c02> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 1.000 msec
acd0: CDRW <CREATIVE CD-RW RW8439E/1R09> at ata0-master PIO4
ad4: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-master UDMA133
ad5: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-slave UDMA133
ad6: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-master UDMA133
ad7: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-slave UDMA133
ar0: 156822MB <Promise Fasttrak RAID0 (stripe 256 KB)> status: READY
ar0: disk0 READY using ad4 at ata2-master
ar0: disk1 READY using ad6 at ata3-master
ar0: disk2 READY using ad5 at ata2-slave
ar0: disk3 READY using ad7 at ata3-slave
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ar0s2a
Waiting (max 60 seconds) for system process `vnlru' to stop...done
Waiting (max 60 seconds) for system process `bufdaemon' to stop...done
Waiting (max 60 seconds) for system process `syncer' to stop...
Syncing disks, vnodes remaining...1 0 done
All buffers synced.
unmount of /dev failed (BUSY)
Uptime: 6m28s
Rebooting...
cpu_reset: Entering SMP section
cpu_reset: Stopping other CPUs
stop_cpus: entering
stop_cpus: send ipi
stop_cpus: entering spin for int
cpu_reset: Stopped other CPUs ok
cpu_reset: leaving SMP section
cpu_reset_real: entering
cpu_reset_real: case CPU_GEODE1100 
cpu_reset_real: case CPU_PC98 + BROKEN_KEYBOARD_RESET 
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 6.0-BETA2 #1: Wed Aug 24 08:24:52 NZST 2005
    postgres_at_ikker.markir.net:/usr/obj/usr/src/sys/GENERIC
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (996.85-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 2147483648 (2048 MB)
avail memory = 2096541696 (1999 MB)
MPTable: <AMI      CNB30LE     >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
ioapic0: Assuming intbase of 0
ioapic1: Assuming intbase of 16
ioapic0 <Version 1.1> irqs 0-15 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
cpu0 on motherboard
cpu1 on motherboard
pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
pci0: <display, VGA> at device 1.0 (no driver attached)
fxp0: <Intel 82559 Pro/100 Ethernet> port 0xd400-0xd43f mem 0xfeafe000-0xfeafefff,0xfe900000-0xfe9fffff irq 20 at device 4.0 on pci0
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:e0:81:02:4c:6a
fxp1: <Intel 82559 Pro/100 Ethernet> port 0xd000-0xd03f mem 0xfeafd000-0xfeafdfff,0xfe700000-0xfe7fffff irq 21 at device 5.0 on pci0
miibus1: <MII bus> on fxp1
inphy1: <i82555 10/100 media interface> on miibus1
inphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: Ethernet address: 00:e0:81:02:4c:6b
isab0: <PCI-ISA bridge> port 0x580-0x58f at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 15.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfeafc000-0xfeafcfff irq 10 at device 15.2 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (0x1166) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pcib1: <MPTable Host-PCI bridge> pcibus 1 on motherboard
pci1: <PCI bus> on pcib1
atapci1: <Promise PDC20271 UDMA133 controller> port 0xefe0-0xefe7,0xefac-0xefaf,0xefa0-0xefa7,0xefa8-0xefab,0xef90-0xef9f mem 0xfebf0000-0xfebfffff irq 27 at device 2.0 on pci1
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xd17ff,0xd1800-0xd27ff,0xd2800-0xd37ff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0c02> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 1.000 msec
acd0: CDRW <CREATIVE CD-RW RW8439E/1R09> at ata0-master PIO4
ad4: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-master UDMA133
ad5: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata2-slave UDMA133
ad6: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-master UDMA133
ad7: 39205MB <Maxtor 6E040L0 NAR61590> at ata3-slave UDMA133
ar0: 156822MB <Promise Fasttrak RAID0 (stripe 256 KB)> status: READY
ar0: disk0 READY using ad4 at ata2-master
ar0: disk1 READY using ad6 at ata3-master
ar0: disk2 READY using ad5 at ata2-slave
ar0: disk3 READY using ad7 at ata3-slave
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/ar0s2a

*** subr_smp.c.orig	Wed Aug 24 08:03:13 2005
--- subr_smp.c	Wed Aug 24 08:05:57 2005
***************
*** 233,256 ****
  {
  	int i;
  
  	if (!smp_started)
  		return 0;
  
  	CTR1(KTR_SMP, "stop_cpus(%x)", map);
  
  	/* send the stop IPI to all CPUs in map */
  	ipi_selected(map, IPI_STOP);
  
  	i = 0;
  	while ((atomic_load_acq_int(&stopped_cpus) & map) != map) {
  		/* spin */
  		i++;
- #ifdef DIAGNOSTIC
  		if (i == 100000) {
! 			printf("timeout stopping cpus\n");
  			break;
  		}
- #endif
  	}
  
  	return 1;
--- 233,257 ----
  {
  	int i;
  
+         printf("stop_cpus: entering\n");
  	if (!smp_started)
  		return 0;
  
  	CTR1(KTR_SMP, "stop_cpus(%x)", map);
  
+         printf("stop_cpus: send ipi\n");
  	/* send the stop IPI to all CPUs in map */
  	ipi_selected(map, IPI_STOP);
  
+         printf("stop_cpus: entering spin for int\n");
  	i = 0;
  	while ((atomic_load_acq_int(&stopped_cpus) & map) != map) {
  		/* spin */
  		i++;
  		if (i == 100000) {
! 			printf("stop_cpus: timeout stopping cpus\n");
  			break;
  		}
  	}
  
  	return 1;

*** vm_machdep.c.orig	Wed Aug 24 07:55:03 2005
--- vm_machdep.c	Wed Aug 24 08:02:14 2005
***************
*** 541,554 ****
--- 541,557 ----
  #ifdef SMP
  	u_int cnt, map;
  
+         printf("cpu_reset: Entering SMP section\n");
  	if (smp_active) {
  		map = PCPU_GET(other_cpus) & ~stopped_cpus;
  		if (map != 0) {
  			printf("cpu_reset: Stopping other CPUs\n");
  			stop_cpus(map);
+ 			printf("cpu_reset: Stopped other CPUs ok\n");
  		}
  
  		if (PCPU_GET(cpuid) != 0) {
+ 			printf("cpu_reset: case PCPU_GET \n");
  			cpu_reset_proxyid = PCPU_GET(cpuid);
  			cpustop_restartfunc = cpu_reset_proxy;
  			cpu_reset_proxy_active = 0;
***************
*** 570,575 ****
--- 573,579 ----
  		DELAY(1000000);
  	}
  #endif
+         printf("cpu_reset: leaving SMP section\n");
  	cpu_reset_real();
  	/* NOTREACHED */
  }
***************
*** 578,588 ****
--- 582,595 ----
  cpu_reset_real()
  {
  
+         printf("cpu_reset_real: entering\n");
  #ifdef CPU_ELAN
+         printf("cpu_reset_real: case CPU_ELAN \n");
  	if (elan_mmcr != NULL)
  		elan_mmcr->RESCFG = 1;
  #endif
  
+         printf("cpu_reset_real: case CPU_GEODE1100 \n");
  	if (cpu == CPU_GEODE1100) {
  		/* Attempt Geode's own reset */
  		outl(0xcf8, 0x80009044ul);
***************
*** 590,595 ****
--- 597,603 ----
  	}
  
  #ifdef PC98
+         printf("cpu_reset_real: case CPU_PC98 \n");
  	/*
  	 * Attempt to do a CPU reset via CPU reset port.
  	 */
***************
*** 601,606 ****
--- 609,615 ----
  	outb(0xf0, 0x00);		/* Reset. */
  #else
  #if !defined(BROKEN_KEYBOARD_RESET)
+         printf("cpu_reset_real: case CPU_PC98 + BROKEN_KEYBOARD_RESET \n");
  	/*
  	 * Attempt to do a CPU reset via the keyboard controller,
  	 * do not turn off GateA20, as any machine that fails
***************
*** 613,618 ****
--- 622,628 ----
  #endif
  #endif /* PC98 */
  
+         printf("cpu_reset_real: case unmapping entire address space \n");
  	/* Force a shutdown by unmapping entire address space. */
  	bzero((caddr_t)PTD, NBPTD);
  
Received on Tue Aug 23 2005 - 20:23:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:42 UTC