[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