• Robert Sprowson's avatar
    Fix bug in usermode_donothing() exposed by using this from the Internet module. · a31ce970
    Robert Sprowson authored
    In the 26 bit case the TEQP pc,#0 switches to user mode and enables interrupts (see section 8.2.1 of ARM ARM revision E), however the 32 bit case only switched to user mode.
    Since interrupts were not enabled, no callbacks got collected, and you just sit in a tight loop. Since a precondition of collecting callbacks is that interrupts are enabled it is safe to reenable them since the caller must have expected this to happen.
    Since none of the SWIs in question corrupt R12, we no longer stack it either.
    
    Version 0.13. Tagged as 'AsmUtils-0_13'
    a31ce970
callbacks 2.53 KB