1.1 --- a/stage2/entry.S Wed Feb 24 17:26:10 2016 +0100
1.2 +++ b/stage2/entry.S Wed Feb 24 17:59:26 2016 +0100
1.3 @@ -26,20 +26,28 @@
1.4 .set noreorder
1.5
1.6 _tlb_entry:
1.7 - move $k1, $gp
1.8 + /* Save registers that the assembler wants to trash. */
1.9 +
1.10 + sw $t9, -100($sp)
1.11 + sw $gp, -104($sp)
1.12 + sw $ra, -112($sp)
1.13 +
1.14 lui $gp, %hi(_GLOBAL_OFFSET_TABLE_)
1.15 ori $gp, $gp, %lo(_GLOBAL_OFFSET_TABLE_)
1.16 la $k0, tlb_handler
1.17 - move $gp, $k1
1.18 jr $k0
1.19 nop
1.20
1.21 _irq_entry:
1.22 - move $k1, $gp
1.23 + /* Save registers that the assembler wants to trash. */
1.24 +
1.25 + sw $t9, -100($sp)
1.26 + sw $gp, -104($sp)
1.27 + sw $ra, -112($sp)
1.28 +
1.29 lui $gp, %hi(_GLOBAL_OFFSET_TABLE_)
1.30 ori $gp, $gp, %lo(_GLOBAL_OFFSET_TABLE_)
1.31 la $k0, interrupt_handler
1.32 - move $gp, $k1
1.33 jr $k0
1.34 nop
1.35