таймерыTimers

Гипервизор предоставляет простые службы времени.The hypervisor provides simple timing services. Они основаны на источнике времени ссылки на постоянную ставку (обычно это таймер ACPI в системах x64).These are based on a constant-rate reference time source (typically the ACPI timer on x64 systems).

Предоставляются следующие службы таймера:The following timer services are provided:

  • Счетчик времени ссылок на секцию.A per-partition reference time counter.
  • Четыре искусственных таймера на виртуальный процессор.Four synthetic timers per virtual processor. Каждый искусственный таймер — это однократный или периодический таймер, который доставляет сообщение или утверждает прерывание по истечении срока его действия.Each synthetic timer is a single-shot or periodic timer that delivers a message or asserts an interrupt when it expires.
  • Один виртуальный таймер APIC на виртуальный процессор.One virtual APIC timer per virtual processor.
  • Время ссылки на секцию, просвещение на основе поддержки неизменяемого счетчика отметки времени (iTSC) на платформе узла.A partition reference time enlightenment, based on the host platform’s support for an Invariant Time Stamp Counter (iTSC).

Счетчик ссылокReference Counter

Гипервизор поддерживает счетчик времени ссылок для каждого раздела.The hypervisor maintains a per-partition reference time counter. Он имеет характеристики, которые последовательного доступа к нему возвращают строго монотонно увеличивающиеся значения времени (Time), как видно для всех виртуальных процессоров секции.It has the characteristic that successive accesses to it return strictly monotonically increasing (time) values as seen by any and all virtual processors of a partition. Кроме того, счетчик ссылок имеет постоянную частоту и не влияет на переходы процессора или скорости шины или на глубокие состояния энергосбережения.Furthermore, the reference counter is rate constant and unaffected by processor or bus speed transitions or deep processor power savings states. При создании секции счетчик времени ссылки на секцию инициализируется нулевым значением.A partition’s reference time counter is initialized to zero when the partition is created. Счетчик ссылок для всех секций с одинаковой скоростью, но в любой момент их абсолютные значения обычно отличаются, так как секции будут иметь разное время создания.The reference counter for all partitions count at the same rate, but at any time, their absolute values will typically differ because partitions will have different creation times.

Счетчик ссылок продолжает подсчитываться, пока хотя бы один виртуальный процессор не был явно приостановлен.The reference counter continues to count up as long as at least one virtual processor is not explicitly suspended.

Счетчик ссылок на разделы MSRPartition Reference Counter MSR

Доступ к счетчику ссылок секции можно получить с помощью MSR на уровне раздела.A partition’s reference counter can be accessed through a partition-wide MSR.

Адрес MSRMSR address Имя регистраRegister Name ОписаниеDescription
0x400000200x40000020 HV_X64_MSR_TIME_REF_COUNTHV_X64_MSR_TIME_REF_COUNT Счетчик ссылок времени (на уровне секции)Time reference count (partition-wide)

При создании секции значение TIME_REF_COUNT MSR задается равным 0x0000000000000000.When a partition is created, the value of the TIME_REF_COUNT MSR is set to 0x0000000000000000. Это значение не может быть изменено виртуальным процессором.This value cannot be modified by a virtual processor. Попытка записи в нее приводит к сбою #GP.Any attempt to write to it results in a #GP fault.

Время ссылки на раздел просвещениеPartition Reference Time Enlightenment

Время ссылки на раздел просвещение представляет собой источник времени ссылки на секцию, которая не требует перехвата в гипервизоре.The partition reference time enlightenment presents a reference time source to a partition which does not require an intercept into the hypervisor. Этот просвещение доступен только в том случае, если базовая платформа обеспечивает поддержку счетчика неизменяемой метки времени процессора (TSC) или iTSC.This enlightenment is available only when the underlying platform provides support of an invariant processor Time Stamp Counter (TSC), or iTSC. В таких платформах частота процессора остается постоянной независимо от изменений тактовой частоты процессора из-за использования состояний управления питанием, таких как состояние производительности процессора ACPI, состояния спящего режима простоя процессора (ACPI C-состояния) и т. д.In such platforms, the processor TSC frequency remains constant irrespective of changes in the processor’s clock frequency due to the use of power management states such as ACPI processor performance states, processor idle sleep states (ACPI C-states), etc.

