diff options
| author | Shaked Flur | 2017-11-30 15:40:43 +0000 |
|---|---|---|
| committer | Shaked Flur | 2017-11-30 15:40:43 +0000 |
| commit | 9e1309ab7c1a137324c88c272c5a76c4c8bce016 (patch) | |
| tree | 854889fe87e8f443d4e0aafa26b970a88faf61bb /x86/x86_extras_embed.lem | |
| parent | 16c269d6f26fd69d8788c448b87f4bb479a6ef66 (diff) | |
match what rmem (ppcmem2) expects from ISA Makefiles
Diffstat (limited to 'x86/x86_extras_embed.lem')
| -rw-r--r-- | x86/x86_extras_embed.lem | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/x86/x86_extras_embed.lem b/x86/x86_extras_embed.lem new file mode 100644 index 00000000..f5130995 --- /dev/null +++ b/x86/x86_extras_embed.lem @@ -0,0 +1,24 @@ +open import Pervasives +open import Pervasives_extra +open import Sail_impl_base +open import Sail_values +open import Prompt + +val rMEM : (vector bitU * integer) -> M (vector bitU) +val rMEM_locked : (vector bitU * integer) -> M (vector bitU) + +let rMEM (addr,size) = read_mem false Read_plain addr size +let rMEM_locked (addr,size) = read_mem false Read_X86_locked addr size + +val MEMea : (vector bitU * integer) -> M unit +val MEMea_locked : (vector bitU * integer) -> M unit + +let MEMea (addr,size) = write_mem_ea Write_plain addr size +let MEMea_locked (addr,size) = write_mem_ea Write_X86_locked addr size + +val MEMval : (vector bitU * integer * vector bitU) -> M unit +val MEMval_conditional : (vector bitU * integer * vector bitU) -> M bitU + +let MEMval (_,_,v) = write_mem_val v >>= fun _ -> return () + +let X86_MFENCE () = barrier Barrier_x86_MFENCE |
