VirtualBox

Changeset 90639 in vbox


Ignore:
Timestamp:
Aug 11, 2021 9:41:42 PM (3 years ago)
Author:
vboxsync
Message:

VMM,VMMDev: Changed my mind, made the alignment requirement for PDMCRITSECTRW 64 bytes instead of 32. Only the VMMDev one needed fixing. bugref:6695

Location:
trunk/src/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VMMDev/VMMDevState.h

    r90638 r90639  
    127127     *          PDMDEVINS structure. */
    128128    PDMCRITSECT         CritSect;
     129#if !defined(VBOX_WITHOUT_TESTING_FEATURES) || defined(DOXYGEN_RUNNING)
     130    /** Read write critical section of lock testing.
     131     * @remarks At the beginning to satisfy 64 byte alignment requirement.  */
     132    PDMCRITSECTRW       CritSectRw;
     133#endif
    129134
    130135    /** mouse capabilities of host and guest */
     
    366371    /** Handle for the MMIO region used by the testing component. */
    367372    IOMMMIOHANDLE       hMmioTesting;
    368     /** Read write critical section of lock testing. */
    369     PDMCRITSECTRW       CritSectRw;
    370373#endif /* !VBOX_WITHOUT_TESTING_FEATURES || DOXYGEN_RUNNING */
    371374    /** @} */
     
    393396#ifndef VBOX_WITHOUT_TESTING_FEATURES
    394397AssertCompileMemberAlignment(VMMDEV, TestingData.Value.u64Value, 8);
    395 AssertCompileMemberAlignment(VMMDEV, CritSectRw, 32);
     398AssertCompileMemberAlignment(VMMDEV, CritSectRw, 64);
    396399#endif
    397400
  • trunk/src/VBox/VMM/VMMR3/PDMCritSect.cpp

    r90638 r90639  
    251251    VM_ASSERT_EMT(pVM);
    252252    Assert(pCritSect->Core.u32Magic != RTCRITSECTRW_MAGIC);
    253     AssertMsgReturn(((uintptr_t)&pCritSect->Core & 31) == 0, ("&Core=%p, must be 32-byte aligned!\n", &pCritSect->Core),
     253    AssertMsgReturn(((uintptr_t)&pCritSect->Core & 63) == 0, ("&Core=%p, must be 64-byte aligned!\n", &pCritSect->Core),
    254254                    VERR_PDM_CRITSECTRW_MISALIGNED);
    255255    AssertMsgReturn(((uintptr_t)&pCritSect->Core.u & (sizeof(pCritSect->Core.u.u128) - 1)) == 0 /* paranoia */,
  • trunk/src/VBox/VMM/include/IOMInternal.h

    r90638 r90639  
    470470} IOM;
    471471#ifdef IOM_WITH_CRIT_SECT_RW
    472 AssertCompileMemberAlignment(IOM, CritSect, 32);
     472AssertCompileMemberAlignment(IOM, CritSect, 64);
    473473#endif
    474474/** Pointer to IOM instance data. */
  • trunk/src/VBox/VMM/include/TMInternal.h

    r90638 r90639  
    320320    PDMCRITSECTRW           AllocLock;
    321321} TMTIMERQUEUE;
    322 AssertCompileMemberAlignment(TMTIMERQUEUE, AllocLock, 32);
     322AssertCompileMemberAlignment(TMTIMERQUEUE, AllocLock, 64);
    323323AssertCompileSizeAlignment(TMTIMERQUEUE, 64);
    324324/** Pointer to a timer queue. */
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