diff options
Diffstat (limited to 'arch/microblaze/kernel/entry-nommu.S')
-rw-r--r-- | arch/microblaze/kernel/entry-nommu.S | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 8cc18cd2cce6..ca84368570b6 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
@@ -588,3 +588,31 @@ sys_rt_sigsuspend_wrapper: | |||
588 | #include "syscall_table.S" | 588 | #include "syscall_table.S" |
589 | 589 | ||
590 | syscall_table_size=(.-sys_call_table) | 590 | syscall_table_size=(.-sys_call_table) |
591 | |||
592 | type_SYSCALL: | ||
593 | .ascii "SYSCALL\0" | ||
594 | type_IRQ: | ||
595 | .ascii "IRQ\0" | ||
596 | type_IRQ_PREEMPT: | ||
597 | .ascii "IRQ (PREEMPTED)\0" | ||
598 | type_SYSCALL_PREEMPT: | ||
599 | .ascii " SYSCALL (PREEMPTED)\0" | ||
600 | |||
601 | /* | ||
602 | * Trap decoding for stack unwinder | ||
603 | * Tuples are (start addr, end addr, string) | ||
604 | * If return address lies on [start addr, end addr], | ||
605 | * unwinder displays 'string' | ||
606 | */ | ||
607 | |||
608 | .align 4 | ||
609 | .global microblaze_trap_handlers | ||
610 | microblaze_trap_handlers: | ||
611 | /* Exact matches come first */ | ||
612 | .word ret_to_user ; .word ret_to_user ; .word type_SYSCALL | ||
613 | .word ret_from_intr; .word ret_from_intr ; .word type_IRQ | ||
614 | /* Fuzzy matches go here */ | ||
615 | .word ret_from_intr; .word no_intr_resched; .word type_IRQ_PREEMPT | ||
616 | .word work_pending ; .word no_work_pending; .word type_SYSCALL_PREEMPT | ||
617 | /* End of table */ | ||
618 | .word 0 ; .word 0 ; .word 0 | ||