Commit Graph

517 Commits

Author SHA1 Message Date
Franz Fuchs
39e895ca4e added documentation of hardware performance monitoring events
This document lists all implemented events and gives a short explanation
of what counting these events means.
2021-03-04 16:45:02 +01:00
jon
6ea387f744 Fix performance bug in PC compression where we execute across a page
boundary.
2021-03-04 14:41:50 +00:00
Peter Rugg
0e1e2249a6 Default to dual-core builds 2021-03-04 11:54:35 +00:00
Jonathan Woodruff
db08e96596 Add Btb to the component.xml. 2021-03-03 20:27:31 +00:00
Peter Rugg
7a1d234e40 Merge branch 'ifetch-cleanup' into CHERI 2021-03-02 11:57:31 +00:00
Jessica Clarke
9dc27542f3 Use order-only prerequisites for directories
Hopefully this stops .depends.mk from being generated more than
necessary, as presumably the fact that compile and simulator both add
new files to build_dir (and Verilog_RTL for Verilator) causes the
timestamp to change and thus make to think .depends.mk is stale.
2021-02-28 04:14:54 +00:00
Jessica Clarke
e1060ac43d TlbTypes: Fix exception code reported for some store page fault conditions
The mode and well-formedness checks above also set fault to True, so we
end up with cases where a DataStore request uses the default load page
fault exception code. Instead, unconditionally set excStorePageFault for
DataStore, and conditionally override to excStoreCapPageFault when
appropriate, being particularly careful to ensure earlier exception
causes still take precedence.

Also restructure the InstFetch and DataLoad cases to match how DataStore
needs to look.

