182 Commits

Author SHA1 Message Date
Alexandre Joannou
11a88def9f A bit more details in teh CHERI CAP API description 2022-09-30 16:22:24 +00:00
Alexandre Joannou
9c09922ab0 Rephrase 2022-09-30 15:48:24 +00:00
Alexandre Joannou
c72cda1a3c More detailed API adoc 2022-09-30 15:10:09 +00:00
Alexandre Joannou
e4826ac997 rephrase + typo 2022-09-30 12:33:49 +01:00
Alexandre Joannou
49e6e07a70 Update and rename readme.md to readme.adoc 2022-09-30 12:22:47 +01:00
Peter Rugg
149733072a Don't unseal caps in setBounds
I'm not sure why this was here, as setBounds on a sealed cap would previously cause a trap anyway.
Maybe left over from when otype bits were shared with the bounds?
2022-05-13 14:17:41 +01:00
gameboo
bc727f9731 Fold in discussions with Jon and Matt regarding split representable regions 2021-10-07 15:17:13 +01:00
gameboo
aa0a8fe224 Fold in some comments from jdw57 and pdr32 2021-09-28 12:42:17 +01:00
gameboo
6e20d177dc Fixup base/top/repBase/repTop implementation 2021-09-28 12:06:12 +01:00
gameboo
5bb91d9d99 Cosmetics for CapReg CHERICap instance 2021-09-28 01:30:19 +01:00
gameboo
e55c65556a Comment about orphan instance for CapMem 2021-09-28 01:29:29 +01:00
gameboo
321409df6a Cosmetics for CapMem CHERICap instance 2021-09-28 01:29:29 +01:00
gameboo
76d4dea31e Minor renames and cosmetic changes 2021-09-28 01:27:46 +01:00
gameboo
f8dd165505 Can't cleanly use export mechanism at the moment apparently... + typo in comments 2021-09-28 00:08:38 +01:00
gameboo
e110284da7 More refactor + first implementation for rep{Base,Top,Length} 2021-09-24 17:24:48 +01:00
gameboo
f1837b9fb6 Mock up of the getBoundsInfo API update 2021-09-23 19:23:28 +01:00
Jonathan Woodruff
806b687e8a Merge pull request #8 from CTSRD-CHERI/wip-aj443-getMeta
Introduced a getMeta method as a counterpart to getAddr for getting all
2021-09-16 09:31:59 +00:00
gameboo
1741ce43dd Introduced a getMeta method as a counterpart to getAddr for getting all
bits of in-memory architectural capability representation
2021-09-15 17:57:01 +01:00
Alexandre Joannou
8ab0d3888f Merge pull request #7 from mn416/mn416-blarney-update
Blarney wrappers now compile with latest Blarney
2021-06-29 00:06:41 +01:00
Matthew Naylor
bea5e463c6 Blarney wrappers now compile with latest Blarney
Various minor changes to Blarney wrapper script:
  * Blarney.BV -> Blarney.Core.BV
  * Custom now needs input widths as well as output widths
  * Custom now takes additional argument (netlist generator -> Nothing)
  * makePrim1 now takes 2 params, not 3
2021-06-28 15:00:02 +01:00
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