VMMInternal.mac revision 66cfc56709c6fc10add98af9313cccafab14b40d
; $Id$
;; @file
; VMM - Internal header file.
;
;
; Copyright (C) 2006-2009 Sun Microsystems, Inc.
;
; 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.
;
; Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
; Clara, CA 95054 USA or visit http://www.sun.com if you need
; additional information or have any questions.
;
%include "VBox/asmdefs.mac"
;
; Determin the default stack switching unless specified explicitly.
;
%ifndef VMM_R0_SWITCH_STACK
%ifndef VMM_R0_NO_SWITCH_STACK
%ifdef RT_OS_DARWIN
%define VMM_R0_SWITCH_STACK
%endif
%endif
%endif
struc VMMR0JMPBUF
%ifdef RT_ARCH_X86
; traditional jmp_buf
.ebx resd 1
.esi resd 1
.edi resd 1
.ebp resd 1
.esp resd 1
.eip resd 1
.u32Padding resd 1
; additional state and stack info.
.fInRing3Call resd 1
.cbSavedStack resd 1
.pvSavedStack resd 1
.SpCheck resd 1
.SpResume resd 1
.SavedEsp resd 1
.SavedEbp resd 1
%endif
%ifdef RT_ARCH_AMD64
; traditional jmp_buf
.rbx resq 1
%ifdef RT_OS_WINDOWS
.rsi resq 1
.rdi resq 1
%endif
.rbp resq 1
.r12 resq 1
.r13 resq 1
.r14 resq 1
.r15 resq 1
.rsp resq 1
.rip resq 1
; additional state and stack info.
.fInRing3Call resd 1
.cbSavedStack resd 1
.pvSavedStack resq 1
.SpCheck resq 1
.SpResume resq 1
.SavedEsp resq 1
.SavedEbp resq 1
%endif
; Statistics
.cbUsedMax resd 1
.cbUsedAvg resd 1
.cbUsedTotal resq 1
.cUsedTotal resq 1
endstruc