diff options
Diffstat (limited to 'include/asm-parisc/processor.h')
| -rw-r--r-- | include/asm-parisc/processor.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h index a9dfadd05658..aae40e8c3aa8 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h | |||
| @@ -122,8 +122,27 @@ struct thread_struct { | |||
| 122 | }; | 122 | }; |
| 123 | 123 | ||
| 124 | /* Thread struct flags. */ | 124 | /* Thread struct flags. */ |
| 125 | #define PARISC_UAC_NOPRINT (1UL << 0) /* see prctl and unaligned.c */ | ||
| 126 | #define PARISC_UAC_SIGBUS (1UL << 1) | ||
| 125 | #define PARISC_KERNEL_DEATH (1UL << 31) /* see die_if_kernel()... */ | 127 | #define PARISC_KERNEL_DEATH (1UL << 31) /* see die_if_kernel()... */ |
| 126 | 128 | ||
| 129 | #define PARISC_UAC_SHIFT 0 | ||
| 130 | #define PARISC_UAC_MASK (PARISC_UAC_NOPRINT|PARISC_UAC_SIGBUS) | ||
| 131 | |||
| 132 | #define SET_UNALIGN_CTL(task,value) \ | ||
| 133 | ({ \ | ||
| 134 | (task)->thread.flags = (((task)->thread.flags & ~PARISC_UAC_MASK) \ | ||
| 135 | | (((value) << PARISC_UAC_SHIFT) & \ | ||
| 136 | PARISC_UAC_MASK)); \ | ||
| 137 | 0; \ | ||
| 138 | }) | ||
| 139 | |||
| 140 | #define GET_UNALIGN_CTL(task,addr) \ | ||
| 141 | ({ \ | ||
| 142 | put_user(((task)->thread.flags & PARISC_UAC_MASK) \ | ||
| 143 | >> PARISC_UAC_SHIFT, (int __user *) (addr)); \ | ||
| 144 | }) | ||
| 145 | |||
| 127 | #define INIT_THREAD { \ | 146 | #define INIT_THREAD { \ |
| 128 | regs: { gr: { 0, }, \ | 147 | regs: { gr: { 0, }, \ |
| 129 | fr: { 0, }, \ | 148 | fr: { 0, }, \ |
