VirtualBox

source: vbox/trunk/include/VBox/cpumdis.h@ 3585

Last change on this file since 3585 was 2981, checked in by vboxsync, 18 years ago

InnoTek -> innotek: all the headers and comments.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1/** @file
2 * CPUM - CPU Monitor(/Manager)
3 */
4
5/*
6 * Copyright (C) 2006-2007 innotek GmbH
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License as published by the Free Software Foundation,
12 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
13 * distribution. VirtualBox OSE is distributed in the hope that it will
14 * be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * If you received this file as part of a commercial VirtualBox
17 * distribution, then only the terms of your commercial VirtualBox
18 * license agreement apply instead of the previous paragraph.
19 */
20
21#ifndef __VBox_cpumdis_h__
22#define __VBox_cpumdis_h__
23
24#include <VBox/cpum.h>
25#include <VBox/cdefs.h>
26#include <VBox/types.h>
27#include <VBox/x86.h>
28#include <VBox/dis.h>
29
30
31__BEGIN_DECLS
32/** @addtogroup grp_cpum
33 * @{
34 */
35
36#ifdef IN_RING3
37
38/**
39 * Disassemble an instruction and return the information in the provided structure.
40 *
41 * @returns VBox status code.
42 * @param pVM VM Handle
43 * @param pCtx CPU context
44 * @param GCPtrPC Program counter (relative to CS) to disassemble from.
45 * @param pCpu Disassembly state
46 * @param pszPrefix String prefix for logging (debug only)
47 *
48 */
49CPUMR3DECL(int) CPUMR3DisasmInstrCPU(PVM pVM, PCPUMCTX pCtx, RTGCPTR GCPtrPC, PDISCPUSTATE pCpu, const char *pszPrefix);
50
51# ifdef DEBUG
52/**
53 * Disassemble an instruction and dump it to the log
54 *
55 * @returns VBox status code.
56 * @param pVM VM Handle
57 * @param pCtx CPU context
58 * @param pc GC instruction pointer
59 * @param prefix String prefix for logging
60 *
61 * @deprecated Use DBGFR3DisasInstrCurrentLog().
62 */
63CPUMR3DECL(void) CPUMR3DisasmInstr(PVM pVM, PCPUMCTX pCtx, RTGCPTR pc, char *prefix);
64
65/**
66 * Disassemble an instruction and dump it to the log
67 *
68 * @returns VBox status code.
69 * @param pVM VM Handle
70 * @param pCtx CPU context
71 * @param pc GC instruction pointer
72 * @param prefix String prefix for logging
73 * @param nrInstructions
74 *
75 * @deprecated Create new DBGFR3Disas function to do this.
76 */
77CPUMR3DECL(void) CPUMR3DisasmBlock(PVM pVM, PCPUMCTX pCtx, RTGCPTR pc, char *prefix, int nrInstructions);
78
79# else
80# define CPUMR3DisasmInstr(pVM, pCtx, pc, prefix)
81# define CPUMR3DisasmBlock(pVM, pCtx, pc, prefix, nrInstructions)
82# endif
83
84#endif /* IN_RING3 */
85
86/** @} */
87__END_DECLS
88
89
90#endif
91
92
93
94
95
Note: See TracBrowser for help on using the repository browser.

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