summaryrefslogtreecommitdiff
path: root/src/gen_lib
diff options
context:
space:
mode:
authorJon French2018-06-14 16:37:31 +0100
committerJon French2018-06-14 16:37:31 +0100
commit1bb5fcf93261f2de51909ff51bf229d21e4b13a6 (patch)
tree85dad0aa6f1d29ede74aa5ec929552be7898653a /src/gen_lib
parentb58c7dd97ab2a22002cc34ab25a558057834c31c (diff)
rename all lem support files to sail2_foo to avoid conflict with sail1 in rmem
Diffstat (limited to 'src/gen_lib')
-rw-r--r--src/gen_lib/sail2_deep_shallow_convert.lem (renamed from src/gen_lib/deep_shallow_convert.lem)8
-rw-r--r--src/gen_lib/sail2_operators.lem (renamed from src/gen_lib/sail_operators.lem)2
-rw-r--r--src/gen_lib/sail2_operators_bitlists.lem (renamed from src/gen_lib/sail_operators_bitlists.lem)8
-rw-r--r--src/gen_lib/sail2_operators_mwords.lem (renamed from src/gen_lib/sail_operators_mwords.lem)8
-rw-r--r--src/gen_lib/sail2_prompt.lem (renamed from src/gen_lib/prompt.lem)4
-rw-r--r--src/gen_lib/sail2_prompt_monad.lem (renamed from src/gen_lib/prompt_monad.lem)4
-rw-r--r--src/gen_lib/sail2_state.lem (renamed from src/gen_lib/state.lem)6
-rw-r--r--src/gen_lib/sail2_state_lifting.lem (renamed from src/gen_lib/state_lifting.lem)10
-rw-r--r--src/gen_lib/sail2_state_monad.lem (renamed from src/gen_lib/state_monad.lem)4
-rw-r--r--src/gen_lib/sail2_string.lem (renamed from src/gen_lib/sail_string.lem)15
-rw-r--r--src/gen_lib/sail2_values.lem (renamed from src/gen_lib/sail_values.lem)0
11 files changed, 40 insertions, 29 deletions
diff --git a/src/gen_lib/deep_shallow_convert.lem b/src/gen_lib/sail2_deep_shallow_convert.lem
index 7fea0409..b963e537 100644
--- a/src/gen_lib/deep_shallow_convert.lem
+++ b/src/gen_lib/sail2_deep_shallow_convert.lem
@@ -1,8 +1,8 @@
open import Pervasives_extra
-open import Sail_impl_base
-open import Interp
-open import Interp_ast
-open import Sail_values
+open import Sail2_impl_base
+open import Sail2_interp
+open import Sail2_interp_ast
+open import Sail2_values
class (ToFromInterpValue 'a)
diff --git a/src/gen_lib/sail_operators.lem b/src/gen_lib/sail2_operators.lem
index 0c5da675..547160d3 100644
--- a/src/gen_lib/sail_operators.lem
+++ b/src/gen_lib/sail2_operators.lem
@@ -1,6 +1,6 @@
open import Pervasives_extra
open import Machine_word
-open import Sail_values
+open import Sail2_values
(*** Bit vector operations *)
diff --git a/src/gen_lib/sail_operators_bitlists.lem b/src/gen_lib/sail2_operators_bitlists.lem
index 19e9b519..7f1bcba5 100644
--- a/src/gen_lib/sail_operators_bitlists.lem
+++ b/src/gen_lib/sail2_operators_bitlists.lem
@@ -1,9 +1,9 @@
open import Pervasives_extra
open import Machine_word
-open import Sail_values
-open import Sail_operators
-open import Prompt_monad
-open import Prompt
+open import Sail2_values
+open import Sail2_operators
+open import Sail2_prompt_monad
+open import Sail2_prompt
(* Specialisation of operators to bit lists *)
diff --git a/src/gen_lib/sail_operators_mwords.lem b/src/gen_lib/sail2_operators_mwords.lem
index 22d5b246..fe319efc 100644
--- a/src/gen_lib/sail_operators_mwords.lem
+++ b/src/gen_lib/sail2_operators_mwords.lem
@@ -1,9 +1,9 @@
open import Pervasives_extra
open import Machine_word
-open import Sail_values
-open import Sail_operators
-open import Prompt_monad
-open import Prompt
+open import Sail2_values
+open import Sail2_operators
+open import Sail2_prompt_monad
+open import Sail2_prompt
(* Specialisation of operators to machine words *)
diff --git a/src/gen_lib/prompt.lem b/src/gen_lib/sail2_prompt.lem
index 830f2350..434df843 100644
--- a/src/gen_lib/prompt.lem
+++ b/src/gen_lib/sail2_prompt.lem
@@ -1,7 +1,7 @@
open import Pervasives_extra
(*open import Sail_impl_base*)
-open import Sail_values
-open import Prompt_monad
+open import Sail2_values
+open import Sail2_prompt_monad
open import {isabelle} `Prompt_monad_lemmas`
val (>>=) : forall 'rv 'a 'b 'e. monad 'rv 'a 'e -> ('a -> monad 'rv 'b 'e) -> monad 'rv 'b 'e
diff --git a/src/gen_lib/prompt_monad.lem b/src/gen_lib/sail2_prompt_monad.lem
index 87c9af39..745589e2 100644
--- a/src/gen_lib/prompt_monad.lem
+++ b/src/gen_lib/sail2_prompt_monad.lem
@@ -1,7 +1,7 @@
open import Pervasives_extra
(*open import Sail_impl_base*)
-open import Sail_instr_kinds
-open import Sail_values
+open import Sail2_instr_kinds
+open import Sail2_values
type register_name = string
type address = list bitU
diff --git a/src/gen_lib/state.lem b/src/gen_lib/sail2_state.lem
index f69f59c1..82ac35d8 100644
--- a/src/gen_lib/state.lem
+++ b/src/gen_lib/sail2_state.lem
@@ -1,7 +1,7 @@
open import Pervasives_extra
-open import Sail_values
-open import State_monad
-open import {isabelle} `State_monad_lemmas`
+open import Sail2_values
+open import Sail2_state_monad
+open import {isabelle} `Sail2_state_monad_lemmas`
val iterS_aux : forall 'rv 'a 'e. integer -> (integer -> 'a -> monadS 'rv unit 'e) -> list 'a -> monadS 'rv unit 'e
let rec iterS_aux i f xs = match xs with
diff --git a/src/gen_lib/state_lifting.lem b/src/gen_lib/sail2_state_lifting.lem
index 7e569a7e..039343e2 100644
--- a/src/gen_lib/state_lifting.lem
+++ b/src/gen_lib/sail2_state_lifting.lem
@@ -1,9 +1,9 @@
open import Pervasives_extra
-open import Sail_values
-open import Prompt_monad
-open import Prompt
-open import State_monad
-open import {isabelle} `State_monad_lemmas`
+open import Sail2_values
+open import Sail2_prompt_monad
+open import Sail2_prompt
+open import Sail2_state_monad
+open import {isabelle} `Sail2_state_monad_lemmas`
(* State monad wrapper around prompt monad *)
diff --git a/src/gen_lib/state_monad.lem b/src/gen_lib/sail2_state_monad.lem
index 89021890..f207699f 100644
--- a/src/gen_lib/state_monad.lem
+++ b/src/gen_lib/sail2_state_monad.lem
@@ -1,6 +1,6 @@
open import Pervasives_extra
-open import Sail_instr_kinds
-open import Sail_values
+open import Sail2_instr_kinds
+open import Sail2_values
(* 'a is result type *)
diff --git a/src/gen_lib/sail_string.lem b/src/gen_lib/sail2_string.lem
index 07b39ddc..329da942 100644
--- a/src/gen_lib/sail_string.lem
+++ b/src/gen_lib/sail2_string.lem
@@ -4,8 +4,8 @@ open import List_extra
open import String
open import String_extra
-open import Sail_operators_mwords
-open import Sail_values
+open import Sail2_operators_mwords
+open import Sail2_values
val string_sub : string -> ii -> ii -> string
let string_sub str start len =
@@ -116,6 +116,17 @@ let hex_bits_13_matches_prefix s =
Nothing
end
+let hex_bits_16_matches_prefix s =
+ match maybe_int_of_prefix s with
+ | Nothing -> Nothing
+ | Just (n, len) ->
+ if 0 <= n && n < 65536 then
+ Just ((of_int 16 n, len))
+ else
+ Nothing
+ end
+
+
let hex_bits_20_matches_prefix s =
match maybe_int_of_prefix s with
| Nothing -> Nothing
diff --git a/src/gen_lib/sail_values.lem b/src/gen_lib/sail2_values.lem
index 0f384cab..0f384cab 100644
--- a/src/gen_lib/sail_values.lem
+++ b/src/gen_lib/sail2_values.lem