]>
Commit | Line | Data |
---|---|---|
2874c5fd | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
58e0166a JB |
2 | /* |
3 | * OpenRISC Linux | |
4 | * | |
5 | * Linux architectural port borrowing liberally from similar works of | |
6 | * others. All original copyrights apply as per the original source | |
7 | * declaration. | |
8 | * | |
9 | * OpenRISC implementation: | |
10 | * Copyright (C) 2003 Matjaz Breskvar <phoenix@bsemi.com> | |
11 | * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se> | |
12 | * et al. | |
58e0166a | 13 | */ |
58e0166a JB |
14 | #ifndef __ASM_OPENRISC_ELF_H |
15 | #define __ASM_OPENRISC_ELF_H | |
16 | ||
58e0166a | 17 | |
b0e026f4 | 18 | #include <linux/types.h> |
913c2302 | 19 | #include <uapi/asm/elf.h> |
b0e026f4 | 20 | |
58e0166a JB |
21 | /* |
22 | * This is used to ensure we don't load something for the wrong architecture. | |
23 | */ | |
24 | ||
25 | #define elf_check_arch(x) \ | |
26 | (((x)->e_machine == EM_OR32) || ((x)->e_machine == EM_OPENRISC)) | |
27 | ||
28 | /* This is the location that an ET_DYN program is loaded if exec'ed. Typical | |
29 | use of this is to invoke "./ld.so someprog" to test out a new version of | |
30 | the loader. We need to make sure that it is out of the way of the program | |
31 | that it will "exec", and that there is sufficient room for the brk. */ | |
32 | ||
33 | #define ELF_ET_DYN_BASE (0x08000000) | |
34 | ||
35 | /* | |
36 | * Enable dump using regset. | |
37 | * This covers all of general/DSP/FPU regs. | |
38 | */ | |
39 | #define CORE_DUMP_USE_REGSET | |
40 | ||
41 | #define ELF_EXEC_PAGESIZE 8192 | |
42 | ||
43 | extern void dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt); | |
44 | #define ELF_CORE_COPY_REGS(dest, regs) dump_elf_thread(dest, regs); | |
45 | ||
46 | /* This yields a mask that user programs can use to figure out what | |
47 | instruction set this cpu supports. This could be done in userspace, | |
48 | but it's not easy, and we've already done it here. */ | |
49 | ||
50 | #define ELF_HWCAP (0) | |
51 | ||
52 | /* This yields a string that ld.so will use to load implementation | |
53 | specific libraries for optimization. This is more specific in | |
54 | intent than poking at uname or /proc/cpuinfo. | |
55 | ||
56 | For the moment, we have only optimizations for the Intel generations, | |
57 | but that could change... */ | |
58 | ||
59 | #define ELF_PLATFORM (NULL) | |
60 | ||
58e0166a | 61 | #endif |