2 * Copyright 2003 PathScale, Inc.
4 * Licensed under the GPL
6 #ifndef __UM_ELF_X86_64_H
7 #define __UM_ELF_X86_64_H
11 typedef unsigned long elf_greg_t
;
13 #define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
14 typedef elf_greg_t elf_gregset_t
[ELF_NGREG
];
16 typedef struct { } elf_fpregset_t
;
19 * This is used to ensure we don't load something for the wrong architecture.
21 #define elf_check_arch(x) \
22 ((x)->e_machine == EM_X86_64)
24 #define ELF_CLASS ELFCLASS64
25 #define ELF_DATA ELFDATA2LSB
26 #define ELF_ARCH EM_X86_64
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; \
46 #ifdef TIF_IA32 /* XXX */
47 clear_thread_flag(TIF_IA32
); \
50 #define USE_ELF_CORE_DUMP
51 #define ELF_EXEC_PAGESIZE 4096
53 #define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
55 extern long elf_aux_hwcap
;
56 #define ELF_HWCAP (elf_aux_hwcap)
58 #define ELF_PLATFORM "x86_64"
60 #define SET_PERSONALITY(ex, ibcs2) do ; while(0)
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
69 * ---------------------------------------------------------------------------
71 * c-file-style: "linux"