Rev 664 | Rev 867 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 664 | Rev 667 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
28 | 28 | ||
29 | #include <arch/trap/trap.h> |
29 | #include <arch/trap/trap.h> |
30 | #include <arch/trap/trap_table.h> |
30 | #include <arch/trap/trap_table.h> |
31 | #include <arch/trap/regwin.h> |
31 | #include <arch/trap/regwin.h> |
- | 32 | #include <arch/trap/exception.h> |
|
32 | #include <arch/trap/interrupt.h> |
33 | #include <arch/trap/interrupt.h> |
33 | #include <arch/asm.h> |
34 | #include <arch/asm.h> |
34 | #include <memstr.h> |
35 | #include <memstr.h> |
35 | #include <debug.h> |
36 | #include <debug.h> |
36 | #include <arch/types.h> |
37 | #include <arch/types.h> |
Line 51... | Line 52... | ||
51 | memcpy((void *) trap_table, (void *) tba_read(), TRAP_TABLE_SIZE); |
52 | memcpy((void *) trap_table, (void *) tba_read(), TRAP_TABLE_SIZE); |
52 | 53 | ||
53 | /* |
54 | /* |
54 | * Install kernel-provided handlers. |
55 | * Install kernel-provided handlers. |
55 | */ |
56 | */ |
- | 57 | trap_install_handler(TT_INSTRUCTION_ACCESS_EXCEPTION, TRAP_TABLE_ENTRY_SIZE, false); |
|
56 | trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, false); |
58 | trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, false); |
- | 59 | trap_install_handler(TT_MEM_ADDRESS_NOT_ALIGNED, TRAP_TABLE_ENTRY_SIZE, false); |
|
57 | trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, false); |
60 | trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, false); |
58 | trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, false); |
61 | trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, false); |
- | 62 | trap_install_handler(TT_INSTRUCTION_ACCESS_EXCEPTION, TRAP_TABLE_ENTRY_SIZE, true); |
|
59 | trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, true); |
63 | trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, true); |
- | 64 | trap_install_handler(TT_MEM_ADDRESS_NOT_ALIGNED, TRAP_TABLE_ENTRY_SIZE, true); |
|
60 | trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, true); |
65 | trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, true); |
61 | trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, true); |
66 | trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, true); |
62 | trap_install_handler(TT_INTERRUPT_LEVEL_1, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |
67 | trap_install_handler(TT_INTERRUPT_LEVEL_1, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |
63 | trap_install_handler(TT_INTERRUPT_LEVEL_2, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |
68 | trap_install_handler(TT_INTERRUPT_LEVEL_2, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |
64 | trap_install_handler(TT_INTERRUPT_LEVEL_3, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |
69 | trap_install_handler(TT_INTERRUPT_LEVEL_3, INTERRUPT_LEVEL_N_HANDLER_SIZE, false); |