summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorShaked Flur2019-03-08 16:02:02 +0000
committerShaked Flur2019-03-08 16:02:02 +0000
commit87ffe603e44e9be6f4109f6a9dd475df6dcfc489 (patch)
treebd138aca08d068bb0001bd7869082c83d77fcff9 /lib
parentf0b4a103325e150faa3c2bd0a06594b2e62fae43 (diff)
Adds the DC and IC instructions to AArch64_small;
Also, removes etc/regfp.sail and etc/regfp2.sail in favour of lib/regfp.sail
Diffstat (limited to 'lib')
-rw-r--r--lib/regfp.sail13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/regfp.sail b/lib/regfp.sail
index cc017585..6044e1cc 100644
--- a/lib/regfp.sail
+++ b/lib/regfp.sail
@@ -90,6 +90,16 @@ enum trans_kind = {
Transaction_abort
}
+/* cache maintenance instructions */
+enum cache_op_kind = {
+ /* AArch64 DC */
+ Cache_op_D_IVAC, Cache_op_D_ISW, Cache_op_D_CSW, Cache_op_D_CISW,
+ Cache_op_D_ZVA, Cache_op_D_CVAC, Cache_op_D_CVAU, Cache_op_D_CIVAC,
+ /* AArch64 IC */
+ Cache_op_I_IALLUIS, Cache_op_I_IALLU, Cache_op_I_IVAU
+}
+
+
union instruction_kind = {
IK_barrier : barrier_kind,
IK_mem_read : read_kind,
@@ -97,5 +107,6 @@ union instruction_kind = {
IK_mem_rmw : (read_kind, write_kind),
IK_branch : unit,
IK_trans : trans_kind,
- IK_simple : unit
+ IK_simple : unit,
+ IK_cache_op : cache_op_kind
}