VirtualBox

Changeset 86080 in vbox for trunk/src


Ignore:
Timestamp:
Sep 10, 2020 7:08:06 AM (4 years ago)
Author:
vboxsync
Message:

AMD IOMMU: bugref:9654 Enable INVALIDATE_ALL command support and specify the PCI capability space offset in the ACPI tables as well.

Location:
trunk/src/VBox/Devices
Files:
2 edited

Legend:

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

    r86075 r86080  
    13991399 *
    14001400 * @thread  Any.
     1401 * @remarks The IOMMU lock may or may not be held.
    14011402 */
    14021403static void iommuAmdRaiseMsiInterrupt(PPDMDEVINS pDevIns)
     
    14131414 *
    14141415 * @thread  Any.
     1416 * @remarks The IOMMU lock may or may not be held.
    14151417 */
    14161418static void iommuAmdClearMsiInterrupt(PPDMDEVINS pDevIns)
     
    28612863                        iommuAmdRaiseMsiInterrupt(pDevIns);
    28622864                }
    2863 
    28642865                return VINF_SUCCESS;
    28652866            }
     
    40794080    pThis->ExtFeat.n.u1NoExecuteSup          = 0;
    40804081    pThis->ExtFeat.n.u1GstTranslateSup       = 0;
    4081     pThis->ExtFeat.n.u1InvAllSup             = 0;
     4082    pThis->ExtFeat.n.u1InvAllSup             = 1;
    40824083    pThis->ExtFeat.n.u1GstVirtApicSup        = 0;
    40834084    pThis->ExtFeat.n.u1HwErrorSup            = 1;
  • trunk/src/VBox/Devices/PC/DevACPI.cpp

    r86071 r86080  
    31973197                                       + sizeof(Ivrs.IvhdType10Hpet);
    31983198    Ivrs.IvhdType10.u16DeviceId        = PCIBDF_MAKE(uIommuBus, VBOX_PCI_DEVFN_MAKE(uIommuDev, uIommuFn));
    3199     Ivrs.IvhdType10.u16CapOffset       = 0;             /* 0=No multiple IOMMU functionality. */
     3199    Ivrs.IvhdType10.u16CapOffset       = IOMMU_PCI_OFF_CAP_HDR;
    32003200    Ivrs.IvhdType10.u64BaseAddress     = IOMMU_MMIO_BASE_ADDR;
    32013201    Ivrs.IvhdType10.u16PciSegmentGroup = 0;
     
    32713271                                       | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_NO_EXEC_SUP,        0)
    32723272                                       | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_GT_SUP,             0)
    3273                                        | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_IA_SUP,             0)
     3273                                       | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_IA_SUP,             1)
    32743274                                       | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_GA_SUP,             0)
    32753275                                       | RT_BF_MAKE(IOMMU_EXT_FEAT_BF_HE_SUP,             1)
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