jon
d3e0908785
Check PCC bounds in rename.
2020-04-28 19:08:07 +01:00
Marno van der Maas
68d4afa8c9
Added submodule update to read me
2020-04-28 14:58:35 +01:00
Marno van der Maas
1cf28c0d1d
Added link to verilator build instructions
2020-04-28 14:41:01 +01:00
jon
ab6b8966db
Bounds-check legacy jalr and br correctly.
2020-04-28 11:47:09 +01:00
jon
f63d55d4e5
Fix bug; consistently treat mepc as the offset of mepcc.
...
Also remove PCC from the SCR file.
2020-04-27 17:36:02 +01:00
Alexandre Joannou
e5b7ba6b13
Fixes to build with cap PCC for non RVFI-DII case
2020-04-27 16:48:34 +01:00
jon
d24750f0ec
Bump the capability library.
2020-04-27 15:56:48 +01:00
Alexandre Joannou
1a3915d8a2
Fix display message when running the dependency script
2020-04-27 15:27:16 +01:00
jon
13d020cb9e
Merge branch 'parallel-build' into CHERI
2020-04-27 15:19:05 +01:00
jon
5693af05e5
Changes to make PCC consistent.
...
Specifically, attach the bounds to PC all the way back into the branch predictors.
2020-04-27 15:13:36 +01:00
Alexandre Joannou
dfde021eb6
Avoid creation of outputfile on failure of dependency script + add beri license header
2020-04-24 15:09:04 +01:00
jon
b31c299da6
Merge branch 'parallel-build' of https://github.com/CTSRD-CHERI/Toooba into parallel-build
2020-04-24 11:48:15 +01:00
jon
6222ff6c9a
Merge branch 'CHERI' into parallel-build
2020-04-24 11:47:27 +01:00
jon
2251457840
Implement target bounds-check for CJALR.
2020-04-23 17:54:18 +01:00
Peter Rugg
df7dde5759
Bump cheri-cap-lib
2020-04-23 15:44:47 +01:00
Alexandre Joannou
370ed61bc4
Integrate the generation of dependenices to Makefiles
2020-04-23 14:55:28 +01:00
Peter Rugg
28c09ef1df
Factor out SCR definitions
2020-04-23 13:15:26 +01:00
jon
92e3216c69
Don't use special recursive build for the top level, as this just rebuilds everything.
2020-04-23 10:42:45 +01:00
Alexandre Joannou
aa79240629
generalise genDependencies a bit with env variables (no obvious getoptsin tcl AFAIK)
2020-04-23 02:04:19 +01:00
jon
f6b7132d4f
Makefile updates to do a parallel build, including the tcl script to generate a dependency graph using the Bluespec compiler (which was written by Alexandre).
2020-04-22 22:44:19 +01:00
Peter Rugg
1859e86b4e
Merge branch 'pdr32-wip' into HEAD
2020-04-22 18:11:37 +01:00
Peter Rugg
3b30d2db36
Add BuildCap unsealing
2020-04-22 15:52:23 +01:00
Peter Rugg
8cc8f71cb9
Perform bounds check on requested length rather than rounded length.
...
This prevents issues with overflow in the top, and should be correct
based on the rounding used in the SetBounds function.
2020-04-22 14:27:11 +01:00
Peter Rugg
a89a606a6d
Factor out Opcodes and CSRs into separate files
2020-04-21 20:36:56 +01:00
Peter Rugg
3693326b62
Don't sign extend CSetBoundsImm immediate
2020-04-21 16:45:04 +01:00
Peter Rugg
8a4fa786dd
Add CToPtr special case
2020-04-21 13:52:33 +01:00
Peter Rugg
1773530c72
Attempt to enable AUIPCC
2020-04-20 23:11:58 +01:00
Peter Rugg
923d4915cb
Make SetBounds legal
2020-04-20 23:05:26 +01:00
Peter Rugg
8e01cf68df
More concise FShow for CapChecks
2020-04-20 21:28:09 +01:00
Peter Rugg
b4be80eba1
Bounds Check fixes
2020-04-20 21:23:42 +01:00
Peter Rugg
7db3fa539f
Add ALU bounds check
2020-04-20 11:21:51 +01:00
Marno van der Maas
b063497052
CHERI update to ReadMe
2020-04-18 09:47:56 +01:00
Peter Rugg
1bb53e5e86
Merge branch 'CHERI' into pdr32-wip
2020-04-16 20:58:37 +01:00
Peter Rugg
f1e04486b7
Work on SCR-related instructions
2020-04-16 20:53:08 +01:00
Peter Rugg
34c4e0f2fa
Comment out user exception delegation SCRs since the corresponding CSRs are not yet supported
2020-04-16 20:43:44 +01:00
Peter Rugg
8269a0625e
Initial implementation of set bounds
2020-04-16 20:39:54 +01:00
jon
4b2c3b1114
An attempt at doing the "right thing" with Jr targets and links with respect to PCC.
...
This is not easy to test until we have CSetBounds.
2020-04-16 18:07:39 +01:00
jon
a77ecc59af
Checkpoint work to propagate register numbers into the exception code.
...
There's another half of this left to do to propagate all the way into the CSR file.
2020-04-16 17:28:28 +01:00
Jessica Clarke
3add2cac5e
Move MakeReset0.v to src_bsc_lib_RTL like Piccolo and Flute
...
This ensures it's shared across all simulator builds.
2020-04-16 17:19:16 +01:00
Jessica Clarke
a2aee1969d
verilator_config.vlt: Revert "fix"
...
lint_off -rule is a very new feature that requires Verilator v4.026
released in Jan 2020, and is thus not in Ubuntu 18.04. Any breakage with
newer versions should be fixed in some other backwards-compatible way.
2020-04-16 17:12:27 +01:00
jon
9bb3e835ac
Fix operand of CCall.
...
Also fix one case of CCopyType where it is meant to return nullWithAddr(-1).
2020-04-16 11:38:38 +01:00
jon
c056d40a3a
Trace the register that has been decoded rather than picking out the bits from the instruction.
...
Duh.
2020-04-15 14:08:36 +01:00
Peter Rugg
a0fb527ad7
Raise illegalInstruction for currently unsupported exceptions
2020-04-15 14:07:36 +01:00
Peter Rugg
e773cb0232
Add CIncOffsetImm
2020-04-15 14:06:46 +01:00
jon
9685bf1931
Implement CCall, hopefully as well as CJALR.
...
This passes the unmodified TestRIG routine for CHERI Control Flow, which is very promising indeed!
There are some cases that are not covered there, but a lot is covered.
2020-04-14 18:10:53 +01:00
Peter Rugg
72dc8f8bad
Fix cap instructions not being sent to ALU
2020-04-07 19:55:09 +01:00
jon
56885f06c0
Changes for CJALR-only TestRIG to work.
...
This includes replacing register read values with nullCap if reading x0, which is generally necessary.
This is more-or-less using a new mechanism which shouldn't actually be necessary if the default value in the register file is nullCap.
(In RVFI_DII, we initialise with the almightyCap instead.)
2020-04-07 16:32:31 +01:00
Peter Rugg
ae78cd3d6a
Don't track built files
2020-04-07 13:56:34 +01:00
Alexandre Joannou
198ce853bf
Bump BlueStuff, cheri-cap-lib and BSV-RVFI-DII submodules
2020-04-07 12:48:37 +01:00
jon
beaf771e13
Bump subrepo.
2020-04-07 12:39:00 +01:00