FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/riviera/rvf/rvf_trace_adapt.c @ 992:a7b0b426f9ca
target-utils: boot ROM UART autodetection revamped
The new implementation should work with both the familiar Calypso C035
boot ROM version found in our regular targets as well as the older
Calypso F741979B version found on the vintage D-Sample board.
| author | Mychaela Falconia <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Wed, 30 Dec 2015 21:28:41 +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 /* Name rvf_trace_adapt.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 /* Function this file is used to trace messages if TRACE module is */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 /* activated or not */ | 
| 
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 /* Version 0.1 */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 /* */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 /* Date Modification */ | 
| 
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 /* 03/19/2001 Create */ | 
| 
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 /* Author Pascal Puel (p-puel@tif.ti.com) */ | 
| 
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 /* (C) Copyright 1999 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 | 17 /****************************************************************************/ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 | 
| 120 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 19 #include "../../include/config.h" | 
| 118 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 | 
| 120 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 21 #include "../rv/general.h" | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 22 #include "../rv/rv.h" | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 23 #include "../rv/rv_general.h" | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 24 #include "rvf_api.h" | 
| 118 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 | 
| 120 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 26 #include "../rvt/rvt_gen.h" | 
| 118 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 | 
| 120 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 28 #include "../rvm/rvm_use_id_list.h" | 
| 118 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 #include <string.h> | 
| 
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 /* DAR files used to redirect trace to DAR entity */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 //#ifdef RVM_DAR_SWE | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 // #include "dar_api.h" | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 // #include "dar_gen.h" | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 // #include "dar_structs_i.h" | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 // #include "dar_diagnose_i.h" | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 /* Define a pointer to the DAR Global Environment Control block */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 // extern T_DAR_ENV_CTRL_BLK *dar_gbl_var_p; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 //#endif | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 | 
| 120 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 43 /* | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 44 * FreeCalypso: the configuration we've got with the Sotomodem semi-src | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 45 * has this in g23m/__out__/gsm_<blah>/config/trace.cfg: | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 46 */ | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 47 | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 48 #define LAYER_DBG 0xFFFFFFFF | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 49 #define TRACE_LEVEL_FILTER 5 | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 50 | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 51 /* | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 52 * The above configuration corresponds to all trace output | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 53 * being enabled by default. | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 54 */ | 
| 
e7d4ec9c4c32
All of RVF compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
118diff
changeset | 55 | 
| 118 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 UINT8 rvf_trace_level = TRACE_LEVEL_FILTER; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 UINT32 rvf_layer_mask = LAYER_DBG; | 
| 
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 /* Decimal to hexadecimal conversion table */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 static const char Num2Char[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 extern T_RVT_USER_ID rv_trace_user_id; | 
| 
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 #ifndef FRAMING_PROTOCOL | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 void rvf_send_trace1 (char * msg, UINT8 msg_length, UINT32 val, UINT8 TRACE_LEVEL, UINT32 swe_use_id) | 
| 
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 UINT32 trace_type = swe_use_id; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 /* Apply the appropriate compilation flags to filter trace messages based on | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 their type and level */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 if ((TRACE_LEVEL < RV_TRACE_LEVEL_WARNING) || | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 ((TRACE_LEVEL <= rvf_trace_level) && | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 (((trace_type & rvf_layer_mask & 0x0000FFFF) == (trace_type & 0x0000FFFF)) || | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 ((trace_type & rvf_layer_mask & 0xFFFF0000) != (trace_type & 0xFFFF0000))))) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 char * buff; | 
| 
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 (val == NULL_PARAM) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 rvt_mem_alloc (rv_trace_user_id, msg_length, (T_RVT_BUFFER *)&buff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 if (buff != NULL) /* Check if there is enough memory for the buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 /* Copy the body of the message */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 memcpy( buff, msg, msg_length); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 rvt_send_trace_no_cpy( buff, rv_trace_user_id, msg_length, RVT_ASCII_FORMAT); | 
| 
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 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 else | 
| 
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 rvt_mem_alloc (rv_trace_user_id, msg_length +11, (T_RVT_BUFFER *)&buff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 if (buff != NULL) /* Check if there is enough memory for the buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 UINT8 i; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 /* Copy the body of the message */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 memcpy( buff, msg, msg_length); | 
| 
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 ((char *)buff)[msg_length] = ' '; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 ((char *)buff)[msg_length + 1] = '0'; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 ((char *)buff)[msg_length + 2] = 'x'; | 
| 
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 for (i=0; i<8; i++) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 ((char *)buff)[msg_length+3+i] = Num2Char[(UINT8)((val<<(i<<2))>>28)]; | 
| 
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 rvt_send_trace_no_cpy(buff, rv_trace_user_id, msg_length + 11, RVT_BINARY_FORMAT); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 } | 
| 
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 #else | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 /********************************* VERSION WITH TRACE MUX **************************/ | 
| 
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 void rvf_send_trace1 (char * msg, UINT8 msg_length, UINT32 val, UINT8 TRACE_LEVEL, UINT32 swe_use_id) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 UINT32 trace_type = swe_use_id; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 /* Apply the appropriate compilation flags to filter trace messages based | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 on their type and level */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 if ((TRACE_LEVEL < RV_TRACE_LEVEL_WARNING) || | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 ((TRACE_LEVEL <= rvf_trace_level) && | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 (((trace_type & rvf_layer_mask & 0x0000FFFF) == (trace_type & 0x0000FFFF)) || | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 ((trace_type & rvf_layer_mask & 0xFFFF0000) != (trace_type & 0xFFFF0000))))) | 
| 
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 char * buff; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 if (val == NULL_PARAM) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 rvt_mem_alloc (rv_trace_user_id, msg_length+5, (T_RVT_BUFFER *)&buff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 if (buff != NULL) /* Check if there is enough memory for the buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 /* Add the trace type (MSB and LSB) and Trace level */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 buff [0] = (char) (trace_type >> 24); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 buff [1] = (char) (trace_type >> 16); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 buff [2] = (char) (trace_type >> 8); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 buff [3] = (char) (trace_type & 0xff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 buff [4] = (char) TRACE_LEVEL; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 /* Copy the message in the new buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 memcpy(buff+5, msg, msg_length); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 /* Send the trace message */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 rvt_send_trace_no_cpy ((T_RVT_BUFFER) buff, rv_trace_user_id, msg_length+5, RVT_BINARY_FORMAT); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 else | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 rvt_mem_alloc (rv_trace_user_id, msg_length+16, (T_RVT_BUFFER *)&buff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 if (buff != NULL) /* Check if there is enough memory for the buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 UINT8 i; | 
| 
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 /* Add the trace type (MSB and LSB) and Trace level */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 buff [0] = (char) (trace_type >> 24); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 buff [1] = (char) (trace_type >> 16); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 buff [2] = (char) (trace_type >> 8); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 buff [3] = (char) (trace_type & 0xff); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 buff [4] = (char) TRACE_LEVEL; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 /* Copy the message in the new buffer */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 memcpy( buff + 5, msg, msg_length); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 buff[5+msg_length] = ' '; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 buff[5+msg_length + 1] = '0'; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 buff[5+msg_length + 2] = 'x'; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 for (i=0; i<8; i++) | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 { | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 ((char *)buff)[8+msg_length+i] = Num2Char[(UINT8)((val<<(i<<2))>>28)]; | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 } | 
| 
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 /* Send the trace message */ | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 rvt_send_trace_no_cpy ((T_RVT_BUFFER) buff, rv_trace_user_id, msg_length+16, RVT_BINARY_FORMAT); | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 } | 
| 
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 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 } | 
| 
21de8d8e6ea7
checking in Riviera code from the Sotomodem version
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 #endif | 
