The reset_modes routine in entrypoint.s unconditionally switches to System mode before branching to the address in the link register. However, the routine is reused to reset registers on cold boot; since the CPU has never been in System mode by the time this function is called, the value of the System mode link register is undefined and the BIOS will crash.
The reset_modes routine in entrypoint.s unconditionally switches to System mode before branching to the address in the link register. However, the routine is reused to reset registers on cold boot; since the CPU has never been in System mode by the time this function is called, the value of the System mode link register is undefined and the BIOS will crash.