Date: Thu, 20 Mar 2008 16:48:10 +0100 (CET) From: Rudolf Cejka <cejkar@fit.vutbr.cz> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/121917: Broken boot on Asus P4P800-VM after upgrade from 6.2 to 6.3 Message-ID: <200803201548.m2KFmAA5053112@kazi.fit.vutbr.cz> Resent-Message-ID: <200803201610.m2KGA2qr004590@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803201548.m2KFmAA5053112>