VirtualBox

Changeset 98972 in vbox for trunk/include


Ignore:
Timestamp:
Mar 15, 2023 9:39:29 AM (21 months ago)
Author:
vboxsync
Message:

VMM: More ARMv8 x86/amd64 separation work, get past DBGF, bugref:10385

Location:
trunk/include/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/types.h

    r98103 r98972  
    11901190    /** The usual invalid zero entry. */
    11911191    CPUMMODE_INVALID = 0,
    1192     /** Real mode. */
     1192    /** Real mode - x86/amd64. */
    11931193    CPUMMODE_REAL,
    1194     /** Protected mode (32-bit). */
     1194    /** Protected mode (32-bit) - x86/amd64. */
    11951195    CPUMMODE_PROTECTED,
    1196     /** Long mode (64-bit). */
    1197     CPUMMODE_LONG
     1196    /** Long mode (64-bit) - x86/amd64. */
     1197    CPUMMODE_LONG,
     1198    /** ARMv8 - AARCH64 mode. */
     1199    CPUMMODE_ARMV8_AARCH64,
     1200    /** ARMv8 - AARCH32 mode. */
     1201    CPUMMODE_ARMV8_AARCH32,
     1202    /** hack forcing the size of the enum to 32-bits. */
     1203    CPUMMODE_32BIT_HACK = 0x7fffffff
    11981204} CPUMMODE;
    11991205
  • trunk/include/VBox/vmm/cpum-x86-amd64.h

    r98970 r98972  
    29892989/** @} */
    29902990
    2991 VMMDECL(PCPUMCTX)       CPUMQueryGuestCtxPtr(PVMCPU pVCpu);
    29922991#ifdef VBOX_INCLUDED_vmm_cpumctx_h
    29932992VMM_INT_DECL(PCPUMCTXMSRS) CPUMQueryGuestCtxMsrsPtr(PVMCPU pVCpu);
     
    30403039VMMDECL(bool)           CPUMIsHyperDebugStateActive(PVMCPU pVCpu);
    30413040VMMDECL(uint32_t)       CPUMGetGuestCPL(PVMCPU pVCpu);
    3042 VMMDECL(CPUMMODE)       CPUMGetGuestMode(PVMCPU pVCpu);
    30433041VMMDECL(uint32_t)       CPUMGetGuestCodeBits(PVMCPU pVCpu);
    30443042VMMDECL(DISCPUMODE)     CPUMGetGuestDisMode(PVMCPU pVCpu);
  • trunk/include/VBox/vmm/cpum.h

    r98970 r98972  
    6161#ifndef VBOX_FOR_DTRACE_LIB
    6262
     63VMMDECL(PCPUMCTX)       CPUMQueryGuestCtxPtr(PVMCPU pVCpu);
     64VMMDECL(CPUMMODE)       CPUMGetGuestMode(PVMCPU pVCpu);
     65
    6366/** @name Guest Register Getters.
    6467 * @{ */
  • trunk/include/VBox/vmm/cpumctx-armv8.h

    r98970 r98972  
    186186/** The SP register values are kept externally. */
    187187#define CPUMCTX_EXTRN_SP                        UINT64_C(0x0000000000000020)
     188/** The PSTATE value is kept externally. */
     189#define CPUMCTX_EXTRN_PSTATE                    UINT64_C(0x0000000000000040)
     190/** @todo RSVD. */
     191#define CPUMCTX_EXTRN_RSVD                      UINT64_C(0x0000000000000080)
    188192
    189193/** The X0 register value is kept externally. */
    190 #define CPUMCTX_EXTRN_X0                        UINT64_C(0x0000000000000040)
    191 /** The X0 register value is kept externally. */
    192 #define CPUMCTX_EXTRN_X1                        UINT64_C(0x0000000000000080)
    193 /** The X0 register value is kept externally. */
    194 #define CPUMCTX_EXTRN_X2                        UINT64_C(0x0000000000000100)
    195 /** The X0 register value is kept externally. */
    196 #define CPUMCTX_EXTRN_X3                        UINT64_C(0x0000000000000200)
     194#define CPUMCTX_EXTRN_X0                        UINT64_C(0x0000000000000100)
     195/** The X1 register value is kept externally. */
     196#define CPUMCTX_EXTRN_X1                        UINT64_C(0x0000000000000200)
     197/** The X2 register value is kept externally. */
     198#define CPUMCTX_EXTRN_X2                        UINT64_C(0x0000000000000400)
     199/** The X3 register value is kept externally. */
     200#define CPUMCTX_EXTRN_X3                        UINT64_C(0x0000000000000800)
    197201/** The LR (X30) register value is kept externally. */
    198 #define CPUMCTX_EXTRN_LR                        UINT64_C(0x0000000000000400)
     202#define CPUMCTX_EXTRN_LR                        UINT64_C(0x0000000000001000)
    199203/** The FP (X29) register value is kept externally. */
    200 #define CPUMCTX_EXTRN_FP                        UINT64_C(0x0000000000000800)
     204#define CPUMCTX_EXTRN_FP                        UINT64_C(0x0000000000002000)
    201205/** The X4 through X28 register values are kept externally. */
    202 #define CPUMCTX_EXTRN_X4_X28                    UINT64_C(0x0000000000001000)
     206#define CPUMCTX_EXTRN_X4_X28                    UINT64_C(0x0000000000004000)
    203207/** General purpose registers mask. */
    204 #define CPUMCTX_EXTRN_GPRS_MASK                 UINT64_C(0x0000000000001fc0)
     208#define CPUMCTX_EXTRN_GPRS_MASK                 UINT64_C(0x0000000000007f00)
    205209
    206210/** The NEON SIMD & FP registers V0 through V31 are kept externally. */
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