Skip to content
  • Chris Zankel's avatar
    xtensa: fix fast_syscall_spill_registers · 6b5a1f74
    Chris Zankel authored
    
    
    The original implementation could clobber registers under certain conditions.
    
    The Xtensa processor architecture uses windowed registers and the original
    implementation was using a4 as a temporary register, which under certain
    conditions could be register a0 of the oldest window frame, and didn't always
    restore the content correctly.
    
    By moving the _spill_registers routine inside the fast system call, it frees
    up one more register (the return address is not required anymore) for the
    spill routine.
    
    Signed-off-by: default avatarChris Zankel <chris@zankel.net>
    6b5a1f74