Begin_Use_Locked_PM_Stack

include vmm.inc

VMMcall Begin_Use_Locked_PM_Stack


The Begin_Use_Locked_PM_Stack service locks the protected-mode stack, preventing demand paging of the stack. Virtual devices use this service to ensure that a protected-mode application runs on a stack that will not be demand paged.

Parameters

This service has no parameters.

Return Value

The Client_SS and Client_SP registers contain the address of the locked stack if the stack was not already locked. Otherwise, these registers remain unchanged.

Comments

Before calling this service, the virtual device must ensure that the current virtual machine is running in protected mode. This means the VMStat_PM_Exec value must be specified in the CB_VM_Status field of the control block for the virtual machine.

Since most virtual devices rely on the Begin_Nest_Exec service to switch stacks, this service is only useful for virtual devices, such as the virtual PIC device, which explicitly change the execution mode of a virtual machine.

A virtual device can call this service any number of times. Only the first call switches stacks; all subsequent calls increment a counter. If a virtual device locks the stack, it must eventually unlock it using the End_Use_Locked_PM_Stack service.

Uses

Flags

See Also

Begin_Nest_Exec, End_Use_Locked_PM_Stack