VirtualBox

source: vbox/trunk/src/VBox/Debugger/testcase/tstDBGCStubs.cpp@ 64501

Last change on this file since 64501 was 64501, checked in by vboxsync, 8 years ago

Debugger/CodeView: Add ucfg command to create a disassembly in form of a control flow graph

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 16.3 KB
Line 
1/* $Id: tstDBGCStubs.cpp 64501 2016-11-01 09:09:49Z vboxsync $ */
2/** @file
3 * DBGC Testcase - Command Parser, VMM Stub Functions.
4 */
5
6/*
7 * Copyright (C) 2006-2016 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#include <VBox/err.h>
19#include <VBox/vmm/vm.h>
20#include <iprt/string.h>
21
22
23
24#include <VBox/vmm/dbgf.h>
25VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromFlat(PUVM pUVM, PDBGFADDRESS pAddress, RTGCUINTPTR FlatPtr)
26{
27 return NULL;
28}
29
30VMMR3DECL(int) DBGFR3AddrFromSelOff(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, RTSEL Sel, RTUINTPTR off)
31{
32 /* bad:bad -> provke error during parsing. */
33 if (Sel == 0xbad && off == 0xbad)
34 return VERR_OUT_OF_SELECTOR_BOUNDS;
35
36 /* real mode conversion. */
37 pAddress->FlatPtr = (uint32_t)(Sel << 4) | off;
38 pAddress->fFlags |= DBGFADDRESS_FLAGS_FLAT;
39 pAddress->Sel = DBGF_SEL_FLAT;
40 pAddress->off = pAddress->FlatPtr;
41 return VINF_SUCCESS;
42}
43
44VMMR3DECL(int) DBGFR3AddrToPhys(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTGCPHYS pGCPhys)
45{
46 return VERR_INTERNAL_ERROR;
47}
48
49VMMR3DECL(int) DBGFR3Attach(PUVM pUVM)
50{
51 return VERR_INTERNAL_ERROR;
52}
53
54VMMR3DECL(int) DBGFR3BpClear(PUVM pUVM, RTUINT iBp)
55{
56 return VERR_INTERNAL_ERROR;
57}
58VMMR3DECL(int) DBGFR3BpDisable(PUVM pUVM, RTUINT iBp)
59{
60 return VERR_INTERNAL_ERROR;
61}
62VMMR3DECL(int) DBGFR3BpEnable(PUVM pUVM, RTUINT iBp)
63{
64 return VERR_INTERNAL_ERROR;
65}
66VMMR3DECL(int) DBGFR3BpEnum(PUVM pUVM, PFNDBGFBPENUM pfnCallback, void *pvUser)
67{
68 return VERR_INTERNAL_ERROR;
69}
70VMMR3DECL(int) DBGFR3BpSet(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, PRTUINT piBp)
71{
72 return VERR_INTERNAL_ERROR;
73}
74VMMR3DECL(int) DBGFR3BpSetReg(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable,
75 uint8_t fType, uint8_t cb, PRTUINT piBp)
76{
77 return VERR_INTERNAL_ERROR;
78}
79VMMR3DECL(int) DBGFR3BpSetREM(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, PRTUINT piBp)
80{
81 return VERR_INTERNAL_ERROR;
82}
83VMMR3DECL(int) DBGFR3QueryWaitable(PUVM pUVM)
84{
85 return VINF_SUCCESS;
86}
87VMMR3DECL(int) DBGFR3Detach(PUVM pUVM)
88{
89 return VERR_INTERNAL_ERROR;
90}
91VMMR3DECL(int) DBGFR3DisasInstrEx(PUVM pUVM, VMCPUID idCpu, RTSEL Sel, RTGCPTR GCPtr, uint32_t fFlags,
92 char *pszOutput, uint32_t cchOutput, uint32_t *pcbInstr)
93{
94 return VERR_INTERNAL_ERROR;
95}
96VMMR3DECL(int) DBGFR3EventWait(PUVM pUVM, RTMSINTERVAL cMillies, PCDBGFEVENT *ppEvent)
97{
98 return VERR_INTERNAL_ERROR;
99}
100VMMR3DECL(int) DBGFR3EventConfigEx(PUVM pUVM, PCDBGFEVENTCONFIG paConfigs, size_t cConfigs)
101{
102 return VERR_INTERNAL_ERROR;
103}
104VMMR3DECL(int) DBGFR3InterruptConfigEx(PUVM pUVM, PCDBGFINTERRUPTCONFIG paConfigs, size_t cConfigs)
105{
106 return VERR_INTERNAL_ERROR;
107}
108
109VMMR3DECL(int) DBGFR3Halt(PUVM pUVM)
110{
111 return VERR_INTERNAL_ERROR;
112}
113VMMR3DECL(int) DBGFR3Info(PUVM pUVM, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp)
114{
115 return VERR_INTERNAL_ERROR;
116}
117VMMR3DECL(int) DBGFR3InfoEx(PUVM pUVM, VMCPUID idCpu, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp)
118{
119 return VERR_INTERNAL_ERROR;
120}
121VMMR3DECL(bool) DBGFR3IsHalted(PUVM pUVM)
122{
123 return true;
124}
125VMMR3DECL(int) DBGFR3LogModifyDestinations(PUVM pUVM, const char *pszDestSettings)
126{
127 return VERR_INTERNAL_ERROR;
128}
129VMMR3DECL(int) DBGFR3LogModifyFlags(PUVM pUVM, const char *pszFlagSettings)
130{
131 return VERR_INTERNAL_ERROR;
132}
133VMMR3DECL(int) DBGFR3LogModifyGroups(PUVM pUVM, const char *pszGroupSettings)
134{
135 return VERR_INTERNAL_ERROR;
136}
137VMMR3DECL(RTDBGCFG) DBGFR3AsGetConfig(PUVM pUVM)
138{
139 return NIL_RTDBGCFG;
140}
141VMMR3DECL(int) DBGFR3AsLoadImage(PUVM pUVM, RTDBGAS hAS, const char *pszFilename, const char *pszModName, RTLDRARCH enmArch,
142 PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, uint32_t fFlags)
143{
144 return VERR_INTERNAL_ERROR;
145}
146VMMR3DECL(int) DBGFR3AsLoadMap(PUVM pUVM, RTDBGAS hAS, const char *pszFilename, const char *pszModName, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, RTGCUINTPTR uSubtrahend, uint32_t fFlags)
147{
148 return VERR_INTERNAL_ERROR;
149}
150VMMR3DECL(int) DBGFR3AsUnlinkModuleByName(PUVM pUVM, RTDBGAS hDbgAs, const char *pszModName)
151{
152 return VERR_INTERNAL_ERROR;
153}
154VMMR3DECL(RTDBGAS) DBGFR3AsResolveAndRetain(PUVM pUVM, RTDBGAS hAlias)
155{
156 return NIL_RTDBGAS;
157}
158VMMR3DECL(int) DBGFR3AsLineByAddr(PUVM pUVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress,
159 PRTGCINTPTR poffDisp, PRTDBGLINE pLine, PRTDBGMOD phMod)
160{
161 return VERR_DBG_LINE_NOT_FOUND;
162}
163VMMR3DECL(int) DBGFR3Resume(PUVM pUVM)
164{
165 return VERR_INTERNAL_ERROR;
166}
167VMMR3DECL(int) DBGFR3StackWalkBegin(PUVM pUVM, VMCPUID idCpu, DBGFCODETYPE enmCodeType, PCDBGFSTACKFRAME *ppFirstFrame)
168{
169 return VERR_INTERNAL_ERROR;
170}
171VMMR3DECL(PCDBGFSTACKFRAME) DBGFR3StackWalkNext(PCDBGFSTACKFRAME pCurrent)
172{
173 return NULL;
174}
175VMMR3DECL(void) DBGFR3StackWalkEnd(PCDBGFSTACKFRAME pFirstFrame)
176{
177}
178VMMR3DECL(int) DBGFR3Step(PUVM pUVM, VMCPUID idCpu)
179{
180 return VERR_INTERNAL_ERROR;
181}
182VMMR3DECL(int) DBGFR3AsSymbolByAddr(PUVM pUVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress, uint32_t fFlags, PRTGCINTPTR poffDisplacement, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod)
183{
184 return VERR_INTERNAL_ERROR;
185}
186VMMR3DECL(int) DBGFR3AsSymbolByName(PUVM pUVM, RTDBGAS hDbgAs, const char *pszSymbol, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod)
187{
188 return VERR_INTERNAL_ERROR;
189}
190VMMR3DECL(int) DBGFR3MemScan(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, RTGCUINTPTR cbRange, RTGCUINTPTR uAlign, const void *pabNeedle, size_t cbNeedle, PDBGFADDRESS pHitAddress)
191{
192 return VERR_INTERNAL_ERROR;
193}
194VMMR3DECL(int) DBGFR3MemRead(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void *pvBuf, size_t cbRead)
195{
196 return VERR_INTERNAL_ERROR;
197}
198VMMR3DECL(int) DBGFR3MemReadString(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, char *pszBuf, size_t cchBuf)
199{
200 return VERR_INTERNAL_ERROR;
201}
202VMMR3DECL(int) DBGFR3MemWrite(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, const void *pvBuf, size_t cbRead)
203{
204 return VERR_INTERNAL_ERROR;
205}
206VMMDECL(int) DBGFR3PagingDumpEx(PUVM pUVM, VMCPUID idCpu, uint32_t fFlags, uint64_t cr3, uint64_t u64FirstAddr,
207 uint64_t u64LastAddr, uint32_t cMaxDepth, PCDBGFINFOHLP pHlp)
208{
209 return VERR_INTERNAL_ERROR;
210}
211VMMR3DECL(int) DBGFR3RegNmValidate(PUVM pUVM, VMCPUID idDefCpu, const char *pszReg)
212{
213 if ( !strcmp(pszReg, "ah")
214 || !strcmp(pszReg, "ax")
215 || !strcmp(pszReg, "eax")
216 || !strcmp(pszReg, "rax"))
217 return VINF_SUCCESS;
218 return VERR_DBGF_REGISTER_NOT_FOUND;
219}
220VMMR3DECL(int) DBGFR3RegCpuQueryU8( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t *pu8)
221{
222 return VERR_INTERNAL_ERROR;
223}
224VMMR3DECL(int) DBGFR3RegCpuQueryU16( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t *pu16)
225{
226 return VERR_INTERNAL_ERROR;
227}
228VMMR3DECL(int) DBGFR3RegCpuQueryU32( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t *pu32)
229{
230 return VERR_INTERNAL_ERROR;
231}
232VMMR3DECL(int) DBGFR3RegCpuQueryU64( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64)
233{
234 return VERR_INTERNAL_ERROR;
235}
236VMMR3DECL(int) DBGFR3RegNmQuery(PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, PDBGFREGVAL pValue, PDBGFREGVALTYPE penmType)
237{
238 if (idDefCpu == 0 || idDefCpu == DBGFREG_HYPER_VMCPUID)
239 {
240 if (!strcmp(pszReg, "ah"))
241 {
242 pValue->u16 = 0xf0;
243 *penmType = DBGFREGVALTYPE_U8;
244 return VINF_SUCCESS;
245 }
246 if (!strcmp(pszReg, "ax"))
247 {
248 pValue->u16 = 0xbabe;
249 *penmType = DBGFREGVALTYPE_U16;
250 return VINF_SUCCESS;
251 }
252 if (!strcmp(pszReg, "eax"))
253 {
254 pValue->u32 = 0xcafebabe;
255 *penmType = DBGFREGVALTYPE_U32;
256 return VINF_SUCCESS;
257 }
258 if (!strcmp(pszReg, "rax"))
259 {
260 pValue->u64 = UINT64_C(0x00beef00feedface);
261 *penmType = DBGFREGVALTYPE_U32;
262 return VINF_SUCCESS;
263 }
264 }
265 return VERR_DBGF_REGISTER_NOT_FOUND;
266}
267VMMR3DECL(int) DBGFR3RegPrintf(PUVM pUVM, VMCPUID idCpu, char *pszBuf, size_t cbBuf, const char *pszFormat, ...)
268{
269 return VERR_INTERNAL_ERROR;
270}
271VMMDECL(ssize_t) DBGFR3RegFormatValue(char *pszBuf, size_t cbBuf, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType, bool fSpecial)
272{
273 return VERR_INTERNAL_ERROR;
274}
275VMMR3DECL(int) DBGFR3RegNmSet(PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType)
276{
277 return VERR_INTERNAL_ERROR;
278}
279
280VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromPhys(PUVM pUVM, PDBGFADDRESS pAddress, RTGCPHYS PhysAddr)
281{
282 return NULL;
283}
284VMMR3DECL(int) DBGFR3AddrToHostPhys(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTHCPHYS pHCPhys)
285{
286 return VERR_INTERNAL_ERROR;
287}
288VMMR3DECL(int) DBGFR3AddrToVolatileR3Ptr(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, bool fReadOnly, void **ppvR3Ptr)
289{
290 return VERR_INTERNAL_ERROR;
291}
292
293VMMR3DECL(int) DBGFR3OSRegister(PUVM pUVM, PCDBGFOSREG pReg)
294{
295 return VERR_INTERNAL_ERROR;
296}
297VMMR3DECL(int) DBGFR3OSDetect(PUVM pUVM, char *pszName, size_t cchName)
298{
299 return VERR_INTERNAL_ERROR;
300}
301VMMR3DECL(int) DBGFR3OSQueryNameAndVersion(PUVM pUVM, char *pszName, size_t cchName, char *pszVersion, size_t cchVersion)
302{
303 return VERR_INTERNAL_ERROR;
304}
305VMMR3DECL(void *) DBGFR3OSQueryInterface(PUVM pUVM, DBGFOSINTERFACE enmIf)
306{
307 return NULL;
308}
309
310VMMR3DECL(int) DBGFR3SelQueryInfo(PUVM pUVM, VMCPUID idCpu, RTSEL Sel, uint32_t fFlags, PDBGFSELINFO pSelInfo)
311{
312 return VERR_INTERNAL_ERROR;
313}
314
315VMMR3DECL(CPUMMODE) DBGFR3CpuGetMode(PUVM pUVM, VMCPUID idCpu)
316{
317 return CPUMMODE_INVALID;
318}
319VMMR3DECL(VMCPUID) DBGFR3CpuGetCount(PUVM pUVM)
320{
321 return 1;
322}
323VMMR3DECL(bool) DBGFR3CpuIsIn64BitCode(PUVM pUVM, VMCPUID idCpu)
324{
325 return false;
326}
327
328VMMR3DECL(int) DBGFR3CoreWrite(PUVM pUVM, const char *pszFilename, bool fReplaceFile)
329{
330 return VERR_INTERNAL_ERROR;
331}
332
333VMMR3DECL(int) DBGFR3PlugInLoad(PUVM pUVM, const char *pszPlugIn, char *pszActual, size_t cbActual, PRTERRINFO pErrInfo)
334{
335 return VERR_INTERNAL_ERROR;
336}
337VMMR3DECL(int) DBGFR3PlugInUnload(PUVM pUVM, const char *pszName)
338{
339 return VERR_INTERNAL_ERROR;
340}
341VMMR3DECL(void) DBGFR3PlugInLoadAll(PUVM pUVM)
342{
343}
344VMMR3DECL(int) DBGFR3TypeRegister( PUVM pUVM, uint32_t cTypes, PCDBGFTYPEREG paTypes)
345{
346 return VERR_INTERNAL_ERROR;
347}
348VMMR3DECL(int) DBGFR3TypeDeregister(PUVM pUVM, const char *pszType)
349{
350 return VERR_INTERNAL_ERROR;
351}
352VMMR3DECL(int) DBGFR3TypeQueryReg( PUVM pUVM, const char *pszType, PCDBGFTYPEREG *ppTypeReg)
353{
354 return VERR_INTERNAL_ERROR;
355}
356VMMR3DECL(int) DBGFR3TypeQuerySize( PUVM pUVM, const char *pszType, size_t *pcbType)
357{
358 return VERR_INTERNAL_ERROR;
359}
360VMMR3DECL(int) DBGFR3TypeSetSize( PUVM pUVM, const char *pszType, size_t cbType)
361{
362 return VERR_INTERNAL_ERROR;
363}
364VMMR3DECL(int) DBGFR3TypeDumpEx( PUVM pUVM, const char *pszType, uint32_t fFlags,
365 uint32_t cLvlMax, PFNDBGFR3TYPEDUMP pfnDump, void *pvUser)
366{
367 return VERR_INTERNAL_ERROR;
368}
369VMMR3DECL(int) DBGFR3TypeQueryValByType(PUVM pUVM, PCDBGFADDRESS pAddress, const char *pszType,
370 PDBGFTYPEVAL *ppVal)
371{
372 return VERR_INTERNAL_ERROR;
373}
374VMMR3DECL(void) DBGFR3TypeValFree(PDBGFTYPEVAL pVal)
375{
376}
377VMMR3DECL(int) DBGFR3TypeValDumpEx(PUVM pUVM, PCDBGFADDRESS pAddress, const char *pszType, uint32_t fFlags,
378 uint32_t cLvlMax, FNDBGFR3TYPEVALDUMP pfnDump, void *pvUser)
379{
380 return VERR_INTERNAL_ERROR;
381}
382
383VMMR3DECL(int) DBGFR3CfgCreate(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddressStart, uint32_t cbDisasmMax,
384 uint32_t fFlags, PDBGFCFG phCfg)
385{
386 return VERR_INTERNAL_ERROR;
387}
388VMMR3DECL(uint32_t) DBGFR3CfgRetain(DBGFCFG hCfg)
389{
390 return 0;
391}
392VMMR3DECL(uint32_t) DBGFR3CfgRelease(DBGFCFG hCfg)
393{
394 return 0;
395}
396VMMR3DECL(int) DBGFR3CfgQueryStartBb(DBGFCFG hCfg, PDBGFCFGBB phCfgBb)
397{
398 return VERR_INTERNAL_ERROR;
399}
400VMMR3DECL(int) DBGFR3CfgDump(DBGFCFG hCfg, PFNDBGFR3CFGDUMP pfnDump, void *pvUser)
401{
402 return VERR_INTERNAL_ERROR;
403}
404VMMR3DECL(uint32_t) DBGFR3CfgBbRetain(DBGFCFGBB hCfgBb)
405{
406 return 0;
407}
408VMMR3DECL(uint32_t) DBGFR3CfgBbRelease(DBGFCFGBB hCfgBb)
409{
410 return 0;
411}
412VMMR3DECL(PDBGFADDRESS) DBGFR3CfgBbGetStartAddress(DBGFCFGBB hCfgBb, PDBGFADDRESS pAddrStart)
413{
414 return NULL;
415}
416VMMR3DECL(PDBGFADDRESS) DBGFR3CfgBbGetEndAddress(DBGFCFGBB hCfgBb, PDBGFADDRESS pAddrEnd)
417{
418 return NULL;
419}
420VMMR3DECL(DBGFCFGBBENDTYPE) DBGFR3CfgBbGetType(DBGFCFGBB hCfgBb)
421{
422 return DBGFCFGBBENDTYPE_INVALID;
423}
424VMMR3DECL(uint32_t) DBGFR3CfgBbGetInstrCount(DBGFCFGBB hCfgBb)
425{
426 return 0;
427}
428VMMR3DECL(uint32_t) DBGFR3CfgBbGetFlags(DBGFCFGBB hCfgBb)
429{
430 return 0;
431}
432VMMR3DECL(int) DBGFR3CfgBbQueryInstr(DBGFCFGBB hCfgBb, uint32_t idxInstr, PDBGFADDRESS pAddrInstr,
433 uint32_t *pcbInstr, char *pszOutput, uint32_t cbOutput)
434{
435 return VERR_INTERNAL_ERROR;
436}
437VMMR3DECL(int) DBGFR3CfgBbQuerySuccessors(DBGFCFGBB hCfgBb, PDBGFCFGBB pahCfgBbSucc, uint32_t cSucc)
438{
439 return VERR_INTERNAL_ERROR;
440}
441VMMR3DECL(uint32_t) DBGFR3CfgBbGetRefBbCount(DBGFCFGBB hCfgBb)
442{
443 return 0;
444}
445VMMR3DECL(int) DBGFR3CfgBbGetRefBb(DBGFCFGBB hCfgBb, PDBGFCFGBB pahCfgBbRef, uint32_t cRef)
446{
447 return VERR_INTERNAL_ERROR;
448}
449
450#include <VBox/vmm/cfgm.h>
451VMMR3DECL(int) CFGMR3ValidateConfig(PCFGMNODE pNode, const char *pszNode,
452 const char *pszValidValues, const char *pszValidNodes,
453 const char *pszWho, uint32_t uInstance)
454{
455 return VINF_SUCCESS;
456}
457
458VMMR3DECL(PCFGMNODE) CFGMR3GetRootU(PUVM pUVM)
459{
460 return NULL;
461}
462
463VMMR3DECL(PCFGMNODE) CFGMR3GetChild(PCFGMNODE pNode, const char *pszPath)
464{
465 return NULL;
466}
467
468VMMR3DECL(int) CFGMR3QueryString(PCFGMNODE pNode, const char *pszName, char *pszString, size_t cchString)
469{
470 *pszString = '\0';
471 return VINF_SUCCESS;
472}
473
474VMMR3DECL(int) CFGMR3QueryStringDef(PCFGMNODE pNode, const char *pszName, char *pszString, size_t cchString, const char *pszDef)
475{
476 *pszString = '\0';
477 return VINF_SUCCESS;
478}
479
480
481
482//////////////////////////////////////////////////////////////////////////
483// The rest should eventually be replaced by DBGF calls and eliminated. //
484/////////////////////////////////////////////////////////////////////////
485
486
487#include <VBox/vmm/cpum.h>
488
489VMMDECL(uint64_t) CPUMGetGuestCR3(PVMCPU pVCpu)
490{
491 return 0;
492}
493
494VMMDECL(uint64_t) CPUMGetGuestCR4(PVMCPU pVCpu)
495{
496 return 0;
497}
498
499VMMDECL(RTSEL) CPUMGetGuestCS(PVMCPU pVCpu)
500{
501 return 0;
502}
503
504VMMDECL(PCCPUMCTXCORE) CPUMGetGuestCtxCore(PVMCPU pVCpu)
505{
506 return NULL;
507}
508
509VMMDECL(uint32_t) CPUMGetGuestEIP(PVMCPU pVCpu)
510{
511 return 0;
512}
513
514VMMDECL(uint64_t) CPUMGetGuestRIP(PVMCPU pVCpu)
515{
516 return 0;
517}
518
519VMMDECL(RTGCPTR) CPUMGetGuestIDTR(PVMCPU pVCpu, uint16_t *pcbLimit)
520{
521 return 0;
522}
523
524VMMDECL(CPUMMODE) CPUMGetGuestMode(PVMCPU pVCpu)
525{
526 return CPUMMODE_INVALID;
527}
528
529VMMDECL(RTSEL) CPUMGetHyperCS(PVMCPU pVCpu)
530{
531 return 0xfff8;
532}
533
534VMMDECL(uint32_t) CPUMGetHyperEIP(PVMCPU pVCpu)
535{
536 return 0;
537}
538
539VMMDECL(PCPUMCTX) CPUMQueryGuestCtxPtr(PVMCPU pVCpu)
540{
541 return NULL;
542}
543
544VMMDECL(bool) CPUMIsGuestIn64BitCode(PVMCPU pVCpu)
545{
546 return false;
547}
548
549VMMDECL(uint32_t) CPUMGetGuestEFlags(PVMCPU pVCpu)
550{
551 return 2;
552}
553
554#include <VBox/vmm/hm.h>
555VMMR3DECL(bool) HMR3IsEnabled(PUVM pUVM)
556{
557 return true;
558}
559
560
561#include <VBox/vmm/pgm.h>
562
563VMMDECL(RTHCPHYS) PGMGetHyperCR3(PVMCPU pVCpu)
564{
565 return 0;
566}
567
568VMMDECL(PGMMODE) PGMGetShadowMode(PVMCPU pVCpu)
569{
570 return PGMMODE_INVALID;
571}
572
573VMMR3DECL(int) PGMR3DbgR3Ptr2GCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTGCPHYS pGCPhys)
574{
575 return VERR_INTERNAL_ERROR;
576}
577
578VMMR3DECL(int) PGMR3DbgR3Ptr2HCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTHCPHYS pHCPhys)
579{
580 return VERR_INTERNAL_ERROR;
581}
582VMMR3DECL(int) PGMR3DbgHCPhys2GCPhys(PUVM pUVM, RTHCPHYS HCPhys, PRTGCPHYS pGCPhys)
583{
584 return VERR_INTERNAL_ERROR;
585}
586
587
588#include <VBox/vmm/vmm.h>
589
590VMMR3DECL(PVMCPU) VMMR3GetCpuByIdU(PUVM pUVM, RTCPUID idCpu)
591{
592 return NULL;
593}
594
595
596VMMR3DECL(PVM) VMR3GetVM(PUVM pUVM)
597{
598 return NULL;
599}
600
601VMMR3DECL(VMSTATE) VMR3GetStateU(PUVM pUVM)
602{
603 return VMSTATE_DESTROYING;
604}
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