VirtualBox

Changeset 22919 in vbox


Ignore:
Timestamp:
Sep 10, 2009 2:53:23 PM (15 years ago)
Author:
vboxsync
Message:

VMM/PGM: Alignment fixes that cures crashes on snow leopard when gdb is attached.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMInternal.h

    r22785 r22919  
    27602760    DECLRCCALLBACKMEMBER(int,       pfnRCBthMapCR3,(PVMCPU pVCpu, RTGCPHYS GCPhysCR3));
    27612761    DECLRCCALLBACKMEMBER(int,       pfnRCBthUnmapCR3,(PVMCPU pVCpu));
    2762 #if HC_ARCH_BITS == 64
    27632762    RTRCPTR                         alignment2; /**< structure size alignment. */
    2764 #endif
    27652763    /** @} */
    27662764
  • trunk/src/VBox/VMM/testcase/tstVMStructGC.cpp

    r21363 r22919  
    487487    GEN_CHECK_OFF(PGMCPU, pStatTrap0eAttributionR0);
    488488    GEN_CHECK_OFF(PGMCPU, pStatTrap0eAttributionRC);
     489    GEN_CHECK_OFF(PGMCPU, StatSyncPtPD);
     490    GEN_CHECK_OFF(PGMCPU, StatR3Prefetch);
    489491#endif
    490492    GEN_CHECK_OFF(PGM, offVM);
  • trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp

    r22893 r22919  
    202202    }
    203203    CHECK_MEMBER_ALIGNMENT(VM, trpm.s.aIdt, 16);
    204     CHECK_MEMBER_ALIGNMENT(VM, cpum, 64);
    205     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0], 64);
    206     CHECK_MEMBER_ALIGNMENT(VM, aCpus[1], 64);
    207     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].cpum, 64);
    208     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].hwaccm, 64);
    209     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].pgm, 64);
    210     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].em, 64);
    211     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].tm, 64);
    212     CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].vmm, 64);
     204    CHECK_MEMBER_ALIGNMENT(VM, aCpus[0], PAGE_SIZE);
     205    CHECK_MEMBER_ALIGNMENT(VM, aCpus[1], PAGE_SIZE);
    213206    CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].cpum.s.Host, 64);
    214207    CHECK_MEMBER_ALIGNMENT(VM, aCpus[0].cpum.s.Guest, 64);
     
    291284    CHECK_PADDING(PDMDRVINS, Internal, 1);
    292285    CHECK_PADDING2(PDMCRITSECT);
     286
     287    /* pgm */
     288#ifdef VBOX_WITH_2X_4GB_ADDR_SPACE
     289    CHECK_MEMBER_ALIGNMENT(PGMCPU, AutoSet, 8);
     290#endif
     291    CHECK_MEMBER_ALIGNMENT(PGMCPU, GCPhysCR3, sizeof(RTGCPHYS));
     292    CHECK_MEMBER_ALIGNMENT(PGMCPU, aGCPhysGstPaePDs, sizeof(RTGCPHYS));
     293    CHECK_MEMBER_ALIGNMENT(PGMCPU, DisState, 8);
     294    CHECK_MEMBER_ALIGNMENT(PGMCPU, cPoolAccessHandler, 8);
     295#ifdef VBOX_WITH_STATISTICS
     296    CHECK_MEMBER_ALIGNMENT(PGMCPU, StatSyncPtPD, 8);
     297    CHECK_MEMBER_ALIGNMENT(PGMCPU, StatR3Prefetch, 8);
     298#endif
    293299    CHECK_MEMBER_ALIGNMENT(PGMPOOLPAGE, idx, sizeof(uint16_t));
    294300    CHECK_MEMBER_ALIGNMENT(PGMPOOLPAGE, pvPageR3, sizeof(RTHCPTR));
     
    305311    CHECK_SIZE_ALIGNMENT(REMHANDLERNOTIFICATION, 8);
    306312    CHECK_MEMBER_ALIGNMENT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.GCPhys, 8);
     313
     314    /* TM */
     315    CHECK_MEMBER_ALIGNMENT(TM, TimerCritSect, sizeof(uintptr_t));
     316    CHECK_MEMBER_ALIGNMENT(TM, VirtualSyncLock, sizeof(uintptr_t));
    307317
    308318    /* misc */
     
    315325    PRINT_OFFSET(VM, StatGCToQemu);
    316326#endif
    317 
    318     /* TM */
    319     CHECK_MEMBER_ALIGNMENT(TM, TimerCritSect, sizeof(uintptr_t));
    320     CHECK_MEMBER_ALIGNMENT(TM, VirtualSyncLock, sizeof(uintptr_t));
    321327
    322328    CHECK_MEMBER_ALIGNMENT(IOM, EmtLock, sizeof(uintptr_t));
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