VirtualBox

Changeset 40170 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Feb 17, 2012 2:22:26 PM (13 years ago)
Author:
vboxsync
Message:

MSRs and MTRRs, CPUM saved state changed. (linux 2.4.31 seems to ignore the capabilites when it comes to fixed MTRRs.)

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

Legend:

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

    r40138 r40170  
    196196
    197197
    198 ;;/* Guest MSR state. */
    199 struc CPUMCTXMSR
     198;;
     199; Guest MSR state.
     200struc CPUMCTXMSRS
    200201    .au64               resq  64
    201202endstruc
  • trunk/include/VBox/vmm/cpumctx.h

    r37955 r40170  
    561561
    562562/**
    563  * Guest MSR state.
     563 * Additional guest MSRs (i.e. not part of the CPU context structure).
    564564 *
    565  * @note    Never change the order here because of saved stated!
    566  */
    567 typedef union CPUMCTXMSR
     565 * @remarks Never change the order here because of the saved stated!  The size
     566 *          can in theory be changed, but keep older VBox versions in mind.
     567 */
     568typedef union CPUMCTXMSRS
    568569{
    569570    struct
    570571    {
    571         uint64_t        tscAux;         /**< MSR_K8_TSC_AUX */
    572         uint64_t        miscEnable;     /**< MSR_IA32_MISC_ENABLE */
     572        uint64_t    TscAux;             /**< MSR_K8_TSC_AUX */
     573        uint64_t    MiscEnable;         /**< MSR_IA32_MISC_ENABLE */
     574        uint64_t    MtrrDefType;        /**< IA32_MTRR_DEF_TYPE */
     575        uint64_t    MtrrFix64K_00000;   /**< IA32_MTRR_FIX16K_80000 */
     576        uint64_t    MtrrFix16K_80000;   /**< IA32_MTRR_FIX16K_80000 */
     577        uint64_t    MtrrFix16K_A0000;   /**< IA32_MTRR_FIX16K_A0000 */
     578        uint64_t    MtrrFix4K_C0000;    /**< IA32_MTRR_FIX4K_C0000 */
     579        uint64_t    MtrrFix4K_C8000;    /**< IA32_MTRR_FIX4K_C8000 */
     580        uint64_t    MtrrFix4K_D0000;    /**< IA32_MTRR_FIX4K_D0000 */
     581        uint64_t    MtrrFix4K_D8000;    /**< IA32_MTRR_FIX4K_D8000 */
     582        uint64_t    MtrrFix4K_E0000;    /**< IA32_MTRR_FIX4K_E0000 */
     583        uint64_t    MtrrFix4K_E8000;    /**< IA32_MTRR_FIX4K_E8000 */
     584        uint64_t    MtrrFix4K_F0000;    /**< IA32_MTRR_FIX4K_F0000 */
     585        uint64_t    MtrrFix4K_F8000;    /**< IA32_MTRR_FIX4K_F8000 */
    573586    } msr;
    574587    uint64_t    au64[64];
    575 } CPUMCTXMSR;
     588} CPUMCTXMSRS;
    576589/** Pointer to the guest MSR state. */
    577 typedef CPUMCTXMSR *PCPUMCTXMSR;
     590typedef CPUMCTXMSRS *PCPUMCTXMSRS;
    578591/** Pointer to the const guest MSR state. */
    579 typedef const CPUMCTXMSR *PCCPUMCTXMSR;
     592typedef const CPUMCTXMSRS *PCCPUMCTXMSRS;
    580593
    581594/**
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