Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Oct 2004 14:17:01 +0100
From:      Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
To:        Dan Strick <strick@covad.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: painful delay during 5.3-RC1 boot
Message-ID:  <1098796621.13487.26.camel@buffy.york.ac.uk>
In-Reply-To: <200410252248.i9PMmSQ9000478@mist.nodomain>
References:  <200410252248.i9PMmSQ9000478@mist.nodomain>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Mon, 2004-10-25 at 23:48, Dan Strick wrote:
> I tried to install 5.3-RC1 yesterday and this time (the first time since
> 5.1) it booted correctly.  The kernel paused for more than 100 seconds
> shortly after starting the second HTT cpu and just before mounting root.
> The problem still exists after building and tuning a custom kernel.
> Is this known behavior?

This sounds very much to me like it could be related to the floppy drive
probes in some way.  Possibly a disk is being detected, when in fact
there isn't one in the drive.

Try applying the attached patch to your kernel, recompiling, installing
and following up to the list with the resulting verbose boot.

Gavin

[-- Attachment #2 --]
Index: /usr/src/sys/dev/fdc/fdc.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/fdc/fdc.c,v
retrieving revision 1.283.2.3
diff -u -r1.283.2.3 fdc.c
--- /usr/src/sys/dev/fdc/fdc.c	10 Oct 2004 23:49:38 -0000	1.283.2.3
+++ /usr/src/sys/dev/fdc/fdc.c	20 Oct 2004 09:58:47 -0000
@@ -264,7 +264,7 @@
 SYSCTL_INT(_debug_fdc, OID_AUTO, fifo, CTLFLAG_RW, &fifo_threshold, 0, 
 	"FIFO threshold setting");
 
-static int debugflags = 0;
+static int debugflags = 0xff;
 SYSCTL_INT(_debug_fdc, OID_AUTO, debugflags, CTLFLAG_RW, &debugflags, 0,
 	"Debug flags");
 
@@ -1685,6 +1685,14 @@
 	int	error;
 
 	fdc = device_get_softc(dev);
+
+	printf("Contents of fdc_data at start of fdc_attach:\n");
+	printf("  portt=0x%0x   porth=0x%0x   stst=0x%0x   stsh=0x%0x\n",
+	    fdc->portt, fdc->porth, fdc->stst, fdc->stsh);
+	printf("  ctlt=0x%0x    ctlh=0x%0x\n", fdc->ctlt, fdc->ctlh);
+	printf("  port_off=0x%0x    ctl_off=0x%0x    sts_off=0x%0x\n",
+	    fdc->port_off, fdc->ctl_off, fdc->sts_off);
+
 	fdc->fdc_dev = dev;
 	error = fdc_initial_reset(dev, fdc);
 	if (error) {

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1098796621.13487.26.camel>