FreeCalypso > hg > fc-selenite
annotate src/gpf/frame/frame.c @ 60:7bf3a14cca3f
src/g23m-aci/aci/line_{edit,split}.c: include case fix
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 19 Jul 2018 23:13:37 +0000 | 
| parents | 1ea54a97e831 | 
| children | 
| rev | line source | 
|---|---|
| 5 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +------------------------------------------------------------------------------ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | File: frame.c | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 +------------------------------------------------------------------------------ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | All rights reserved. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | This file is confidential and a trade secret of Texas | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | Instruments Berlin, AG | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | The receipt of or possession of this file does not convey | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | any rights to reproduce or disclose its contents or to | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | manufacture, use, or sell anything it may describe, in | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | whole, or in part, without the specific written consent of | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | Texas Instruments Berlin, AG. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 +----------------------------------------------------------------------------- | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | Purpose : This Modul defines the general frame functionality. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 +----------------------------------------------------------------------------- | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 #ifndef __FRAME_C__ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #define __FRAME_C__ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 /*==== INCLUDES ===================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include <stdarg.h> | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "typedefs.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include "string.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include "stdio.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include "glob_defs.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "os.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "vsi.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "pei.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 #include "frame.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "tools.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 #include "gdi.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #include "frm_defs.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "frm_types.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include "frm_glob.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "route.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "p_frame.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 #include "prf_func.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 #ifdef _ESF_SUPPORT_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 #include "esf_func.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 #include "frm_ext.h" | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 /*==== TYPES ======================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 typedef struct | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 char const *Name; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 USHORT Id; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 } T_NAME_ID; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 /*==== CONSTANTS ==================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 #define RUNNING 0x01 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 #undef VSI_CALLER | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 #define VSI_CALLER TaskHandle, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 /*==== EXTERNALS ==================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 /* -------------- S H A R E D - BEGIN ---------------- */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 #pragma data_seg("FRAME_SHARED") | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 #if defined _NUCLEUS_ && !defined _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 extern char TraceBuffer[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 extern const T_MEMORY_POOL_CONFIG memory_pool_config[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 extern const T_FRM_PARTITION_GROUP_CONFIG partition_grp_config[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 extern T_HANDLE MemoryPoolHandle[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 extern OS_HANDLE PoolGroupHandle[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 extern const T_DRV_LIST DrvList[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 extern USHORT NumberOfPPMPartitions; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 extern USHORT NumOfPPMPools; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 extern USHORT NumOfPPMGroups; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 extern USHORT NumOfPrimPools; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 extern USHORT NumOfDmemPools; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 extern T_DRV_LIST const *DriverConfigList; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 extern const T_COMPONENT_ADDRESS *ComponentTables[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 extern const char * const frame_version_date; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 extern const char * const frame_version_time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 extern const char * const misc_version_date; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 extern const char * const misc_version_time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 extern const char * const tif_version_date; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 extern const char * const tif_version_time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 __declspec (dllimport) T_HANDLE TST_Handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 extern T_HANDLE TST_Handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 extern int ppm_check_partition_owner; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 /*==== VARIABLES ==================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 UBYTE SuppressOK=1; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 GLOBAL T_HANDLE MemPoolHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 GLOBAL T_HANDLE PrimGroupHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 GLOBAL T_HANDLE DmemGroupHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 GLOBAL T_HANDLE TestGroupHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 GLOBAL T_HANDLE LemuGroupHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 GLOBAL T_HANDLE int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 GLOBAL T_HANDLE ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 GLOBAL UBYTE FrameEnv=0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 GLOBAL USHORT TestInterface = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 GLOBAL USHORT NextTimerEntry = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 int time_is_tdma_frame; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 char error_ind_dst[RESOURCE_NAMELEN] = {0}; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 T_FRM_ERROR_IND *frm_error_ind = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 char check_desclist = FALSE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 GLOBAL USHORT NumberOfStartedTasks = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 GLOBAL USHORT NumberOfRunningTasks = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 GLOBAL USHORT TooManyTasks = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 const T_PEI_INFO DummyInfo = | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 "", /* Name */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 NULL, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 NULL | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 }, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 768, /* stack size */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 10, /* queue entries */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 1, /* priority */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 0, /* number of timers */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 COPY_BY_REF /* Flags */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 }; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 const T_NAME_ID Resource[] = | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 { "TASK", OS_OBJTASK}, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 { "QUEUE", OS_OBJQUEUE}, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 { "TIMER", OS_OBJTIMER }, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 { "SEMAPHORE", OS_OBJSEMAPHORE}, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 { "PARTITION", OS_OBJPARTITIONGROUP}, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 { "MEMORY", OS_OBJMEMORYPOOL}, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 { NULL, 0 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 }; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 LOCAL T_COMPONENT_ADDRESS *ComponentTables [NUM_OF_COMPONENT_TABLES+1]={0}; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 typedef void T_INIT_FUNC ( void ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 T_INIT_FUNC *InitFunc; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 ULONG init_stack_time = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 ULONG init_local_time = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 ULONG MaxPrimPartSize = 65536; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 USHORT TextTracePartitionSize = 260; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 char TaskName [ RESOURCE_NAMELEN ]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 #else /* RUN_INT_RAM */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 extern USHORT TestInterface; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 extern USHORT NextTimerEntry; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 extern USHORT NumberOfStartedTasks; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 extern USHORT NumberOfRunningTasks; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 extern USHORT TooManyTasks; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 extern char TaskName[]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 extern T_HANDLE int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 extern T_HANDLE ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 #endif /* RUN_INT_RAM */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 #pragma data_seg() | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 #ifdef _ESF_SUPPORT_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 int esf_init_func2_ready = FALSE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 int firstTime = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 /* -------------- S H A R E D - END ---------------- */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 /*==== PROTOTYPES =================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 GLOBAL void pf_TaskEntry (T_HANDLE TaskHandle, ULONG Value ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 LOCAL SHORT pf_HandleMessage (T_HANDLE TaskHandle, OS_QDATA *pMsg ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 LOCAL LONG pf_CreateTask ( const T_COMPONENT_ADDRESS *Comp ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 LOCAL void pf_ProcessProtocolPrim ( T_HANDLE TaskHandle, T_VOID_STRUCT *pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 LOCAL void pf_Reset (T_HANDLE TaskHandle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 int is_entity_in_task (T_HANDLE t_handle, char *name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 int int_vsi_o_ttrace ( T_HANDLE Caller, ULONG TraceClass, const char * const format, va_list varpars ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 GLOBAL void InitializeApplication ( void ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 /*==== LINT =======================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 /*lint -e522 suppress Warning -- Expected void type, assignment, increment or decrement */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 /*==== FUNCTIONS ==================================================*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 +------------------------------------------------------------------------------ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 | Function : pf_get_frameenv | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 +------------------------------------------------------------------------------ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 | Description : This function returns the current value of FrameEnv | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 | Parameters : void | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 | Return : FrameEnv | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 +------------------------------------------------------------------------------ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 USHORT pf_get_frameenv (void) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 return (USHORT) FrameEnv; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 #endif /* _TOOLS_ */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 | STATE : code ROUTINE : StartFrame | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 PURPOSE : Start the frame | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 SHORT StartFrame ( void ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 prf_init(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 pf_Init(NULL); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 pf_CreateAllEntities(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 #ifdef _ESF_SUPPORT_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 esf_init(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 esf_init_func1(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 pf_StartAllTasks (); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 return ( PF_OK ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 #endif /* ndef _TOOLS_ */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 #if defined (_LINUX_) || (defined _SOLARIS_) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 int main () | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 (void) StartFrame (); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 for (;;) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 os_SuspendTask (0, 1500); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 | STATE : code ROUTINE : is_entity_in_task | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 PURPOSE : Initialize the frame | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 int is_entity_in_task ( T_HANDLE t_handle, char *name ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 int i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 if ( pf_TaskTable[i].TaskHandle == t_handle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 if ( !strncmp (pf_TaskTable[i].Name, name, RESOURCE_NAMELEN-1) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 return TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 return FALSE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 | STATE : code ROUTINE : pf_Init | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 PURPOSE : Initialize the frame | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 /*lint -esym(715,ConfigAddress) only needed for _TOOLS_*/ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 GLOBAL void pf_Init ( T_CONFIGURATION_ADDRESS *ConfigAddress) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 const T_FRM_PARTITION_POOL_CONFIG * pool_config; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 USHORT i = 1,j = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 #if defined _NUCLEUS_ && !defined _TARGET_ || defined (_LINUX_) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 printf ("FRAME VERSION: %s, %s\n",frame_version_date, frame_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 printf ("MISC VERSION: %s, %s\n",misc_version_date, misc_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 printf ("TIF VERSION: %s, %s\n\n",tif_version_date, tif_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 if ( os_Initialize() == OS_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 vsi_o_assert ( 0, OS_SYST_ERR, __FILE__, __LINE__, "OS initialization error" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 time_is_tdma_frame = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 TestInterface = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 NextTimerEntry = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 ComponentTables[RCV_ADR] = ConfigAddress->RcvAdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 ComponentTables[TST_ADR] = ConfigAddress->TstAdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 ComponentTables[END_OF_COMP_TABLE] = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 DriverConfigList = ConfigAddress->DrvListAdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 InitFunc = ConfigAddress->InitFuncAdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 FrameEnv = *ConfigAddress->FrameEnvAdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 DriverConfigList = &DrvList[0]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 j = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 * create memory pools | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 while ( memory_pool_config[j].Name != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 if ( memory_pool_config[j].Size > 1 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 os_CreateMemoryPool ( NO_TASK, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 memory_pool_config[j].Name, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 memory_pool_config[j].PoolAddress, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 memory_pool_config[j].Size, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 (OS_HANDLE*)MemoryPoolHandle[j] ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 j++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 #ifdef _NUCLEUS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 os_SetPoolHandles (ext_data_pool_handle, int_data_pool_handle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 * create partition pools | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 for ( i = 0; partition_grp_config[i].name != NULL; i++ ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 // if ( strcmp ("TEST", partition_grp_config[i].name ) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 // { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 /* currently all created groups are counted to ease offset calculation for | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 partition supervision */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 NumOfPPMGroups++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 // } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 pool_config = partition_grp_config[i].grp_config; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 while ( pool_config->part_size && pool_config->part_num ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 os_CreatePartitionPool ( NO_TASK, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 partition_grp_config[i].name, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 pool_config->mem, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 (USHORT)pool_config->part_num, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 pool_config->part_size, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 (OS_HANDLE*)PoolGroupHandle[i] ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 /* TEST pool not under partition supervision */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 if ( strcmp ("TEST", partition_grp_config[i].name ) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 NumOfPPMPools++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 NumberOfPPMPartitions += pool_config->part_num; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 if ( !strcmp ("PRIM", partition_grp_config[i].name ) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 if ( MaxPrimPartSize < pool_config->part_size ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 MaxPrimPartSize = pool_config->part_size; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 NumOfPrimPools++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 if ( !strcmp ("DMEM", partition_grp_config[i].name ) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 NumOfDmemPools++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 pool_config++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 * To allow CCD (TaskHandle = 0) the usage of dynamic Memory to create a semaphore | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 * the MemPoolHandle for non-task users is initialized with the handle of the int_data_pool | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 * pool. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 pf_TaskTable[0].MemPoolHandle = int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 strcpy ( pf_TaskTable[0].Name, "IRQ" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 rt_Init(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 (InitFunc)(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 InitializeApplication(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 InitializePPM(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 #endif /* MEMORY_SUPERVISION */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 InitializeTimer(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 InitializeDriverConfig(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 #if !defined _TARGET_ && !defined _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 vsi_pcheck_init(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 fei_lemu_SendToQueue_init(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 not needed -> temporarily removed | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 vsi_c_init_com_matrix (MaxEntities); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 | STATE : code ROUTINE : pf_CreateAllEntities| | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 GLOBAL SHORT pf_CreateAllEntities (void) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 int i = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 while ( ComponentTables[i] != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 pf_CreateTask ( ComponentTables[i] ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 i++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 InitializeTrace(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 return PF_OK; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 | STATE : code ROUTINE : pf_CreateEntity | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 LOCAL LONG pf_CreateTask ( const T_COMPONENT_ADDRESS *Comp ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 T_PEI_INFO const *Info; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 T_HANDLE TaskHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 T_HANDLE mem_pool_handle = ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 int Priority = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 ULONG StackSize = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 const T_PEI_FUNC *PeiTable; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 USHORT QueueEntries = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 USHORT NumOfTimers = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 U32 Flags; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 char *Name = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 static int e_handle = 1; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 int start_e_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 int i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 start_e_handle = e_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 while ( Comp->PeiCreate || Comp->Name ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 if ( e_handle > MaxEntities ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 vsi_o_assert ( 0, OS_SYST_ERR, __FILE__, __LINE__, "More than MAX_ENTITIES" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 if ( Comp->PeiCreate && Comp->PeiCreate ( &Info ) == PEI_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 if ( Comp->Priority != ASSIGNED_BY_TI ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 if ( Priority < Comp->Priority ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 Priority = Comp->Priority; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 if ( Priority < Info->Priority ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 Priority = Info->Priority; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 Flags = Info->Flags; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 PeiTable = &Info->PeiTable; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 Name = (char*)Info->Name; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 if ( StackSize < Info->StackSize ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 StackSize = Info->StackSize; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 pf_TaskTable[e_handle].QueueEntries = Info->QueueEntries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 NumOfTimers = Info->NumOfTimers; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 else if ( Comp->Name && strlen (Comp->Name) <= RESOURCE_NAMELEN ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 Flags = DummyInfo.Flags; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 PeiTable = &DummyInfo.PeiTable; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 Name = Comp->Name; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 if ( StackSize < DummyInfo.StackSize ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 StackSize = DummyInfo.StackSize; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 528 if ( Priority < DummyInfo.Priority ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 529 Priority = DummyInfo.Priority; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 530 pf_TaskTable[e_handle].QueueEntries = DummyInfo.QueueEntries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 531 NumOfTimers = DummyInfo.NumOfTimers; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 532 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 533 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 534 return PF_ERROR; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 535 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 536 if ( QueueEntries < pf_TaskTable[e_handle].QueueEntries ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 537 QueueEntries = pf_TaskTable[e_handle].QueueEntries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 538 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 539 pf_TaskTable[e_handle].Flags = Flags; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 540 pf_TaskTable[e_handle].PeiTable = PeiTable; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 541 pf_TaskTable[e_handle].NumOfTimers = NumOfTimers; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 542 strncpy (pf_TaskTable[e_handle].Name, Name, RESOURCE_NAMELEN); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 543 pf_TaskTable[e_handle].Name[RESOURCE_NAMELEN-1] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 544 if ( pf_TaskTable[e_handle].Flags & INT_DATA_TASK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 545 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 546 pf_TaskTable[e_handle].MemPoolHandle = int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 547 mem_pool_handle = int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 548 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 549 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 550 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 551 pf_TaskTable[e_handle].MemPoolHandle = ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 552 mem_pool_handle = ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 553 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 554 prf_log_entity_create ((void*)e_handle, Name); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 555 e_handle++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 556 Comp++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 557 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 558 if ( e_handle > start_e_handle + 1 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 559 Name = (char*)Comp->Priority; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 560 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 561 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 562 StackSize = StackSize + (StackSize>>3); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 563 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 564 if ( os_CreateTask (NO_TASK, Name, pf_TaskEntry, StackSize, (USHORT)Priority, &TaskHandle, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 565 mem_pool_handle) == OS_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 566 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 567 for ( i = start_e_handle; i < e_handle; i++ ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 568 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 569 pf_TaskTable[i].TaskHandle = TaskHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 570 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 571 return PF_OK; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 572 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 573 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 574 vsi_o_assert ( NO_TASK, OS_SYST_ERR, __FILE__, __LINE__, "Error at creating %s Task", Name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 575 /*lint +e771 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 576 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 577 return PF_ERROR; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 578 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 579 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 580 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 581 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 582 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 583 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 584 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 585 | STATE : code ROUTINE : pf_StartAllTasks | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 586 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 587 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 588 GLOBAL SHORT pf_StartAllTasks ( void ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 589 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 590 int e_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 591 int t_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 592 int started_t_handle = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 593 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 594 for ( e_handle = 1; e_handle <= MaxEntities; e_handle++ ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 595 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 596 if ( pf_TaskTable[e_handle].Name[0] != 0 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 597 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 598 if ( (t_handle = pf_TaskTable[e_handle].TaskHandle) != started_t_handle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 599 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 600 if ( os_StartTask ( NO_TASK, t_handle, 0 ) == OS_ERROR) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 601 return OS_ERROR; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 602 NumberOfStartedTasks++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 603 started_t_handle = t_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 604 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 605 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 606 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 607 return OS_OK; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 608 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 609 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 610 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 611 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 612 #ifndef RUN_FLASH | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 613 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 614 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 615 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 616 | STATE : code ROUTINE : pf_TaskEntry | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 617 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 618 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 619 /*lint -esym(715,Value) suppress Info -- Symbol 'Value' not referenced */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 620 GLOBAL void pf_TaskEntry (T_HANDLE TaskHandle, ULONG Value ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 621 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 622 OS_QDATA Msg; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 623 OS_HANDLE mem_pool_handle = ext_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 624 LONG sts; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 625 int i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 626 int queue_entries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 627 int queue_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 628 int biggest_queue_size = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 629 int sum_queue_size = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 630 U32 entity_flags = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 631 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 632 char queue_name [ RESOURCE_NAMELEN ]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 633 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 634 static int entity_init_fail_cnt = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 635 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 636 #ifdef _ESF_SUPPORT_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 637 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 638 /* OS timer should not be started at this point, otherwise risk of | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 639 race condition. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 640 Furthermore, ESF THIF socket interface can't be used by task tst | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 641 before esf_init_func2() is completed. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 642 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 643 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 644 T_HANDLE esf_init_func2_sem; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 645 T_HANDLE caller; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 646 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 647 caller = e_running[os_MyHandle()]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 648 esf_init_func2_sem = vsi_s_open (caller, "esf_init_func2_sem", 1); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 649 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 650 vsi_s_get (caller, esf_init_func2_sem); /* start of critical section */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 651 if (firstTime) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 652 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 653 firstTime = FALSE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 654 esf_init_func2(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 655 esf_init_func2_ready = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 656 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 657 vsi_s_release(caller, esf_init_func2_sem); /* end of critical section */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 658 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 659 while (!esf_init_func2_ready) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 660 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 661 os_SuspendTask(caller, 100); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 662 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 663 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 664 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 665 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 666 if ( is_entity_in_task ( TaskHandle, FRM_TST_NAME ) == FALSE | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 667 && is_entity_in_task ( TaskHandle, FRM_RCV_NAME ) == FALSE ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 668 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 669 while ( !(TestInterface & RUNNING) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 670 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 671 os_SuspendTask (TaskHandle, 100); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 672 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 673 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 674 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 675 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 676 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 677 if ( pf_TaskTable[i].TaskHandle == TaskHandle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 678 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 679 if ( pf_TaskTable[i].Flags & ADD_QUEUE_SIZES ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 680 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 681 entity_flags |= ADD_QUEUE_SIZES; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 682 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 683 sum_queue_size += pf_TaskTable[i].QueueEntries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 684 if ( biggest_queue_size < pf_TaskTable[i].QueueEntries ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 685 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 686 biggest_queue_size = pf_TaskTable[i].QueueEntries; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 687 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 688 if ( pf_TaskTable[i].Flags & INT_DATA_TASK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 689 mem_pool_handle = int_data_pool_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 690 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 691 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 692 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 693 /* set queue size depending on the flag exported by the entities */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 694 if ( entity_flags & ADD_QUEUE_SIZES ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 695 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 696 queue_entries = sum_queue_size; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 697 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 698 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 699 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 700 queue_entries = biggest_queue_size; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 701 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 702 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 703 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 704 if ( os_CreateQueue ( TaskHandle, 0, pf_TaskTable[TaskHandle].Name, (USHORT)queue_entries, &queue_handle, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 705 pf_TaskTable[TaskHandle].MemPoolHandle) == OS_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 706 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 707 vsi_o_assert ( NO_TASK, OS_SYST_ERR_QUEUE_CREATE, __FILE__, __LINE__, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 708 "Error at creating %s Queue", pf_TaskTable[TaskHandle].Name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 709 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 710 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 711 os_GetTaskName ( TaskHandle, TaskHandle, queue_name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 712 if ( os_CreateQueue ( TaskHandle, 0, queue_name, (USHORT)queue_entries, &queue_handle, mem_pool_handle) == OS_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 713 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 714 vsi_o_assert ( NO_TASK, OS_SYST_ERR_QUEUE_CREATE, __FILE__, __LINE__, "Error at creating %s Queue", queue_name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 715 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 716 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 717 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 718 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 719 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 720 if ( pf_TaskTable[i].TaskHandle == TaskHandle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 721 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 722 pf_TaskTable[i].QueueHandle = queue_handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 723 pf_TaskTable[i].FirstTimerEntry = &TimerHandleField [ NextTimerEntry ]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 724 if ( (NextTimerEntry += pf_TaskTable[i].NumOfTimers) >= MaxTimer ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 725 vsi_o_assert ( NO_TASK, OS_SYST_ERR_MAX_TIMER, __FILE__, __LINE__, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 726 "Number of Timers > MAX_TIMER" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 727 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 728 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 729 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 730 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 731 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 732 if ( pf_TaskTable[i].TaskHandle == TaskHandle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 733 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 734 if (pf_TaskTable[i].PeiTable->pei_init != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 735 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 736 e_running[TaskHandle] = i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 737 while (pf_TaskTable[i].PeiTable->pei_init (i) == PEI_ERROR) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 738 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 739 if ( entity_init_fail_cnt++ > (NumberOfStartedTasks * 5) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 740 vsi_o_ttrace(NO_TASK, TC_SYSTEM, "%s pei_init() failed",pf_TaskTable[i].Name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 741 os_SuspendTask (TaskHandle, 100); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 742 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 743 e_running[TaskHandle] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 744 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 745 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 746 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 747 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 748 if ( is_entity_in_task ( TaskHandle, FRM_TST_NAME ) == TRUE ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 749 TestInterface |= RUNNING; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 750 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 751 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 752 if ( ++NumberOfRunningTasks == NumberOfStartedTasks ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 753 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 754 if ( TooManyTasks ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 755 vsi_o_assert (NO_TASK, OS_SYST_ERR_MAX_TASK, __FILE__, __LINE__, "Number of entities > MAX_ENTITIES" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 756 vsi_o_ttrace(NO_TASK, TC_SYSTEM, "All tasks entered main loop" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 757 #if defined _NUCLEUS_ && !defined _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 758 printf ("%s\n","All tasks entered main loop"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 759 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 760 #ifdef _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 761 TraceMask[0] = TC_SYSTEM; /* FreeCalypso change */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 762 os_dar_set_filter(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 763 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 764 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 765 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 766 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 767 if ( pf_TaskTable[i].TaskHandle == TaskHandle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 768 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 769 if (pf_TaskTable[i].PeiTable->pei_run != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 770 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 771 if ( !(pf_TaskTable[i].Flags & PASSIVE_BODY) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 772 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 773 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 774 * in the active body variant call pei_run | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 775 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 776 e_running[TaskHandle] = i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 777 pf_TaskTable[i].PeiTable->pei_run (TaskHandle, pf_TaskTable[i].QueueHandle ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 778 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 779 pf_TaskTable[i].PeiTable->pei_exit(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 780 NextTimerEntry -= pf_TaskTable[i].NumOfTimers; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 781 rt_RoutingModify ( TaskHandle, (char*)SYSPRIM_REDIRECT_TOKEN, (char*)SYSPRIM_CLEAR_TOKEN ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 782 os_DestroyQueue ( TaskHandle, pf_TaskTable[i].QueueHandle ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 783 e_running[TaskHandle] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 784 os_DestroyTask ( TaskHandle, TaskHandle ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 785 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 786 e_running[TaskHandle] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 787 for (;;) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 788 os_SuspendTask(TaskHandle,10000); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 789 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 790 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 791 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 792 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 793 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 794 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 795 * in the passive body variant wait for a message and | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 796 * handle it | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 797 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 798 for ( i = MaxEntities; i > 0; i-- ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 799 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 800 if ( pf_TaskTable[i].TaskHandle == TaskHandle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 801 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 802 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 803 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 804 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 805 for (;;) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 806 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 807 sts = os_ReceiveFromQueue ( TaskHandle, pf_TaskTable[i].QueueHandle, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 808 &Msg, OS_SUSPEND ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 809 switch ( sts ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 810 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 811 case OS_OK: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 812 #if defined (_TOOLS_) || defined (_LINUX_) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 813 e_running[TaskHandle] = TaskHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 814 pf_HandleMessage (TaskHandle, &Msg); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 815 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 816 e_running[TaskHandle] = Msg.e_id; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 817 prf_log_entity_activate ((void*)Msg.e_id); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 818 pf_HandleMessage (Msg.e_id, &Msg); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 819 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 820 e_running[TaskHandle] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 821 #ifdef _NUCLEUS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 822 if ( os_CheckTaskStack ( TaskHandle ) == OS_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 823 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 824 os_GetTaskName ( TaskHandle, TaskHandle, TaskName ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 825 vsi_o_assert ( TaskHandle, OS_SYST_ERR_STACK_OVERFLOW, __FILE__, __LINE__, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 826 "%s Stack overflow", TaskName ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 827 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 828 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 829 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 830 case OS_TIMEOUT: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 831 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 832 case OS_ERROR: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 833 for(;;) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 834 os_SuspendTask(TaskHandle,10000); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 835 /*lint -e527, suppress Warning -- Unreachable */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 836 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 837 default: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 838 for(;;) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 839 os_SuspendTask(TaskHandle,10000); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 840 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 841 /*lint +e527 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 842 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 843 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 844 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 845 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 846 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 847 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 848 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 849 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 850 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 851 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 852 | STATE : code ROUTINE : pf_Timeout | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 853 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 854 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 855 GLOBAL void pf_Timeout (T_HANDLE TaskHandle, T_HANDLE EntityHandle, USHORT TimerIndex ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 856 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 857 OS_QDATA TimeoutMsg; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 858 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 859 TimeoutMsg.data16 = MSG_TIMEOUT; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 860 TimeoutMsg.data32 = (ULONG)TimerIndex; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 861 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 862 TimeoutMsg.len = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 863 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 864 TimeoutMsg.e_id = EntityHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 865 os_GetTime ( 0, &TimeoutMsg.time ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 866 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 867 *(pf_TaskTable[EntityHandle].FirstTimerEntry + TimerIndex) |= TIMEOUT_OCCURRED; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 868 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 869 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 870 if ( rt_Route (TaskHandle, pf_TaskTable[EntityHandle].QueueHandle, OS_NORMAL, OS_SUSPEND, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 871 &TimeoutMsg ) == OS_TIMEOUT ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 872 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 873 if ( rt_Route (TaskHandle, EntityHandle, OS_NORMAL, OS_SUSPEND, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 874 &TimeoutMsg ) == OS_TIMEOUT ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 875 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 876 vsi_o_assert ( 0, OS_SYST_ERR_QUEUE_FULL, __FILE__, __LINE__, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 877 "Timeout write attempt to %s queue failed", pf_TaskTable[EntityHandle].Name ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 878 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 879 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 880 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 881 #ifndef RUN_FLASH | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 882 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 883 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 884 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 885 | STATE : code ROUTINE : pf_HandleMessage | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 886 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 887 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 888 LOCAL SHORT pf_HandleMessage (T_HANDLE TaskHandle, OS_QDATA *pMsg ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 889 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 890 ULONG PrimId = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 891 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 892 switch (pMsg->data16) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 893 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 894 case MSG_PRIMITIVE: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 895 if ( pMsg->ptr != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 896 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 897 PrimId = ((T_PRIM_HEADER*)(pMsg->ptr))->opc; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 898 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 899 if ( PrimId & SYS_MASK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 900 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 901 pf_ProcessSystemPrim ( TaskHandle, pMsg->ptr ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 902 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 903 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 904 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 905 pf_ProcessProtocolPrim ( TaskHandle, pMsg->ptr ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 906 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 907 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 908 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 909 case MSG_SIGNAL: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 910 if ( pf_TaskTable[TaskHandle].PeiTable->pei_signal != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 911 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 912 pf_TaskTable[TaskHandle].PeiTable->pei_signal ( pMsg->data32, pMsg->ptr ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 913 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 914 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 915 case MSG_TIMEOUT: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 916 if ( *(pf_TaskTable[TaskHandle].FirstTimerEntry + pMsg->data32) & TIMEOUT_OCCURRED ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 917 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 918 if ( !(*(pf_TaskTable[TaskHandle].FirstTimerEntry + pMsg->data32) & PERIODIC_TIMER) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 919 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 920 os_DestroyTimer ( TaskHandle, (OS_HANDLE)(*(pf_TaskTable[TaskHandle].FirstTimerEntry + pMsg->data32) & TIMER_HANDLE_MASK) ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 921 *(pf_TaskTable[TaskHandle].FirstTimerEntry + pMsg->data32) = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 922 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 923 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 924 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 925 *(pf_TaskTable[TaskHandle].FirstTimerEntry + pMsg->data32) &= ~TIMEOUT_OCCURRED; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 926 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 927 vsi_o_ttrace ( TaskHandle, TC_TIMER, "Timeout : Index %d",pMsg->data32) ; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 928 if ( pf_TaskTable[TaskHandle].PeiTable->pei_timeout != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 929 pf_TaskTable[TaskHandle].PeiTable->pei_timeout ( (USHORT)pMsg->data32 ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 930 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 931 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 932 default: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 933 VSI_PPM_FREE(pMsg->ptr); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 934 os_DeallocatePartition (TaskHandle, pMsg->ptr-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 935 return PF_ERROR; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 936 /*lint -e527, suppress Warning -- Unreachable */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 937 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 938 /*lint +e527 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 939 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 940 return PF_OK; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 941 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 942 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 943 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 944 #ifndef RUN_FLASH | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 945 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 946 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 947 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 948 | STATE : code ROUTINE : pf_ProcessProtocolPrim| | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 949 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 950 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 951 LOCAL void pf_ProcessProtocolPrim ( T_HANDLE TaskHandle, T_VOID_STRUCT *pPrim) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 952 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 953 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 954 if ( TaskHandle != NO_TASK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 955 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 956 if (pf_TaskTable[TaskHandle].PeiTable->pei_primitive != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 957 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 958 #ifdef PRIM_AUTO_FREE | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 959 if ( pf_TaskTable[TaskHandle].Flags & PARTITION_AUTO_FREE ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 960 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 961 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 962 * TST uses its own partition pool and is handled differently | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 963 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 964 if ( TaskHandle != TST_Handle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 965 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 966 processed_prim[TaskHandle] = pPrim; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 967 freed_prim[TaskHandle] = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 968 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 969 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 970 #endif /* PRIM_AUTO_FREE */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 971 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 972 if ( TaskHandle != TST_Handle ) /* Trace pools are not monitored by PPM */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 973 VSI_PPM_RCV(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 974 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 975 pf_TaskTable[TaskHandle].PeiTable->pei_primitive (pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 976 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 977 #ifdef PRIM_AUTO_FREE | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 978 if ( pf_TaskTable[TaskHandle].Flags & PARTITION_AUTO_FREE ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 979 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 980 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 981 * if PSTORE was called during the primitive processing, PFREE was no longer | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 982 * blocked inside the entity and it could have happened that a primitive | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 983 * was freed and then newly allocated either by the same or by a different | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 984 * entity (IRQ). To avoid auto free it is checked if an effective free was | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 985 * done with the pointer passed to pei_primitive(). In this case the | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 986 * partition is not freed. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 987 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 988 if ( freed_prim[TaskHandle] == pPrim ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 989 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 990 freed_prim[TaskHandle] = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 991 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 992 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 993 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 994 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 995 processed_prim[TaskHandle] = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 996 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 997 if ( pPrim != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 998 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 999 FREE ( P2D(pPrim) ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1000 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1001 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1002 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1003 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1004 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1005 #endif /* PRIM_AUTO_FREE */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1006 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1007 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1008 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1009 if ( pPrim != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1010 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1011 #ifndef _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1012 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, "Primitive discarded in dummy entity %s, opc 0x%x", | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1013 pf_TaskTable[TaskHandle].Name, ((T_PRIM_HEADER*)pPrim)->opc ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1014 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1015 VSI_PPM_RCV(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1016 FREE ( P2D(pPrim) ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1017 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1018 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1019 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1020 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1021 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1022 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1023 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1024 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1025 | STATE : code ROUTINE : pf_ProcessSystemPrim | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1026 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1027 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1028 GLOBAL void pf_ProcessSystemPrim ( T_HANDLE TaskHandle, T_VOID_STRUCT *pPrim) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1029 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1030 char * data; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1031 /*lint -e813, suppress Info 813: auto variable 'token' has size '132' -> uncritical in this context */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1032 char token[TRACE_TEXT_SIZE]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1033 /*lint +e813 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1034 BOOL Error = FALSE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1035 LONG i; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1036 unsigned int Length; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1037 T_HANDLE min, max; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1038 char TraceMaskBuffer[9]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1039 ULONG trace_mask; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1040 LONG state; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1041 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1042 T_S_HEADER *s_hdr; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1043 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1044 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1045 VSI_PPM_RCV(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1046 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1047 data = (char *)P2D( pPrim ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1048 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1049 Length = GetNextToken (data, token, " #"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1050 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1051 if (!strcmp (token, SYSPRIM_REDIRECT_TOKEN) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1052 OR !strcmp (token, SYSPRIM_DUPLICATE_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1053 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1054 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1055 if (TaskHandle NEQ NO_TASK) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1056 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1057 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1058 * Redirect or Duplicate primitives | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1059 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1060 if ( (state = rt_RoutingModify (TaskHandle, token, data+strlen(token)+1)) != RT_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1061 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1062 #ifdef NU_DEBUG | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1063 switch ( state ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1064 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1065 case RT_NO_MEM: | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1066 vsi_o_ttrace(NO_TASK, TC_SYSTEM, "SYSTEM WARNING: Out of Memory - routing command rejected"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1067 VSI_PPM_FREE(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1068 os_DeallocatePartition (TaskHandle, pPrim-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1069 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1070 /*lint -e527, suppress Warning -- Unreachable */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1071 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1072 /*lint +e527 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1073 case RT_ERROR: Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1074 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1075 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1076 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1077 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1078 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1079 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1080 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1081 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1082 else if ( !strcmp ( token, SYSPRIM_TRACECLASS_TOKEN) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1083 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1084 if ( Length < strlen(data)-1 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1085 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1086 GetNextToken (data+Length+1, token, " #"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1087 trace_mask = ASCIIToHex(token, CHARS_FOR_32BIT); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1088 if ( TaskHandle == TST_Handle ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1089 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1090 min = 1; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1091 max = MaxEntities; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1092 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1093 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1094 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1095 min = TaskHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1096 max = TaskHandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1097 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1098 for ( i = min; i <= max; i++ ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1099 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1100 if ( vsi_settracemask ( TaskHandle, i, trace_mask) == VSI_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1101 break; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1102 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1103 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1104 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1105 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1106 vsi_gettracemask ( TaskHandle, TaskHandle, &trace_mask); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1107 HexToASCII ( trace_mask, TraceMaskBuffer, CHARS_FOR_32BIT ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1108 TraceMaskBuffer[8] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1109 sprintf ( data, "%s %s %s", pf_TaskTable[TaskHandle].Name, SYSPRIM_TRACECLASS_TOKEN, TraceMaskBuffer ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1110 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, data ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1111 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1112 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1113 else if (!strcmp (token, SYSPRIM_CONFIG_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1114 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1115 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1116 * Dynamic Configuration | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1117 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1118 if (TaskHandle != NO_TASK) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1119 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1120 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1121 * call the pei_config function of the entity | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1122 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1123 if (pf_TaskTable[TaskHandle].PeiTable->pei_config NEQ NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1124 if ( pf_TaskTable[TaskHandle].PeiTable->pei_config ( data+strlen (token)+1 ) == PEI_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1125 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1126 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1127 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1128 #if 0 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1129 /* not needed -> temporarily removed */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1130 else if (!strcmp (token, SYSPRIM_ISOLATE_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1131 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1132 if ( rt_isolate_entity (TaskHandle, data+strlen(token)+1) == RT_ERROR ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1133 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1134 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1135 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1136 else if (!strcmp (token, SYSPRIM_REGISTER_ERR_IND)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1137 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1138 strncpy ( error_ind_dst, data+strlen(token)+1, RESOURCE_NAMELEN ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1139 error_ind_dst[RESOURCE_NAMELEN-1] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1140 if ( frm_error_ind == NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1141 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1142 frm_error_ind = (T_FRM_ERROR_IND*)vsi_c_pnew (sizeof(T_FRM_ERROR_IND), FRM_ERROR_IND FILE_LINE_MACRO ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1143 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1144 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1145 else if (!strcmp (token, SYSPRIM_WITHDRAW_ERR_IND)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1146 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1147 if ( frm_error_ind != NULL ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1148 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1149 error_ind_dst[0] = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1150 vsi_c_pfree( (T_VOID_STRUCT**)&frm_error_ind FILE_LINE_MACRO ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1151 frm_error_ind = NULL; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1152 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1153 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1154 else if (!strcmp (token, SYSPRIM_STATUS_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1155 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1156 GetNextToken (data+strlen(token)+1, token, " #"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1157 VSI_PPM_FREE(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1158 os_DeallocatePartition (TaskHandle, pPrim-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1159 i = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1160 while ( Resource[i].Name && strcmp ( Resource[i].Name, token ) ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1161 i++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1162 if ( vsi_object_info (TaskHandle, Resource[i].Id, FIRST_ENTRY, token, sizeof(token)) == VSI_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1163 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1164 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1165 while ( vsi_object_info (TaskHandle, Resource[i].Id, NEXT_ENTRY, token, sizeof(token)) == VSI_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1166 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1167 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1168 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1169 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1170 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1171 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1172 #if 0 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1173 else if (!strcmp (token, SYSPRIM_READ_COM_MATRIX)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1174 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1175 state = vsi_c_get_com_matrix_entry ( FIRST_ENTRY, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1176 if ( state == VSI_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1177 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1178 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1179 do | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1180 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1181 if ( (state = vsi_c_get_com_matrix_entry ( NEXT_ENTRY, token)) == VSI_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1182 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1183 } while ( state == VSI_OK ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1184 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1185 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1186 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1187 #ifdef _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1188 else if (!strcmp (token, SYSPRIM_READ_FFS_DAR)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1189 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1190 state = os_read_dar_ffs_data ( FIRST_ENTRY, token, TextTracePartitionSize - sizeof(T_S_HEADER) - sizeof(T_PRIM_HEADER) - 1 ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1191 if ( state == OS_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1192 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1193 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1194 do | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1195 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1196 if ( (state = os_read_dar_ffs_data ( NEXT_ENTRY, token, TextTracePartitionSize - sizeof(T_S_HEADER) - sizeof(T_PRIM_HEADER) - 1)) == OS_OK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1197 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, token ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1198 } while ( state == OS_OK ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1199 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1200 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1201 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, "No DAR entry stored" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1202 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1203 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1204 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1205 #if !defined _TARGET_ && !defined _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1206 else if (!strcmp (token, SYSPRIM_PCHECK)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1207 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1208 pcheck_active[TaskHandle] = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1209 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1210 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1211 else if (!strcmp (token, SYSPRIM_ROUTE_DESCLIST)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1212 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1213 route_desclist[TaskHandle] = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1214 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1215 else if (!strcmp (token, SYSPRIM_CHECK_DESCLIST)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1216 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1217 check_desclist = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1218 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1219 #ifdef _NUCLEUS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1220 else if (!strcmp (token, SYSPRIM_VERSION_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1221 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1222 vsi_o_ttrace (NO_TASK, TC_SYSTEM,"FRAME VERSION: %s, %s",frame_version_date, frame_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1223 vsi_o_ttrace (NO_TASK, TC_SYSTEM,"MISC VERSION: %s, %s",misc_version_date, misc_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1224 vsi_o_ttrace (NO_TASK, TC_SYSTEM,"TIF VERSION: %s, %s",tif_version_date, tif_version_time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1225 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1226 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1227 else if (!strcmp (token, SYSPRIM_RESET_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1228 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1229 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1230 * Reset | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1231 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1232 pf_Reset (TaskHandle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1233 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1234 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1235 else if (!strcmp (token, SYSPRIM_EXIT_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1236 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1237 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1238 * Exit and delete | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1239 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1240 if (pf_TaskTable[TaskHandle].PeiTable->pei_exit != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1241 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1242 pf_TaskTable[TaskHandle].PeiTable->pei_exit(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1243 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1244 VSI_PPM_FREE(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1245 os_DeallocatePartition (TaskHandle, pPrim-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1246 vsi_p_delete(0,TaskHandle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1247 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1248 #endif /* _TOOLS_ */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1249 #ifdef MEMORY_SUPERVISION | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1250 else if (!strcmp (token, SYSPRIM_CHECK_OWNER)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1251 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1252 ppm_check_partition_owner = 1; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1253 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1254 else if (!strcmp (token, SYSPRIM_SHOW_MEMORY)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1255 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1256 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1257 * Show state of the partition pool monitor | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1258 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1259 VSI_PPM_FREE(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1260 os_DeallocatePartition (TaskHandle, pPrim-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1261 TracePoolstatus (TaskHandle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1262 return; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1263 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1264 #endif /* MEMORY_SUPERVISION */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1265 #ifndef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1266 else if (!strcmp (token, SYSPRIM_SELECT_TIME_TDMA)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1267 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1268 time_is_tdma_frame = 1; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1269 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1270 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1271 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1272 else if (!strcmp (token, SYSPRIM_IS_STACK_TIME)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1273 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1274 s_hdr = P_SHDR(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1275 set_stack_time (s_hdr->time); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1276 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1277 else if (!strcmp (token, SYSPRIM_REGISTER_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1278 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1279 OS_HANDLE comhandle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1280 GetNextToken (data+strlen(token)+1, token, " #"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1281 if (os_create_extq (token, &comhandle) == OS_OK) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1282 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1283 if (!strcmp (token, FRM_PCO_NAME)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1284 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1285 vsi_o_set_htrace (comhandle); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1286 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1287 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1288 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1289 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1290 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1291 else if (!strcmp (token, SYSPRIM_WITHDRAW_TOKEN)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1292 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1293 GetNextToken (data+strlen(token)+1, token, " #"); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1294 if (os_destroy_extq (token) == OS_OK) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1295 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1296 if (!strcmp (token, FRM_PCO_NAME)) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1297 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1298 vsi_o_set_htrace (0); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1299 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1300 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1301 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1302 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1303 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1304 #endif /* _TOOLS_ */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1305 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1306 Error = TRUE; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1307 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1308 if ( Error ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1309 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1310 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, "SYSTEM WARNING:Invalid system primitive '%s'",data ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1311 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1312 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1313 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1314 if ( !SuppressOK ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1315 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1316 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, "OK (%s %s)", pf_TaskTable[TaskHandle].Name, data ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1317 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1318 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1319 VSI_PPM_FREE(pPrim); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1320 os_DeallocatePartition (TaskHandle, pPrim-PPM_OFFSET ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1321 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1322 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1323 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1324 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1325 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1326 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1327 | PROJECT : GSM-GPF (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1328 | STATE : code ROUTINE : pf_Reset | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1329 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1330 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1331 LOCAL void pf_Reset (T_HANDLE TaskHandle) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1332 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1333 if (TaskHandle != NO_TASK) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1334 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1335 if (pf_TaskTable[TaskHandle].PeiTable->pei_exit != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1336 pf_TaskTable[TaskHandle].PeiTable->pei_exit(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1337 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1338 * reset a single entity | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1339 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1340 if (pf_TaskTable[TaskHandle].PeiTable->pei_init != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1341 while (pf_TaskTable[TaskHandle].PeiTable->pei_init(TaskHandle) == PEI_ERROR) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1342 os_SuspendTask ( TaskHandle, 5); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1343 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1344 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1345 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1346 USHORT Handle; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1347 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1348 * reset all entities | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1349 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1350 for (Handle = 1; Handle <= MaxEntities; Handle++) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1351 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1352 if (pf_TaskTable[TaskHandle].PeiTable->pei_exit != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1353 pf_TaskTable[TaskHandle].PeiTable->pei_exit(); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1354 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1355 if (pf_TaskTable[Handle].PeiTable->pei_init != NULL) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1356 while (pf_TaskTable[TaskHandle].PeiTable->pei_init(TaskHandle) == PEI_ERROR) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1357 os_SuspendTask ( TaskHandle, 5); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1358 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1359 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1360 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1361 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1362 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1363 #ifdef _TOOLS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1364 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1365 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1366 | PROJECT : GSM-Frame (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1367 | STATE : code ROUTINE : set_stack_time | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1368 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1369 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1370 PURPOSE : stores the local time of stack under test. Used to align | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1371 timestamps while tracing. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1372 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1373 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1374 void set_stack_time ( ULONG time ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1375 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1376 init_stack_time = time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1377 os_GetTime ( NO_TASK, &init_local_time ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1378 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1379 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1380 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1381 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1382 | PROJECT : GSM-Frame (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1383 | STATE : code ROUTINE : get_stack_time | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1384 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1385 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1386 PURPOSE : returns the local time of stack under test. Used to align | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1387 timestamps while tracing. | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1388 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1389 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1390 void get_local_time ( ULONG *time ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1391 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1392 OS_TIME current_local_time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1393 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1394 os_GetTime ( NO_TASK, ¤t_local_time ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1395 *time = init_stack_time + current_local_time - init_local_time; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1396 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1397 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1398 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1399 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1400 #ifndef RUN_INT_RAM | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1401 /* | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1402 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1403 | PROJECT : GSM-Frame (8415) MODULE : FRAME | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1404 | STATE : code ROUTINE : pf_handle_error | | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1405 +--------------------------------------------------------------------+ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1406 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1407 PURPOSE : frame error and warning handling | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1408 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1409 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1410 /*lint -e506, suppress Warning 506: Constant value Boolean */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1411 /*lint -e718, suppress nfo 718: Symbol '_va_argref' undeclared, assumed to return int */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1412 int pf_handle_warning ( USHORT cause, const char * const format,...) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1413 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1414 T_HANDLE caller; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1415 va_list varpars; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1416 static int recursion_count = 0; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1417 USHORT free; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1418 USHORT alloc; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1419 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1420 /* recursion counter is needed to avoid endless loop when generating warning during processing of warning */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1421 if ( recursion_count == 0 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1422 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1423 recursion_count++; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1424 caller = e_running[os_MyHandle()]; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1425 va_start (varpars, format); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1426 int_vsi_o_ttrace ( NO_TASK, TC_SYSTEM, format, varpars ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1427 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1428 if ( error_ind_dst[0] != 0 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1429 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1430 /* drop the warning, if there are fewer than 3 partitions available to avoid deadlock */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1431 vsi_m_status ( caller, sizeof(T_FRM_WARNING_IND)+sizeof(T_PRIM_HEADER), PrimGroupHandle, &free, &alloc ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1432 if ( free >= 3 ) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1433 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1434 PALLOC(frm_warning_ind,FRM_WARNING_IND); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1435 frm_warning_ind->warning_code = cause; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1436 #ifdef _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1437 /* We will destroy the partition guard pattern if the warning is longer than the warning string in FRM_WARNING_IND */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1438 vsprintf ((char*)frm_warning_ind->warning_string, format, varpars); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1439 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1440 #if defined(_LINUX_) || defined(_SOLARIS_) | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1441 vsnprintf ((char*)frm_warning_ind->warning_string, | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1442 sizeof(frm_warning_ind->warning_string), format, varpars); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1443 #else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1444 _vsnprintf ((char*)frm_warning_ind->warning_string, sizeof(frm_warning_ind->warning_string), format, varpars); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1445 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1446 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1447 vsi_o_primsend ( caller, TC_SYSTEM, 0, error_ind_dst, (unsigned int)FRM_WARNING_IND, frm_warning_ind, sizeof(T_FRM_WARNING_IND) FILE_LINE_MACRO ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1448 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1449 else | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1450 { | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1451 vsi_o_ttrace ( NO_TASK, TC_SYSTEM, "FRM_WARNING_IND dropped" ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1452 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1453 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1454 #if defined _NUCLEUS_ && !defined _TARGET_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1455 vsprintf (TraceBuffer, format, varpars); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1456 printf ("%s\n",TraceBuffer); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1457 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1458 #ifdef _NUCLEUS_ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1459 os_SystemError ( os_MyHandle(), cause, NULL ); | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1460 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1461 recursion_count--; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1462 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1463 return VSI_OK; | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1464 } | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1465 /*lint +e718 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1466 /*lint +e506 */ | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1467 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1468 #endif | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1469 | 
| 
1ea54a97e831
src/gpf: import of Magnetite src/gpf3
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1470 | 
