I recently gave a high-level overview of QEMU aimed at new contributors or people working with QEMU. The slides are now available here:
QEMU Code Overview (pdf)
Topics covered include:
- External interfaces (command-line, QMP monitor, HMP monitor, UI, logging)
- Architecture (process model, main loop, threads)
- Device emulation (KVM accelerator, guest/host device split, hardware emulation)
- Development (build process, contributing)
It is a short presentation and stays at a high level, but it can be useful for getting your bearings before digging into QEMU source code, debugging, or performance analysis.
Enjoy!