FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/riviera/rvm/rvm_task.c @ 257:c413e791595a
fc-tmsh: added check-ffs1 command, getting ready to begin ffs2 implementation
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Tue, 04 Feb 2014 07:22:19 +0000 | 
| parents | afceeeb2cba1 | 
| children | 
| rev | line source | 
|---|---|
| 
118
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
1 /** | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
2 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
3 * @file rvm_task.c | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
4 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
5 * This file contains the main RVN function: rvm_task. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
6 It will initialize the RVM and then wait for messages. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
7 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
8 * @author Cristian Livadiotti (c-livadiotti@ti.com) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
9 * @version 0.2 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
10 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
11 */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
12 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
13 /* | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
14 * Revision History: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
15 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
16 * 06/04/2000 Cristian Livadiotti Create. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
17 * 10/22/2001 David Lamy-Charrier Update for new Riviera 1.6. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
18 * | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
19 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
21 # include <stdio.h> | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
22 | 
| 
121
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
23 #include "../rvf/rvf_api.h" | 
| 
118
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
24 | 
| 
121
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
25 #include "rvm_gen.h" | 
| 
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
26 #include "rvm_api.h" | 
| 
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
27 #include "rvm_i.h" | 
| 
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
28 #include "../rvf/rvf_i.h" /* only for pRtAddrIdTable[] */ | 
| 
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
29 #include "rvm_use_id_list.h" | 
| 
118
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
30 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
31 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
32 extern T_RVM_KNOWN_SWE * rvm_swe_array; /* for start() */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
33 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
34 #ifdef _CONSOLE | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
35 void _callerProxy(T_RVM_APPLI_RESULT *p_msg_res) ; //A-M-E-N-D-E-D! | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
36 #endif | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
37 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
38 T_RVM_RETURN _start_group(T_RVF_G_ADDR_ID gid, UINT8* grp); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
39 T_RVM_RETURN _t3_start(T_RVF_G_ADDR_ID gid); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
40 T_RVM_RETURN _stop_t2_swe(T_RVM_STOP_MSG* p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
41 T_RVM_RETURN _stop_t3_swe(T_RVM_STOP_MSG* p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
42 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
43 /******************************************************************************* | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
44 ** Function rvm_init | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
45 ** | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
46 ** Description Initialize all the RVM | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
47 ** | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
48 *******************************************************************************/ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
49 BOOLEAN rvm_init() | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
50 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
51 T_RVF_MB_PARAM mb_params; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
52 mb_params.size = RVM_PRIM_MB_SIZE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
53 mb_params.watermark = RVM_PRIM_MB_WATERMARK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
54 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
55 if(rvm_mem_bank!=RVF_INVALID_MB_ID) return TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
56 /* create rvm main Memory Bank */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
57 if ( rvf_create_mb( RVM_PRIM_MB, mb_params, &rvm_mem_bank) != RVF_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
58 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
59 // TO DO: remove this call since the RVT software entity has not been started yet. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
60 RVM_TRACE_ERROR( "RVM_init: unable to create the RVM Main mem bank"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
61 return FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
62 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
63 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
64 mb_params.size = RVM_STACK_MB_SIZE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
65 mb_params.watermark = RVM_STACK_MB_WATERMARK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
66 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
67 /* create a second Memory Bank used for stack allocation */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
68 if ( rvf_create_mb( RVM_STACK_MB, mb_params, &rvm_stack_mem_bank) != RVF_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
69 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
70 // TO DO: remove this call since the RVT software entity has not been started yet. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
71 RVM_TRACE_ERROR( "RVM_init: unable to create the RVM stacks mem bank"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
72 return FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
73 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
74 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
75 mb_params.size = RVM_SYS_MB_SIZE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
76 mb_params.watermark = RVM_SYS_MB_WATERMARK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
77 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
78 if(rvm_sys_mem_bank!=RVF_INVALID_MB_ID) return TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
79 /* create rvm main Memory Bank */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
80 if ( rvf_create_mb( RVM_SYS_MB, mb_params, &rvm_sys_mem_bank) != RVF_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
81 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
82 // TO DO: remove this call since the RVT software entity has not been started yet. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
83 RVM_TRACE_ERROR( "RVM_init: unable to create the RVM SYSTEM mem bank"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
84 return FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
85 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
86 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
87 mb_params.size = RVM_TIMER_MB_SIZE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
88 mb_params.watermark = RVM_TIMER_MB_WATERMARK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
89 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
90 if(rvm_timer_mem_bank!=RVF_INVALID_MB_ID) return TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
91 // create rvm main Memory Bank | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
92 if ( rvf_create_mb( RVM_TIMER_MB, mb_params, &rvm_timer_mem_bank) != RVF_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
93 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
94 // TO DO: remove this call since the RVT software entity has not been started yet. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
95 RVM_TRACE_ERROR( "RVM_init: unable to create the RVM TIMER mem bank"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
96 return FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
97 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
98 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
99 mb_params.size = RVM_NOTIFY_MB_SIZE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
100 mb_params.watermark = RVM_NOTIFY_MB_WATERMARK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
101 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
102 if(rvm_tm_notify_mem_bank!=RVF_INVALID_MB_ID) return TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
103 // create rvm main Memory Bank | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
104 if ( rvf_create_mb( RVM_NOTIFY_MB, mb_params, &rvm_tm_notify_mem_bank) != RVF_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
105 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
106 // TO DO: remove this call since the RVT software entity has not been started yet. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
107 RVM_TRACE_ERROR( "RVM_init: unable to create the RVM TIMER NOTIFY MSG mem bank"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
108 return FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
109 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
110 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
111 return TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
112 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
113 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
114 /******************************************************************************* | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
115 ** Function rvm_task | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
116 ** | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
117 ** Description Core of the RVM task, which initiliazes the RVM and | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
118 ** waits for messages. | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
119 ** | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
120 *******************************************************************************/ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
121 void rvm_task (UINT32 param) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
122 { BOOLEAN detectedError = FALSE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
123 T_RV_HDR * msgPtr; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
124 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
125 /* init the SWEs database */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
126 if ( rvm_init_swe_db() != RVM_OK) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
127 { /* lack of memory */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
128 detectedError = TRUE; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
129 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
130 //printf("RVManager core: %d %s\n", rvf_get_taskid(), rvf_get_taskname()); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
131 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
132 /* loop to process messages */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
133 while (detectedError == FALSE) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
134 { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
135 /* Wait for the necessary event (msg in the rve mailbox and no timeout). */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
136 UINT16 recEvent = rvf_wait ( RVM_EXPECTED_EVENT, 0); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
137 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
138 /* If the expected event is received, then */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
139 if (recEvent & RVM_EXPECTED_EVENT) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
140 /* Read the message in the rve mailbox */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
141 msgPtr = (T_RV_HDR *) rvf_read_mbox (RVM_MAILBOX); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
142 if(msgPtr) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
143 /* Determine the input message type */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
144 switch (msgPtr->msg_id) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
145 case (RVM_START_APPLI): { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
146 rvm_launch_appli((T_RVM_MSG*)msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
147 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
148 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
149 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
150 case (RVM_STOP_APPLI): { // still keep original concept | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
151 rvm_shut_down_appli((T_RVM_MSG*)msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
152 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
153 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
154 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
155 case (RVM_STOP_MSG): { // new concept, eg. reverse init/start concept | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
156 if(((T_RVM_STOP_MSG*)msgPtr)->status==SWE_RUNNING) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
157 rvm_stop_appli((T_RVM_STOP_MSG*) msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
158 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
159 } else { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
160 rvm_swe_has_stopped((T_RVM_STOP_MSG*) msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
161 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
162 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
163 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
164 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
165 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
166 #ifdef _CONSOLE | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
167 case (RVM_EVT_TO_APPLI): { /*A-M-E-N-D-E-D! */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
168 /* proxy msg's sent by "rvm_snd_to_upper()" | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
169 /* There arrival here is evident that no parent or | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
170 /* calling process, ie. No MMI exists and they were | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
171 /* started by RVM itself. */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
172 RVM_TRACE_WARNING_PARAM("RVM: caller response msg", msgPtr->msg_id); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
173 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
174 _callerProxy((T_RVM_APPLI_RESULT*)msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
175 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
176 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
177 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
178 #endif | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
179 default: { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
180 RVM_TRACE_WARNING_PARAM("rvm_Task: [switch()] unrecognized msg", msgPtr->msg_id); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
181 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
182 rvf_free_buf(msgPtr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
183 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
184 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
185 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
186 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
187 /* free the received msg */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
188 // rvf_free_buf(msgPtr); // may be used when STOP is completed | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
189 } else { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
190 RVM_TRACE_WARNING_PARAM("RVM_task: unrecognized event", recEvent); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
191 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
192 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
193 RVM_TRACE_ERROR("RVM_task: unrecoverable error --> stopping RVM"); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
194 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
195 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
196 T_RVM_RETURN rvm_t2_proxy() { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
197 T_RVM_RETURN error_status=RVM_OK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
198 T_RV_HDR* p_msg = NULL ; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
199 UINT16 rec_event; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
200 T_RVF_G_ADDR_ID gid=RVF_INVALID_ADDR_ID; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
201 UINT16 nbTmExp=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
202 UINT8 y=0,F_PRI=0, yield; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
203 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
204 RVM_TRACE_WARNING_PARAM("T2PROXY TACHE DE DEV", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
205 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
206 rvf_start_timer(0, RVM_YIELD_T2_PS_TM, 1); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
207 yield=MAX_PARASITES; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
208 gid=rvf_get_taskid(); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
209 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
210 while (error_status == RVM_OK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
211 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
212 rec_event = rvf_evt_wait(gid, 0xffff, 0xFFFFFFFFL); /* Wait (infinite) for all events. */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
213 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
214 if (rec_event & RVF_TASK_MBOX_1_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
215 F_PRI=1; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
216 for(y=0; (p_msg=(T_RV_HDR *)rvf_read_addr_mbox (gid, 1)) && (y<yield); y++) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
217 //RVM_TRACE_WARNING_PARAM("T2 PRI MAILBOX !!!\n", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
218 rvf_setRDV(gid, p_msg->dest_addr_id); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
219 switch(p_msg->msg_id) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
220 case RVM_TMS_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
221 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
222 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
223 } else rvf_free_timer_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
224 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
225 case RVM_START_T2_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
226 yield=MAX_PARASITES; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
227 _start_group(gid, ((T_RVM_START_T2_MSG*)p_msg)->grp); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
228 rvf_free_buf(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
229 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
230 case RVM_STOP_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
231 _stop_t2_swe((T_RVM_STOP_MSG*)p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
232 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
233 case RVM_RT_MOD_YIELD_T2_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
234 if(((T_RVM_RT_MOD_YIELD_T2_MSG*)p_msg)->val > 1) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
235 rvf_start_timer(0, ((T_RVM_RT_MOD_YIELD_T2_MSG*)p_msg)->val, 1); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
236 rvf_free_buf(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
237 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
238 default: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
239 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_message) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
240 pRtAddrIdTable[p_msg->dest_addr_id]->handle_message(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
241 } else rvf_free_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
242 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
243 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
244 rvf_setRDV(gid, RVF_INVALID_ADDR_ID); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
245 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
246 yield=RVM_YIELD_T2_PRI_MSG_CNT; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
247 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
248 if (rec_event & RVF_TASK_MBOX_0_EVT_MASK ) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
249 //RVM_TRACE_WARNING_PARAM("T2 STND MAILBOX !!!\n", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
250 if(p_msg=(T_RV_HDR *) rvf_read_mbox (0)) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
251 rvf_setRDV(gid, p_msg->dest_addr_id); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
252 switch(p_msg->msg_id) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
253 case RVM_TMS_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
254 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
255 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
256 } else rvf_free_timer_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
257 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
258 //rvf_free_buf(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
259 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
260 case RVM_START_T2_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
261 _start_group(gid, ((T_RVM_START_T2_MSG*)p_msg)->grp); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
262 rvf_free_buf(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
263 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
264 case RVM_STOP_MSG: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
265 _stop_t2_swe((T_RVM_STOP_MSG*)p_msg); // preserve | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
266 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
267 default: | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
268 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_message) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
269 pRtAddrIdTable[p_msg->dest_addr_id]->handle_message(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
270 } else rvf_free_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
271 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
272 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
273 rvf_setRDV(gid, RVF_INVALID_ADDR_ID); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
274 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
275 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
276 if( rec_event & RVF_TIMER_0_EVT_MASK ) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
277 //RVM_TRACE_WARNING_PARAM("T2 YIELD !!!\n", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
278 rvf_yield(); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
279 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
280 if( rec_event & RVF_TIMER_1_EVT_MASK || rec_event & RVF_TIMER_2_EVT_MASK ) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
281 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
282 RVM_TRACE_WARNING_PARAM("RVM: Forbidden timer usage for type 2 entities!\n Please use rvf_add_timer()", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
283 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
284 if(rec_event & RVF_TIMER_3_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
285 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
286 /*nbTmExp=0; //rvf_update_timer_list((pRtAddrIdTable[gid]->p_tm_q)); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
287 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
288 while(nbTmExp-- > 0) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
289 p_msg=0;//(T_RV_HDR*)rvf_get_expired_entry((pRtAddrIdTable[gid]->p_tm_q)); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
290 if(p_msg->dest_addr_id) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
291 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
292 else RVM_TRACE_WARNING_PARAM("T3PROXY NO TM DESTINATION", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
293 }*/ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
294 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
295 F_PRI=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
296 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
297 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
298 /*if (error_status == INVKR_MEMORY_ERR) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
299 invkr_env_ctrl_blk_p->error_ft("INVKR", RVM_MEMORY_ERR, 0, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
300 " Memory Error : the INVKR primitive memory bank is RED "); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
301 }*/ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
302 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
303 RVM_TRACE_WARNING_PARAM("T2PROXY ERROR: CORE TERMINATION", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
304 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
305 /* BEFORE returning free resources !!! */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
306 return RVM_OK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
307 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
308 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
309 T_RVM_RETURN rvm_t3_proxy() { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
310 T_RVM_RETURN error_status=RVM_OK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
311 T_RV_HDR* p_msg = NULL ; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
312 UINT16 rec_event; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
313 T_RVF_G_ADDR_ID gid; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
314 UINT8 swe_i=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
315 UINT16 nbTmExp=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
316 T_RV_HDR* p_hdr=NULL; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
317 UINT8 yield=250, y=0; /* arguable whether T3 needs Yield. Hence, high nb */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
318 UINT8 F_PRI=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
319 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
320 RVM_TRACE_WARNING_PARAM("T3PROXY TACHE DE DEV", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
321 //printf("t2proxy: %d %s\n", rvf_get_taskid(), rvf_get_taskname()); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
322 gid=rvf_get_taskid(); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
323 if(gid) _t3_start(gid); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
324 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
325 RVM_TRACE_WARNING_PARAM("T3PROXY START()", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
326 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
327 while (error_status == RVM_OK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
328 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
329 rec_event = rvf_evt_wait(gid, 0xffff, 0xFFFFFFFFL); /* Wait (infinite) for all events. */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
330 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
331 if (rec_event & RVF_TASK_MBOX_1_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
332 F_PRI=1; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
333 for(y=0; (p_msg=(T_RV_HDR *)rvf_read_addr_mbox (gid, 1)) && (y<yield); y++) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
334 if(p_msg->msg_id==RVM_TMS_MSG) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
335 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
336 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
337 } else rvf_free_timer_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
338 } else if(p_msg->msg_id==RVM_STOP_MSG) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
339 _stop_t3_swe((T_RVM_STOP_MSG*)p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
340 } else { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
341 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_message) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
342 pRtAddrIdTable[p_msg->dest_addr_id]->handle_message(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
343 } else rvf_free_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
344 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
345 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
346 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
347 if (rec_event & RVF_TASK_MBOX_0_EVT_MASK && !F_PRI) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
348 if(p_msg=(T_RV_HDR *) rvf_read_addr_mbox (gid, 0)) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
349 if(p_msg->msg_id==RVM_TMS_MSG) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
350 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
351 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
352 } else rvf_free_timer_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
353 } else if(p_msg->msg_id==RVM_STOP_MSG) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
354 _stop_t3_swe((T_RVM_STOP_MSG*)p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
355 } else { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
356 if(pRtAddrIdTable[p_msg->dest_addr_id] && pRtAddrIdTable[p_msg->dest_addr_id]->handle_message) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
357 pRtAddrIdTable[p_msg->dest_addr_id]->handle_message(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
358 } else rvf_free_msg(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
359 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
360 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
361 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
362 if(rec_event & RVF_TIMER_0_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
363 if(rvf_get_buf(rvm_mem_bank,sizeof(T_RV_HDR),(T_RVF_BUFFER**) &p_hdr)!=RVF_RED) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
364 p_hdr->msg_id=RVF_TIMER_0_EVT_MASK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
365 p_hdr->dest_addr_id=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
366 pRtAddrIdTable[resolveHostAddrId(gid)]->handle_timer(p_hdr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
367 } else RVM_TRACE_WARNING_PARAM("RVM: T3 PROXY TM 0 EVENT DISPATCH MEM ERROR!", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
368 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
369 if(rec_event & RVF_TIMER_1_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
370 if(rvf_get_buf(rvm_mem_bank,sizeof(T_RV_HDR),(T_RVF_BUFFER**) &p_hdr)!=RVF_RED) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
371 p_hdr->msg_id=RVF_TIMER_1_EVT_MASK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
372 p_hdr->dest_addr_id=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
373 pRtAddrIdTable[resolveHostAddrId(gid)]->handle_timer(p_hdr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
374 } else RVM_TRACE_WARNING_PARAM("RVM: T3 PROXY TM 1 EVENT DISPATCH MEM ERROR!", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
375 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
376 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
377 if(rec_event & RVF_TIMER_2_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
378 if(rvf_get_buf(rvm_mem_bank,sizeof(T_RV_HDR),(T_RVF_BUFFER**) &p_hdr)!=RVF_RED) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
379 p_hdr->msg_id=RVF_TIMER_2_EVT_MASK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
380 p_hdr->dest_addr_id=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
381 pRtAddrIdTable[resolveHostAddrId(gid)]->handle_timer(p_hdr); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
382 } else RVM_TRACE_WARNING_PARAM("RVM: T3 PROXY TM 2 EVENT DISPATCH MEM ERROR!", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
383 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
384 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
385 if(rec_event & RVF_TIMER_3_EVT_MASK) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
386 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
387 nbTmExp=0; //rvf_update_timer_list((pRtAddrIdTable[gid]->p_tm_q)); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
388 //printf("T3 POLL TIMER Id %d ---------------------------------------------> %d!\n",gid, nbTmExp); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
389 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
390 while(nbTmExp-- > 0) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
391 p_msg=0; //(T_RV_HDR*)rvf_get_expired_entry(pRtAddrIdTable[gid]->p_tm_q); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
392 if(p_msg->dest_addr_id) | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
393 pRtAddrIdTable[p_msg->dest_addr_id]->handle_timer(p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
394 else RVM_TRACE_WARNING_PARAM("T3PROXY NO TM DESTINATION", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
395 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
396 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
397 F_PRI=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
398 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
399 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
400 /*if (error_status == INVKR_MEMORY_ERR) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
401 invkr_env_ctrl_blk_p->error_ft("INVKR", RVM_MEMORY_ERR, 0, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
402 " Memory Error : the INVKR primitive memory bank is RED "); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
403 }*/ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
404 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
405 RVM_TRACE_WARNING_PARAM("T3PROXY ERROR: CORE TERMINATION", RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
406 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
407 /* BEFORE returning free resources !!! */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
408 return RVM_OK; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
409 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
410 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
411 T_RVM_RETURN rvm_start_group_req(T_RVF_G_ADDR_ID addrId, UINT8* grp) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
412 T_RVM_START_T2_MSG * p_msg; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
413 T_RVF_MB_STATUS mb_status; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
414 UINT8 i=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
415 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
416 mb_status = rvf_get_msg_buf(rvm_mem_bank, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
417 sizeof(T_RVM_START_T2_MSG), | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
418 RVM_START_T2_MSG, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
419 (T_RVF_MSG**) &p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
420 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
421 if (mb_status == RVF_RED) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
422 RVM_TRACE_WARNING_PARAM("rvm_start_group(): Error to get memory ",RV_TRACE_LEVEL_ERROR); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
423 return RVM_MEMORY_ERR; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
424 } else if (mb_status == RVF_YELLOW) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
425 RVM_TRACE_WARNING_PARAM("rvm_start_group(): Getting short on memory ", RV_TRACE_LEVEL_WARNING); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
426 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
427 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
428 for(i=0;i<10; i++) p_msg->grp[i]=0; // DEFINE MAX !!! | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
429 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
430 p_msg->hdr.msg_id = RVM_START_T2_MSG; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
431 for(i=0; i<10 && grp[i]!=0; i++) p_msg->grp[i]=grp[i]; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
432 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
433 return rvf_send_priority_msg(addrId, p_msg); //? cast (void*) i/p | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
434 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
435 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
436 T_RVM_RETURN _start_group(T_RVF_G_ADDR_ID gid, UINT8* grp) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
437 T_RVM_INFO_SWE swe_info; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
438 UINT8 i=0; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
439 // for each k_swe_entry, IF NOT started get_info and call start() | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
440 for(i=0; i<10 && grp[i]!=0; i++ ) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
441 // printf("INDEXES %d\n", grp[i]); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
442 rvm_swe_array[grp[i]].swe_get_info(&swe_info); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
443 rvf_setRDV(gid, rvm_swe_array[grp[i]].swe_addr_id); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
444 if(swe_info.type_info.type2.start) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
445 swe_info.type_info.type2.start(); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
446 rvm_swe_array[grp[i]].swe_state = SWE_RUNNING; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
447 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
448 rvf_setRDV(gid, RVF_INVALID_ADDR_ID); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
449 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
450 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
451 return RVM_OK; /* ERROR case To do */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
452 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
453 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
454 T_RVM_RETURN _t3_start(T_RVF_G_ADDR_ID gid) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
455 T_RVM_INFO_SWE swe_info; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
456 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
457 rvm_swe_array[pRtAddrIdTable[gid]->swe_db_index].swe_get_info(&swe_info); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
458 if(swe_info.type_info.type3.start) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
459 swe_info.type_info.type3.start(); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
460 rvm_swe_array[pRtAddrIdTable[gid]->\ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
461 swe_db_index].swe_state = SWE_RUNNING; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
462 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
463 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
464 return RVM_OK; /* ERROR case To do */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
465 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
466 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
467 T_RVM_RETURN _stop_t2_swe(T_RVM_STOP_MSG* p_msg) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
468 T_RVM_INFO_SWE swe_info; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
469 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
470 rvm_swe_array[p_msg->swe_num].swe_get_info(&swe_info); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
471 if(swe_info.type_info.type2.stop) swe_info.type_info.type2.stop((T_RV_HDR*)p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
472 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
473 return RVM_OK; /* ERROR case To do */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
474 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
475 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
476 T_RVM_RETURN _stop_t3_swe(T_RVM_STOP_MSG* p_msg) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
477 T_RVM_INFO_SWE swe_info; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
478 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
479 rvm_swe_array[p_msg->swe_num].swe_get_info(&swe_info); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
480 if(swe_info.type_info.type3.stop) swe_info.type_info.type3.stop((T_RV_HDR*)p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
481 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
482 return RVM_OK; /* ERROR case To do */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
483 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
484 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
485 T_RVM_RETURN rvm_mod_rt_t2_yield(T_RVF_G_ADDR_ID addrId, UINT16 val) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
486 T_RVM_RT_MOD_YIELD_T2_MSG * p_msg; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
487 T_RVF_MB_STATUS mb_status; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
488 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
489 mb_status = rvf_get_msg_buf(rvm_sys_mem_bank, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
490 sizeof(T_RVM_RT_MOD_YIELD_T2_MSG), | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
491 RVM_RT_MOD_YIELD_T2_MSG, | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
492 (T_RVF_MSG**) &p_msg); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
493 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
494 if (mb_status == RVF_RED) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
495 RVM_TRACE_WARNING_PARAM("rvm_start_group(): Error to get memory ",RV_TRACE_LEVEL_ERROR); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
496 return RVM_MEMORY_ERR; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
497 } else if (mb_status == RVF_YELLOW) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
498 RVM_TRACE_WARNING_PARAM("rvm_start_group(): Getting short on memory ", RV_TRACE_LEVEL_WARNING); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
499 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
500 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
501 p_msg->hdr.msg_id = RVM_RT_MOD_YIELD_T2_MSG; /* from internal header */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
502 p_msg->val = val; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
503 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
504 /* Send the message using mailbox. */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
505 return rvf_send_priority_msg(addrId, p_msg); //? cast (void*) i/p | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
506 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
507 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
508 /* ONLY used for return path msgs from entities started/stopped by the RVM */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
509 #ifdef _CONSOLE | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
510 void _callerProxy(T_RVM_APPLI_RESULT *p_msg_res) { /*A-M-E-N-D-E-D! */ | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
511 char *ret_val=NULL; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
512 | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
513 switch(p_msg_res->result) { | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
514 case RV_OK: ret_val="RVM: Successful entity start or stop:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
515 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
516 case RV_NOT_SUPPORTED: ret_val="RVM: Not Supported:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
517 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
518 case RV_NOT_READY: ret_val="RVM: Not Ready:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
519 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
520 case RV_MEMORY_ERR: ret_val="RVM: Memory Alloc. Error:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
521 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
522 case RV_MEMORY_REMAINING: ret_val="RVM: Memory REMAINING AFTER STOP & KILL!: "; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
523 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
524 case RV_INTERNAL_ERR: ret_val="RVM: Memory Alloc. Error:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
525 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
526 case RV_INVALID_PARAMETER: ret_val="RVM: Invalid Parameter:"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
527 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
528 default: ret_val="RVM: Not recognised:n"; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
529 break; | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
530 } | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
531 RVM_TRACE_WARNING_PARAM(ret_val, p_msg_res->swe_index); | 
| 
 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents:  
diff
changeset
 | 
532 } | 
| 
121
 
15e972110527
RVM compiles
 
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> 
parents: 
118 
diff
changeset
 | 
533 #endif | 
