[Bug 280817] With DMAR enabled, by system panics

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 14 Aug 2024 15:52:01 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280817

            Bug ID: 280817
           Summary: With DMAR enabled, by system panics
           Product: Base System
           Version: 15.0-CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: imp@FreeBSD.org

The recent changes to enable DMAR by default on Intel result in a panic on my
system (partial stack, I can't get to it easily):

null pointer dereference in dmar_match_by_path because unit is NULL.

trap
dmar_match_by_path() +0x20
dmar_find()+0x185
iommu_get_dma_tag()
acpi_pci_get_dma_tag()
xhci_init()
xhci_pci_attach()
...

Adding a workaround to return false when unit == NULL in dmar_match_by_path
results in a system w/o all its interrupts, so it doesn't boot. Lots of
CPU0:lpcal APIC error 0x40

There may be other errors in the log, but my keyboard is jammed when it breaks
to debugger, so I can't scroll back, or ask for dmesg from the debugger.

Only 'hw.dmar.enable=0' in loader.conf offers any relief.

-- 
You are receiving this mail because:
You are the assignee for the bug.