Skip to content

Commit 1817f30

Browse files
committed
Add SCTLR on the model and tests
1 parent d1d662b commit 1817f30

File tree

5 files changed

+26
-13
lines changed

5 files changed

+26
-13
lines changed

ArchSemArm/VMPromising.v

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,10 @@ Definition relaxed_regs : gset reg :=
413413
GReg MMFR0_EL1;
414414
GReg MMFR1_EL1;
415415
GReg MMFR2_EL1;
416-
GReg MMFR3_EL1].
416+
GReg MMFR3_EL1;
417+
GReg SCTLR_EL1;
418+
GReg SCTLR_EL2;
419+
GReg SCTLR_EL3].
417420

418421
(** Determine if input register is an unknown register from the architecture *)
419422
Definition is_reg_unknown (r : reg) : Prop :=

ArchSemArm/tests/ArmSeqModelTest.v

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ Definition init_reg : registerMap :=
7575
|> reg_insert _PC 0x500
7676
|> reg_insert R0 0x0
7777
|> reg_insert R1 0x11
78-
|> reg_insert R2 0x101.
78+
|> reg_insert R2 0x101
79+
|> reg_insert SCTLR_EL1 0x0.
7980

8081
Definition init_mem : memoryMap:=
8182
@@ -104,7 +105,8 @@ Definition init_reg : registerMap :=
104105
105106
|> reg_insert _PC 0x500
106107
|> reg_insert R0 0x1000
107-
|> reg_insert R1 0x0.
108+
|> reg_insert R1 0x0
109+
|> reg_insert SCTLR_EL1 0x0.
108110

109111
Definition init_mem : memoryMap:=
110112
@@ -134,7 +136,8 @@ Module STRLDR. (* STR X2, [X1, X0]; LDR X0, [X1, X0] at 0x500, using address 0x1
134136
|> reg_insert _PC 0x500
135137
|> reg_insert R0 0x1000
136138
|> reg_insert R1 0x100
137-
|> reg_insert R2 0x2a.
139+
|> reg_insert R2 0x2a
140+
|> reg_insert SCTLR_EL1 0x0.
138141

139142
Definition init_mem : memoryMap:=
140143

ArchSemArm/tests/UMPromisingTest.v

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ Module EOR.
9292
|> reg_insert _PC 0x500
9393
|> reg_insert R0 0x0
9494
|> reg_insert R1 0x11
95-
|> reg_insert R2 0x101.
95+
|> reg_insert R2 0x101
96+
|> reg_insert SCTLR_EL1 0x0.
9697

9798
Definition init_mem : memoryMap :=
9899
@@ -125,7 +126,8 @@ Module LDR. (* LDR X0, [X1, X0] at 0x500, loading from 0x1000 *)
125126
126127
|> reg_insert _PC 0x500
127128
|> reg_insert R0 0x1000
128-
|> reg_insert R1 0x0.
129+
|> reg_insert R1 0x0
130+
|> reg_insert SCTLR_EL1 0x0.
129131

130132
Definition init_mem : memoryMap:=
131133
@@ -160,7 +162,8 @@ Module STRLDR. (* STR X2, [X1, X0]; LDR X0, [X1, X0] at 0x500, using address 0x1
160162
|> reg_insert _PC 0x500
161163
|> reg_insert R0 0x1000
162164
|> reg_insert R1 0x100
163-
|> reg_insert R2 0x2a.
165+
|> reg_insert R2 0x2a
166+
|> reg_insert SCTLR_EL1 0x0.
164167

165168
Definition init_mem : memoryMap:=
166169
@@ -205,7 +208,8 @@ Module MP.
205208
|> reg_insert R3 0x1000
206209
|> reg_insert R4 0x200
207210
|> reg_insert R2 0x2a
208-
|> reg_insert R5 0x1.
211+
|> reg_insert R5 0x1
212+
|> reg_insert SCTLR_EL1 0x0.
209213

210214
Definition init_reg_t2 : registerMap :=
211215
@@ -215,7 +219,8 @@ Module MP.
215219
|> reg_insert R3 0x1000
216220
|> reg_insert R4 0x200
217221
|> reg_insert R2 0x0
218-
|> reg_insert R5 0x0.
222+
|> reg_insert R5 0x0
223+
|> reg_insert SCTLR_EL1 0x0.
219224

220225
Definition init_mem : memoryMap :=
221226
@@ -272,7 +277,8 @@ Module MPDMBS.
272277
|> reg_insert R3 0x1000
273278
|> reg_insert R4 0x200
274279
|> reg_insert R2 0x2a
275-
|> reg_insert R5 0x1.
280+
|> reg_insert R5 0x1
281+
|> reg_insert SCTLR_EL1 0x0.
276282

277283
Definition init_reg_t2 : registerMap :=
278284
@@ -282,7 +288,8 @@ Module MPDMBS.
282288
|> reg_insert R3 0x1000
283289
|> reg_insert R4 0x200
284290
|> reg_insert R2 0x0
285-
|> reg_insert R5 0x0.
291+
|> reg_insert R5 0x0
292+
|> reg_insert SCTLR_EL1 0x0.
286293

287294
Definition init_mem : memoryMap :=
288295

coq-archsem-arm.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ build: [
3838
]
3939
dev-repo: "git+https://github.com/rems-project/archsem.git"
4040
pin-depends: [
41-
[ "coq-sail-tiny-arm.dev" "git+https://github.com/rems-project/sail-tiny-arm.git#df3a676"]
41+
[ "coq-sail-tiny-arm.dev" "git+https://github.com/rems-project/sail-tiny-arm.git#aff39e1"]
4242
[ "libsail.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]
4343
[ "sail.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]
4444
[ "sail_c_backend.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]

coq-archsem-arm.opam.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pin-depends: [
2-
[ "coq-sail-tiny-arm.dev" "git+https://github.com/rems-project/sail-tiny-arm.git#df3a676"]
2+
[ "coq-sail-tiny-arm.dev" "git+https://github.com/rems-project/sail-tiny-arm.git#aff39e1"]
33
[ "libsail.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]
44
[ "sail.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]
55
[ "sail_c_backend.0.19.1" "git+https://github.com/rems-project/sail.git#54574467"]

0 commit comments

Comments
 (0)