[Bug 130483] [mxge] MSI must be disabled when Myricom 10Gbps Card is used on Dell PowerEdge T300 Server
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Aug 22 09:02:35 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=130483
John Baldwin <jhb at FreeBSD.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jhb at FreeBSD.org
--- Comment #4 from John Baldwin <jhb at FreeBSD.org> ---
For posterity in case we have to revisit this in the future. I ended up
resolving this PR in r189404. I've included some boot -v output from the
affected machine below along with some additional notes:
MADT: Found IO APIC ID 4, Interrupt 0 at 0xfec00000
ioapic0: Changing APIC ID to 4
ioapic0: Routing external 8259A's -> intpin 0
MADT: Found IO APIC ID 5, Interrupt 256 at 0xfec10000
ioapic1: Changing APIC ID to 5
ioapic1: WARNING: intbase 256 != expected base 24
MADT: Found IO APIC ID 6, Interrupt 64 at 0xfec10000
ioapic2: Changing APIC ID to 6
ioapic2: WARNING: intbase 64 != expected base 280
lapic: Routing NMI -> LINT1
lapic: LINT1 trigger: edge
lapic: LINT1 polarity: high
MADT: Interrupt override: source 0, irq 2
ioapic0: Routing IRQ 0 -> intpin 2
MADT: Interrupt override: source 9, irq 9
ioapic0: intpin 9 trigger: level
ioapic0 <Version 2.0> irqs 0-23 on motherboard
ioapic1 <Version 2.0> irqs 0-23 on motherboard
ioapic2 <Version 2.0> irqs 64-87 on motherboard
Here the error was that ioapic1 and ioapic2 were actually the same I/O APIC
(note the same memory mapped base address), but ioapic1 used a IRQ base of 256
which caused IRQ values for MSI to get reserved by the nexus resulting in the
panic. Here is the MADT table from this machine:
/*
APIC: Length=138, Revision=1, Checksum=201,
OEMID=DELL, OEM Table ID=PE_SC3, OEM Revision=0x1,
Creator ID=DELL, Creator Revision=0x1
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=2
Flags={ENABLED}
APIC ID=1
Type=Local APIC
ACPI CPU=3
Flags={ENABLED}
APIC ID=2
Type=Local APIC
ACPI CPU=4
Flags={ENABLED}
APIC ID=3
Type=Local NMI
ACPI CPU=ALL
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
Type=IO APIC
APIC ID=4
INT BASE=0
ADDR=0x00000000fec00000
Type=IO APIC
APIC ID=5
INT BASE=256
ADDR=0x00000000fec10000
Type=IO APIC
APIC ID=6
INT BASE=64
ADDR=0x00000000fec10000
*/
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-amd64
mailing list