Skip to content

Commit 5ecb8bd

Browse files
committed
Revert test updates
1 parent 6b64446 commit 5ecb8bd

File tree

1 file changed

+26
-50
lines changed

1 file changed

+26
-50
lines changed

ArchSemArm/tests/VMPromisingTest.v

Lines changed: 26 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -90,33 +90,6 @@ Definition table_desc (next_pa : Z) : Z :=
9090
Definition 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 *)
12194
Definition arm_sem := sail_tiny_arm_sem true.
12295

@@ -561,31 +534,34 @@ Module BBM.
561534
|> reg_insert ID_AA64MMFR1_EL1 0x0
562535
|> reg_insert PSTATE (init_pstate 1%bv 1%bv).
563536

564-
(* Instructions
537+
Definition init_mem :=
538+
539+
(* Instructions
565540
LDR X0, [X1, X0] - first load
566541
STR X3, [X1, X2] - modify page table
567542
LDR X4, [X1, X4] - second load *)
568-
Definition instrs : list (bv addr_size * bv 32) :=
569-
[(0x500, 0xf8606820); (0x504, 0xf8226823); (0x508, 0xf8646824)].
570-
571-
(* Data at two different physical locations
572-
Original PA - value 0x2a
573-
New PA - value 0x42 *)
574-
Definition data : list (bv addr_size * bv 64) :=
575-
[(0x1000, 0x2a); (0x2000, 0x42)].
576-
577-
(* Page tables
578-
L0[1] -> L1
579-
L1[0] -> L2
580-
L2[0] -> L3
581-
L3 entries:
582-
- L3[0] -> PA 0x0000 (code page for PC)
583-
- L3[1] -> PA 0x1000 (first data page), later updated to 0x2003 by the STR
584-
- L3[16] -> PA 0x83000 (VA alias to edit L3 via VA 0x8000010000) *)
585-
Definition pgt : list (bv addr_size * bv 64) :=
586-
[(0x80008, 0x81003); (0x81000, 0x82003); (0x82000, 0x83003);
587-
(0x83000, 0x40000000000783); (0x83008, 0x60000000001783);
588-
(0x83080, 0x60000000083703)].
543+
|> mem_insert 0x500 4 0xf8606820
544+
|> mem_insert 0x504 4 0xf8226823
545+
|> mem_insert 0x508 4 0xf8646824
546+
(* Data at two different physical locations
547+
Original PA - value 0x2a
548+
New PA - value 0x42 *)
549+
|> mem_insert 0x1000 8 0x2a
550+
|> mem_insert 0x2000 8 0x42
551+
(* Page tables
552+
L0[1] -> L1
553+
L1[0] -> L2
554+
L2[0] -> L3
555+
L3 entries:
556+
- L3[0] -> PA 0x0000 (code page for PC)
557+
- L3[1] -> PA 0x1000 (first data page), later updated to 0x2003 by the STR
558+
- L3[16] -> PA 0x83000 (VA alias to edit L3 via VA 0x8000010000) *)
559+
|> mem_insert 0x80008 8 0x81003
560+
|> mem_insert 0x81000 8 0x82003
561+
|> mem_insert 0x82000 8 0x83003
562+
|> mem_insert 0x83000 8 0x40000000000783
563+
|> mem_insert 0x83008 8 0x60000000001783
564+
|> mem_insert 0x83080 8 0x60000000083703.
589565

590566
Definition n_threads := 1%nat.
591567

@@ -597,7 +573,7 @@ Module BBM.
597573
Definition mem_strict := false.
598574

599575
Definition initState :=
600-
{|archState.memory := init_mem_trans instrs data pgt mem_strict;
576+
{|archState.memory := init_mem;
601577
archState.regs := [# init_reg];
602578
archState.address_space := PAS_NonSecure |}.
603579

0 commit comments

Comments
 (0)