1/* SPDX-License-Identifier: GPL-2.0-only */
2#ifndef	__ASM_PATCHING_H
3#define	__ASM_PATCHING_H
4
5#include <linux/types.h>
6
7int aarch64_insn_read(void *addr, u32 *insnp);
8int aarch64_insn_write(void *addr, u32 insn);
9
10int aarch64_insn_write_literal_u64(void *addr, u64 val);
11void *aarch64_insn_set(void *dst, u32 insn, size_t len);
12void *aarch64_insn_copy(void *dst, void *src, size_t len);
13
14int aarch64_insn_patch_text_nosync(void *addr, u32 insn);
15int aarch64_insn_patch_text(void *addrs[], u32 insns[], int cnt);
16
17#endif	/* __ASM_PATCHING_H */
18