$8 and $19 were both stored to 9*8($sp), so $19 overwrote $8's saved value and the interrupted context got $19's value back in $8.
Store $8 at 8*8($sp) instead, matching its .cfi_rel_offset. Signed-off-by: Matt Turner <[email protected]> --- console-low.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/console-low.S b/console-low.S index 1f61cbc..83adb2a 100644 --- a/console-low.S +++ b/console-low.S @@ -46,7 +46,7 @@ entInt: stq $5, 5*8($sp) stq $6, 6*8($sp) stq $7, 7*8($sp) - stq $8, 9*8($sp) + stq $8, 8*8($sp) stq $19, 9*8($sp) stq $20, 10*8($sp) stq $21, 11*8($sp) @@ -87,7 +87,7 @@ entInt: ldq $5, 5*8($sp) ldq $6, 6*8($sp) ldq $7, 7*8($sp) - ldq $8, 9*8($sp) + ldq $8, 8*8($sp) ldq $19, 9*8($sp) ldq $20, 10*8($sp) ldq $21, 11*8($sp) -- 2.54.0
