VirtualBox

Changeset 97287 in vbox for trunk/include


Ignore:
Timestamp:
Oct 24, 2022 11:20:42 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154278
Message:

VMM/cpum: Moved fExtrn up into the same cache line as rip, eflags, and crX.

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.mac

    r97286 r97287  
    163163    .tr.u32Limit        resd    1
    164164    .tr.Attr            resd    1
     165    alignb 8
    165166    .eip                resq    1
    166167    .eflags             resq    1
    167     .abPadding          resb    8
    168     alignb 8
     168    .fExtrn             resq    1
    169169    .uRipInhibitInt     resq    1
    170170    .cr0                resq    1
     
    192192    .msrKERNELGSBASE    resb    8
    193193
    194     alignb 8
    195     .fExtrn             resq    1
    196 
    197194    alignb 32
    198195    .aPaePdpes          resq    4
  • trunk/include/VBox/vmm/cpumctx.h

    r97286 r97287  
    417417    } CPUM_UNION_NM(rflags);
    418418
    419     uint8_t             abPadding[8];
     419    /** 0x150 - Externalized state tracker, CPUMCTX_EXTRN_XXX. */
     420    uint64_t            fExtrn;
     421
    420422    /** The RIP value an interrupt shadow is/was valid for. */
    421423    uint64_t            uRipInhibitInt;
     
    464466    /** @} */
    465467
    466     /** 0x230 - Externalized state tracker, CPUMCTX_EXTRN_XXX.
    467      * @todo Move up after uRipInhibitInt after fInhibit moves into RFLAGS.
    468      *       That will put this in the same cacheline as RIP, RFLAGS and CR0
    469      *       which are typically always imported and exported again during an
    470      *       VM exit. */
    471     uint64_t            fExtrn;
    472 
    473     uint64_t            u64Unused;
     468    uint64_t            au64Unused[2];
    474469
    475470    /** 0x240 - PAE PDPTEs. */
     
    675670AssertCompileMemberOffset(CPUMCTX,                                       rip, 0x0140);
    676671AssertCompileMemberOffset(CPUMCTX,                                    rflags, 0x0148);
     672AssertCompileMemberOffset(CPUMCTX,                                    fExtrn, 0x0150);
    677673AssertCompileMemberOffset(CPUMCTX,                            uRipInhibitInt, 0x0158);
    678674AssertCompileMemberOffset(CPUMCTX,                                       cr0, 0x0160);
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