diff options
| author | Valentin Robert <valentin.robert.42@gmail.com> | 2025-12-08 06:03:00 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-08 14:03:00 +0000 |
| commit | 1993f2d414fe6326dc0855a901d620b82f582c71 (patch) | |
| tree | 6f10a57683f003767eb0ea4cddd4af72278c08a7 /model/extensions | |
| parent | 1c7910bc1a23107a9c36297e4ff733e457e052a4 (diff) | |
| download | sail-riscv-master.zip sail-riscv-master.tar.gz sail-riscv-master.tar.bz2 | |
Scatter the termination module in such a way that one could require some
termination measures without having to include every single instruction
in the output. This makes building a subset of the model easier.
The termination measures for `vmem_read_addr` and `vmem_write_addr` no
longer need to be protected only for the Rocq output, so they get taken
out of the `$iftarget coq`.
Diffstat (limited to 'model/extensions')
| -rw-r--r-- | model/extensions/cfi/zicfilp_regs.sail | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/model/extensions/cfi/zicfilp_regs.sail b/model/extensions/cfi/zicfilp_regs.sail index ee8d3cf..6d15680 100644 --- a/model/extensions/cfi/zicfilp_regs.sail +++ b/model/extensions/cfi/zicfilp_regs.sail @@ -32,6 +32,10 @@ function get_xLPE(p : Privilege) -> bool = VirtualUser => internal_error(__FILE__, __LINE__, "Hypervisor extension not supported"), } +// This measure needs to be > currentlyEnabled_measure(Ext_S), currently equal +// to 1, see currentlyEnabled_measure in extensions.sail +termination_measure get_xLPE(_) = 2 + function clause currentlyEnabled(Ext_Zicfilp) = currentlyEnabled(Ext_Zicsr) & hartSupports(Ext_Zicfilp) & get_xLPE(cur_privilege) |
