summaryrefslogtreecommitdiff
path: root/include/VBox/vmm/iem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/VBox/vmm/iem.h')
-rw-r--r--include/VBox/vmm/iem.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/include/VBox/vmm/iem.h b/include/VBox/vmm/iem.h
index 617a05a6..32168660 100644
--- a/include/VBox/vmm/iem.h
+++ b/include/VBox/vmm/iem.h
@@ -3,7 +3,7 @@
*/
/*
- * Copyright (C) 2011 Oracle Corporation
+ * Copyright (C) 2011-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;
@@ -28,6 +28,7 @@
#include <VBox/types.h>
#include <VBox/vmm/trpm.h>
+#include <iprt/assert.h>
RT_C_DECLS_BEGIN
@@ -37,6 +38,17 @@ RT_C_DECLS_BEGIN
*/
+/**
+ * Operand or addressing mode.
+ */
+typedef enum IEMMODE
+{
+ IEMMODE_16BIT = 0,
+ IEMMODE_32BIT,
+ IEMMODE_64BIT
+} IEMMODE;
+AssertCompileSize(IEMMODE, 4);
+
VMMDECL(VBOXSTRICTRC) IEMExecOne(PVMCPU pVCpu);
VMMDECL(VBOXSTRICTRC) IEMExecOneEx(PVMCPU pVCpu, PCPUMCTXCORE pCtxCore, uint32_t *pcbWritten);
@@ -53,7 +65,10 @@ VMM_INT_DECL(int) IEMBreakpointClear(PVM pVM, RTGCPTR GCPtrBp);
/** @name Given Instruction Interpreters
* @{ */
-
+VMM_INT_DECL(VBOXSTRICTRC) IEMExecStringIoWrite(PVMCPU pVCpu, uint8_t cbValue, IEMMODE enmAddrMode,
+ bool fRepPrefix, uint8_t cbInstr, uint8_t iEffSeg);
+VMM_INT_DECL(VBOXSTRICTRC) IEMExecStringIoRead(PVMCPU pVCpu, uint8_t cbValue, IEMMODE enmAddrMode,
+ bool fRepPrefix, uint8_t cbInstr);
/** @} */
#if defined(IEM_VERIFICATION_MODE) && defined(IN_RING3)