bugfix: fix RRC Release 10 compilation
The following compilation did not work anymore:
./build_oai --eNB -w USRP -r Rel10 -c
(Rel8 still does not work.)
This commit is contained in:
@@ -1089,6 +1089,10 @@ int32_t generate_prach( PHY_VARS_UE *ue, uint8_t eNB_id, uint8_t subframe, uint1
|
||||
}
|
||||
//__m128i mmtmpX0,mmtmpX1,mmtmpX2,mmtmpX3;
|
||||
|
||||
#ifndef Rel14
|
||||
#define rx_prach0 rx_prach
|
||||
#endif
|
||||
|
||||
void rx_prach0(PHY_VARS_eNB *eNB,
|
||||
RU_t *ru,
|
||||
uint16_t *max_preamble,
|
||||
@@ -1764,9 +1768,8 @@ void rx_prach0(PHY_VARS_eNB *eNB,
|
||||
|
||||
|
||||
|
||||
#ifndef Rel14
|
||||
#define rx_prach rx_prach0
|
||||
#else
|
||||
#ifdef Rel14
|
||||
|
||||
void rx_prach(PHY_VARS_eNB *eNB,
|
||||
RU_t *ru,
|
||||
uint16_t *max_preamble,
|
||||
@@ -1806,7 +1809,8 @@ void rx_prach(PHY_VARS_eNB *eNB,
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* Rel14 */
|
||||
|
||||
void init_prach_tables(int N_ZC)
|
||||
{
|
||||
|
||||
@@ -2151,11 +2151,10 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,RU_t *ru,
|
||||
uint16_t *max_preamble,
|
||||
uint16_t *max_preamble_energy,
|
||||
uint16_t *max_preamble_delay,
|
||||
#ifdef Rel14
|
||||
uint16_t Nf, uint8_t tdd_mapindex,
|
||||
uint8_t br_flag
|
||||
#else
|
||||
uint16_t Nf, uint8_t tdd_mapindex
|
||||
#ifdef Rel14
|
||||
,
|
||||
uint8_t br_flag
|
||||
#endif
|
||||
);
|
||||
/*!
|
||||
|
||||
@@ -744,8 +744,10 @@ typedef struct RU_t_s{
|
||||
int (*wakeup_rxtx)(struct PHY_VARS_eNB_s *eNB, struct RU_t_s *ru);
|
||||
/// function pointer to wakeup routine in lte-enb.
|
||||
void (*wakeup_prach_eNB)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
|
||||
#ifdef Rel14
|
||||
/// function pointer to wakeup routine in lte-enb.
|
||||
void (*wakeup_prach_eNB_br)(struct PHY_VARS_eNB_s *eNB,struct RU_t_s *ru,int frame,int subframe);
|
||||
#endif
|
||||
/// function pointer to eNB entry routine
|
||||
void (*eNB_top)(struct PHY_VARS_eNB_s *eNB, int frame_rx, int subframe_rx, char *string);
|
||||
/// Timing statistics
|
||||
|
||||
@@ -144,8 +144,6 @@ typedef struct {
|
||||
uint8_t prach_hopping_offset[4];
|
||||
} PRACH_eMTC_CONFIG_INFO;
|
||||
|
||||
#endif
|
||||
|
||||
/// PRACH-ConfigSIB or PRACH-Config from 36.331 RRC spec
|
||||
typedef struct {
|
||||
/// Parameter: RACH_ROOT_SEQUENCE, see TS 36.211 (5.7.1). \vr{[0..837]}
|
||||
@@ -158,6 +156,8 @@ typedef struct {
|
||||
#endif
|
||||
} PRACH_eMTC_CONFIG_COMMON;
|
||||
|
||||
#endif
|
||||
|
||||
/// Enumeration for parameter \f$N_\text{ANRep}\f$ \ref PUCCH_CONFIG_DEDICATED::repetitionFactor.
|
||||
typedef enum {
|
||||
n2=0,
|
||||
|
||||
@@ -63,6 +63,7 @@ void handle_nfapi_dci_dl_pdu(PHY_VARS_eNB *eNB,
|
||||
}
|
||||
|
||||
#ifdef Rel14
|
||||
|
||||
void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
|
||||
eNB_rxtx_proc_t *proc,
|
||||
nfapi_dl_config_request_pdu_t *dl_config_pdu)
|
||||
@@ -76,6 +77,7 @@ void handle_nfapi_mpdcch_pdu(PHY_VARS_eNB *eNB,
|
||||
// copy dci configuration into eNB structure
|
||||
fill_mdci_and_dlsch(eNB,proc,&mpdcch_vars->mdci_alloc[mpdcch_vars->num_dci],pdu);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void handle_nfapi_hi_dci0_dci_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_proc_t *proc,
|
||||
@@ -265,14 +267,21 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,int frame,int subframe,eNB_rxtx_pr
|
||||
dlsch0_harq->codeword = 0;
|
||||
dlsch0_harq->pdsch_start = rel10->pdsch_start;
|
||||
}
|
||||
#endif
|
||||
dlsch0->i0 = rel13->initial_transmission_sf_io;
|
||||
#endif
|
||||
|
||||
#ifdef Rel14
|
||||
LOG_D(PHY,"dlsch->i0:%04x dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n",
|
||||
dlsch0->i0,
|
||||
dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0],
|
||||
rel8->length
|
||||
);
|
||||
#else
|
||||
LOG_D(PHY,"dlsch0_harq[pdsch_start:%d nb_rb:%d vrb_type:%d rvidx:%d Nl:%d mimo_mode:%d dl_power_off:%d round:%d status:%d TBS:%d Qm:%d codeword:%d rb_alloc:%d] rel8[length:%d]\n",
|
||||
dlsch0_harq->pdsch_start, dlsch0_harq->nb_rb, dlsch0_harq->vrb_type, dlsch0_harq->rvidx, dlsch0_harq->Nl, dlsch0_harq->mimo_mode, dlsch0_harq->dl_power_off, dlsch0_harq->round, dlsch0_harq->status, dlsch0_harq->TBS, dlsch0_harq->Qm, dlsch0_harq->codeword, dlsch0_harq->rb_alloc[0],
|
||||
rel8->length
|
||||
);
|
||||
#endif
|
||||
}
|
||||
|
||||
uint16_t to_beta_offset_harqack[16]={16,20,25,32,40,50,64,80,101,127,160,248,400,640,1008,8};
|
||||
@@ -764,8 +773,10 @@ void schedule_response(Sched_Rsp_t *Sched_INFO)
|
||||
break;
|
||||
#ifdef Rel14
|
||||
case NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE:
|
||||
#ifdef Rel14
|
||||
handle_nfapi_mpdcch_pdu(eNB,proc,dl_config_pdu);
|
||||
eNB->mpdcch_vars[subframe&1].num_dci++;
|
||||
#endif
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -52,8 +52,9 @@
|
||||
|
||||
extern uint32_t nfapi_mode;
|
||||
|
||||
void prach_procedures(PHY_VARS_eNB *eNB,
|
||||
void prach_procedures(PHY_VARS_eNB *eNB
|
||||
#ifdef Rel14
|
||||
,
|
||||
int br_flag
|
||||
#endif
|
||||
) {
|
||||
|
||||
@@ -193,8 +193,12 @@ void config_mib(int Mod_idP,
|
||||
int NcpP,
|
||||
int p_eNBP,
|
||||
uint32_t dl_CarrierFreqP,
|
||||
uint32_t ul_CarrierFreqP,
|
||||
uint32_t pbch_repetitionP) {
|
||||
uint32_t ul_CarrierFreqP
|
||||
#ifdef Rel14
|
||||
,
|
||||
uint32_t pbch_repetitionP
|
||||
#endif
|
||||
) {
|
||||
|
||||
nfapi_config_request_t *cfg = &RC.mac[Mod_idP]->config[CC_idP];
|
||||
|
||||
|
||||
@@ -1642,6 +1642,8 @@ initiate_ra_proc(module_id_t module_idP,
|
||||
COMMON_channels_t *cc = &RC.mac[module_idP]->common_channels[CC_id];
|
||||
RA_t *ra = &cc->ra[0];
|
||||
|
||||
#ifdef Rel14
|
||||
|
||||
struct PRACH_ConfigSIB_v1310 *ext4_prach = NULL;
|
||||
PRACH_ParametersListCE_r13_t *prach_ParametersListCE_r13 = NULL;
|
||||
|
||||
@@ -1653,6 +1655,9 @@ initiate_ra_proc(module_id_t module_idP,
|
||||
prach_ParametersListCE_r13 =
|
||||
&ext4_prach->prach_ParametersListCE_r13;
|
||||
}
|
||||
|
||||
#endif /* Rel14 */
|
||||
|
||||
LOG_D(MAC,
|
||||
"[eNB %d][RAPROC] CC_id %d Frame %d, Subframe %d Initiating RA procedure for preamble index %d\n",
|
||||
module_idP, CC_id, frameP, subframeP, preamble_index);
|
||||
@@ -1666,6 +1671,8 @@ initiate_ra_proc(module_id_t module_idP,
|
||||
uint16_t msg2_subframe = subframeP;
|
||||
int offset;
|
||||
|
||||
#ifdef Rel14
|
||||
|
||||
if (prach_ParametersListCE_r13 &&
|
||||
prach_ParametersListCE_r13->list.count < rach_resource_type) {
|
||||
LOG_E(MAC,
|
||||
@@ -1675,6 +1682,8 @@ initiate_ra_proc(module_id_t module_idP,
|
||||
return;
|
||||
}
|
||||
|
||||
#endif /* Rel14 */
|
||||
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
|
||||
(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 1);
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
|
||||
|
||||
@@ -615,10 +615,16 @@ schedule_mib(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
|
||||
LOG_D(MAC, "Frame %d, subframe %d: Adding BCH PDU in position %d (length %d)\n", frameP, subframeP, dl_req->number_pdu, mib_sdu_length);
|
||||
|
||||
if ((frameP & 1023) < 40)
|
||||
#ifdef Rel14
|
||||
LOG_D(MAC,
|
||||
"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes (cc->mib->message.schedulingInfoSIB1_BR_r13 %d)\n",
|
||||
module_idP, frameP, CC_id, mib_sdu_length,
|
||||
(int) cc->mib->message.schedulingInfoSIB1_BR_r13);
|
||||
#else
|
||||
LOG_D(MAC,
|
||||
"[eNB %d] Frame %d : MIB->BCH CC_id %d, Received %d bytes\n",
|
||||
module_idP, frameP, CC_id, mib_sdu_length);
|
||||
#endif
|
||||
|
||||
dl_config_pdu =
|
||||
&dl_req->dl_config_pdu_list[dl_req->number_pdu];
|
||||
|
||||
@@ -914,6 +914,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
|
||||
else if (ri >= 2 && cc->p_eNB == 4)
|
||||
return (4 + (N << 1) + 4 + (N << 1) + 4);
|
||||
break;
|
||||
#ifdef Rel14
|
||||
case CQI_ReportModeAperiodic_rm32_v1250:
|
||||
AssertFatal(tmode == 4 || tmode == 6 || tmode == 8 || tmode == 9
|
||||
|| tmode == 10,
|
||||
@@ -947,6 +948,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t * cc, uint8_t tmode,
|
||||
return (4 + 4 + 4);
|
||||
|
||||
break;
|
||||
#endif /* Rel14 */
|
||||
}
|
||||
AssertFatal(1 == 0, "Shouldn't get here\n");
|
||||
return (0);
|
||||
@@ -4339,6 +4341,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
|
||||
}
|
||||
|
||||
break;
|
||||
#ifdef Rel14
|
||||
case CQI_ReportModeAperiodic_rm32_v1250:
|
||||
AssertFatal(tmode == 4 || tmode == 5 || tmode == 6 || tmode == 8
|
||||
|| tmode == 9
|
||||
@@ -4362,6 +4365,7 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
|
||||
tmode);
|
||||
AssertFatal(1 == 0, "CQI_ReportModeAperiodic_rm11 to be done\n");
|
||||
break;
|
||||
#endif /* Rel14 */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -416,7 +416,9 @@ init_MCCH(
|
||||
0,//rnti
|
||||
(BCCH_BCH_Message_t *)NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
(struct PhysicalConfigDedicated *)NULL,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -1169,7 +1171,9 @@ rrc_eNB_generate_RRCConnectionReestablishment(
|
||||
ctxt_pP->rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
(struct PhysicalConfigDedicated* ) ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -3976,7 +3980,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
ue_context_pP->ue_context.rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t*) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t*) NULL,
|
||||
#endif
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -4555,7 +4561,9 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
|
||||
ue_context_pP->ue_context.rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -4825,7 +4833,9 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
ue_context_pP->ue_context.rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -4878,7 +4888,9 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
|
||||
ue_context_pP->ue_context.rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
@@ -4994,7 +5006,9 @@ rrc_eNB_generate_RRCConnectionSetup(
|
||||
ue_context_pP->ue_context.rnti,
|
||||
(BCCH_BCH_Message_t *) NULL,
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#ifdef Rel14
|
||||
(RadioResourceConfigCommonSIB_t *) NULL,
|
||||
#endif
|
||||
ue_context_pP->ue_context.physicalConfigDedicated,
|
||||
#if defined(Rel10) || defined(Rel14)
|
||||
(SCellToAddMod_r10_t *)NULL,
|
||||
|
||||
@@ -1050,7 +1050,9 @@ void init_eNB_afterRU(void) {
|
||||
|
||||
RC.ru[ru_id]->wakeup_rxtx = wakeup_rxtx;
|
||||
RC.ru[ru_id]->wakeup_prach_eNB = wakeup_prach_eNB;
|
||||
#ifdef Rel14
|
||||
RC.ru[ru_id]->wakeup_prach_eNB_br = wakeup_prach_eNB_br;
|
||||
#endif
|
||||
RC.ru[ru_id]->eNB_top = eNB_top;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user