Get_VMM_Reenter_Count


include vmm.inc

VMMcall Get_VMM_Reenter_Count

jecxz   not_reentered           ; ecx is zero if VMM not re-entered
mov     [Count], ecx            ; otherwise, number of times re-entered

Returns the number of times the VMM has been re-entered as a result of a hardware interrupt, page fault, or other processor exception. Virtual devices typically use this service to determine whether they can call VMM services that do not re-enter. Uses Flags.

If this service returns a nonzero value, a virtual device may call only VMM services that are asynchronous. If a virtual device must call other VMM services, the virtual device can schedule an event using a service such as Schedule_Global_Event. The system calls the event's callback procedure when all VMM services are available.

The Call_Global_Event and Call_VM_Event services call this service to determine whether the event callback procedure should be called immediately.

See also Call_Global_Event, Call_VM_Event, Schedule_Global_Event, Schedule_VM_Event