1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
6 #include <linux/linkage.h>
9 #include <asm/asmmacro.h>
10 #include <asm/asm-extable.h>
11 #include <asm/errno.h>
12 #include <asm/export.h>
13 #include <asm/regdef.h>
15 .L_fixup_handle_unaligned:
20 * unsigned long unaligned_read(void *addr, void *value, unsigned long n, bool sign)
27 SYM_FUNC_START(unaligned_read)
54 _asm_extable 1b, .L_fixup_handle_unaligned
55 _asm_extable 2b, .L_fixup_handle_unaligned
56 _asm_extable 4b, .L_fixup_handle_unaligned
57 SYM_FUNC_END(unaligned_read)
60 * unsigned long unaligned_write(void *addr, unsigned long value, unsigned long n)
66 SYM_FUNC_START(unaligned_write)
83 _asm_extable 2b, .L_fixup_handle_unaligned
84 SYM_FUNC_END(unaligned_write)