前面介绍了启动汇编部分代码执行流程和镜像头,这一篇继续分析整个过程中关键的一步relocate,物理地址到虚拟地址运行的切换。前面先简单介绍下riscv的mmu,后面分析relocate和setup_vm时需要用到。 RISCV的MMU涉及一个CSR寄存器SATP和SFENCE.VMA 指令。 SATP寄存器 参考[1]的 ...