Время ссылки на раздел просвещение использует виртуальное значение TSC, смещение и множитель, чтобы позволить гостевому разделу вычислить нормализованное время ссылки с момента создания секции в единицах 100 нс.The partition reference time enlightenment uses a virtual TSC value, an offset and a multiplier to enable a guest partition to compute the normalized reference time since partition creation, in 100nS units. Механизм также позволяет гостевому разделу атомарно вычислять время ссылки, когда гостевой раздел переносится на платформу с другим коэффициентом TSC, и предоставляет резервный механизм для поддержки миграции на платформы без постоянной частоты постоянства.The mechanism also allows a guest partition to atomically compute the reference time when the guest partition is migrated to a platform with a different TSC rate, and provides a fallback mechanism to support migration to platforms without the constant rate TSC feature.

Эта возможность не предназначена для использования источника времени на стене, так как время, вычисленное с помощью этого средства, будет приостановлено во время сохранения гостевого раздела до последующего восстановления.This facility is not intended to be used a source of wall clock time, since the reference time computed using this facility will appear to stop during the time that a guest partition is saved until the subsequent restore.

Страница счетчика метки времени для ссылки на секциюPartition Reference Time Stamp Counter Page

Гипервизор предоставляет страницу виртуальной ссылки на уровне раздела TSC, которая перемещается в GPA-пространство секции.The hypervisor provides a partition-wide virtual reference TSC page which is overlaid on the partition’s GPA space. Доступ к странице счетчика метки времени ссылки на секцию осуществляется через ссылку TSC MSR.A partition’s reference time stamp counter page is accessed through the Reference TSC MSR.

Ссылка на страницу TSC определяется с помощью следующей структуры:The reference TSC page is defined using the following structure:

typedef struct
{
   volatile UINT32 TscSequence;
   UINT32 Reserved1;
   volatile UINT64 TscScale;
   volatile INT64 TscOffset;
   UINT64 Reserved2[509];
} HV_REFERENCE_TSC_PAGE;

Счетчик метки времени ссылки (TSC) на странице MSRReference Time Stamp Counter (TSC) Page MSR

Гостевой клиент, желающий получить доступ к его ссылочной странице TSC, должен использовать следующий регистр, зависящий от модели (MSR).A guest wishing to access its reference TSC page must use the following model-specific register (MSR). Раздел, который владеет привилегией Акцесспартитионреференцетск, может получить доступ к MSR.A partition which possesses the AccessPartitionReferenceTsc privilege may access the MSR.

Адрес MSRMSR address Имя регистраRegister Name ОписаниеDescription
0x400000210x40000021 HV_X64_MSR_REFERENCE_TSCHV_X64_MSR_REFERENCE_TSC Ссылка на страницу TSCReference TSC page
BitsBits ОписаниеDescription АтрибутыAttributes
63:1263:12 Номер страницы GPAGPA Page Number Чтение и записьRead / Write
11:111:1 Рсвдп (значение должно быть сохранено)RsvdP (value should be preserved) Чтение и записьRead / Write
00 ВключитьEnable Чтение и записьRead / Write

При создании гостевых секций значение ссылки TSC MSR — 0x0000000000000000.At the guest partition creation time, the value of the reference TSC MSR is 0x0000000000000000. Таким словами, страница ссылки по ТАЙМЕРу по умолчанию отключена.Thus, the reference TSC page is disabled by default. Гостевая система должна включить страницу ссылки на таймер, установив бит 0.The guest must enable the reference TSC page by setting bit 0. Если указанный базовый адрес находится за пределами пространства GPA раздела, ссылка на страницу TSC не будет доступна гостевой системе.If the specified base address is beyond the end of the partition’s GPA space, the reference TSC page will not be accessible to the guest. При изменении регистра гости должны сохранять значение зарезервированных битов (от 1 до 11) для обеспечения совместимости в будущем.When modifying the register, guests should preserve the value of the reserved bits (1 through 11) for future compatibility.

Механизм ссылки на секцию TSCPartition Reference TSC Mechanism

Время ссылки на секцию вычислено по следующей формуле:The partition reference time is computed by the following formula:

Референцетиме = ((Виртуалтск * Тскскале) >> 64) + ТскоффсетReferenceTime = ((VirtualTsc * TscScale) >> 64) + TscOffset

Умножение — это 64-разрядное умножение, результатом которого является 128 разрядного числа, которое затем смещается в 64 раз в, чтобы получить высокие 64 бита.The multiplication is a 64 bit multiplication, which results in a 128 bit number which is then shifted 64 times to the right to obtain the high 64 bits.

