Hypervisor Top Level Functional Specification

The Hyper-V Hypervisor Top-Level Functional Specification (TLFS) describes the hypervisor's guest-visible behavior to other operating system components. This specification is meant to be useful for guest operating system developers.

This specification is provided under the Microsoft Open Specification Promise. Read the following for further details about the Microsoft Open Specification Promise.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in these materials. Except as expressly provided in the Microsoft Open Specification Promise, the furnishing of these materials does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Glossary

  • Partition - Hyper-V supports isolation in terms of a partition. A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute.
  • Root Partition - The root partition (a.k.a the"parent" or"host") is a privileged management partition. The root partition manages machine-level functions such as device drivers, power management, and device addition/removal. The virtualization stack runs in the parent partition and has direct access to the hardware devices. The root partition then creates the child partitions which host the guest operating systems.
  • Child Partition - The child partition (a.k.a. the"guest") hosts a guest operating system. All access to physical memory and devices by a child partition is provided via the Virtual Machine Bus (VMBus) or the hypervisor.
  • Hypercall - Hypercalls are an interface for communication with the hypervisor.

Specification Style

The document assumes familiarity with the high-level hypervisor architecture.

This specification is informal; that is, the interfaces are not specified in a formal language. Nevertheless, it is a goal to be precise. It is also a goal to specify which behaviors are architectural and which are implementation-specific. Callers should not rely on behaviors that fall into the latter category because they may change in future implementations.

Previous Versions

Release Document
Windows Server 2016 (Revision C) Hypervisor Top Level Functional Specification v5.0c.pdf
Windows Server 2012 R2 (Revision B) Hypervisor Top Level Functional Specification v4.0b.pdf
Windows Server 2012 Hypervisor Top Level Functional Specification v3.0.pdf
Windows Server 2008 R2 Hypervisor Top Level Functional Specification v2.0.pdf

Requirements for Implementing the Microsoft Hypervisor Interface

The TLFS fully describes all aspects of the Microsoft-specific hypervisor architecture, which is declared to guest virtual machines as the "HV#1" interface. However, not all interfaces described in the TLFS are required to be implemented by third-party hypervisor wishing to declare conformance with the Microsoft HV#1 hypervisor specification. The document "Requirements for Implementing the Microsoft Hypervisor Interface" describes the minimal set of hypervisor interfaces which must be implemented by any hypervisor which claims compatibility with the Microsoft HV#1 interface.

Requirements for Implementing the Microsoft Hypervisor Interface.pdf