Peter Rugg
|
f0bcd2ccd1
|
Don't write on CSpecialRW from R0
|
2020-05-11 23:52:04 +01:00 |
|
Peter Rugg
|
ec9f19dc26
|
Disable assert since normal instructions can read SCRs
|
2020-05-11 22:39:12 +01:00 |
|
Peter Rugg
|
20eb1129b1
|
Complete PCC checks
|
2020-05-11 17:25:21 +01:00 |
|
Peter Rugg
|
0ee9c65f3a
|
Forward cap-only instructions to the ALU
|
2020-05-11 17:24:43 +01:00 |
|
Peter Rugg
|
461ca6a703
|
Merge branch 'CHERI' into pdr32-wip
|
2020-05-11 14:08:42 +01:00 |
|
Peter Rugg
|
f5ec436d19
|
Bump cheri-cap-lib
|
2020-05-07 16:34:09 +01:00 |
|
Peter Rugg
|
27947f4df7
|
Refactoring around SCRs
|
2020-05-07 16:19:26 +01:00 |
|
jon
|
77c7a6f3c0
|
Use the existing functions for casting.
|
2020-05-07 13:20:11 +01:00 |
|
jon
|
e3664c2bfd
|
Do sign extension properly on loads.
|
2020-05-07 12:17:14 +01:00 |
|
jon
|
9c0130a200
|
Support for permissions and bounds checks for memory operations, taking
the cap mode into account.
|
2020-05-06 18:48:44 +01:00 |
|
jon
|
cbb0d859c7
|
Feed capability checks and bounds checks into the memory pipe and back
into the reorder buffer.
|
2020-05-05 18:28:28 +01:00 |
|
jon
|
500811430b
|
Initial support for decoding Capability Memory instructions.
|
2020-05-05 12:23:10 +01:00 |
|
jon
|
21d1207e6b
|
The beginnings of an implementation of LQ and SQ.
Also a bug-fix to unseal nextPCC for control flow instructions, which
should only affect CCall (which was leaving PCC sealed).
|
2020-05-01 17:26:41 +01:00 |
|
jon
|
0177c2cd6e
|
Use the bounds of PCC to check legacy control flow instructions rather
than the bounds of the newPCC after C(Set/Inc)Offset, which may have
become unrepresentable.
|
2020-05-01 12:17:20 +01:00 |
|
jon
|
90d9d7cbc7
|
Move back to considering the instruction width when checking PCC.
|
2020-04-30 15:33:01 +01:00 |
|
Alexandre Joannou
|
b70498e00a
|
Try new types to hold capabilities
|
2020-04-30 14:07:37 +01:00 |
|
jon
|
0b68498940
|
Fix interface with special capability register file trap handling.
Call the correct trap function, and report the correct privilege level.
|
2020-04-30 12:00:55 +01:00 |
|
Marno van der Maas
|
6dff23f30a
|
Added BLUESPECDIR to read me
|
2020-04-30 11:56:13 +01:00 |
|
jon
|
44199a841b
|
Only check the bounds of nextPc if the branch is taken...
|
2020-04-29 18:34:02 +01:00 |
|
jon
|
1439fe98c7
|
Fix 2 bugs.
Restore from sepc on sret.
To "inclusive" bounds check on Jumps and Branches.
|
2020-04-29 13:42:23 +01:00 |
|
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 |
|