VirtualBox

Changeset 89031 in vbox


Ignore:
Timestamp:
May 13, 2021 10:47:40 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
144370
Message:

Intel IOMMU: bugref:9967 Tweaks to supported features.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp

    r89030 r89031  
    27732773    /* ECAP_REG */
    27742774    {
    2775         uint8_t const  fQi    = 1;                                 /* Queued-invalidations. */
    2776         uint8_t const  fIr    = !!(DMAR_ACPI_DMAR_FLAGS & ACPI_DMAR_F_INTR_REMAP);      /* Interrupt remapping support. */
    2777         uint8_t const  fMhmv  = 0xf;                               /* Maximum handle mask value. */
    2778         uint16_t const offIro = DMAR_MMIO_OFF_IVA_REG >> 4;        /* MMIO offset of IOTLB registers. */
    2779         uint8_t const  fSrs   = 1;                                 /* Supervisor request support. */
    2780         uint8_t const  fEim   = 1;                                 /* Extended interrupt mode.*/
    2781         uint8_t const  fAdms  = 1;                                 /* Abort DMA mode support. */
     2775        uint8_t const  fQi     = 1;                                /* Queued-invalidations. */
     2776        uint8_t const  fIr     = !!(DMAR_ACPI_DMAR_FLAGS & ACPI_DMAR_F_INTR_REMAP);      /* Interrupt remapping support. */
     2777        uint8_t const  fMhmv   = 0xf;                              /* Maximum handle mask value. */
     2778        uint16_t const offIro  = DMAR_MMIO_OFF_IVA_REG >> 4;       /* MMIO offset of IOTLB registers. */
     2779        uint8_t const  fEim    = 1;                                /* Extended interrupt mode.*/
     2780        uint8_t const  fAdms   = 1;                                /* Abort DMA mode support. */
    27822781
    27832782        pThis->fExtCapReg = RT_BF_MAKE(VTD_BF_ECAP_REG_C,      0)  /* Accesses don't snoop CPU cache. */
     
    27942793                          | RT_BF_MAKE(VTD_BF_ECAP_REG_PRS,    0)  /* 0 as DT not supported. */
    27952794                          | RT_BF_MAKE(VTD_BF_ECAP_REG_ERS,    0)  /* Execute request not supported. */
    2796                           | RT_BF_MAKE(VTD_BF_ECAP_REG_SRS,    fSmts & fSrs)
     2795                          | RT_BF_MAKE(VTD_BF_ECAP_REG_SRS,    0)  /* Supervisor request not supported. */
    27972796                          | RT_BF_MAKE(VTD_BF_ECAP_REG_NWFS,   0)  /* 0 as DT not supported. */
    27982797                          | RT_BF_MAKE(VTD_BF_ECAP_REG_EAFS,   0)  /** @todo figure out if EAFS is required? */
     
    28092808                          | RT_BF_MAKE(VTD_BF_ECAP_REG_RPS,    0)  /* We don't support RID_PASID field in SM context entry. */
    28102809                          | RT_BF_MAKE(VTD_BF_ECAP_REG_ADMS,   fAdms)
    2811                           | RT_BF_MAKE(VTD_BF_ECAP_REG_RPRIVS, 0); /** @todo figure out if we should/can support this? */
     2810                          | RT_BF_MAKE(VTD_BF_ECAP_REG_RPRIVS, 0); /* 0 as SRS not supported. */
    28122811        dmarRegWriteRaw64(pThis, VTD_MMIO_OFF_ECAP_REG, pThis->fExtCapReg);
    28132812    }
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