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