VirtualBox

source: vbox/trunk/src/VBox/VMM/TRPMInternal.mac@ 13538

Last change on this file since 13538 was 9430, checked in by vboxsync, 16 years ago

Made the base of GDTR and IDTR 64 bits.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.8 KB
Line 
1; $Id: TRPMInternal.mac 9430 2008-06-05 15:28:07Z vboxsync $
2;; @file
3; TRPM - Internal header file.
4;
5
6;
7; Copyright (C) 2006-2007 Sun Microsystems, Inc.
8;
9; This file is part of VirtualBox Open Source Edition (OSE), as
10; available from http://www.virtualbox.org. This file is free software;
11; you can redistribute it and/or modify it under the terms of the GNU
12; General Public License (GPL) as published by the Free Software
13; Foundation, in version 2 as it comes in the "COPYING" file of the
14; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17; Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
18; Clara, CA 95054 USA or visit http://www.sun.com if you need
19; additional information or have any questions.
20;
21
22%include "VBox/asmdefs.mac"
23%include "VBox/stam.mac"
24
25%define TRPM_TRAP_IN_OP_MASK 0xffff
26%define TRPM_TRAP_IN_MOV_GS 1
27%define TRPM_TRAP_IN_MOV_FS 2
28%define TRPM_TRAP_IN_MOV_ES 3
29%define TRPM_TRAP_IN_MOV_DS 4
30%define TRPM_TRAP_IN_IRET 5
31%define TRPM_TRAP_IN_V86 RT_BIT(30)
32%define TRPM_TRAP_IN_HYPER RT_BIT(31)
33
34struc TRPM
35 .offVM resd 1
36 .uActiveVector resd 1
37 .enmActiveType resd 1
38 .uActiveErrorCode RTGCPTR_RES 1
39 .uActiveCR2 RTGCPTR_RES 1
40 .uSavedVector RTGCPTR_RES 1
41 .enmSavedType resd 1
42 .uSavedErrorCode RTGCPTR_RES 1
43 .uSavedCR2 RTGCPTR_RES 1
44 .uPrevVector RTGCPTR_RES 1
45 .fDisableMonitoring resb 1
46 .fSafeToDropGuestIDTMonitoring resb 1
47%if GC_ARCH_BITS == 32
48 .abPadding1 resb 6
49%else
50 .abPadding1 resb 14
51%endif
52 .aIdt resd 512
53 .au32IdtPatched resd 8
54 .aTmpTrapHandlers RTRCPTR_RES 256
55
56 .GCPtrIdt RTRCPTR_RES 1
57 .GuestIdtr resb 10
58 .au8Padding resb 2
59
60 .aGuestTrapHandler RTRCPTR_RES 256
61
62 .StatGCWriteGuestIDTFault resb STAMCOUNTER_size
63 .StatGCWriteGuestIDTHandled resb STAMCOUNTER_size
64 .StatSyncIDT resb STAMPROFILE_size
65 .aStatGCTraps resb STAMPROFILEADV_size * 0x14
66
67 .StatForwardFailNoHandler resb STAMCOUNTER_size
68 .StatForwardFailPatchAddr resb STAMCOUNTER_size
69 .StatForwardFailGC resb STAMCOUNTER_size
70 .StatForwardFailHC resb STAMCOUNTER_size
71
72 .StatForwardProfGC resb STAMPROFILEADV_size
73 .StatForwardProfHC resb STAMPROFILEADV_size
74 .StatTrap0dDisasm resb STAMPROFILE_size
75 .StatTrap0dRdTsc resb STAMCOUNTER_size
76
77 .paStatForwardedIRQR3 RTR3PTR_RES 1
78 .paStatForwardedIRQR0 RTR0PTR_RES 1
79 .paStatForwardedIRQGC RTGCPTR32_RES 1
80endstruc
81
82struc VBOXTSS
83 .selPrev resw 1
84 .padding1 resw 1
85 .esp0 resd 1
86 .ss0 resw 1
87 .padding_ss0 resw 1
88 .esp1 resd 1
89 .ss1 resw 1
90 .padding_ss1 resw 1
91 .esp2 resd 1
92 .ss2 resw 1
93 .padding_ss2 resw 1
94 .cr3 resd 1
95 .eip resd 1
96 .eflags resd 1
97 .eax resd 1
98 .ecx resd 1
99 .edx resd 1
100 .ebx resd 1
101 .esp resd 1
102 .ebp resd 1
103 .esi resd 1
104 .edi resd 1
105 .es resw 1
106 .padding_es resw 1
107 .cs resw 1
108 .padding_cs resw 1
109 .ss resw 1
110 .padding_ss resw 1
111 .ds resw 1
112 .padding_ds resw 1
113 .fs resw 1
114 .padding_fs resw 1
115 .gs resw 1
116 .padding_gs resw 1
117 .selLdt resw 1
118 .padding_ldt resw 1
119 .fDebugTrap resw 1
120 .offIoBitmap resw 1
121 .IntRedirBitmap resb 32
122endstruc
123
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use