Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Aug 2005 14:18:12 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        jhb@freebsd.org
Cc:        freebsd-smp@freebsd.org, markir@paradise.net.nz
Subject:   Re: 6.0 BETA3 reboot hangs on SMP system if BIOS USB disabled
Message-ID:  <20050831.141812.45157237.imp@bsdimp.com>
In-Reply-To: <200508311556.19878.jhb@FreeBSD.org>
References:  <200508301623.57973.jhb@FreeBSD.org> <20050830.150750.91757991.imp@bsdimp.com> <200508311556.19878.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200508311556.19878.jhb@FreeBSD.org>
            John Baldwin <jhb@FreeBSD.org> writes:
: Yes, that's ok.

OK.  I think that the following is sufficient.  Please test and let me
know.

Index: pci.c
===================================================================
RCS file: /cache/ncvs/src/sys/dev/pci/pci.c,v
retrieving revision 1.292
diff -u -r1.292 pci.c
--- pci.c	3 Jun 2005 19:41:06 -0000	1.292
+++ pci.c	31 Aug 2005 20:12:36 -0000
@@ -826,9 +826,14 @@
 	 * If base is 0, then we have problems.  It is best to ignore
 	 * such entries for the moment.  These will be allocated later if
 	 * the driver specifically requests them.
+	 *
+	 * Similarlly treat maps whose values is the same as the test value
+	 * read back.  These maps have had all f's written to them by the
+	 * BIOS in an attempt to disable the resources.
 	 */
-	if (base == 0)
+	if (base == 0 || map == testval)
 		return 1;
+
 	/*
 	 * This code theoretically does the right thing, but has
 	 * undesirable side effects in some cases where peripherals



Warner



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