summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/score603e/irq/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/score603e/irq/irq.c')
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/irq/irq.c59
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;
}