[课程 5] el0_sync 中错误地额外保存了寄存器。

作者: awbiggerstaff创建于 2024年5月9日更新于 2024年5月9日

在 el0_sync 代码中,对于不是 svc 请求的情况,包含了 handle_invalid_entry 宏。这导致 kernel_entry 宏再次被包含,并再次保存了寄存器,导致寄存器损坏。如果您像我一样,正在使用 BRK 指令实现调试器,那么从断点处继续执行后,将会出现寄存器损坏。

内容来源: s-matyukevich/raspberry-pi-os