QEMU Developer’s Guide¶

This manual documents various parts of the internals of QEMU. You only need to read it if you are interested in reading or modifying QEMU’s source code.

Contents:

  • QEMU and Kconfig
    • The Kconfig language
    • Guidelines for writing Kconfig files
    • Writing and modifying default configurations
    • Kconfig.host
  • Load and Store APIs
    • ld*_p and st*_p
    • cpu_{ld,st}_*
    • cpu_{ld,st}_*_ra
    • helper_*_{ld,st}*mmu
    • address_space_*
    • address_space_write_rom
    • {ld,st}*_phys
    • cpu_physical_memory_*
    • cpu_memory_rw_debug
    • dma_memory_*
    • pci_dma_* and {ld,st}*_pci_dma
  • The memory API
    • Types of regions
    • Migration
    • Region names
    • Region lifecycle
    • Overlapping regions and priority
    • Visibility
    • Example memory map
    • MMIO Operations
  • Migration
    • Transports
    • Common infrastructure
    • Saving the state of one device
    • Stream structure
    • Postcopy
    • Firmware
  • QEMU and the stable process
    • QEMU stable releases
    • What should go into a stable release?
    • How to get a patch into QEMU stable
    • Stable release process
  • Testing in QEMU
    • Testing with “make check”
    • QEMU iotests
    • Docker based tests
    • VM testing
    • Image fuzzer testing
    • Acceptance tests using the Avocado Framework
  • Decodetree Specification
    • Fields
    • Argument Sets
    • Formats
    • Patterns
    • Pattern Groups

Related Topics

  • Documentation overview
    • Previous: Persistent reservation helper protocol
    • Next: QEMU and Kconfig

This Page

  • Show Source

Quick search

©2017, The QEMU Project. | Powered by Sphinx 1.7.5 & Alabaster 0.7.9 | Page source