Значение Тскскале используется для настройки виртуального значения TSC между событиями миграции, чтобы уменьшить частоту изменения частоты TSC с одной платформы на другую.The TscScale value is used to adjust the Virtual TSC value across migration events to mitigate TSC frequency changes from one platform to another.

Значение Тсксекуенце используется для синхронизации доступа к времени ссылки поддержкой, если поля Масштаб и смещение изменяются во время сохранения, восстановления или динамической миграции.The TscSequence value is used to synchronize access to the enlightened reference time if the scale and/or the offset fields are changed during save/restore or live migration. Это поле служит порядковым номером, увеличивающимся при изменении масштаба или полей смещения.This field serves as a sequence number which is incremented whenever the scale and/or the offset fields are modified. Особое значение 0x0 используется, чтобы указать, что это средство больше не является надежным источником времени ссылки, и виртуальная машина должна быть возвращена к другому источнику.A special value of 0x0 is used to indicate that this facility is no longer a reliable source of reference time and the VM must fall back to a different source.

Рекомендуемый код для вычисления времени ссылки на секции с помощью этого просвещение показан ниже:The recommended code for computing the partition reference time using this enlightenment is shown below:

do
{
    StartSequence = ReferenceTscPage->TscSequence;
    if (StartSequence == 0)
    {
        // 0 means that the Reference TSC enlightenment is not available at
        // the moment, and the Reference Time can only be obtained from
        // reading the Reference Counter MSR.
        ReferenceTime = rdmsr(HV_X64_MSR_TIME_REF_COUNT);
        return ReferenceTime;
    }

    Tsc = rdtsc();

    // Assigning Scale and Offset should neither happen before
    // setting StartSequence, nor after setting EndSequence.
    Scale = ReferenceTscPage->TscScale;
    Offset = ReferenceTscPage->TscOffset;

    EndSequence = ReferenceTscPage->TscSequence;
} while (EndSequence != StartSequence);

// The result of the multiplication is treated as a 128-bit value.
ReferenceTime = ((Tsc * Scale) >> 64) + Offset;
return ReferenceTime;

Искусственные таймерыSynthetic Timers

Искусственные таймеры обеспечивают механизм создания прерываний после определенного времени в будущем.Synthetic timers provide a mechanism for generating an interrupt after some specified time in the future. Поддерживаются как однократные, так и периодические таймеры.Both one-shot and periodic timers are supported. Искусственный таймер отправляет сообщение указанному Синик Синткс (источнику искусственного прерывания) по истечении срока действия или утверждает прерывание в зависимости от того, как оно настроено.A synthetic timer sends a message to a specified SynIC SINTx (synthetic interrupt source) upon expiration, or asserts an interrupt, depending on how it is configured.

Гипервизор гарантирует, что сигнал срока действия таймера никогда не будет доставлен до истечения срока действия.The hypervisor guarantees that a timer expiration signal will never be delivered before the expiration time. Сигнал может поступать в любое время после истечения срока действия.The signal may arrive any time after the expiration time.

Периодические таймерыPeriodic Timers

Гипервизор попытается регулярно сигнализировать периодическим таймерам.The hypervisor attempts to signal periodic timers on a regular basis. Однако если виртуальный процессор, используемый для оповещения об истечении срока действия, недоступен, некоторые истечения срока действия таймера могут быть отложены.However, if the virtual processor used to signal the expiration is not available, some of the timer expirations may be delayed. Виртуальный процессор может быть недоступен, так как он приостановлен (например, во время обработки перехватов) или потому, что планировщик низкоуровневой оболочки решил, что виртуальный процессор не должен быть запланирован на логическом процессоре (например, из-за того, что другой виртуальный процессор использует логический процессор, или виртуальный процессор превысил свою квоту).A virtual processor may be unavailable because it is suspended (for example, during intercept handling) or because the hypervisor’s scheduler decided that the virtual processor should not be scheduled on a logical processor (for example, because another virtual processor is using the logical processor or the virtual processor has exceeded its quota).

Если виртуальный процессор недоступен в течение длительного периода времени, может быть пропущен полный период таймера.If a virtual processor is unavailable for a sufficiently long period of time, a full timer period may be missed. В этом случае гипервизор использует один из двух методов.In this case, the hypervisor uses one of two techniques.

