Date: Sat, 01 Sep 2001 23:25:04 +0900 From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> To: acpi-jp@jp.freebsd.org Cc: current@freebsd.org Subject: panic on current ACPI Message-ID: <20010901232504F.iwasaki@jp.FreeBSD.org>
next in thread | raw e-mail | index | archive | help
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 root@tp1620:/usr/obj/usr/CURRENT/src/sys/TP1620 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 Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE> 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... Thanks 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 @@ #define _COMPONENT ACPI_SYSTEM MODULE_NAME("TIMER") -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 @@ return_VOID; if (AcpiGbl_FADT == NULL) + return_VOID; + + if (acpi_timer_dev != NULL) return_VOID; if ((dev = BUS_ADD_CHILD(parent, 0, "acpi_timer", 0)) == NULL) { To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010901232504F.iwasaki>