diff options
Diffstat (limited to 'include/asm-s390/processor.h')
| -rw-r--r-- | include/asm-s390/processor.h | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h index a00f79dd323b..4af80af2a88f 100644 --- a/include/asm-s390/processor.h +++ b/include/asm-s390/processor.h | |||
| @@ -143,11 +143,19 @@ struct stack_frame { | |||
| 143 | /* | 143 | /* |
| 144 | * Do necessary setup to start up a new thread. | 144 | * Do necessary setup to start up a new thread. |
| 145 | */ | 145 | */ |
| 146 | #define start_thread(regs, new_psw, new_stackp) do { \ | 146 | #define start_thread(regs, new_psw, new_stackp) do { \ |
| 147 | set_fs(USER_DS); \ | 147 | set_fs(USER_DS); \ |
| 148 | regs->psw.mask = psw_user_bits; \ | 148 | regs->psw.mask = psw_user_bits; \ |
| 149 | regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ | 149 | regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ |
| 150 | regs->gprs[15] = new_stackp ; \ | 150 | regs->gprs[15] = new_stackp; \ |
| 151 | } while (0) | ||
| 152 | |||
| 153 | #define start_thread31(regs, new_psw, new_stackp) do { \ | ||
| 154 | set_fs(USER_DS); \ | ||
| 155 | regs->psw.mask = psw_user32_bits; \ | ||
| 156 | regs->psw.addr = new_psw | PSW_ADDR_AMODE; \ | ||
| 157 | regs->gprs[15] = new_stackp; \ | ||
| 158 | crst_table_downgrade(current->mm, 1UL << 31); \ | ||
| 151 | } while (0) | 159 | } while (0) |
| 152 | 160 | ||
| 153 | /* Forward declaration, a strange C thing */ | 161 | /* Forward declaration, a strange C thing */ |
| @@ -328,16 +336,6 @@ extern void (*s390_base_mcck_handler_fn)(void); | |||
| 328 | extern void (*s390_base_pgm_handler_fn)(void); | 336 | extern void (*s390_base_pgm_handler_fn)(void); |
| 329 | extern void (*s390_base_ext_handler_fn)(void); | 337 | extern void (*s390_base_ext_handler_fn)(void); |
| 330 | 338 | ||
| 331 | /* | ||
| 332 | * CPU idle notifier chain. | ||
| 333 | */ | ||
| 334 | #define S390_CPU_IDLE 0 | ||
| 335 | #define S390_CPU_NOT_IDLE 1 | ||
| 336 | |||
| 337 | struct notifier_block; | ||
| 338 | int register_idle_notifier(struct notifier_block *nb); | ||
| 339 | int unregister_idle_notifier(struct notifier_block *nb); | ||
| 340 | |||
| 341 | #define ARCH_LOW_ADDRESS_LIMIT 0x7fffffffUL | 339 | #define ARCH_LOW_ADDRESS_LIMIT 0x7fffffffUL |
| 342 | 340 | ||
| 343 | #endif | 341 | #endif |
