Open IsaacWoods opened 1 year ago
Adding a note here to hopefully remember (we're not going to be near our workstation for a while :( ). I think we need to do a VMA fence after switching to new sets of page tables - I don't think this is going to be what's causing issues on the D1, but is the correct thing to do.
Also some thoughts about debugging on real hardware - I wonder if we could get some kind of timer running in M-mode (with an altered OpenSBI I guess) that pings back a set of registers / other info over UART. This would be a useful extra tool for dealing with stuff like the core seemingly freezing when entering usermode (although we need to have a look at our trap handling to rule out dumb mistakes first).
Could also look at the ebreak
instruction to see if we can do any instrumentation through that via M-mode too.
Getting the kernel running
Sv39
paging model (as this is all the D1 supports :()seed_riscv
's ELF loading to any source of filesBoot from persistent media
boot0
running from SRAM that can output to the UART running from the SD cardboot0
boot0