@@ -90,33 +90,6 @@ Definition table_desc (next_pa : Z) : Z :=
9090Definition page_desc (out_pa : Z) : Z :=
9191 Z.lor (Z.lor (Z.land out_pa (Z.lnot 0xFFF%Z)) 0x400%Z) 0x3%Z. (* Valid=1, Page=1, AF=1 *)
9292
93- Definition init_empty_table(mem : memoryMap) (baddr : bv addr_size) : memoryMap :=
94- let reserved_addrs := dom mem in
95- foldl (λ mem index,
96- let addr := baddr `+Z` (index * 8) in
97- if decide (addr ∈ reserved_addrs)
98- then mem
99- else mem_insert addr 8 0 mem) mem (seqZ 0 512).
100-
101- Definition clear_offset (addr : bv addr_size) : bv addr_size :=
102- let ones : bv 9 := (-1)%bv in
103- bv_and addr (bv_not (bv_zero_extend addr_size ones)).
104-
105- Definition init_mem_trans (instrs : list (bv addr_size * bv 32))
106- (data : list (bv addr_size * bv 64))
107- (pgt : list (bv addr_size * bv 64))
108- (mem_strict : bool) : memoryMap :=
109- let mem_instrs :=
110- foldl (λ mem '(addr, val), mem_insert addr 4 val mem) ∅ instrs in
111- let mem :=
112- foldl (λ mem '(addr, val), mem_insert addr 8 val mem) mem_instrs (data ++ pgt) in
113-
114- (* WARNING: filling out 512 entries for whole page table level *)
115- if mem_strict then
116- let baddrs := remove_dups $ map clear_offset pgt.*1 in
117- foldl init_empty_table mem baddrs
118- else mem.
119-
12093(** We test against the sail-tiny-arm semantic, with non-determinism enabled *)
12194Definition arm_sem := sail_tiny_arm_sem true.
12295
0 commit comments