Commit Graph

669 Commits

Author SHA1 Message Date
Jonathan Woodruff
c379a7a293 Changes to build with the new stat counters. 2021-09-24 13:18:55 +00:00
Peter Rugg
8ef44b0a6c Workaround single step wedges by not waiting for flush before halting 2021-09-24 10:33:58 +00:00
Franz Fuchs
9ea66bed86 Merge pull request #18 from CTSRD-CHERI/faf28_hpm_consistency
Using HPM information from one central struct
2021-09-20 13:21:52 +01:00
Franz Fuchs
d80bc24bf3 Bumped TagController 2021-09-20 11:59:32 +01:00
Franz Fuchs
9320e53720 Bumped RISCV_HPM_Events made minor changes 2021-09-17 10:38:48 +01:00
Franz Fuchs
01000dba56 bump RISCV_HPM_Events 2021-09-14 11:32:45 +01:00
Franz Fuchs
e675400ab8 Fixed things as pointed out by aj443 2021-09-13 16:35:23 +01:00
Franz Fuchs
726c9f19a9 put deprecate note on Performance_Monitoring.md 2021-09-08 16:47:34 +01:00
Jonathan Woodruff
c489a177d4 Fix type error. 2021-09-08 10:23:29 -05:00
Jonathan Woodruff
08231b7e5c Hopefully don't wedge on ifetch bus error.
We think that we were wedging on IFetch bus error.
It appears that we didn't make the last instruction fragment valid in the bus error case, and expect that this path was not previously exercised.
This change returns 0s (to hopefully make the error less subtle) in exactly the right number of fragments.
2021-09-08 10:11:25 -05:00
Franz Fuchs
5d021e8c2e Bump RISCV_HPM_Events 2021-09-08 12:29:07 +01:00
Franz Fuchs
c3775b80c9 Bumped new version of RISCV_HPM_Events 2021-09-07 16:38:30 +01:00
Franz Fuchs
b567db8e8e Updated RISCV_HPM_Events submodule 2021-09-07 11:16:40 +01:00
Franz Fuchs
f89e3d79c7 Bumped RISCV_HPM_Events 2021-09-07 08:32:34 +01:00
Franz Fuchs
b25d70a8cc performed corrections for CONTRACTS_VERIFY 2021-09-07 08:15:03 +01:00
Franz Fuchs
e58000c82d added HPM Events submodule again 2021-09-06 16:39:25 +01:00
Franz Fuchs
c3648b82c3 Removed submodule HPM Events temporarily 2021-09-06 16:34:38 +01:00
Franz Fuchs
ec1e29c513 Bump HPM Events 2021-09-06 16:01:32 +01:00
Franz Fuchs
bc7eed67ab Did more cleaning up 2021-09-06 15:55:28 +01:00
Franz Fuchs
4c9d89e936 Performed a bit of cleaning up 2021-09-06 13:33:13 +01:00
Franz Fuchs
0d42b6075a Bump new HPM Events submodule 2021-09-06 13:10:38 +01:00
Franz Fuchs
e4b4becea4 Added HPM Events submodule 2021-09-06 13:03:18 +01:00
Franz Fuchs
83172e612c Added makefile support for HPM events files 2021-09-06 12:44:29 +01:00
Franz Fuchs
e33b4021d8 Integrated generateHPMVector function 2021-09-03 17:37:43 +01:00
Franz Fuchs
61d788ebc7 define No_Of_Evts in StatCounters 2021-09-03 14:14:32 +01:00
Franz Fuchs
d36a129bf9 Bump TagController 2021-09-03 08:12:33 +01:00
Franz Fuchs
20e67971a5 Use type EventsCacheCore instead of Vector#(7, Bit#(1)) 2021-09-02 16:10:55 +01:00
Franz Fuchs
b490cbb414 Bump TagController 2021-09-02 15:01:10 +01:00
Franz Fuchs
9f615e4481 initial changes for HPM consistency 2021-09-02 14:50:17 +01:00
Robert Norton
0970951184 Fix decoding of lr / sc with explicit bounds.
When decoding {lr,sc}.{b,h,w,d,c,q}.{ddc,cap} the IType was not being set correctly. For sc we also need to set the destination register.
2021-09-01 10:16:49 +01:00
Peter Rugg
dbb6043760 Don't compile SelfInv* without define 2021-08-16 14:42:59 +01:00
Robert Norton
7e2a946c4c Fix incorrect check for permitStoreLocalCap in capChecksMem.
The check was missing a NOT and was actually checking for permitStoreGlobalCap.
2021-08-05 12:19:50 +01:00
Robert Norton
5b23f4cea0 Fix incorrect checks in capChecksMem.
These checks were broken in several ways:

