changeset 488:e8ed76bbf556

gsm-fw/gpf/conf: bare{comp.c,const.h} configuration created
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 29 Jun 2014 21:59:14 +0000
parents f612f9c3fe77
children 2a26785fb5a2
files gsm-fw/gpf/conf/Makefile gsm-fw/gpf/conf/barecomp.c gsm-fw/gpf/conf/bareconst.h
diffstat 3 files changed, 344 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gsm-fw/gpf/conf/Makefile	Sun Jun 29 20:13:43 2014 +0000
+++ b/gsm-fw/gpf/conf/Makefile	Sun Jun 29 21:59:14 2014 +0000
@@ -3,7 +3,9 @@
 CPPFLAGS=-I../inc
 LD=	arm-elf-ld
 
-OBJS=	gpf_misc_init.o gpf_tst_drv.o
+CONFIG_MODULE=	barecomp
+
+OBJS=	gpf_misc_init.o gpf_tst_drv.o ${CONFIG_MODULE}.o
 
 all:	xipcode.o
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsm-fw/gpf/conf/barecomp.c	Sun Jun 29 21:59:14 2014 +0000
@@ -0,0 +1,316 @@
+/*
+ * If we are building a configuration with just "bare" GPF, plus maybe L1,
+ * but no GSM or GPRS L23 stack, then this bare{comp.c,const.h} config
+ * takes the place of gsm* or gprs*.
+ *
+ * This barecomp.c configuration has been made from gprscomp.c, the
+ * one actually used in the working leo2moko reference.
+ */
+
+#include "../../include/config.h"
+#include "gpfconf.h"
+
+#define	CONFIG_MODULE	1
+
+#ifndef _TARGET_
+#define NEW_ENTITY
+#endif
+
+/*==== INCLUDES ===================================================*/
+
+#include "../../nucleus/nucleus.h"
+#include "typedefs.h"
+#include "os.h"
+#include "vsi.h"
+#include "pei.h"
+#include "bareconst.h"
+#include "frm_defs.h"
+#include "frm_types.h"
+#include "frm_glob.h"
+#include "os_types.h"
+#include "os_glob.h"
+
+/*==== CONSTANTS ==================================================*/
+
+
+/*==== EXTERNALS ==================================================*/
+
+extern SHORT tstrcv_pei_create(T_PEI_INFO const **Info);
+extern SHORT tstsnd_pei_create(T_PEI_INFO const **Info);
+
+#if CONFIG_GSM
+extern SHORT l1_pei_create    (T_PEI_INFO const **Info);
+#endif
+
+/*==== VARIABLES ==================================================*/
+
+//EF For normal Test Definition Language (TDL) TAP usage set newTstHeader = FALSE
+//EF For multiple entity (TCSL) Test Case Script Lang.   set newTstHeader = TRUE
+#ifndef _TARGET_
+
+#ifdef TDL_TAP
+BOOL newTstHeader = FALSE;
+#else
+BOOL newTstHeader = TRUE;
+#endif
+
+#endif
+
+const T_COMPONENT_ADDRESS tstrcv_list[] =
+{
+  { tstrcv_pei_create,   NULL,   ASSIGNED_BY_TI },
+  { NULL,                NULL,   0 }
+};
+
+const T_COMPONENT_ADDRESS tstsnd_list[] =
+{
+  { tstsnd_pei_create,   NULL,   ASSIGNED_BY_TI },
+  { NULL,                NULL,   0 }
+};
+
+#if CONFIG_GSM
+const T_COMPONENT_ADDRESS l1_list[] =
+{
+  { l1_pei_create,       NULL,   ASSIGNED_BY_TI },
+  { NULL,                NULL,   0 }
+};
+#endif
+
+const T_COMPONENT_ADDRESS *ComponentTables[]=
+{
+  tstrcv_list,
+  tstsnd_list,
+#if CONFIG_GSM
+  l1_list,
+#endif
+  NULL
+};
+
+/*==== VERSIONS ===================================================*/
+#ifndef CTRACE
+  char * str2ind_version = "&0";
+#endif
+
+/*==== MEMORY CONFIGURATION =======================================*/
+
+/*
+ * Partitions pool configuration for primitive communication
+ */
+
+/*
+ * Memory extensions for multiplexer
+ */
+#ifdef FF_MUX
+#define PRIMPOOL_0_MUX_ADDITION 30
+#define PRIMPOOL_2_MUX_ADDITION 10
+#else /* FF_MUX */
+#define PRIMPOOL_0_MUX_ADDITION  0
+#define PRIMPOOL_2_MUX_ADDITION  0
+#endif /* else FF_MUX */
+
+/*
+ * Memory extensions for multiple PDP contexts
+ */
+#ifdef FF_PKTIO
+#define PRIMPOOL_2_MPDP_ADDITION 30
+#else /* FF_PKTIO */
+#define PRIMPOOL_2_MPDP_ADDITION  0
+#endif /* else FF_PKTIO */
+#ifdef WIN32
+/*
+ * Required for testing LLC acknowledged mode.
+ */
+#define PRIMPOOL_0_PARTITIONS		200
+#define PRIMPOOL_1_PARTITIONS		100
+#define PRIMPOOL_2_PARTITIONS		 20
+#define PRIMPOOL_3_PARTITIONS		 20
+
+#else /*WIN32*/
+
+#define PRIMPOOL_0_PARTITIONS   (190 + PRIMPOOL_0_MUX_ADDITION)
+#define PRIMPOOL_1_PARTITIONS		 110
+#define PRIMPOOL_2_PARTITIONS   ( 50 + PRIMPOOL_2_MPDP_ADDITION + PRIMPOOL_2_MUX_ADDITION)
+#define PRIMPOOL_3_PARTITIONS		   7
+
+#endif /*WIN32*/
+
+#define PRIM_PARTITION_0_SIZE	    60
+#define PRIM_PARTITION_1_SIZE	   128
+#define PRIM_PARTITION_2_SIZE	   632
+#define PRIM_PARTITION_3_SIZE	  1600
+
+#ifndef DATA_INT_RAM
+unsigned int MaxPrimPartSize = PRIM_PARTITION_3_SIZE;
+#endif /* !DATA_INT_RAM */
+
+char pool10 [ POOL_SIZE(PRIMPOOL_0_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_0_SIZE)) ] __attribute__ ((section ("int.ram")));
+
+char pool11 [ POOL_SIZE(PRIMPOOL_1_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_1_SIZE)) ] __attribute__ ((section ("int.ram")));
+
+char pool12 [ POOL_SIZE(PRIMPOOL_2_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_2_SIZE)) ] __attribute__ ((section ("int.ram")));
+
+char pool13 [ POOL_SIZE(PRIMPOOL_3_PARTITIONS,ALIGN_SIZE(PRIM_PARTITION_3_SIZE)) ] __attribute__ ((section ("int.ram")));
+
+const T_FRM_PARTITION_POOL_CONFIG prim_grp_config[] =
+{
+  { PRIMPOOL_0_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_0_SIZE), &pool10 },
+  { PRIMPOOL_1_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_1_SIZE), &pool11 },
+  { PRIMPOOL_2_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_2_SIZE), &pool12 },
+  { PRIMPOOL_3_PARTITIONS, ALIGN_SIZE(PRIM_PARTITION_3_SIZE), &pool13 },
+  { 0                    , 0                    , NULL	  }
+};
+
+/*
+ * Partitions pool configuration for test interface communication
+ */
+#define TESTPOOL_0_PARTITIONS		 10
+#define TESTPOOL_1_PARTITIONS		200
+#define TESTPOOL_2_PARTITIONS		  2
+
+#define TSTSND_QUEUE_ENTRIES         (TESTPOOL_0_PARTITIONS+TESTPOOL_1_PARTITIONS+TESTPOOL_2_PARTITIONS)
+#define TSTRCV_QUEUE_ENTRIES         50
+
+#define TEST_PARTITION_0_SIZE	    80
+#ifdef _TARGET_
+ #define TEST_PARTITION_1_SIZE   160
+#else
+ #define TEST_PARTITION_1_SIZE   260
+#endif
+#define TEST_PARTITION_2_SIZE	  1600
+
+#ifndef DATA_INT_RAM
+const USHORT TST_SndQueueEntries    = TSTSND_QUEUE_ENTRIES;
+const USHORT TST_RcvQueueEntries    = TSTRCV_QUEUE_ENTRIES;
+const USHORT TextTracePartitionSize = TEST_PARTITION_1_SIZE;
+#endif /* !DATA_INT_RAM */
+
+char pool20 [ POOL_SIZE(TESTPOOL_0_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram")));
+
+char pool21 [ POOL_SIZE(TESTPOOL_1_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_1_SIZE)) ] __attribute__ ((section ("ext.ram")));
+
+char pool22 [ POOL_SIZE(TESTPOOL_2_PARTITIONS,ALIGN_SIZE(TEST_PARTITION_2_SIZE)) ] __attribute__ ((section ("ext.ram")));
+
+const T_FRM_PARTITION_POOL_CONFIG test_grp_config[] =
+{
+  { TESTPOOL_0_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_0_SIZE), &pool20 },
+  { TESTPOOL_1_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_1_SIZE), &pool21 },
+  { TESTPOOL_2_PARTITIONS, ALIGN_SIZE(TEST_PARTITION_2_SIZE), &pool22 },
+  { 0                    , 0                    , NULL	  }
+};
+
+/*
+ * Partitions pool configuration for general purpose allocation
+ */
+
+#define DMEMPOOL_0_PARTITIONS		70
+#define DMEMPOOL_1_PARTITIONS		 2
+
+#define DMEM_PARTITION_0_SIZE		16
+#ifdef _TARGET_
+#define DMEM_PARTITION_1_SIZE		1600 /* for non tracing ccd arm7 */
+#else
+#define DMEM_PARTITION_1_SIZE		2800 /* for non tracing ccd pc */
+#endif
+
+char pool30 [ POOL_SIZE(DMEMPOOL_0_PARTITIONS,ALIGN_SIZE(DMEM_PARTITION_0_SIZE)) ] __attribute__ ((section ("ext.ram")));
+
+char pool31 [ POOL_SIZE(DMEMPOOL_1_PARTITIONS,ALIGN_SIZE(DMEM_PARTITION_1_SIZE)) ] __attribute__ ((section ("ext.ram")));
+
+const T_FRM_PARTITION_POOL_CONFIG dmem_grp_config[] =
+{
+  { DMEMPOOL_0_PARTITIONS, ALIGN_SIZE(DMEM_PARTITION_0_SIZE), &pool30 },
+  { DMEMPOOL_1_PARTITIONS, ALIGN_SIZE(DMEM_PARTITION_1_SIZE), &pool31 },
+  { 0                    , 0                    , NULL	  }
+};
+
+/*
+ * Partitions group list
+ */
+
+const T_FRM_PARTITION_GROUP_CONFIG partition_grp_config[MAX_POOL_GROUPS+1] =
+{
+  { "PRIM", &prim_grp_config[0] },
+  { "TEST", &test_grp_config[0] },
+  { "DMEM", &dmem_grp_config[0] },
+  { NULL,   NULL                }
+};
+
+extern T_HANDLE PrimGroupHandle;
+extern T_HANDLE DmemGroupHandle;
+extern T_HANDLE TestGroupHandle;
+
+T_HANDLE *PoolGroupHandle[MAX_POOL_GROUPS+1] =
+{
+  &PrimGroupHandle,
+  &TestGroupHandle,
+  &DmemGroupHandle,
+  NULL
+};
+
+/*
+ * Dynamic Memory Pool Configuration
+ */
+
+#ifdef _TARGET_
+#ifdef FF_ESIM
+ #define EXT_DATA_POOL_PS_BASE_SIZE 45000
+#else
+ #define EXT_DATA_POOL_PS_BASE_SIZE 35000
+#endif
+#define INT_DATA_POOL_PS_BASE_SIZE 25000
+#else /* _TARGET_ */
+#define EXT_DATA_POOL_TCPIP_ADDTIION 120000
+#define EXT_DATA_POOL_PS_BASE_SIZE  80000 + EXT_DATA_POOL_TCPIP_ADDTIION
+#define INT_DATA_POOL_PS_BASE_SIZE  1000
+#endif /* _TARGET_ */
+
+#ifdef MEMORY_SUPERVISION
+ #define EXT_DATA_POOL_PPS_ADDITION ((EXT_DATA_POOL_PS_BASE_SIZE>>3)+25000)
+ #define INT_DATA_POOL_PPS_ADDITION ((INT_DATA_POOL_PS_BASE_SIZE>>3))
+#else  /* MEMORY_SUPERVISION */
+ #define EXT_DATA_POOL_PPS_ADDITION 0
+ #define INT_DATA_POOL_PPS_ADDITION 0
+#endif /* MEMORY_SUPERVISION */
+
+#if defined (FF_WAP) || defined (FF_SAT_E)
+ #define EXT_DATA_POOL_WAP_ADDITION 15000
+#else
+ #define EXT_DATA_POOL_WAP_ADDITION 0
+#endif /* FF_WAP OR SAT E */
+
+#ifdef GRR_PPC_IF_PRIM
+ #define INT_DATA_POOL_GRR_PPC_IF_PRIM_ADDITION  3000
+#else  /* #ifdef GRR_PPC_IF_PRIM */
+ #define INT_DATA_POOL_GRR_PPC_IF_PRIM_ADDITION  0
+#endif /* #ifdef GRR_PPC_IF_PRIM */
+
+#define EXT_DATA_POOL_PS_SIZE   (EXT_DATA_POOL_PS_BASE_SIZE + EXT_DATA_POOL_WAP_ADDITION             + EXT_DATA_POOL_PPS_ADDITION)
+#define INT_DATA_POOL_PS_SIZE   (INT_DATA_POOL_PS_BASE_SIZE + INT_DATA_POOL_GRR_PPC_IF_PRIM_ADDITION + INT_DATA_POOL_PPS_ADDITION)
+
+#define EXT_DATA_POOL_GPF_SIZE  (2048 + OS_QUEUE_ENTRY_SIZE(TSTSND_QUEUE_ENTRIES) + OS_QUEUE_ENTRY_SIZE(TSTRCV_QUEUE_ENTRIES))
+
+#define EXT_DATA_POOL_SIZE      (EXT_DATA_POOL_PS_SIZE + EXT_DATA_POOL_GPF_SIZE)
+#define INT_DATA_POOL_SIZE      (INT_DATA_POOL_PS_SIZE)
+
+char ext_data_pool              [ EXT_DATA_POOL_SIZE ]
+					__attribute__ ((section ("ext.ram")));
+
+char int_data_pool              [ INT_DATA_POOL_SIZE ]
+					__attribute__ ((section ("int.ram")));
+
+const T_MEMORY_POOL_CONFIG memory_pool_config[MAX_MEMORY_POOLS+1] =
+{
+  { "INTPOOL", INT_DATA_POOL_SIZE, &int_data_pool[0] },
+  { "EXTPOOL", EXT_DATA_POOL_SIZE, &ext_data_pool[0] },
+  {  NULL }
+};
+
+extern T_HANDLE ext_data_pool_handle;
+extern T_HANDLE int_data_pool_handle;
+
+T_HANDLE *MemoryPoolHandle[MAX_MEMORY_POOLS+1] =
+{
+  &int_data_pool_handle,
+  &ext_data_pool_handle,
+  NULL
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsm-fw/gpf/conf/bareconst.h	Sun Jun 29 21:59:14 2014 +0000
@@ -0,0 +1,25 @@
+/*
+ * If we are building a configuration with just "bare" GPF, plus maybe L1,
+ * but no GSM or GPRS L23 stack, then this bare{comp.c,const.h} config
+ * takes the place of gsm* or gprs*.
+ */
+
+#ifndef __BARECONST_H
+#define __BARECONST_H
+
+/*==== CONSTANTS ============================================================*/
+
+#define MAX_TIMER                   64
+#define MAX_SIMULTANEOUS_TIMER      40
+
+#define MAX_ENTITIES                10
+#define MAX_OS_TASKS                10
+#define MAX_SEMAPHORES               8
+
+#define MAX_OSISRS                   0
+
+#define MAX_COMMUNICATIONS           MAX_OS_TASKS
+#define MAX_POOL_GROUPS              6
+#define MAX_MEMORY_POOLS             6
+
+#endif	/* include guard */