Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Jan 2005 02:16:46 +0100
From:      Pawel Worach <pawel.worach@telia.com>
To:        Nate Lawson <nate@root.org>
Cc:        John Baldwin <jhb@FreeBSD.org>
Subject:   Re: page fault panic in device_get_softc/acpi_pcib_route_interrupt
Message-ID:  <41DF347E.6010305@telia.com>
In-Reply-To: <41DF2BB3.60800@root.org>
References:  <20587818.1102626838092.JavaMail.tomcat@pne-ps4-sn1> <41DEED05.4040000@root.org> <41DF0839.6040700@telia.com> <200501071728.16828.jhb@FreeBSD.org> <41DF2BB3.60800@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Nate Lawson wrote:
> John Baldwin wrote:
> 
>> On Friday 07 January 2005 05:07 pm, Pawel Worach wrote:
>>
>>> Nate Lawson wrote:
>>>
>>>> Pawel, can you split out the lines so we can isolate where the panic is
>>>> occurring?  At the end of acpi_pcib.c, before the call to
>>>> acpi_pci_link_route_interrupt()
>>>
>>>
>>> Doesn't look like device_get_state() likes this device either.
>>>
>>> acpi_MatchHid() Hid: PNP0A03
>>> acpi_MatchHid() Hid: PNP0A03
>>> pcib0: <ACPI Host-PCI bridge> on acpi0
>>> pci0: <ACPI PCI bus> on pcib0
>>> acpi handle 0xc1ec8d20, name \LPUS
>>> link device: 0 index 0
>>
>>
>> So it appears the handle doesn't have a device_t associated with it.  
>> :(  The next step is to maybe do a printf in the code that adds the 
>> device_t's to see if one shows up for this handle, and if the handle 
>> is the same for the given name. 
> 
> 
> Ok, add this to acpi.c:acpi_add_child(), after AcpiAttachData():
> 
> printf("adding child %s, dev %p\n", acpi_name(handle), 
> acpi_get_device(child));
> 
> Then send the output.
> 
Guess that you meant in acpi_probe_child(), here is the output:

GDB: no debug ports present
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2005 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 6.0-CURRENT #0: Fri Jan  7 17:34:55 CET 2005
     root@zero:/usr/obj/usr/src/sys/ZERO
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Xeon(TM) CPU 2.80GHz (2793.90-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0xf29  Stepping = 9
 
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
real memory  = 1073590272 (1023 MB)
avail memory = 1046142976 (997 MB)
ACPI APIC Table: <IBM    SERONYXP>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
  cpu0 (BSP): APIC ID:  0
  cpu1 (AP): APIC ID:  6
MADT: Forcing active-low polarity and level trigger for SCI
ioapic2 <Version 1.1> irqs 32-47 on motherboard
ioapic1 <Version 1.1> irqs 16-31 on motherboard
ioapic0 <Version 1.1> irqs 0-15 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <IBM SERONYXP> on motherboard
acpi0: Power Button (fixed)
adding child \_PR_.CPU1, dev 0
adding child \_PR_.CPU0, dev 0
adding child \_SB_.PCI0, dev 0
adding child \_SB_.PCI0.ISA_, dev 0
adding child \_SB_.PCI0.ISA_.SIOM, dev 0
adding child \_SB_.PCI0.ISA_.PS2K, dev 0
adding child \_SB_.PCI0.ISA_.PS2M, dev 0
adding child \_SB_.PCI0.ISA_.FDC0, dev 0
adding child \_SB_.PCI0.ISA_.COM1, dev 0
adding child \_SB_.PCI0.ISA_.COM2, dev 0
adding child \_SB_.PCI0.ISA_.PIC_, dev 0
adding child \_SB_.PCI0.ISA_.DMA0, dev 0
adding child \_SB_.PCI0.ISA_.TMR_, dev 0
adding child \_SB_.PCI0.ISA_.RTC_, dev 0
adding child \_SB_.PCI0.ISA_.SPKR, dev 0
adding child \_SB_.PCI0.ISA_.COPR, dev 0
adding child \_SB_.PCI0.ISA_.SBD1, dev 0
adding child \_SB_.PCI0.USB0, dev 0
adding child \_SB_.PCI0.CI10, dev 0
adding child \_SB_.PCI0.CI12, dev 0
adding child \_SB_.PCI0.CI20, dev 0
adding child \_SB_.PCI0.CI22, dev 0
adding child \_SB_.PCI1, dev 0
adding child \_SB_.PCI2, dev 0
adding child \_SB_.PCI3, dev 0
adding child \_SB_.PCI4, dev 0
acpi0: reservation of 460, 2 (4) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x488-0x48b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> on acpi0
pci0: <ACPI PCI bus> on pcib0
acpi handle 0xc1ec8d20, name \LPUS
link device: 0 index 0


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
...

Not sure if this "acpi0: reservation of 460, 2 (4) failed" is related, is it?
I see now that I have it on my working kernel too (from 2004-11-20)

acpi0: Power Button (fixed)
acpi0: reservation of 460, 2 (4) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x488-0x48b on acpi0
cpu0: <ACPI CPU> on acpi0

-- 
Pawel



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