Applications of S. Held (IMST) from 16.02.15, modifications in lte-ue.c for FDD transmission, patches from D. Panaitopol (Thales) in prach.c, RK
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6580 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -390,94 +390,116 @@ check_free_mem_block (mem_block_t * leP)
|
||||
{
|
||||
//-----------------------------------------------------------------------------
|
||||
ptrdiff_t block_index;
|
||||
if ((leP >= &mem_block_var.mem_blocks[0]) && (leP <= &mem_block_var.mem_blocks[MEM_MNGT_NB_ELEMENTS])) {
|
||||
block_index = (leP - (&mem_block_var.mem_blocks[0])) / sizeof (mem_block_t);
|
||||
if ((leP >= mem_block_var.mem_blocks) && (leP <= &mem_block_var.mem_blocks[MEM_MNGT_NB_ELEMENTS-1])) {
|
||||
// the pointer is inside the memory region
|
||||
block_index = leP - mem_block_var.mem_blocks;
|
||||
// block_index is now: 0 <= block_index < MEM_MNGT_NB_ELEMENTS
|
||||
|
||||
if (block_index < MEM_MNGT_MB0_NB_BLOCKS) {
|
||||
if ((leP->data != (&(mem_block_var.mem_pool0[block_index][0]))) && (leP->pool_id != MEM_MNGT_POOL_ID0)) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool0[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID0)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index < (MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS)) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool1[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID1)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB0_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB1_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool1[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID1)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index < MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool2[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID2)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB1_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB2_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool2[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID2)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool3[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID3)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB2_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB3_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool3[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID3)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool4[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID4)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB3_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB4_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool4[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID4)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool5[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID5)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB4_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB5_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool5[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID5)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool6[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID6)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB5_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB6_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool6[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID6)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool7[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID7)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB6_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB7_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool7[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID7)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool8[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID8)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB7_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB8_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool8[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID8)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS
|
||||
+ MEM_MNGT_MB9_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool9[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID9)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB8_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB9_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool9[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID9)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS
|
||||
+ MEM_MNGT_MB9_NB_BLOCKS + MEM_MNGT_MB10_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool10[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID10)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB9_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB10_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool10[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID10)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS
|
||||
+ MEM_MNGT_MB9_NB_BLOCKS + MEM_MNGT_MB10_NB_BLOCKS+ MEM_MNGT_MB11_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool11[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID11)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB10_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB11_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool11[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID11)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
} else if (block_index <
|
||||
MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS
|
||||
+ MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS
|
||||
+ MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS
|
||||
+ MEM_MNGT_MB9_NB_BLOCKS + MEM_MNGT_MB10_NB_BLOCKS+ MEM_MNGT_MB11_NB_BLOCKS
|
||||
+ MEM_MNGT_MB12_NB_BLOCKS) {
|
||||
if ((leP->data != &(mem_block_var.mem_pool12[block_index][0])) && (leP->pool_id != MEM_MNGT_POOL_ID12)) {
|
||||
return;
|
||||
}
|
||||
block_index -= MEM_MNGT_MB11_NB_BLOCKS;
|
||||
|
||||
if (block_index < MEM_MNGT_MB12_NB_BLOCKS) {
|
||||
if ((leP->data != (unsigned char*)mem_block_var.mem_pool12[block_index]) && (leP->pool_id != MEM_MNGT_POOL_ID12)) {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
msg ("[MEM][ERROR][FATAL] free mem block is corrupted\n");
|
||||
}
|
||||
|
||||
// the block is ok
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user