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