Rev 1787 | Rev 1851 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1787 | Rev 1849 | ||
|---|---|---|---|
| Line 38... | Line 38... | ||
| 38 | #define __sparc64_TRAP_INTERRUPT_H__ |
38 | #define __sparc64_TRAP_INTERRUPT_H__ |
| 39 | 39 | ||
| 40 | #include <arch/trap/trap_table.h> |
40 | #include <arch/trap/trap_table.h> |
| 41 | #include <arch/stack.h> |
41 | #include <arch/stack.h> |
| 42 | 42 | ||
| - | 43 | /* Interrupt ASI registers. */ |
|
| - | 44 | #define ASI_UDB_INTR_W 0x77 |
|
| - | 45 | #define ASI_INTR_DISPATCH_STATUS 0x48 |
|
| - | 46 | #define ASI_UDB_INTR_R 0x7f |
|
| - | 47 | #define ASI_INTR_RECEIVE 0x49 |
|
| - | 48 | ||
| - | 49 | /* VA's used with ASI_UDB_INTR_W register. */ |
|
| - | 50 | #define ASI_UDB_INTR_W_DATA_0 0x40 |
|
| - | 51 | #define ASI_UDB_INTR_W_DATA_1 0x50 |
|
| - | 52 | #define ASI_UDB_INTR_W_DATA_2 0x60 |
|
| - | 53 | ||
| - | 54 | /* VA's used with ASI_UDB_INTR_R register. */ |
|
| - | 55 | #define ASI_UDB_INTR_R_DATA_0 0x40 |
|
| - | 56 | #define ASI_UDB_INTR_R_DATA_1 0x50 |
|
| - | 57 | #define ASI_UDB_INTR_R_DATA_2 0x60 |
|
| - | 58 | ||
| 43 | #define TT_INTERRUPT_LEVEL_1 0x41 |
59 | #define TT_INTERRUPT_LEVEL_1 0x41 |
| 44 | #define TT_INTERRUPT_LEVEL_2 0x42 |
60 | #define TT_INTERRUPT_LEVEL_2 0x42 |
| 45 | #define TT_INTERRUPT_LEVEL_3 0x43 |
61 | #define TT_INTERRUPT_LEVEL_3 0x43 |
| 46 | #define TT_INTERRUPT_LEVEL_4 0x44 |
62 | #define TT_INTERRUPT_LEVEL_4 0x44 |
| 47 | #define TT_INTERRUPT_LEVEL_5 0x45 |
63 | #define TT_INTERRUPT_LEVEL_5 0x45 |
| Line 68... | Line 84... | ||
| 68 | mov %fp, %o1 |
84 | mov %fp, %o1 |
| 69 | PREEMPTIBLE_HANDLER exc_dispatch |
85 | PREEMPTIBLE_HANDLER exc_dispatch |
| 70 | .endm |
86 | .endm |
| 71 | 87 | ||
| 72 | .macro INTERRUPT_VECTOR_TRAP_HANDLER |
88 | .macro INTERRUPT_VECTOR_TRAP_HANDLER |
| - | 89 | save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp |
|
| - | 90 | SIMPLE_HANDLER interrupt |
|
| - | 91 | restore |
|
| 73 | retry |
92 | retry |
| 74 | .endm |
93 | .endm |
| 75 | #endif /* __ASM__ */ |
94 | #endif /* __ASM__ */ |
| 76 | 95 | ||
| - | 96 | #ifndef __ASM__ |
|
| - | 97 | extern void interrupt(void); |
|
| - | 98 | #endif /* !def __ASM__ */ |
|
| - | 99 | ||
| 77 | #endif |
100 | #endif |
| 78 | 101 | ||
| 79 | /** @} |
102 | /** @} |
| 80 | */ |
103 | */ |