Commit Graph

112 Commits

Author SHA1 Message Date
gameboo
350229febb CHERICapWrap.bsv: CapAddressW -> CapAddrW 2021-03-03 19:18:30 +00:00
Jonathan Woodruff
b80c1b3c59 Merge pull request #4 from arichardson/master
Add a simple verilator simulator for module_wrap128_fromMem
2021-02-02 14:48:57 +00:00
Jonathan Woodruff
67297e939c Merge pull request #6 from dpgao/patch-1
Compute deltaAddrUpper correctly in setAddress
2021-02-02 14:48:08 +00:00
Dapeng Gao
762f4a6a48 Compute deltaAddrUpper correctly in setAddress
The new version is formally verified to comply with the Sail specification.
2021-02-02 21:36:18 +08:00
jon
6e8df02532 Use Dapeng's algorithm (adapted from his verified verilog) for
SetAddress.
2021-02-01 18:42:01 +00:00
Alexandre Joannou
6f8e3fa503 Fix setAddress representability bug spotted by Dapeng Gao (with jdw57 and pdr32) 2021-01-28 18:06:52 +00:00
Alexandre Joannou
bd378bf834 turn newAddrBits in incOffsetFat into a Bit#(MW) as pointed out by
Dapeng Gao + some comments
2021-01-22 15:40:31 +00:00
Jonathan Woodruff
7c4191cfbb Merge pull request #5 from CTSRD-CHERI/wip-aj443-sanitize
Sanitising CHERICC_Fat
2021-01-21 16:23:17 +00:00
Alexandre Joannou
7c19694080 Unify indentation / simplify style throughout CHERICC_Fat 2021-01-21 14:54:37 +00:00
Alexandre Joannou
e3d4c7ad87 Simpify style in CapMem CHERICap instance 2021-01-21 12:59:28 +00:00
Alexandre Joannou
db72831f31 Simpify style in CapReg CHERICap instance 2021-01-21 12:48:50 +00:00
Alexandre Joannou
3559966651 Simpify style in CapPipe CHERICap instance 2021-01-21 12:27:21 +00:00
Alexandre Joannou
064798aff7 Limit use of large (66-bit) addresses accross CHERICC_Fat (with pdr32 and jdw57) 2021-01-21 12:27:21 +00:00
Alexandre Joannou
e8868e7d79 Turn the address field in CapFat to a Bit#(CapAdressW) (with pdr32 and jdw57) 2021-01-20 16:19:46 +00:00
Alexandre Joannou
508da818ba Use tmpAddr in place of pointer in incOffsetFat following Dapeng Gao's email 2021-01-18 16:06:17 +00:00
Alexandre Joannou
938261d465 Reflect changes to CHERICap.bsv into CHERICapWrap.bsv forgotten in some past commit 2020-12-08 15:19:57 +00:00
Alexandre Joannou
1b660d06bd Fix partial type declaration warning 2020-11-18 09:32:32 +00:00
Peter Rugg
bc0fada841 Merge remote-tracking branch 'origin/Toooba' into HEAD 2020-09-07 15:57:51 +01:00
jon
a6f5ca93eb Use the handy MW-derived type for a handy safe-if-inbounds increment
size limit.
2020-08-21 15:54:57 +01:00
jon
356c7891ee New function for adding to the address unsafely.
Would used an increment size based on mantissa width, but this is not
available in the type class, so just use 1 byte.
This function is currently used for adding small increments to the PC,
so does not need support for larger offsets.
2020-08-21 15:31:31 +01:00
Peter Rugg
a812edaffa Prevent 'partial type info' warning 2020-07-23 11:20:07 +01:00
jon
c9156c6ea9 Add function needed in MemCap instance. 2020-07-23 11:20:07 +01:00
jon
abfcb20d03 Add function needed in MemCap instance. 2020-07-10 20:47:50 +01:00
Peter Rugg
298bf77b33 Reinstate crrl and cram helpers 2020-06-15 13:02:07 +01:00
jon
18f4ec4417 Handle mask case where we do not have an internal exponent (that is, the
length is perfectly represetnable).
2020-06-12 17:20:31 +01:00
jon
81f5025366 Make setOffset precise. 2020-06-03 11:09:19 +01:00
Peter Rugg
88bcd6b487 Implement getHardPerms on CapMem 2020-06-02 10:20:44 +01:00
Peter Rugg
c69acb812d Remove stray implementations 2020-05-13 12:01:44 +01:00
Peter Rugg
bc7b518aaf Revert "Revert "Provide combined set bound function"" 2020-05-12 20:10:09 +01:00
Peter Rugg
f594e13cbe Merge branch 'master' into Toooba 2020-05-12 20:08:38 +01:00
Peter Rugg
3bb13f1c87 Implement get/setFlags on CapMem 2020-05-11 14:08:04 +01:00
Peter Rugg
dd24b7672b Cleanup of unsupported functions and corresponding error messages 2020-05-07 16:33:08 +01:00
Peter Rugg
9fb30e0b6f Remove get/setType functions to prevent sealed/sealed_with_type confusion 2020-05-01 20:04:52 +01:00
jon
b44b77050f Changes needed to support CapMem used in Toooba in PC paths. 2020-04-27 15:54:36 +01:00
Peter Rugg
a5f3c776c7 Workaround for default typeclass function definitions 2020-04-23 15:44:25 +01:00
Peter Rugg
d24104fa3e Revert "Provide combined set bound function"
This reverts commit 80ba19db9f.
2020-04-23 10:35:14 +01:00
Simon Moore
490a10f18c Simplify the definition of macro W() so that the Connectal dependancy checker can handle it. 2020-04-21 23:40:29 +01:00
Peter Rugg
80ba19db9f Provide combined set bound function 2020-04-16 17:35:02 +01:00
Alex Richardson
a4ea46cd59 Add a simple verilator simulator for module_wrap128_fromMem 2020-04-02 16:12:49 +01:00
Peter Rugg
4b08d61aa2 Fix hardcoded 64 2020-04-02 15:17:24 +01:00
Peter Rugg
5c138fe263 Fix overly strict derivability check 2020-04-01 12:46:55 +01:00
Peter Rugg
8fbf0377f9 Fix swapped derivability checks 2020-03-31 17:53:52 +01:00
Jonathan Woodruff
486d7b31eb Merge branch 'master' of https://github.com/CTSRD-CHERI/cheri-cap-lib 2020-03-31 15:42:33 +01:00
Jonathan Woodruff
cbd0b2f7f5 Add a couple of casts for functions that return capabilities.
This is necessary for passing the register file read functions into modules that want to read the Pipe format rather than the Reg format.
2020-03-31 15:41:19 +01:00
Peter Rugg
c51cd15a5d Fix derivability check 2020-03-30 03:40:28 +01:00
Peter Rugg
910c2154f1 Add isDerivable function for CBuildCap 2020-03-26 14:25:59 +00:00
Peter Rugg
410a27c4a4 Merge branch 'timing' 2020-03-09 17:03:41 +00:00
Jonathan Woodruff
6267c2bb2e Calculate "exact" more efficiently. 2020-03-06 17:57:33 +00:00
Jonathan Woodruff
7a50514e7e Comment GetTop a bit better, and also comment out unnecessary logic. 2020-03-05 18:28:45 +00:00
Jonathan Woodruff
22434499e5 Fixes for CRAM and SetAddress.
The SetAddress issue and fix were found and verified (respectively) to some degree by TestRIG.
2020-03-05 11:50:07 +00:00