This fixes the rv64si-p-dirty ISA test, currently the sole failure.
2021-02-28 03:51:05 +00:00
Jessica Clarke
c7bd60b47e CSRs: Don't guard HPM CSRs with PERFORMANCE_MONITORING
They always exist, just WARL so can be hard-wired.
2021-02-28 01:11:39 +00:00
jon
9d5095b076 Count CJALRs with Jrs. 2021-02-24 20:36:46 +00:00
Jessica Clarke
df430e22c8 Exec: Enable non-ASR access to TIME
This is needed for benchmarking.
2021-02-24 04:17:42 +00:00
Jessica Clarke
7776bac8b5 Exec: Enable non-ASR access to HPMCOUNTERn
These are now defined, and needed for benchmarking.
2021-02-23 20:35:18 +00:00
Peter Rugg
5b6e8d88f6 Add CSetEqualExact 2021-02-22 17:44:36 +00:00
Peter Rugg
53eb073fb2 Don't track generated Verilog 2021-02-19 19:45:00 +00:00
jon
2f0b0c110f Use the necessary number of ports. 2021-02-19 17:38:16 +00:00
jon
b5bce1209a Revert "Revert biggest scheduling change from potentially problematic commit."
This one does not actually build with the new BSC compiler.  I forgot to
test the hardware build (with GDB), which is where we have the problem.
This reverts commit b4308e9a6e.
2021-02-19 17:38:16 +00:00
Peter Rugg
9f0968b1cb Fix AXI_Size=16 for MMIO of caps 2021-02-19 17:19:47 +00:00
Peter Rugg
47c94b5a34 Map more RAM in SSITH build 2021-02-19 09:25:41 +00:00
jon
b4308e9a6e Revert biggest scheduling change from potentially problematic commit.
This still builds with the new BSC compile.
2021-02-18 15:18:58 +00:00
jon
1fbf786294 Add to synthesis file set. 2021-02-17 21:26:54 +00:00
jon
eaf7a4ace7 Add one more missing file and clean up some duplicates. 2021-02-17 18:37:52 +00:00
jon
0f3fd15d41 Initial implementation of map of HPM counters into supervisor and user
mode.  This version just unconditionally exposes them.
2021-02-17 17:07:53 +00:00
jon
5ba685b541 Try harder to remove all copies of references to old files. 2021-02-17 16:57:01 +00:00
jon
7a59cad288 Remove more no-longer-generated files from component.xml 2021-02-17 15:54:27 +00:00
jon
9d2acbd96d Bump to latest version of Bluestuff. 2021-02-17 14:59:31 +00:00
jon
059f189bba Attempt to add all current source files to componenet.xml. 2021-02-17 14:35:49 +00:00
Alexandre Joannou
4c19a34eda Workaround for scheduling issues when using PERFORMANCE_MONITORING (with jdw57) 2021-02-15 18:07:08 +00:00
Marno van der Maas
e3b776a81f Clarified supported versions of verilator 2021-02-12 09:49:17 +00:00
jon
9e36ff95cd Roll back accidental commit of experimental change. 2021-02-11 12:22:00 +00:00
jon
96be5802a0 Bump BlueStuff with workaround. 2021-02-10 17:23:46 +00:00
jon
40ea082310 Some updates to build with the new bsc compiler. 2021-02-10 17:22:26 +00:00
jon
9dd2dd9c77 Bump cheri-cap-lib. 2021-02-10 17:22:26 +00:00
Marno
65d0edd722 Bump BlueStuff to fix compiler error with new bsc 2021-02-10 14:07:02 +00:00
Peter Rugg
a78d09c522 Add ifdefs for GDB control on helper functions 2021-02-08 14:49:13 +00:00
Jessica Clarke
fb5339e9ca Adapt the PLIC instantiation and wiring to support multiple cores 2021-01-31 17:54:43 +00:00
Peter Rugg
cedb4c279d Ensure the MMIO platform issues aligned requests by changing the AXI4_Size field based on the byte enables 2021-01-31 17:34:35 +00:00
Peter Rugg
44e19afbf3 Fix MMIO bug missing uncached instruction bytes with certain alignments 2021-01-30 15:22:22 +00:00
Peter Rugg
f800cdeb77 Prevent spurious warnings 2021-01-30 15:21:38 +00:00
Peter Rugg
d340066f6f Multicore debug cleanups 2021-01-21 20:51:02 +00:00
Peter Rugg
30e7090213 Multicore debug-module 2021-01-21 20:30:07 +00:00
Peter Rugg
3417fb454e Revert "Provide opt-in wedge debugging info" - some missed changes
This reverts commit 68d3bd484e.
2021-01-21 20:30:07 +00:00
Peter Rugg
e8487e2a1c Revert "Provide opt-in wedge debugging info"
This reverts commit 68d3bd484e.
2021-01-19 22:00:16 +00:00
Peter Rugg
20f1ddf587 Revert "Plumb through a lot more ROB debug state"
This reverts commit 0f65994955.
2021-01-19 21:40:59 +00:00
Peter Rugg
a6ab823d1d Revert "Cover interesting fetch and rename state for DEBUG_WEDGE configs"
This reverts commit 5e9b478371.
2021-01-19 21:39:59 +00:00
jon
c515fb4518 Remove commented-out code.
Enable building with open-source BSC.

Resolve a couple issues brought up by Jess.

Remove a stray space (as noted by Jess).
2021-01-14 17:10:04 +00:00
jon
a6771219ba Fold the fragment count into the standard pipeline structs. 2021-01-14 12:29:38 +00:00
jon
fc968c867f PC compression scheme for the instruction fetch pipeline.
Store the upper bits of the PC in a table and only handle indices and
lsbs in the main pipeline.
This eliminates redundancy between PCs and predicted PCs, and even more
between fragments of instructions.
2021-01-14 11:41:11 +00:00
jon
dd82b2703c Record an exception from either half of an instruction, with preference
for the first half.
2021-01-13 15:33:08 +00:00
jon
0d93ed3ad2 Merge branch 'CHERI' into ifetch-cleanup 2021-01-13 15:21:20 +00:00
Jessica Clarke
6c98dcb3d8 src_SSITH_P3: Delete stray file references
No clue what mkAxiLowPower is. mkPLIC_16_CoreNumX2_7 belongs with the
dual-core fixes, which aren't in the CHERI branch, at least not
currently (and the old mkPLIC_16_2_7 is still referenced in this file
anyway).
2021-01-13 00:59:46 +00:00
Jessica Clarke
1fb31bb255 src_SSITH_P3: Another open-source bsc fix 2021-01-11 21:34:11 +00:00