[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