CXL Emulation in QEMU - Progress, status and most importantly what next?
summary
QEMU now implements CXL emulation beyond basics: Dynamic Capacity support with one-to-8 regions, DPA extent tracking and basic read/write backed by mailbox commands (Get Dynamic Capacity Configuration, Get Dynamic Capacity Extent List, Add/Release/Response) and uses a QMP interface to simulate a Fabric Manager. Current limitations: only simple Type‑3 memory devices, extents hardcoded long‑volatile, no shared‑extent or generation handling, FM absent, and the spec forces event records to one extent so multi‑extent requests don’t work. Basic tests and host-side development work, but multi‑host FM, KVM performance and ARM device‑tree enumeration remain unresolved.
AI-written summary · about
chapters (6)
- 0:00Introduction to CXL emulation
- 1:02Progress since last year
- 2:28Dynamic capacity device emulation
- 14:11Fabric management overview
- 23:40KVM and CXL emulation challenges
- 25:49ARM support and device tree issues
related talks
30mCXL Dynamic Capacity MM
29mCXL HDM-DB support for Linux
39mCompute Express Link(CXL), the Next Generation Interconnect - Overview and the Status of Linux
39mQEMU: Emulating Your Way to Success
03mCXL MC Welcome and Kickoff
27mCPU Feature Management: Lessons from Trenches
12mWhat's new in QEMU land?
37mMeta’s CXL Journey and Learnings in Linux
