diff options
Diffstat (limited to 'arch/ia64/include/asm/sections.h')
-rw-r--r-- | arch/ia64/include/asm/sections.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/sections.h b/arch/ia64/include/asm/sections.h index 7286e4a9fe84..1a873b36a4a1 100644 --- a/arch/ia64/include/asm/sections.h +++ b/arch/ia64/include/asm/sections.h | |||
@@ -6,9 +6,14 @@ | |||
6 | * David Mosberger-Tang <davidm@hpl.hp.com> | 6 | * David Mosberger-Tang <davidm@hpl.hp.com> |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include <linux/elf.h> | ||
10 | #include <linux/uaccess.h> | ||
9 | #include <asm-generic/sections.h> | 11 | #include <asm-generic/sections.h> |
10 | 12 | ||
11 | extern char __per_cpu_start[], __per_cpu_end[], __phys_per_cpu_start[]; | 13 | extern char __per_cpu_start[], __per_cpu_end[], __phys_per_cpu_start[]; |
14 | #ifdef CONFIG_SMP | ||
15 | extern char __cpu0_per_cpu[]; | ||
16 | #endif | ||
12 | extern char __start___vtop_patchlist[], __end___vtop_patchlist[]; | 17 | extern char __start___vtop_patchlist[], __end___vtop_patchlist[]; |
13 | extern char __start___rse_patchlist[], __end___rse_patchlist[]; | 18 | extern char __start___rse_patchlist[], __end___rse_patchlist[]; |
14 | extern char __start___mckinley_e9_bundles[], __end___mckinley_e9_bundles[]; | 19 | extern char __start___mckinley_e9_bundles[], __end___mckinley_e9_bundles[]; |
@@ -21,5 +26,17 @@ extern char __start_gate_brl_fsys_bubble_down_patchlist[], __end_gate_brl_fsys_b | |||
21 | extern char __start_unwind[], __end_unwind[]; | 26 | extern char __start_unwind[], __end_unwind[]; |
22 | extern char __start_ivt_text[], __end_ivt_text[]; | 27 | extern char __start_ivt_text[], __end_ivt_text[]; |
23 | 28 | ||
29 | #undef dereference_function_descriptor | ||
30 | static inline void *dereference_function_descriptor(void *ptr) | ||
31 | { | ||
32 | struct fdesc *desc = ptr; | ||
33 | void *p; | ||
34 | |||
35 | if (!probe_kernel_address(&desc->ip, p)) | ||
36 | ptr = p; | ||
37 | return ptr; | ||
38 | } | ||
39 | |||
40 | |||
24 | #endif /* _ASM_IA64_SECTIONS_H */ | 41 | #endif /* _ASM_IA64_SECTIONS_H */ |
25 | 42 | ||