VirtualBox

source: vbox/trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllIntprTables-x86.h@ 108732

Last change on this file since 108732 was 108260, checked in by vboxsync, 2 months ago

VMM/IEM: Splitting up IEMInline.h. jiraref:VBP-1531

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1/* $Id: IEMAllIntprTables-x86.h 108260 2025-02-17 15:24:14Z vboxsync $ */
2/** @file
3 * IEM - Instruction Decoding and Emulation, x86 target, Interpreter Tables Common Header.
4 */
5
6/*
7 * Copyright (C) 2011-2024 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef VMM_INCLUDED_SRC_VMMAll_target_x86_IEMAllIntprTables_x86_h
29#define VMM_INCLUDED_SRC_VMMAll_target_x86_IEMAllIntprTables_x86_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34
35/*********************************************************************************************************************************
36* Header Files *
37*********************************************************************************************************************************/
38#ifndef LOG_GROUP /* defined when included by tstIEMCheckMc.cpp */
39# define LOG_GROUP LOG_GROUP_IEM
40#endif
41#define VMCPU_INCL_CPUM_GST_CTX
42#ifdef IN_RING0
43# define VBOX_VMM_TARGET_X86
44#endif
45#include <VBox/vmm/iem.h>
46#include <VBox/vmm/cpum.h>
47#include <VBox/vmm/pdmapic.h>
48#include <VBox/vmm/pdm.h>
49#include <VBox/vmm/pgm.h>
50#include <VBox/vmm/iom.h>
51#include <VBox/vmm/em.h>
52#include <VBox/vmm/hm.h>
53#include <VBox/vmm/nem.h>
54#include <VBox/vmm/gim.h>
55#ifdef VBOX_WITH_NESTED_HWVIRT_SVM
56# include <VBox/vmm/em.h>
57# include <VBox/vmm/hm_svm.h>
58#endif
59#ifdef VBOX_WITH_NESTED_HWVIRT_VMX
60# include <VBox/vmm/hmvmxinline.h>
61#endif
62#include <VBox/vmm/tm.h>
63#include <VBox/vmm/dbgf.h>
64#include <VBox/vmm/dbgftrace.h>
65#ifndef TST_IEM_CHECK_MC
66# include "IEMInternal.h"
67#endif
68#include <VBox/vmm/vmcc.h>
69#include <VBox/log.h>
70#include <VBox/err.h>
71#include <VBox/param.h>
72#include <VBox/dis.h>
73#include <iprt/asm-math.h>
74#include <iprt/assert.h>
75#include <iprt/string.h>
76#include <iprt/x86.h>
77
78#ifndef TST_IEM_CHECK_MC
79# include "IEMInline.h"
80# include "IEMInline-x86.h"
81# include "IEMInlineDecode-x86.h"
82# include "IEMInlineMem-x86.h"
83# include "IEMOpHlp.h"
84# include "IEMMc.h"
85#endif
86
87
88/*********************************************************************************************************************************
89* Defined Constants And Macros *
90*********************************************************************************************************************************/
91#define g_apfnOneByteMap g_apfnIemInterpretOnlyOneByteMap
92#define g_apfnTwoByteMap g_apfnIemInterpretOnlyTwoByteMap
93#define g_apfnThreeByte0f3a g_apfnIemInterpretOnlyThreeByte0f3a
94#define g_apfnThreeByte0f38 g_apfnIemInterpretOnlyThreeByte0f38
95#define g_apfnVexMap1 g_apfnIemInterpretOnlyVecMap1
96#define g_apfnVexMap2 g_apfnIemInterpretOnlyVecMap2
97#define g_apfnVexMap3 g_apfnIemInterpretOnlyVecMap3
98
99
100
101/*
102 * Include common bits.
103 */
104#include "IEMAllInstCommonBodyMacros-x86.h"
105#include "IEMAllInstCommon-x86.cpp.h"
106
107#endif /* !VMM_INCLUDED_SRC_VMMAll_target_x86_IEMAllIntprTables_x86_h */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette