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