VirtualBox

Changeset 54897 in vbox for trunk/include


Ignore:
Timestamp:
Mar 22, 2015 10:49:39 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
99112
Message:

Moving CPUMCPU about...

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

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpumctx.h

    r54714 r54897  
    410410
    411411#ifndef VBOX_FOR_DTRACE_LIB
     412AssertCompileSizeAlignment(CPUMCTX, 64);
    412413
    413414/**
  • trunk/include/VBox/vmm/vm.h

    r54256 r54897  
    137137    STAMPROFILEADV          aStatAdHoc[8];                          /* size: 40*8 = 320 */
    138138
     139    /** HM part. */
     140    union
     141    {
     142#ifdef ___HMInternal_h
     143        struct HMCPU    s;
     144#endif
     145        uint8_t             padding[5760];      /* multiple of 64 */
     146    } hm;
     147
     148    /** EM part. */
     149    union
     150    {
     151#ifdef ___EMInternal_h
     152        struct EMCPU        s;
     153#endif
     154        uint8_t             padding[1408];      /* multiple of 64 */
     155    } em;
     156
     157    /** IEM part. */
     158    union
     159    {
     160#ifdef ___IEMInternal_h
     161        struct IEMCPU       s;
     162#endif
     163        uint8_t             padding[3072];      /* multiple of 64 */
     164    } iem;
     165
     166    /** TRPM part. */
     167    union
     168    {
     169#ifdef ___TRPMInternal_h
     170        struct TRPMCPU      s;
     171#endif
     172        uint8_t             padding[128];       /* multiple of 64 */
     173    } trpm;
     174
     175    /** TM part. */
     176    union
     177    {
     178#ifdef ___TMInternal_h
     179        struct TMCPU        s;
     180#endif
     181        uint8_t             padding[384];       /* multiple of 64 */
     182    } tm;
     183
     184    /** VMM part. */
     185    union
     186    {
     187#ifdef ___VMMInternal_h
     188        struct VMMCPU       s;
     189#endif
     190        uint8_t             padding[704];       /* multiple of 64 */
     191    } vmm;
     192
     193    /** PDM part. */
     194    union
     195    {
     196#ifdef ___PDMInternal_h
     197        struct PDMCPU       s;
     198#endif
     199        uint8_t             padding[256];       /* multiple of 64 */
     200    } pdm;
     201
     202    /** IOM part. */
     203    union
     204    {
     205#ifdef ___IOMInternal_h
     206        struct IOMCPU       s;
     207#endif
     208        uint8_t             padding[512];       /* multiple of 64 */
     209    } iom;
     210
     211    /** DBGF part.
     212     * @todo Combine this with other tiny structures. */
     213    union
     214    {
     215#ifdef ___DBGFInternal_h
     216        struct DBGFCPU      s;
     217#endif
     218        uint8_t             padding[64];        /* multiple of 64 */
     219    } dbgf;
     220
     221    /** GIM part. */
     222    union
     223    {
     224#ifdef ___GIMInternal_h
     225        struct GIMCPU s;
     226#endif
     227        uint8_t             padding[64];      /* multiple of 64 */
     228    } gim;
     229
     230    /** Align the following members on page boundary. */
     231    uint8_t                 abAlignment2[3584];
     232
    139233    /** CPUM part. */
    140234    union
     
    143237        struct CPUMCPU      s;
    144238#endif
    145         uint8_t             padding[3584];      /* multiple of 64 */
     239        uint8_t             padding[4096];      /* multiple of 4096 */
    146240    } cpum;
    147 
    148     /** HM part. */
    149     union
    150     {
    151 #ifdef ___HMInternal_h
    152         struct HMCPU    s;
    153 #endif
    154         uint8_t             padding[5760];      /* multiple of 64 */
    155     } hm;
    156 
    157     /** EM part. */
    158     union
    159     {
    160 #ifdef ___EMInternal_h
    161         struct EMCPU        s;
    162 #endif
    163         uint8_t             padding[1408];      /* multiple of 64 */
    164     } em;
    165 
    166     /** IEM part. */
    167     union
    168     {
    169 #ifdef ___IEMInternal_h
    170         struct IEMCPU       s;
    171 #endif
    172         uint8_t             padding[3072];      /* multiple of 64 */
    173     } iem;
    174 
    175     /** TRPM part. */
    176     union
    177     {
    178 #ifdef ___TRPMInternal_h
    179         struct TRPMCPU      s;
    180 #endif
    181         uint8_t             padding[128];       /* multiple of 64 */
    182     } trpm;
    183 
    184     /** TM part. */
    185     union
    186     {
    187 #ifdef ___TMInternal_h
    188         struct TMCPU        s;
    189 #endif
    190         uint8_t             padding[384];       /* multiple of 64 */
    191     } tm;
    192 
    193     /** VMM part. */
    194     union
    195     {
    196 #ifdef ___VMMInternal_h
    197         struct VMMCPU       s;
    198 #endif
    199         uint8_t             padding[704];       /* multiple of 64 */
    200     } vmm;
    201 
    202     /** PDM part. */
    203     union
    204     {
    205 #ifdef ___PDMInternal_h
    206         struct PDMCPU       s;
    207 #endif
    208         uint8_t             padding[256];       /* multiple of 64 */
    209     } pdm;
    210 
    211     /** IOM part. */
    212     union
    213     {
    214 #ifdef ___IOMInternal_h
    215         struct IOMCPU       s;
    216 #endif
    217         uint8_t             padding[512];       /* multiple of 64 */
    218     } iom;
    219 
    220     /** DBGF part.
    221      * @todo Combine this with other tiny structures. */
    222     union
    223     {
    224 #ifdef ___DBGFInternal_h
    225         struct DBGFCPU      s;
    226 #endif
    227         uint8_t             padding[64];        /* multiple of 64 */
    228     } dbgf;
    229 
    230     /** GIM part. */
    231     union
    232     {
    233 #ifdef ___GIMInternal_h
    234         struct GIMCPU s;
    235 #endif
    236         uint8_t             padding[64];      /* multiple of 64 */
    237     } gim;
    238 
    239     /** Align the following members on page boundary. */
    240     /*uint8_t                 abAlignment2[64];*/
    241241
    242242    /** PGM part. */
  • trunk/include/VBox/vmm/vm.mac

    r54256 r54897  
    134134
    135135    alignb 64
    136 
    137     .cpum                   resb 3584
    138136    .hm                     resb 5760
    139137    .em                     resb 1408
     
    146144    .dbgf                   resb 64
    147145    .gim                    resb 64
     146
    148147    alignb 4096
     148    .cpum                   resb 4096
    149149    .pgm                    resb 4096
    150150endstruc
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