This just adds some notes about what would need to change to work with Debug spec v13.
The major issues:
-- ram_base, rom_base aren't defined in the spec. You can figure them out or write your program snippets in a way that doesn't use them.
-- The current code halts and resumes the hart for every low level operation. This is pretty inefficient and I'm wondering if that is the real intention.
-- the ROM isn't in the spec anymore so you can't assume that s0 and s1 are saved for you before you do run_program. You need to save/restore them within your program, or save them in the debugger by reading them out before doing the run_program you actually care about.
-- You can decide whether you want to use abstract_commands to transfer values to/from GPRs. This might be simpler than trying to do everything within one run_program execution.
This just adds some notes about what would need to change to work with Debug spec v13.
The major issues:
-- ram_base, rom_base aren't defined in the spec. You can figure them out or write your program snippets in a way that doesn't use them.
-- The current code halts and resumes the hart for every low level operation. This is pretty inefficient and I'm wondering if that is the real intention.
-- the ROM isn't in the spec anymore so you can't assume that s0 and s1 are saved for you before you do run_program. You need to save/restore them within your program, or save them in the debugger by reading them out before doing the run_program you actually care about.
-- You can decide whether you want to use abstract_commands to transfer values to/from GPRs. This might be simpler than trying to do everything within one run_program execution.