2005-04-16 15:20:36 -07:00
# ifndef _ASM_IA64_SECTIONS_H
# define _ASM_IA64_SECTIONS_H
/*
* Copyright ( C ) 1998 - 2003 Hewlett - Packard Co
* David Mosberger - Tang < davidm @ hpl . hp . com >
*/
2008-09-09 17:56:47 -05:00
# include <linux/elf.h>
# include <linux/uaccess.h>
2005-04-16 15:20:36 -07:00
# include <asm-generic/sections.h>
extern char __per_cpu_start [ ] , __per_cpu_end [ ] , __phys_per_cpu_start [ ] ;
2008-09-29 16:39:19 -07:00
# ifdef CONFIG_SMP
extern char __cpu0_per_cpu [ ] ;
# endif
2005-04-16 15:20:36 -07:00
extern char __start___vtop_patchlist [ ] , __end___vtop_patchlist [ ] ;
2008-05-27 13:23:16 -07:00
extern char __start___rse_patchlist [ ] , __end___rse_patchlist [ ] ;
2005-04-16 15:20:36 -07:00
extern char __start___mckinley_e9_bundles [ ] , __end___mckinley_e9_bundles [ ] ;
2006-10-13 10:05:45 -07:00
extern char __start___phys_stack_reg_patchlist [ ] , __end___phys_stack_reg_patchlist [ ] ;
2005-04-16 15:20:36 -07:00
extern char __start_gate_section [ ] ;
extern char __start_gate_mckinley_e9_patchlist [ ] , __end_gate_mckinley_e9_patchlist [ ] ;
extern char __start_gate_vtop_patchlist [ ] , __end_gate_vtop_patchlist [ ] ;
extern char __start_gate_fsyscall_patchlist [ ] , __end_gate_fsyscall_patchlist [ ] ;
extern char __start_gate_brl_fsys_bubble_down_patchlist [ ] , __end_gate_brl_fsys_bubble_down_patchlist [ ] ;
extern char __start_unwind [ ] , __end_unwind [ ] ;
2005-06-27 15:17:16 -07:00
extern char __start_ivt_text [ ] , __end_ivt_text [ ] ;
2005-04-16 15:20:36 -07:00
2008-09-03 20:43:36 -05:00
# undef dereference_function_descriptor
2008-09-09 17:56:47 -05:00
static inline void * dereference_function_descriptor ( void * ptr )
{
struct fdesc * desc = ptr ;
void * p ;
if ( ! probe_kernel_address ( & desc - > ip , p ) )
ptr = p ;
return ptr ;
}
2008-09-03 20:43:36 -05:00
2005-04-16 15:20:36 -07:00
# endif /* _ASM_IA64_SECTIONS_H */