diff options
Diffstat (limited to 'include/asm-um/elf-x86_64.h')
-rw-r--r-- | include/asm-um/elf-x86_64.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/include/asm-um/elf-x86_64.h b/include/asm-um/elf-x86_64.h new file mode 100644 index 000000000000..19309d001aa0 --- /dev/null +++ b/include/asm-um/elf-x86_64.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* | ||
2 | * Copyright 2003 PathScale, Inc. | ||
3 | * | ||
4 | * Licensed under the GPL | ||
5 | */ | ||
6 | #ifndef __UM_ELF_X86_64_H | ||
7 | #define __UM_ELF_X86_64_H | ||
8 | |||
9 | #include <asm/user.h> | ||
10 | |||
11 | typedef unsigned long elf_greg_t; | ||
12 | |||
13 | #define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t)) | ||
14 | typedef elf_greg_t elf_gregset_t[ELF_NGREG]; | ||
15 | |||
16 | typedef struct { } elf_fpregset_t; | ||
17 | |||
18 | /* | ||
19 | * This is used to ensure we don't load something for the wrong architecture. | ||
20 | */ | ||
21 | #define elf_check_arch(x) \ | ||
22 | ((x)->e_machine == EM_X86_64) | ||
23 | |||
24 | #define ELF_CLASS ELFCLASS64 | ||
25 | #define ELF_DATA ELFDATA2LSB | ||
26 | #define ELF_ARCH EM_X86_64 | ||
27 | |||
28 | #define ELF_PLAT_INIT(regs, load_addr) do { \ | ||
29 | PT_REGS_RBX(regs) = 0; \ | ||
30 | PT_REGS_RCX(regs) = 0; \ | ||
31 | PT_REGS_RDX(regs) = 0; \ | ||
32 | PT_REGS_RSI(regs) = 0; \ | ||
33 | PT_REGS_RDI(regs) = 0; \ | ||
34 | PT_REGS_RBP(regs) = 0; \ | ||
35 | PT_REGS_RAX(regs) = 0; \ | ||
36 | PT_REGS_R8(regs) = 0; \ | ||
37 | PT_REGS_R9(regs) = 0; \ | ||
38 | PT_REGS_R10(regs) = 0; \ | ||
39 | PT_REGS_R11(regs) = 0; \ | ||
40 | PT_REGS_R12(regs) = 0; \ | ||
41 | PT_REGS_R13(regs) = 0; \ | ||
42 | PT_REGS_R14(regs) = 0; \ | ||
43 | PT_REGS_R15(regs) = 0; \ | ||
44 | } while (0) | ||
45 | |||
46 | #ifdef TIF_IA32 /* XXX */ | ||
47 | clear_thread_flag(TIF_IA32); \ | ||
48 | #endif | ||
49 | |||
50 | #define USE_ELF_CORE_DUMP | ||
51 | #define ELF_EXEC_PAGESIZE 4096 | ||
52 | |||
53 | #define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3) | ||
54 | |||
55 | extern long elf_aux_hwcap; | ||
56 | #define ELF_HWCAP (elf_aux_hwcap) | ||
57 | |||
58 | #define ELF_PLATFORM "x86_64" | ||
59 | |||
60 | #define SET_PERSONALITY(ex, ibcs2) do ; while(0) | ||
61 | |||
62 | #endif | ||
63 | |||
64 | /* | ||
65 | * Overrides for Emacs so that we follow Linus's tabbing style. | ||
66 | * Emacs will notice this stuff at the end of the file and automatically | ||
67 | * adjust the settings for this buffer only. This must remain at the end | ||
68 | * of the file. | ||
69 | * --------------------------------------------------------------------------- | ||
70 | * Local variables: | ||
71 | * c-file-style: "linux" | ||
72 | * End: | ||
73 | */ | ||