[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:
Timo Kreuzer 2015-04-11 12:24:34 +00:00
parent 4f80779e54
commit 9db44f101d
5 changed files with 117 additions and 35 deletions

View file

@ -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),

View file

@ -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
//

View file

@ -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

View file

@ -79,6 +79,15 @@ 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.
@ -117,8 +126,26 @@ typedef struct _CONTEXT {
ULONG Sp;
ULONG Lr;
ULONG Pc;
ULONG Psr;
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
//

View file

@ -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