Scott Johnson
3feb3c7e84
Convert vcsr to csr_t
5 years ago
Scott Johnson
77362855bd
Convert vlenb to csr_t
Since it's constant, no new trace events will be seen.
5 years ago
Scott Johnson
9ac2dcf9a5
Convert vtype to csr_t
Adds commit log events for vtype to many vector instructions.
5 years ago
Scott Johnson
88c1bfce90
Convert vl to csr_t
Adds commit log events for vl to many vector instructions.
5 years ago
Scott Johnson
464a7fb56a
Convert vxrm to csr_t
5 years ago
Scott Johnson
72a6f9fac8
Convert vstart to csr_t
Adds commit log events for vstart to many vector instructions.
5 years ago
Scott Johnson
347ff31125
Convert vxsat to csr_t
Adds commit log events for vxsat to many vector instructions.
5 years ago
Scott Johnson
52c23a28c5
Be consistent in use of P_SET_OV macro for setting vxsat
5 years ago
Scott Johnson
7078352fab
Initialize vectorUnit_t attributes to avoid Valgrind warnings
5 years ago
Scott Johnson
8260cd1897
Initialize dcsr to fix Valgrind warnings about uninitialized vars
5 years ago
Andrew Waterman
9e40ff90c6
Merge pull request #818 from scottj97/misc-csrs
Convert sentropy and minor CSRs to csr_t
5 years ago
Scott Johnson
a01d47c24e
Convert mhartid to csr_t
5 years ago
Scott Johnson
2ab451d8a4
Convert mvendorid to csr_t
5 years ago
Scott Johnson
77e8598d5d
Convert mimpid to csr_t
5 years ago
Scott Johnson
031431fd8d
Convert marchid to csr_t
5 years ago
Scott Johnson
71faab7fa3
Convert sentropy to csr_t
5 years ago
Scott Johnson
3083b125d6
Fix `csrrw sentropy` when --log-commits is enabled
The logging calls get_csr(write=false, peek=true) which caused an
illegal instruction trap on every sentropy access.
The logged value will be useless, though, since it will fetch two more
bytes from /dev/urandom for the logged value reported. But it's not
clear that there's a more useful option.
5 years ago
Andrew Waterman
6d9fb18850
Merge pull request #816 from scottj97/fp-csrs
Convert floating-point CSRs to csr_t
5 years ago
Scott Johnson
7fecd35cda
Convert FCSR to csr_t
5 years ago
Scott Johnson
bb09cd92b2
Remove unnecessary double-setting of mstatus.FS=Dirty
fflags->write() already sets that.
5 years ago
Scott Johnson
2b26a3cdf1
Convert frm & fflags to csr_t
Adds proper logging of fflags on FP arithmetic ops.
5 years ago
Scott Johnson
ede97384f6
Fix logging of FCSR and VCSR
It looks like `csrw fcsr` was intended to log writes to FFLAGS, FRM,
and FCSR, but only logged FCSR (because LOG_CSR() always used `which`
to record which CSR was written).
This changes it to log writes to FRM and FFLAGS, the two registers
which compose FCSR. There's no need to log FCSR since that is already
covered by the other two.
The logging of `csrw vcsr` was intended to log writes to VXSAT and
VXRM but instead would report a write to VCSR that only showed the
contents of VXRM.
5 years ago
Andrew Waterman
663f71bb86
Merge pull request #815 from scottj97/mstatush
Convert mstatush to csr_t
5 years ago
Andrew Waterman
f9647e824f
Merge pull request #813 from scottj97/debug-csrs
Convert debug csrs to csr_t
5 years ago
Scott Johnson
dac0d3ce71
Make mstatush bits writable on hypervisor configs
Fixes #812 .
Note that only GVA & MPV are actually writable; MBE and SBE are fixed
inside mstatus_csr_t::unlogged_write().
5 years ago
Scott Johnson
0088ece83a
Convert mstatush to csr_t
Maintains non-writability reported as issue #812
5 years ago
Scott Johnson
4730be82e6
Allow `csrr mstatush` to see MPV and GVA bits too
But it doesn't help much, because `csrw mstatush` doesn't do anything.
5 years ago
Scott Johnson
f0d63c4c3e
Convert tdata3 to csr_t
5 years ago
Scott Johnson
1fe77945de
Convert dcsr to csr_t
5 years ago
Scott Johnson
bfcf4707b3
Move dcsr_t definition to csrs.h
In prep for its conversion to csr_t.
5 years ago
Scott Johnson
c3f918afad
Convert dpc to csr_t
5 years ago
Scott Johnson
2c9648735e
Convert dscratch0/1 to csr_t
5 years ago
Scott Johnson
428c2aa1f0
Convert tdata2 to csr_t
5 years ago
Scott Johnson
7c17f36fec
Extract variable for repeated tdata2 lookups
5 years ago
Scott Johnson
1dfd188fe4
Convert tdata1 to csr_t
5 years ago
Scott Johnson
ab8e2fe519
Convert tselect to csr_t
5 years ago
Scott Johnson
d39d439b44
Remove unnecessary checks of tselect range
Writing to tselect is only allowed if the value is in range, so these
conditions can never be false.
5 years ago
Scott Johnson
56c16ec8ea
Remove no-longer-used variables
5 years ago
davidharrishmc
82c5d885d1
Update README.md ( #797 )
Corrected path to Makefile.include
5 years ago
Andrew Waterman
a5453e8017
Merge pull request #810 from scottj97/hyper-csrs
Convert remaining hypervisor CSRs to csr_t
5 years ago
Scott Johnson
81d99e6b32
Remove no-longer-used counteren_csr_t
5 years ago
Scott Johnson
3c37b848bd
Convert counteren CSRs to use new masked_csr_t
So I can remove the special counteren_csr_t next.
5 years ago
Scott Johnson
3b3fbe6db6
Convert hgatp to csr_t
5 years ago
Scott Johnson
25b0e3fb49
Convert hgeip to csr_t
5 years ago
Scott Johnson
53f810cd74
Convert hideleg to csr_t
5 years ago
Scott Johnson
ef6366e27a
Convert hedeleg to csr_t
5 years ago
Scott Johnson
1587bc4930
Convert hstatus_csr_t to more generic masked_csr_t
Which I will reuse next for other CSRs.
5 years ago
Scott Johnson
0cd68301b1
Convert htinst to csr_t
5 years ago
Scott Johnson
324ebf3b36
Convert htval to csr_t
5 years ago
Scott Johnson
70d5fba476
Convert hgeie to csr_t
5 years ago