FreeCalypso > hg > freecalypso-citrine
comparison gpf/conf/gsmcomp.c @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:75a11d740a02 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : | |
4 | Modul : | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : Component Table for GSM | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 #include "../../include/config.h" | |
22 #include "../../include/condat-features.h" | |
23 #include "gpfconf.h" | |
24 | |
25 #define CONFIG_MODULE 1 | |
26 | |
27 #ifndef NEW_ENTITY | |
28 #define NEW_ENTITY | |
29 #endif | |
30 | |
31 /*==== INCLUDES ===================================================*/ | |
32 | |
33 #include "../../nucleus/nucleus.h" | |
34 #include "typedefs.h" | |
35 #include "os.h" | |
36 #include "vsi.h" | |
37 #include "pei.h" | |
38 #include "gsmconst.h" | |
39 #include "frm_defs.h" | |
40 #include "frm_types.h" | |
41 #include "frm_glob.h" | |
42 #include "os_types.h" | |
43 #include "os_glob.h" | |
44 | |
45 /*==== CONSTANTS ==================================================*/ | |
46 | |
47 | |
48 /*==== EXTERNALS ==================================================*/ | |
49 | |
50 extern SHORT tstrcv_pei_create(T_PEI_INFO const **Info); | |
51 extern SHORT tstsnd_pei_create(T_PEI_INFO const **Info); | |
52 extern SHORT aci_pei_create (T_PEI_INFO const **Info); | |
53 extern SHORT cst_pei_create (T_PEI_INFO const **Info); | |
54 extern SHORT sim_pei_create (T_PEI_INFO const **Info); | |
55 extern SHORT sms_pei_create (T_PEI_INFO const **Info); | |
56 extern SHORT cc_pei_create (T_PEI_INFO const **Info); | |
57 extern SHORT ss_pei_create (T_PEI_INFO const **Info); | |
58 extern SHORT mm_pei_create (T_PEI_INFO const **Info); | |
59 extern SHORT rr_pei_create (T_PEI_INFO const **Info); | |
60 extern SHORT dl_pei_create (T_PEI_INFO const **Info); | |
61 extern SHORT pl_pei_create (T_PEI_INFO const **Info); | |
62 #ifdef FAX_AND_DATA | |
63 extern SHORT l2r_pei_create (T_PEI_INFO const **Info); | |
64 extern SHORT rlp_pei_create (T_PEI_INFO const **Info); | |
65 extern SHORT fad_pei_create (T_PEI_INFO const **Info); | |
66 extern SHORT t30_pei_create (T_PEI_INFO const **Info); | |
67 #endif /* FAX_AND_DATA */ | |
68 #ifdef UART | |
69 extern SHORT uart_pei_create (T_PEI_INFO const **Info); | |
70 #endif/*UART*/ | |
71 #ifdef BT_ADAPTER | |
72 extern SHORT bti_pei_create ( T_PEI_INFO const **Info); | |
73 #endif /* BT_ADAPTER */ | |
74 | |
75 #ifdef FF_EOTD | |
76 extern SHORT lc_pei_create (T_PEI_INFO const **Info); | |
77 extern SHORT rrlp_pei_create (T_PEI_INFO const **Info); | |
78 #endif /* FF_EOTD */ | |
79 | |
80 #ifdef CO_UDP_IP | |
81 extern SHORT udp_pei_create (T_PEI_INFO const **Info); | |
82 extern SHORT ip_pei_create (T_PEI_INFO const **Info); | |
83 #endif | |
84 | |
85 #if defined (FF_WAP) || defined (FF_SAT_E) | |
86 extern SHORT ppp_pei_create ( T_PEI_INFO const **Info); | |
87 #endif /* FF_WAP || FF_SAT_E */ | |
88 | |
89 #ifdef FF_WAP | |
90 #ifndef UDP_NO_WAP | |
91 extern SHORT wap_pei_create (T_PEI_INFO const **Info); | |
92 #endif /* UDP_NO_WAP */ | |
93 #endif /* FF_WAP */ | |
94 | |
95 #ifndef _TARGET_ | |
96 extern SHORT psi_pei_create (T_PEI_INFO const **Info); | |
97 #ifdef FAX_AND_DATA | |
98 extern SHORT ra_pei_create (T_PEI_INFO const **Info); | |
99 #endif | |
100 #endif | |
101 | |
102 #ifdef _TARGET_ | |
103 extern SHORT l1_pei_create (T_PEI_INFO const **Info); | |
104 #endif | |
105 /*==== VARIABLES ==================================================*/ | |
106 | |
107 #ifndef _TARGET_ | |
108 BOOL newTstHeader = TRUE; | |
109 #endif | |
110 | |
111 | |
112 const T_COMPONENT_ADDRESS tstrcv_list[] = | |
113 { | |
114 { tstrcv_pei_create, NULL, ASSIGNED_BY_TI }, | |
115 { NULL, NULL, 0 } | |
116 }; | |
117 | |
118 const T_COMPONENT_ADDRESS tstsnd_list[] = | |
119 { | |
120 { tstsnd_pei_create, NULL, ASSIGNED_BY_TI }, | |
121 { NULL, NULL, 0 } | |
122 }; | |
123 | |
124 const T_COMPONENT_ADDRESS mmi_list[] = | |
125 { | |
126 { aci_pei_create, NULL, ASSIGNED_BY_TI }, | |
127 { NULL, NULL, 0 } | |
128 }; | |
129 | |
130 const T_COMPONENT_ADDRESS cst_list[] = | |
131 { | |
132 { cst_pei_create, NULL, ASSIGNED_BY_TI }, | |
133 { NULL, NULL, 0 } | |
134 }; | |
135 | |
136 const T_COMPONENT_ADDRESS sim_list[] = | |
137 { | |
138 { sim_pei_create, NULL, ASSIGNED_BY_TI }, | |
139 { NULL, NULL, 0 } | |
140 }; | |
141 | |
142 const T_COMPONENT_ADDRESS cm_list[] = | |
143 { | |
144 { sms_pei_create, NULL, ASSIGNED_BY_TI }, | |
145 { cc_pei_create, NULL, ASSIGNED_BY_TI }, | |
146 { ss_pei_create, NULL, ASSIGNED_BY_TI }, | |
147 { NULL, NULL, (int)"CM" } | |
148 }; | |
149 | |
150 const T_COMPONENT_ADDRESS mm_list[] = | |
151 { | |
152 { mm_pei_create, NULL, ASSIGNED_BY_TI }, | |
153 { NULL, NULL, 0 } | |
154 }; | |
155 | |
156 const T_COMPONENT_ADDRESS rr_list[] = | |
157 { | |
158 { rr_pei_create, NULL, ASSIGNED_BY_TI }, | |
159 { NULL, NULL, 0 } | |
160 }; | |
161 | |
162 const T_COMPONENT_ADDRESS dl_list[] = | |
163 { | |
164 { dl_pei_create, NULL, ASSIGNED_BY_TI }, | |
165 { NULL, NULL, 0 } | |
166 }; | |
167 | |
168 const T_COMPONENT_ADDRESS pl_list[] = | |
169 { | |
170 { pl_pei_create, NULL, ASSIGNED_BY_TI }, | |
171 { NULL, NULL, 0 } | |
172 }; | |
173 | |
174 #ifdef FAX_AND_DATA | |
175 const T_COMPONENT_ADDRESS l2rt30_list[] = | |
176 { | |
177 { l2r_pei_create, NULL, ASSIGNED_BY_TI }, | |
178 { t30_pei_create, NULL, ASSIGNED_BY_TI }, | |
179 { NULL, NULL, (int) "L2RT30" } | |
180 }; | |
181 | |
182 const T_COMPONENT_ADDRESS rlpfad_list[] = | |
183 { | |
184 { rlp_pei_create, NULL, ASSIGNED_BY_TI }, | |
185 { fad_pei_create, NULL, ASSIGNED_BY_TI }, | |
186 { NULL, NULL, (int) "RLPFAD"} | |
187 }; | |
188 | |
189 #ifndef _TARGET_ | |
190 const T_COMPONENT_ADDRESS ra_list[] = | |
191 { | |
192 { ra_pei_create, NULL, ASSIGNED_BY_TI }, | |
193 { NULL, NULL, 0 } | |
194 }; | |
195 #endif /* !_TARGET_ */ | |
196 #endif /* FAX_AND_DATA */ | |
197 | |
198 #ifndef _TARGET_ | |
199 #ifdef FF_TCP_IP | |
200 const T_COMPONENT_ADDRESS aaa_list[] = | |
201 { | |
202 { NULL, "AAA", ASSIGNED_BY_TI }, | |
203 { NULL, NULL, 0 } | |
204 }; | |
205 #endif /* FF_TCP_IP */ | |
206 #endif /* !_TARGET_ */ | |
207 | |
208 #ifndef _TARGET_ | |
209 #ifdef FF_PSI | |
210 const T_COMPONENT_ADDRESS psi_list[] = | |
211 { | |
212 { psi_pei_create, NULL, ASSIGNED_BY_TI }, | |
213 { NULL, NULL, 0 } | |
214 }; | |
215 #endif /*FF_PSI*/ | |
216 #endif /* !_TARGET_ */ | |
217 | |
218 #ifdef UART | |
219 const T_COMPONENT_ADDRESS uart_list[] = | |
220 { | |
221 { uart_pei_create, NULL, ASSIGNED_BY_TI }, | |
222 { NULL, NULL, 0 } | |
223 }; | |
224 #endif /*UART*/ | |
225 | |
226 #ifdef FF_EOTD | |
227 const T_COMPONENT_ADDRESS eotd_list[] = | |
228 { | |
229 { lc_pei_create, NULL, ASSIGNED_BY_TI }, | |
230 { rrlp_pei_create, NULL, ASSIGNED_BY_TI }, | |
231 { NULL, NULL, (int)"EOTD" } | |
232 }; | |
233 #endif /* FF_EOTD */ | |
234 | |
235 | |
236 #ifdef FF_WAP | |
237 #ifndef UDP_NO_WAP | |
238 const T_COMPONENT_ADDRESS wap_list[] = | |
239 { | |
240 { wap_pei_create, NULL, ASSIGNED_BY_TI }, | |
241 { NULL, NULL, 0 } | |
242 }; | |
243 #endif /* UDP_NO_WAP */ | |
244 #endif /* FF_WAP */ | |
245 | |
246 #ifdef CO_UDP_IP | |
247 const T_COMPONENT_ADDRESS udp_list[] = | |
248 { | |
249 { udp_pei_create, NULL, ASSIGNED_BY_TI }, | |
250 { NULL, NULL, 0 } | |
251 }; | |
252 | |
253 const T_COMPONENT_ADDRESS ip_list[] = | |
254 { | |
255 { ip_pei_create, NULL, ASSIGNED_BY_TI }, | |
256 { NULL, NULL, 0 } | |
257 }; | |
258 #endif | |
259 | |
260 #if defined (FF_WAP) || defined (FF_SAT_E) | |
261 const T_COMPONENT_ADDRESS ppp_list[] = | |
262 { | |
263 { ppp_pei_create, NULL, ASSIGNED_BY_TI }, | |
264 { NULL, NULL, 0 } | |
265 }; | |
266 #endif /* FF_WAP || FF_SAT_E */ | |
267 | |
268 #ifdef BT_ADAPTER | |
269 const T_COMPONENT_ADDRESS bti_list[] = | |
270 { | |
271 { bti_pei_create, NULL, ASSIGNED_BY_TI }, | |
272 { NULL, NULL, 0 } | |
273 }; | |
274 #endif /* BT_ADAPTER */ | |
275 | |
276 const T_COMPONENT_ADDRESS l1_list[] = | |
277 { | |
278 #ifdef _TARGET_ | |
279 { l1_pei_create, NULL, ASSIGNED_BY_TI }, | |
280 #else | |
281 { NULL, "L1", ASSIGNED_BY_TI }, | |
282 #endif | |
283 { NULL, NULL, 0 } | |
284 }; | |
285 | |
286 const T_COMPONENT_ADDRESS * const ComponentTables[]= | |
287 { | |
288 tstrcv_list, | |
289 tstsnd_list, | |
290 mmi_list, | |
291 cst_list, | |
292 sim_list, | |
293 cm_list, | |
294 mm_list, | |
295 rr_list, | |
296 dl_list, | |
297 pl_list, | |
298 #ifdef FAX_AND_DATA | |
299 l2rt30_list, | |
300 rlpfad_list, | |
301 #ifndef _TARGET_ | |
302 ra_list, | |
303 #endif | |
304 #endif /* FAX_AND_DATA */ | |
305 #ifndef _TARGET_ | |
306 #ifdef FF_TCP_IP | |
307 aaa_list, | |
308 #endif /* FF_TCP_IP */ | |
309 #ifdef FF_PSI | |
310 psi_list, | |
311 #endif /*FF_PSI*/ | |
312 #endif /* !_TARGET_ */ | |
313 #ifdef UART | |
314 uart_list, | |
315 #endif | |
316 #ifdef FF_EOTD | |
317 eotd_list, | |
318 #endif | |
319 #ifdef FF_WAP | |
320 #ifndef UDP_NO_WAP | |
321 wap_list, | |
322 #endif /* !UDP_NO_WAP */ | |
323 #endif /* FF_WAP */ | |
324 | |
325 #ifdef CO_UDP_IP | |
326 udp_list, | |
327 ip_list, | |
328 #endif /* CO_UDP_IP */ | |
329 #if defined (FF_WAP) || defined (FF_SAT_E) | |
330 ppp_list, | |
331 #endif /* FF_WAP || FF_SAT_E */ | |
332 | |
333 #ifdef BT_ADAPTER | |
334 bti_list, | |
335 #endif /* BT_ADAPTER */ | |
336 l1_list, | |
337 NULL | |
338 }; | |
339 | |
340 /*==== VERSIONS ===================================================*/ | |
341 #ifndef CTRACE | |
342 char * str2ind_version = "&0"; | |
343 #endif | |
344 | |
345 /*==== MEMORY CONFIGURATION =======================================*/ | |
346 | |
347 /* | |
348 * Partitions pool configuration for primitive communication | |
349 */ | |
350 #ifdef FAX_AND_DATA | |
351 | |
352 #define PRIM_PARTITION_0_SIZE 52 | |
353 #define PRIM_PARTITION_1_SIZE 100 | |
354 #define PRIM_PARTITION_2_SIZE 432 | |
355 #define PRIM_PARTITION_3_SIZE 1600 | |
356 #define PRIM_PARTITION_4_SIZE 0 | |
357 #define PRIM_PARTITION_5_SIZE 0 | |
358 | |
359 #define PRIMPOOL_0_PARTITIONS 80 | |
360 #define PRIMPOOL_1_PARTITIONS 20 | |
361 #define PRIMPOOL_2_PARTITIONS 30 | |
362 #define PRIMPOOL_3_PARTITIONS 3 | |
363 #define PRIMPOOL_4_PARTITIONS 0 | |
364 #define PRIMPOOL_5_PARTITIONS 0 | |
365 | |
366 #else | |
367 /* no fax and data */ | |
368 #define PRIM_PARTITION_0_SIZE 52 | |
369 #define PRIM_PARTITION_1_SIZE 100 | |
370 #define PRIM_PARTITION_2_SIZE 216 /* New */ | |
371 #define PRIM_PARTITION_3_SIZE 260 /* sizeof (T_stk_cmd), do we need this? */ | |
372 #define PRIM_PARTITION_4_SIZE 432 | |
373 #define PRIM_PARTITION_5_SIZE 1600 /* FreeCalypso raised from 900 */ | |
374 | |
375 #define PRIMPOOL_0_PARTITIONS 80 | |
376 #define PRIMPOOL_1_PARTITIONS 20 | |
377 #ifdef TI_PS_UICC_CHIPSET_15 | |
378 #define PRIMPOOL_2_PARTITIONS 6 /* 0 */ | |
379 #else | |
380 #define PRIMPOOL_2_PARTITIONS 5 /* 0 */ | |
381 #endif | |
382 | |
383 #define PRIMPOOL_3_PARTITIONS 6 /* 0 */ /* Number to be optimized */ | |
384 | |
385 /* | |
386 * FreeCalypso change: bumping the number of 432-byte partitions in the | |
387 * voice-only config from 5 or 6 to 10. Our FreeCalypso code appears to | |
388 * work with the original smaller config, but this warning is seen: | |
389 | |
390 SYSTEM WARNING: Bigger partition allocated than requested, entity SIM, Size 288 | |
391 | |
392 * SIM's request for size 288 will normally be allocated out of the 432 pool, | |
393 * but the next size up is the rare big one (used to be 900, we bumped it up | |
394 * to 1600), and wasting those is bad. So let's give it some more 432-byte | |
395 * partitions. (See the FAX_AND_DATA config above for comparison.) | |
396 */ | |
397 | |
398 #define PRIMPOOL_4_PARTITIONS 10 | |
399 | |
400 #define PRIMPOOL_5_PARTITIONS 3 /* FreeCalypso raised from 2 */ | |
401 | |
402 #endif /* else, #ifdef FAX_AND_DATA */ | |
403 | |
404 | |
405 #ifdef FAX_AND_DATA | |
406 unsigned int MaxPrimPartSize = PRIM_PARTITION_3_SIZE; | |
407 #else | |
408 unsigned int MaxPrimPartSize = PRIM_PARTITION_5_SIZE; | |
409 #endif | |
410 | |
411 char pool10 [ POOL_SIZE(PRIMPOOL_0_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_0_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
412 | |
413 char pool11 [ POOL_SIZE(PRIMPOOL_1_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_1_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
414 | |
415 char pool12 [ POOL_SIZE(PRIMPOOL_2_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_2_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
416 | |
417 char pool13 [ POOL_SIZE(PRIMPOOL_3_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_3_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
418 | |
419 #ifndef FAX_AND_DATA | |
420 char pool14 [ POOL_SIZE(PRIMPOOL_4_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_4_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
421 | |
422 char pool15 [ POOL_SIZE(PRIMPOOL_5_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_5_SIZE)) ] __attribute__ ((section ("int.ram"))); | |
423 #endif /* FAX_AND_DATA */ | |
424 | |
425 | |
426 const T_FRM_PARTITION_POOL_CONFIG prim_grp_config[] = | |
427 { | |
428 { PRIMPOOL_0_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_0_SIZE), &pool10 }, | |
429 { PRIMPOOL_1_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_1_SIZE), &pool11 }, | |
430 { PRIMPOOL_2_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_2_SIZE), &pool12 }, | |
431 { PRIMPOOL_3_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_3_SIZE), &pool13 }, | |
432 #ifndef FAX_AND_DATA | |
433 { PRIMPOOL_4_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_4_SIZE), &pool14 }, | |
434 { PRIMPOOL_5_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_5_SIZE), &pool15 }, | |
435 #endif | |
436 { 0 , 0 , NULL } | |
437 }; | |
438 | |
439 /* | |
440 * Partitions pool configuration for test interface communication | |
441 * | |
442 * FreeCalypso: I bumped the configuration up from what TI had in their | |
443 * (likely unmaintained) gsmcomp.c as I expect we'll be doing a lot of | |
444 * debugging. - Space Falcon | |
445 */ | |
446 #define TESTPOOL_0_PARTITIONS 10 /* was 1 */ | |
447 #define TESTPOOL_1_PARTITIONS 50 /* was 15 */ | |
448 #define TESTPOOL_2_PARTITIONS 2 /* was 0 */ | |
449 | |
450 #define TSTSND_QUEUE_ENTRIES (TESTPOOL_0_PARTITIONS+TESTPOOL_1_PARTITIONS+TESTPOOL_2_PARTITIONS) | |
451 #define TSTRCV_QUEUE_ENTRIES 50 | |
452 | |
453 #define TEST_PARTITION_0_SIZE 80 /* was 16 */ | |
454 #ifdef _TARGET_ | |
455 #define TEST_PARTITION_1_SIZE 160 | |
456 #else | |
457 #define TEST_PARTITION_1_SIZE 260 | |
458 #endif /* else, #ifdef _TARGET_ */ | |
459 | |
460 #define TEST_PARTITION_2_SIZE 1600 | |
461 | |
462 const USHORT TST_SndQueueEntries = TSTSND_QUEUE_ENTRIES; | |
463 const USHORT TST_RcvQueueEntries = TSTRCV_QUEUE_ENTRIES; | |
464 const USHORT TextTracePartitionSize = TEST_PARTITION_1_SIZE; | |
465 | |
466 char pool20 [ POOL_SIZE(TESTPOOL_0_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram"))); | |
467 | |
468 char pool21 [ POOL_SIZE(TESTPOOL_1_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_1_SIZE)) ] __attribute__ ((section ("ext.ram"))); | |
469 | |
470 char pool22 [ POOL_SIZE(TESTPOOL_2_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_2_SIZE)) ] __attribute__ ((section ("ext.ram"))); | |
471 | |
472 const T_FRM_PARTITION_POOL_CONFIG test_grp_config[] = | |
473 { | |
474 { TESTPOOL_0_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_0_SIZE), &pool20 }, | |
475 { TESTPOOL_1_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_1_SIZE), &pool21 }, | |
476 { TESTPOOL_2_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_2_SIZE), &pool22 }, | |
477 { 0 , 0 , NULL } | |
478 }; | |
479 | |
480 /* | |
481 * Partitions pool configuration for general purpose allocation | |
482 */ | |
483 | |
484 #define DMEM_PARTITION_0_SIZE 16 /* 100 */ | |
485 | |
486 /* | |
487 * CQ 29245: Value of the DMEMPOOL_0_PARTITIONS has been modified from 30 to 50 | |
488 */ | |
489 | |
490 #define DMEMPOOL_0_PARTITIONS 50 /* 10 */ /* In GPRS this is 70 */ | |
491 | |
492 char pool30 [ POOL_SIZE(DMEMPOOL_0_PARTITIONS,ALIGN_SIZE(DMEM_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram"))); | |
493 | |
494 const T_FRM_PARTITION_POOL_CONFIG dmem_grp_config[] = | |
495 { | |
496 { DMEMPOOL_0_PARTITIONS, ALIGN_SIZE(DMEM_PARTITION_0_SIZE), &pool30 }, | |
497 { 0 , 0 , NULL } | |
498 }; | |
499 | |
500 /* | |
501 * Partitions group list | |
502 */ | |
503 | |
504 const T_FRM_PARTITION_GROUP_CONFIG partition_grp_config[MAX_POOL_GROUPS+1] = | |
505 { | |
506 { "PRIM", &prim_grp_config[0] }, | |
507 { "TEST", &test_grp_config[0] }, | |
508 { "DMEM", &dmem_grp_config[0] }, | |
509 { NULL, NULL } | |
510 }; | |
511 | |
512 extern T_HANDLE PrimGroupHandle; | |
513 extern T_HANDLE DmemGroupHandle; | |
514 extern T_HANDLE TestGroupHandle; | |
515 | |
516 T_HANDLE *PoolGroupHandle[MAX_POOL_GROUPS+1] = | |
517 { | |
518 &PrimGroupHandle, | |
519 &TestGroupHandle, | |
520 &DmemGroupHandle, | |
521 NULL | |
522 }; | |
523 | |
524 /* | |
525 * Dynamic Memory Pool Configuration | |
526 */ | |
527 | |
528 /* Detecting GSM only lite to compile using minimal settings */ | |
529 #if !defined(FAX_AND_DATA) && !defined(FF_TCP_IP) && !defined(FF_EOTD) &&\ | |
530 !defined(FF_WAP) && !defined(BT_ADAPTER) | |
531 #define GO_LITE 1 | |
532 #endif | |
533 | |
534 #if defined(_TARGET_) && defined(GO_LITE) | |
535 #define EXT_DATA_POOL_PS_BASE_SIZE 28000 /* FreeCalypso bumped up from 23075 */ | |
536 #else /* _TARGET_ && GO_LITE */ | |
537 #define EXT_DATA_POOL_PS_BASE_SIZE 50000 | |
538 #endif /* _TARGET_ && GO_LITE */ | |
539 | |
540 #undef GO_LITE /* We are not going to use this definition globally */ | |
541 | |
542 #ifdef MEMORY_SUPERVISION | |
543 #define EXT_DATA_POOL_PPS_ADDITION ((EXT_DATA_POOL_PS_BASE_SIZE>>3)+10000) | |
544 #else /* MEMORY_SUPERVISION */ | |
545 #define EXT_DATA_POOL_PPS_ADDITION 0 | |
546 #endif /* MEMORY_SUPERVISION */ | |
547 | |
548 #ifdef FAX_AND_DATA | |
549 #define EXT_DATA_POOL_FD_ADDITION 13000 | |
550 #else /* FAX_AND_DATA */ | |
551 #define EXT_DATA_POOL_FD_ADDITION 0 | |
552 #endif /* FAX_AND_DATA */ | |
553 | |
554 #if defined (FF_WAP) || defined (FF_SAT_E) | |
555 #define EXT_DATA_POOL_WAP_ADDITION 5000 | |
556 #else /* FF_WAP || FF_SAT_E */ | |
557 #define EXT_DATA_POOL_WAP_ADDITION 0 | |
558 #endif /* FF_WAP || FF_SAT_E */ | |
559 | |
560 #define EXT_DATA_POOL_PS_SIZE (EXT_DATA_POOL_PS_BASE_SIZE + EXT_DATA_POOL_PPS_ADDITION + EXT_DATA_POOL_FD_ADDITION + EXT_DATA_POOL_WAP_ADDITION) | |
561 #define INT_DATA_POOL_PS_SIZE 1 /* no distinction between external/internal RAM for GO/GOLite builds */ | |
562 | |
563 #define EXT_DATA_POOL_GPF_SIZE (2048 + OS_QUEUE_ENTRY_SIZE(TSTSND_QUEUE_ENTRIES) + OS_QUEUE_ENTRY_SIZE(TSTRCV_QUEUE_ENTRIES)) | |
564 | |
565 #define EXT_DATA_POOL_SIZE (EXT_DATA_POOL_PS_SIZE + EXT_DATA_POOL_GPF_SIZE) | |
566 #define INT_DATA_POOL_SIZE (INT_DATA_POOL_PS_SIZE) | |
567 | |
568 char ext_data_pool [ EXT_DATA_POOL_SIZE ] | |
569 __attribute__ ((section ("ext.ram"))); | |
570 | |
571 const T_MEMORY_POOL_CONFIG memory_pool_config[MAX_MEMORY_POOLS+1] = | |
572 { | |
573 { "EXTPOOL", EXT_DATA_POOL_SIZE, &ext_data_pool[0] }, | |
574 { NULL } | |
575 }; | |
576 | |
577 extern T_HANDLE ext_data_pool_handle; | |
578 | |
579 T_HANDLE *MemoryPoolHandle[MAX_MEMORY_POOLS+1] = | |
580 { | |
581 &ext_data_pool_handle, | |
582 NULL | |
583 }; |