diff options
Diffstat (limited to 'mips_new_tc')
| -rw-r--r-- | mips_new_tc/main.sail | 3 | ||||
| -rw-r--r-- | mips_new_tc/mips_prelude.sail | 1 | ||||
| -rw-r--r-- | mips_new_tc/mips_wrappers.sail | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/mips_new_tc/main.sail b/mips_new_tc/main.sail index 71beb582..ee77f4dc 100644 --- a/mips_new_tc/main.sail +++ b/mips_new_tc/main.sail @@ -8,7 +8,8 @@ function fetch_and_execute () = { inBranchDelay = branchPending; branchPending = 0b0; nextPC = if inBranchDelay then delayedPC else PC + 4; - + cp2_next_pc(); + print_bits("PC: ", PC); try { let pc_pa = TranslatePC(PC); diff --git a/mips_new_tc/mips_prelude.sail b/mips_new_tc/mips_prelude.sail index d1302c52..9927d20e 100644 --- a/mips_new_tc/mips_prelude.sail +++ b/mips_new_tc/mips_prelude.sail @@ -615,4 +615,5 @@ function init_cp0_state () : unit -> unit = { } val init_cp2_state : unit -> unit effect {wreg} +val cp2_next_pc: unit -> unit effect {rreg, wreg} val dump_cp2_state : unit -> unit effect {rreg}
\ No newline at end of file diff --git a/mips_new_tc/mips_wrappers.sail b/mips_new_tc/mips_wrappers.sail index bbb99e17..2e67a880 100644 --- a/mips_new_tc/mips_wrappers.sail +++ b/mips_new_tc/mips_wrappers.sail @@ -82,4 +82,5 @@ val ERETHook : unit -> unit function ERETHook() = () function init_cp2_state () = skip_wreg() +function cp2_next_pc() = {skip_wreg(); skip_rreg()} function dump_cp2_state () = skip_rreg() |
