9194 Commits (0b948d40987ba3d15d9640d6c4ed2fed449c20dd)
 

Author SHA1 Message Date
Andre Puschmann 1d6f72b478 soapy: fixing various soapy bugs detected with asan
- use nof_rx_channels to set rx pointers
- use returned value to set bw
- fix heap use after free
5 years ago
Aleksander Morgado ba5f6e9ce4 build: fix ADD_CXX_COMPILER_FLAG_IF_AVAILABLE usages
This patch solves two different issues at the same time when building
with gcc/g++ 9.2.0:

 1) The -fvisibility=hidden support check was done using the C++
 compiler only (with check_cxx_compiler_flag), inside the block
 corresponding to the C compiler being GNU/clang, and the result of
 the check was applied to both C++ (CXX_FLAGS) and C (C_FLAGS) flags.
 Instead of this, there should be separate checks for the C and C++
 compilers, each of them modifying a single set of <LANG>_FLAGS.

 2) -Wincompatible-pointer-types support check was done using the C++
 compiler only, and the result of the check was applied to both C++
 (CXX_FLAGS) and C (C_FLAGS) flags. But, this warning is not
 applicable to C++ and actually breaks compilation when using g++ 9.2:
    [  0%] Building CXX object lib/src/asn1/CMakeFiles/rrc_asn1.dir/rrc_asn1.cc.o
    cc1plus: error: ‘-Werror=’ argument ‘-Werror=incompatible-pointer-types’ is not valid for C++ [-Werror]
 Instead of this, there should be a check for this warning only using
 the C compiler, and therefore only modifying the C flags (C_FLAGS).

This patch splits the macro into one specific for C++ (which modifies
CXX_FLAGS) and one specific for C (which modifies C_FLAGS). And so,
the macro call to check for `-Werror=incompatible-pointer-types' is
made C-only, and the one for `-fvisibility=hidden` is done for both C
and C++ targets (each on the correct GNU/clang compiler block).

Due to how the tests are done in cmake, the '-fvisibility=hidden'
check wasn't even succeding before, so the compiler option wasn't
being effectively used. The cmake flags.make file contents throughout
the project are updated as follows now:

Before this change, we had:
   C_FLAGS   = -Werror=incompatible-pointer-types ...
   CXX_FLAGS = -Werror=incompatible-pointer-types ...

And after this change, we have:
   C_FLAGS   = -Werror=incompatible-pointer-types -fvisibility=hidden ...
   CXX_FLAGS = -fvisibility=hidden ...
5 years ago
Andre Puschmann d25a734200 fix uninit value in NAS and move emm_info on stack 5 years ago
Aleksander Morgado 27e9285121 build: fix ADD_CXX_COMPILER_FLAG_IF_AVAILABLE usages
This patch solves two different issues at the same time when building
with gcc/g++ 9.2.0:

 1) The -fvisibility=hidden support check was done using the C++
 compiler only (with check_cxx_compiler_flag), inside the block
 corresponding to the C compiler being GNU/clang, and the result of
 the check was applied to both C++ (CXX_FLAGS) and C (C_FLAGS) flags.
 Instead of this, there should be separate checks for the C and C++
 compilers, each of them modifying a single set of <LANG>_FLAGS.

 2) -Wincompatible-pointer-types support check was done using the C++
 compiler only, and the result of the check was applied to both C++
 (CXX_FLAGS) and C (C_FLAGS) flags. But, this warning is not
 applicable to C++ and actually breaks compilation when using g++ 9.2:
    [  0%] Building CXX object lib/src/asn1/CMakeFiles/rrc_asn1.dir/rrc_asn1.cc.o
    cc1plus: error: ‘-Werror=’ argument ‘-Werror=incompatible-pointer-types’ is not valid for C++ [-Werror]
 Instead of this, there should be a check for this warning only using
 the C compiler, and therefore only modifying the C flags (C_FLAGS).

This patch splits the macro into one specific for C++ (which modifies
CXX_FLAGS) and one specific for C (which modifies C_FLAGS). And so,
the macro call to check for `-Werror=incompatible-pointer-types' is
made C-only, and the one for `-fvisibility=hidden` is done for both C
and C++ targets (each on the correct GNU/clang compiler block).

Due to how the tests are done in cmake, the '-fvisibility=hidden'
check wasn't even succeding before, so the compiler option wasn't
being effectively used. The cmake flags.make file contents throughout
the project are updated as follows now:

Before this change, we had:
   C_FLAGS   = -Werror=incompatible-pointer-types ...
   CXX_FLAGS = -Werror=incompatible-pointer-types ...

