summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPrashanth Mundkur2019-04-25 19:48:25 -0700
committerPrashanth Mundkur2019-04-25 19:48:25 -0700
commit718cdb91af2fe9833053dd696f93c0108040ceea (patch)
tree057c4127c078da9ce1d794f6d704add89ffbc286 /lib
parent8ce42bfda56863c2caac91155b3e92a7b722862a (diff)
Update coq read_mem/write_mem.
Diffstat (limited to 'lib')
-rw-r--r--lib/coq/Sail2_prompt_monad.v8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/coq/Sail2_prompt_monad.v b/lib/coq/Sail2_prompt_monad.v
index 39567520..f95e4b6c 100644
--- a/lib/coq/Sail2_prompt_monad.v
+++ b/lib/coq/Sail2_prompt_monad.v
@@ -201,7 +201,7 @@ Definition read_mem_bytes {rv A E} rk (addr : mword A) sz : monad rv (list memor
Read_mem rk (Word.wordToNat (get_word addr)) (Z.to_nat sz) returnm.
(*val read_mem : forall 'rv 'a 'b 'e. Bitvector 'a, Bitvector 'b => read_kind -> 'a -> integer -> monad 'rv 'b 'e*)
-Definition read_mem {rv A B E} `{ArithFact (B >= 0)} rk (addr : mword A) sz : monad rv (mword B) E :=
+Definition read_mem {rv A B E} `{ArithFact (B >= 0)} rk (addrsz : Z) (addr : mword A) sz : monad rv (mword B) E :=
bind
(read_mem_bytes rk addr sz)
(fun bytes =>
@@ -212,12 +212,12 @@ Definition excl_result {rv e} (_:unit) : monad rv bool e :=
let k successful := (returnm successful) in
Excl_res k.
-Definition write_mem_ea {rv a E} wk (addr: mword a) sz : monad rv unit E :=
+Definition write_mem_ea {rv a E} wk (addrsz : Z) (addr: mword a) sz : monad rv unit E :=
Write_ea wk (Word.wordToNat (get_word addr)) (Z.to_nat sz) (Done tt).
(*val write_mem : forall 'rv 'a 'b 'e. Bitvector 'a, Bitvector 'b =>
- write_kind -> 'a -> integer -> 'b -> monad 'rv bool 'e*)
-Definition write_mem {rv a b E} wk (addr : mword a) sz (v : mword b) : monad rv bool E :=
+ write_kind -> integer -> 'a -> integer -> 'b -> monad 'rv bool 'e*)
+Definition write_mem {rv a b E} wk (addrsz : Z) (addr : mword a) sz (v : mword b) : monad rv bool E :=
match (mem_bytes_of_bits v, Word.wordToNat (get_word addr)) with
| (Some v, addr) =>
Write_mem wk addr (Z.to_nat sz) v returnm