summaryrefslogtreecommitdiff
path: root/mips/main.sail
diff options
context:
space:
mode:
authorAlasdair Armstrong2018-06-11 16:01:43 +0100
committerAlasdair Armstrong2018-06-11 16:50:11 +0100
commitd96cd3e8d74b303ff89716294d173754c70cd6b7 (patch)
treea7e68604ccf629509a75f6daa6387bc34fca8257 /mips/main.sail
parent6b70f78c3c9477d4c5f417ed0a5d96abc19c9fb0 (diff)
More efficient bitfield implementation
Diffstat (limited to 'mips/main.sail')
-rw-r--r--mips/main.sail5
1 files changed, 4 insertions, 1 deletions
diff --git a/mips/main.sail b/mips/main.sail
index 8b1e01d7..6f7d377e 100644
--- a/mips/main.sail
+++ b/mips/main.sail
@@ -16,7 +16,7 @@ function fetch_and_execute () = {
/* the following skips are required on mips to fake the tag effects otherwise type checker complains */
skip_rmemt();
skip_wmvt();
- prerr_bits("PC: ", PC);
+ /* prerr_bits("PC: ", PC); */
loop_again = true;
try {
let pc_pa = TranslatePC(PC);
@@ -62,9 +62,12 @@ function dump_mips_state () : unit -> unit = {
}
}
+val "load_raw" : (bits(64), string) -> unit
+
val main : unit -> unit effect {barr, eamem, escape, rmem, rreg, undef, wmv, wreg, rmemt, wmvt}
function main () = {
+ load_raw(0x0000000000100000, "/home/aa2019/mips_freebsd/kernel");
init_registers(to_bits(64, elf_entry()));
startTime = get_time_ns();
while (fetch_and_execute()) do ();