diff options
author | Geoff Norton <grompf@gmail.com> | 2015-07-25 14:48:20 +0900 |
---|---|---|
committer | Geoff Norton <grompf@gmail.com> | 2015-07-27 21:12:04 -0700 |
commit | 16c43e35d1a9a858374757ccf0484a50afdb0b69 (patch) | |
tree | 1e8977500a18b28c00716d5378a1d5f0afa3b7a3 /src/pal/inc/rt | |
parent | 0a83c2fc30146b335a24c85de2a5ba33a72bdbdd (diff) | |
download | coreclr-16c43e35d1a9a858374757ccf0484a50afdb0b69.tar.gz coreclr-16c43e35d1a9a858374757ccf0484a50afdb0b69.tar.bz2 coreclr-16c43e35d1a9a858374757ccf0484a50afdb0b69.zip |
[aarch64] Initial aarch64/linux bring up
Diffstat (limited to 'src/pal/inc/rt')
-rw-r--r-- | src/pal/inc/rt/ntimage.h | 19 | ||||
-rw-r--r-- | src/pal/inc/rt/palrt.h | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/pal/inc/rt/ntimage.h b/src/pal/inc/rt/ntimage.h index 77a19a9b9f..d6c273f794 100644 --- a/src/pal/inc/rt/ntimage.h +++ b/src/pal/inc/rt/ntimage.h @@ -940,6 +940,25 @@ typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION; #define IMAGE_REL_ARM_SECTION 0x000E // Section table index #define IMAGE_REL_ARM_SECREL 0x000F // Offset within section +// +// ARM64 relocation types +// +#define IMAGE_REL_ARM64_ABSOLUTE 0x0000 +#define IMAGE_REL_ARM64_ADDR32 0x0001 +#define IMAGE_REL_ARM64_ADDR32NB 0x0002 +#define IMAGE_REL_ARM64_BRANCH26 0x0003 +#define IMAGE_REL_ARM64_PAGEBASE_REL21 0x0004 +#define IMAGE_REL_ARM64_REL21 0x0005 +#define IMAGE_REL_ARM64_PAGEOFFSET_12A 0x0006 +#define IMAGE_REL_ARM64_PAGEOFFSET_12L 0x0007 +#define IMAGE_REL_ARM64_SECREL 0x0008 +#define IMAGE_REL_ARM64_SECREL_LOW12A 0x0009 +#define IMAGE_REL_ARM64_SECREL_HIGH12A 0x000A +#define IMAGE_REL_ARM64_SECREL_LOW12L 0x000B +#define IMAGE_REL_ARM64_TOKEN 0x000C +#define IMAGE_REL_ARM64_SECTION 0x000D +#define IMAGE_REL_ARM64_ADDR64 0x000E + #define IMAGE_REL_AM_ABSOLUTE 0x0000 #define IMAGE_REL_AM_ADDR32 0x0001 #define IMAGE_REL_AM_ADDR32NB 0x0002 diff --git a/src/pal/inc/rt/palrt.h b/src/pal/inc/rt/palrt.h index 994aa6c0fa..cee51734fa 100644 --- a/src/pal/inc/rt/palrt.h +++ b/src/pal/inc/rt/palrt.h @@ -1387,6 +1387,7 @@ typedef VOID (__stdcall *WAITORTIMERCALLBACK)(PVOID, BOOLEAN); #define PROCESSOR_ARCHITECTURE_AMD64 9 #define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10 #define PROCESSOR_ARCHITECTURE_NEUTRAL 11 +#define PROCESSOR_ARCHITECTURE_ARM64 12 #define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF @@ -1636,6 +1637,24 @@ typedef struct _DISPATCHER_CONTEXT { DWORD Reserved; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; +#elif defined(_ARM64_) + +typedef struct _DISPATCHER_CONTEXT { + ULONG64 ControlPc; + ULONG64 ImageBase; + PRUNTIME_FUNCTION FunctionEntry; + ULONG64 EstablisherFrame; + ULONG64 TargetPc; + PCONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + PUNWIND_HISTORY_TABLE HistoryTable; + ULONG64 ScopeIndex; + BOOLEAN ControlPcIsUnwound; + PBYTE NonVolatileRegisters; + ULONG64 Reserved; +} DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; + #else typedef struct _DISPATCHER_CONTEXT { |