Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
d29f0526
Commit
d29f0526
authored
Mar 15, 2020
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testing after merge with develo
parent
aef60a49
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
104 additions
and
96 deletions
+104
-96
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+8
-12
executables/softmodem-common.c
executables/softmodem-common.c
+60
-1
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+2
-2
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+0
-1
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+11
-41
openair1/SIMULATION/NR_PHY/prachsim.c
openair1/SIMULATION/NR_PHY/prachsim.c
+7
-0
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+16
-37
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+0
-2
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
d29f0526
...
...
@@ -1082,15 +1082,13 @@
<desc>
nr_dlsim Test cases. (Test1: 106 PRB),
(Test2: 217 PRB),
(Test3: 273 PRB),
(Test4: 106 PRB 12 CSET-Offset),
(Test5: 217 PRB 48 CSET-Offset),
(Test6: 106 PRB 25 PDSCH-Offset),
(Test7: 106 PRB 51 PDSCH-Offset),
(Test8: 217 PRB 100 PDSCH-PRBs),
(Test9: 217 PRB 80 PDSCH-Offset),
(Test10: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset),
(Test11: 106 PRBs 50 PDSCH-PRBs MCS Index 27)
(Test12: 106 PRBs 50 PDSCH-PRBs MCS Index 16)
</desc>
(Test4: 106 PRB 25 PDSCH-Offset),
(Test5: 106 PRB 51 PDSCH-Offset),
(Test6: 217 PRB 100 PDSCH-PRBs),
(Test7: 217 PRB 80 PDSCH-Offset),
(Test8: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset),
(Test9: 106 PRBs 50 PDSCH-PRBs MCS Index 27)
(Test10: 106 PRBs 50 PDSCH-PRBs MCS Index 16)
</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai
</compile_prog>
<compile_prog_args>
--phy_simulators -c
</compile_prog_args>
...
...
@@ -1100,14 +1098,12 @@
<main_exec_args>
-n100 -R106 -b106 -s5
-n100 -R217 -b217 -s5
-n100 -R273 -b273 -s5
-n100 -R106 -o12 -s5
-n100 -R217 -o48 -s5
-n100 -R106 -a25 -s5
-n100 -R106 -a51 -s5
-n100 -R217 -b100 -s5
-n100 -R217 -a80 -s5
-n100 -R217 -a110 -s5 -b100
-n100 -e27 -s
2
0
-n100 -e27 -s
3
0
-n100 -e16 -s10
</main_exec_args>
<tags>
nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12
</tags>
...
...
executables/softmodem-common.c
View file @
d29f0526
...
...
@@ -144,4 +144,63 @@ void get_common_options(uint32_t execmask) {
if
(
worker_config
!=
NULL
)
set_worker_conf
(
worker_config
);
}
#endif
void
softmodem_printresources
(
int
sig
,
telnet_printfunc_t
pf
)
{
struct
rusage
usage
;
struct
timespec
stop
;
clock_gettime
(
CLOCK_BOOTTIME
,
&
stop
);
uint64_t
elapse
=
(
stop
.
tv_sec
-
start
.
tv_sec
)
;
// in seconds
int
st
=
getrusage
(
RUSAGE_SELF
,
&
usage
);
if
(
!
st
)
{
pf
(
"
\n
Run time: %lluh %llus
\n
"
,(
unsigned
long
long
)
elapse
/
3600
,(
unsigned
long
long
)(
elapse
-
(
elapse
/
3600
)));
pf
(
"
\t
Time executing user inst.: %lds %ldus
\n
"
,(
long
)
usage
.
ru_utime
.
tv_sec
,(
long
)
usage
.
ru_utime
.
tv_usec
);
pf
(
"
\t
Time executing system inst.: %lds %ldus
\n
"
,(
long
)
usage
.
ru_stime
.
tv_sec
,(
long
)
usage
.
ru_stime
.
tv_usec
);
pf
(
"
\t
Max. Phy. memory usage: %ldkB
\n
"
,(
long
)
usage
.
ru_maxrss
);
pf
(
"
\t
Page fault number (no io): %ld
\n
"
,(
long
)
usage
.
ru_minflt
);
pf
(
"
\t
Page fault number (requiring io): %ld
\n
"
,(
long
)
usage
.
ru_majflt
);
pf
(
"
\t
Number of file system read: %ld
\n
"
,(
long
)
usage
.
ru_inblock
);
pf
(
"
\t
Number of filesystem write: %ld
\n
"
,(
long
)
usage
.
ru_oublock
);
pf
(
"
\t
Number of context switch (process origin, io...): %ld
\n
"
,(
long
)
usage
.
ru_nvcsw
);
pf
(
"
\t
Number of context switch (os origin, priority...): %ld
\n
"
,(
long
)
usage
.
ru_nivcsw
);
}
}
void
signal_handler
(
int
sig
)
{
void
*
array
[
10
];
size_t
size
;
if
(
sig
==
SIGSEGV
)
{
// get void*'s for all entries on the stack
size
=
backtrace
(
array
,
10
);
// print out all the frames to stderr
fprintf
(
stderr
,
"Error: signal %d:
\n
"
,
sig
);
backtrace_symbols_fd
(
array
,
size
,
2
);
exit
(
-
1
);
}
else
{
if
(
sig
==
SIGINT
||
sig
==
SOFTMODEM_RTSIGNAL
)
softmodem_printresources
(
sig
,(
telnet_printfunc_t
)
printf
);
if
(
sig
!=
SOFTMODEM_RTSIGNAL
)
{
printf
(
"Linux signal %s...
\n
"
,
strsignal
(
sig
));
exit_function
(
__FILE__
,
__FUNCTION__
,
__LINE__
,
"softmodem starting exit procedure
\n
"
);
}
}
}
void
set_softmodem_sighandler
(
void
)
{
struct
sigaction
act
,
oldact
;
clock_gettime
(
CLOCK_BOOTTIME
,
&
start
);
memset
(
&
act
,
0
,
sizeof
(
act
));
act
.
sa_handler
=
signal_handler
;
sigaction
(
SOFTMODEM_RTSIGNAL
,
&
act
,
&
oldact
);
printf
(
"Send signal %d to display resource usage...
\n
"
,
SIGRTMIN
+
1
);
signal
(
SIGSEGV
,
signal_handler
);
signal
(
SIGINT
,
signal_handler
);
signal
(
SIGTERM
,
signal_handler
);
signal
(
SIGABRT
,
signal_handler
);
}
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
d29f0526
...
...
@@ -581,13 +581,13 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
// Fixme: correct type is unsigned, but nrLDPC_decoder and all called behind use signed int
if
(
check_crc
((
uint8_t
*
)
llrProcBuf
,
length_dec
,
harq_process
->
F
,
crc_type
))
{
LOG_
I
(
PHY
,
"Segment %u CRC OK
\n\033
[0m"
,
r
);
LOG_
D
(
PHY
,
"Segment %u CRC OK
\n\033
[0m"
,
r
);
//Temporary hack
no_iteration_ldpc
=
dlsch
->
max_ldpc_iterations
;
ret
=
no_iteration_ldpc
;
}
else
{
LOG_
I
(
PHY
,
"CRC NOK
\n\033
[0m"
);
LOG_
D
(
PHY
,
"CRC NOK
\n\033
[0m"
);
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
}
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
d29f0526
...
...
@@ -51,7 +51,6 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response)
uint8_t
cc_id
=
scheduled_response
->
CC_id
;
uint32_t
i
;
int
slot
=
scheduled_response
->
slot
;
// Note: we have to handle the thread IDs for this. To be revisited completely.
uint8_t
thread_id
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
current_thread_id
[
slot
];
NR_UE_PDCCH
*
pdcch_vars
=
PHY_vars_UE_g
[
module_id
][
cc_id
]
->
pdcch_vars
[
thread_id
][
0
];
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
d29f0526
...
...
@@ -80,6 +80,7 @@ int sf_ahead=4 ;
int
sl_ahead
=
0
;
uint8_t
nfapi_mode
=
0
;
uint16_t
NB_UE_INST
=
1
;
uint64_t
downlink_frequency
[
MAX_NUM_CCs
][
4
];
// dummy functions
int
dummy_nr_ue_ul_indication
(
nr_uplink_indication_t
*
ul_info
)
{
return
(
0
);
}
...
...
@@ -97,13 +98,17 @@ int8_t nr_mac_rrc_data_ind_ue(const module_id_t module_id,
}
//Dummy Functions
//lte_subframe_t subframe_select(LTE_DL_FRAME_PARMS *frame_parms, unsigned char subframe) {return(SF_DL);}
int
rlc_module_init
(
int
eNB_id
)
{
return
(
0
);}
void
pdcp_layer_init
(
void
)
{}
boolean_t
pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
sdu_size_t
sdu_buffer_sizeP
,
mem_block_t
*
const
sdu_buffer_pP
)
{
return
(
false
);}
int
rrc_init_nr_global_param
(
void
){
return
(
0
);}
void
config_common
(
int
Mod_idP
,
...
...
@@ -111,28 +116,6 @@ void config_common(int Mod_idP,
NR_ServingCellConfigCommon_t
*
scc
);
mac_rlc_status_resp_t
mac_rlc_status_ind
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
sub_frame_t
subframeP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
const
tb_size_t
tb_sizeP
,
const
uint32_t
sourceL2Id
,
const
uint32_t
destinationL2Id
)
{
mac_rlc_status_resp_t
mac_rlc_status_resp
=
{
0
};
return
mac_rlc_status_resp
;}
tbs_size_t
mac_rlc_data_req
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
const
tb_size_t
tb_sizeP
,
char
*
buffer_pP
,
const
uint32_t
sourceL2Id
,
const
uint32_t
destinationL2Id
)
{
return
0
;}
int
generate_dlsch_header
(
unsigned
char
*
mac_header
,
unsigned
char
num_sdus
,
unsigned
short
*
sdu_lengths
,
...
...
@@ -144,19 +127,6 @@ int generate_dlsch_header(unsigned char *mac_header,
unsigned
short
post_padding
){
return
0
;}
void
nr_ip_over_LTE_DRB_preconfiguration
(
void
){}
void
mac_rlc_data_ind
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
char
*
buffer_pP
,
const
tb_size_t
tb_sizeP
,
num_tb_t
num_tbP
,
crc_t
*
crcs_pP
)
{}
// needed for some functions
openair0_config_t
openair0_cfg
[
MAX_CARDS
];
...
...
openair1/SIMULATION/NR_PHY/prachsim.c
View file @
d29f0526
...
...
@@ -73,6 +73,10 @@ int8_t nr_ue_get_SR(module_id_t module_idP, int CC_id, frame_t frameP, uint8_t e
return
0
;
}
uint8_t
nr_ue_get_sdu
(
module_id_t
module_idP
,
int
CC_id
,
frame_t
frameP
,
sub_frame_t
subframe
,
uint8_t
eNB_index
,
uint8_t
*
ulsch_buffer
,
uint16_t
buflen
,
uint8_t
*
access_mode
)
{
return
(
0
);}
int
oai_nfapi_rach_ind
(
nfapi_rach_indication_t
*
rach_ind
)
{
return
(
0
);}
openair0_config_t
openair0_cfg
[
MAX_CARDS
];
...
...
@@ -80,6 +84,9 @@ uint8_t nfapi_mode=0;
NR_IF_Module_t
*
NR_IF_Module_init
(
int
Mod_id
){
return
(
NULL
);}
int
oai_nfapi_ul_config_req
(
nfapi_ul_config_request_t
*
ul_config_req
)
{
return
(
0
);
}
uint64_t
get_softmodem_optmask
(
void
)
{
return
0
;
}
int
main
(
int
argc
,
char
**
argv
)
{
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
d29f0526
...
...
@@ -67,44 +67,11 @@ int sl_ahead=0;
double
cpuf
;
uint8_t
nfapi_mode
=
0
;
uint16_t
NB_UE_INST
=
1
;
uint64_t
downlink_frequency
[
MAX_NUM_CCs
][
4
];
int8_t
nr_mac_rrc_data_ind_ue
(
const
module_id_t
module_id
,
const
int
CC_id
,
const
uint8_t
gNB_index
,
const
int8_t
channel
,
const
uint8_t
*
pduP
,
const
sdu_size_t
pdu_len
)
{
return
0
;
}
void
mac_rlc_data_ind
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
char
*
buffer_pP
,
const
tb_size_t
tb_sizeP
,
num_tb_t
num_tbP
,
crc_t
*
crcs_pP
){}
mac_rlc_status_resp_t
mac_rlc_status_ind
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
sub_frame_t
subframeP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
const
tb_size_t
tb_sizeP
,
const
uint32_t
sourceL2Id
,
const
uint32_t
destinationL2Id
)
{
mac_rlc_status_resp_t
mac_rlc_status_resp
=
{
0
};
return
mac_rlc_status_resp
;}
tbs_size_t
mac_rlc_data_req
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
eNB_index_t
eNB_index
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
logical_chan_id_t
channel_idP
,
const
tb_size_t
tb_sizeP
,
char
*
buffer_pP
,
const
uint32_t
sourceL2Id
,
const
uint32_t
destinationL2Id
)
{
return
0
;}
int
generate_dlsch_header
(
unsigned
char
*
mac_header
,
unsigned
char
num_sdus
,
unsigned
short
*
sdu_lengths
,
...
...
@@ -114,8 +81,16 @@ int generate_dlsch_header(unsigned char *mac_header,
unsigned
char
*
ue_cont_res_id
,
unsigned
char
short_padding
,
unsigned
short
post_padding
){
return
0
;}
int
rlc_module_init
(
int
enb
)
{
return
(
0
);}
void
pdcp_layer_init
(
void
)
{}
boolean_t
pdcp_data_ind
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
srb_flag_t
srb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
rb_id_t
rb_idP
,
const
sdu_size_t
sdu_buffer_sizeP
,
mem_block_t
*
const
sdu_buffer_pP
)
{
return
(
false
);}
void
pdcp_run
(
const
protocol_ctxt_t
*
const
ctxt_pP
)
{
return
;}
void
nr_ip_over_LTE_DRB_preconfiguration
(
void
){}
int
rrc_init_nr_global_param
(
void
){
return
(
0
);}
...
...
@@ -395,8 +370,9 @@ int main(int argc, char **argv)
//memset((void *)&gNB->UL_INFO,0,sizeof(gNB->UL_INFO));
gNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
rx_pdu_list
=
(
nfapi_rx_indication_pdu_t
*
)
malloc
(
NB_UE_INST
*
sizeof
(
nfapi_rx_indication_pdu_t
));
gNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
crc_pdu_list
=
(
nfapi_crc_indication_pdu_t
*
)
malloc
(
NB_UE_INST
*
sizeof
(
nfapi_crc_indication_pdu_t
));
gNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
=
0
;
gNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
=
0
;
frame_parms
=
&
gNB
->
frame_parms
;
//to be initialized I suppose (maybe not necessary for PBCH)
frame_parms
->
nb_antennas_tx
=
n_tx
;
frame_parms
->
nb_antennas_rx
=
n_rx
;
...
...
@@ -675,6 +651,9 @@ int main(int argc, char **argv)
//----------------------------------------------------------
//------------------- gNB phy procedures -------------------
//----------------------------------------------------------
gNB
->
UL_INFO
.
rx_ind
.
rx_indication_body
.
number_of_pdus
=
0
;
gNB
->
UL_INFO
.
crc_ind
.
crc_indication_body
.
number_of_crcs
=
0
;
phy_procedures_gNB_common_RX
(
gNB
,
frame
,
slot
);
if
(
n_trials
==
1
)
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
d29f0526
...
...
@@ -167,8 +167,6 @@ typedef struct {
RA_state_t
ra_state
;
/// RA-rnti
uint16_t
ra_rnti
;
uint16_t
crnti
;
/// Temporary CRNTI
uint16_t
t_crnti
;
/// CRNTI
...
...
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