1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Copyright (C) 2015 Josh Poimboeuf <jpoimboe@redhat.com>
10 #include <linux/list.h>
15 #include <asm/orc_types.h>
19 INSN_JUMP_CONDITIONAL
,
20 INSN_JUMP_UNCONDITIONAL
,
22 INSN_JUMP_DYNAMIC_CONDITIONAL
,
46 enum op_dest_type type
;
62 enum op_src_type type
;
70 struct list_head list
;
75 void arch_initial_func_cfi_state(struct cfi_init_state
*state
);
77 int arch_decode_instruction(const struct elf
*elf
, const struct section
*sec
,
78 unsigned long offset
, unsigned int maxlen
,
79 unsigned int *len
, enum insn_type
*type
,
80 unsigned long *immediate
,
81 struct list_head
*ops_list
);
83 bool arch_callee_saved_reg(unsigned char reg
);
85 unsigned long arch_jump_destination(struct instruction
*insn
);
87 unsigned long arch_dest_reloc_offset(int addend
);
89 const char *arch_nop_insn(int len
);
91 int arch_decode_hint_reg(struct instruction
*insn
, u8 sp_reg
);