# HG changeset patch # User Michael Spacefalcon # Date 1399493891 0 # Node ID c9dfa0e20640313b254f4dd105b0facf19776541 # Parent fdeea3d6582d25712c1e5487df5ea3128d9686b6 OSL reconstruction: os_isr.c: interrupt control functions done diff -r fdeea3d6582d -r c9dfa0e20640 gsm-fw/gpf/osl/os_isr.c --- a/gsm-fw/gpf/osl/os_isr.c Wed May 07 19:50:01 2014 +0000 +++ b/gsm-fw/gpf/osl/os_isr.c Wed May 07 20:18:11 2014 +0000 @@ -24,3 +24,46 @@ OSISRTable[i].name[0] = 0; return(OS_OK); } + +GLOBAL LONG +os_SetInterruptState(OS_INT_STATE new_state, OS_INT_STATE *old_state) +{ + INT state; + + if (new_state) + state = NU_ENABLE_INTERRUPTS; + else + state = NU_DISABLE_INTERRUPTS; + state = NU_Control_Interrupts(state); + if (state & 0xFF) + *old_state = 0; + else + *old_state = 1; + return(OS_OK); +} + +GLOBAL LONG +os_EnableInterrupts(OS_INT_STATE *old_state) +{ + INT state; + + state = NU_Control_Interrupts(NU_ENABLE_INTERRUPTS); + if (state & 0xFF) + *old_state = 0; + else + *old_state = 1; + return(OS_OK); +} + +GLOBAL LONG +os_DisableInterrupts(OS_INT_STATE *old_state) +{ + INT state; + + state = NU_Control_Interrupts(NU_DISABLE_INTERRUPTS); + if (state & 0xFF) + *old_state = 0; + else + *old_state = 1; + return(OS_OK); +}