Linux kernel framework for PCIe device emulation, in userspace
Summary
The repository presents PCIem, a Linux framework for creating virtual PCIe devices in userspace to facilitate driver development and testing without physical hardware. It outlines architecture linking the host kernel with a userspace PCI shim, lists features such as BAR management, watchpoints, complete interrupt support, DMA (IOMMU-aware and P2P), and a modular PCI capability framework, and provides examples with QEMU. The project emphasizes safe in-host prototyping and includes licensing and references to PCIe specs.