Первый метод включает модуляцию периода таймера, в результате сокращая период времени до тех пор, пока таймер не перехватывается.The first technique involves timer period modulation, in effect shortening the period until the timer “catches up”. Если было пропущено значительное количество сигналов таймера, гипервизор не сможет компенсировать использование модуляции периода.If a significant number of timer signals have been missed, the hypervisor may be unable to compensate by using period modulation. В этом случае некоторые сигналы срока действия таймера могут быть пропущены полностью.In this case, some timer expiration signals may be skipped completely.

Для таймеров, помеченных как Lazy, гипервизор использует второй метод для работы с ситуацией, в которой виртуальный процессор недоступен в течение длительного периода времени.For timers that are marked as lazy, the hypervisor uses a second technique for dealing with the situation in which a virtual processor is unavailable for a long period of time. В этом случае сигнал таймера откладывается до тех пор, пока этот виртуальный процессор не станет доступным.In this case, the timer signal is deferred until this virtual processor is available. Если он не будет доступен до тех пор, пока не истечет срок действия следующего таймера, он полностью пропускается.If it doesn’t become available until shortly before the next timer is due to expire, it is skipped entirely.

Упорядочение сроков действия таймераOrdering of Timer Expirations

Искусственные и виртуализированные таймеры создают прерывания на заданный срок действия или рядом с ним.Synthetic and virtualized timers generate interrupts at or near their designated expiration time. В связи с оборудованием и другими действиями по планированию прерывания могут быть отложены.Due to hardware and other scheduling interactions, interrupts could potentially be delayed. В любом наборе таймеров не может быть располагался порядок сортировки.No ordering may be assumed between any set of timers.

Прямые искусственные таймерыDirect Synthetic Timers

"Direct" искусственные таймеры определяют прерывание после истечения срока таймера вместо отправки сообщения в Синик искусственный источник прерываний.“Direct” synthetic timers assert an interrupt upon timer expiration instead of sending a message to a SynIc synthetic interrupt source. Искусственный таймер устанавливается в "Direct", задавая поле "Директмоде" в конфигурации искусственного таймера MSRs.A synthetic timer is set to “direct” mode by setting the “DirectMode” field of the synthetic timer configuration MSRs. Поле "Апиквектор" управляет вектором прерывания, который утверждается при истечении срока действия таймера.The “ApicVector” field controls the interrupt vector that is asserted upon timer expiration.

Искусственный таймер MSRsSynthetic Timer MSRs

Искусственные таймеры настраиваются с помощью регистров для конкретных моделей (MSRs), связанных с каждым виртуальным процессором.Synthetic timers are configured by using model-specific registers (MSRs) associated with each virtual processor. Каждый из четырех искусственных таймеров имеет связанную пару MSRs.Each of the four synthetic timers has an associated pair of MSRs.

Адрес MSRMSR address Имя регистраRegister Name ОписаниеDescription
0x400000B00x400000B0 HV_X64_MSR_STIMER0_CONFIGHV_X64_MSR_STIMER0_CONFIG Регистр конфигурации для искусственного таймера 0.Configuration register for synthetic timer 0.
0x400000B10x400000B1 HV_X64_MSR_STIMER0_COUNTHV_X64_MSR_STIMER0_COUNT Срок действия или период для искусственного таймера 0.Expiration time or period for synthetic timer 0.
0x400000B20x400000B2 HV_X64_MSR_STIMER1_CONFIGHV_X64_MSR_STIMER1_CONFIG Регистр конфигурации для искусственного таймера 1.Configuration register for synthetic timer 1.
0x400000B30x400000B3 HV_X64_MSR_STIMER1_COUNTHV_X64_MSR_STIMER1_COUNT Срок действия или период для искусственного таймера 1.Expiration time or period for synthetic timer 1.
0x400000B40x400000B4 HV_X64_MSR_STIMER2_CONFIGHV_X64_MSR_STIMER2_CONFIG Регистр конфигурации для искусственного таймера 2.Configuration register for synthetic timer 2.
0x400000B50x400000B5 HV_X64_MSR_STIMER2_COUNTHV_X64_MSR_STIMER2_COUNT Срок действия или период для искусственного таймера 2.Expiration time or period for synthetic timer 2.
0x400000B60x400000B6 HV_X64_MSR_STIMER3_CONFIGHV_X64_MSR_STIMER3_CONFIG Регистр конфигурации для искусственного таймера 3.Configuration register for synthetic timer 3.
0x400000B70x400000B7 HV_X64_MSR_STIMER4_COUNTHV_X64_MSR_STIMER4_COUNT Срок действия или период для искусственного таймера 3.Expiration time or period for synthetic timer 3.

