diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/score603e/irq/irq.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/score603e/irq/irq.c | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/c/src/lib/libbsp/powerpc/score603e/irq/irq.c b/c/src/lib/libbsp/powerpc/score603e/irq/irq.c index 7c154ec9cf..a3f4904791 100644 --- a/c/src/lib/libbsp/powerpc/score603e/irq/irq.c +++ b/c/src/lib/libbsp/powerpc/score603e/irq/irq.c @@ -86,7 +86,7 @@ static int isValidInterrupt(int irq) */ int BSP_install_rtems_shared_irq_handler (const rtems_irq_connect_data* irq) { - unsigned int level; + rtems_interrupt_level level; rtems_irq_connect_data* vchain; if (!isValidInterrupt(irq->name)) { @@ -94,10 +94,10 @@ int BSP_install_rtems_shared_irq_handler (const rtems_irq_connect_data* irq) return 0; } - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); if ( (int)rtems_hdl_tbl[irq->name].next_handler == -1 ) { - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); printk("IRQ vector %d already connected to an unshared handler\n",irq->name); return 0; } @@ -131,7 +131,7 @@ int BSP_install_rtems_shared_irq_handler (const rtems_irq_connect_data* irq) */ irq->on(irq); - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 1; } @@ -142,7 +142,7 @@ int BSP_install_rtems_shared_irq_handler (const rtems_irq_connect_data* irq) int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) { - unsigned int level; + rtems_interrupt_level level; if (!isValidInterrupt(irq->name)) { printk("Invalid interrupt vector %d\n",irq->name); @@ -155,9 +155,9 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) * RATIONALE : to always have the same transition by forcing the user * to get the previous handler before accepting to disconnect. */ - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); if (rtems_hdl_tbl[irq->name].hdl != default_rtems_entry.hdl) { - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); printk("IRQ vector %d already connected\n",irq->name); return 0; } @@ -185,28 +185,28 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq) */ irq->on(irq); - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 1; } int BSP_get_current_rtems_irq_handler (rtems_irq_connect_data* irq) { - unsigned int level; + rtems_interrupt_level level; - if (!isValidInterrupt(irq->name)) { + if (!isValidInterrupt(irq->name)) { return 0; - } - _CPU_ISR_Disable(level); - *irq = rtems_hdl_tbl[irq->name]; - _CPU_ISR_Enable(level); - return 1; + } + rtems_interrupt_disable(level); + *irq = rtems_hdl_tbl[irq->name]; + rtems_interrupt_enable(level); + return 1; } int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) { - rtems_irq_connect_data *pchain= NULL, *vchain = NULL; - unsigned int level; + rtems_irq_connect_data *pchain= NULL, *vchain = NULL; + rtems_interrupt_level level; if (!isValidInterrupt(irq->name)) { return 0; @@ -218,9 +218,9 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) * RATIONALE : to always have the same transition by forcing the user * to get the previous handler before accepting to disconnect. */ - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); if (rtems_hdl_tbl[irq->name].hdl != irq->hdl) { - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 0; } @@ -240,7 +240,7 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) if( !found ) { - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 0; } } @@ -248,7 +248,7 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) { if (rtems_hdl_tbl[irq->name].hdl != irq->hdl) { - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 0; } } @@ -295,7 +295,7 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) free(vchain); } - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 1; } @@ -306,16 +306,17 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq) int BSP_rtems_irq_mngt_set(rtems_irq_global_settings* config) { - int i; - unsigned int level; - /* - * Store various code accelerators - */ + int i; + rtems_interrupt_level level; + + /* + * Store various code accelerators + */ internal_config = config; default_rtems_entry = config->defaultEntry; rtems_hdl_tbl = config->irqHdlTbl; - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); /* * set up internal tables used by rtems interrupt prologue */ @@ -378,7 +379,7 @@ int BSP_rtems_irq_mngt_set(rtems_irq_global_settings* config) } } - _CPU_ISR_Enable(level); + rtems_interrupt_enable(level); return 1; } |