Commit Graph

110 Commits

Author SHA1 Message Date
b772286261 saving current changes
Some checks failed
check properties / tests (push) Has been cancelled
2026-02-23 11:44:35 +00:00
f7884bb932 hack changes
Some checks failed
check properties / tests (push) Has been cancelled
2026-02-20 01:59:12 +00:00
bd95a8b5b1 saving current changes cheri-cap-lib
Some checks failed
check properties / tests (push) Has been cancelled
2026-02-19 18:07:45 +00:00
ed366654f0 saved compile time errors
Some checks failed
check properties / tests (push) Has been cancelled
2026-02-17 15:34:56 +00:00
76d832bcaf merge conflict resovled
Some checks failed
check properties / tests (push) Has been cancelled
2026-02-17 14:26:25 +00:00
b7892c3abc added changes 2026-02-17 14:22:33 +00:00
dc9fc2bd7d added delta value field 2026-02-17 13:49:05 +00:00
Jonathan Woodruff
b3896e4e50 Move getLength to address length (not address length + 1), as we're explicitly saturating in order to express as a normal address. 2025-02-04 16:31:01 +00:00
Alexandre Joannou
0ca39912ba Let CapWrap build with CapMem and CapReg as well as CapPipe 2025-01-27 14:42:41 +00:00
Matthew Naylor
d9e2fb788a Some properties that pass through SymbiYosys 2025-01-24 13:37:49 +00:00
Marvel Renju
354a67386e Fix setBounds not clearing tag (#12)
Ensure tag is cleared if the result is not in bounds
2024-09-09 12:45:12 +01:00
Ivan Ribeiro
49de0f90f0 Reduce VA_Width to allow compilation
This is almost certainly not the right fix but allows the code to
compile and the trim code is not used anywhere with CAP64
2023-10-02 17:33:58 +01:00
Jonathan Woodruff
cab12e0532 Add another couple missing exports. 2023-08-18 17:51:33 +00:00
Jonathan Woodruff
9dd923936f Add some missing exports. 2023-08-18 17:46:06 +00:00
Jonathan Woodruff
613af39b8f Add functions to compress/decompress the CapMem format where the tag is
assumed to be set and the address is assumed to be a valid virtual
address.

This is being used for getting realistic area usage for the BTB.
2023-08-18 17:33:25 +00:00
Peter Rugg
f11156ef9a Remove non-ascii characters 2023-01-25 16:27:06 +00:00
PeterRugg
7d9fdce16a Single cycle setBounds checking if the request is in bounds (#10) 2022-10-25 20:02:43 +01:00
Jonathan Woodruff
be80fbe51c Merge pull request #9 from CTSRD-CHERI/wip-aj443-bounds-info-api-refactor
bounds info api refactor
2022-10-25 10:43:07 +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
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
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
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
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
1b660d06bd Fix partial type declaration warning 2020-11-18 09:32:32 +00: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
jon
abfcb20d03 Add function needed in MemCap instance. 2020-07-10 20:47:50 +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