diff packages/hal/sh/arch/current/include/hal_intr.h @ 115:6ed91473a1cd ecos-sw-2000-08-21

Merge from eCos master repository on 2000-08-21-22:40:54-BST
author jlarmour
date Fri, 25 Aug 2000 17:32:38 +0000
parents 02ea4320376c
children 0ec04793409a
line wrap: on
line diff
--- a/packages/hal/sh/arch/current/include/hal_intr.h
+++ b/packages/hal/sh/arch/current/include/hal_intr.h
@@ -173,6 +173,21 @@
 
 #endif // CYGARC_SH_MOD_INTC_V2
 
+//----------------------------------------------------------------------------
+// Additional vectors provided by INTC V3
+
+//#ifdef CYGARC_SH_MOD_INTC_V3 // FIXME
+#define CYGNUM_HAL_INTERRUPT_LCDC_LCDI       63
+#define CYGNUM_HAL_INTERRUPT_PCC_PCC0        64
+#define CYGNUM_HAL_INTERRUPT_PCC_PCC1        65
+
+#ifdef CYGARC_SH_MOD_INTC_V3 // FIXME
+
+#undef  CYGNUM_HAL_ISR_MAX
+#define CYGNUM_HAL_ISR_MAX                   CYGNUM_HAL_INTERRUPT_PCC_PCC1
+
+#endif // CYGARC_SH_MOD_INTC_V3
+
 
 // CYGNUM_HAL_ISR_COUNT must match CYG_ISR_TABLE_SIZE defined in vectors.S.
 #define CYGNUM_HAL_ISR_MIN                   CYGNUM_HAL_INTERRUPT_NMI
@@ -575,6 +590,26 @@ externC cyg_uint8 cyg_hal_ILVL_table[];
         HAL_WRITE_UINT16(CYGARC_REG_IPRE, iprX);                         \
         break;                                                           \
                                                                          \
+    /* IPRF */                                                           \
+    case CYGNUM_HAL_INTERRUPT_LCDC_LCDI:                                 \
+        HAL_READ_UINT16(CYGARC_REG_IPRF, iprX);                          \
+        iprX &= ~CYGARC_REG_IPRF_LCDI_MASK;                              \
+        iprX |= (_level_)*CYGARC_REG_IPRF_LCDI_PRI1;                     \
+        HAL_WRITE_UINT16(CYGARC_REG_IPRF, iprX);                         \
+        break;                                                           \
+    case CYGNUM_HAL_INTERRUPT_PCC_PCC0:                                  \
+        HAL_READ_UINT16(CYGARC_REG_IPRF, iprX);                          \
+        iprX &= ~CYGARC_REG_IPRF_PCC0_MASK;                              \
+        iprX |= (_level_)*CYGARC_REG_IPRF_PCC0_PRI1;                     \
+        HAL_WRITE_UINT16(CYGARC_REG_IPRF, iprX);                         \
+        break;                                                           \
+    case CYGNUM_HAL_INTERRUPT_PCC_PCC1:                                  \
+        HAL_READ_UINT16(CYGARC_REG_IPRF, iprX);                          \
+        iprX &= ~CYGARC_REG_IPRF_PCC1_MASK;                              \
+        iprX |= (_level_)*CYGARC_REG_IPRF_PCC1_PRI1;                     \
+        HAL_WRITE_UINT16(CYGARC_REG_IPRF, iprX);                         \
+        break;                                                           \
+                                                                         \
     case CYGNUM_HAL_INTERRUPT_RESERVED_1E0:                              \
     case CYGNUM_HAL_INTERRUPT_RESERVED_3E0:                              \
         /* Do nothing for these reserved vectors. */                     \