VirtualBox

Changeset 88624 in vbox


Ignore:
Timestamp:
Apr 21, 2021 8:00:07 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
143926
Message:

AMD IOMMU: bugref:9654 Devices/testcase: struct size and alignment verification.

Location:
trunk/src/VBox/Devices/testcase
Files:
3 edited

Legend:

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

    r86905 r88624  
    4848        $(if $(VBOX_WITH_WDDM),VBOX_WITH_WDDM,) \
    4949        $(if $(VBOX_WITH_XHCI_IMPL),VBOX_WITH_XHCI_IMPL,) \
     50        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
    5051       $(VBOX_AUDIO_DEFS) \
    5152       $(VMM_COMMON_DEFS)
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSize.cpp

    r88229 r88624  
    129129# undef LOG_GROUP
    130130# include "../Bus/DevPciRaw.cpp"
     131#endif
     132
     133#ifdef VBOX_WITH_IOMMU_AMD
     134# undef LOG_GROUP
     135# include "../Bus/DevIommuAmd.cpp"
    131136#endif
    132137
     
    407412    CHECK_MEMBER_ALIGNMENT(PCIRAWSENDREQ, u.aGetRegionInfo.u64RegionSize, 8);
    408413#endif
     414#ifdef VBOX_WITH_IOMMU_AMD
     415    CHECK_MEMBER_ALIGNMENT(IOMMU, IommuBar, 8);
     416    CHECK_MEMBER_ALIGNMENT(IOMMU, aDevTabBaseAddrs, 8);
     417    CHECK_MEMBER_ALIGNMENT(IOMMU, CmdBufHeadPtr, 8);
     418    CHECK_MEMBER_ALIGNMENT(IOMMU, Status, 8);
     419# ifdef VBOX_WITH_STATISTICS
     420    CHECK_MEMBER_ALIGNMENT(IOMMU, StatMmioReadR3, 8);
     421# endif
     422#endif
    409423
    410424#ifdef VBOX_WITH_RAW_MODE
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp

    r88483 r88624  
    143143# undef LOG_GROUP
    144144# include "../Storage/DevNVMe.cpp"
     145#endif
     146#ifdef VBOX_WITH_IOMMU_AMD
     147# undef LOG_GROUP
     148# include "../Bus/DevIommuAmd.cpp"
    145149#endif
    146150
     
    21272131#endif
    21282132
     2133#ifdef VBOX_WITH_IOMMU_AMD
     2134# ifdef IOMMU_WITH_DTE_CACHE
     2135    GEN_CHECK_SIZE(DTECACHE);
     2136# endif
     2137# ifdef IOMMU_WITH_DTE_CACHE
     2138    GEN_CHECK_SIZE(IRTECACHE);
     2139# endif
     2140    GEN_CHECK_SIZE(IOMMU);
     2141    GEN_CHECK_OFF(IOMMU, idxIommu);
     2142    GEN_CHECK_OFF(IOMMU, u32Magic);
     2143    GEN_CHECK_OFF(IOMMU, hMmio);
     2144    GEN_CHECK_OFF(IOMMU, hEvtCmdThread);
     2145    GEN_CHECK_OFF(IOMMU, fCmdThreadSignaled);
     2146# ifdef IOMMU_WITH_DTE_CACHE
     2147    GEN_CHECK_OFF(IOMMU, CritSectCache);
     2148    GEN_CHECK_OFF(IOMMU, aDeviceIds);
     2149    GEN_CHECK_OFF(IOMMU, aDteCache);
     2150# endif
     2151# ifdef IOMMU_WITH_IRTE_CACHE
     2152    GEN_CHECK_OFF(IOMMU, aIrteCache);
     2153# endif
     2154    GEN_CHECK_OFF(IOMMU, IommuBar);
     2155    GEN_CHECK_OFF(IOMMU, aDevTabBaseAddrs);
     2156    GEN_CHECK_OFF(IOMMU, CmdBufBaseAddr);
     2157    GEN_CHECK_OFF(IOMMU, EvtLogBaseAddr);
     2158    GEN_CHECK_OFF(IOMMU, Ctrl);
     2159    GEN_CHECK_OFF(IOMMU, ExclRangeBaseAddr);
     2160    GEN_CHECK_OFF(IOMMU, ExclRangeLimit);
     2161    GEN_CHECK_OFF(IOMMU, ExtFeat);
     2162    GEN_CHECK_OFF(IOMMU, PprLogBaseAddr);
     2163    GEN_CHECK_OFF(IOMMU, HwEvtHi);
     2164    GEN_CHECK_OFF(IOMMU, HwEvtLo);
     2165    GEN_CHECK_OFF(IOMMU, HwEvtStatus);
     2166    GEN_CHECK_OFF(IOMMU, GALogBaseAddr);
     2167    GEN_CHECK_OFF(IOMMU, GALogTailAddr);
     2168    GEN_CHECK_OFF(IOMMU, PprLogBBaseAddr);
     2169    GEN_CHECK_OFF(IOMMU, EvtLogBBaseAddr);
     2170    GEN_CHECK_OFF(IOMMU, DevSpecificFeat);
     2171    GEN_CHECK_OFF(IOMMU, DevSpecificCtrl);
     2172    GEN_CHECK_OFF(IOMMU, DevSpecificStatus);
     2173    GEN_CHECK_OFF(IOMMU, MiscInfo);
     2174    GEN_CHECK_OFF(IOMMU, PerfOptCtrl);
     2175    GEN_CHECK_OFF(IOMMU, XtGenIntrCtrl);
     2176    GEN_CHECK_OFF(IOMMU, XtPprIntrCtrl);
     2177    GEN_CHECK_OFF(IOMMU, XtGALogIntrCtrl);
     2178    GEN_CHECK_OFF(IOMMU, aMarcApers);
     2179    GEN_CHECK_OFF(IOMMU, RsvdReg);
     2180    GEN_CHECK_OFF(IOMMU, CmdBufHeadPtr);
     2181    GEN_CHECK_OFF(IOMMU, CmdBufTailPtr);
     2182    GEN_CHECK_OFF(IOMMU, EvtLogHeadPtr);
     2183    GEN_CHECK_OFF(IOMMU, EvtLogTailPtr);
     2184    GEN_CHECK_OFF(IOMMU, Status);
     2185    GEN_CHECK_OFF(IOMMU, PprLogHeadPtr);
     2186    GEN_CHECK_OFF(IOMMU, PprLogTailPtr);
     2187    GEN_CHECK_OFF(IOMMU, GALogHeadPtr);
     2188    GEN_CHECK_OFF(IOMMU, GALogTailPtr);
     2189    GEN_CHECK_OFF(IOMMU, PprLogBHeadPtr);
     2190    GEN_CHECK_OFF(IOMMU, PprLogBTailPtr);
     2191    GEN_CHECK_OFF(IOMMU, EvtLogBHeadPtr);
     2192    GEN_CHECK_OFF(IOMMU, EvtLogBTailPtr);
     2193    GEN_CHECK_OFF(IOMMU, PprLogAutoResp);
     2194    GEN_CHECK_OFF(IOMMU, PprLogOverflowEarly);
     2195    GEN_CHECK_OFF(IOMMU, PprLogBOverflowEarly);
     2196# ifdef VBOX_WITH_STATISTICS
     2197    GEN_CHECK_OFF(IOMMU, StatMmioReadR3);
     2198    GEN_CHECK_OFF(IOMMU, StatMmioReadRZ);
     2199    GEN_CHECK_OFF(IOMMU, StatMmioWriteR3);
     2200    GEN_CHECK_OFF(IOMMU, StatMmioWriteRZ);
     2201    GEN_CHECK_OFF(IOMMU, StatMsiRemapR3);
     2202    GEN_CHECK_OFF(IOMMU, StatMsiRemapRZ);
     2203    GEN_CHECK_OFF(IOMMU, StatMemReadR3);
     2204    GEN_CHECK_OFF(IOMMU, StatMemReadRZ);
     2205    GEN_CHECK_OFF(IOMMU, StatMemWriteR3);
     2206    GEN_CHECK_OFF(IOMMU, StatMemWriteRZ);
     2207    GEN_CHECK_OFF(IOMMU, StatMemBulkReadR3);
     2208    GEN_CHECK_OFF(IOMMU, StatMemBulkReadRZ);
     2209    GEN_CHECK_OFF(IOMMU, StatMemBulkWriteR3);
     2210    GEN_CHECK_OFF(IOMMU, StatMemBulkWriteRZ);
     2211    GEN_CHECK_OFF(IOMMU, StatCmd);
     2212    GEN_CHECK_OFF(IOMMU, StatCmdCompWait);
     2213    GEN_CHECK_OFF(IOMMU, StatCmdInvDte);
     2214    GEN_CHECK_OFF(IOMMU, StatCmdInvIommuPages);
     2215    GEN_CHECK_OFF(IOMMU, StatCmdInvIotlbPages);
     2216    GEN_CHECK_OFF(IOMMU, StatCmdInvIntrTable);
     2217    GEN_CHECK_OFF(IOMMU, StatCmdPrefIommuPages);
     2218    GEN_CHECK_OFF(IOMMU, StatCmdCompletePprReq);
     2219    GEN_CHECK_OFF(IOMMU, StatCmdInvIommuAll);
     2220    GEN_CHECK_OFF(IOMMU, StatIotlbeCached);
     2221    GEN_CHECK_OFF(IOMMU, StatIotlbeLazyEvictReuse);
     2222    GEN_CHECK_OFF(IOMMU, StatProfDteLookup);
     2223    GEN_CHECK_OFF(IOMMU, StatProfIotlbeLookup);
     2224    GEN_CHECK_OFF(IOMMU, StatProfIrteLookup);
     2225    GEN_CHECK_OFF(IOMMU, StatProfIrteCacheLookup);
     2226    GEN_CHECK_OFF(IOMMU, StatAccessCacheHit);
     2227    GEN_CHECK_OFF(IOMMU, StatAccessCacheHitFull);
     2228    GEN_CHECK_OFF(IOMMU, StatAccessCacheMiss);
     2229    GEN_CHECK_OFF(IOMMU, StatAccessCacheNonContig);
     2230    GEN_CHECK_OFF(IOMMU, StatAccessCachePermDenied);
     2231    GEN_CHECK_OFF(IOMMU, StatAccessDteNonContig);
     2232    GEN_CHECK_OFF(IOMMU, StatAccessDtePermDenied);
     2233    GEN_CHECK_OFF(IOMMU, StatIntrCacheHit);
     2234    GEN_CHECK_OFF(IOMMU, StatIntrCacheMiss);
     2235# endif
     2236#endif
    21292237    return (0);
    21302238}
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