| 1 |
|
| 2 | #ifndef _ENTRY_H
|
| 3 | #define _ENTRY_H
|
| 4 |
|
| 5 | #define PGM_FLAG_GUEST_FAULT 1
|
| 6 | #define SYSCALL_FLAG_PER_TRAP 1
|
| 7 |
|
| 8 | #ifndef __ASSEMBLER__
|
| 9 |
|
| 10 | #include <linux/percpu.h>
|
| 11 | #include <linux/types.h>
|
| 12 | #include <linux/signal.h>
|
| 13 | #include <asm/extable.h>
|
| 14 | #include <asm/lowcore.h>
|
| 15 | #include <asm/ptrace.h>
|
| 16 | #include <asm/idle.h>
|
| 17 |
|
| 18 | extern void *restart_stack;
|
| 19 |
|
| 20 | void system_call(void);
|
| 21 | void pgm_check_handler(void);
|
| 22 | void ext_int_handler(void);
|
| 23 | void io_int_handler(void);
|
| 24 | void mcck_int_handler(void);
|
| 25 | void restart_int_handler(void);
|
| 26 | void early_pgm_check_handler(void);
|
| 27 |
|
| 28 | struct task_struct *__switch_to_asm(struct task_struct *prev, struct task_struct *next);
|
| 29 | void __ret_from_fork(struct task_struct *prev, struct pt_regs *regs);
|
| 30 | void __do_pgm_check(struct pt_regs *regs, unsigned long flags);
|
| 31 | void __do_syscall(struct pt_regs *regs, unsigned long flags);
|
| 32 | void __do_early_pgm_check(struct pt_regs *regs);
|
| 33 |
|
| 34 | void do_protection_exception(struct pt_regs *regs);
|
| 35 | void do_dat_exception(struct pt_regs *regs);
|
| 36 | void do_secure_storage_access(struct pt_regs *regs);
|
| 37 | void do_non_secure_storage_access(struct pt_regs *regs);
|
| 38 | void do_secure_storage_violation(struct pt_regs *regs);
|
| 39 | void do_report_trap(struct pt_regs *regs, int si_signo, int si_code, char *str);
|
| 40 | void kernel_stack_invalid(struct pt_regs *regs);
|
| 41 | void handle_signal32(struct ksignal *ksig, sigset_t *oldset,
|
| 42 | struct pt_regs *regs);
|
| 43 |
|
| 44 | void do_io_irq(struct pt_regs *regs);
|
| 45 | void do_ext_irq(struct pt_regs *regs);
|
| 46 | void do_restart(void *arg);
|
| 47 | void __init startup_init(void);
|
| 48 | void die(struct pt_regs *regs, const char *str);
|
| 49 | int setup_profiling_timer(unsigned int multiplier);
|
| 50 |
|
| 51 | struct s390_mmap_arg_struct;
|
| 52 | struct fadvise64_64_args;
|
| 53 | struct old_sigaction;
|
| 54 |
|
| 55 | long sys_rt_sigreturn(void);
|
| 56 | long sys_sigreturn(void);
|
| 57 |
|
| 58 | long sys_s390_personality(unsigned int personality);
|
| 59 | long sys_s390_runtime_instr(int command, int signum);
|
| 60 | long sys_s390_guarded_storage(int command, struct gs_cb __user *);
|
| 61 | long sys_s390_pci_mmio_write(unsigned long, const void __user *, size_t);
|
| 62 | long sys_s390_pci_mmio_read(unsigned long, void __user *, size_t);
|
| 63 | long sys_s390_sthyi(unsigned long function_code, void __user *buffer, u64 __user *return_code, unsigned long flags);
|
| 64 |
|
| 65 | unsigned long stack_alloc(void);
|
| 66 | void stack_free(unsigned long stack);
|
| 67 |
|
| 68 | extern int stack_invalid_lowcore_used;
|
| 69 | extern struct lowcore stack_invalid_lowcore;
|
| 70 |
|
| 71 | extern char kprobes_insn_page[];
|
| 72 |
|
| 73 | extern char _samode31[], _eamode31[];
|
| 74 | extern char _stext_amode31[], _etext_amode31[];
|
| 75 | extern struct exception_table_entry _start_amode31_ex_table[];
|
| 76 | extern struct exception_table_entry _stop_amode31_ex_table[];
|
| 77 |
|
| 78 | #define __amode31_data __section(".amode31.data")
|
| 79 | #define __amode31_ref __section(".amode31.refs")
|
| 80 | extern long _start_amode31_refs[], _end_amode31_refs[];
|
| 81 |
|
| 82 | #endif
|
| 83 | #endif
|