Set_Device_Focus


include vmm.inc

mov     ebx, VMHandle
mov     edx, VID
mov     esi, Flags
mov     edi, AssocVMHandle
mov     eax, Set_Device_Focus
VMMcall System_Control

Sets the focus of the specified virtual device to the specified virtual machine. The virtual device may modify all general registers and flags.

VMHandle

Handle of the virtual machine.

VID

Identifier of the virtual device that should change its focus. If this parameter is zero, all virtual devices should change their focus to the indicated virtual machine. Otherwise, all devices whose device IDs are different from VID should ignore the message.

Flags

Flags specifying how to set the focus if the VID parameter is zero. Can be this value:

Value

Meaning

1

Used by the virtual shell device to determine which virtual machine to set focus for. If this value is given, the AssocVMHandle parameter may specify a virtual machine.


All other values are reserved.

AssocVMHandle

Handle of a virtual machine associated with a problem. This parameter is zero if there is no such virtual machine. This parameter is used only if the Flags parameter is set to 1.

A virtual device that is instructed to change its focus should take steps, such as disabling I/O trapping, to allow the specified virtual machine to run as fast as possible.

This is one of the few messages that arbitrary virtual devices are permitted to send. Typically, a virtual device sends this message with EDX = ESI = 0, to indicate that all devices should set the focus to the indicated virtual machine.