Changeset 5b1ced0 in mainline
- Timestamp:
- 2005-12-25T12:11:23Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 39494010
- Parents:
- 7ae4443
- Location:
- arch/sparc64
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/sparc64/Makefile.inc
r7ae4443 r5b1ced0 60 60 arch/$(ARCH)/src/start.S \ 61 61 arch/$(ARCH)/src/trap/trap_table.S \ 62 arch/$(ARCH)/src/trap/trap.c 62 arch/$(ARCH)/src/trap/trap.c \ 63 arch/$(ARCH)/src/trap/interrupt.c -
arch/sparc64/src/dummy.s
r7ae4443 r5b1ced0 30 30 31 31 .global asm_delay_loop 32 .global cpu_halt33 32 .global cpu_sleep 34 33 .global fmath_dpow … … 46 45 47 46 asm_delay_loop: 48 cpu_halt:49 47 cpu_sleep: 50 48 fmath_dpow: … … 62 60 retl 63 61 nop 62 63 .global cpu_halt 64 cpu_halt: 65 b cpu_halt 66 nop -
arch/sparc64/src/panic.S
r7ae4443 r5b1ced0 35 35 call halt 36 36 nop 37 /* Not reached. */ -
arch/sparc64/src/sparc64.c
r7ae4443 r5b1ced0 34 34 void arch_pre_mm_init(void) 35 35 { 36 interrupts_disable(); 36 37 ofw_sparc64_console_init(); 37 38 trap_init(); -
arch/sparc64/src/trap/trap.c
r7ae4443 r5b1ced0 30 30 #include <arch/trap/trap_table.h> 31 31 #include <arch/trap/regwin.h> 32 #include <arch/trap/interrupt.h> 32 33 #include <arch/asm.h> 33 34 #include <memstr.h> … … 55 56 trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, false); 56 57 trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, false); 58 trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, true); 59 trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, true); 60 trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, true); 61 62 trap_install_handler(TT_INTERRUPT_VECTOR_TRAP, INTERRUPT_VECTOR_TRAP_HANDLER_SIZE, false); 57 63 } 58 64 -
arch/sparc64/src/trap/trap_table.S
r7ae4443 r5b1ced0 43 43 #include <arch/trap/trap_table.h> 44 44 #include <arch/trap/regwin.h> 45 #include <arch/trap/interrupt.h> 45 46 46 47 #define TABLE_SIZE TRAP_TABLE_SIZE … … 54 55 trap_table: 55 56 56 /* TT = 0x24, TL = 0 *, clean_window handler */57 /* TT = 0x24, TL = 0, clean_window handler */ 57 58 .org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE 58 59 .global clean_window_handler … … 60 61 CLEAN_WINDOW_HANDLER 61 62 62 /* TT = 0x80, TL = 0 *, spill_0_normal handler */ 63 /* TT = 0x60, TL = 0, interrupt_vector_trap handler */ 64 .org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE 65 .global interrupt_vector_trap_handler 66 interrupt_vector_trap_handler: 67 INTERRUPT_VECTOR_TRAP_HANDLER 68 69 /* TT = 0x80, TL = 0, spill_0_normal handler */ 63 70 .org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE 64 71 .global spill_0_normal … … 66 73 SPILL_NORMAL_HANDLER 67 74 68 /* TT = 0xc0, TL = 0 *, fill_0_normal handler */75 /* TT = 0xc0, TL = 0, fill_0_normal handler */ 69 76 .org trap_table + TT_FILL_0_NORMAL*ENTRY_SIZE 77 .global fill_0_normal 70 78 fill_0_normal: 71 79 FILL_NORMAL_HANDLER 72 80 73 81 /* 74 * Software traps for TL=0.82 * Handlers for TL>0. 75 83 */ 76 .org trap_table + 256*ENTRY_SIZE77 tl_0_software_traps:78 84 79 /* Reserved area. */ 80 .org trap_table + 384*ENTRY_SIZE 81 .space 128*ENTRY_SIZE, 0 85 /* TT = 0x24, TL > 0, clean_window handler */ 86 .org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE 87 .global clean_window_handler_high 88 clean_window_handler_high: 89 CLEAN_WINDOW_HANDLER 82 90 83 /*84 * Hardware interrupts for TL>0.85 */86 .org trap_table + 512*ENTRY_SIZE87 tl_non_0_hardware_traps:88 91 89 /* 90 * Register window spill/fill traps for TL>0. 91 */ 92 .org trap_table + 640*ENTRY_SIZE 93 tl_non_0_regwin_traps: 92 /* TT = 0x80, TL > 0, spill_0_normal handler */ 94 93 95 /* 96 * Software traps for TL>0. 97 */ 98 .org trap_table + 768*ENTRY_SIZE 99 tl_non_0_software_traps: 94 .org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE 95 .global spill_0_normal_high 96 spill_0_normal_high: 97 SPILL_NORMAL_HANDLER 100 98 101 /* Reserved area. */ 102 .org trap_table + 896*ENTRY_SIZE 103 .space 128*ENTRY_SIZE, 0 99 100 /* TT = 0xc0, TL > 0, fill_0_normal handler */ 101 .org trap_table + (TT_FILL_0_NORMAL+512)*ENTRY_SIZE 102 .global fill_0_normal_high 103 fill_0_normal_high: 104 FILL_NORMAL_HANDLER 105 104 106 105 107 … … 107 109 * Save trap table. 108 110 */ 111 .align TABLE_SIZE 109 112 .global trap_table_save 110 113 trap_table_save:
Note:
See TracChangeset
for help on using the changeset viewer.