VirtualBox

Changeset 19286 in vbox for trunk/include/VBox


Ignore:
Timestamp:
May 1, 2009 12:41:07 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
46737
Message:

VMM,VBoxDbg: SMP refactoring, part 1.

Location:
trunk/include/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/dbgf.h

    r19182 r19286  
    4646
    4747#ifdef IN_RC
    48 /** @addgroup grp_dbgf_gc  The GC DBGF API
     48/** @addgroup grp_dbgf_gc  The RC DBGF API
    4949 * @ingroup grp_dbgf
    5050 * @{
    5151 */
    52 VMMRCDECL(int) DBGFGCTrap01Handler(PVM pVM, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6);
    53 VMMRCDECL(int) DBGFGCTrap03Handler(PVM pVM, PCPUMCTXCORE pRegFrame);
     52VMMRCDECL(int) DBGFGCTrap01Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6);
     53VMMRCDECL(int) DBGFGCTrap03Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);
    5454/** @} */
    5555#endif
     
    6060 * @{
    6161 */
    62 VMMR0DECL(int) DBGFR0Trap01Handler(PVM pVM, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6);
    63 VMMR0DECL(int) DBGFR0Trap03Handler(PVM pVM, PCPUMCTXCORE pRegFrame);
     62VMMR0DECL(int) DBGFR0Trap01Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCUINTREG uDr6);
     63VMMR0DECL(int) DBGFR0Trap03Handler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame);
    6464/** @} */
    6565#endif
     
    124124/** @} */
    125125
    126 VMMR3DECL(int)  DBGFR3AddrFromSelOff(PVM pVM, PDBGFADDRESS pAddress, RTSEL Sel, RTUINTPTR off);
     126VMMR3DECL(int)  DBGFR3AddrFromSelOff(PVM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, RTSEL Sel, RTUINTPTR off);
    127127VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromFlat(PVM pVM, PDBGFADDRESS pAddress, RTGCUINTPTR FlatPtr);
    128 VMMR3DECL(void) DBGFR3AddrFromPhys(PVM pVM, PDBGFADDRESS pAddress, RTGCPHYS PhysAddr);
     128VMMR3DECL(PDBGFADDRESS) DBGFR3AddrFromPhys(PVM pVM, PDBGFADDRESS pAddress, RTGCPHYS PhysAddr);
    129129VMMR3DECL(bool) DBGFR3AddrIsValid(PVM pVM, PCDBGFADDRESS pAddress);
    130 VMMR3DECL(int)  DBGFR3AddrToPhys(PVMCPU pVCpu, PDBGFADDRESS pAddress, PRTGCPHYS pGCPhys);
    131 VMMR3DECL(int)  DBGFR3AddrToHostPhys(PVMCPU pVCpu, PDBGFADDRESS pAddress, PRTHCPHYS pHCPhys);
    132 VMMR3DECL(int)  DBGFR3AddrToVolatileR3Ptr(PVMCPU pVCpu, PDBGFADDRESS pAddress, bool fReadOnly, void **ppvR3Ptr);
     130VMMR3DECL(int)  DBGFR3AddrToPhys(PVM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTGCPHYS pGCPhys);
     131VMMR3DECL(int)  DBGFR3AddrToHostPhys(PVM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, PRTHCPHYS pHCPhys);
     132VMMR3DECL(int)  DBGFR3AddrToVolatileR3Ptr(PVM pVM, VMCPUID idCpu, PDBGFADDRESS pAddress, bool fReadOnly, void **ppvR3Ptr);
     133VMMR3DECL(PDBGFADDRESS) DBGFR3AddrAdd(PDBGFADDRESS pAddress, RTGCUINTPTR uAddend);
     134VMMR3DECL(PDBGFADDRESS) DBGFR3AddrSub(PDBGFADDRESS pAddress, RTGCUINTPTR uSubtrahend);
    133135
    134136
     
    302304VMMR3DECL(bool) DBGFR3CanWait(PVM pVM);
    303305VMMR3DECL(int)  DBGFR3Resume(PVM pVM);
    304 VMMR3DECL(int)  DBGFR3Step(PVM pVM);
    305 VMMR3DECL(int)  DBGFR3PrgStep(PVM pVM);
     306VMMR3DECL(int)  DBGFR3Step(PVM pVM, VMCPUID idCpu);
     307VMMR3DECL(int)  DBGFR3PrgStep(PVMCPU pVCpu);
    306308
    307309
     
    388390VMMR3DECL(int)  DBGFR3BpSet(PVM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, PRTUINT piBp);
    389391VMMR3DECL(int)  DBGFR3BpSetReg(PVM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable,
    390                                    uint8_t fType, uint8_t cb, PRTUINT piBp);
     392                               uint8_t fType, uint8_t cb, PRTUINT piBp);
    391393VMMR3DECL(int)  DBGFR3BpSetREM(PVM pVM, PCDBGFADDRESS pAddress, uint64_t iHitTrigger, uint64_t iHitDisable, PRTUINT piBp);
    392394VMMR3DECL(int)  DBGFR3BpClear(PVM pVM, RTUINT iBp);
     
    412414VMMDECL(RTGCUINTREG)    DBGFBpGetDR2(PVM pVM);
    413415VMMDECL(RTGCUINTREG)    DBGFBpGetDR3(PVM pVM);
    414 VMMDECL(bool)           DBGFIsStepping(PVM pVM);
     416VMMDECL(bool)           DBGFIsStepping(PVMCPU pVCpu);
    415417
    416418
     
    778780 * All registers and data will be displayed. Addresses will be attempted resolved to symbols.
    779781 */
     782/** @todo SMP */
    780783#ifdef LOG_ENABLED
    781784# define DBGFR3DisasInstrCurrentLog(pVM, pszPrefix) \
     
    805808
    806809
    807 VMMR3DECL(int) DBGFR3MemScan(PVM pVM, PCDBGFADDRESS pAddress, RTGCUINTPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PDBGFADDRESS pHitAddress);
    808 VMMR3DECL(int) DBGFR3MemRead(PVM pVM, PCDBGFADDRESS pAddress, void *pvBuf, size_t cbRead);
    809 VMMR3DECL(int) DBGFR3MemReadString(PVM pVM, PCDBGFADDRESS pAddress, char *pszBuf, size_t cbBuf);
    810 VMMR3DECL(int) DBGFR3ReadGCVirt(PVM pVM, PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtr, size_t cb);
    811 VMMR3DECL(int) DBGFR3WriteGCVirt(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc, size_t cb);
     810VMMR3DECL(int) DBGFR3MemScan(PVM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, RTGCUINTPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PDBGFADDRESS pHitAddress);
     811VMMR3DECL(int) DBGFR3MemRead(PVM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void *pvBuf, size_t cbRead);
     812VMMR3DECL(int) DBGFR3MemReadString(PVM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, char *pszBuf, size_t cbBuf);
     813VMMR3DECL(int) DBGFR3MemWrite(PVM pVM, VMCPUID idCpu, PCDBGFADDRESS pAddress, void const *pvBuf, size_t cbRead);
    812814
    813815
  • trunk/include/VBox/pgm.h

    r19262 r19286  
    558558VMMR3DECL(int)      PGMR3DbgWriteGCPtr(PVM pVM, RTGCPTR GCPtrDst, void const *pvSrc, size_t cb, uint32_t fFlags, size_t *pcbWritten);
    559559VMMR3DECL(int)      PGMR3DbgScanPhysical(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCPHYS pGCPhysHit);
    560 VMMR3DECL(int)      PGMR3DbgScanVirtual(PVM pVM, RTGCPTR GCPtr, RTGCPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPhysHit);
     560VMMR3DECL(int)      PGMR3DbgScanVirtual(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, RTGCPTR cbRange, const uint8_t *pabNeedle, size_t cbNeedle, PRTGCUINTPTR pGCPhysHit);
    561561/** @} */
    562562#endif /* IN_RING3 */
  • trunk/include/VBox/vm.h

    r19274 r19286  
    117117        char                padding[4096];      /* multiple of 64 */
    118118    } cpum;
    119     /** VMM part. */
     119
     120    /** PGM part. */
     121    union
     122    {
     123#ifdef ___PGMInternal_h
     124        struct PGMCPU       s;
     125#endif
     126        char                padding[32*1024];   /* multiple of 64 */
     127    } pgm;
     128
     129    /** HWACCM part. */
     130    union
     131    {
     132#ifdef ___HWACCMInternal_h
     133        struct HWACCMCPU    s;
     134#endif
     135        char                padding[5120];      /* multiple of 64 */
     136    } hwaccm;
     137
     138    /** EM part. */
     139    union
     140    {
     141#ifdef ___EMInternal_h
     142        struct EMCPU        s;
     143#endif
     144        char                padding[2048];      /* multiple of 64 */
     145    } em;
     146
     147    /** TRPM part. */
     148    union
     149    {
     150#ifdef ___TRPMInternal_h
     151        struct TRPMCPU      s;
     152#endif
     153        char                padding[128];       /* multiple of 64 */
     154    } trpm;
     155
     156    /** TM part. */
     157    union
     158    {
     159#ifdef ___TMInternal_h
     160        struct TMCPU        s;
     161#endif
     162        char                padding[64];        /* multiple of 64 */
     163    } tm;
     164
     165    /** VMM part.
     166     * @todo Combine this with other tiny structures. */
    120167    union
    121168    {
     
    126173    } vmm;
    127174
    128     /** PGM part. */
    129     union
    130     {
    131 #ifdef ___PGMInternal_h
    132         struct PGMCPU       s;
    133 #endif
    134         char                padding[32*1024];       /* multiple of 64 */
    135     } pgm;
    136 
    137     /** HWACCM part. */
    138     union
    139     {
    140 #ifdef ___HWACCMInternal_h
    141         struct HWACCMCPU    s;
    142 #endif
    143         char                padding[5120];      /* multiple of 64 */
    144     } hwaccm;
    145 
    146     /** EM part. */
    147     union
    148     {
    149 #ifdef ___EMInternal_h
    150         struct EMCPU        s;
    151 #endif
    152         char                padding[2048];        /* multiple of 64 */
    153     } em;
    154 
    155     /** TRPM part. */
    156     union
    157     {
    158 #ifdef ___TRPMInternal_h
    159         struct TRPMCPU      s;
    160 #endif
    161         char                padding[64];        /* multiple of 64 */
    162     } trpm;
    163 
    164     /** TM part. */
    165     union
    166     {
    167 #ifdef ___TMInternal_h
    168         struct TMCPU        s;
    169 #endif
    170         char                padding[64];        /* multiple of 64 */
    171     } tm;
     175    /** DBGF part.
     176     * @todo Combine this with other tiny structures. */
     177    union
     178    {
     179#ifdef ___DBGFInternal_h
     180        struct DBGFCPU      s;
     181#endif
     182        uint8_t             padding[64];        /* multiple of 64 */
     183    } dbgf;
     184
    172185} VMCPU;
    173186
Note: See TracChangeset for help on using the changeset viewer.

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