VirtualBox

Changeset 87967 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 5, 2021 5:21:14 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143070
Message:

AMD IOMMU: bugref:9654 LogRelMax some failures, return proper rc in LoadExec.

File:
1 edited

Legend:

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

    r87943 r87967  
    46244624                        if (uIntrCtrl == IOMMU_INTR_CTRL_TARGET_ABORT)
    46254625                        {
    4626                             LogFunc(("IntCtl=0: Remapping disallowed for fixed/arbitrated interrupt (%#x) -> Target abort\n",
    4627                                      pMsiIn->Data.n.u8Vector));
     4626                            LogRelMax(10, ("%s: Remapping disallowed for fixed/arbitrated interrupt %#x -> Target abort\n",
     4627                                           IOMMU_LOG_PFX, pMsiIn->Data.n.u8Vector));
    46284628                            iommuAmdSetPciTargetAbort(pDevIns);
    46294629                            return VERR_IOMMU_INTR_REMAP_DENIED;
     
    46314631
    46324632                        Assert(uIntrCtrl == IOMMU_INTR_CTRL_RSVD); /* Paranoia. */
    4633                         LogFunc(("IntCtl mode invalid %#x -> Illegal DTE\n", uIntrCtrl));
     4633                        LogRelMax(10, ("%s: IntCtl mode invalid %#x -> Illegal DTE\n", IOMMU_LOG_PFX, uIntrCtrl));
    46344634                        EVT_ILLEGAL_DTE_T Event;
    46354635                        iommuAmdIllegalDteEventInit(idDevice, pMsiIn->Addr.u64, true /* fRsvdNotZero */, enmOp, &Event);
     
    46454645                    default:
    46464646                    {
    4647                         LogFunc(("MSI data delivery mode invalid %#x -> Target abort\n", u8DeliveryMode));
     4647                        LogRelMax(10, ("%s: MSI data delivery mode invalid %#x -> Target abort\n", IOMMU_LOG_PFX,
     4648                                       u8DeliveryMode));
    46484649                        iommuAmdSetPciTargetAbort(pDevIns);
    46494650                        return VERR_IOMMU_INTR_REMAP_FAILED;
     
    46634664                        return VINF_SUCCESS;
    46644665                    }
    4665                     LogFunc(("Remapping/passthru disallowed for interrupt %#x -> Target abort\n", pMsiIn->Data.n.u8Vector));
     4666                    LogRelMax(10, ("%s: Remapping/passthru disallowed for interrupt %#x -> Target abort\n", IOMMU_LOG_PFX,
     4667                                   pMsiIn->Data.n.u8Vector));
    46664668                }
    46674669                else
    4668                     LogFunc(("Logical destination mode invalid for delivery mode %#x\n -> Target abort\n", u8DeliveryMode));
     4670                    LogRelMax(10, ("%s: Logical destination mode invalid for delivery mode %#x\n -> Target abort\n",
     4671                                   IOMMU_LOG_PFX, u8DeliveryMode));
    46694672
    46704673                iommuAmdSetPciTargetAbort(pDevIns);
     
    46744677            {
    46754678                /** @todo should be cause a PCI target abort here? */
    4676                 LogFunc(("MSI address region invalid %#RX64\n", pMsiIn->Addr.u64));
     4679                LogRelMax(10, ("%s: MSI address region invalid %#RX64\n", IOMMU_LOG_PFX, pMsiIn->Addr.u64));
    46774680                return VERR_IOMMU_INTR_REMAP_FAILED;
    46784681            }
     
    65886591    AssertPtrReturn(pThisR3, VERR_INVALID_POINTER);
    65896592
     6593    int rc;
    65906594    IOMMU_LOCK(pDevIns, pThisR3);
    65916595
    65926596    /* Map MMIO regions if the IOMMU BAR is enabled. */
    65936597    if (pThis->IommuBar.n.u1Enable)
    6594         iommuAmdR3MmioSetup(pDevIns);
     6598        rc = iommuAmdR3MmioSetup(pDevIns);
     6599    else
     6600        rc = VINF_SUCCESS;
    65956601
    65966602    /* Wake up the command thread if commands need processing. */
     
    65986604
    65996605    IOMMU_UNLOCK(pDevIns, pThisR3);
    6600     return VINF_SUCCESS;
     6606    return rc;
    66016607}
    66026608
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