; $Id: TRPMInternal.mac 38867 2011-09-26 14:31:16Z vboxsync $ ;; @file ; TRPM - Internal header file. ; ; ; Copyright (C) 2006-2007 Oracle Corporation ; ; This file is part of VirtualBox Open Source Edition (OSE), as ; available from http://www.virtualbox.org. This file is free software; ; you can redistribute it and/or modify it under the terms of the GNU ; General Public License (GPL) as published by the Free Software ; Foundation, in version 2 as it comes in the "COPYING" file of the ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. ; %include "VBox/asmdefs.mac" %include "VBox/vmm/stam.mac" %define TRPM_TRAP_IN_OP_MASK 0xffff %define TRPM_TRAP_IN_MOV_GS 1 %define TRPM_TRAP_IN_MOV_FS 2 %define TRPM_TRAP_IN_MOV_ES 3 %define TRPM_TRAP_IN_MOV_DS 4 %define TRPM_TRAP_IN_IRET 5 %define TRPM_TRAP_IN_V86 RT_BIT(30) %define TRPM_TRAP_IN_HYPER RT_BIT(31) struc TRPM .offVM resd 1 .offTRPMCPU resd 1 .fDisableMonitoring resb 1 .fSafeToDropGuestIDTMonitoring resb 1 .abPadding1 resb 6 .aIdt resd 512 .au32IdtPatched resd 8 .aTmpTrapHandlers RTRCPTR_RES 256 .pvMonShwIdtRC RTRCPTR_RES 1 .GuestIdtr resb 10 .au8Padding resb 2 .aGuestTrapHandler RTRCPTR_RES 256 .StatRCWriteGuestIDTFault resb STAMCOUNTER_size .StatRCWriteGuestIDTHandled resb STAMCOUNTER_size .StatSyncIDT resb STAMPROFILE_size .aStatGCTraps resb STAMPROFILEADV_size * 0x14 .StatForwardProfR3 resb STAMPROFILEADV_size .StatForwardProfRZ resb STAMPROFILEADV_size .StatForwardFailNoHandler resb STAMCOUNTER_size .StatForwardFailPatchAddr resb STAMCOUNTER_size .StatForwardFailR3 resb STAMCOUNTER_size .StatForwardFailRZ resb STAMCOUNTER_size .StatTrap0dDisasm resb STAMPROFILE_size .StatTrap0dRdTsc resb STAMCOUNTER_size %ifdef VBOX_WITH_STATISTICS .paStatForwardedIRQR3 RTR3PTR_RES 1 .paStatForwardedIRQR0 RTR0PTR_RES 1 .paStatForwardedIRQRC RTRCPTR_RES 1 .paStatHostIrqRC RTRCPTR_RES 1 .paStatHostIrqR3 RTR3PTR_RES 1 .paStatHostIrqR0 RTR0PTR_RES 1 %endif endstruc struc TRPMCPU .offVM resd 1 .offVMCpu resd 1 .uActiveVector resd 1 .enmActiveType resd 1 .uActiveErrorCode RTGCPTR_RES 1 .uActiveCR2 RTGCPTR_RES 1 .uSavedVector RTGCPTR_RES 1 .enmSavedType resd 1 .uSavedErrorCode RTGCPTR_RES 1 .uSavedCR2 RTGCPTR_RES 1 .uPrevVector RTGCPTR_RES 1 endstruc struc VBOXTSS .selPrev resw 1 .padding1 resw 1 .esp0 resd 1 .ss0 resw 1 .padding_ss0 resw 1 .esp1 resd 1 .ss1 resw 1 .padding_ss1 resw 1 .esp2 resd 1 .ss2 resw 1 .padding_ss2 resw 1 .cr3 resd 1 .eip resd 1 .eflags resd 1 .eax resd 1 .ecx resd 1 .edx resd 1 .ebx resd 1 .esp resd 1 .ebp resd 1 .esi resd 1 .edi resd 1 .es resw 1 .padding_es resw 1 .cs resw 1 .padding_cs resw 1 .ss resw 1 .padding_ss resw 1 .ds resw 1 .padding_ds resw 1 .fs resw 1 .padding_fs resw 1 .gs resw 1 .padding_gs resw 1 .selLdt resw 1 .padding_ldt resw 1 .fDebugTrap resw 1 .offIoBitmap resw 1 .IntRedirBitmap resb 32 endstruc