1
2
3
4
5
6
7
8
9
10 #ifndef __UNICORE_ELF_H__
11 #define __UNICORE_ELF_H__
12
13 #include <asm/hwcap.h>
14
15
16
17
18 #include <asm/ptrace.h>
19 #include <linux/elf-em.h>
20
21 typedef unsigned long elf_greg_t;
22 typedef unsigned long elf_freg_t[3];
23
24 #define ELF_NGREG (sizeof(struct pt_regs) / sizeof(elf_greg_t))
25 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
26
27 typedef struct fp_state elf_fpregset_t;
28
29 #define R_UNICORE_NONE 0
30 #define R_UNICORE_PC24 1
31 #define R_UNICORE_ABS32 2
32 #define R_UNICORE_CALL 28
33 #define R_UNICORE_JUMP24 29
34
35
36
37
38 #define ELF_CLASS ELFCLASS32
39 #define ELF_DATA ELFDATA2LSB
40 #define ELF_ARCH EM_UNICORE
41
42
43
44
45
46
47
48 #define ELF_PLATFORM_SIZE 8
49 #define ELF_PLATFORM (elf_platform)
50
51 extern char elf_platform[];
52
53 struct elf32_hdr;
54
55
56
57
58 extern int elf_check_arch(const struct elf32_hdr *);
59 #define elf_check_arch elf_check_arch
60
61 struct task_struct;
62 int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);
63 #define ELF_CORE_COPY_TASK_REGS dump_task_regs
64
65 #define ELF_EXEC_PAGESIZE 4096
66
67
68
69
70
71
72 #define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
73
74
75
76
77 #define ELF_PLAT_INIT(_r, load_addr) {(_r)->UCreg_00 = 0; }
78
79 extern void elf_set_personality(const struct elf32_hdr *);
80 #define SET_PERSONALITY(ex) elf_set_personality(&(ex))
81
82 struct mm_struct;
83 extern unsigned long arch_randomize_brk(struct mm_struct *mm);
84 #define arch_randomize_brk arch_randomize_brk
85
86 extern int vectors_user_mapping(void);
87 #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping()
88 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES
89
90 #endif