Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常顺宇
OpenXG-RAN
Commits
f38476ae
Commit
f38476ae
authored
May 20, 2016
by
Cedric Roux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
import VCD into the T
parent
131b1bda
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
844 additions
and
1 deletion
+844
-1
common/utils/T/T.h
common/utils/T/T.h
+40
-0
common/utils/T/T_defs.h
common/utils/T/T_defs.h
+12
-0
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+762
-0
common/utils/T/tracer/event.c
common/utils/T/tracer/event.c
+4
-0
common/utils/T/tracer/event.h
common/utils/T/tracer/event.h
+2
-0
common/utils/T/tracer/logger/textlog.c
common/utils/T/tracer/logger/textlog.c
+3
-1
common/utils/T/tracer/logger/ttilog.c
common/utils/T/tracer/logger/ttilog.c
+1
-0
common/utils/T/tracer/utils.c
common/utils/T/tracer/utils.c
+7
-0
common/utils/T/tracer/utils.h
common/utils/T/tracer/utils.h
+1
-0
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+12
-0
No files found.
common/utils/T/T.h
View file @
f38476ae
...
...
@@ -32,6 +32,14 @@
T_LOCAL_size += sizeof(int); \
} while (0)
#define T_PUT_ulong(argnum, val) \
do { \
unsigned long T_PUT_var = (val); \
T_CHECK_SIZE(sizeof(unsigned long), argnum); \
memcpy(T_LOCAL_buf + T_LOCAL_size, &T_PUT_var, sizeof(unsigned long)); \
T_LOCAL_size += sizeof(unsigned long); \
} while (0)
#define T_PUT_float(argnum, val) \
do { \
float T_PUT_var = (val); \
...
...
@@ -535,6 +543,38 @@ extern T_cache_t *T_cache;
#define T30(...) T_CALL_ERROR
#define T32(...) T_CALL_ERROR
/* special cases for VCD logs */
#define T_VCD_VARIABLE(var, val) \
do { \
if (T_ACTIVE(((var) + VCD_FIRST_VARIABLE))) { \
if ((var) > VCD_NUM_VARIABLES) { \
printf("%s:%d:%s: VCD data out of synch for the T, contact" \
" the authors!\n", __FILE__, __LINE__, __FUNCTION__); \
abort(); \
} \
T_LOCAL_DATA \
T_HEADER(T_ID((var) + VCD_FIRST_VARIABLE)); \
T_PUT_ulong(1, (val)); \
T_SEND(); \
} \
} while (0)
#define T_VCD_FUNCTION(fun, val) \
do { \
if (T_ACTIVE(((fun) + VCD_FIRST_FUNCTION))) { \
if ((fun) > VCD_NUM_FUNCTIONS) { \
printf("%s:%d:%s: VCD data out of synch for the T, contact" \
" the authors!\n", __FILE__, __LINE__, __FUNCTION__); \
abort(); \
} \
T_LOCAL_DATA \
T_HEADER(T_ID((fun) + VCD_FIRST_FUNCTION)); \
T_PUT_int(1, (val)); \
T_SEND(); \
} \
} while (0)
#ifndef T_USE_SHARED_MEMORY
#include <stdio.h>
...
...
common/utils/T/T_defs.h
View file @
f38476ae
...
...
@@ -21,4 +21,16 @@ typedef struct {
#define T_SHM_FILENAME "/T_shm_segment"
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS 139
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES 45
/* first VCD function (to be kept up to date! see in T_messages.txt) */
#define VCD_FIRST_FUNCTION ((uintptr_t)T_VCD_FUNCTION_RT_SLEEP)
/* first VCD variable (to be kept up to date! see in T_messages.txt) */
#define VCD_FIRST_VARIABLE ((uintptr_t)T_VCD_VARIABLE_FRAME_NUMBER_TX_ENB)
#endif
/* _T_defs_H_ */
common/utils/T/T_messages.txt
View file @
f38476ae
This diff is collapsed.
Click to expand it.
common/utils/T/tracer/event.c
View file @
f38476ae
...
...
@@ -36,6 +36,10 @@ event new_event(int type, int length, char *buffer, void *database)
e
.
e
[
i
].
type
=
EVENT_INT
;
e
.
e
[
i
].
i
=
*
(
int
*
)(
&
buffer
[
offset
]);
offset
+=
4
;
}
else
if
(
!
strcmp
(
f
.
type
[
i
],
"ulong"
))
{
e
.
e
[
i
].
type
=
EVENT_ULONG
;
e
.
e
[
i
].
ul
=
*
(
unsigned
long
*
)(
&
buffer
[
offset
]);
offset
+=
sizeof
(
unsigned
long
);
}
else
if
(
!
strcmp
(
f
.
type
[
i
],
"string"
))
{
e
.
e
[
i
].
type
=
EVENT_STRING
;
e
.
e
[
i
].
s
=
&
buffer
[
offset
];
...
...
common/utils/T/tracer/event.h
View file @
f38476ae
...
...
@@ -8,6 +8,7 @@
enum
event_arg_type
{
EVENT_INT
,
EVENT_ULONG
,
EVENT_STRING
,
EVENT_BUFFER
};
...
...
@@ -17,6 +18,7 @@ typedef struct {
//int offset;
union
{
int
i
;
unsigned
long
ul
;
char
*
s
;
struct
{
int
bsize
;
...
...
common/utils/T/tracer/logger/textlog.c
View file @
f38476ae
...
...
@@ -10,7 +10,7 @@
enum
format_item_type
{
INSTRING
,
INT
,
STRING
,
BUFFER
};
INT
,
ULONG
,
STRING
,
BUFFER
};
struct
format_item
{
enum
format_item_type
type
;
...
...
@@ -56,6 +56,7 @@ static void _event(void *p, event e)
switch
(
l
->
f
[
i
].
type
)
{
case
INSTRING
:
PUTS
(
&
l
->
o
,
l
->
f
[
i
].
s
);
break
;
case
INT
:
PUTI
(
&
l
->
o
,
e
.
e
[
l
->
f
[
i
].
event_arg
].
i
);
break
;
case
ULONG
:
PUTUL
(
&
l
->
o
,
e
.
e
[
l
->
f
[
i
].
event_arg
].
ul
);
break
;
case
STRING
:
PUTS_CLEAN
(
&
l
->
o
,
e
.
e
[
l
->
f
[
i
].
event_arg
].
s
);
break
;
case
BUFFER
:
PUTS
(
&
l
->
o
,
"{buffer size:"
);
...
...
@@ -86,6 +87,7 @@ static int find_argument(char *name, database_event_format f,
if
(
i
==
f
.
count
)
return
0
;
*
event_arg
=
i
;
if
(
!
strcmp
(
f
.
type
[
i
],
"int"
))
*
it
=
INT
;
else
if
(
!
strcmp
(
f
.
type
[
i
],
"ulong"
))
*
it
=
ULONG
;
else
if
(
!
strcmp
(
f
.
type
[
i
],
"string"
))
*
it
=
STRING
;
else
if
(
!
strcmp
(
f
.
type
[
i
],
"buffer"
))
*
it
=
BUFFER
;
else
return
0
;
...
...
common/utils/T/tracer/logger/ttilog.c
View file @
f38476ae
...
...
@@ -29,6 +29,7 @@ static void _event(void *p, event e)
subframe
=
e
.
e
[
l
->
subframe_arg
].
i
;
switch
(
e
.
e
[
l
->
data_arg
].
type
)
{
case
EVENT_INT
:
value
=
e
.
e
[
l
->
data_arg
].
i
;
break
;
case
EVENT_ULONG
:
value
=
e
.
e
[
l
->
data_arg
].
ul
;
break
;
default:
printf
(
"%s:%d: unsupported type
\n
"
,
__FILE__
,
__LINE__
);
abort
();
}
...
...
common/utils/T/tracer/utils.c
View file @
f38476ae
...
...
@@ -115,3 +115,10 @@ void PUTI(OBUF *o, int i)
sprintf
(
s
,
"%d"
,
i
);
PUTS
(
o
,
s
);
}
void
PUTUL
(
OBUF
*
o
,
unsigned
long
l
)
{
char
s
[
128
];
sprintf
(
s
,
"%ld"
,
l
);
PUTS
(
o
,
s
);
}
common/utils/T/tracer/utils.h
View file @
f38476ae
...
...
@@ -36,5 +36,6 @@ void PUTC(OBUF *o, char c);
void
PUTS
(
OBUF
*
o
,
char
*
s
);
void
PUTS_CLEAN
(
OBUF
*
o
,
char
*
s
);
void
PUTI
(
OBUF
*
o
,
int
i
);
void
PUTUL
(
OBUF
*
o
,
unsigned
long
i
);
#endif
/* _UTILS_H_ */
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
f38476ae
...
...
@@ -312,6 +312,16 @@ void vcd_signal_dumper_dump_function_by_name(vcd_signal_dump_functions function
extern
int
ouput_vcd
;
#if T_TRACER
#define VCD_SIGNAL_DUMPER_INIT(x)
/* nothing */
#define VCD_SIGNAL_DUMPER_CLOSE()
/* nothing */
#define VCD_SIGNAL_DUMPER_CREATE_HEADER()
/* nothing */
#define VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(var, val) T_VCD_VARIABLE(var, val)
#define VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(var, val) T_VCD_FUNCTION(var, val)
#else
/* T_TRACER */
#if defined(ENABLE_VCD)
#define VCD_SIGNAL_DUMPER_INIT(aRgUmEnT) vcd_signal_dumper_init(aRgUmEnT)
#define VCD_SIGNAL_DUMPER_CLOSE() vcd_signal_dumper_close()
...
...
@@ -326,5 +336,7 @@ extern int ouput_vcd;
#define VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(vAr1,vAr2)
#endif
#endif
/* T_TRACER */
#endif
/* !defined (VCD_SIGNAL_DUMPER_H_) */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment