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); }
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(); }