2008-04-17 09:46:26 +04:00
# ifndef _ENTRY_H
# define _ENTRY_H
# include <linux/types.h>
# include <linux/signal.h>
# include <asm/ptrace.h>
2012-03-11 19:59:27 +04:00
# include <asm/cputime.h>
2011-10-30 18:17:13 +04:00
extern void * restart_stack ;
2012-03-11 19:59:26 +04:00
void system_call ( void ) ;
void pgm_check_handler ( void ) ;
void ext_int_handler ( void ) ;
void io_int_handler ( void ) ;
void mcck_int_handler ( void ) ;
void restart_int_handler ( void ) ;
void restart_call_handler ( void ) ;
2012-07-20 13:15:08 +04:00
void psw_idle ( struct s390_idle_data * , unsigned long ) ;
2012-03-11 19:59:26 +04:00
2011-10-30 18:17:13 +04:00
asmlinkage long do_syscall_trace_enter ( struct pt_regs * regs ) ;
asmlinkage void do_syscall_trace_exit ( struct pt_regs * regs ) ;
2011-12-27 14:27:18 +04:00
void do_protection_exception ( struct pt_regs * regs ) ;
void do_dat_exception ( struct pt_regs * regs ) ;
void do_asce_exception ( struct pt_regs * regs ) ;
2008-04-17 09:46:26 +04:00
2012-10-18 20:10:06 +04:00
void addressing_exception ( struct pt_regs * regs ) ;
void data_exception ( struct pt_regs * regs ) ;
void default_trap_handler ( struct pt_regs * regs ) ;
void divide_exception ( struct pt_regs * regs ) ;
void execute_exception ( struct pt_regs * regs ) ;
void hfp_divide_exception ( struct pt_regs * regs ) ;
void hfp_overflow_exception ( struct pt_regs * regs ) ;
void hfp_significance_exception ( struct pt_regs * regs ) ;
void hfp_sqrt_exception ( struct pt_regs * regs ) ;
void hfp_underflow_exception ( struct pt_regs * regs ) ;
void illegal_op ( struct pt_regs * regs ) ;
void operand_exception ( struct pt_regs * regs ) ;
void overflow_exception ( struct pt_regs * regs ) ;
void privileged_op ( struct pt_regs * regs ) ;
void space_switch_exception ( struct pt_regs * regs ) ;
void special_op_exception ( struct pt_regs * regs ) ;
void specification_exception ( struct pt_regs * regs ) ;
void transaction_exception ( struct pt_regs * regs ) ;
void translation_exception ( struct pt_regs * regs ) ;
2011-01-05 14:48:10 +03:00
void do_per_trap ( struct pt_regs * regs ) ;
2008-04-17 09:46:26 +04:00
void syscall_trace ( struct pt_regs * regs , int entryexit ) ;
void kernel_stack_overflow ( struct pt_regs * regs ) ;
void do_signal ( struct pt_regs * regs ) ;
2012-05-22 07:42:15 +04:00
void handle_signal32 ( unsigned long sig , struct k_sigaction * ka ,
2008-04-17 09:46:26 +04:00
siginfo_t * info , sigset_t * oldset , struct pt_regs * regs ) ;
2011-10-30 18:17:13 +04:00
void do_notify_resume ( struct pt_regs * regs ) ;
2008-04-17 09:46:26 +04:00
2012-03-11 19:59:31 +04:00
struct ext_code ;
void do_extint ( struct pt_regs * regs , struct ext_code , unsigned int , unsigned long ) ;
2011-10-30 18:17:13 +04:00
void do_restart ( void ) ;
2008-04-17 09:46:26 +04:00
void __init startup_init ( void ) ;
2011-12-27 14:27:18 +04:00
void die ( struct pt_regs * regs , const char * str ) ;
2008-04-17 09:46:26 +04:00
2011-10-30 18:17:13 +04:00
void __init time_init ( void ) ;
2010-03-11 02:21:15 +03:00
struct s390_mmap_arg_struct ;
2008-04-17 09:46:26 +04:00
struct fadvise64_64_args ;
struct old_sigaction ;
2010-03-11 02:21:15 +03:00
long sys_mmap2 ( struct s390_mmap_arg_struct __user * arg ) ;
2010-03-11 02:21:18 +03:00
long sys_s390_ipc ( uint call , int first , unsigned long second ,
2008-04-17 09:46:26 +04:00
unsigned long third , void __user * ptr ) ;
2010-08-13 12:06:39 +04:00
long sys_s390_personality ( unsigned int personality ) ;
2009-01-14 16:14:36 +03:00
long sys_s390_fadvise64 ( int fd , u32 offset_high , u32 offset_low ,
2008-04-17 09:46:26 +04:00
size_t len , int advice ) ;
2009-01-14 16:14:36 +03:00
long sys_s390_fadvise64_64 ( struct fadvise64_64_args __user * args ) ;
long sys_s390_fallocate ( int fd , int mode , loff_t offset , u32 len_high ,
u32 len_low ) ;
2008-04-17 09:46:26 +04:00
long sys_sigreturn ( void ) ;
long sys_rt_sigreturn ( void ) ;
long sys32_sigreturn ( void ) ;
long sys32_rt_sigreturn ( void ) ;
# endif /* _ENTRY_H */