blob: 8aacaf56508d408e425054e5991aeab78d8d9f9b [file] [log] [blame]
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -07001#ifndef __UM_ELF_PPC_H
2#define __UM_ELF_PPC_H
3
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -07004
5extern long elf_aux_hwcap;
6#define ELF_HWCAP (elf_aux_hwcap)
7
Martin Schwidefsky0b592682008-10-16 15:39:57 +02008#define SET_PERSONALITY(ex) do ; while(0)
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -07009
10#define ELF_EXEC_PAGESIZE 4096
11
12#define elf_check_arch(x) (1)
13
Robert P. J. Dayf688144b2007-02-10 01:44:22 -080014#ifdef CONFIG_64BIT
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -070015#define ELF_CLASS ELFCLASS64
16#else
17#define ELF_CLASS ELFCLASS32
18#endif
19
Bodo Stroesserdbc35cc72005-05-05 16:15:35 -070020#define R_386_NONE 0
21#define R_386_32 1
22#define R_386_PC32 2
23#define R_386_GOT32 3
24#define R_386_PLT32 4
25#define R_386_COPY 5
26#define R_386_GLOB_DAT 6
27#define R_386_JMP_SLOT 7
28#define R_386_RELATIVE 8
29#define R_386_GOTOFF 9
30#define R_386_GOTPC 10
31#define R_386_NUM 11
32
33#define ELF_PLATFORM (0)
34
35#define ELF_ET_DYN_BASE (0x08000000)
36
37/* the following stolen from asm-ppc/elf.h */
38#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */
39#define ELF_NFPREG 33 /* includes fpscr */
40/* General registers */
41typedef unsigned long elf_greg_t;
42typedef elf_greg_t elf_gregset_t[ELF_NGREG];
43
44/* Floating point registers */
45typedef double elf_fpreg_t;
46typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
47
48#define ELF_DATA ELFDATA2MSB
49#define ELF_ARCH EM_PPC
50
51#endif