Mercurial > ecos
comparison packages/hal/arm/arch/current/src/vectors.S @ 110:84e4bde58b26 ecos-sw-2000-07-14
Merge from eCos master repository on 2000-07-14-22:00:02-BST
| author | jlarmour |
|---|---|
| date | Mon, 17 Jul 2000 14:42:27 +0000 |
| parents | ff3f181b64bd |
| children | 02ea4320376c |
comparison
equal
deleted
inserted
replaced
| 109:5720c4b6e1d2 | 110:84e4bde58b26 |
|---|---|
| 187 .globl hal_dram_size | 187 .globl hal_dram_size |
| 188 hal_dram_size: | 188 hal_dram_size: |
| 189 .long 0 | 189 .long 0 |
| 190 | 190 |
| 191 .balign 16 | 191 .balign 16 |
| 192 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT // this _check_ should go away | 192 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT |
| 193 // Vectors used to communicate between eCos and ROM environments | 193 // Vectors used to communicate between eCos and ROM environments |
| 194 .globl hal_virtual_vector_table | 194 .globl hal_virtual_vector_table |
| 195 hal_virtual_vector_table: | 195 hal_virtual_vector_table: |
| 196 .rept CYGNUM_CALL_IF_TABLE_SIZE | 196 .rept CYGNUM_CALL_IF_TABLE_SIZE |
| 197 .long 0 | 197 .long 0 |
| 198 .endr | 198 .endr |
| 386 str r2,[r0,#0x04] | 386 str r2,[r0,#0x04] |
| 387 ldr r2,[r1,#0x24] | 387 ldr r2,[r1,#0x24] |
| 388 str r2,[r0,#0x24] | 388 str r2,[r0,#0x24] |
| 389 #endif | 389 #endif |
| 390 | 390 |
| 391 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT // this _check_ should go away | |
| 392 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) \ | 391 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) \ |
| 393 || defined(CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT) | 392 || defined(CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT) |
| 394 .extern hal_ctrlc_isr_init | 393 .extern hal_ctrlc_isr_init |
| 395 bl hal_ctrlc_isr_init | 394 bl hal_ctrlc_isr_init |
| 396 #endif | |
| 397 #endif | 395 #endif |
| 398 | 396 |
| 399 LED 2 | 397 LED 2 |
| 400 | 398 |
| 401 // Run through static constructors | 399 // Run through static constructors |
| 714 | 712 |
| 715 ARM_MODE(r0,10) | 713 ARM_MODE(r0,10) |
| 716 | 714 |
| 717 mov r0,v1 // vector # | 715 mov r0,v1 // vector # |
| 718 | 716 |
| 719 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT // this _check_ should go away | |
| 720 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) \ | 717 #if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) \ |
| 721 || defined(CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT) | 718 || defined(CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT) |
| 722 // If we are supporting Ctrl-C interrupts from GDB, we must squirrel | 719 // If we are supporting Ctrl-C interrupts from GDB, we must squirrel |
| 723 // away a pointer to the save interrupt state here so that we can | 720 // away a pointer to the save interrupt state here so that we can |
| 724 // plant a breakpoint at some later time. | 721 // plant a breakpoint at some later time. |
| 725 | 722 |
| 726 .extern hal_saved_interrupt_state | 723 .extern hal_saved_interrupt_state |
| 727 ldr r2,=hal_saved_interrupt_state | 724 ldr r2,=hal_saved_interrupt_state |
| 728 str v6,[r2] | 725 str v6,[r2] |
| 729 #endif | 726 #endif |
| 730 #endif | |
| 731 | 727 |
| 732 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS | 728 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS |
| 733 cmp r0,#0 // ignore spurious interrupts | 729 cmp r0,#0 // ignore spurious interrupts |
| 734 beq spurious_IRQ | 730 beq spurious_IRQ |
| 735 #endif // CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS | 731 #endif // CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS |
