Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2021-10-06 | Make vxsat into its own class | Scott Johnson | 1 | -0/+8 | |
Since its rules will need to be different than other vector CSRs (coming next). No functional change intended. | |||||
2021-10-06 | Let each sstatus CSR determine extension enable | Scott Johnson | 1 | -0/+2 | |
No functional change intended. This will allow me to consider whether the given field exists at all, which I will eventually use to fix #823. | |||||
2021-10-06 | Give sstatus_csr_t handles to its base_status_csr_t constituents | Scott Johnson | 1 | -1/+6 | |
So I can add specialized methods to base_status_csr_t next, for use from within sstatus_csr_t. | |||||
2021-09-29 | Convert vlenb to csr_t | Scott Johnson | 1 | -1/+1 | |
Since it's constant, no new trace events will be seen. | |||||
2021-09-29 | Convert vstart to csr_t | Scott Johnson | 1 | -0/+5 | |
Adds commit log events for vstart to many vector instructions. | |||||
2021-09-29 | Convert vxsat to csr_t | Scott Johnson | 1 | -0/+11 | |
Adds commit log events for vxsat to many vector instructions. | |||||
2021-09-28 | Convert sentropy to csr_t | Scott Johnson | 1 | -0/+11 | |
2021-09-27 | Convert FCSR to csr_t | Scott Johnson | 1 | -0/+17 | |
2021-09-27 | Convert frm & fflags to csr_t | Scott Johnson | 1 | -0/+9 | |
Adds proper logging of fflags on FP arithmetic ops. | |||||
2021-09-27 | Merge pull request #815 from scottj97/mstatush | Andrew Waterman | 1 | -0/+13 | |
Convert mstatush to csr_t | |||||
2021-09-27 | Make mstatush bits writable on hypervisor configs | Scott Johnson | 1 | -0/+1 | |
Fixes #812. Note that only GVA & MPV are actually writable; MBE and SBE are fixed inside mstatus_csr_t::unlogged_write(). | |||||
2021-09-27 | Convert mstatush to csr_t | Scott Johnson | 1 | -0/+12 | |
Maintains non-writability reported as issue #812 | |||||
2021-09-26 | Convert dcsr to csr_t | Scott Johnson | 1 | -3/+11 | |
2021-09-26 | Move dcsr_t definition to csrs.h | Scott Johnson | 1 | -0/+13 | |
In prep for its conversion to csr_t. | |||||
2021-09-26 | Convert dpc to csr_t | Scott Johnson | 1 | -0/+6 | |
2021-09-26 | Convert dscratch0/1 to csr_t | Scott Johnson | 1 | -0/+7 | |
2021-09-26 | Convert tdata2 to csr_t | Scott Johnson | 1 | -0/+13 | |
2021-09-26 | Convert tdata1 to csr_t | Scott Johnson | 1 | -0/+9 | |
2021-09-26 | Convert tselect to csr_t | Scott Johnson | 1 | -0/+8 | |
2021-09-25 | Remove no-longer-used counteren_csr_t | Scott Johnson | 1 | -9/+0 | |
2021-09-25 | Convert hgatp to csr_t | Scott Johnson | 1 | -0/+10 | |
2021-09-25 | Convert hstatus_csr_t to more generic masked_csr_t | Scott Johnson | 1 | -2/+5 | |
Which I will reuse next for other CSRs. | |||||
2021-09-25 | Convert mtval2 to csr_t | Scott Johnson | 1 | -0/+8 | |
2021-09-20 | Fix logged value of minstret | Scott Johnson | 1 | -0/+1 | |
It was off by 1. | |||||
2021-09-20 | Provide mechanism (not yet used) for the logged value to be different from ↵ | Scott Johnson | 1 | -0/+4 | |
read() I will need this soon for minstret. | |||||
2021-09-20 | Simplify logic and eliminate cpp macros | Scott Johnson | 1 | -0/+2 | |
2021-09-20 | Convert unprivileged counter shadows to csr_t | Scott Johnson | 1 | -0/+7 | |
Soon I will simplify some of these cpp macros. | |||||
2021-09-16 | Convert mhpmcounter, mhpmevents to csr_t | Scott Johnson | 1 | -0/+12 | |
2021-09-16 | Convert mcycle[h] (which is a mirror of minstret[h]) to csr_t | Scott Johnson | 1 | -0/+15 | |
2021-09-16 | Convert minstreth to csr_t | Scott Johnson | 1 | -0/+12 | |
2021-09-16 | Convert minstret to csr_t | Scott Johnson | 1 | -0/+18 | |
This is a little messy in RV32 since it's accessed via two different CSRs (upper and lower halves). This changes logging of mcycle[h] to log a change to minstret[h], since that's how it's always been implemented in Spike. There is no separate mcycle register. | |||||
2021-09-16 | Add new method csr_t::log_special_write() | Scott Johnson | 1 | -0/+3 | |
For use by minstreth next. | |||||
2021-09-08 | Remove class logged_csr_t | Scott Johnson | 1 | -17/+10 | |
2021-09-08 | Move logging functionality into root class | Scott Johnson | 1 | -11/+8 | |
So I can remove logged_csr_t next. | |||||
2021-09-08 | Implement mip_proxy_csr_t as child of logged_csr_t | Scott Johnson | 1 | -2/+3 | |
2021-09-08 | Implement mie_proxy_csr_t as child of logged_csr_t | Scott Johnson | 1 | -2/+3 | |
2021-09-08 | Implement virtualized_csr_t as logged_csr_t | Scott Johnson | 1 | -4/+4 | |
Goal is to eventually fold logged_csr_t back up into csr_t. | |||||
2021-09-08 | Let compute_new_satp call read() himself | Scott Johnson | 1 | -1/+1 | |
2021-09-08 | Move satp methods into satp classes | Scott Johnson | 1 | -0/+3 | |
2021-09-08 | Give virtualized_satp_csr_t a handle to satp | Scott Johnson | 1 | -1/+5 | |
Parent class has orig_csr but it's generic csr_t_p, and I will need to call methods on satp_csr_t next. | |||||
2021-09-08 | Use virtualized_csr_t for satp and vsatp | Scott Johnson | 1 | -0/+25 | |
This was much more complicated than the others because of the mstatus.TVM and hstatus.VTVM bits, and because of the special WARL-ness of satp that doesn't apply to vsatp. It appears (based on reading the code) that the commitlog for these two was problematic. CSRW to satp when V=1 was reporting a write to satp instead of vsatp which was actually written. Also a CSRW to vsatp looks like it was not being logged at all. Both problems should be fixed now. | |||||
2021-09-08 | Convert mcounteren to csr_t | Scott Johnson | 1 | -0/+8 | |
2021-09-08 | Move backdoor write method to mip-specialized class | Scott Johnson | 1 | -3/+5 | |
Since that's the only one that needs it. | |||||
2021-09-08 | Declare mip/mie to use customized classes | Scott Johnson | 1 | -2/+5 | |
Because I plan to make these two have slightly different APIs next. | |||||
2021-09-08 | Convert hstatus to csr_t family | Scott Johnson | 1 | -0/+8 | |
2021-09-08 | Convert medeleg to csr_t family | Scott Johnson | 1 | -0/+11 | |
2021-09-08 | Convert mideleg to csr_t family | Scott Johnson | 1 | -0/+11 | |
2021-09-08 | Convert sie/hie/vsie to csr_t family | Scott Johnson | 1 | -0/+14 | |
2021-09-08 | Convert mie to csr_t family | Scott Johnson | 1 | -0/+7 | |
This changes the commitlog of `csrw sie` so that it only logs a change to `mie`, instead of both `mie` and `sie`. This is arguably preferable, since there is no real `sie` register -- it is only a view into `mie`. It also adds proper tracing of the modification to `mie` when doing `csrw` to `hie` and `vsie`, which were both missing previously. | |||||
2021-09-08 | Make proper subclass for mip | Scott Johnson | 1 | -2/+11 | |
To segregate things that differ from mie. |