9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * CPUM - CPU Monitor(/ Manager), Context Structures from v1.6 (saved state).
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Copyright (C) 2006-2012 Oracle Corporation
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * available from http://www.virtualbox.org. This file is free software;
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * you can redistribute it and/or modify it under the terms of the GNU
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * General Public License (GPL) as published by the Free Software
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * The contents of this file may alternatively be used under the terms
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * of the Common Development and Distribution License Version 1.0
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * VirtualBox OSE distribution, in which case the provisions of the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * CDDL are applicable instead of those of the GPL.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * You may elect to license modified versions of this file under the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * terms and conditions of either the GPL or the CDDL or both.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync/** @addgroup grp_cpum_ctx_v1_6 The CPUM Context Structures from v1.6
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * @ingroup grp_cpum
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync/** IDTR from version 1.6 */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Size of the IDT. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Address of the IDT. */
af1bec0a4ee736ec470cf9aa30a4b4adff66b93evboxsync/** GDTR from version 1.6 */
af1bec0a4ee736ec470cf9aa30a4b4adff66b93evboxsync /** Size of the GDT. */
af1bec0a4ee736ec470cf9aa30a4b4adff66b93evboxsync /** Address of the GDT. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Selector hidden registers, for version 1.6 saved state.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Base register. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Limit (expanded). */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * This is the high 32-bit word of the descriptor entry.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Only the flags, dpl and type are used. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * CPU context, for version 1.6 saved state.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * @remarks PATM uses this, which is why it has to be here.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** FPU state. (16-byte alignment)
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * @todo This doesn't have to be in X86FXSTATE on CPUs without fxsr - we need a type for the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * actual format or convert it (waste of time). */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** CPUMCTXCORE Part.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** @note We rely on the exact layout, because we use lss esp, [] in the
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * switcher. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /* Note: no overlap with esp here. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync RTSEL csPadding[3]; /**< 3 words to force 8 byte alignment for the remainder. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Hidden selector registers.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Control registers.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Debug registers.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /* DR8-15 are currently not supported */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Global Descriptor Table register. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Interrupt Descriptor Table register. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** The task register.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Only the guest context uses all the members. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** The task register.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * Only the guest context uses all the members. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** The sysenter msr registers.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync * This member is not used by the hypervisor context. */
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** System MSRs.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** Hidden selector registers.
9bedaef3837bb056678dc8d140215ae43fca1729vboxsync /** padding to get 32byte aligned size. */