aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/asm/processor.h')
-rw-r--r--arch/s390/include/asm/processor.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h
index 56831dfa9198..94e749c90230 100644
--- a/arch/s390/include/asm/processor.h
+++ b/arch/s390/include/asm/processor.h
@@ -35,6 +35,7 @@ static inline void get_cpu_id(struct cpuid *ptr)
35extern void s390_adjust_jiffies(void); 35extern void s390_adjust_jiffies(void);
36extern const struct seq_operations cpuinfo_op; 36extern const struct seq_operations cpuinfo_op;
37extern int sysctl_ieee_emulation_warnings; 37extern int sysctl_ieee_emulation_warnings;
38extern void execve_tail(void);
38 39
39/* 40/*
40 * User space process size: 2GB for 31 bit, 4TB or 8PT for 64 bit. 41 * User space process size: 2GB for 31 bit, 4TB or 8PT for 64 bit.
@@ -126,6 +127,7 @@ struct stack_frame {
126 regs->psw.mask = psw_user_bits | PSW_MASK_EA | PSW_MASK_BA; \ 127 regs->psw.mask = psw_user_bits | PSW_MASK_EA | PSW_MASK_BA; \
127 regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ 128 regs->psw.addr = new_psw | PSW_ADDR_AMODE; \
128 regs->gprs[15] = new_stackp; \ 129 regs->gprs[15] = new_stackp; \
130 execve_tail(); \
129} while (0) 131} while (0)
130 132
131#define start_thread31(regs, new_psw, new_stackp) do { \ 133#define start_thread31(regs, new_psw, new_stackp) do { \
@@ -135,6 +137,7 @@ struct stack_frame {
135 __tlb_flush_mm(current->mm); \ 137 __tlb_flush_mm(current->mm); \
136 crst_table_downgrade(current->mm, 1UL << 31); \ 138 crst_table_downgrade(current->mm, 1UL << 31); \
137 update_mm(current->mm, current); \ 139 update_mm(current->mm, current); \
140 execve_tail(); \
138} while (0) 141} while (0)
139 142
140/* Forward declaration, a strange C thing */ 143/* Forward declaration, a strange C thing */
@@ -150,7 +153,6 @@ static inline void show_cacheinfo(struct seq_file *m) { }
150 153
151/* Free all resources held by a thread. */ 154/* Free all resources held by a thread. */
152extern void release_thread(struct task_struct *); 155extern void release_thread(struct task_struct *);
153extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
154 156
155/* 157/*
156 * Return saved PC of a blocked thread. 158 * Return saved PC of a blocked thread.