Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Master embedded Linux kernel development
·
Module 6
PCIe Subsystem Internals
1
PCIe Architecture: Layers, Root Complex, Switches, and Endpoints
Describe the PCIe layered architecture, including root complex, switches, and endpoints.
2
PCIe Enumeration: Kernel Device Discovery & Configuration
Explain PCIe enumeration and how the kernel discovers and configures devices during boot.
3
PCIe Driver Skeleton & Configuration Space Access
Write a PCIe driver skeleton that registers with the PCI subsystem and reads device configuration space.
4
Accessing PCIe Device BARs for MMIO
Extend a PCIe driver to request, map, and access a device's Base Address Registers (BARs) for MMIO.
5
Configuring MSI/MSI-X Interrupts in PCIe Drivers
Explain MSI and MSI-X interrupt mechanisms and configure them in a PCIe driver.
6
IOMMU: Securing DMA and Virtualization
Explain how the IOMMU enables secure DMA and device isolation for security and virtualization.
7
PCIe ASPM State Transitions
Configure and observe PCIe device power management (ASPM) state transitions.
8
PCIe Device Initialization Troubleshooting
Debug a PCIe device initialization failure using lspci, setpci, and kernel log analysis.
Previous module
Interrupts, Deferred Work, & The Device Model
Next module
System Performance & Scalability Analysis