Timer panic on boot (r209434)
Alexander Motin
mav at FreeBSD.org
Tue Jun 22 20:11:38 UTC 2010
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
-------------- next part --------------
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");
More information about the freebsd-current
mailing list