xref: /freebsd/sys/cddl/dev/kinst/riscv/kinst_isa.h (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
1 /*
2  * SPDX-License-Identifier: CDDL 1.0
3  *
4  * Copyright (c) 2023 The FreeBSD Foundation
5  *
6  * This software was developed by Christos Margiolis <christos@FreeBSD.org>
7  * under sponsorship from the FreeBSD Foundation.
8  */
9 
10 #ifndef _KINST_ISA_H_
11 #define _KINST_ISA_H_
12 
13 #include <machine/riscvreg.h>
14 #include <machine/encoding.h>
15 
16 #define KINST_PATCHVAL		MATCH_EBREAK
17 #define KINST_C_PATCHVAL	MATCH_C_EBREAK
18 
19 /*
20  * The trampoline contains [instruction, [nop padding], ebreak].
21  */
22 #define KINST_TRAMP_SIZE	8
23 
24 typedef uint32_t kinst_patchval_t;
25 
26 struct kinst_probe_md {
27 	int	instlen;	/* original instr len */
28 	bool	emulate;	/* emulate in sw */
29 };
30 
31 #endif /* _KINST_ISA_H_ */
32