1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd.
4 #include <linux/compiler.h>
6 static struct ins_ops
*csky__associate_ins_ops(struct arch
*arch
,
9 struct ins_ops
*ops
= NULL
;
11 /* catch all kind of jumps */
12 if (!strcmp(name
, "bt") ||
13 !strcmp(name
, "bf") ||
14 !strcmp(name
, "bez") ||
15 !strcmp(name
, "bnez") ||
16 !strcmp(name
, "bnezad") ||
17 !strcmp(name
, "bhsz") ||
18 !strcmp(name
, "bhz") ||
19 !strcmp(name
, "blsz") ||
20 !strcmp(name
, "blz") ||
21 !strcmp(name
, "br") ||
22 !strcmp(name
, "jmpi") ||
26 /* catch function call */
27 if (!strcmp(name
, "bsr") ||
28 !strcmp(name
, "jsri") ||
32 /* catch function return */
33 if (!strcmp(name
, "rts"))
37 arch__associate_ins_ops(arch
, name
, ops
);
41 static int csky__annotate_init(struct arch
*arch
, char *cpuid __maybe_unused
)
43 arch
->initialized
= true;
44 arch
->objdump
.comment_char
= '/';
45 arch
->associate_instruction_ops
= csky__associate_ins_ops
;