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

Author: awbiggerstaffCreated May 9, 2024Updated May 9, 2024

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.

Source: s-matyukevich/raspberry-pi-os