view src/cs/riviera/rvm/rvm_priorities.h @ 516:1ed9de6c90bd

src/g23m-gsm/sms/sms_for.c: bogus malloc removed The new error handling code that was not present in TCS211 blob version contains a malloc call that is bogus for 3 reasons: 1) The memory allocation in question is not needed in the first place; 2) libc malloc is used instead of one of the firmware's proper ways; 3) The memory allocation is made inside a function and then never freed, i.e., a memory leak. This bug was caught in gcc-built FreeCalypso fw projects (Citrine and Selenite) because our gcc environment does not allow any use of libc malloc (any reference to malloc produces a link failure), but this code from TCS3.2 is wrong even for Magnetite: if this code path is executed repeatedly over a long time, the many small allocations made by this malloc call without a subsequent free will eventually exhaust the malloc heap provided by the TMS470 environment, malloc will start returning NULL, and the bogus code will treat it as an error. Because the memory allocation in question is not needed at all, the fix entails simply removing it.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 22 Jul 2018 06:04:49 +0000
parents 945cf7f506b2
children
line wrap: on
line source


/****************************************************************************/
/*                                                                          */
/*  Name        rvm_priorities.h                                            */
/*                                                                          */
/*  Function    this file priorities defintitions for basic SWEs			*/
/*				It includes a file rvm_ext_priorities.h where are defined   */
/*				"custom" priorities.
/*                                                                          */
/*  Version		0.1															*/
/*																			*/
/* 	Date       	Modification												*/
/*  ------------------------------------									*/
/*  10/11/2000	Create														*/
/*																			*/
/*	Author		Cristian Livadiotti (c-livadiotti@ti.com)					*/
/*																			*/
/* (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved*/
/****************************************************************************/

#ifndef __RVM_PRIORITIES_H_
#define __RVM_PRIORITIES_H_


#include "rvm/rvm_ext_priorities.h"

/* PRIORITIES SETTING:                        */
/* All user priority should be set under 250: */
/* Higher values are reserved                 */

/*
** Bluetooth Priorities:
** All set to same value, except ATP (not a task) and HCI (valid on PC only)
*/
#define		RVM_HCI_TASK_PRIORITY			(250)
#define		RVM_L2CAP_TASK_PRIORITY			(240)
#define		RVM_BTCTRL_TASK_PRIORITY		(240)
#define		RVM_RFCOMM_TASK_PRIORITY		(240)
#define		RVM_SPP_TASK_PRIORITY			(240)
#define		RVM_SDP_TASK_PRIORITY			(240)
#define		RVM_HSG_TASK_PRIORITY			(240)
#define		RVM_DUN_GW_TASK_PRIORITY		(240)
#define		RVM_FAX_GW_TASK_PRIORITY		(240)
#define		RVM_ATP_UART_TASK_PRIORITY		(240)
#define		RVM_ATP_TASK_PRIORITY			(255)


/*
** Drivers and Services Priorities
** Note: FFS priority should be lower than every user
*/
#define		RVM_SPI_TASK_PRIORITY			(39)
#define		RVM_TTY_TASK_PRIORITY			(238)
#define		RVM_AUDIO_TASK_PRIORITY			(245)
#define		RVM_AUDIO_BGD_TASK_PRIORITY		(246)
#define		RVM_RTC_TASK_PRIORITY			(248)
#define     RVM_FFS_TASK_PRIORITY			(250)
#define     RVM_TRACE_TASK_PRIORITY			(251) //(79)
#define     RVM_DAR_TASK_PRIORITY			(245)
#define		RVM_ETM_TASK_PRIORITY			(249)
#define		RVM_LCC_TASK_PRIORITY			(246)
#define		RVM_MKS_TASK_PRIORITY			(255)
#define		RVM_KPD_TASK_PRIORITY			(10)

#define		RVM_MPM_TASK_PRIORITY			(242)

#define		RVM_RNET_WS_TASK_PRIORITY		(240)
#define		RVM_RNET_RT_TASK_PRIORITY		(240)
#define		RVM_DCM_TASK_PRIORITY			(240)
#define		RVM_MFW_TASK_PRIORITY			(241)
#define		RVM_MDL_TASK_PRIORITY           	(241)


#define		RVM_OBIGO_TASK_PRIORITY			(242)
#define		RVM_IMG_TASK_PRIORITY			(241)
#define		RVM_MMS_TASK_PRIORITY	(247)

/*
** RV Test Menu and Dummy Tasks Priorities
*/
#define		RVM_RVTEST_MENU_TASK_PRIORITY	(240)
#define		RVM_DUMMY_TASK_PRIORITY			(80)
//#define		IDLE_TASK_PRIORITY				(80)  /* A-M-E-N-D-E-D! */
#define		RVM_INVKR_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE1_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE2_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE3_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE4_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE5_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */
#define		RVM_TE6_TASK_PRIORITY			(240) /* A-M-E-N-D-E-D! */

#define		RVM_TMS_TASK_PRIORITY			(200) /* A-M-E-N-D-E-D! */
#endif /* __RVM_PRIORITIES_H_ */