Регистр конфигурации искусственного таймераSynthetic Timer Configuration Register

BitsBits ОписаниеDescription АтрибутыAttributes
63:2063:20 Рсвдз (значение должно быть равно нулю)RsvdZ (value should be set to zero) Чтение и записьRead / Write
19:1619:16 Синткс — источник искусственного прерыванияSINTx - synthetic interrupt source Чтение и записьRead / Write
15:1315:13 Рсвдз (значение должно быть равно нулю)RsvdZ (value should be set to zero) Чтение и записьRead / Write
1212 Режим Direct — утверждение и прерывание после истечения срока действия таймера.Direct Mode - Assert and interrupt upon timer expiration. Чтение и записьRead / Write
11:411:4 Апиквектор — управляет утвержденным вектором прерываний в режиме прямого подключения.ApicVector - Controls the asserted interrupt vector in direct mode Чтение и записьRead / Write
33 Автовключение — установите, если запись соответствующего счетчика неявно приводит к включению таймераAutoEnable - Set if writing the corresponding counter implicitly causes the timer to be enabled Чтение и записьRead / Write
22 Отложенная установка, если таймер является отложеннымLazy - Set if timer is lazy Чтение и записьRead / Write
11 Периодически задается, если таймер является периодическимPeriodic - Set if timer is periodic Чтение и записьRead / Write
00 Включено — задать, если таймер включенEnabled - set if timer is enabled Чтение и записьRead / Write

При создании и сбросе виртуального процессора для всех HV_X64_MSR_STIMERx_CONFIG (конфигурация искусственного таймера) задается значение 0x0000000000000000.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. Таким же по умолчанию все искусственные таймеры отключены.Thus, all synthetic timers are disabled by default.

Если задано Автовключение, то запись ненулевого значения в соответствующий регистр количества приведет к тому, что параметр Enable будет установлен и активирован счетчик.If AutoEnable is set, then writing a non-zero value to the corresponding count register will cause Enable to be set and activate the counter. В противном случае параметр Enable должен быть установлен после записи соответствующего регистра счетчика, чтобы активировать счетчик.Otherwise, Enable should be set after writing the corresponding count register in order to activate the counter. Дополнительные сведения о регистре Count см. в следующем разделе.For information about the Count register, see the following section.

После истечения срока действия одноразового таймера он автоматически помечается как отключенный.When a one-shot timer expires, it is automatically marked as disabled. Периодические Таймеры остаются включенными до явного отключения.Periodic timers remain enabled until explicitly disabled.

Если один снимок включен и указанный счетчик уже прошел, срок его действия заканчивается немедленно.If a one-shot is enabled and the specified count is in the past, it will expire immediately.

Не разрешается устанавливать для поля Синткс значение 0 для включенного таймера (не в режиме прямого подключения).It is not permitted to set the SINTx field to zero for an enabled timer (that is not in direct mode). При последующей попыток таймер будет отмечен как отключенный (т. е. снять флажок "снят с нуля") немедленно.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 may result in undefined behavior. Например, простое изменение таймера с одноразового на периодическое может не привести к выдействиям.For example, merely changing a timer from one-shot to periodic may not produce what is intended. Перед изменением других свойств таймеры всегда должны быть отключены.Timers should always be disabled prior to changing any other properties.

Регистр счетчика искусственных таймеровSynthetic Timer Count Register

BitsBits ОписаниеDescription АтрибутыAttributes
63:063:0 Счетчик — время истечения срока действия для одноразовых таймеров, продолжительность периодических таймеров.Count—expiration time for one-shot timers, duration for periodic timers Чтение и записьRead / Write

Значение, запрограммированное в регистре Count, — это значение времени, измеряемое в единицах измерения 100 нс.The value programmed into the Count register is a time value measured in 100 nanosecond units. Запись нулевого значения в регистр количества приведет к прерыванию счетчика, тем самым отключив таймер, независимо от параметра автовключения в реестре конфигурации.Writing the value zero to the Count register will stop the counter, thereby disabling the timer, independent of the setting of AutoEnable in the configuration register.

Обратите внимание, что регистр количества разрешен для переноса.Note that the Count register is permitted to wrap. Перенос не влияет на поведение таймера, независимо от любого свойства таймера.Wrapping will have no effect on the behavior of the timer, regardless of any timer property.

