VirtualBox

Changeset 89590 in vbox for trunk/src/VBox/Devices/testcase


Ignore:
Timestamp:
Jun 10, 2021 8:43:08 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
145028
Message:

Intel IOMMU: bugref:9967 Added to device struct size and alignment tests.

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

Legend:

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

    r88624 r89590  
    4949        $(if $(VBOX_WITH_XHCI_IMPL),VBOX_WITH_XHCI_IMPL,) \
    5050        $(if $(VBOX_WITH_IOMMU_AMD),VBOX_WITH_IOMMU_AMD,) \
    51        $(VBOX_AUDIO_DEFS) \
    52        $(VMM_COMMON_DEFS)
     51        $(if $(VBOX_WITH_IOMMU_INTEL),VBOX_WITH_IOMMU_INTEL,) \
     52        $(VBOX_AUDIO_DEFS) \
     53        $(VMM_COMMON_DEFS)
    5354
    5455#
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSize.cpp

    r89193 r89590  
    134134# undef LOG_GROUP
    135135# include "../Bus/DevIommuAmd.cpp"
     136#endif
     137#ifdef VBOX_WITH_IOMMU_INTEL
     138# undef LOG_GROUP
     139# include "../Bus/DevIommuIntel.cpp"
    136140#endif
    137141
     
    420424# endif
    421425#endif
     426#ifdef VBOX_WITH_IOMMU_INTEL
     427    CHECK_MEMBER_ALIGNMENT(DMAR, abRegs0, 8);
     428    CHECK_MEMBER_ALIGNMENT(DMAR, abRegs1, 8);
     429    CHECK_MEMBER_ALIGNMENT(DMAR, uIrtaReg, 8);
     430    CHECK_MEMBER_ALIGNMENT(DMAR, uRtaddrReg, 8);
     431    CHECK_MEMBER_ALIGNMENT(DMAR, hEvtInvQueue, 8);
     432# ifdef VBOX_WITH_STATISTICS
     433    CHECK_MEMBER_ALIGNMENT(DMAR, StatMmioReadR3, 8);
     434    CHECK_MEMBER_ALIGNMENT(DMAR, StatPasidDevtlbInvDsc, 8);
     435# endif
     436#endif
    422437
    423438#ifdef VBOX_WITH_RAW_MODE
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp

    r89198 r89590  
    147147# undef LOG_GROUP
    148148# include "../Bus/DevIommuAmd.cpp"
     149#endif
     150#ifdef VBOX_WITH_IOMMU_INTEL
     151# undef LOG_GROUP
     152# include "../Bus/DevIommuIntel.cpp"
    149153#endif
    150154
     
    22162220# endif
    22172221#endif
     2222
     2223#ifdef VBOX_WITH_IOMMU_INTEL
     2224    GEN_CHECK_SIZE(DMAR);
     2225    GEN_CHECK_OFF(DMAR, idxIommu);
     2226    GEN_CHECK_OFF(DMAR, abRegs0);
     2227    GEN_CHECK_OFF(DMAR, abRegs1);
     2228    GEN_CHECK_OFF(DMAR, uIrtaReg);
     2229    GEN_CHECK_OFF(DMAR, uRtaddrReg);
     2230    GEN_CHECK_OFF(DMAR, uVerReg);
     2231    GEN_CHECK_OFF(DMAR, fCapReg);
     2232    GEN_CHECK_OFF(DMAR, fExtCapReg);
     2233    GEN_CHECK_OFF(DMAR, fHawBaseMask);
     2234    GEN_CHECK_OFF(DMAR, fMgawInvMask);
     2235    GEN_CHECK_OFF(DMAR, cMaxPagingLevel);
     2236    GEN_CHECK_OFF(DMAR, fPermValidMask);
     2237    GEN_CHECK_OFF(DMAR, hEvtInvQueue);
     2238    GEN_CHECK_OFF(DMAR, enmDiag);
     2239    GEN_CHECK_OFF(DMAR, hMmio);
     2240# ifdef VBOX_WITH_STATISTICS
     2241    GEN_CHECK_OFF(DMAR, StatMmioReadR3);
     2242    GEN_CHECK_OFF(DMAR, StatMmioReadRZ);
     2243    GEN_CHECK_OFF(DMAR, StatMmioWriteR3);
     2244    GEN_CHECK_OFF(DMAR, StatMmioWriteRZ);
     2245    GEN_CHECK_OFF(DMAR, StatMsiRemapCfiR3);
     2246    GEN_CHECK_OFF(DMAR, StatMsiRemapCfiRZ);
     2247    GEN_CHECK_OFF(DMAR, StatMsiRemapRfiR3);
     2248    GEN_CHECK_OFF(DMAR, StatMsiRemapRfiRZ);
     2249    GEN_CHECK_OFF(DMAR, StatMemReadR3);
     2250    GEN_CHECK_OFF(DMAR, StatMemReadRZ);
     2251    GEN_CHECK_OFF(DMAR, StatMemWriteR3);
     2252    GEN_CHECK_OFF(DMAR, StatMemWriteRZ);
     2253    GEN_CHECK_OFF(DMAR, StatMemBulkReadR3);
     2254    GEN_CHECK_OFF(DMAR, StatMemBulkReadRZ);
     2255    GEN_CHECK_OFF(DMAR, StatMemBulkWriteR3);
     2256    GEN_CHECK_OFF(DMAR, StatMemBulkWriteRZ);
     2257    GEN_CHECK_OFF(DMAR, StatCcInvDsc);
     2258    GEN_CHECK_OFF(DMAR, StatIotlbInvDsc);
     2259    GEN_CHECK_OFF(DMAR, StatDevtlbInvDsc);
     2260    GEN_CHECK_OFF(DMAR, StatIecInvDsc);
     2261    GEN_CHECK_OFF(DMAR, StatInvWaitDsc);
     2262    GEN_CHECK_OFF(DMAR, StatPasidIotlbInvDsc);
     2263    GEN_CHECK_OFF(DMAR, StatPasidCacheInvDsc);
     2264    GEN_CHECK_OFF(DMAR, StatPasidDevtlbInvDsc);
     2265# endif
     2266
     2267    GEN_CHECK_SIZE(DMARIOPAGE);
     2268    GEN_CHECK_OFF(DMARIOPAGE, GCPhysBase);
     2269    GEN_CHECK_OFF(DMARIOPAGE, cShift);
     2270    GEN_CHECK_OFF(DMARIOPAGE, fPerm);
     2271
     2272    GEN_CHECK_SIZE(DMARIOADDRRANGE);
     2273    GEN_CHECK_OFF(DMARIOADDRRANGE, uAddr);
     2274    GEN_CHECK_OFF(DMARIOADDRRANGE, cb);
     2275    GEN_CHECK_OFF(DMARIOADDRRANGE, fPerm);
     2276
     2277    GEN_CHECK_SIZE(DMARMEMREQIN);
     2278    GEN_CHECK_OFF(DMARMEMREQIN, AddrRange);
     2279    GEN_CHECK_OFF(DMARMEMREQIN, idDevice);
     2280    GEN_CHECK_OFF(DMARMEMREQIN, Pasid);
     2281    GEN_CHECK_OFF(DMARMEMREQIN, enmAddrType);
     2282    GEN_CHECK_OFF(DMARMEMREQIN, enmReqType);
     2283
     2284    GEN_CHECK_SIZE(DMARMEMREQOUT);
     2285    GEN_CHECK_OFF(DMARMEMREQOUT, AddrRange);
     2286    GEN_CHECK_OFF(DMARMEMREQOUT, idDomain);
     2287
     2288    GEN_CHECK_SIZE(DMARMEMREQAUX);
     2289    GEN_CHECK_OFF(DMARMEMREQAUX, fTtm
     2290    GEN_CHECK_OFF(DMARMEMREQAUX, fFpd);
     2291    GEN_CHECK_OFF(DMARMEMREQAUX, cPagingLevel);
     2292    GEN_CHECK_OFF(DMARMEMREQAUX, GCPhysFlPt);
     2293    GEN_CHECK_OFF(DMARMEMREQAUX, GCPhysSlPt);
     2294
     2295    GEN_CHECK_SIZE(DMARMEMREQREMAP);
     2296    GEN_CHECK_OFF(DMARMEMREQREMAP, In);
     2297    GEN_CHECK_OFF(DMARMEMREQREMAP, Aux);
     2298    GEN_CHECK_OFF(DMARMEMREQREMAP, Out);
     2299#endif
     2300
    22182301    return (0);
    22192302}
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