mirror of
https://github.com/reactos/reactos.git
synced 2025-06-04 08:50:27 +00:00
[INCLUDE]
- Add missing MI_HIGHEST_USER_ADDRESS for ARM - Fix definition of ARM CONTEXT structure svn path=/trunk/; revision=67160
This commit is contained in:
parent
4f80779e54
commit
9db44f101d
5 changed files with 117 additions and 35 deletions
|
@ -90,7 +90,7 @@ OFFSET(CsR12, CONTEXT, R12),
|
|||
OFFSET(CsSp, CONTEXT, Sp),
|
||||
OFFSET(CsLr, CONTEXT, Lr),
|
||||
OFFSET(CsPc, CONTEXT, Pc),
|
||||
OFFSET(CsPsr, CONTEXT, Psr),
|
||||
OFFSET(CsCpsr, CONTEXT, Cpsr),
|
||||
|
||||
CONSTANT(CONTEXT_FULL),
|
||||
|
||||
|
|
|
@ -38,6 +38,11 @@ extern "C" {
|
|||
#define MM_ALLOCATION_GRANULARITY_SHIFT 16L
|
||||
#define MM_PAGE_FRAME_NUMBER_SIZE 20
|
||||
|
||||
//
|
||||
// User space range limit
|
||||
//
|
||||
#define MI_HIGHEST_USER_ADDRESS (PVOID)0x7FFEFFFF
|
||||
|
||||
//
|
||||
// Sanity checks for Paging Macros
|
||||
//
|
||||
|
|
|
@ -3740,6 +3740,14 @@ typedef struct _CONTEXT {
|
|||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||
|
||||
typedef struct _NEON128 {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} NEON128, *PNEON128;
|
||||
|
||||
#define ARM_MAX_BREAKPOINTS 8
|
||||
#define ARM_MAX_WATCHPOINTS 1
|
||||
|
||||
typedef struct _CONTEXT {
|
||||
/* The flags values within this flag control the contents of
|
||||
a CONTEXT record.
|
||||
|
@ -3778,7 +3786,24 @@ typedef struct _CONTEXT {
|
|||
DWORD Sp;
|
||||
DWORD Lr;
|
||||
DWORD Pc;
|
||||
DWORD Psr;
|
||||
DWORD Cpsr;
|
||||
|
||||
/* Floating Point/NEON Registers */
|
||||
DWORD Fpscr;
|
||||
DWORD Padding;
|
||||
union {
|
||||
NEON128 Q[16];
|
||||
ULONGLONG D[32];
|
||||
DWORD S[32];
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
/* Debug registers */
|
||||
DWORD Bvr[ARM_MAX_BREAKPOINTS];
|
||||
DWORD Bcr[ARM_MAX_BREAKPOINTS];
|
||||
DWORD Wvr[ARM_MAX_WATCHPOINTS];
|
||||
DWORD Wcr[ARM_MAX_WATCHPOINTS];
|
||||
|
||||
DWORD Padding2[2];
|
||||
} CONTEXT;
|
||||
|
||||
#else
|
||||
|
|
|
@ -79,46 +79,73 @@ typedef struct _KFLOATING_SAVE
|
|||
#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L)
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||
|
||||
|
||||
typedef struct _NEON128 {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} NEON128, *PNEON128;
|
||||
|
||||
#define ARM_MAX_BREAKPOINTS 8
|
||||
#define ARM_MAX_WATCHPOINTS 1
|
||||
|
||||
typedef struct _CONTEXT {
|
||||
/* The flags values within this flag control the contents of
|
||||
a CONTEXT record.
|
||||
/* The flags values within this flag control the contents of
|
||||
a CONTEXT record.
|
||||
|
||||
If the context record is used as an input parameter, then
|
||||
for each portion of the context record controlled by a flag
|
||||
whose value is set, it is assumed that that portion of the
|
||||
context record contains valid context. If the context record
|
||||
is being used to modify a thread's context, then only that
|
||||
portion of the threads context will be modified.
|
||||
If the context record is used as an input parameter, then
|
||||
for each portion of the context record controlled by a flag
|
||||
whose value is set, it is assumed that that portion of the
|
||||
context record contains valid context. If the context record
|
||||
is being used to modify a thread's context, then only that
|
||||
portion of the threads context will be modified.
|
||||
|
||||
If the context record is used as an IN OUT parameter to capture
|
||||
the context of a thread, then only those portions of the thread's
|
||||
context corresponding to set flags will be returned.
|
||||
If the context record is used as an IN OUT parameter to capture
|
||||
the context of a thread, then only those portions of the thread's
|
||||
context corresponding to set flags will be returned.
|
||||
|
||||
The context record is never used as an OUT only parameter. */
|
||||
The context record is never used as an OUT only parameter. */
|
||||
|
||||
ULONG ContextFlags;
|
||||
ULONG ContextFlags;
|
||||
|
||||
/* This section is specified/returned if the ContextFlags word contains
|
||||
the flag CONTEXT_INTEGER. */
|
||||
ULONG R0;
|
||||
ULONG R1;
|
||||
ULONG R2;
|
||||
ULONG R3;
|
||||
ULONG R4;
|
||||
ULONG R5;
|
||||
ULONG R6;
|
||||
ULONG R7;
|
||||
ULONG R8;
|
||||
ULONG R9;
|
||||
ULONG R10;
|
||||
ULONG R11;
|
||||
ULONG R12;
|
||||
/* This section is specified/returned if the ContextFlags word contains
|
||||
the flag CONTEXT_INTEGER. */
|
||||
ULONG R0;
|
||||
ULONG R1;
|
||||
ULONG R2;
|
||||
ULONG R3;
|
||||
ULONG R4;
|
||||
ULONG R5;
|
||||
ULONG R6;
|
||||
ULONG R7;
|
||||
ULONG R8;
|
||||
ULONG R9;
|
||||
ULONG R10;
|
||||
ULONG R11;
|
||||
ULONG R12;
|
||||
|
||||
ULONG Sp;
|
||||
ULONG Lr;
|
||||
ULONG Pc;
|
||||
ULONG Psr;
|
||||
ULONG Sp;
|
||||
ULONG Lr;
|
||||
ULONG Pc;
|
||||
ULONG Cpsr;
|
||||
|
||||
/* Floating Point/NEON Registers */
|
||||
ULONG Fpscr;
|
||||
ULONG Padding;
|
||||
union {
|
||||
NEON128 Q[16];
|
||||
ULONGLONG D[32];
|
||||
ULONG S[32];
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
/* Debug registers */
|
||||
ULONG Bvr[ARM_MAX_BREAKPOINTS];
|
||||
ULONG Bcr[ARM_MAX_BREAKPOINTS];
|
||||
ULONG Wvr[ARM_MAX_WATCHPOINTS];
|
||||
ULONG Wcr[ARM_MAX_WATCHPOINTS];
|
||||
|
||||
ULONG Padding2[2];
|
||||
} CONTEXT;
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
|
|
|
@ -2383,6 +2383,14 @@ typedef struct _CONTEXT {
|
|||
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
|
||||
|
||||
typedef struct _NEON128 {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} NEON128, *PNEON128;
|
||||
|
||||
#define ARM_MAX_BREAKPOINTS 8
|
||||
#define ARM_MAX_WATCHPOINTS 1
|
||||
|
||||
typedef struct _CONTEXT {
|
||||
/* The flags values within this flag control the contents of
|
||||
a CONTEXT record.
|
||||
|
@ -2421,7 +2429,24 @@ typedef struct _CONTEXT {
|
|||
DWORD Sp;
|
||||
DWORD Lr;
|
||||
DWORD Pc;
|
||||
DWORD Psr;
|
||||
DWORD Cpsr;
|
||||
|
||||
/* Floating Point/NEON Registers */
|
||||
DWORD Fpscr;
|
||||
DWORD Padding;
|
||||
union {
|
||||
NEON128 Q[16];
|
||||
ULONGLONG D[32];
|
||||
DWORD S[32];
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
/* Debug registers */
|
||||
DWORD Bvr[ARM_MAX_BREAKPOINTS];
|
||||
DWORD Bcr[ARM_MAX_BREAKPOINTS];
|
||||
DWORD Wvr[ARM_MAX_WATCHPOINTS];
|
||||
DWORD Wcr[ARM_MAX_WATCHPOINTS];
|
||||
|
||||
DWORD Padding2[2];
|
||||
} CONTEXT;
|
||||
|
||||
#else
|
||||
|
|
Loading…
Reference in a new issue