VirtualBox

Changeset 54714 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Mar 11, 2015 2:00:23 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
98878
Message:

PATM,CPUM: CPUID patch update.

Location:
trunk/src/VBox/VMM/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/PATMA.h

    r54687 r54714  
    2020
    2121/** @name Patch Fixup Types
     22 * @remarks These fixups types are part of the saved state.
    2223 * @{ */
    2324#define PATM_VMFLAGS                            0xF1ABCD00
     
    3435#define PATM_FIXUP                              0xF1ABCD07
    3536#define PATM_PENDINGACTION                      0xF1ABCD08
    36 #define PATM_CPUID_STD_PTR                      0xF1ABCD09
    37 #define PATM_CPUID_EXT_PTR                      0xF1ABCD0a
     37#define PATM_CPUID_STD_PTR                      0xF1ABCD09  /**< Legacy, saved state only. */
     38#define PATM_CPUID_EXT_PTR                      0xF1ABCD0a  /**< Legacy, saved state only. */
    3839#define PATM_CPUID_DEF_PTR                      0xF1ABCD0b
    3940#define PATM_STACKBASE                          0xF1ABCD0c  /**< Stack to store our private patch return addresses */
     
    5152#define PATM_CALL_PATCH_TARGET_ADDR             0xF1ABCD18
    5253#define PATM_CALL_RETURN_ADDR                   0xF1ABCD19
    53 #define PATM_CPUID_CENTAUR_PTR                  0xF1ABCD1a
     54#define PATM_CPUID_CENTAUR_PTR                  0xF1ABCD1a  /**< Legacy, saved state only. */
     55#define PATM_CPUID_ARRAY_PTR                    0xF1ABCD1b
     56#define PATM_CPUID_ARRAY_END_PTR                0xF1ABCD1c
     57#define PATM_CPUID_ARRAY_ENTRY_SIZE             0xF1ABCD1d
     58#define PATM_CPUID_UNKNOWN_METHOD               0xF1ABCD1e
    5459
    5560/* Anything larger doesn't require a fixup */
     
    6772#define PATM_IRET_FUNCTION                      0xF1ABCE0A  /**< Relative address of global PATM iret function. */
    6873#define PATM_CPUID_CENTAUR_MAX                  0xF1ABCE0B
     74
     75/** Identifies an patch fixup type value (with reasonable accuracy). */
     76#define PATM_IS_FIXUP_TYPE(a_uValue) \
     77    ( ((a_uValue) & UINT32_C(0xfffffC00)) == UINT32_C(0xF1ABCC00) && ((a_uValue) & UINT32_C(0xff)) < UINT32_C(0x30) )
    6978/** @} */
    7079
  • trunk/src/VBox/VMM/include/PATMInternal.h

    r54688 r54714  
    3232/** @name Saved state version numbers.
    3333 * @{ */
     34/** New fixup type FIXUP_ABSOLUTE_IN_PATCH_ASM_TMPL. */
     35#define PATM_SAVED_STATE_VERSION                    57
    3436/** Uses normal structure serialization with markers and everything. */
    35 #define PATM_SAVED_STATE_VERSION                    56
     37#define PATM_SAVED_STATE_VERSION_NO_RAW_MEM         56
    3638/** Last version which saves structures as raw memory. */
    3739#define PATM_SAVED_STATE_VERSION_MEM                55
     
    98100#define PATM_MAX_INVALID_WRITES            16384
    99101
     102/** @name FIXUP_XXX - RELOCREC::uType values.
     103 * @{ */
     104/** Absolute fixup.  With one exception (MMIO cache), this does not take any
     105 * source or destination.  @sa FIXUP_ABSOLUTE_ASM.  */
    100106#define FIXUP_ABSOLUTE                     0
    101107#define FIXUP_REL_JMPTOPATCH               1
    102108#define FIXUP_REL_JMPTOGUEST               2
     109/** Absolute fixup in patch assembly code template.
     110 *
     111 * The source and desination addresses both set to the patch fixup type (see
     112 * PATM_IS_FIXUP_TYPE and friends in PATMA.h).  This is recent addition (CPUID
     113 * subleaf code), so when loading older saved states this is usally represented
     114 * as FIXUP_ABSOLUTE. */
     115#define FIXUP_ABSOLUTE_IN_PATCH_ASM_TMPL   3
     116/** @} */
     117
    103118
    104119#define PATM_ILLEGAL_DESTINATION           0xDEADBEEF
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