aboutsummaryrefslogtreecommitdiff
path: root/handwritten_support/mem_metadata.lem
blob: 8a8c07014f35402db12cb81bf2c26605551f601a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
open import Pervasives
open import Pervasives_extra
open import Sail2_instr_kinds
open import Sail2_values
open import Sail2_operators_mwords
open import Sail2_prompt_monad
open import Sail2_prompt

val write_ram : forall 'rv 'e 'a 'n. Size 'a, Size 'n => write_kind -> mword 'a -> integer -> mword 'n -> unit -> monad 'rv bool 'e
let write_ram wk addr width data meta =
  write_mem wk () addr width data

val read_ram : forall 'rv 'e 'a 'n. Size 'a, Size 'n => read_kind -> mword 'a -> integer -> bool -> monad 'rv (mword 'n * unit) 'e
let read_ram rk addr width read_tag =
  read_mem rk () addr width >>= (fun (data : mword 'n) ->
  return (data, ()))