s-matyukevich/raspberry-pi-os

[Lesson 5] Erroneous extra save of registers in el0_sync.

Opened this issue · 0 comments

In the el0_sync code, for the case where it is not an svc request, the handle_invalid_entry macro is included. This results in the kernel_entry macro being included again, and the registers being saved again, with register corruption.

If, like me, you're implementing a debugger using a BRK instruction, you've got register corruption after proceeding from a breakpoint.