VirtualBox

Changeset 45024 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Mar 13, 2013 3:58:02 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
84265
Message:

PDM,PGM,DevEFI,DevACPI,DevPcBios: Added memory setup phase after construction and reset to solve PGM/PDM reset order issue (PDM first, then PGM, only that wasn't possible previously since PDM reset would plant stuff in guest RAM).

Location:
trunk/include/VBox/vmm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmapi.h

    r44351 r45024  
    6868VMMR3_INT_DECL(void)    PDMR3ResetCpu(PVMCPU pVCpu);
    6969VMMR3_INT_DECL(void)    PDMR3Reset(PVM pVM);
     70VMMR3_INT_DECL(void)    PDMR3MemSetup(PVM pVM, bool fAtReset);
    7071VMMR3_INT_DECL(void)    PDMR3Suspend(PVM pVM);
    7172VMMR3_INT_DECL(void)    PDMR3Resume(PVM pVM);
  • trunk/include/VBox/vmm/pdmdev.h

    r44897 r45024  
    241241
    242242
     243/**
     244 * The context of a pfnMemSetup call.
     245 */
     246typedef enum PDMDEVMEMSETUPCTX
     247{
     248    /** Invalid zero value. */
     249    PDMDEVMEMSETUPCTX_INVALID = 0,
     250    /** After construction. */
     251    PDMDEVMEMSETUPCTX_AFTER_CONSTRUCTION,
     252    /** After reset. */
     253    PDMDEVMEMSETUPCTX_AFTER_RESET,
     254    /** Type size hack. */
     255    PDMDEVMEMSETUPCTX_32BIT_HACK = 0x7fffffff
     256} PDMDEVMEMSETUPCTX;
     257
    243258
    244259/**
     
    281296     * Critical section NOT entered. */
    282297    PFNPDMDEVRELOCATE   pfnRelocate;
    283     /** Unused member. (Was pfnIOCtl.) */
    284     PFNRT               pfnUnused;
     298
     299    /**
     300     * Memory setup callback.
     301     *
     302     * @param   pDevIns         The device instance data.
     303     * @param   enmCtx          Indicates the context of the call.
     304     * @remarks The critical section is entered prior to calling this method.
     305     */
     306    DECLR3CALLBACKMEMBER(void, pfnMemSetup, (PPDMDEVINS pDevIns, PDMDEVMEMSETUPCTX enmCtx));
     307
    285308    /** Power on notification - optional.
    286309     * Critical section is entered. */
     
    321344
    322345/** Current DEVREG version number. */
    323 #define PDM_DEVREG_VERSION                      PDM_VERSION_MAKE(0xffff, 1, 0)
     346#define PDM_DEVREG_VERSION                      PDM_VERSION_MAKE(0xffff, 2, 0)
    324347
    325348/** PDM Device Flags.
  • trunk/include/VBox/vmm/pgm.h

    r44730 r45024  
    457457VMMR3DECL(void)     PGMR3Relocate(PVM pVM, RTGCINTPTR offDelta);
    458458VMMR3DECL(void)     PGMR3ResetCpu(PVM pVM, PVMCPU pVCpu);
    459 VMMR3DECL(void)     PGMR3Reset(PVM pVM);
     459VMMR3_INT_DECL(void)    PGMR3Reset(PVM pVM);
     460VMMR3_INT_DECL(void)    PGMR3MemSetup(PVM pVM, bool fReset);
    460461VMMR3DECL(int)      PGMR3Term(PVM pVM);
    461462VMMR3DECL(int)      PGMR3LockCall(PVM pVM);
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