kern/121917: Broken boot on Asus P4P800-VM after upgrade from 6.2 to 6.3

Rudolf Cejka cejkar at fit.vutbr.cz
Thu Mar 20 16:10:02 UTC 2008


>Number:         121917
>Category:       kern
>Synopsis:       Broken boot on Asus P4P800-VM after upgrade from 6.2 to 6.3
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 20 16:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Rudolf Cejka
>Release:        FreeBSD 6.3-STABLE i386
>Organization:
FIT, Brno University of Technology, Czech Republic
>Environment:

	Asus P4P800-VM with P4 processor and ICH5 chipset, trying to
upgrade from 6.2 to 6.3. Dmesg output:

Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.3-STABLE #0: Thu Mar 20 15:34:57 CET 2008
    root at h00:/usr/obj/usr/src/sys/H00
WARNING: debug.mpsafenet forced to 0 as ipsec requires Giant
WARNING: MPSAFE network stack disabled, expect reduced performance.
ACPI APIC Table: <A M I  OEMAPIC >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.01-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x4400<CNXT-ID,xTPR>
  Logical CPUs per core: 2
real memory  = 527630336 (503 MB)
avail memory = 498528256 (475 MB)
Security auditing service present
BSM auditing present
ioapic0 <Version 2.0> irqs 0-23 on motherboard
acpi0: <A M I OEMRSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82865G (865G GMCH) SVGA controller> port 0xefe0-0xefe7 mem 0xf0000000-0xf7ffffff,0xfe780000-0xfe7fffff irq 16 at device 2.0 on pci0
agp0: detected 8060k stolen memory
agp0: aperture size is 128M
pcib1: <ACPI PCI-PCI bridge> at device 3.0 on pci0
pci1: <ACPI PCI bus> on pcib1
em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0xcf80-0xcf9f mem 0xfe0e0000-0xfe0fffff irq 18 at device 1.0 on pci1
em0: Ethernet address: 00:11:2f:63:ec:25
em0: [GIANT-LOCKED]
uhci0: <Intel 82801EB (ICH5) USB controller USB-A> port 0xef00-0xef1f irq 16 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801EB (ICH5) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801EB (ICH5) USB controller USB-B> port 0xef20-0xef3f irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801EB (ICH5) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801EB (ICH5) USB controller USB-C> port 0xef40-0xef5f irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801EB (ICH5) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801EB (ICH5) USB controller USB-D> port 0xef80-0xef9f irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <Intel 82801EB (ICH5) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <Intel 82801EB/R (ICH5) USB 2.0 controller> mem 0xfe77bc00-0xfe77bfff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <Intel 82801EB/R (ICH5) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
ndis0: <Belkin Wireless 54Mbps Desktop Adapter> mem 0xfe5fe000-0xfe5fffff irq 17 at device 9.0 on pci2
ndis0: [GIANT-LOCKED]
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 00:11:50:34:22:04
fxp0: <Intel 82557 Pro/100 Ethernet> port 0xdf80-0xdf9f mem 0xedeff000-0xedefffff,0xfe400000-0xfe4fffff irq 21 at device 10.0 on pci2
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:a0:c9:95:83:a2
fxp0: [GIANT-LOCKED]
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH5 SATA150 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.2 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pcm0: <Intel ICH5 (82801EB)> port 0xe800-0xe8ff,0xee80-0xeebf mem 0xfe77b800-0xfe77b9ff,0xfe77b400-0xfe77b4ff irq 17 at device 31.5 on pci0
pcm0: <Analog Devices AD1980 AC97 Codec>
acpi_button0: <Power Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
device_attach: fdc0 attach returned 12
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
device_attach: fdc0 attach returned 12
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcafff,0xcb000-0xcc7ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: parallel port not found.
ums0: Microsoft Basic Optical Mouse, rev 1.10/0.00, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
NULL mp in getnewvnode()
Timecounter "TSC" frequency 2793010976 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
ad0: 76319MB <Seagate ST380013AS 3.18> at ata0-master SATA150
Trying to mount root from ufs:/dev/ad0s3a

>Description:

	After an upgrade from 6.2 to 6.3, my Asus P4P800-VM system stopped
to boot. It delays after "ata0: <ATA channel 0> on atapci0" line, and then
could not find ad0 drive, so boot of the system is impossible. It is
interesting, that this behavior is seen just if I have set Onboard IDE
Operate Mode in BIOS to Compatible Mode (I could not use Enhanced mode,
because I have to have SATA disk as ad0, so it is unified with my other
systems). The above dmesg output from successful boot is from patched
kernel with following reverted commit to src/sys/i386/isa/clock.c:

--
Revision 1.222.2.3 Fri Jun 29 21:05:28 2007 UTC (8 months, 3 weeks ago) by jhb
Branch: RELENG_6 / CVS Tags: RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3
Changes since 1.222.2.2: +15 -0 lines

MFC: Use the tsc to implement DELAY() if it is usable and calibrated.

Reviewed by:	peter
--

>How-To-Repeat:
>Fix:

	After application of the patch below, my Asus P4P800-VM system
is bootable again, but maybe ICH5 has TSC broken?

--
--- sys/i386/isa/clock.c.orig	2008-03-20 12:01:36.000000000 +0100
+++ sys/i386/isa/clock.c	2008-03-20 12:13:01.000000000 +0100
@@ -64,7 +64,6 @@
 #include <sys/kernel.h>
 #include <sys/limits.h>
 #include <sys/module.h>
-#include <sys/sched.h>
 #include <sys/sysctl.h>
 #include <sys/cons.h>
 #include <sys/power.h>
@@ -290,22 +289,7 @@
 	int getit_calls = 1;
 	int n1;
 	static int state = 0;
-#endif
-
-	if (tsc_freq != 0 && !tsc_is_broken) {
-		uint64_t start, end, now;
 
-		sched_pin();
-		start = rdtsc();
-		end = start + (tsc_freq * n) / 1000000;
-		do {
-			cpu_spinwait();
-			now = rdtsc();
-		} while (now < end || (now > start && end < start));
-		sched_unpin();
-		return;
-	}
-#ifdef DELAYDEBUG
 	if (state == 0) {
 		state = 1;
 		for (n1 = 1; n1 <= 10000000; n1 *= 10)
--
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list