Hook_NMI_Event

include vmm.inc

mov esi, OFFSET32 NmiProc ; points to NMI event procedure

VMMcall Hook_NMI_Event


The Hook_NMI_Event service installs a Non-Maskable Interrupt (NMI) event procedure. Virtual devices use this service to install event procedures to carry out tasks that are not permitted in NMI handlers.

This service is available only during initialization.

Parameters

NmiProc

Points to an NMI event procedure. For more information about the procedure, see the following “Comments” section.

Return Value

This service has no return value.

Comments

The system calls each installed NMI event procedure after the last handler in
the NMI handler chain has executed. If more than one NMI event procedure is
installed, the system calls the procedures in the order in which they were installed. The system calls the event procedure as follows:

mov ebx, VM ; current VM handle

mov ebp, OFFSET32 crs ; points to a Client_Reg_Struc

call [NmiProc]

The VM parameter is a handle identifying the current virtual machine, and the crs parameter points to a Client_Reg_Struc structure containing the register values for the current virtual machine.

NMI event procedures can be re-entered. This means an event procedure can be interrupted by another NMI.

Uses

Flags

See Also

Set_NMI_Handler_Addr