Hi,  I've noticed that the recent CURRENT got panic on some machines
if we have `device acpica' in kernel config.

ACPI debug layer 0x0  debug level 0x0
Copyright (c) 1992-2001 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 5.0-CURRENT #8: Sat Sep  1 20:02:07 JST 2001
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 597407237 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (597.41-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
real memory  = 402587648 (393152K bytes)
avail memory = 385839104 (376796K bytes)
Preloaded elf kernel "kernel" at 0xc05a5000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc05a509c.
Preloaded elf module "acpi.ko" at 0xc05a50ec.
can't re-use a leaf (acpi_debug_layer)!
can't re-use a leaf (acpi_debug_level)!
can't re-use a leaf (acpi_timecounter)!
can't re-use a leaf (acpi_timer_freq)!
can't re-use a leaf (acpi_wakeup)!
Warning: module nexus/acpi already exists
Warning: module acpi/acpi_acad already exists
Warning: module acpi/acpi_button already exists
Warning: module acpi/acpi_cmbat already exists
Warning: module acpi/acpi_cpu already exists
Warning: module acpi/acpi_ec already exists
Warning: module acpi/acpi_lid already exists
Warning: module acpi/acpi_pcib already exists
Warning: module acpi/acpi_sysresource already exists
Warning: module acpi/acpi_tz already exists
Warning: module acpi/acpi_timer already exists
Warning: module pci/acpi_timer_pci already exists
Pentium Pro MTRR support enabled
WARNING: Driver mistake: destroy_dev on 154/0
Using $PIR table, 11 entries at 0xc00fdee0
acpi0: <PTLTD    RSDT  > on motherboard
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI"  frequency 3579545 Hz
acpi_timer1: couldn't allocate I/O resource (port 0x1008)
acpi_timer1 port 0x1008-0x100b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_tz0: <thermal zone> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Sleep Button> on acpi0
acpi_pcib0: <Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <PCI bus> on acpi_pcib0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0x1800-0x180f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x28
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc058ed3c
stack pointer           = 0x10:0xc05c6be0
frame pointer           = 0x10:0xc05c6be0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (swapper)
kernel: type 12 trap, code=0
Stopped at      acpi_timer_get_timecount+0x08:  movl    0x28(%eax),%edx

I think that this is because acpi_timer device is identified twice,
so I've just made a quick fix for this so that acpi_timer_identify()
is called only once.

I hope more proper fixes would be made...


Index: acpi_timer.c
RCS file: /home/ncvs/src/sys/dev/acpica/acpi_timer.c,v
retrieving revision 1.10
diff -u -r1.10 acpi_timer.c
--- acpi_timer.c        5 Aug 2001 23:20:32 -0000       1.10
+++ acpi_timer.c        1 Sep 2001 12:04:14 -0000
@@ -55,7 +55,7 @@
-static device_t        acpi_timer_dev;
+static device_t        acpi_timer_dev = NULL;
 struct resource        *acpi_timer_reg;
 #define TIMER_READ     bus_space_read_4(rman_get_bustag(acpi_timer_reg),       \
                                         rman_get_bushandle(acpi_timer_reg),    \
@@ -122,6 +122,9 @@
     if (AcpiGbl_FADT == NULL)
+       return_VOID;
+    if (acpi_timer_dev != NULL)
     if ((dev = BUS_ADD_CHILD(parent, 0, "acpi_timer", 0)) == NULL) {

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to