Re: general protection fault panic

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Mon, 26 Mar 2012 10:59:18 -0700
On Mon, Mar 26, 2012 at 01:53:25PM -0400, John Baldwin wrote:
> On Monday, March 26, 2012 1:41:55 pm Steve Kargl wrote:
> > On Mon, Mar 26, 2012 at 01:18:37PM -0400, John Baldwin wrote:
> > > On Monday, March 26, 2012 12:21:29 pm Steve Kargl wrote:
> > > 
> > > You know your APIC ID is 0, so you should be able to find the IRQ for vector 
> > > 51 from here in apic_idt_to_irq():
> > > 
> > > 	irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
> > > 
> > > Your apic_id is 0, and APIC_IO_INTS is 48, so you should be able to do this
> > > in kgdb:
> > > 
> > > p lapics[0].la_ioint_irqs[3]
> > > 
> > > That should give you an index, and intr_lookup_source() just does an array
> > > lookup.  However, I'd be curious to see what the assembly looks like
> > > (x/10i $rip at this frame).
> > > 
> > 
> > 
> > (kgdb) p lapics[0].la_ioint_irqs[3]
> > $1 = 16
> > (kgdb) frame 27
> > #27 0xffffffff806dc186 in acpi_cpu_c1 ()
> >     at /usr/src/sys/amd64/acpica/acpi_machdep.c:97
> 
> Sorry, I meant down at the frame that faulted (frame 7 in this case).
> 

(kgdb) frame 7
#7  0xffffffff80751232 in lapic_handle_intr (vector=51, 
    frame=0xffffff8000229a70) at /usr/src/sys/x86/x86/local_apic.c:777
777     {
(kgdb) x/10i $rip
0xffffffff80751232 <lapic_handle_intr+2>:       stos   %eax,%es:(%rdi)
0xffffffff80751233 <lapic_handle_intr+3>:       (bad)  
0xffffffff80751234 <lapic_handle_intr+4>:       pop    %rbp
0xffffffff80751235 <lapic_handle_intr+5>:       pop    %rsi
0xffffffff80751236 <lapic_handle_intr+6>:       fsubr  %st(3),%st
0xffffffff80751238 <lapic_handle_intr+8>:       (bad)  
0xffffffff80751239 <lapic_handle_intr+9>:       or     $0xac1ae6b3,%eax
0xffffffff8075123e <lapic_handle_intr+14>:      out    %eax,$0x19
0xffffffff80751240 <lapic_handle_intr+16>:
    jl     0xffffffff8075125e <lapic_handle_intr+46>
0xffffffff80751242 <lapic_handle_intr+18>:      adc    %r12d,0xc6aa671(%rdi)

-- 
Steve
Received on Mon Mar 26 2012 - 15:59:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:25 UTC