VirtualBox

Changeset 41903 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 23, 2012 9:01:11 PM (13 years ago)
Author:
vboxsync
Message:

CPUM: Changed the _IGNORE SSM field descriptors to _OLD so that I can change the structures more freely. Fixed dr6 restore bug.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CPUM.cpp

    r41902 r41903  
    174174    SSMFIELD_ENTRY(         CPUMCTX, rcx),
    175175    SSMFIELD_ENTRY(         CPUMCTX, rsp),
    176     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, lss_esp),
     176    SSMFIELD_ENTRY_OLD(              lss_esp, sizeof(uint32_t)),
    177177    SSMFIELD_ENTRY(         CPUMCTX, ss),
    178     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, ssPadding),
     178    SSMFIELD_ENTRY_OLD(              ssPadding, sizeof(uint16_t)),
    179179    SSMFIELD_ENTRY(         CPUMCTX, gs),
    180     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, gsPadding),
     180    SSMFIELD_ENTRY_OLD(              gsPadding, sizeof(uint16_t)),
    181181    SSMFIELD_ENTRY(         CPUMCTX, fs),
    182     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, fsPadding),
     182    SSMFIELD_ENTRY_OLD(              fsPadding, sizeof(uint16_t)),
    183183    SSMFIELD_ENTRY(         CPUMCTX, es),
    184     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, esPadding),
     184    SSMFIELD_ENTRY_OLD(              esPadding, sizeof(uint16_t)),
    185185    SSMFIELD_ENTRY(         CPUMCTX, ds),
    186     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, dsPadding),
     186    SSMFIELD_ENTRY_OLD(              dsPadding, sizeof(uint16_t)),
    187187    SSMFIELD_ENTRY(         CPUMCTX, cs),
    188     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, csPadding),
     188    SSMFIELD_ENTRY_OLD(              csPadding, sizeof(uint16_t)),
    189189    SSMFIELD_ENTRY(         CPUMCTX, rflags),
    190190    SSMFIELD_ENTRY(         CPUMCTX, rip),
     
    223223    SSMFIELD_ENTRY(         CPUMCTX, dr[2]),
    224224    SSMFIELD_ENTRY(         CPUMCTX, dr[3]),
    225     SSMFIELD_ENTRY(         CPUMCTX, dr[4]),
    226     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, dr[5]),
    227     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, dr[6]),
     225    SSMFIELD_ENTRY_OLD(              dr[4], sizeof(uint64_t)),
     226    SSMFIELD_ENTRY_OLD(              dr[5], sizeof(uint64_t)),
     227    SSMFIELD_ENTRY(         CPUMCTX, dr[6]),
    228228    SSMFIELD_ENTRY(         CPUMCTX, dr[7]),
    229229    SSMFIELD_ENTRY(         CPUMCTX, gdtr.cbGdt),
    230230    SSMFIELD_ENTRY(         CPUMCTX, gdtr.pGdt),
    231     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, gdtrPadding),
     231    SSMFIELD_ENTRY_OLD(              gdtrPadding, sizeof(uint16_t)),
    232232    SSMFIELD_ENTRY(         CPUMCTX, idtr.cbIdt),
    233233    SSMFIELD_ENTRY(         CPUMCTX, idtr.pIdt),
    234     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, idtrPadding),
     234    SSMFIELD_ENTRY_OLD(              idtrPadding, sizeof(uint16_t)),
    235235    SSMFIELD_ENTRY(         CPUMCTX, ldtr),
    236     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, ldtrPadding),
     236    SSMFIELD_ENTRY_OLD(              ldtrPadding, sizeof(uint16_t)),
    237237    SSMFIELD_ENTRY(         CPUMCTX, tr),
    238     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, trPadding),
    239     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, SysEnter.cs),
    240     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, SysEnter.eip),
    241     SSMFIELD_ENTRY_IGNORE(  CPUMCTX, SysEnter.esp),
     238    SSMFIELD_ENTRY(         CPUMCTX, trPadding),
     239    SSMFIELD_ENTRY(         CPUMCTX, SysEnter.cs),
     240    SSMFIELD_ENTRY(         CPUMCTX, SysEnter.eip),
     241    SSMFIELD_ENTRY(         CPUMCTX, SysEnter.esp),
    242242    SSMFIELD_ENTRY(         CPUMCTX, msrEFER),
    243243    SSMFIELD_ENTRY(         CPUMCTX, msrSTAR),
     
    305305    SSMFIELD_ENTRY_U32_ZX_U64(  CPUMCTX, rsp),
    306306    SSMFIELD_ENTRY(             CPUMCTX, ss),
    307     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, ssPadding),
     307    SSMFIELD_ENTRY_OLD(                  ssPadding, sizeof(uint16_t)),
    308308    SSMFIELD_ENTRY_OLD(         CPUMCTX, sizeof(uint64_t) /*rsp_notused*/),
    309309    SSMFIELD_ENTRY(             CPUMCTX, gs),
    310     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, gsPadding),
     310    SSMFIELD_ENTRY_OLD(                  gsPadding, sizeof(uint16_t)),
    311311    SSMFIELD_ENTRY(             CPUMCTX, fs),
    312     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, fsPadding),
     312    SSMFIELD_ENTRY_OLD(                  fsPadding, sizeof(uint16_t)),
    313313    SSMFIELD_ENTRY(             CPUMCTX, es),
    314     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, esPadding),
     314    SSMFIELD_ENTRY_OLD(                  esPadding, sizeof(uint16_t)),
    315315    SSMFIELD_ENTRY(             CPUMCTX, ds),
    316     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, dsPadding),
     316    SSMFIELD_ENTRY_OLD(                  dsPadding, sizeof(uint16_t)),
    317317    SSMFIELD_ENTRY(             CPUMCTX, cs),
    318     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, csPadding),
     318    SSMFIELD_ENTRY_OLD(                  csPadding, sizeof(uint16_t)),
    319319    SSMFIELD_ENTRY(             CPUMCTX, rflags),
    320320    SSMFIELD_ENTRY(             CPUMCTX, rip),
     
    354354    SSMFIELD_ENTRY(             CPUMCTX, dr[2]),
    355355    SSMFIELD_ENTRY(             CPUMCTX, dr[3]),
    356     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, dr[4]),
    357     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, dr[5]),
     356    SSMFIELD_ENTRY_OLD(                  dr[4], sizeof(uint64_t)),
     357    SSMFIELD_ENTRY_OLD(                  dr[5], sizeof(uint64_t)),
    358358    SSMFIELD_ENTRY(             CPUMCTX, dr[6]),
    359359    SSMFIELD_ENTRY(             CPUMCTX, dr[7]),
    360360    SSMFIELD_ENTRY(             CPUMCTX, gdtr.cbGdt),
    361361    SSMFIELD_ENTRY_U32_ZX_U64(  CPUMCTX, gdtr.pGdt),
    362     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, gdtrPadding),
     362    SSMFIELD_ENTRY_OLD(                  gdtrPadding, sizeof(uint16_t)),
    363363    SSMFIELD_ENTRY_OLD(                  gdtrPadding64, sizeof(uint64_t)),
    364364    SSMFIELD_ENTRY(             CPUMCTX, idtr.cbIdt),
    365365    SSMFIELD_ENTRY_U32_ZX_U64(  CPUMCTX, idtr.pIdt),
    366     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, idtrPadding),
     366    SSMFIELD_ENTRY_OLD(                  idtrPadding, sizeof(uint16_t)),
    367367    SSMFIELD_ENTRY_OLD(                  idtrPadding64, sizeof(uint64_t)),
    368368    SSMFIELD_ENTRY(             CPUMCTX, ldtr),
    369     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, ldtrPadding),
     369    SSMFIELD_ENTRY_OLD(                  ldtrPadding, sizeof(uint16_t)),
    370370    SSMFIELD_ENTRY(             CPUMCTX, tr),
    371     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, trPadding),
    372     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, SysEnter.cs),
    373     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, SysEnter.eip),
    374     SSMFIELD_ENTRY_IGNORE(      CPUMCTX, SysEnter.esp),
     371    SSMFIELD_ENTRY_OLD(                  trPadding, sizeof(uint16_t)),
     372    SSMFIELD_ENTRY(             CPUMCTX, SysEnter.cs),
     373    SSMFIELD_ENTRY(             CPUMCTX, SysEnter.eip),
     374    SSMFIELD_ENTRY(             CPUMCTX, SysEnter.esp),
    375375    SSMFIELD_ENTRY(             CPUMCTX, msrEFER),
    376376    SSMFIELD_ENTRY(             CPUMCTX, msrSTAR),
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