summaryrefslogtreecommitdiff
path: root/mips/mips_prelude.sail
diff options
context:
space:
mode:
authorRobert Norton2017-10-12 17:14:40 +0100
committerRobert Norton2017-10-12 17:14:40 +0100
commit64468eda2bc40c874cddd4a6d9972af5ec224dc2 (patch)
tree2c1a5d71de3cb83b5536b11016998e3e08b54d73 /mips/mips_prelude.sail
parent93dfd61038583eac852e5e3ea66c46817a610bbe (diff)
Work around warning in ocaml shallow embedding of mips caused by buggy code generation for dubious casting enumeration to int.
Diffstat (limited to 'mips/mips_prelude.sail')
-rw-r--r--mips/mips_prelude.sail7
1 files changed, 7 insertions, 0 deletions
diff --git a/mips/mips_prelude.sail b/mips/mips_prelude.sail
index a4098486..382e4d7f 100644
--- a/mips/mips_prelude.sail
+++ b/mips/mips_prelude.sail
@@ -472,6 +472,13 @@ function AccessLevel getAccessLevel() =
case _ -> User (* behaviour undefined, assume user *)
}
+function ([|2|]) int_of_accessLevel((AccessLevel)x) =
+ switch (x) {
+ case User -> 0
+ case Supervisor -> 1
+ case Kernel -> 2
+ }
+
function unit checkCP0Access () =
{
let accessLevel = getAccessLevel() in