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 a9dfadd0565..aae40e8c3aa 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h @@ -122,8 +122,27 @@ struct thread_struct {  };   /* Thread struct flags. */ +#define PARISC_UAC_NOPRINT	(1UL << 0)	/* see prctl and unaligned.c */ +#define PARISC_UAC_SIGBUS	(1UL << 1)  #define PARISC_KERNEL_DEATH	(1UL << 31)	/* see die_if_kernel()... */ +#define PARISC_UAC_SHIFT	0 +#define PARISC_UAC_MASK		(PARISC_UAC_NOPRINT|PARISC_UAC_SIGBUS) + +#define SET_UNALIGN_CTL(task,value)                                       \ +        ({                                                                \ +        (task)->thread.flags = (((task)->thread.flags & ~PARISC_UAC_MASK) \ +                                | (((value) << PARISC_UAC_SHIFT) &        \ +                                   PARISC_UAC_MASK));                     \ +        0;                                                                \ +        }) + +#define GET_UNALIGN_CTL(task,addr)                                        \ +        ({                                                                \ +        put_user(((task)->thread.flags & PARISC_UAC_MASK)                 \ +                 >> PARISC_UAC_SHIFT, (int __user *) (addr));             \ +        }) +  #define INIT_THREAD { \  	regs:	{	gr: { 0, }, \  			fr: { 0, }, \  | 
