Date: Tue, 22 Jun 2010 23:10:57 +0300 From: Alexander Motin <mav@FreeBSD.org> To: Doug Barton <dougb@FreeBSD.org> Cc: freebsd-current@FreeBSD.org Subject: Re: Timer panic on boot (r209434) Message-ID: <4C2118D1.3080903@FreeBSD.org> In-Reply-To: <4C2115D2.5080504@FreeBSD.org> References: <4C211538.1040808@FreeBSD.org> <4C2115D2.5080504@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------030706010608010307010605 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Doug Barton wrote: > On 06/22/10 12:55, Doug Barton wrote: >> Howdy, >> >> I tried upgrading from r209351 to r209434 and got a panic related to the >> timer stuff while booting. You can see the panic and the backtrace here: >> >> http://people.freebsd.org/~dougb/timer-panic-1.jpg >> http://people.freebsd.org/~dougb/timer-panic-2.jpg >> http://people.freebsd.org/~dougb/timer-panic-3.jpg > > Hmmm, that could use a little more detail. :) I have a Dell laptop with > a core 2 duo processor, running 9-current SMP i386. Your ACPI seems reports that attimer uses IRQ2, instead of usual IRQ0. It is either a bug, or it is a very rare feature. I am not sure it is not a hack, but you may try attached patch. If it helps, it would be nice it you tried to use i8254 event timer, to check is this a bug or feature. -- Alexander Motin --------------030706010608010307010605 Content-Type: text/plain; name="norid.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="norid.patch" diff -ruNp sys/isa.prev/atrtc.c sys/isa/atrtc.c --- sys/isa.prev/atrtc.c 2010-06-22 23:01:13.000000000 +0300 +++ sys/isa/atrtc.c 2010-06-22 23:01:38.000000000 +0300 @@ -259,6 +259,7 @@ atrtc_attach(device_t dev) if (!atrtcclock_disable && (resource_int_value(device_get_name(dev), device_get_unit(dev), "clock", &i) != 0 || i != 0)) { + sc->intr_rid = -1; if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->intr_rid, 8, 8, 1, RF_ACTIVE))) { device_printf(dev,"Can't map interrupt.\n"); diff -ruNp sys/isa.prev/clock.c sys/isa/clock.c --- sys/isa.prev/clock.c 2010-06-22 20:19:00.000000000 +0300 +++ sys/isa/clock.c 2010-06-22 23:01:27.000000000 +0300 @@ -535,6 +535,7 @@ attimer_attach(device_t dev) tc_init(&sc->tc); if (resource_int_value(device_get_name(dev), device_get_unit(dev), "clock", &i) != 0 || i != 0) { + sc->intr_rid = -1; if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->intr_rid, 0, 0, 1, RF_ACTIVE))) { device_printf(dev,"Can't map interrupt.\n"); --------------030706010608010307010605--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C2118D1.3080903>