Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/cddl/dev/dtrace/riscv/instr_size.c
48375 views
1
/*
2
* SPDX-License-Identifier: CDDL 1.0
3
*
4
* Copyright 2023 Christos Margiolis <[email protected]>
5
*/
6
7
#include <sys/types.h>
8
#include <sys/dtrace.h>
9
10
#include <machine/riscvreg.h>
11
12
#define RVC_MASK 0x03
13
14
int
15
dtrace_instr_size(uint8_t *instr)
16
{
17
/* Detect compressed instructions. */
18
if ((~(*instr) & RVC_MASK) == 0)
19
return (INSN_SIZE);
20
else
21
return (INSN_C_SIZE);
22
}
23
24