summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/regfp.sail24
1 files changed, 21 insertions, 3 deletions
diff --git a/etc/regfp.sail b/etc/regfp.sail
index fb15310a..cc057f2e 100644
--- a/etc/regfp.sail
+++ b/etc/regfp.sail
@@ -32,21 +32,31 @@ typedef diafp = const union {
typedef read_kind = enumerate {
Read_plain;
- Read_tag;
Read_reserve;
Read_acquire;
Read_exclusive;
Read_exclusive_acquire;
- Read_stream
+ Read_stream;
+ Read_RISCV_acquire;
+ Read_RISCV_strong_acquire;
+ Read_RISCV_reserved;
+ Read_RISCV_reserved_acquire;
+ Read_RISCV_reserved_strong_acquire;
+ Read_X86_locked;
}
typedef write_kind = enumerate {
Write_plain;
- Write_tag;
Write_conditional;
Write_release;
Write_exclusive;
Write_exclusive_release;
+ Write_RISCV_release;
+ Write_RISCV_strong_release;
+ Write_RISCV_conditional;
+ Write_RISCV_conditional_release;
+ Write_RISCV_conditional_strong_release;
+ Write_X86_locked;
}
typedef barrier_kind = enumerate {
@@ -62,6 +72,13 @@ typedef barrier_kind = enumerate {
Barrier_DSB_LD;
Barrier_ISB;
Barrier_MIPS_SYNC;
+ Barrier_RISCV_rw_rw;
+ Barrier_RISCV_r_rw;
+ Barrier_RISCV_r_r;
+ Barrier_RISCV_rw_w;
+ Barrier_RISCV_w_w;
+ Barrier_RISCV_i;
+ Barrier_x86_MFENCE;
}
typedef trans_kind = enumerate {
@@ -72,6 +89,7 @@ typedef instruction_kind = const union {
(barrier_kind) IK_barrier;
(read_kind) IK_mem_read;
(write_kind) IK_mem_write;
+ (read_kind, write_kind) IK_mem_rmw;
IK_cond_branch;
(trans_kind) IK_trans;
IK_simple