xref: /openbmc/linux/arch/sh/include/asm/alignment.h (revision a99eae54)
1a99eae54SPaul Mundt #ifndef __ASM_SH_ALIGNMENT_H
2a99eae54SPaul Mundt #define __ASM_SH_ALIGNMENT_H
3a99eae54SPaul Mundt 
4a99eae54SPaul Mundt #include <linux/types.h>
5a99eae54SPaul Mundt 
6a99eae54SPaul Mundt extern void inc_unaligned_byte_access(void);
7a99eae54SPaul Mundt extern void inc_unaligned_word_access(void);
8a99eae54SPaul Mundt extern void inc_unaligned_dword_access(void);
9a99eae54SPaul Mundt extern void inc_unaligned_multi_access(void);
10a99eae54SPaul Mundt extern void inc_unaligned_user_access(void);
11a99eae54SPaul Mundt extern void inc_unaligned_kernel_access(void);
12a99eae54SPaul Mundt 
13a99eae54SPaul Mundt #define UM_WARN		(1 << 0)
14a99eae54SPaul Mundt #define UM_FIXUP	(1 << 1)
15a99eae54SPaul Mundt #define UM_SIGNAL	(1 << 2)
16a99eae54SPaul Mundt 
17a99eae54SPaul Mundt extern unsigned int unaligned_user_action(void);
18a99eae54SPaul Mundt 
19a99eae54SPaul Mundt extern void unaligned_fixups_notify(struct task_struct *, insn_size_t, struct pt_regs *);
20a99eae54SPaul Mundt 
21a99eae54SPaul Mundt #endif /* __ASM_SH_ALIGNMENT_H */
22