Example #1
0
static void gcpu_set_enter_ctrls_for_addons(guest_cpu_handle_t gcpu,
					    uint32_t value,
					    uint32_t bits_untouched)
{
	vmcs_object_t *vmcs = gcpu_get_vmcs_layered(gcpu, VMCS_LEVEL_0);

	MON_ASSERT(vmcs);
	vmcs_update(vmcs, VMCS_ENTER_CONTROL_VECTOR, value, ~bits_untouched);
}
Example #2
0
void vmcs_write_nmi_window_bit(struct _VMCS_OBJECT *vmcs, BOOLEAN value)
{
    vmcs_update(vmcs, VMCS_CONTROL_VECTOR_PROCESSOR_EVENTS,
                FALSE == value ? 0 : (UINT64) -1, BIT_VALUE(NMI_WINDOW_BIT));
    if (value)
        nmi_window_set();
    else
        nmi_window_clear();
}