comparison packages/hal/sh/arch/current/include/hal_intr.h @ 80:2085233a121a ecos-sw-2000-04-07

Merge from eCos master repository on 2000-04-07-07:52:29-BST
author jlarmour
date Fri, 07 Apr 2000 07:45:04 +0000
parents 435cced73e2f
children 6736c52df507
comparison
equal deleted inserted replaced
79:5b39a5a40ccd 80:2085233a121a
49 //####DESCRIPTIONEND#### 49 //####DESCRIPTIONEND####
50 // 50 //
51 //========================================================================== 51 //==========================================================================
52 52
53 #include <pkgconf/hal.h> 53 #include <pkgconf/hal.h>
54 #include CYGBLD_HAL_CPU_MODULES_H // INTC module selection
54 55
55 // More include statements below. First part of this file must be 56 // More include statements below. First part of this file must be
56 // usable for both assembly and C files, so only use defines here. 57 // usable for both assembly and C files, so only use defines here.
57 58
58 //-------------------------------------------------------------------------- 59 //--------------------------------------------------------------------------
125 #define CYGNUM_HAL_INTERRUPT_SCI_TEI 28 126 #define CYGNUM_HAL_INTERRUPT_SCI_TEI 28
126 #define CYGNUM_HAL_INTERRUPT_WDT_ITI 29 127 #define CYGNUM_HAL_INTERRUPT_WDT_ITI 29
127 #define CYGNUM_HAL_INTERRUPT_REF_RCMI 30 128 #define CYGNUM_HAL_INTERRUPT_REF_RCMI 30
128 #define CYGNUM_HAL_INTERRUPT_REF_ROVI 31 129 #define CYGNUM_HAL_INTERRUPT_REF_ROVI 31
129 130
131 #define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_REF_ROVI
132
130 133
131 // CYGNUM_HAL_ISR_COUNT must match CYG_ISR_TABLE_SIZE defined in vectors.S. 134 // CYGNUM_HAL_ISR_COUNT must match CYG_ISR_TABLE_SIZE defined in vectors.S.
132 #define CYGNUM_HAL_ISR_MIN CYGNUM_HAL_INTERRUPT_NMI 135 #define CYGNUM_HAL_ISR_MIN CYGNUM_HAL_INTERRUPT_NMI
133 #define CYGNUM_HAL_ISR_MAX CYGNUM_HAL_INTERRUPT_REF_ROVI
134 #define CYGNUM_HAL_ISR_COUNT ( CYGNUM_HAL_ISR_MAX + 1 ) 136 #define CYGNUM_HAL_ISR_COUNT ( CYGNUM_HAL_ISR_MAX + 1 )
135 137
136 // Exception vectors. These are the values used when passed out to an 138 // Exception vectors. These are the values used when passed out to an
137 // external exception handler using cyg_hal_deliver_exception() 139 // external exception handler using cyg_hal_deliver_exception()
138 140
414 iprX |= (_level_)*CYGARC_REG_IPRA_RTC_PRI1; \ 416 iprX |= (_level_)*CYGARC_REG_IPRA_RTC_PRI1; \
415 HAL_WRITE_UINT16(CYGARC_REG_IPRA, iprX); \ 417 HAL_WRITE_UINT16(CYGARC_REG_IPRA, iprX); \
416 break; \ 418 break; \
417 \ 419 \
418 /* IPRB */ \ 420 /* IPRB */ \
419 case CYGNUM_HAL_INTERRUPT_WDT_ITI: \
420 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \
421 iprX &= ~CYGARC_REG_IPRB_WDT_MASK; \
422 iprX |= (_level_)*CYGARC_REG_IPRB_WDT_PRI1; \
423 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \
424 break; \
425 case CYGNUM_HAL_INTERRUPT_REF_RCMI: \
426 case CYGNUM_HAL_INTERRUPT_REF_ROVI: \
427 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \
428 iprX &= ~CYGARC_REG_IPRB_REF_MASK; \
429 iprX |= (_level_)*CYGARC_REG_IPRB_REF_PRI1; \
430 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \
431 break; \
432 case CYGNUM_HAL_INTERRUPT_SCI_ERI: \ 421 case CYGNUM_HAL_INTERRUPT_SCI_ERI: \
433 case CYGNUM_HAL_INTERRUPT_SCI_RXI: \ 422 case CYGNUM_HAL_INTERRUPT_SCI_RXI: \
434 case CYGNUM_HAL_INTERRUPT_SCI_TXI: \ 423 case CYGNUM_HAL_INTERRUPT_SCI_TXI: \
435 case CYGNUM_HAL_INTERRUPT_SCI_TEI: \ 424 case CYGNUM_HAL_INTERRUPT_SCI_TEI: \
436 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \ 425 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \
437 iprX &= ~CYGARC_REG_IPRB_SCI_MASK; \ 426 iprX &= ~CYGARC_REG_IPRB_SCI_MASK; \
438 iprX |= (_level_)*CYGARC_REG_IPRB_SCI_PRI1; \ 427 iprX |= (_level_)*CYGARC_REG_IPRB_SCI_PRI1; \
428 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \
429 break; \
430 case CYGNUM_HAL_INTERRUPT_WDT_ITI: \
431 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \
432 iprX &= ~CYGARC_REG_IPRB_WDT_MASK; \
433 iprX |= (_level_)*CYGARC_REG_IPRB_WDT_PRI1; \
434 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \
435 break; \
436 case CYGNUM_HAL_INTERRUPT_REF_RCMI: \
437 case CYGNUM_HAL_INTERRUPT_REF_ROVI: \
438 HAL_READ_UINT16(CYGARC_REG_IPRB, iprX); \
439 iprX &= ~CYGARC_REG_IPRB_REF_MASK; \
440 iprX |= (_level_)*CYGARC_REG_IPRB_REF_PRI1; \
439 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \ 441 HAL_WRITE_UINT16(CYGARC_REG_IPRB, iprX); \
440 break; \ 442 break; \
441 \ 443 \
442 case CYGNUM_HAL_INTERRUPT_RESERVED_1E0: \ 444 case CYGNUM_HAL_INTERRUPT_RESERVED_1E0: \
443 case CYGNUM_HAL_INTERRUPT_RESERVED_3E0: \ 445 case CYGNUM_HAL_INTERRUPT_RESERVED_3E0: \