Changeset 44399 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Jan 27, 2013 9:12:53 PM (12 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/dbgf.h
r44373 r44399 47 47 * @{ 48 48 */ 49 VMMRZ DECL(int) DBGFRZTrap01Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6);50 VMMRZ DECL(int) DBGFRZTrap03Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);49 VMMRZ_INT_DECL(int) DBGFRZTrap01Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6); 50 VMMRZ_INT_DECL(int) DBGFRZTrap03Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame); 51 51 /** @} */ 52 52 #endif … … 115 115 /** @} */ 116 116 117 VMMR3DECL(int) DBGFR3AddrFromSelOff(P VM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, RTSEL Sel, RTUINTPTR off);118 VMMR3DECL(int) DBGFR3AddrFromSelInfoOff(P VM pVM, PDBGFADDRESS pAddress, PCDBGFSELINFO pSelInfo, RTUINTPTR off);119 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromFlat(P VM pVM, PDBGFADDRESS pAddress, RTGCUINTPTR FlatPtr);120 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromPhys(P VM pVM, PDBGFADDRESS pAddress, RTGCPHYS PhysAddr);121 VMMR3DECL(bool) DBGFR3AddrIsValid(P VM pVM, PCDBGFADDRESS pAddress);122 VMMR3DECL(int) DBGFR3AddrToPhys(P VM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTGCPHYS pGCPhys);123 VMMR3DECL(int) DBGFR3AddrToHostPhys(P VM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTHCPHYS pHCPhys);124 VMMR3DECL(int) DBGFR3AddrToVolatileR3Ptr(P VM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, bool fReadOnly, void **ppvR3Ptr);117 VMMR3DECL(int) DBGFR3AddrFromSelOff(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, RTSEL Sel, RTUINTPTR off); 118 VMMR3DECL(int) DBGFR3AddrFromSelInfoOff(PUVM pUVM, PDBGFADDRESS pAddress, PCDBGFSELINFO pSelInfo, RTUINTPTR off); 119 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromFlat(PUVM pUVM, PDBGFADDRESS pAddress, RTGCUINTPTR FlatPtr); 120 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromPhys(PUVM pUVM, PDBGFADDRESS pAddress, RTGCPHYS PhysAddr); 121 VMMR3DECL(bool) DBGFR3AddrIsValid(PUVM pUVM, PCDBGFADDRESS pAddress); 122 VMMR3DECL(int) DBGFR3AddrToPhys(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTGCPHYS pGCPhys); 123 VMMR3DECL(int) DBGFR3AddrToHostPhys(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTHCPHYS pHCPhys); 124 VMMR3DECL(int) DBGFR3AddrToVolatileR3Ptr(PUVM pUVM, VMCPUID idCpu, PDBGFADDRESS pAddress, bool fReadOnly, void **ppvR3Ptr); 125 125 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrAdd(PDBGFADDRESS pAddress, RTGCUINTPTR uAddend); 126 126 VMMR3DECL(PDBGFADDRESS) DBGFR3AddrSub(PDBGFADDRESS pAddress, RTGCUINTPTR uSubtrahend); … … 282 282 # endif 283 283 284 VMMR3DECL(int) DBGFR3Init(PVM pVM); 285 VMMR3DECL(int) DBGFR3Term(PVM pVM); 286 VMMR3DECL(void) DBGFR3Relocate(PVM pVM, RTGCINTPTR offDelta); 287 VMMR3DECL(int) DBGFR3VMMForcedAction(PVM pVM); 288 VMMR3DECL(int) DBGFR3Event(PVM pVM, DBGFEVENTTYPE enmEvent); 289 VMMR3DECL(int) DBGFR3EventSrc(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszFile, unsigned uLine, const char *pszFunction, const char *pszFormat, ...); 290 VMMR3DECL(int) DBGFR3EventSrcV(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszFile, unsigned uLine, const char *pszFunction, const char *pszFormat, va_list args); 291 VMMR3DECL(int) DBGFR3EventAssertion(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszMsg1, const char *pszMsg2); 292 VMMR3DECL(int) DBGFR3EventBreakpoint(PVM pVM, DBGFEVENTTYPE enmEvent); 293 VMMR3DECL(int) DBGFR3Attach(PVM pVM); 294 VMMR3DECL(int) DBGFR3Detach(PVM pVM); 295 VMMR3DECL(int) DBGFR3EventWait(PVM pVM, RTMSINTERVAL cMillies, PCDBGFEVENT *ppEvent); 296 VMMR3DECL(int) DBGFR3Halt(PVM pVM); 297 VMMR3DECL(bool) DBGFR3IsHalted(PVM pVM); 298 VMMR3DECL(bool) DBGFR3CanWait(PVM pVM); 299 VMMR3DECL(int) DBGFR3Resume(PVM pVM); 300 VMMR3DECL(int) DBGFR3Step(PVM pVM, VMCPUID idCpu); 301 VMMR3DECL(int) DBGFR3PrgStep(PVMCPU pVCpu); 302 VMMR3DECL(int) DBGFR3InjectNMI(PUVM pUVM, VMCPUID idCpu); 284 VMMR3_INT_DECL(int) DBGFR3Init(PVM pVM); 285 VMMR3_INT_DECL(int) DBGFR3Term(PVM pVM); 286 VMMR3_INT_DECL(void) DBGFR3Relocate(PVM pVM, RTGCINTPTR offDelta); 287 VMMR3_INT_DECL(int) DBGFR3VMMForcedAction(PVM pVM); 288 VMMR3DECL(int) DBGFR3Event(PVM pVM, DBGFEVENTTYPE enmEvent); 289 VMMR3DECL(int) DBGFR3EventSrc(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszFile, unsigned uLine, 290 const char *pszFunction, const char *pszFormat, ...); 291 VMMR3DECL(int) DBGFR3EventSrcV(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszFile, unsigned uLine, 292 const char *pszFunction, const char *pszFormat, va_list args); 293 VMMR3_INT_DECL(int) DBGFR3EventAssertion(PVM pVM, DBGFEVENTTYPE enmEvent, const char *pszMsg1, const char *pszMsg2); 294 VMMR3_INT_DECL(int) DBGFR3EventBreakpoint(PVM pVM, DBGFEVENTTYPE enmEvent); 295 VMMR3_INT_DECL(int) DBGFR3PrgStep(PVMCPU pVCpu); 296 297 VMMR3DECL(int) DBGFR3Attach(PUVM pUVM); 298 VMMR3DECL(int) DBGFR3Detach(PUVM pUVM); 299 VMMR3DECL(int) DBGFR3EventWait(PUVM pUVM, RTMSINTERVAL cMillies, PCDBGFEVENT *ppEvent); 300 VMMR3DECL(int) DBGFR3Halt(PUVM pUVM); 301 VMMR3DECL(bool) DBGFR3IsHalted(PUVM pUVM); 302 VMMR3DECL(bool) DBGFR3CanWait(PUVM pUVM); 303 VMMR3DECL(int) DBGFR3Resume(PUVM pUVM); 304 VMMR3DECL(int) DBGFR3Step(PUVM pUVM, VMCPUID idCpu); 305 VMMR3DECL(int) DBGFR3InjectNMI(PUVM pUVM, VMCPUID idCpu); 303 306 304 307 #endif /* IN_RING3 */ … … 386 389 387 390 #ifdef IN_RING3 /* The breakpoint management API is only available in ring-3. */ 388 VMMR3DECL(int) DBGFR3BpSet(P VM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, uint32_t *piBp);389 VMMR3DECL(int) DBGFR3BpSetReg(P VM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable,391 VMMR3DECL(int) DBGFR3BpSet(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, uint32_t *piBp); 392 VMMR3DECL(int) DBGFR3BpSetReg(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, 390 393 uint8_t fType, uint8_t cb, uint32_t *piBp); 391 VMMR3DECL(int) DBGFR3BpSetREM(P VM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, uint32_t *piBp);392 VMMR3DECL(int) DBGFR3BpClear(P VM pVM, uint32_t iBp);393 VMMR3DECL(int) DBGFR3BpEnable(P VM pVM, uint32_t iBp);394 VMMR3DECL(int) DBGFR3BpDisable(P VM pVM, uint32_t iBp);394 VMMR3DECL(int) DBGFR3BpSetREM(PUVM pUVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, uint32_t *piBp); 395 VMMR3DECL(int) DBGFR3BpClear(PUVM pUVM, uint32_t iBp); 396 VMMR3DECL(int) DBGFR3BpEnable(PUVM pUVM, uint32_t iBp); 397 VMMR3DECL(int) DBGFR3BpDisable(PUVM pUVM, uint32_t iBp); 395 398 396 399 /** … … 398 401 * 399 402 * @returns VBox status code. Any failure will stop the enumeration. 400 * @param p VM The VM handle.403 * @param pUVM The user mode VM handle. 401 404 * @param pvUser The user argument. 402 405 * @param pBp Pointer to the breakpoint information. (readonly) 403 406 */ 404 typedef DECLCALLBACK(int) FNDBGFBPENUM(P VM pVM, void *pvUser, PCDBGFBP pBp);407 typedef DECLCALLBACK(int) FNDBGFBPENUM(PUVM pUVM, void *pvUser, PCDBGFBP pBp); 405 408 /** Pointer to a breakpoint enumeration callback function. */ 406 409 typedef FNDBGFBPENUM *PFNDBGFBPENUM; 407 410 408 VMMR3DECL(int) DBGFR3BpEnum(PVM pVM, PFNDBGFBPENUM pfnCallback, void *pvUser);411 VMMR3DECL(int) DBGFR3BpEnum(PUVM pUVM, PFNDBGFBPENUM pfnCallback, void *pvUser); 409 412 #endif /* IN_RING3 */ 410 413 411 VMM DECL(RTGCUINTREG)DBGFBpGetDR7(PVM pVM);412 VMM DECL(RTGCUINTREG)DBGFBpGetDR0(PVM pVM);413 VMM DECL(RTGCUINTREG)DBGFBpGetDR1(PVM pVM);414 VMM DECL(RTGCUINTREG)DBGFBpGetDR2(PVM pVM);415 VMM DECL(RTGCUINTREG)DBGFBpGetDR3(PVM pVM);416 VMM DECL(bool)DBGFIsStepping(PVMCPU pVCpu);414 VMM_INT_DECL(RTGCUINTREG) DBGFBpGetDR7(PVM pVM); 415 VMM_INT_DECL(RTGCUINTREG) DBGFBpGetDR0(PVM pVM); 416 VMM_INT_DECL(RTGCUINTREG) DBGFBpGetDR1(PVM pVM); 417 VMM_INT_DECL(RTGCUINTREG) DBGFBpGetDR2(PVM pVM); 418 VMM_INT_DECL(RTGCUINTREG) DBGFBpGetDR3(PVM pVM); 419 VMM_INT_DECL(bool) DBGFIsStepping(PVMCPU pVCpu); 417 420 418 421 419 422 #ifdef IN_RING3 /* The CPU mode API only works in ring-3. */ 420 VMMR3DECL(CPUMMODE) DBGFR3CpuGetMode(PVM pVM, VMCPUID idCpu); 423 VMMR3DECL(CPUMMODE) DBGFR3CpuGetMode(PUVM pUVM, VMCPUID idCpu); 424 VMMR3DECL(VMCPUID) DBGFR3CpuGetCount(PUVM pUVM); 421 425 #endif 422 426 … … 512 516 /** @} */ 513 517 514 VMMR3 DECL(int) DBGFR3InfoRegisterDevice(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERDEV pfnHandler, PPDMDEVINS pDevIns);515 VMMR3 DECL(int) DBGFR3InfoRegisterDriver(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERDRV pfnHandler, PPDMDRVINS pDrvIns);516 VMMR3 DECL(int) DBGFR3InfoRegisterInternal(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERINT pfnHandler);517 VMMR3 DECL(int) DBGFR3InfoRegisterInternalEx(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERINT pfnHandler, uint32_t fFlags);518 VMMR3DECL(int) DBGFR3InfoRegisterExternal(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLEREXT pfnHandler, void *pvUser);519 VMMR3 DECL(int) DBGFR3InfoDeregisterDevice(PVM pVM, PPDMDEVINS pDevIns, const char *pszName);520 VMMR3 DECL(int) DBGFR3InfoDeregisterDriver(PVM pVM, PPDMDRVINS pDrvIns, const char *pszName);521 VMMR3 DECL(int) DBGFR3InfoDeregisterInternal(PVM pVM, const char *pszName);522 VMMR3DECL(int) DBGFR3InfoDeregisterExternal(PVM pVM, const char *pszName);523 VMMR3DECL(int) DBGFR3Info(PVM pVM, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp);524 VMMR3DECL(int) DBGFR3InfoEx(PVM pVM, VMCPUID idCpu, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp);525 VMMR3DECL(int) DBGFR3InfoLogRel(PVM pVM, const char *pszName, const char *pszArgs);526 VMMR3DECL(int) DBGFR3InfoStdErr(PVM pVM, const char *pszName, const char *pszArgs);527 VMMR3 DECL(int) DBGFR3InfoMulti(PVM pVM, const char *pszIncludePat, const char *pszExcludePat,528 const char *pszSepFmt, PCDBGFINFOHLP pHlp);518 VMMR3_INT_DECL(int) DBGFR3InfoRegisterDevice(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERDEV pfnHandler, PPDMDEVINS pDevIns); 519 VMMR3_INT_DECL(int) DBGFR3InfoRegisterDriver(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERDRV pfnHandler, PPDMDRVINS pDrvIns); 520 VMMR3_INT_DECL(int) DBGFR3InfoRegisterInternal(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERINT pfnHandler); 521 VMMR3_INT_DECL(int) DBGFR3InfoRegisterInternalEx(PVM pVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLERINT pfnHandler, uint32_t fFlags); 522 VMMR3DECL(int) DBGFR3InfoRegisterExternal(PUVM pUVM, const char *pszName, const char *pszDesc, PFNDBGFHANDLEREXT pfnHandler, void *pvUser); 523 VMMR3_INT_DECL(int) DBGFR3InfoDeregisterDevice(PVM pVM, PPDMDEVINS pDevIns, const char *pszName); 524 VMMR3_INT_DECL(int) DBGFR3InfoDeregisterDriver(PVM pVM, PPDMDRVINS pDrvIns, const char *pszName); 525 VMMR3_INT_DECL(int) DBGFR3InfoDeregisterInternal(PVM pVM, const char *pszName); 526 VMMR3DECL(int) DBGFR3InfoDeregisterExternal(PUVM pUVM, const char *pszName); 527 VMMR3DECL(int) DBGFR3Info(PUVM pUVM, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp); 528 VMMR3DECL(int) DBGFR3InfoEx(PUVM pUVM, VMCPUID idCpu, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp); 529 VMMR3DECL(int) DBGFR3InfoLogRel(PUVM pUVM, const char *pszName, const char *pszArgs); 530 VMMR3DECL(int) DBGFR3InfoStdErr(PUVM pUVM, const char *pszName, const char *pszArgs); 531 VMMR3_INT_DECL(int) DBGFR3InfoMulti(PVM pVM, const char *pszIncludePat, const char *pszExcludePat, 532 const char *pszSepFmt, PCDBGFINFOHLP pHlp); 529 533 530 534 /** @def DBGFR3InfoLog 531 535 * Display a piece of info writing to the log if enabled. 532 536 * 533 * @param pVMVM handle.534 * @param pszNameThe identifier of the info to display.535 * @param pszArgsArguments to the info handler.537 * @param a_pVM The shared VM handle. 538 * @param a_pszName The identifier of the info to display. 539 * @param a_pszArgs Arguments to the info handler. 536 540 */ 537 541 #ifdef LOG_ENABLED 538 # define DBGFR3InfoLog(pVM, pszName,pszArgs) \542 # define DBGFR3_INFO_LOG(a_pVM, a_pszName, a_pszArgs) \ 539 543 do { \ 540 544 if (LogIsEnabled()) \ 541 DBGFR3Info( pVM, pszName,pszArgs, NULL); \545 DBGFR3Info((a_pVM)->pUVM, a_pszName, a_pszArgs, NULL); \ 542 546 } while (0) 543 547 #else 544 # define DBGFR3InfoLog(pVM, pszName,pszArgs) do { } while (0)548 # define DBGFR3_INFO_LOG(a_pVM, a_pszName, a_pszArgs) do { } while (0) 545 549 #endif 546 550 … … 551 555 * A status code indicating failure will end the enumeration 552 556 * and DBGFR3InfoEnum will return with that status code. 553 * @param p VMVM handle.557 * @param pUVM The user mode VM handle. 554 558 * @param pszName Info identifier name. 555 559 * @param pszDesc The description. 556 560 */ 557 typedef DECLCALLBACK(int) FNDBGFINFOENUM(P VM pVM, const char *pszName, const char *pszDesc, void *pvUser);561 typedef DECLCALLBACK(int) FNDBGFINFOENUM(PUVM pUVM, const char *pszName, const char *pszDesc, void *pvUser); 558 562 /** Pointer to a FNDBGFINFOENUM function. */ 559 563 typedef FNDBGFINFOENUM *PFNDBGFINFOENUM; 560 564 561 VMMR3DECL(int) DBGFR3InfoEnum(P VM pVM, PFNDBGFINFOENUM pfnCallback, void *pvUser);565 VMMR3DECL(int) DBGFR3InfoEnum(PUVM pUVM, PFNDBGFINFOENUM pfnCallback, void *pvUser); 562 566 VMMR3DECL(PCDBGFINFOHLP) DBGFR3InfoLogHlp(void); 563 567 VMMR3DECL(PCDBGFINFOHLP) DBGFR3InfoLogRelHlp(void); … … 567 571 568 572 #ifdef IN_RING3 /* The log contrl API only works in ring-3. */ 569 VMMR3DECL(int) DBGFR3LogModifyGroups(P VM pVM, const char *pszGroupSettings);570 VMMR3DECL(int) DBGFR3LogModifyFlags(P VM pVM, const char *pszFlagSettings);571 VMMR3DECL(int) DBGFR3LogModifyDestinations(P VM pVM, const char *pszDestSettings);573 VMMR3DECL(int) DBGFR3LogModifyGroups(PUVM pUVM, const char *pszGroupSettings); 574 VMMR3DECL(int) DBGFR3LogModifyFlags(PUVM pUVM, const char *pszFlagSettings); 575 VMMR3DECL(int) DBGFR3LogModifyDestinations(PUVM pUVM, const char *pszDestSettings); 572 576 #endif /* IN_RING3 */ 573 577 … … 652 656 /** @} */ 653 657 654 VMMR3DECL(int) DBGFR3AsAdd(P VM pVM, RTDBGAS hDbgAs, RTPROCESS ProcId);655 VMMR3DECL(int) DBGFR3AsDelete(P VM pVM, RTDBGAS hDbgAs);656 VMMR3DECL(int) DBGFR3AsSetAlias(P VM pVM, RTDBGAS hAlias, RTDBGAS hAliasFor);657 VMMR3DECL(RTDBGAS) DBGFR3AsResolve(P VM pVM, RTDBGAS hAlias);658 VMMR3DECL(RTDBGAS) DBGFR3AsResolveAndRetain(P VM pVM, RTDBGAS hAlias);659 VMMR3DECL(RTDBGAS) DBGFR3AsQueryByName(P VM pVM, const char *pszName);660 VMMR3DECL(RTDBGAS) DBGFR3AsQueryByPid(P VM pVM, RTPROCESS ProcId);661 662 VMMR3DECL(int) DBGFR3AsLoadImage(P VM pVM, RTDBGAS hDbgAs, const char *pszFilename, const char *pszModName, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, uint32_t fFlags);663 VMMR3DECL(int) DBGFR3AsLoadMap(P VM pVM, RTDBGAS hDbgAs, const char *pszFilename, const char *pszModName, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, RTGCUINTPTR uSubtrahend, uint32_t fFlags);664 VMMR3DECL(int) DBGFR3AsLinkModule(P VM pVM, RTDBGAS hDbgAs, RTDBGMOD hMod, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, uint32_t fFlags);665 666 VMMR3DECL(int) DBGFR3AsSymbolByAddr(P VM pVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress, PRTGCINTPTR poffDisp, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod);667 VMMR3DECL(PRTDBGSYMBOL) DBGFR3AsSymbolByAddrA(P VM pVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress, PRTGCINTPTR poffDisp, PRTDBGMOD phMod);668 VMMR3DECL(int) DBGFR3AsSymbolByName(P VM pVM, RTDBGAS hDbgAs, const char *pszSymbol, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod);658 VMMR3DECL(int) DBGFR3AsAdd(PUVM pUVM, RTDBGAS hDbgAs, RTPROCESS ProcId); 659 VMMR3DECL(int) DBGFR3AsDelete(PUVM pUVM, RTDBGAS hDbgAs); 660 VMMR3DECL(int) DBGFR3AsSetAlias(PUVM pUVM, RTDBGAS hAlias, RTDBGAS hAliasFor); 661 VMMR3DECL(RTDBGAS) DBGFR3AsResolve(PUVM pUVM, RTDBGAS hAlias); 662 VMMR3DECL(RTDBGAS) DBGFR3AsResolveAndRetain(PUVM pUVM, RTDBGAS hAlias); 663 VMMR3DECL(RTDBGAS) DBGFR3AsQueryByName(PUVM pUVM, const char *pszName); 664 VMMR3DECL(RTDBGAS) DBGFR3AsQueryByPid(PUVM pUVM, RTPROCESS ProcId); 665 666 VMMR3DECL(int) DBGFR3AsLoadImage(PUVM pUVM, RTDBGAS hDbgAs, const char *pszFilename, const char *pszModName, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, uint32_t fFlags); 667 VMMR3DECL(int) DBGFR3AsLoadMap(PUVM pUVM, RTDBGAS hDbgAs, const char *pszFilename, const char *pszModName, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, RTGCUINTPTR uSubtrahend, uint32_t fFlags); 668 VMMR3DECL(int) DBGFR3AsLinkModule(PUVM pUVM, RTDBGAS hDbgAs, RTDBGMOD hMod, PCDBGFADDRESS pModAddress, RTDBGSEGIDX iModSeg, uint32_t fFlags); 669 670 VMMR3DECL(int) DBGFR3AsSymbolByAddr(PUVM pUVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress, PRTGCINTPTR poffDisp, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod); 671 VMMR3DECL(PRTDBGSYMBOL) DBGFR3AsSymbolByAddrA(PUVM pUVM, RTDBGAS hDbgAs, PCDBGFADDRESS pAddress, PRTGCINTPTR poffDisp, PRTDBGMOD phMod); 672 VMMR3DECL(int) DBGFR3AsSymbolByName(PUVM pUVM, RTDBGAS hDbgAs, const char *pszSymbol, PRTDBGSYMBOL pSymbol, PRTDBGMOD phMod); 669 673 670 674 /* The following are soon to be obsoleted: */ 671 VMMR3DECL(int) DBGFR3ModuleLoad(P VM pVM, const char *pszFilename, RTGCUINTPTR AddressDelta, const char *pszName, RTGCUINTPTR ModuleAddress, unsigned cbImage);672 VMMR3 DECL(void)DBGFR3ModuleRelocate(PVM pVM, RTGCUINTPTR OldImageBase, RTGCUINTPTR NewImageBase, RTGCUINTPTR cbImage,675 VMMR3DECL(int) DBGFR3ModuleLoad(PUVM pUVM, const char *pszFilename, RTGCUINTPTR AddressDelta, const char *pszName, RTGCUINTPTR ModuleAddress, unsigned cbImage); 676 VMMR3_INT_DECL(void) DBGFR3ModuleRelocate(PVM pVM, RTGCUINTPTR OldImageBase, RTGCUINTPTR NewImageBase, RTGCUINTPTR cbImage, 673 677 const char *pszFilename, const char *pszName); 674 VMMR3 DECL(int)DBGFR3SymbolAdd(PVM pVM, RTGCUINTPTR ModuleAddress, RTGCUINTPTR SymbolAddress, RTUINT cbSymbol, const char *pszSymbol);675 VMMR3 DECL(int)DBGFR3SymbolByAddr(PVM pVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement, PDBGFSYMBOL pSymbol);676 VMMR3 DECL(int)DBGFR3SymbolByName(PVM pVM, const char *pszSymbol, PDBGFSYMBOL pSymbol);677 678 VMMR3DECL(int) DBGFR3LineByAddr(P VM pVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement, PDBGFLINE pLine);679 VMMR3DECL(PDBGFLINE) DBGFR3LineByAddrAlloc(P VM pVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement);680 VMMR3 DECL(void)DBGFR3LineFree(PDBGFLINE pLine);678 VMMR3_INT_DECL(int) DBGFR3SymbolAdd(PVM pVM, RTGCUINTPTR ModuleAddress, RTGCUINTPTR SymbolAddress, RTUINT cbSymbol, const char *pszSymbol); 679 VMMR3_INT_DECL(int) DBGFR3SymbolByAddr(PVM pVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement, PDBGFSYMBOL pSymbol); 680 VMMR3_INT_DECL(int) DBGFR3SymbolByName(PVM pVM, const char *pszSymbol, PDBGFSYMBOL pSymbol); 681 682 VMMR3DECL(int) DBGFR3LineByAddr(PUVM pUVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement, PDBGFLINE pLine); 683 VMMR3DECL(PDBGFLINE) DBGFR3LineByAddrAlloc(PUVM pUVM, RTGCUINTPTR Address, PRTGCINTPTR poffDisplacement); 684 VMMR3_INT_DECL(void) DBGFR3LineFree(PDBGFLINE pLine); 681 685 682 686 #endif /* IN_RING3 */ … … 848 852 /** @} */ 849 853 850 VMMR3DECL(int) DBGFR3StackWalkBegin(PVM pVM, VMCPUID idCpu, DBGFCODETYPE enmCodeType, PCDBGFSTACKFRAME *ppFirstFrame); 851 VMMR3DECL(int) DBGFR3StackWalkBeginEx(PVM pVM, VMCPUID idCpu, DBGFCODETYPE enmCodeType, PCDBGFADDRESS pAddrFrame, 854 VMMR3DECL(int) DBGFR3StackWalkBegin(PUVM pUVM, VMCPUID idCpu, DBGFCODETYPE enmCodeType, 855 PCDBGFSTACKFRAME *ppFirstFrame); 856 VMMR3DECL(int) DBGFR3StackWalkBeginEx(PUVM pUVM, VMCPUID idCpu, DBGFCODETYPE enmCodeType, PCDBGFADDRESS pAddrFrame, 852 857 PCDBGFADDRESS pAddrStack,PCDBGFADDRESS pAddrPC, 853 858 DBGFRETURNTYPE enmReturnType, PCDBGFSTACKFRAME *ppFirstFrame); … … 893 898 #define DBGF_SEL_FLAT 1 894 899 895 VMMR3DECL(int) DBGFR3DisasInstrEx(PVM pVM, VMCPUID idCpu, RTSEL Sel, RTGCPTR GCPtr, uint32_t fFlags,896 char *pszOutput, uint32_t cbOutput, uint32_t *pcbInstr);897 VMMR3 DECL(int) DBGFR3DisasInstrCurrent(PVMCPU pVCpu, char *pszOutput, uint32_t cbOutput);898 VMMR3DECL(int) DBGFR3DisasInstrCurrentLogInternal(PVMCPU pVCpu, const char *pszPrefix);900 VMMR3DECL(int) DBGFR3DisasInstrEx(PUVM pUVM, VMCPUID idCpu, RTSEL Sel, RTGCPTR GCPtr, uint32_t fFlags, 901 char *pszOutput, uint32_t cbOutput, uint32_t *pcbInstr); 902 VMMR3_INT_DECL(int) DBGFR3DisasInstrCurrent(PVMCPU pVCpu, char *pszOutput, uint32_t cbOutput); 903 VMMR3DECL(int) DBGFR3DisasInstrCurrentLogInternal(PVMCPU pVCpu, const char *pszPrefix); 899 904 900 905 /** @def DBGFR3DisasInstrCurrentLog … … 903 908 */ 904 909 #ifdef LOG_ENABLED 905 # define DBGFR3 DisasInstrCurrentLog(pVCpu, pszPrefix) \910 # define DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, pszPrefix) \ 906 911 do { \ 907 912 if (LogIsEnabled()) \ … … 909 914 } while (0) 910 915 #else 911 # define DBGFR3 DisasInstrCurrentLog(pVCpu, pszPrefix) do { } while (0)916 # define DBGFR3_DISAS_INSTR_CUR_LOG(pVCpu, pszPrefix) do { } while (0) 912 917 #endif 913 918 … … 920 925 */ 921 926 # ifdef LOG_ENABLED 922 # define DBGFR3 DisasInstrLog(pVCpu, Sel, GCPtr, pszPrefix) \927 # define DBGFR3_DISAS_INSTR_LOG(pVCpu, Sel, GCPtr, pszPrefix) \ 923 928 do { \ 924 929 if (LogIsEnabled()) \ … … 926 931 } while (0) 927 932 # else 928 # define DBGFR3 DisasInstrLog(pVCpu, Sel, GCPtr, pszPrefix) do { } while (0)933 # define DBGFR3_DISAS_INSTR_LOG(pVCpu, Sel, GCPtr, pszPrefix) do { } while (0) 929 934 # endif 930 935 #endif … … 932 937 933 938 #ifdef IN_RING3 934 VMMR3DECL(int) DBGFR3MemScan(P VM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, RTGCUINTPTR cbRange, RTGCUINTPTR uAlign,939 VMMR3DECL(int) DBGFR3MemScan(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, RTGCUINTPTR cbRange, RTGCUINTPTR uAlign, 935 940 const void *pvNeedle, size_t cbNeedle, PDBGFADDRESS pHitAddress); 936 VMMR3DECL(int) DBGFR3MemRead(P VM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void *pvBuf, size_t cbRead);937 VMMR3DECL(int) DBGFR3MemReadString(P VM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, char *pszBuf, size_t cbBuf);938 VMMR3DECL(int) DBGFR3MemWrite(P VM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void const *pvBuf, size_t cbRead);941 VMMR3DECL(int) DBGFR3MemRead(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void *pvBuf, size_t cbRead); 942 VMMR3DECL(int) DBGFR3MemReadString(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, char *pszBuf, size_t cbBuf); 943 VMMR3DECL(int) DBGFR3MemWrite(PUVM pUVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void const *pvBuf, size_t cbRead); 939 944 #endif 940 945 … … 981 986 #define DBGFPGDMP_FLAGS_MODE_MASK UINT32_C(0x00000f32) 982 987 /** @} */ 983 VMMDECL(int) DBGFR3PagingDumpEx(P VM pVM, VMCPUID idCpu, uint32_t fFlags, uint64_t cr3, uint64_t u64FirstAddr,988 VMMDECL(int) DBGFR3PagingDumpEx(PUVM pUVM, VMCPUID idCpu, uint32_t fFlags, uint64_t cr3, uint64_t u64FirstAddr, 984 989 uint64_t u64LastAddr, uint32_t cMaxDepth, PCDBGFINFOHLP pHlp); 985 990 … … 995 1000 #define DBGFSELQI_FLAGS_DT_ADJ_64BIT_MODE UINT32_C(2) 996 1001 /** @} */ 997 VMMR3DECL(int) DBGFR3SelQueryInfo(P VM pVM, VMCPUID idCpu, RTSEL Sel, uint32_t fFlags, PDBGFSELINFO pSelInfo);1002 VMMR3DECL(int) DBGFR3SelQueryInfo(PUVM pUVM, VMCPUID idCpu, RTSEL Sel, uint32_t fFlags, PDBGFSELINFO pSelInfo); 998 1003 999 1004 … … 1432 1437 #define DBGFREG_HYPER_VMCPUID UINT32_C(0x01000000) 1433 1438 1434 VMMR3DECL(int) DBGFR3RegCpuQueryU8( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t *pu8);1435 VMMR3DECL(int) DBGFR3RegCpuQueryU16( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t *pu16);1436 VMMR3DECL(int) DBGFR3RegCpuQueryU32( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t *pu32);1437 VMMR3DECL(int) DBGFR3RegCpuQueryU64( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64);1438 VMMR3DECL(int) DBGFR3RegCpuQueryU128(P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t *pu128);1439 VMMR3DECL(int) DBGFR3RegCpuQueryLrd( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, long double *plrd);1440 VMMR3DECL(int) DBGFR3RegCpuQueryXdtr(P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64Base, uint16_t *pu16Limit);1439 VMMR3DECL(int) DBGFR3RegCpuQueryU8( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t *pu8); 1440 VMMR3DECL(int) DBGFR3RegCpuQueryU16( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t *pu16); 1441 VMMR3DECL(int) DBGFR3RegCpuQueryU32( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t *pu32); 1442 VMMR3DECL(int) DBGFR3RegCpuQueryU64( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64); 1443 VMMR3DECL(int) DBGFR3RegCpuQueryU128(PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t *pu128); 1444 VMMR3DECL(int) DBGFR3RegCpuQueryLrd( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, long double *plrd); 1445 VMMR3DECL(int) DBGFR3RegCpuQueryXdtr(PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t *pu64Base, uint16_t *pu16Limit); 1441 1446 #if 0 1442 VMMR3DECL(int) DBGFR3RegCpuQueryBatch(P VM pVM,VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs);1443 VMMR3DECL(int) DBGFR3RegCpuQueryAll( P VM pVM, VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs);1444 1445 VMMR3DECL(int) DBGFR3RegCpuSetU8( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t u8);1446 VMMR3DECL(int) DBGFR3RegCpuSetU16( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t u16);1447 VMMR3DECL(int) DBGFR3RegCpuSetU32( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t u32);1448 VMMR3DECL(int) DBGFR3RegCpuSetU64( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t u64);1449 VMMR3DECL(int) DBGFR3RegCpuSetU128( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t u128);1450 VMMR3DECL(int) DBGFR3RegCpuSetLrd( P VM pVM, VMCPUID idCpu, DBGFREG enmReg, long double lrd);1451 VMMR3DECL(int) DBGFR3RegCpuSetBatch( P VM pVM, VMCPUID idCpu, PCDBGFREGENTRY paRegs, size_t cRegs);1447 VMMR3DECL(int) DBGFR3RegCpuQueryBatch(PUVM pUVM,VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs); 1448 VMMR3DECL(int) DBGFR3RegCpuQueryAll( PUVM pUVM, VMCPUID idCpu, PDBGFREGENTRY paRegs, size_t cRegs); 1449 1450 VMMR3DECL(int) DBGFR3RegCpuSetU8( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint8_t u8); 1451 VMMR3DECL(int) DBGFR3RegCpuSetU16( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint16_t u16); 1452 VMMR3DECL(int) DBGFR3RegCpuSetU32( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint32_t u32); 1453 VMMR3DECL(int) DBGFR3RegCpuSetU64( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint64_t u64); 1454 VMMR3DECL(int) DBGFR3RegCpuSetU128( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, uint128_t u128); 1455 VMMR3DECL(int) DBGFR3RegCpuSetLrd( PUVM pUVM, VMCPUID idCpu, DBGFREG enmReg, long double lrd); 1456 VMMR3DECL(int) DBGFR3RegCpuSetBatch( PUVM pUVM, VMCPUID idCpu, PCDBGFREGENTRY paRegs, size_t cRegs); 1452 1457 #endif 1453 1458 1454 VMMR3DECL(const char *) DBGFR3RegCpuName(P VM pVM, DBGFREG enmReg, DBGFREGVALTYPE enmType);1459 VMMR3DECL(const char *) DBGFR3RegCpuName(PUVM pUVM, DBGFREG enmReg, DBGFREGVALTYPE enmType); 1455 1460 1456 1461 VMMR3_INT_DECL(int) DBGFR3RegRegisterCpu(PVM pVM, PVMCPU pVCpu, PCDBGFREGDESC paRegisters, bool fGuestRegs); 1457 VMMR3 DECL(int)DBGFR3RegRegisterDevice(PVM pVM, PCDBGFREGDESC paRegisters, PPDMDEVINS pDevIns, const char *pszPrefix, uint32_t iInstance);1462 VMMR3_INT_DECL(int) DBGFR3RegRegisterDevice(PVM pVM, PCDBGFREGDESC paRegisters, PPDMDEVINS pDevIns, const char *pszPrefix, uint32_t iInstance); 1458 1463 1459 1464 /** … … 1474 1479 typedef DBGFREGENTRYNM const *PCDBGFREGENTRYNM; 1475 1480 1476 VMMR3DECL(int) DBGFR3RegNmValidate( P VM pVM, VMCPUID idDefCpu, const char *pszReg);1477 1478 VMMR3DECL(int) DBGFR3RegNmQuery( P VM pVM, VMCPUID idDefCpu, const char *pszReg, PDBGFREGVAL pValue, PDBGFREGVALTYPE penmType);1479 VMMR3DECL(int) DBGFR3RegNmQueryU8( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint8_t *pu8);1480 VMMR3DECL(int) DBGFR3RegNmQueryU16( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint16_t *pu16);1481 VMMR3DECL(int) DBGFR3RegNmQueryU32( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint32_t *pu32);1482 VMMR3DECL(int) DBGFR3RegNmQueryU64( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint64_t *pu64);1483 VMMR3DECL(int) DBGFR3RegNmQueryU128(P VM pVM, VMCPUID idDefCpu, const char *pszReg, PRTUINT128U pu128);1484 /*VMMR3DECL(int) DBGFR3RegNmQueryLrd( P VM pVM, VMCPUID idDefCpu, const char *pszReg, long double *plrd);*/1485 VMMR3DECL(int) DBGFR3RegNmQueryXdtr(P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint64_t *pu64Base, uint16_t *pu16Limit);1486 VMMR3DECL(int) DBGFR3RegNmQueryBatch(P VM pVM,VMCPUID idDefCpu, PDBGFREGENTRYNM paRegs, size_t cRegs);1487 VMMR3DECL(int) DBGFR3RegNmQueryAllCount(P VM pVM, size_t *pcRegs);1488 VMMR3DECL(int) DBGFR3RegNmQueryAll( P VM pVM, PDBGFREGENTRYNM paRegs, size_t cRegs);1489 1490 VMMR3DECL(int) DBGFR3RegNmSet( P VM pVM, VMCPUID idDefCpu, const char *pszReg, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType);1491 VMMR3DECL(int) DBGFR3RegNmSetU8( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint8_t u8);1492 VMMR3DECL(int) DBGFR3RegNmSetU16( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint16_t u16);1493 VMMR3DECL(int) DBGFR3RegNmSetU32( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint32_t u32);1494 VMMR3DECL(int) DBGFR3RegNmSetU64( P VM pVM, VMCPUID idDefCpu, const char *pszReg, uint64_t u64);1495 VMMR3DECL(int) DBGFR3RegNmSetU128( P VM pVM, VMCPUID idDefCpu, const char *pszReg, RTUINT128U u128);1496 VMMR3DECL(int) DBGFR3RegNmSetLrd( P VM pVM, VMCPUID idDefCpu, const char *pszReg, long double lrd);1497 VMMR3DECL(int) DBGFR3RegNmSetBatch( P VM pVM, VMCPUID idDefCpu, PCDBGFREGENTRYNM paRegs, size_t cRegs);1481 VMMR3DECL(int) DBGFR3RegNmValidate( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg); 1482 1483 VMMR3DECL(int) DBGFR3RegNmQuery( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, PDBGFREGVAL pValue, PDBGFREGVALTYPE penmType); 1484 VMMR3DECL(int) DBGFR3RegNmQueryU8( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint8_t *pu8); 1485 VMMR3DECL(int) DBGFR3RegNmQueryU16( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint16_t *pu16); 1486 VMMR3DECL(int) DBGFR3RegNmQueryU32( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint32_t *pu32); 1487 VMMR3DECL(int) DBGFR3RegNmQueryU64( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint64_t *pu64); 1488 VMMR3DECL(int) DBGFR3RegNmQueryU128(PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, PRTUINT128U pu128); 1489 /*VMMR3DECL(int) DBGFR3RegNmQueryLrd( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, long double *plrd);*/ 1490 VMMR3DECL(int) DBGFR3RegNmQueryXdtr(PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint64_t *pu64Base, uint16_t *pu16Limit); 1491 VMMR3DECL(int) DBGFR3RegNmQueryBatch(PUVM pUVM,VMCPUID idDefCpu, PDBGFREGENTRYNM paRegs, size_t cRegs); 1492 VMMR3DECL(int) DBGFR3RegNmQueryAllCount(PUVM pUVM, size_t *pcRegs); 1493 VMMR3DECL(int) DBGFR3RegNmQueryAll( PUVM pUVM, PDBGFREGENTRYNM paRegs, size_t cRegs); 1494 1495 VMMR3DECL(int) DBGFR3RegNmSet( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, PCDBGFREGVAL pValue, DBGFREGVALTYPE enmType); 1496 VMMR3DECL(int) DBGFR3RegNmSetU8( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint8_t u8); 1497 VMMR3DECL(int) DBGFR3RegNmSetU16( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint16_t u16); 1498 VMMR3DECL(int) DBGFR3RegNmSetU32( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint32_t u32); 1499 VMMR3DECL(int) DBGFR3RegNmSetU64( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, uint64_t u64); 1500 VMMR3DECL(int) DBGFR3RegNmSetU128( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, RTUINT128U u128); 1501 VMMR3DECL(int) DBGFR3RegNmSetLrd( PUVM pUVM, VMCPUID idDefCpu, const char *pszReg, long double lrd); 1502 VMMR3DECL(int) DBGFR3RegNmSetBatch( PUVM pUVM, VMCPUID idDefCpu, PCDBGFREGENTRYNM paRegs, size_t cRegs); 1498 1503 1499 1504 /** @todo add enumeration methods. */ 1500 1505 1501 VMMR3DECL(int) DBGFR3RegPrintf( P VM pVM, VMCPUID idDefCpu, char *pszBuf, size_t cbBuf, const char *pszFormat, ...);1502 VMMR3DECL(int) DBGFR3RegPrintfV(P VM pVM, VMCPUID idDefCpu, char *pszBuf, size_t cbBuf, const char *pszFormat, va_list va);1506 VMMR3DECL(int) DBGFR3RegPrintf( PUVM pUVM, VMCPUID idDefCpu, char *pszBuf, size_t cbBuf, const char *pszFormat, ...); 1507 VMMR3DECL(int) DBGFR3RegPrintfV(PUVM pUVM, VMCPUID idDefCpu, char *pszBuf, size_t cbBuf, const char *pszFormat, va_list va); 1503 1508 1504 1509 … … 1548 1553 * 1549 1554 * @returns VBox status code. 1550 * @param p VM Pointer to the shared VM structure.1555 * @param pUVM The user mode VM handle. 1551 1556 * @param pvData Pointer to the instance data. 1552 1557 */ 1553 DECLCALLBACKMEMBER(int, pfnConstruct)(P VM pVM, void *pvData);1558 DECLCALLBACKMEMBER(int, pfnConstruct)(PUVM pUVM, void *pvData); 1554 1559 1555 1560 /** 1556 1561 * Destroys the instance. 1557 1562 * 1558 * @param p VM Pointer to the shared VM structure.1563 * @param pUVM The user mode VM handle. 1559 1564 * @param pvData Pointer to the instance data. 1560 1565 */ 1561 DECLCALLBACKMEMBER(void, pfnDestruct)(P VM pVM, void *pvData);1566 DECLCALLBACKMEMBER(void, pfnDestruct)(PUVM pUVM, void *pvData); 1562 1567 1563 1568 /** … … 1568 1573 * 1569 1574 * @returns true if is an OS handled by this module, otherwise false. 1570 * @param p VM Pointer to the shared VM structure.1575 * @param pUVM The user mode VM handle. 1571 1576 * @param pvData Pointer to the instance data. 1572 1577 */ 1573 DECLCALLBACKMEMBER(bool, pfnProbe)(P VM pVM, void *pvData);1578 DECLCALLBACKMEMBER(bool, pfnProbe)(PUVM pUVM, void *pvData); 1574 1579 1575 1580 /** … … 1579 1584 * 1580 1585 * @returns VBox status code. 1581 * @param p VM Pointer to the shared VM structure.1586 * @param pUVM The user mode VM handle. 1582 1587 * @param pvData Pointer to the instance data. 1583 1588 */ 1584 DECLCALLBACKMEMBER(int, pfnInit)(P VM pVM, void *pvData);1589 DECLCALLBACKMEMBER(int, pfnInit)(PUVM pUVM, void *pvData); 1585 1590 1586 1591 /** … … 1590 1595 * 1591 1596 * @returns VBox status code. 1592 * @param p VM Pointer to the shared VM structure.1597 * @param pUVM The user mode VM handle. 1593 1598 * @param pvData Pointer to the instance data. 1594 1599 */ 1595 DECLCALLBACKMEMBER(int, pfnRefresh)(P VM pVM, void *pvData);1600 DECLCALLBACKMEMBER(int, pfnRefresh)(PUVM pUVM, void *pvData); 1596 1601 1597 1602 /** … … 1601 1606 * This is called after pfnProbe and if needed before pfnDestruct. 1602 1607 * 1603 * @param p VM Pointer to the shared VM structure.1608 * @param pUVM The user mode VM handle. 1604 1609 * @param pvData Pointer to the instance data. 1605 1610 */ 1606 DECLCALLBACKMEMBER(void, pfnTerm)(P VM pVM, void *pvData);1611 DECLCALLBACKMEMBER(void, pfnTerm)(PUVM pUVM, void *pvData); 1607 1612 1608 1613 /** … … 1612 1617 * 1613 1618 * @returns VBox status code. 1614 * @param p VM Pointer to the shared VM structure.1619 * @param pUVM The user mode VM handle. 1615 1620 * @param pvData Pointer to the instance data. 1616 1621 * @param pszVersion Where to store the version string. 1617 1622 * @param cchVersion The size of the version string buffer. 1618 1623 */ 1619 DECLCALLBACKMEMBER(int, pfnQueryVersion)(P VM pVM, void *pvData, char *pszVersion, size_t cchVersion);1624 DECLCALLBACKMEMBER(int, pfnQueryVersion)(PUVM pUVM, void *pvData, char *pszVersion, size_t cchVersion); 1620 1625 1621 1626 /** … … 1625 1630 * 1626 1631 * @returns Pointer to the interface if available, NULL if not available. 1627 * @param p VM Pointer to the shared VM structure.1632 * @param pUVM The user mode VM handle. 1628 1633 * @param pvData Pointer to the instance data. 1629 1634 * @param enmIf The interface identifier. 1630 1635 */ 1631 DECLCALLBACKMEMBER(void *, pfnQueryInterface)(P VM pVM, void *pvData, DBGFOSINTERFACE enmIf);1636 DECLCALLBACKMEMBER(void *, pfnQueryInterface)(PUVM pUVM, void *pvData, DBGFOSINTERFACE enmIf); 1632 1637 1633 1638 /** Trailing magic (DBGFOSREG_MAGIC). */ … … 1642 1647 #define DBGFOSREG_MAGIC 0x19830808 1643 1648 1644 VMMR3DECL(int) DBGFR3OSRegister(P VM pVM, PCDBGFOSREG pReg);1645 VMMR3DECL(int) DBGFR3OSDeregister(P VM pVM, PCDBGFOSREG pReg);1646 VMMR3DECL(int) DBGFR3OSDetect(P VM pVM, char *pszName, size_t cchName);1647 VMMR3DECL(int) DBGFR3OSQueryNameAndVersion(P VM pVM, char *pszName, size_t cchName, char *pszVersion, size_t cchVersion);1648 VMMR3DECL(void *) DBGFR3OSQueryInterface(P VM pVM, DBGFOSINTERFACE enmIf);1649 1650 1651 VMMR3DECL(int) DBGFR3CoreWrite(P VM pVM, const char *pszFilename, bool fReplaceFile);1649 VMMR3DECL(int) DBGFR3OSRegister(PUVM pUVM, PCDBGFOSREG pReg); 1650 VMMR3DECL(int) DBGFR3OSDeregister(PUVM pUVM, PCDBGFOSREG pReg); 1651 VMMR3DECL(int) DBGFR3OSDetect(PUVM pUVM, char *pszName, size_t cchName); 1652 VMMR3DECL(int) DBGFR3OSQueryNameAndVersion(PUVM pUVM, char *pszName, size_t cchName, char *pszVersion, size_t cchVersion); 1653 VMMR3DECL(void *) DBGFR3OSQueryInterface(PUVM pUVM, DBGFOSINTERFACE enmIf); 1654 1655 1656 VMMR3DECL(int) DBGFR3CoreWrite(PUVM pUVM, const char *pszFilename, bool fReplaceFile); 1652 1657 1653 1658 /** @} */ -
trunk/include/VBox/vmm/pgm.h
r44347 r44399 4 4 5 5 /* 6 * Copyright (C) 2006-201 0Oracle Corporation6 * Copyright (C) 2006-2013 Oracle Corporation 7 7 * 8 8 * This file is part of VirtualBox Open Source Edition (OSE), as … … 555 555 VMMR3DECL(int) PGMR3CheckIntegrity(PVM pVM); 556 556 557 VMMR3DECL(int) PGMR3DbgR3Ptr2GCPhys(P VM pVM, RTR3PTR R3Ptr, PRTGCPHYS pGCPhys);558 VMMR3DECL(int) PGMR3DbgR3Ptr2HCPhys(P VM pVM, RTR3PTR R3Ptr, PRTHCPHYS pHCPhys);559 VMMR3DECL(int) PGMR3DbgHCPhys2GCPhys(P VM pVM, RTHCPHYS HCPhys, PRTGCPHYS pGCPhys);560 VMMR3 DECL(int)PGMR3DbgReadGCPhys(PVM pVM, void *pvDst, RTGCPHYS GCPhysSrc, size_t cb, uint32_t fFlags, size_t *pcbRead);561 VMMR3 DECL(int)PGMR3DbgWriteGCPhys(PVM pVM, RTGCPHYS GCPhysDst, const void *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten);562 VMMR3 DECL(int)PGMR3DbgReadGCPtr(PVM pVM, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, uint32_t fFlags, size_t *pcbRead);563 VMMR3 DECL(int)PGMR3DbgWriteGCPtr(PVM pVM, RTGCPTR GCPtrDst, void const *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten);564 VMMR3 DECL(int)PGMR3DbgScanPhysical(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cbRange, RTGCPHYS GCPhysAlign, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCPHYS pGCPhysHit);565 VMMR3 DECL(int)PGMR3DbgScanVirtual(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, RTGCPTR cbRange, RTGCPTR GCPtrAlign, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPhysHit);557 VMMR3DECL(int) PGMR3DbgR3Ptr2GCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTGCPHYS pGCPhys); 558 VMMR3DECL(int) PGMR3DbgR3Ptr2HCPhys(PUVM pUVM, RTR3PTR R3Ptr, PRTHCPHYS pHCPhys); 559 VMMR3DECL(int) PGMR3DbgHCPhys2GCPhys(PUVM pUVM, RTHCPHYS HCPhys, PRTGCPHYS pGCPhys); 560 VMMR3_INT_DECL(int) PGMR3DbgReadGCPhys(PVM pVM, void *pvDst, RTGCPHYS GCPhysSrc, size_t cb, uint32_t fFlags, size_t *pcbRead); 561 VMMR3_INT_DECL(int) PGMR3DbgWriteGCPhys(PVM pVM, RTGCPHYS GCPhysDst, const void *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten); 562 VMMR3_INT_DECL(int) PGMR3DbgReadGCPtr(PVM pVM, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, uint32_t fFlags, size_t *pcbRead); 563 VMMR3_INT_DECL(int) PGMR3DbgWriteGCPtr(PVM pVM, RTGCPTR GCPtrDst, void const *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten); 564 VMMR3_INT_DECL(int) PGMR3DbgScanPhysical(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cbRange, RTGCPHYS GCPhysAlign, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCPHYS pGCPhysHit); 565 VMMR3_INT_DECL(int) PGMR3DbgScanVirtual(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, RTGCPTR cbRange, RTGCPTR GCPtrAlign, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPhysHit); 566 566 VMMR3_INT_DECL(int) PGMR3DumpHierarchyShw(PVM pVM, uint64_t cr3, uint32_t fFlags, uint64_t u64FirstAddr, uint64_t u64LastAddr, uint32_t cMaxDepth, PCDBGFINFOHLP pHlp); 567 567 VMMR3_INT_DECL(int) PGMR3DumpHierarchyGst(PVM pVM, uint64_t cr3, uint32_t fFlags, RTGCPTR FirstAddr, RTGCPTR LastAddr, uint32_t cMaxDepth, PCDBGFINFOHLP pHlp); -
trunk/include/VBox/vmm/uvm.h
r39917 r44399 56 56 uint8_t padding[512]; 57 57 } vm; 58 59 /** The DBGF data. */ 60 union 61 { 62 #ifdef ___DBGFInternal_h 63 struct DBGFUSERPERVMCPU s; 64 #endif 65 uint8_t padding[64]; 66 } dbgf; 67 58 68 } UVMCPU; 59 69 AssertCompileMemberAlignment(UVMCPU, vm, 32); … … 127 137 } stam; 128 138 139 /** The DBGF data. */ 140 union 141 { 142 #ifdef ___DBGFInternal_h 143 struct DBGFUSERPERVM s; 144 #endif 145 uint8_t padding[256]; 146 } dbgf; 147 129 148 /** Per virtual CPU data. */ 130 149 UVMCPU aCpus[1]; -
trunk/include/VBox/vmm/vmapi.h
r44393 r44399 105 105 typedef FNVMATERROR *PFNVMATERROR; 106 106 107 VMMDECL(int) VMSetError(PVM pVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...);108 VMMDECL(int) VMSetErrorV(PVM pVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list args);107 VMMDECL(int) VMSetError(PVM pVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 108 VMMDECL(int) VMSetErrorV(PVM pVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list args); 109 109 110 110 /** @def VM_SET_ERROR … … 122 122 */ 123 123 #define VM_SET_ERROR(pVM, rc, pszMessage) (VMSetError(pVM, rc, RT_SRC_POS, pszMessage)) 124 125 /** @def VM_SET_ERROR 126 * Macro for setting a simple VM error message. 127 * Don't use '%' in the message! 128 * 129 * @returns rc. Meaning you can do: 130 * @code 131 * return VM_SET_ERROR(pVM, VERR_OF_YOUR_CHOICE, "descriptive message"); 132 * @endcode 133 * @param pVM VM handle. 134 * @param rc VBox status code. 135 * @param pszMessage Error message string. 136 * @thread Any 137 */ 138 #define VM_SET_ERROR_U(a_pUVM, a_rc, a_pszMessage) (VMR3SetError(a_pUVM, a_rc, RT_SRC_POS, a_pszMessage)) 124 139 125 140 … … 366 381 VMMR3DECL(int) VMR3AtErrorRegister(PUVM pUVM, PFNVMATERROR pfnAtError, void *pvUser); 367 382 VMMR3DECL(int) VMR3AtErrorDeregister(PUVM pUVM, PFNVMATERROR pfnAtError, void *pvUser); 383 VMMR3DECL(int) VMR3SetError(PUVM pUVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, ...); 384 VMMR3DECL(int) VMR3SetErrorV(PUVM pUVM, int rc, RT_SRC_POS_DECL, const char *pszFormat, va_list va); 368 385 VMMR3_INT_DECL(void) VMR3SetErrorWorker(PVM pVM); 369 386 VMMR3_INT_DECL(uint32_t) VMR3GetErrorCount(PUVM pUVM);
Note:
See TracChangeset
for help on using the changeset viewer.