And after this change, we have:
   C_FLAGS   = -Werror=incompatible-pointer-types -fvisibility=hidden ...
   CXX_FLAGS = -fvisibility=hidden ...
5 years ago
Francisco Paisana b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
Scheduler changes
5 years ago
Francisco Paisana 1c375d99e0
Merge pull request #662 from softwareradiosystems/pr_new_timer
new timer class
5 years ago
Francisco Paisana 8440126d35 removal of srslte::timers class 5 years ago
Francisco Paisana 9ae5563331 fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run 5 years ago
Francisco Paisana ecba994712 fixed bad initialization of t311 5 years ago
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 5 years ago
Francisco Paisana 5953d5ef96 fixed some potential bug related to timer getting stopped, but signaling that it expired 5 years ago
Francisco Paisana 551192705e allow for pre-reservation of timers vector and priority queue 5 years ago
Francisco Paisana 50a1c9d557 addressed potential overflow, and extended timer test to check if ordering is working correctly 5 years ago
Francisco Paisana 349646a9da created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE 5 years ago
Francisco Paisana 6aec98e140 cleanup of some type names, and other minor changes 5 years ago
Francisco Paisana c19e0d9423 moved the RAR/Msg3 scheduling to a separate class 5 years ago
Francisco Paisana 388776d1fa provided a general way to access ue_db from the scheduler - part2 5 years ago
Francisco Paisana e0b8be61e5 provided a general way to access ue_db from the scheduler 5 years ago
Francisco Paisana d79e49ed4c moved the BC scheduling to a separate class/file 5 years ago
Francisco Paisana 837c16557f started to implement separate SIB scheduler, and its tests. This is particualrly important for CA 5 years ago
Francisco Paisana 84ac16826f modernized the scheduler code, and removed some clang-tidy warnings 5 years ago
Francisco Paisana ad0b3ce6e2 modernize the random sched test 5 years ago
Francisco Paisana 15bde8660a getting a future of an already finished proc is dangerous 5 years ago
Francisco Paisana 248583ecdf added extra logging and removed uneeded member from proc_t 5 years ago
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 5 years ago
Francisco Paisana f2d88e5a5b simplified NAS rrc connection request procedure
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
5 years ago
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 5 years ago
Francisco Paisana c1be118d1d new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor() 5 years ago
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
5 years ago
Francisco Paisana 8980810061 added some util print functions and fixed the issue with sync::cell_select when the last cell search was not successful 5 years ago
Xavier Arteaga 73517f981e Minor fixes 5 years ago
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 5 years ago
Xavier Arteaga f9a795e985 SRSENB: cleanup and mutex rearange 5 years ago
Xavier Arteaga 8e92baf401 SRSENB: quitsafter entering 'q\n' 5 years ago
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 5 years ago
Andre Puschmann 44dcfbe5c2 use info_long to print full message rxed on SYS interface 5 years ago
Andre Puschmann 82e3fd1052 fix uninitialized vars in RRC 5 years ago
Andre Puschmann d5835fc8a0 add info_long() method to log filter 5 years ago
Andre Puschmann 755a0599c4 rework cell list and SIB handling in SS 5 years ago
Andre Puschmann 891a66a2e5 make the establishment cause a paramter when sending a connection request
needed to signal a mo_sig establishment cause after a RLF
5 years ago
Andre Puschmann c24b25f42e after RLF store PCI of current serving cell
the PCI is needed for the reestablishment request in case
the new serving cell has changed
5 years ago
Andre Puschmann c1da02cd07 after initiating reestablishment, we need to perform cell reselection immediatly
before cell reselection was postponed to the next TTI but this is not possible in
the case where the serving cell changes.

if the "old" serving cell is no longer suitable, we would directly go to RRC IDLE below.
Therefore we need to select the new serving cell before sending the reestablishment
request.

this is tested in TC_8_5_1_1
5 years ago
Pedro Alvarez 48f9df8615 Applied clang-format to all of the srsepc folder. 5 years ago
Pedro Alvarez b157b648ae Changed clang-format to set AllowAllParametersOfDeclarationOnNextLine to false. 5 years ago
Xavier Arteaga 4227da9bd0 Fixed DCI Format1B length 5 years ago
Andre Puschmann b631106612 always print RF errors to stdout 5 years ago
Andre Puschmann 1a68fbc460 fix wrong setting for RF log level 5 years ago
Francisco Paisana e94755c471 revert nas_test fix 5 years ago
Francisco Paisana 9bcb268421 added for-range loop and bool decay checks to clang-tidy. Applied some of the recommendations of clang-tidy to nas.cc 5 years ago
Francisco Paisana 426d9d9b62 unique clang-tidy that we can all follow. 5 years ago