Mercurial > ecos
comparison packages/hal/sh/arch/current/src/vectors.S @ 139:79d72068f491 ecos-sw-2000-11-24
Merge from eCos master repository on 2000-11-24-16:52:55-GMT
| author | jlarmour |
|---|---|
| date | Fri, 24 Nov 2000 17:42:47 +0000 |
| parents | 289bf90c6a9b |
| children | 2e9a636d9de9 |
comparison
equal
deleted
inserted
replaced
| 138:289bf90c6a9b | 139:79d72068f491 |
|---|---|
| 91 # Note: this is the unmapped, shadow address of the start of code | 91 # Note: this is the unmapped, shadow address of the start of code |
| 92 # Sadly, it is too far to just branch to. | 92 # Sadly, it is too far to just branch to. |
| 93 .align 2 | 93 .align 2 |
| 94 $_reset_platform: | 94 $_reset_platform: |
| 95 #ifdef CYG_HAL_STARTUP_RAM | 95 #ifdef CYG_HAL_STARTUP_RAM |
| 96 .long CYG_LABEL_NAME(_reset_platform) | 96 .long CYG_LABEL_DEFN(_reset_platform) |
| 97 #else | 97 #else |
| 98 // Uncached "shadow" address | 98 // Uncached "shadow" address |
| 99 .long CYG_LABEL_NAME(_reset_platform)+0x20000000 | 99 .long CYG_LABEL_DEFN(_reset_platform)+0x20000000 |
| 100 #endif | 100 #endif |
| 101 | 101 |
| 102 #--------------------------------------------------------------------------- | 102 #--------------------------------------------------------------------------- |
| 103 # Exception entry | 103 # Exception entry |
| 104 | 104 |
| 279 jmp @r1 | 279 jmp @r1 |
| 280 nop | 280 nop |
| 281 | 281 |
| 282 .align 2 | 282 .align 2 |
| 283 $hal_vsr_table_int: | 283 $hal_vsr_table_int: |
| 284 .long CYG_LABEL_NAME(hal_vsr_table)+CYGNUM_HAL_VECTOR_INTERRUPT*4 | 284 .long CYG_LABEL_DEFN(hal_vsr_table)+CYGNUM_HAL_VECTOR_INTERRUPT*4 |
| 285 | 285 |
| 286 #--------------------------------------------------------------------------- | 286 #--------------------------------------------------------------------------- |
| 287 # Common interrupt handling code. | 287 # Common interrupt handling code. |
| 288 | 288 |
| 289 FUNC_START(cyg_hal_default_interrupt_vsr) | 289 FUNC_START(cyg_hal_default_interrupt_vsr) |
| 612 #endif // CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING | 612 #endif // CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING |
| 613 | 613 |
| 614 | 614 |
| 615 #ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT | 615 #ifdef CYGFUN_HAL_COMMON_KERNEL_SUPPORT |
| 616 SYM_PTR_REF(cyg_interrupt_call_pending_DSRs) | 616 SYM_PTR_REF(cyg_interrupt_call_pending_DSRs) |
| 617 SYM_PTR_REF(cyg_scheduler_sched_lock) | |
| 618 SYM_PTR_REF(interrupt_end) | 617 SYM_PTR_REF(interrupt_end) |
| 618 # cyg_scheduler_sched_lock is special as it is defined as an asm alias | |
| 619 | |
| 620 .globl cyg_scheduler_sched_lock | |
| 621 $cyg_scheduler_sched_lock: .long cyg_scheduler_sched_lock | |
| 622 | |
| 619 #endif | 623 #endif |
| 620 | 624 |
| 621 #--------------------------------------------------------------------------- | 625 #--------------------------------------------------------------------------- |
| 622 # Platform initialization (reset) | 626 # Platform initialization (reset) |
| 623 FUNC_START(_reset_platform) | 627 FUNC_START(_reset_platform) |
| 702 SYM_PTR_REF(complete_setup) | 706 SYM_PTR_REF(complete_setup) |
| 703 | 707 |
| 704 #else | 708 #else |
| 705 | 709 |
| 706 # Jump to remaining setup code. Relative branch is OK since VMA=LMA. | 710 # Jump to remaining setup code. Relative branch is OK since VMA=LMA. |
| 707 bra CYG_LABEL_NAME(complete_setup) | 711 bra CYG_LABEL_DEFN(complete_setup) |
| 708 nop | 712 nop |
| 709 | 713 |
| 710 #endif | 714 #endif |
| 711 | 715 |
| 712 #----------------------------------------------------------------------------- | 716 #----------------------------------------------------------------------------- |
| 804 # These tables contain the isr, data and object pointers used to deliver | 808 # These tables contain the isr, data and object pointers used to deliver |
| 805 # interrupts to user code. | 809 # interrupts to user code. |
| 806 | 810 |
| 807 .data | 811 .data |
| 808 | 812 |
| 809 .extern CYG_LABEL_NAME(hal_default_isr) | 813 .extern CYG_LABEL_DEFN(hal_default_isr) |
| 810 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN | 814 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN |
| 811 #define CYG_ISR_TABLE_SIZE 1 | 815 #define CYG_ISR_TABLE_SIZE 1 |
| 812 #else | 816 #else |
| 813 #define CYG_ISR_TABLE_SIZE CYGNUM_HAL_ISR_COUNT | 817 #define CYG_ISR_TABLE_SIZE CYGNUM_HAL_ISR_COUNT |
| 814 #endif | 818 #endif |
| 815 | 819 |
| 816 SYM_DEF(hal_interrupt_handlers) | 820 SYM_DEF(hal_interrupt_handlers) |
| 817 .rept CYG_ISR_TABLE_SIZE | 821 .rept CYG_ISR_TABLE_SIZE |
| 818 .long CYG_LABEL_NAME(hal_default_isr) | 822 .long CYG_LABEL_DEFN(hal_default_isr) |
| 819 .endr | 823 .endr |
| 820 | 824 |
| 821 SYM_DEF(hal_interrupt_data) | 825 SYM_DEF(hal_interrupt_data) |
| 822 .rept CYG_ISR_TABLE_SIZE | 826 .rept CYG_ISR_TABLE_SIZE |
| 823 .long 0 | 827 .long 0 |
