End_Nest_Exec

include vmm.inc

VMMcall End_Nest_Exec


The End_Nest_Exec service ends a nested execution block. This service is used in conjunction with the Begin_Nest_Exec or Begin_Nest_V86_Exec service to create a nested execution block in which virtual devices may call the Exec_Int and Resume_Exec services.

Parameters

This service has no parameters.

Return Value

The Client_CS and Client_IP registers contain the original values saved when the nested execution block was created.

Comments

A virtual device must end all nested execution blocks before returning to the virtual machine manager.

This service restores the execution mode to the mode prior to the start of the nested execution block. It also restores the Client_CS and Client_IP registers, but does not restore any other client registers. A virtual device should save and restore these registers using the Save_Client_State and Restore_Client_State macros.

Uses

Client_CS, Client_IP, Flags

See Also

Begin_Nest_Exec, Begin_Nest_V86_Exec, Restore_Client_State, Save_Client_State