blob: 6228db95b9577d8b1d514b8d3d1748830d080087 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
; $Id: TRPMInternal.mac $
;; @file
; TRPM - Internal header file.
;
;
; Copyright (C) 2006-2012 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)
struc TRPM
.offVM resd 1
.offTRPMCPU resd 1
.fSafeToDropGuestIDTMonitoring resb 1
.abPadding1 resb 7
.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
.paStatForwardedIRQRC RTRCPTR_RES 1
.paStatHostIrqRC RTRCPTR_RES 1
.paStatHostIrqR3 RTR3PTR_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
.cbInstr resb 1
.cbSavedInstr resb 1
.au8Padding resb 2
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
|