# HG changeset patch # User Paul Boddie # Date 1461579905 -7200 # Node ID 670b8fdc252b18de2cf4a59dc90efadb04df7046 # Parent 152e64b6487407d04a4c492c4dcb53adf90640f1 Avoid the task entry routine if ASID is zero. diff -r 152e64b64874 -r 670b8fdc252b stage2/entry.S --- a/stage2/entry.S Sun Apr 24 23:44:35 2016 +0200 +++ b/stage2/entry.S Mon Apr 25 12:25:05 2016 +0200 @@ -21,7 +21,6 @@ .extern interrupt_handler .extern current_registers .extern current_stack_pointer -.extern enter_task .globl _tlb_entry .globl _exc_entry .globl _irq_entry @@ -96,7 +95,17 @@ tlbwr nop + /* For ASID == 0... */ + + andi $k1, $k0, 0xff /* ASID */ + bnez $k1, _tlb_exit + nop + eret + nop + _tlb_exit: + /* For ASID != 0... */ + lui $k0, %hi(_enter_task) ori $k0, $k0, %lo(_enter_task) lw $k1, 0($k0)