Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

emulx86.c File Reference

#include "ki.h"
#include "ia32def.h"
#include "vdmntos.h"

Go to the source code of this file.

Functions

BOOLEAN KiIA32VdmReflectException (IN OUT PKIA32_FRAME Frame, IN ULONG Code)
BOOLEAN KiIA32DispatchOpcode (IN PKIA32_FRAME Frame)
BOOLEAN KiIA32VdmSegmentNotPresent (IN OUT PKIA32_FRAME Frame)

Variables

ULONG KeIA32EFlagsAndMaskV86
ULONG KeIA32EFlagsOrMaskV86
BOOLEAN KeIA32VdmIoplAllowed
ULONG KeIA32VirtualIntExtensions


Function Documentation

BOOLEAN KiIA32DispatchOpcode IN PKIA32_FRAME  Frame  ) 
 

Definition at line 2351 of file emulx86.c.

References FALSE.

02357 : 02358 02359 This routine dispatches to the opcode of the specific emulation routine. 02360 based on the first byte of the opcode. It is a combination of the 02361 original x86 emulation routines written in assembly (i386/instemul.asm 02362 and i386/emv86.asm). 02363 02364 Arguments: 02365 02366 Frame - pointer to the ia32 trap frame. 02367 02368 Return Value: 02369 02370 Returns true if the opcode was handled, otherwise false 02371 02372 --*/ 02373 02374 { 02375 // 02376 // Not yet implemented 02377 // 02378 02379 return(FALSE); 02380 }

BOOLEAN KiIA32VdmReflectException IN OUT PKIA32_FRAME  Frame,
IN ULONG  Code
 

Definition at line 2316 of file emulx86.c.

References FALSE.

02322 : 02323 02324 This routine reflects an exception to a VDM. It uses the information 02325 in the trap frame to determine what exception to reflect, and updates 02326 the trap frame with the new CS, EIP, SS, and SP values 02327 02328 Arguments: 02329 02330 Frame - Pointer to the IA32 trap frame 02331 Code - The trap number that brought us here 02332 02333 Returns 02334 02335 Nothing 02336 02337 Notes: 02338 Interrupts are enable upon entry, Irql is at APC level 02339 This routine may not preserve all of the non-volatile registers if 02340 a fault occurs. 02341 --*/ 02342 { 02343 // 02344 // Not yet implemented... 02345 // 02346 return(FALSE); 02347 }

BOOLEAN KiIA32VdmSegmentNotPresent IN OUT PKIA32_FRAME  Frame  ) 
 

Definition at line 2384 of file emulx86.c.

References FALSE.

02389 : 02390 02391 This routine reflects a TRAP 0x0B to a VDM. It uses information 02392 in the trap frame to determine what exception to reflect 02393 and updates the trap frame with the new CS, EIP, SS, and ESP values 02394 02395 Arguments: 02396 02397 Frame - Pointer to the IA32 trap frame 02398 02399 Returns 02400 02401 True if the reflection was successful, false otherwise 02402 02403 Notes: 02404 none 02405 --*/ 02406 { 02407 // 02408 // Not yet implemented 02409 // 02410 02411 return(FALSE); 02412 }


Variable Documentation

ULONG KeIA32EFlagsAndMaskV86
 

Definition at line 38 of file emulx86.c.

ULONG KeIA32EFlagsOrMaskV86
 

Definition at line 39 of file emulx86.c.

BOOLEAN KeIA32VdmIoplAllowed
 

Definition at line 40 of file emulx86.c.

ULONG KeIA32VirtualIntExtensions
 

Definition at line 41 of file emulx86.c.


Generated on Sat May 15 19:43:32 2004 for test by doxygen 1.3.7