summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKathy Gray2015-12-22 12:49:32 +0000
committerKathy Gray2015-12-22 12:50:31 +0000
commit0ca565a91df971fac0f69b28d84def84174e1ccf (patch)
treeeb2d333d0dd57c59afed30eff7523afcf50ec7ed
parentcb3bac47cecff155d88b93e840e20edb448afd65 (diff)
More gluing mips to interpreter
-rw-r--r--mips/Makefile3
-rw-r--r--src/lem_interp/run_with_elf.ml14
2 files changed, 10 insertions, 7 deletions
diff --git a/mips/Makefile b/mips/Makefile
index 7bd20737..3042d331 100644
--- a/mips/Makefile
+++ b/mips/Makefile
@@ -59,6 +59,9 @@ $(BUILDDIR)mips_extras.ml:
$(LEM) -ocaml -only_changed_output -lib $(SAILDIR)/src/lem_interp/ $<
touch $@
+$(BUILDDIR)run_with_elf.ml:
+ cp $(SAILDIR)/src/lem_interp/run_with_elf.ml $@
+
$(BUILDDIR)/test.lem: test.sail $(SAIL) | $(BUILDDIR)
# if bash is detected we can print nicer errors
ifeq ($(SHELL),/bin/bash)
diff --git a/src/lem_interp/run_with_elf.ml b/src/lem_interp/run_with_elf.ml
index 6c4e2040..811cdc8e 100644
--- a/src/lem_interp/run_with_elf.ml
+++ b/src/lem_interp/run_with_elf.ml
@@ -578,19 +578,19 @@ let initial_system_state_of_elf_file name =
| 8 (* EM_MIPS *) ->
let startaddr =
let e_entry = Uint64.of_int64 (Nat_big_num.to_int64 e_entry) in
- match Abi_aarch64_le.abi_aarch64_le_compute_program_entry_point segments e_entry with
+ match Abi_mips64.abi_mips64_compute_program_entry_point segments e_entry with
| Error.Fail s -> failwith "Failed computing entry point"
| Error.Success s -> Nat_big_num.of_int64 (Uint64.to_int64 s)
in
let (initial_stack_data, initial_register_abi_data) =
initial_stack_and_reg_data_of_MIPS_elf_file e_entry !data_mem in
- (MIPS.defs,
- (ArmV8_extras.aArch64_read_memory_functions,
- ArmV8_extras.aArch64_memory_writes,
- ArmV8_extras.aArch64_memory_eas,
- ArmV8_extras.aArch64_memory_vals,
- ArmV8_extras.aArch64_barrier_functions),
+ (Mips.defs,
+ (Mips_extras.read_memory_functions,
+ Mips_extras.memory_writes,
+ [],
+ [],
+ Mips_extras.barrier_functions),
[],
MIPS,
D_decreasing,