freebsd-dev/sys
Mark Johnston 1e2ceeb16a RISC-V: Add macros for reading performance counter CSRs.
The RISC-V spec defines several performance counter CSRs such as: cycle,
time, instret, hpmcounter(3...31).  They are defined to be 64-bits wide
on all RISC-V architectures.  On RV64 and RV128 they can be read from a
single CSR.  On RV32, additional CSRs (given the suffix "h") are present
which contain the upper 32 bits of these counters, and must be read as
well.  (See section 2.8 in the User ISA Spec for full details.)

This change adds macros for reading these values safely on any RISC-V
ISA length.  Obviously we aren't supporting anything other than RV64
at the moment, but this ensures we won't need to change how we read
these values if we ever do.

Submitted by:	Mitchell Horne <mhorne063@gmail.com>
Reviewed by:	jhb
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D17952
2018-11-13 18:12:06 +00:00
..
amd64 Add evdev support to amd64 and i386 kernels 2018-11-12 21:01:28 +00:00
arm use -m ${LD_EMULATION} for binary->elf link invocation 2018-11-09 19:16:01 +00:00
arm64 Drop the legacy ELF brandinfo for the old rtld from arm64 and riscv. 2018-11-07 18:28:55 +00:00
bsm
cam Only assert locked for many async events. 2018-11-05 18:47:29 +00:00
cddl Do not ignore arc_adjust() return value. 2018-11-10 01:58:37 +00:00
compat Regen after r340302: Fix freebsd32 mknod(at). 2018-11-09 21:02:07 +00:00
conf dtb.mk: Fix passing of ECHO to make_dtb{,o}.sh 2018-11-12 17:10:44 +00:00
contrib Octeon SDK: avoid use of uninitialized variable 2018-11-09 19:17:25 +00:00
crypto rijndael (AES): Avoid leaking sensitive data on kernel stack 2018-10-26 20:53:01 +00:00
ddb ddb: Enable 'thread <address>' 2018-10-20 20:45:49 +00:00
dev cxgbe/netmap: Fix cxgbe netmap when interface is DOWN 2018-11-12 17:57:12 +00:00
dts Fix test-dts{,o} targets 2018-11-12 22:18:11 +00:00
fs Change nfs_advlock() so that the NFSVOPUNLOCK() is mostly done at the end. 2018-11-06 22:50:50 +00:00
gdb
geom Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out, 2018-11-07 16:28:09 +00:00
gnu Update our devicetree to 4.19 for arm and arm64 2018-11-10 21:02:32 +00:00
i386 Add evdev support to amd64 and i386 kernels 2018-11-12 21:01:28 +00:00
isa Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
kern Add dynamic_kenv assertion to init_static_kenv 2018-11-13 04:34:30 +00:00
kgssapi OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
libkern mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
mips Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
modules Retire CLANG_NO_IAS34 2018-11-01 23:11:47 +00:00
net Fix rxcsum issue introduced in r338838 2018-11-07 19:31:48 +00:00
net80211 Fix misspellings of transmitter/transmitted 2018-08-10 20:37:32 +00:00
netgraph Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
netinet Ensure that IP fragments do not extend beyond IP_MAXPACKET. 2018-11-10 03:00:36 +00:00
netinet6 Add ability to use dynamic external prefix in ipfw_nptv6 module. 2018-11-12 11:20:59 +00:00
netipsec Add sadb_x_sa2 extension to SADB_ACQUIRE requests. 2018-10-21 14:19:16 +00:00
netpfil Add ability to use dynamic external prefix in ipfw_nptv6 module. 2018-11-12 11:20:59 +00:00
netsmb Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
nfs Switch RIB and RADIX_NODE_HEAD lock from rwlock(9) to rmlock(9). 2018-06-16 08:26:23 +00:00
nfsclient
nfsserver
nlm
ofed Introduce and use sgid_index in CM requests in ibcore. 2018-09-09 07:20:15 +00:00
opencrypto Add sha224 to the authctx union. 2018-10-23 18:07:37 +00:00
powerpc powerpc64: reduce GENERIC64 diff versus amd64 GENERIC 2018-11-13 09:19:07 +00:00
riscv RISC-V: Add macros for reading performance counter CSRs. 2018-11-13 18:12:06 +00:00
rpc Set SO_SNDTIMEO in the client side krpc when CLSET_TIMEOUT is done. 2018-07-20 12:03:16 +00:00
security Add const to input-only char * arguments. 2018-11-02 20:50:22 +00:00
sparc64 Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
sys Allow absolute paths for O_BENEATH. 2018-11-11 00:04:36 +00:00
teken Implement ECMA-48 "REP", some Linuxen have started emitting them recently. 2018-10-21 08:29:36 +00:00
tests epoch_test: fix compile 2018-07-15 00:31:17 +00:00
tools Use ${ECHO} in dtb/dtbo build, pass in from dtb.mk for -s 2018-11-09 18:56:40 +00:00
ufs Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
vm Re-apply r336984, reverting r339934. 2018-11-10 20:33:08 +00:00
x86 Apply fix to un-cripple max cpu id on BSP earlier. 2018-11-12 19:17:26 +00:00
xdr
xen xen: legacy PVH fixes for the new interrupt count 2018-09-13 07:14:11 +00:00
Makefile