Bug 265700 - DMA initialization failed causes instantaneous kernel panic when source llvm > 14.0.4
Summary: DMA initialization failed causes instantaneous kernel panic when source llvm ...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 13.1-STABLE
Hardware: powerpc Any
: --- Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-07 20:54 UTC by bugreporter
Modified: 2022-08-07 20:54 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bugreporter 2022-08-07 20:54:38 UTC
Hardware: Raptor Computing Talos II, 128GB RAM, etc.

This is a big-endian targetted: so, not powerpc64le.

With install media built from sources on the stable/13 branch between the import of llvm-14.0.5 (so, 862668c4874d8ffb8d74108a55719670c8b923b6) and tip, which for me is currently f95569fafcba5ed3cd119f8d177622fe0e64bbf6, on kernel boot I get an insta-panic when the kernel attempts to initialize DMA for an AHCI channel. Rebuilding (cross-rebuilding I guess) back to commitid 3fbe3365df59f9b973c7b5bc8e82e13199ab5057 allows the DMA initialize to complete.

I am booting the install media from a USB stick; there are a larger number of storage devices in this system.

The console reports, during this crash:

ahci0: AHCI v1.00 with 4 6Gbps ports, Port Multiplier supported with FBS
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich0: WARNING - DMA initialization failed, error 12

fatal kernel trap:

   exception       = 0x300 (data storage interrupt)
   virtual address = 0x4f
   dsisr           = 0x40000000
   srr0            = 0xc000000003030d50 (0xd40d50)
   srr1            = 0x9000000000001032
   current msr     = 0x9000000000001032
   lr              = 0xc000000003030d48 (0xd40d48)
   frame           = 0xc00800000000bf20
   curthread       = 0xc000000003a6f480
          pid = 0, comm = swapper

panic: data storage interrupt trap
cpuid = 0
time = 1
KDB: stack backtrace:
#0 0xc000000002bdc4f0 at kdb_backtrace+0x90
#1 0xc000000002b6c148 at vpanic+0x1b8
#2 0xc000000002b6bf7c at panic+0x44
#3 0xc000000003044dc0 at trap+0x304
#4 0xc0000000030390f4 at powerpc_interrupt+0x1b4
Uptime: 1s

(and then instantly reboots)

If I build from mainline again which I think has LLVM 15.* imported, it's back to working again at least in terms of booting.

If there are any debugging mechanisms you'd like me to pursue, I have a bit of time on my hands and I'm motivated to get powerpc64 (not le) running on my talos.