FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/L1/cust1/ind_os.c @ 711:4ee3bc3fc540
dl_state.c compiles
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Fri, 03 Oct 2014 04:41:15 +0000 | 
| parents | eafadfee35b2 | 
| children | 
| rev | line source | 
|---|---|
| 517 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /************* Revision Controle System Header ************* | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 * GSM Layer 1 software | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 * IND_OS.C | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 * | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 * Filename ind_os.c | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 * Version 1.1 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 * Date 04/26/00 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 * | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 ************* Revision Controle System Header *************/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 // Nucleus include files. | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 #include "nucleus.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 #include "tc_defs.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 #include "sys_types.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 #include "ind_os.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 #include "l1_confg.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 // Layer1 and debug include files. | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 #include "l1_types.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 #include "l1_const.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 #if (L1_GTT == 1) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 #include "l1gtt_const.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 #include "l1gtt_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 #if (L1_MP3 == 1) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 #include "l1mp3_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 #if (L1_MIDI == 1) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 #include "l1midi_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 //#if ((ANALOG == 1) || (ANALOG == 2)) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 // #include "spi_drv.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 //#endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 #if TESTMODE | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 #include "l1tm_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 #include "l1audio_const.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 #include "l1audio_cust.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 #include "l1audio_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 #if (L1_MP3 == 1) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 #include "l1mp3_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 #if (L1_MIDI == 1) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 #include "l1midi_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 #include "l1_defty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 #include "l1_msgty.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 #include "l1_varex.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 #if (CHIPSET == 2 || CHIPSET == 3 || CHIPSET == 4 || CHIPSET == 5 || CHIPSET == 6 || CHIPSET == 7 || CHIPSET == 8 || CHIPSET == 10 || CHIPSET == 11 || CHIPSET == 12) || (CHIPSET == 15) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 #include "ulpd.h" | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 extern UWORD32 TCD_Priority_Groups; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 extern TC_HCB *TCD_Active_HISR_Heads[TC_HISR_PRIORITIES]; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 extern VOID *TCD_Current_Thread; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 extern TC_HCB *TCD_Active_HISR_Tails[TC_HISR_PRIORITIES]; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 extern INT TMD_Timer_State; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 extern UWORD32 TMD_Timer; // for big sleep | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 extern TC_PROTECT TCD_System_Protect; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 /* int ind_os_sleep() */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 /* Parameters : none */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 /* Return : */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 /* Functionality : Suspend the thread an interval */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 /* of millisecs. */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 /* Limitation : */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 T_OS_RETURN ind_os_sleep (SYS_UWORD32 millisecs) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 { | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 NU_Sleep ((SYS_UWORD32) millisecs); | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 return OS_OK; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 } | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 /* int OS_get_inactivity_ticks() */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 /* Parameters : none */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 /* Return : Number of ticks of inactivity */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 /* 0 means immediate activity planned */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 /* -1 means no activity planned */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 /* Functionality : Evaluates the OS activity planned */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 /* by looking at ready tasks, activated */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 /* HISR and the elapsed time of the timers*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 /* Limitation : Must be protected from H/W interrupts */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 int OS_get_inactivity_ticks(void) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 { | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 #if (CODE_VERSION != SIMULATION) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 int i; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 // Returns immediate activity if a task is ready | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 if (TCD_Priority_Groups) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 return 0; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 //for all HISR priorities | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 for (i = 0; i < TC_HISR_PRIORITIES ; i++) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 { | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 // if no hisr of priority "i" ==> go to next priority | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 if (TCD_Active_HISR_Heads[i] == 0) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 continue; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 // the first hisr is NOT the current one (frame hisr) so it may be | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 // with other priority ==> abort | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 if (TCD_Active_HISR_Heads[i] != TCD_Current_Thread) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 return 0; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 // the last hisr is NOT the current one (frame hisr) so there is | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 // at least another hisr with same priority ==> abort | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 if (TCD_Active_HISR_Tails[i] != TCD_Current_Thread) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 return 0; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 // the first and last hisrs are the current one (frame hisr) but | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 // there are several occurences of it ! ==> abort | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 if ( (TCD_Active_HISR_Heads[i]->tc_activation_count != 1)) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 return 0; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 } | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 // Returns remaining ticks number if any timer is active | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 if (TMD_Timer_State == TM_ACTIVE) // any active timer ? | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 return TMD_Timer; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 // Returns not activity if no timer active | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 else if (TMD_Timer_State == TM_NOT_ACTIVE) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 return -1; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 else | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 // otherwise, returns immediate activity if a timer is expired (TM_EXPIRED) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 return(0); | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 #else // Simulation part | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 // the L3 simulator return the FN for the next L3 message | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 UWORD32 time; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 time = (next_message_FN() - l1s.debug_time + MAX_FN)% MAX_FN; | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 return(time); | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 #endif | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 } | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 /* int OS_system_protect() */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 /* Parameters : none */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 /* Return : The Thread Control Block of the thread */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 /* which already owns the protection or */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 /* 0 if no protection */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 /* Functionality : Checks whether the system structures */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 /* are already protected or not */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 void OS_system_protect (void) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 { | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 NU_Protect((NU_PROTECT*) &TCD_System_Protect); | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 } | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 /* int OS_system_Unprotect() */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 /* Parameters : none */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 /* Return : */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 /* Functionality : unprotect the system structures */ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 /*-------------------------------------------------------*/ | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 void OS_system_Unprotect (void) | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 { | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 NU_Unprotect(); | 
| 
eafadfee35b2
gsm-fw/L1/cust?: imported Leonardo, LoCosto and MV100 versions
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 } | 
