Synthetic Timer Configuration Register
The following tables show how the synthetic timer configuration registers are encoded. The HV_X64_MSR_STIMER_CONFIG_CONTENTS structure is used to encode synthetic timer configuration registers.
| 63:20 | 19:16 | 15:4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|
|
RsvdZ |
SINTx |
RsvdZ |
Auto Enable |
Lazy |
Periodic |
Enable |
| Bits | Description | Attributes |
|---|---|---|
|
63:20 |
RsvdZ (value should be set to zero) |
Read/write |
|
19:16 |
SINTx--synthetic interrupt source |
Read/write |
|
15:3 |
RsvdZ (value should be set to zero) |
Read/write |
|
3 |
AutoEnable--set if writing the corresponding counter implicitly causes the counter to be enabled, cleared if not |
Read/write |
|
2 |
Lazy--set if timer is lazy, cleared if not |
Read/write |
|
1 |
Periodic--set if timer is periodic, cleared if one-shot |
Read/write |
|
0 |
Enable--set if timer is enabled |
Read/write |
When a virtual processor is created and reset, the value of all HV_X64_MSR_STIMERx_CONFIG (synthetic timer configuration) registers is set to 0x0000000000000000. Therefore, all synthetic timers are disabled by default.
If the AutoEnable bit is set, writing a nonzero value to the corresponding count register will cause the Enable bit to be set and activate the counter. Otherwise, Enable should be set after writing the corresponding count register in order to activate the counter. For information about the count register, see Synthetic Timer Count Register.
When a one-shot timer expires, the timer is automatically marked as disabled. Periodic timers remain enabled until explicitly disabled.
If a one-shot timer is enabled and the specified count is in the past, the timer will expire immediately.
The SINTx bits cannot be set to zero for an enabled timer. If attempted, the timer will be marked disabled (that is, bit 0 cleared) immediately.
Writing the configuration register of a timer that is already enabled might result in undefined behavior. For example, changing a timer from one-shot to periodic might not produce what is intended. Timers should always be disabled prior to changing any other properties.
Send comments about this topic to Microsoft
Build date: 11/16/2013
