VirtualBox

Changeset 88153 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 17, 2021 12:56:48 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143302
Message:

Intel IOMMU: bugref:9967 Skeleton bits.

Location:
trunk/src/VBox
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Makefile.kmk

    r87963 r88153  
    155155        VBOX_WITH_DMI_CHASSIS \
    156156        VBOX_WITH_DMI_OEMSTRINGS \
    157         $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,)
     157        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
     158        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,)
    158159 VBoxDD_DEFS.win         = _WIN32_WINNT=0x0510
    159160 ifeq ($(KBUILD_TARGET_ARCH),x86)
     
    173174        Bus/MsixCommon.cpp \
    174175        $(if $(VBOX_WITH_IOMMU_AMD),Bus/DevIommuAmd.cpp,) \
     176        $(if $(VBOX_WITH_IOMMU_INTEL),Bus/DevIommuIntel.cpp,) \
    175177        EFI/DevSmc.cpp \
    176178        EFI/DevFlash.cpp \
     
    956958   VBoxDDRC_DEFS.darwin   = VBOX_WITH_2X_4GB_ADDR_SPACE
    957959  endif
    958   VBoxDDRC_DEFS           = $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,)
     960  VBoxDDRC_DEFS           = \
     961        $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) \
     962        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
     963        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,)
    959964  VBoxDDRC_INCS           = build $(VBOX_GRAPHICS_INCS)
    960965  VBoxDDRC_SOURCES        = \
     
    964969        Bus/MsixCommon.cpp \
    965970        $(if $(VBOX_WITH_IOMMU_AMD),Bus/DevIommuAmd.cpp,) \
     971        $(if $(VBOX_WITH_IOMMU_INTEL),Bus/DevIommuIntel.cpp,) \
    966972        EFI/DevSmc.cpp \
    967973        Graphics/DevVGA.cpp \
     
    11591165        $(if $(VBOX_WITH_HGCM),VBOX_WITH_HGCM,) \
    11601166        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
     1167        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
    11611168        IN_RT_R0  # - WTF is IN_RT_R0 doing here?
    11621169 VBoxDDR0_DEFS.win      += VBOX_WITH_WIN_PARPORT_SUP
     
    11711178        Bus/MsixCommon.cpp \
    11721179        $(if $(VBOX_WITH_IOMMU_AMD),Bus/DevIommuAmd.cpp,) \
     1180        $(if $(VBOX_WITH_IOMMU_INTEL),Bus/DevIommuIntel.cpp,) \
    11731181        EFI/DevSmc.cpp \
    11741182        EFI/DevFlash.cpp \
  • trunk/src/VBox/Devices/build/VBoxDD.cpp

    r86639 r88153  
    224224        return rc;
    225225#endif
     226#ifdef VBOX_WITH_IOMMU_INTEL
     227    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceIommuIntel);
     228    if (RT_FAILURE(rc))
     229        return rc;
     230#endif
    226231    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceQemuFwCfg);
    227232    if (RT_FAILURE(rc))
  • trunk/src/VBox/Devices/build/VBoxDD.h

    r86639 r88153  
    196196extern const PDMDEVREG g_DeviceIommuAmd;
    197197#endif
     198#ifdef VBOX_WITH_IOMMU_INTEL
     199extern const PDMDEVREG g_DeviceIommuIntel;
     200#endif
    198201
    199202/* VBoxAcpi.cpp */
  • trunk/src/VBox/Devices/build/VBoxDDR0.cpp

    r85816 r88153  
    111111    &g_DeviceIommuAmd,
    112112#endif
     113#ifdef VBOX_WITH_IOMMU_INTEL
     114    &g_DeviceIommuIntel,
     115#endif
    113116};
    114117
  • trunk/src/VBox/VMM/Makefile.kmk

    r87792 r88153  
    6868ifdef VBOX_WITH_IOMMU_AMD
    6969VBoxVMM_DEFS    += VBOX_WITH_IOMMU_AMD
     70endif
     71ifdef VBOX_WITH_IOMMU_INTEL
     72VBoxVMM_DEFS    += VBOX_WITH_IOMMU_INTEL
    7073endif
    7174ifdef VBOX_WITH_DBGF_TRACING
     
    190193        VMMAll/PDMAllCritSectRw.cpp \
    191194        VMMAll/PDMAllCritSectBoth.cpp \
    192         $(if-expr defined(VBOX_WITH_IOMMU_AMD), VMMAll/PDMAllIommu.cpp,) \
     195        $(if-expr defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL), VMMAll/PDMAllIommu.cpp,) \
    193196        VMMAll/PDMAllQueue.cpp \
    194197        VMMAll/PDMAllTask.cpp \
     
    534537        VMMAll/PDMAllCritSectRw.cpp \
    535538        VMMAll/PDMAllCritSectBoth.cpp \
    536         $(if-expr defined(VBOX_WITH_IOMMU_AMD), VMMAll/PDMAllIommu.cpp,) \
     539        $(if-expr defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL), VMMAll/PDMAllIommu.cpp,) \
    537540        VMMAll/PDMAllQueue.cpp \
    538541        VMMAll/PDMAllTask.cpp \
  • trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp

    r87773 r88153  
    18201820#endif
    18211821
    1822 #ifdef VBOX_WITH_IOMMU_AMD
     1822#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    18231823    int rc = pdmIommuMemAccessRead(pDevIns, pPciDev, GCPhys, pvBuf, cbRead, fFlags);
    18241824    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
     
    18541854#endif
    18551855
    1856 #ifdef VBOX_WITH_IOMMU_AMD
     1856#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    18571857    int rc = pdmIommuMemAccessWrite(pDevIns, pPciDev, GCPhys, pvBuf, cbWrite, fFlags);
    18581858    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
     
    18851885#endif
    18861886
    1887 #ifdef VBOX_WITH_IOMMU_AMD
     1887#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    18881888    int rc = pdmR3IommuMemAccessWriteCCPtr(pDevIns, pPciDev, GCPhys, fFlags, ppv, pLock);
    18891889    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
     
    19161916#endif
    19171917
    1918 #ifdef VBOX_WITH_IOMMU_AMD
     1918#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    19191919    int rc = pdmR3IommuMemAccessReadCCPtr(pDevIns, pPciDev, GCPhys, fFlags, ppv, pLock);
    19201920    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
     
    19481948#endif
    19491949
    1950 #ifdef VBOX_WITH_IOMMU_AMD
     1950#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    19511951    int rc = pdmR3IommuMemAccessBulkWriteCCPtr(pDevIns, pPciDev, cPages, paGCPhysPages, fFlags, papvPages, paLocks);
    19521952    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
     
    19801980#endif
    19811981
    1982 #ifdef VBOX_WITH_IOMMU_AMD
     1982#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    19831983    int rc = pdmR3IommuMemAccessBulkReadCCPtr(pDevIns, pPciDev, cPages, paGCPhysPages, fFlags, papvPages, paLocks);
    19841984    if (RT_SUCCESS(rc) || rc != VERR_IOMMU_NOT_PRESENT)
  • trunk/src/VBox/VMM/include/PDMInternal.h

    r87927 r88153  
    16711671void        pdmUnlock(PVMCC pVM);
    16721672
    1673 #ifdef VBOX_WITH_IOMMU_AMD
     1673#if defined(VBOX_WITH_IOMMU_AMD) || defined(VBOX_WITH_IOMMU_INTEL)
    16741674int         pdmIommuMsiRemap(PPDMDEVINS pDevIns, uint16_t idDevice, PCMSIMSG pMsiIn, PMSIMSG pMsiOut);
    16751675int         pdmIommuMemAccessRead(PPDMDEVINS pDevIns, PPDMPCIDEV pPciDev, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, uint32_t fFlags);
Note: See TracChangeset for help on using the changeset viewer.

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