Virtual Processor States
Conceptually, a virtual processor is in one of the following states:
- Running
-
The virtual processor actively consumes the processor cycles of a logical processor.
- Ready
-
The virtual processor is ready to run. However, the virtual processor is not actively running because other virtual processors are currently running.
- Waiting
-
The virtual processor is in a state that is defined by the processor architecture. This state does not involve the active execution of instructions. For example, for the x64 architecture, at a HLT instruction, within "waiting for SIPI" state, or if the scheduler has capped the virtual processor.
- Suspended
-
The virtual processor is stopped on a guest instruction boundary by either being explicitly suspended or implicitly suspended due to an intercept.
A suspended virtual processor consumes no processor cycles. A virtual processor is suspended when any of the following items are true:
-
The virtual processor is explicitly suspended.
-
The virtual processor is implicitly suspended because of an intercept.
Both suspension reasons must be cleared before a virtual processor becomes active. They can be set or cleared by using HvSetVpRegisters.
-
Send comments about this topic to Microsoft
Build date: 11/16/2013