1) a missing 'else' inverted the priority of PermitStoreViolation vs. PermitStore[Local]Cap exceptions
2) another missing 'else' inverted the priority of PermitStoreCap and PermitStoreLocalCap exceptions
3) No store checks were performed when mem_func == Amo because of the preceding if clause for loads

I decided to flatten the nested if statements by pulling out the conditions into boolean local variables. Hopefully this makes it clearer (as well as fixing the bugs).
2021-08-05 09:33:52 +01:00
Robert Norton
b811cdb967 Remove unnecessary bzero in elf_to_hex.
This was causing excessive physical memory usage when running tests in parallel resulting in out-of-memory killer being invoked.
2021-08-02 15:54:29 +01:00
Robert Norton
ff0221f6bc Fix CHERI Exception numbering to match spec.
It looks like PermitUnsealViolation and PermitSetCIDViolation were accidentally renumbered to fill in the gap left by the retired CCallAcessIDCViolation.
2021-08-02 12:15:05 +01:00
Robert Norton
a07e0d32f5 Improve error handling in Run_regression.py
1) Check the return code of subprocesses.
2) Add a 60s timeout to detect non-termination.
3) Don't run simulator if elf_to_hex fails.
4) Include return codes in log.
2021-08-02 12:09:49 +01:00
Franz Fuchs
cc25ee69d3 Check in Rename stage for nextPcs of Traps 2021-07-26 07:02:21 +01:00
Franz Fuchs
2831cd7ee3 Changed size of bags for testing SBC to 32 2021-07-16 14:51:26 +01:00
Peter Rugg
ae4a16cd6b Fix build issues for RVFI_DII simulators 2021-07-13 14:52:08 +01:00
Peter Rugg
cb4b67ff7d Enable TSO_MM for simulations 2021-07-12 15:50:54 +01:00
Peter Rugg
a8c4ce073d Factor out bsc flags to include_common 2021-07-12 15:50:54 +01:00
Franz Fuchs
483cef8852 Removed unnecessary display statements 2021-07-12 14:55:07 +02:00
Franz Fuchs
7b1b564d62 Added missing ifdef 2021-07-12 13:30:53 +01:00
Franz Fuchs
c37c611522 Merge branch 'CHERI' into faf28_sbc_jumps 2021-07-08 17:14:27 +01:00
Franz Fuchs
224ab35679 Completed introduction of new build flag 2021-07-08 15:38:19 +01:00
Franz Fuchs
4ba377366a Introduced new build flag for transient-execution testing contracts 2021-07-08 15:28:54 +01:00
jon
849d5c57f8 Fix condition where Queue can remain "empty" when there were outstanding
indices due to the head-1 element happening to match new requests.
This leads to "remove" when empty, leading to being "almostFull" when
there are no outstanding users that will remove anything.
2021-07-07 11:34:29 +01:00
jon
994321e527 Potential fix for lockup condition where the (undefined) bits of
instruction returned for an invalid fetch (that is, with a valid cause)
indicate a 2-fragment instruction but where a second fragment is not
available.
2021-07-07 11:34:29 +01:00
Franz Fuchs
db6a91e0fd mad Maps flush on reset 2021-07-06 15:19:37 +01:00
Franz Fuchs
2eb2202acd Added checking for wild exceptions in MemExePipeline including adding an addtional port to the ROB for reading ppc/orig_inst 2021-06-28 07:34:57 +01:00