Для одноразовых таймеров он представляет собой абсолютный срок действия таймера.For one-shot timers, it represents the absolute timer expiration time. Таймер истекает, если счетчик ссылок для секции равен указанному значению счетчика или больше него.The timer expires when the reference counter for the partition is equal to or greater than the specified count value.

Для периодических таймеров счетчик представляет период таймера.For periodic timers, the count represents the period of the timer. Первый период начинается при включении искусственного таймера.The first period begins when the synthetic timer is enabled.

Сообщение об окончании срока действия искусственного таймераSynthetic Timer Expiration Message

Сообщения об истечении времени таймера отправляются при срабатывании события таймера.Timer expiration messages are sent when a timer event fires. Определение полезных данных сообщения см. в HV_TIMER_MESSAGE_PAYLOAD .Refer to the HV_TIMER_MESSAGE_PAYLOAD for the definition of the message payload.

Виртуальный Time-Unhalted таймер MSRsSynthetic Time-Unhalted Timer MSRs

Виртуальная Time-Unhalted таймера MSRs доступна, если секция имеет привилегию Акцесссинсетиктимеррегс и EDX бит 23 в коде компонента гипервизора идентификатор CPUID конечного 0x40000003.Synthetic Time-Unhalted Timer MSRs are available if a partition has the AccessSyntheticTimerRegs privilege and EDX bit 23 in the Hypervisor Feature Identification CPUID leaf 0x40000003 is set. Гостевое программное обеспечение может запрограммировать таймер неостановленного времени для создания периодического прерывания после выполнения в течение указанного времени в единицах 100 нс.Guest software may program the synthetic time-unhalted timer to generate a periodic interrupt after executing for a specified amount of time in 100ns units. При срабатывании прерывания в поле Синсетиктимеунхалтедтимерекспиред на странице помощника по вице-президенту будет установлено значение TRUE.When the interrupt fires, the SyntheticTimeUnhaltedTimerExpired field in the VP Assist Page will be set to TRUE. Программное обеспечение гостя может сбросить это поле в значение FALSE.Guest software may reset this field to FALSE. В отличие от счетчиков производительности архитектуры искусственный таймер никогда не сбрасывается гипервизором и непрерывно выполняется между прерываниями.Unlike architectural performance counters, the synthetic timer is never reset by the hypervisor and runs continuously between interrupts. Векторы = = 2 отправляют NMI, другие векторы отправляют фиксированное прерывание.Vectors ==2 send an NMI, other vectors send a fixed interrupt.

В отличие от обычных искусственных таймеров, собирающих время, когда Гостевая машина остановлена (IE: простаивает), виртуальный таймер Time-Unhalted накапливается только тогда, когда гостевой компьютер не остановлен.Unlike regular synthetic timers that accumulate time when the guest has halted (ie: gone idle), the Synthetic Time-Unhalted Timer accumulates time only while the guest is not halted.

Адрес MSRMSR address Имя регистраRegister Name ОписаниеDescription
0x400001140x40000114 HV_X64_MSR_STIME_UNHALTED_TIMER_CONFIGHV_X64_MSR_STIME_UNHALTED_TIMER_CONFIG Конфигурация таймера искусственного Time-Unhalted MSRSynthetic Time-Unhalted Timer Configuration MSR
0x400001150x40000115 HV_X64_MSR_STIME_UNHALTED_TIMER_COUNTHV_X64_MSR_STIME_UNHALTED_TIMER_COUNT Счетчик таймеров искусственных Time-Unhaltedов MSRSynthetic Time-Unhalted Timer Count MSR

Конфигурация таймера искусственного Time-Unhalted MSRSynthetic Time-Unhalted Timer Configuration MSR

BitsBits ОписаниеDescription АтрибутыAttributes
63:963:9 Рсвдз (значение должно быть равно нулю)RsvdZ (value should be set to zero) Чтение и записьRead / Write
88 ВключенEnabled Чтение и записьRead / Write
7:07:0 ВекторVector Чтение и записьRead / Write

Счетчик таймеров искусственных Time-Unhaltedов MSRSynthetic Time-Unhalted Timer Count MSR

BitsBits ОписаниеDescription АтрибутыAttributes
63:063:0 Периодическая частота прерываний в 100 единиц NSPeriodic rate of interrupts in 100 ns units Чтение и записьRead / Write