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/regdef.h>
14 .L_fixup_handle_unaligned:
19 * unsigned long unaligned_read(void *addr, void *value, unsigned long n, bool sign)
26 SYM_FUNC_START(unaligned_read)
53 _asm_extable 1b, .L_fixup_handle_unaligned
54 _asm_extable 2b, .L_fixup_handle_unaligned
55 _asm_extable 4b, .L_fixup_handle_unaligned
56 SYM_FUNC_END(unaligned_read)
59 * unsigned long unaligned_write(void *addr, unsigned long value, unsigned long n)
65 SYM_FUNC_START(unaligned_write)
82 _asm_extable 2b, .L_fixup_handle_unaligned
83 SYM_FUNC_END(unaligned_write)