; $Id: TRPMInternal.mac 80015 2019-07-26 16:46:49Z vboxsync $ ;; @file ; TRPM - Internal header file. ; ; ; Copyright (C) 2006-2019 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 %ifdef VBOX_WITH_STATISTICS .paStatForwardedIRQR3 RTR3PTR_RES 1 %endif .u64Dummy resq 1 endstruc struc TRPMCPU .uActiveVector resd 1 .enmActiveType resd 1 .uActiveErrorCode RTGCPTR_RES 1 .uActiveCR2 RTGCPTR_RES 1 .uSavedVector RTGCPTR_RES 1 .uSavedErrorCode RTGCPTR_RES 1 .uSavedCR2 RTGCPTR_RES 1 .enmSavedType resd 1 .cbInstr resb 1 .cbSavedInstr resb 1 .au8Padding resb 2 .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