VirtualBox

Changeset 36441 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Mar 25, 2011 9:11:56 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70806
Message:

VMM: Sketched out where to do the initial I/O MMU setup. This adds a VMINITCOMPLETED_HWACCM and makes HWACCMR3InitFinalizeR0 private (invoked from HWACCMR3InitCompleted(,_RING0).

Location:
trunk/include/VBox
Files:
5 edited

Legend:

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

    r36436 r36441  
    11/** @file
    2  * PDM - Pluggable Device Manager, raw PCI Devices. (VMM)
     2 * Raw PCI Devices (aka PCI pass-through). (VMM)
    33 */
    44
     
    4242typedef enum PCIRAWMEMINFOACTION
    4343{
    44     /* Pages mapped. */
     44    /** Pages mapped. */
    4545    PCIRAW_MEMINFO_MAP,
    46     /* Pages unmapped. */
     46    /** Pages unmapped. */
    4747    PCIRAW_MEMINFO_UNMAP,
    4848    /** The usual 32-bit type blow up. */
     
    7575typedef struct RAWPCIVM
    7676{
    77     /* Shall only be interpreted by the host PCI driver. */
     77    /** Shall only be interpreted by the host PCI driver. */
    7878    RTR0PTR                     pDriverData;
    79     /* Callback called when mapping of host pages to the guest changes. */
     79    /** Callback called when mapping of host pages to the guest changes. */
    8080    PFNRAWPCICONTIGPHYSMEMINFO  pfnContigMemInfo;
    8181} RAWPCIVM;
  • trunk/include/VBox/vmm/hwaccm.h

    r35361 r36441  
    115115VMMR3DECL(int)          HWACCMR3Init(PVM pVM);
    116116VMMR3_INT_DECL(int)     HWACCMR3InitCompleted(PVM pVM, VMINITCOMPLETED enmWhat);
    117 VMMR3DECL(int)          HWACCMR3InitFinalizeR0(PVM pVM);
    118117VMMR3DECL(void)         HWACCMR3Relocate(PVM pVM);
    119118VMMR3DECL(int)          HWACCMR3Term(PVM pVM);
  • trunk/include/VBox/vmm/pgm.h

    r36196 r36441  
    424424VMMR0DECL(int)      PGMR0PhysAllocateHandyPages(PVM pVM, PVMCPU pVCpu);
    425425VMMR0DECL(int)      PGMR0PhysAllocateLargeHandyPage(PVM pVM, PVMCPU pVCpu);
     426VMMR0_INT_DECL(int) PGMR0PhysSetupIommu(PVM pVM);
    426427VMMR0DECL(int)      PGMR0SharedModuleCheck(PVM pVM, PGVM pGVM, VMCPUID idCpu, PGMMSHAREDMODULE pModule, uint32_t cRegions, PGMMSHAREDREGIONDESC pRegions);
    427428VMMR0DECL(int)      PGMR0Trap0eHandlerNestedPaging(PVM pVM, PVMCPU pVCpu, PGMMODE enmShwPagingMode, RTGCUINT uErr, PCPUMCTXCORE pRegFrame, RTGCPHYS pvFault);
     
    449450VMMR3DECL(int)      PGMR3InitDynMap(PVM pVM);
    450451VMMR3DECL(int)      PGMR3InitFinalize(PVM pVM);
     452VMMR3DECL(int)      PGMR3InitCompleted(PVM pVM, VMINITCOMPLETED enmWhat);
    451453VMMR3DECL(void)     PGMR3Relocate(PVM pVM, RTGCINTPTR offDelta);
    452454VMMR3DECL(void)     PGMR3ResetUnpluggedCpu(PVM pVM, PVMCPU pVCpu);
  • trunk/include/VBox/vmm/vmapi.h

    r36041 r36441  
    302302typedef enum VMINITCOMPLETED
    303303{
    304     /** The Ring3 init is completed. */
     304    /** The ring-3 init is completed. */
    305305    VMINITCOMPLETED_RING3 = 1,
    306     /** The Ring0 init is completed. */
     306    /** The ring-0 init is completed. */
    307307    VMINITCOMPLETED_RING0,
     308    /** The hardware accelerated virtualization init is completed.
     309     * Used to make decisision depending on whether HWACCMIsEnabled(). */
     310    VMINITCOMPLETED_HWACCM,
    308311    /** The GC init is completed. */
    309312    VMINITCOMPLETED_GC
  • trunk/include/VBox/vmm/vmm.h

    r36437 r36441  
    365365    /** Call PGMR0AllocateLargePage(). */
    366366    VMMR0_DO_PGM_ALLOCATE_LARGE_HANDY_PAGE,
     367    /** Call PGMR0PhysSetupIommu(). */
     368    VMMR0_DO_PGM_PHYS_SETUP_IOMMU,
    367369
    368370    /** Call GMMR0InitialReservation(). */
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