Rev 666 | Rev 1702 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 666 | Rev 667 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | 28 | ||
29 | /** |
29 | /** |
30 | * This file contains interrupt vector trap handler. |
30 | * This file contains interrupt vector trap handler. |
31 | */ |
31 | */ |
32 | 32 | ||
33 | #ifndef __sparc64_INTERRUPT_H__ |
33 | #ifndef __sparc64_TRAP_INTERRUPT_H__ |
34 | #define __sparc64_INTERRUPT_H__ |
34 | #define __sparc64_TRAP_INTERRUPT_H__ |
35 | 35 | ||
36 | #include <arch/trap/trap_table.h> |
36 | #include <arch/trap/trap_table.h> |
37 | #include <arch/stack.h> |
37 | #include <arch/stack.h> |
38 | 38 | ||
39 | #define TT_INTERRUPT_LEVEL_1 0x41 |
39 | #define TT_INTERRUPT_LEVEL_1 0x41 |
Line 57... | Line 57... | ||
57 | #define INTERRUPT_LEVEL_N_HANDLER_SIZE TRAP_TABLE_ENTRY_SIZE |
57 | #define INTERRUPT_LEVEL_N_HANDLER_SIZE TRAP_TABLE_ENTRY_SIZE |
58 | #define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE TRAP_TABLE_ENTRY_SIZE |
58 | #define INTERRUPT_VECTOR_TRAP_HANDLER_SIZE TRAP_TABLE_ENTRY_SIZE |
59 | 59 | ||
60 | #ifdef __ASM__ |
60 | #ifdef __ASM__ |
61 | .macro INTERRUPT_LEVEL_N_HANDLER n |
61 | .macro INTERRUPT_LEVEL_N_HANDLER n |
62 | save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp |
62 | save %sp, -PREEMPTIBLE_HANDLER_STACK_FRAME_SIZE, %sp |
63 | mov \n - 1, %o0 |
63 | mov \n - 1, %o0 |
64 | mov %fp, %o1 |
64 | mov %fp, %o1 |
65 | SAVING_HANDLER exc_dispatch |
65 | PREEMPTIBLE_HANDLER exc_dispatch |
66 | .endm |
66 | .endm |
67 | 67 | ||
68 | .macro INTERRUPT_VECTOR_TRAP_HANDLER |
68 | .macro INTERRUPT_VECTOR_TRAP_HANDLER |
69 | retry |
69 | retry |
70 | .endm |
70 | .endm |