1. Introduction
  2. Getting Started
  3. 1. OpenVMM
    1. 1.1. Running OpenVMM
    2. 1.2. Troubleshooting
    3. 1.3. Next Steps
  4. 2. OpenHCL
    1. 2.1. Running OpenHCL
      1. 2.1.1. On Windows - Hyper-V
      2. 2.1.2. On Windows - OpenVMM
      3. 2.1.3. On Linux
    2. 2.2. Troubleshooting
    3. 2.3. Next Steps
  5. Developer Guide
  6. 3. Getting Started
    1. 3.1. On Linux / WSL2
    2. 3.2. On Windows
    3. 3.3. Via Codespaces / Dev Container
    4. 3.4. Building OpenVMM
    5. 3.5. Building OpenHCL
      1. 3.5.1. Building a Custom Kernel
    6. 3.6. Suggested Dev Environment
  7. 4. Testing
    1. 4.1. Unit Tests
    2. 4.2. VMM Tests
      1. 4.2.1. Azure-hosted Test Images
    3. 4.3. Fuzzing
      1. 4.3.1. Running Fuzzers
      2. 4.3.2. Writing Fuzzers
  8. 5. Developer Tools / Utilities
    1. 5.1. cargo xtask
    2. 5.2. cargo xflowey
    3. 5.3. VmgsTool
    4. 5.4. update-rootfs.py
    5. 5.5. igvmfilegen
    6. 5.6. guest_test_uefi
    7. 5.7. hypestv
  9. 6. Contributing
    1. 6.1. Coding Conventions
    2. 6.2. Releases & Code Flow
    3. 6.3. Submitting Changes
    4. 6.4. Code Review Process
    5. 6.5. Guide Updates
  10. Reference
  11. 7. OpenVMM Features
    1. 7.1. Configuration and Management
      1. 7.1.1. CLI
      2. 7.1.2. Interactive Console
      3. 7.1.3. gRPC / ttrpc
    2. 7.2. Graphical Console
    3. 7.3. Logging
  12. 8. OpenHCL Features
    1. 8.1. Dynamic Configuration
    2. 8.2. Diagnostics
      1. 8.2.1. Preface: CVM restrictions
      2. 8.2.2. Intro to ohcldiag-dev
      3. 8.2.3. Network packet capture (PCAP)
      4. 8.2.4. Performance analysis
      5. 8.2.5. Tracing
  13. 9. Developer Features
    1. 9.1. Hardware Debugging (gdbstub)
    2. 9.2. Kernel Debugging (KDNET)
  14. 10. Devices
    1. 10.1. Firmware
      1. 10.1.1. UEFI: mu_msvm
      2. 10.1.2. BIOS: Hyper-V PCAT BIOS
      3. 10.1.3. Linux Direct
    2. 10.2. Virtio
      1. 10.2.1. virtio-fs
      2. 10.2.2. virtio-9p
      3. 10.2.3. virtio-serial
      4. 10.2.4. virtio-net
      5. 10.2.5. virtio-pmem
    3. 10.3. VMBus
      1. 10.3.1. storvsp
      2. 10.3.2. netvsp
      3. 10.3.3. vpci
      4. 10.3.4. serial
      5. 10.3.5. framebuffer
      6. 10.3.6. input
    4. 10.4. Emulated
      1. 10.4.1. vTPM
      2. 10.4.2. NVMe
      3. 10.4.3. Serial
      4. 10.4.4. Legacy x86
        1. 10.4.4.1. i440BX + PIIX4 chipset
        2. 10.4.4.2. IDE HDD/Optical
        3. 10.4.4.3. Floppy
        4. 10.4.4.4. PCI
        5. 10.4.4.5. VGA
    5. 10.5. Direct Assigned
  15. 11. Device Backends
    1. 11.1. Serial
    2. 11.2. Graphics and Input
    3. 11.3. Storage
    4. 11.4. Networking
  16. 12. Architecture
    1. 12.1. OpenVMM Architecture
      1. 12.1.1. mesh
      2. 12.1.2. inspect
    2. 12.2. OpenHCL Architecture
  17. OpenVMM Rust Crate API Docs

The OpenVMM Guide

Submitting Changes

Follow the CONTRIBUTING guide.