PCIe/CXL debug flows top-down: link health → credits → TLP completion → driver.
4topics
4lessons
What you'll learn
PCIe/CXL debug flows top-down: link health → credits → TLP completion → driver.
Skip a layer and you'll mis-own the bug.
AER log for hardware errors. LTSSM for link. TLP analyzer for transaction layer.
Firmware enumeration issues look like driver bugs.
Connection
Debug synthesis for PCIe and CXL integration.
Key diagram
Trace completion and interrupt separately
Trace completion and interrupt separately. Illustrative operation with an interrupt. Polling a completed status register does not establish the message, routing or handler path.
Illustrative operation with an interrupt. Polling a completed status register does not establish the message, routing or handler path. Check yourselfIf polling succeeds but no handler runs, where does the next investigation begin?
At interrupt generation/configuration, masks, routing and handler registration, rather than assuming the DMA datapath is broken.