Merge remote-tracking branch 'main/develop' into T
Conflicts: cmake_targets/CMakeLists.txt cmake_targets/build_oai openair1/PHY/LTE_TRANSPORT/pucch.c openair1/SCHED/phy_procedures_lte_eNb.c openair2/LAYER2/MAC/eNB_scheduler_ulsch.c targets/RT/USER/lte-softmodem.c
This commit is contained in:
+9
-2
@@ -7,7 +7,9 @@ job1:
|
|||||||
- echo $NFS_SHARE_DIR
|
- echo $NFS_SHARE_DIR
|
||||||
- echo $EXTERNAL_SHARE_DIR
|
- echo $EXTERNAL_SHARE_DIR
|
||||||
- echo $SHELL
|
- echo $SHELL
|
||||||
|
- echo $OAI_TEST_CASE_GROUP
|
||||||
- git rev-parse --abbrev-ref HEAD
|
- git rev-parse --abbrev-ref HEAD
|
||||||
|
- git_repo=`git config --get remote.origin.url`
|
||||||
- git_head=`git rev-parse HEAD`
|
- git_head=`git rev-parse HEAD`
|
||||||
- echo $git_head
|
- echo $git_head
|
||||||
- tmp=`git show-ref --head | grep $git_head`
|
- tmp=`git show-ref --head | grep $git_head`
|
||||||
@@ -23,10 +25,15 @@ job1:
|
|||||||
- echo $NRUNS_LTE_SOFTMODEM
|
- echo $NRUNS_LTE_SOFTMODEM
|
||||||
- echo $TIMEOUT_CMD
|
- echo $TIMEOUT_CMD
|
||||||
- mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
- mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
|
||||||
- python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -c -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS $OAI_EXTRA_ARGS -g "$OAI_TEST_CASE_GROUP">& $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log
|
- python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -c -5GRepo $git_repo -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS $OAI_EXTRA_ARGS -g "$OAI_TEST_CASE_GROUP">& $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log
|
||||||
- python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -r -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS `echo $OAI_EXTRA_ARGS` -g "$OAI_TEST_CASE_GROUP" --nrun_lte_softmodem $NRUNS_LTE_SOFTMODEM --timeout_cmd $TIMEOUT_CMD >& $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log
|
- python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -r -5GRepo $git_repo -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS `echo $OAI_EXTRA_ARGS` -g "$OAI_TEST_CASE_GROUP" --nrun_lte_softmodem $NRUNS_LTE_SOFTMODEM --timeout_cmd $TIMEOUT_CMD >& $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log
|
||||||
- mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest.log
|
- mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest.log
|
||||||
- mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest_cleanup.log
|
- mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest_cleanup.log
|
||||||
- sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $NFS_TEST_RESULTS_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$NFS_TEST_RESULTS_DIR
|
- sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $NFS_TEST_RESULTS_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$NFS_TEST_RESULTS_DIR
|
||||||
- sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $EXTERNAL_SHARE_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$EXTERNAL_SHARE_DIR
|
- sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $EXTERNAL_SHARE_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$EXTERNAL_SHARE_DIR
|
||||||
- cat $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml
|
- cat $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml
|
||||||
|
- exce_log=`egrep -i 'warning|error|critical|exception' $NFS_TEST_RESULTS_DIR/log/python_autotest.log `
|
||||||
|
- if [ -n "$exce_log" ]; then echo -e "\e[31mThere are errors in $NFS_TEST_RESULTS_DIR/log/python_autotest.log. Please check the logs\e[0m" ; fi
|
||||||
|
- exce_log=`egrep -i 'warning|error|critical|exception' $NFS_TEST_RESULTS_DIR/log/python_autotest_cleanup.log `
|
||||||
|
- if [ -n "$exce_log" ]; then echo -e "\e[31mThere are errors in $NFS_TEST_RESULTS_DIR/log/python_autotest_cleanup.log. Please check the logs\e[0m" ; fi
|
||||||
|
|
||||||
|
|||||||
+25
-17
@@ -1,19 +1,27 @@
|
|||||||
OpenAirInterface is under GNU GPLv3 license. The full GNU General Public License is included in this distribution in the file called "COPYING".
|
OpenAirInterface is under OpenAirInterface Software Alliance license.
|
||||||
|
├── http://www.openairinterface.org/?page_id=101
|
||||||
The OpenAirInterface (OAI) software is composed of six different parts:
|
├── http://www.openairinterface.org/?page_id=698
|
||||||
|
|
||||||
openair1: 3GPP LTE Rel-8 PHY layer + PHY RF simulation
|
|
||||||
|
|
||||||
openair2: 3GPP LTE Rel-9 RLC/MAC/PDCP/RRC implementations, eNB application, X2AP. Note that for RLC, the following versions are userL UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0. For PDCP, PDCP_v10.1.0 is used. For RRC, only LITE is used.
|
|
||||||
|
|
||||||
openair3: 3GPP LTE Rel9 and 10 MME/NAS, S+P-GW, HSS, S1AP (ENB and MME).
|
|
||||||
|
|
||||||
common: some common OAI utilities, other tools can be found at openair2/UTILS
|
|
||||||
|
|
||||||
targets: scripts to compile and lauch different system targets (simulation, emulation and real-time platforms, user-space tools for these platforms (tbd))
|
|
||||||
|
|
||||||
see README files in these subdirectories for more information
|
|
||||||
|
|
||||||
see also https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/WebHome
|
|
||||||
|
|
||||||
|
The OpenAirInterface (OAI) software is composed of the following parts:
|
||||||
|
|
||||||
|
openairinterface5g
|
||||||
|
├── cmake_targets: build utilities to compile (simulation, emulation and real-time platforms), and generated build files
|
||||||
|
├── common : some common OAI utilities, other tools can be found at openair2/UTILS
|
||||||
|
├── COPYING
|
||||||
|
├── maketags : script to generate emacs tags
|
||||||
|
├── openair1 : 3GPP LTE Rel-10 PHY layer + PHY RF simulation and a subset of Rel 12 Features.
|
||||||
|
├── openair2 :3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP implementation.
|
||||||
|
├── LAYER2/RLC/ with the following subdirectories: UM_v9.3.0, TM_v9.3.0, and AM_v9.3.0.
|
||||||
|
├── LAYER2/PDCP/PDCP_v10.1.0.
|
||||||
|
├── RRC/LITE
|
||||||
|
├── PHY_INTERFACE
|
||||||
|
├── X2AP
|
||||||
|
├── ENB_APP
|
||||||
|
├── openair3: 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
|
||||||
|
├── GTPV1-U
|
||||||
|
├── NAS
|
||||||
|
├── S1AP
|
||||||
|
├── SCTP
|
||||||
|
├── SECU
|
||||||
|
├── UDP
|
||||||
|
└── targets: top level wrapper for unitary simulation for PHY channels, system-level emulation (eNB-UE with and without S1), and realtime eNB and UE and RRH GW.
|
||||||
|
|||||||
+148
-85
@@ -132,16 +132,19 @@ Message("Architecture is ${CMAKE_SYSTEM_PROCESSOR}")
|
|||||||
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
if (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
||||||
set(C_FLAGS_PROCESSOR "-gdwarf-2 -mfloat-abi=hard -mfpu=neon -lgcc -lrt")
|
set(C_FLAGS_PROCESSOR "-gdwarf-2 -mfloat-abi=hard -mfpu=neon -lgcc -lrt")
|
||||||
else (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
else (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
|
||||||
file(STRINGS "/proc/cpuinfo" CPUINFO REGEX flags LIMIT_COUNT 1)
|
if(EXISTS "/proc/cpuinfo")
|
||||||
#Message("CPUINFO is ${CPUINFO}")
|
file(STRINGS "/proc/cpuinfo" CPUINFO REGEX flags LIMIT_COUNT 1)
|
||||||
if (CPUINFO MATCHES "avx2")
|
if (CPUINFO MATCHES "avx2")
|
||||||
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx2")
|
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mavx2")
|
||||||
endif()
|
endif()
|
||||||
if (CPUINFO MATCHES "sse4_1")
|
if (CPUINFO MATCHES "sse4_1")
|
||||||
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.1")
|
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -msse4.1")
|
||||||
endif()
|
endif()
|
||||||
if (CPUINFO MATCHES "ssse3")
|
if (CPUINFO MATCHES "ssse3")
|
||||||
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mssse3")
|
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mssse3")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
Message("/proc/cpuinfo does not exit. We will use manual CPU flags")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -151,7 +154,7 @@ Message("C_FLAGS_PROCESSOR is ${C_FLAGS_PROCESSOR}")
|
|||||||
|
|
||||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
|
||||||
if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) )
|
if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) )
|
||||||
Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1\" ")
|
Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1 -mavx2\" ")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -168,50 +171,73 @@ set(CMAKE_CXX_FLAGS
|
|||||||
|
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${OPENAIR_TARGETS}/bin")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
#########################
|
#########################
|
||||||
# set a flag for changes in the source code
|
# set a flag for changes in the source code
|
||||||
# these changes are related to hardcoded path to include .h files
|
# these changes are related to hardcoded path to include .h files
|
||||||
add_definitions(-DCMAKER)
|
add_definitions(-DCMAKER)
|
||||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g -DMALLOC_CHECK_=3")
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g -DMALLOC_CHECK_=3")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g -DMALLOC_CHECK_=3 -O2")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g -DMALLOC_CHECK_=3 -O3")
|
||||||
|
|
||||||
|
|
||||||
|
set(GIT_BRANCH "UNKNOWN")
|
||||||
|
set(GIT_COMMIT_HASH "UNKNOWN")
|
||||||
|
set(GIT_COMMIT_DATE "UNKNOWN")
|
||||||
|
|
||||||
|
|
||||||
|
find_package(Git)
|
||||||
|
if(GIT_FOUND)
|
||||||
|
message("git found: ${GIT_EXECUTABLE}")
|
||||||
|
# Get the current working branch
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-parse --abbrev-ref HEAD
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE GIT_BRANCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
# Get the latest abbreviated commit hash of the working branch
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --format=%h
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
# Get the latest commit date of the working branch
|
||||||
|
execute_process(
|
||||||
|
COMMAND git log -1 --format=%cd
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE GIT_COMMIT_DATE
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
Message("RF_BOARD is ${RF_BOARD}")
|
|
||||||
# Below has been put in comment because does not work with
|
|
||||||
# SVN authentication.
|
|
||||||
#
|
|
||||||
#find_package(Subversion)
|
|
||||||
#if(SUBVERSION_FOUND)
|
|
||||||
# Subversion_WC_INFO(${OPENAIR_DIR} openair)
|
|
||||||
# set (FIRMWARE_VERSION "${openair_WC_REVISION} - ${openair_WC_LAST_CHANGED_DATE}")
|
|
||||||
# Subversion_WC_LOG(${OPENAIR_DIR} Project)
|
|
||||||
#else()
|
|
||||||
# set (FIRMWARE_VERSION "No svn information")
|
|
||||||
#endif()
|
|
||||||
#add_definitions("-DFIRMWARE_VERSION=\"${FIRMWARE_VERSION}\"")
|
|
||||||
|
|
||||||
# Below is a hard-coded info
|
# Below is a hard-coded info
|
||||||
set (FIRMWARE_VERSION "No svn information")
|
set (FIRMWARE_VERSION "No svn information")
|
||||||
add_definitions("-DFIRMWARE_VERSION=\"${FIRMWARE_VERSION}\"")
|
add_definitions("-DFIRMWARE_VERSION=\"${FIRMWARE_VERSION}\"")
|
||||||
add_definitions("-DPACKAGE_VERSION=\"${FIRMWARE_VERSION}\"")
|
add_definitions("-DPACKAGE_VERSION=\"Branch: ${GIT_BRANCH} Abrev. Hash: ${GIT_COMMIT_HASH} Date: ${GIT_COMMIT_DATE}\"")
|
||||||
add_definitions("-DPACKAGE_BUGREPORT=\"OpenAirInterface web site\"")
|
add_definitions("-DPACKAGE_BUGREPORT=\"openair4g-devel@lists.eurecom.fr\"")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Debug related options
|
# Debug related options
|
||||||
#########################################
|
#########################################
|
||||||
add_boolean_option(MSG_PRINT False "print debug messages")
|
add_boolean_option(ASN_DEBUG False "ASN1 coder/decoder Debug")
|
||||||
add_boolean_option(DISABLE_XER_PRINT False "print XER Format")
|
add_boolean_option(EMIT_ASN_DEBUG False "ASN1 coder/decoder Debug")
|
||||||
add_boolean_option(XER_PRINT False "print XER Format")
|
add_boolean_option(MSG_PRINT False "print debug messages")
|
||||||
add_boolean_option(RRC_MSG_PRINT False "print RRC messages")
|
add_boolean_option(DISABLE_XER_PRINT False "print XER Format")
|
||||||
add_boolean_option(PDCP_MSG_PRINT False "print PDCP messages to /tmp/pdcp.log")
|
add_boolean_option(XER_PRINT False "print XER Format")
|
||||||
add_boolean_option(DEBUG_PDCP_PAYLOAD False "print PDCP PDU to stdout") # if true, make sure that global and PDCP log levels are trace
|
add_boolean_option(RRC_MSG_PRINT False "print RRC messages")
|
||||||
|
add_boolean_option(PDCP_MSG_PRINT False "print PDCP messages to /tmp/pdcp.log")
|
||||||
|
add_boolean_option(DEBUG_PDCP_PAYLOAD False "print PDCP PDU to stdout") # if true, make sure that global and PDCP log levels are trace
|
||||||
add_boolean_option(DEBUG_MAC_INTERFACE False "print MAC-RLC PDU exchange to stdout") # if true, make sure that global and PDCP log levels are trace
|
add_boolean_option(DEBUG_MAC_INTERFACE False "print MAC-RLC PDU exchange to stdout") # if true, make sure that global and PDCP log levels are trace
|
||||||
add_boolean_option(TRACE_RLC_PAYLOAD False "print RLC PDU to stdout") # if true, make sure that global and PDCP log levels are trace
|
add_boolean_option(TRACE_RLC_PAYLOAD False "print RLC PDU to stdout") # if true, make sure that global and PDCP log levels are trace
|
||||||
add_boolean_option(TEST_OMG False "???")
|
add_boolean_option(TEST_OMG False "???")
|
||||||
add_boolean_option(DEBUG_OMG False "???")
|
add_boolean_option(DEBUG_OMG False "???")
|
||||||
add_boolean_option(XFORMS False "This adds the possibility to see the signal oscilloscope")
|
add_boolean_option(XFORMS False "This adds the possibility to see the signal oscilloscope")
|
||||||
add_boolean_option(PRINT_STATS False "This adds the possibility to see the status")
|
add_boolean_option(PRINT_STATS False "This adds the possibility to see the status")
|
||||||
add_boolean_option(T_TRACER False "Activate the T tracer, a debugging/monitoring framework" )
|
add_boolean_option(T_TRACER False "Activate the T tracer, a debugging/monitoring framework" )
|
||||||
|
|
||||||
add_boolean_option(DEBUG_CONSOLE False "makes debugging easier, disables stdout/stderr buffering")
|
add_boolean_option(DEBUG_CONSOLE False "makes debugging easier, disables stdout/stderr buffering")
|
||||||
@@ -235,7 +261,8 @@ endif (${ENABLE_ITTI})
|
|||||||
|
|
||||||
add_boolean_option(RTAI False "Use RTAI")
|
add_boolean_option(RTAI False "Use RTAI")
|
||||||
if (${RTAI})
|
if (${RTAI})
|
||||||
set(LOWLATENCY False)
|
set(DEADLINE_SCHEDULER False)
|
||||||
|
set(CPU_AFFINITY False)
|
||||||
add_definitions("-DENABLE_RTAI_CLOCK")
|
add_definitions("-DENABLE_RTAI_CLOCK")
|
||||||
add_definitions("-DCONFIG_RTAI_LXRT_INLINE")
|
add_definitions("-DCONFIG_RTAI_LXRT_INLINE")
|
||||||
include_directories ("/usr/realtime/include")
|
include_directories ("/usr/realtime/include")
|
||||||
@@ -253,6 +280,7 @@ endif (${RTAI})
|
|||||||
# New C code source file, cmake must be re-run (instead of re-running make only)
|
# New C code source file, cmake must be re-run (instead of re-running make only)
|
||||||
#############
|
#############
|
||||||
set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
|
set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
|
||||||
|
set(fix_asn1c_call "${OPENAIR_CMAKE}/tools/fix_asn1")
|
||||||
set(asn1_generated_dir ${OPENAIR_BIN_DIR})
|
set(asn1_generated_dir ${OPENAIR_BIN_DIR})
|
||||||
|
|
||||||
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
|
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
|
||||||
@@ -274,7 +302,19 @@ set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION})
|
|||||||
if(NOT EXISTS ${asn1c_call})
|
if(NOT EXISTS ${asn1c_call})
|
||||||
message( FATAL_ERROR "The script ${asn1c_call} must be present" )
|
message( FATAL_ERROR "The script ${asn1c_call} must be present" )
|
||||||
endif(NOT EXISTS ${asn1c_call})
|
endif(NOT EXISTS ${asn1c_call})
|
||||||
execute_process(COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR})
|
execute_process(COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
if(NOT EXISTS ${fix_asn1c_call})
|
||||||
|
message( FATAL_ERROR "The script ${fix_asn1c_call} must be present" )
|
||||||
|
endif(NOT EXISTS ${fix_asn1c_call})
|
||||||
|
execute_process(COMMAND ${fix_asn1c_call} ${RRC_FULL_DIR} RRC ${RRC_ASN1_VERSION}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
file(GLOB rrc_source ${RRC_FULL_DIR}/*.c)
|
file(GLOB rrc_source ${RRC_FULL_DIR}/*.c)
|
||||||
set(rrc_source ${rrc_source} ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1_msg.c)
|
set(rrc_source ${rrc_source} ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1_msg.c)
|
||||||
file(GLOB rrc_h ${RRC_FULL_DIR}/*.h)
|
file(GLOB rrc_h ${RRC_FULL_DIR}/*.h)
|
||||||
@@ -288,6 +328,7 @@ include_directories ("${RRC_FULL_DIR}")
|
|||||||
add_custom_command (
|
add_custom_command (
|
||||||
OUTPUT ${RRC_FULL_DIR}/asn1_constants.h
|
OUTPUT ${RRC_FULL_DIR}/asn1_constants.h
|
||||||
COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||||
|
COMMAND ${fix_asn1c_call} ${RRC_FULL_DIR} RRC ${RRC_ASN1_VERSION}
|
||||||
DEPENDS ${RRC_GRAMMAR}
|
DEPENDS ${RRC_GRAMMAR}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -316,13 +357,28 @@ set(S1AP_ASN_FILES
|
|||||||
)
|
)
|
||||||
set(S1AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR})
|
set(S1AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR})
|
||||||
#message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}")
|
#message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}")
|
||||||
execute_process(COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES})
|
execute_process(COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
execute_process(COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "asn1tostruct.py: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
execute_process(COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_VERSION}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
|
file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
|
||||||
|
|
||||||
set(S1AP_OAI_generated
|
set(S1AP_OAI_generated
|
||||||
${S1AP_C_DIR}/s1ap_decoder.c
|
${S1AP_C_DIR}/s1ap_decoder.c
|
||||||
${S1AP_C_DIR}/s1ap_encoder.c
|
${S1AP_C_DIR}/s1ap_encoder.c
|
||||||
${S1AP_C_DIR}/s1ap_xer_print.c
|
${S1AP_C_DIR}/s1ap_xer_print.c
|
||||||
|
${S1AP_C_DIR}/s1ap_compare.c
|
||||||
${S1AP_C_DIR}/s1ap_ies_defs.h
|
${S1AP_C_DIR}/s1ap_ies_defs.h
|
||||||
)
|
)
|
||||||
file(GLOB s1ap_h ${S1AP_C_DIR}/*.h)
|
file(GLOB s1ap_h ${S1AP_C_DIR}/*.h)
|
||||||
@@ -332,6 +388,7 @@ add_custom_command (
|
|||||||
OUTPUT ${S1AP_OAI_generated}
|
OUTPUT ${S1AP_OAI_generated}
|
||||||
COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
|
COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
|
||||||
COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
|
COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
|
||||||
|
COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_VERSION}
|
||||||
DEPENDS ${S1AP_ASN_FILES}
|
DEPENDS ${S1AP_ASN_FILES}
|
||||||
)
|
)
|
||||||
add_library(S1AP_LIB
|
add_library(S1AP_LIB
|
||||||
@@ -383,7 +440,21 @@ set(X2AP_ASN_FILES
|
|||||||
|
|
||||||
set(X2AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR})
|
set(X2AP_C_DIR ${asn1_generated_dir}/${ASN1RELDIR})
|
||||||
#message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}")
|
#message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}")
|
||||||
execute_process(COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES})
|
execute_process(COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
execute_process(COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "asn1tostruct.py: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
|
execute_process(COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_VERSION}
|
||||||
|
RESULT_VARIABLE ret)
|
||||||
|
if (NOT ${ret} STREQUAL 0)
|
||||||
|
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||||
|
endif (NOT ${ret} STREQUAL 0)
|
||||||
file(GLOB X2AP_source ${X2AP_C_DIR}/*.c)
|
file(GLOB X2AP_source ${X2AP_C_DIR}/*.c)
|
||||||
|
|
||||||
set(X2AP_OAI_generated
|
set(X2AP_OAI_generated
|
||||||
@@ -400,6 +471,7 @@ add_custom_command (
|
|||||||
OUTPUT ${X2AP_OAI_generated}
|
OUTPUT ${X2AP_OAI_generated}
|
||||||
COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
|
COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
|
||||||
COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
|
COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
|
||||||
|
COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_VERSION}
|
||||||
DEPENDS ${X2AP_ASN_FILES}
|
DEPENDS ${X2AP_ASN_FILES}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -494,7 +566,6 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
|
|||||||
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
|
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
|
||||||
|
|
||||||
set(option_HW_lib "bladeRF -rdynamic -ldl")
|
set(option_HW_lib "bladeRF -rdynamic -ldl")
|
||||||
#set(LOWLATENCY False)
|
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
|
elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
|
||||||
include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB")
|
include_directories("${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB")
|
||||||
@@ -507,7 +578,6 @@ elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
|
|||||||
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lms7002m")
|
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lms7002m")
|
||||||
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/Si5351C")
|
LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/Si5351C")
|
||||||
set(HW_SOURCE ${HW_SOURCE} ${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp)
|
set(HW_SOURCE ${HW_SOURCE} ${OPENAIR_TARGETS}/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp)
|
||||||
set(LOWLATENCY False)
|
|
||||||
set(option_HW_lib "-lLMS_SDR -lLMS7002M -lSi5351C -rdynamic -ldl")
|
set(option_HW_lib "-lLMS_SDR -lLMS7002M -lSi5351C -rdynamic -ldl")
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "CPRIGW")
|
elseif (${RF_BOARD} STREQUAL "CPRIGW")
|
||||||
@@ -536,7 +606,8 @@ endif (${TRANSP_PRO} STREQUAL "ETHERNET")
|
|||||||
|
|
||||||
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
|
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
|
||||||
|
|
||||||
Message("LOWLATENCY flag is ${LOWLATENCY}")
|
Message("DEADLINE_SCHEDULER flag is ${DEADLINE_SCHEDULER}")
|
||||||
|
Message("CPU_Affinity flag is ${CPU_AFFINITY}")
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
|
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
|
||||||
@@ -549,7 +620,8 @@ add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "set the RLC mode to AM for the d
|
|||||||
|
|
||||||
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
|
add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
|
||||||
add_boolean_option(DISABLE_USE_NAS False "???")
|
add_boolean_option(DISABLE_USE_NAS False "???")
|
||||||
add_boolean_option(LOWLATENCY True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
|
add_boolean_option(DEADLINE_SCHEDULER True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
|
||||||
|
add_boolean_option(CPU_AFFINITY False "Enable CPU Affinity of threads (only valid without deadline scheduler). It is enabled only with >2 CPUs")
|
||||||
add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver")
|
add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver")
|
||||||
add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai")
|
add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai")
|
||||||
add_boolean_option(OAISIM False "specific to oaisim")
|
add_boolean_option(OAISIM False "specific to oaisim")
|
||||||
@@ -926,6 +998,7 @@ set(PHY_SRC
|
|||||||
${OPENAIR1_DIR}/PHY/CODING/crc_byte.c
|
${OPENAIR1_DIR}/PHY/CODING/crc_byte.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
|
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
|
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c
|
||||||
|
${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/lte_rate_matching.c
|
${OPENAIR1_DIR}/PHY/CODING/lte_rate_matching.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/rate_matching.c
|
${OPENAIR1_DIR}/PHY/CODING/rate_matching.c
|
||||||
${OPENAIR1_DIR}/PHY/CODING/viterbi.c
|
${OPENAIR1_DIR}/PHY/CODING/viterbi.c
|
||||||
@@ -1028,8 +1101,8 @@ set (ENB_APP_SRC
|
|||||||
add_library(L2
|
add_library(L2
|
||||||
${L2_SRC}
|
${L2_SRC}
|
||||||
${MAC_SRC}
|
${MAC_SRC}
|
||||||
${ENB_APP_SRC}
|
${ENB_APP_SRC})
|
||||||
${OPENAIR2_DIR}/RRC/L2_INTERFACE/openair_rrc_L2_interface.c)
|
# ${OPENAIR2_DIR}/RRC/L2_INTERFACE/openair_rrc_L2_interface.c)
|
||||||
|
|
||||||
# L3 Libs
|
# L3 Libs
|
||||||
##########################
|
##########################
|
||||||
@@ -1087,7 +1160,6 @@ add_library(CN_UTILS
|
|||||||
${OPENAIR3_DIR}/UTILS/conversions.c
|
${OPENAIR3_DIR}/UTILS/conversions.c
|
||||||
${OPENAIR3_DIR}/UTILS/enum_string.c
|
${OPENAIR3_DIR}/UTILS/enum_string.c
|
||||||
${OPENAIR3_DIR}/UTILS/log.c
|
${OPENAIR3_DIR}/UTILS/log.c
|
||||||
${OPENAIR3_DIR}/UTILS/mme_config.c
|
|
||||||
${OPENAIR3_DIR}/UTILS/mcc_mnc_itu.c
|
${OPENAIR3_DIR}/UTILS/mcc_mnc_itu.c
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1428,6 +1500,9 @@ include(FindPkgConfig)
|
|||||||
pkg_search_module(LIBXML2 libxml-2.0 REQUIRED)
|
pkg_search_module(LIBXML2 libxml-2.0 REQUIRED)
|
||||||
include_directories(${LIBXML2_INCLUDE_DIRS})
|
include_directories(${LIBXML2_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
pkg_search_module(LIBXSLT libxslt REQUIRED)
|
||||||
|
include_directories(${LIBXSLT_INCLUDE_DIRS})
|
||||||
|
|
||||||
pkg_search_module(OPENSSL openssl REQUIRED)
|
pkg_search_module(OPENSSL openssl REQUIRED)
|
||||||
include_directories(${OPENSSL_INCLUDE_DIRS})
|
include_directories(${OPENSSL_INCLUDE_DIRS})
|
||||||
|
|
||||||
@@ -1759,6 +1834,7 @@ endforeach(myExe)
|
|||||||
|
|
||||||
add_executable(test_epc_generate_scenario
|
add_executable(test_epc_generate_scenario
|
||||||
${OPENAIR3_DIR}/TEST/EPC_TEST/generate_scenario.c
|
${OPENAIR3_DIR}/TEST/EPC_TEST/generate_scenario.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/generate_scenario.h
|
||||||
${OPENAIR2_DIR}/ENB_APP/enb_config.h
|
${OPENAIR2_DIR}/ENB_APP/enb_config.h
|
||||||
${OPENAIR2_DIR}/COMMON/commonDef.h
|
${OPENAIR2_DIR}/COMMON/commonDef.h
|
||||||
${OPENAIR2_DIR}/COMMON/messages_def.h
|
${OPENAIR2_DIR}/COMMON/messages_def.h
|
||||||
@@ -1767,7 +1843,28 @@ add_executable(test_epc_generate_scenario
|
|||||||
${OPENAIR_BIN_DIR}/messages_xml.h
|
${OPENAIR_BIN_DIR}/messages_xml.h
|
||||||
)
|
)
|
||||||
target_link_libraries (test_epc_generate_scenario
|
target_link_libraries (test_epc_generate_scenario
|
||||||
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
|
-Wl,--start-group RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${ITTI_LIB} ${MSC_LIB} L2 -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(test_epc_play_scenario
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_decode.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_display.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_fsm.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_parse.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_s1ap_eNB_defs.h
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario_sctp.c
|
||||||
|
${OPENAIR3_DIR}/TEST/EPC_TEST/play_scenario.h
|
||||||
|
${OPENAIR2_DIR}/COMMON/commonDef.h
|
||||||
|
${OPENAIR2_DIR}/COMMON/messages_def.h
|
||||||
|
${OPENAIR2_DIR}/COMMON/messages_types.h
|
||||||
|
${OPENAIR_BIN_DIR}/messages_xml.h
|
||||||
|
)
|
||||||
|
target_include_directories(test_epc_play_scenario PUBLIC /usr/local/share/asn1c)
|
||||||
|
target_link_libraries (test_epc_play_scenario
|
||||||
|
-Wl,--start-group RRC_LIB S1AP_LIB X2AP_LIB GTPV1U LIB_NAS_UE SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS ${ITTI_LIB} ${MSC_LIB} -Wl,--end-group pthread m rt crypt sctp ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -1975,37 +2072,3 @@ ADD_CUSTOM_TARGET(oarf
|
|||||||
DEPENDS ${OCT_FILES}
|
DEPENDS ${OCT_FILES}
|
||||||
)
|
)
|
||||||
|
|
||||||
#CMAKE INSTALL and CPACK
|
|
||||||
|
|
||||||
#INSTALL(PROGRAMS lte-softmodem ${OPENAIR_DIR}/targets DESTINATION bin)
|
|
||||||
#INSTALL(PROGRAMS oaisim ${OPENAIR_DIR}/targets DESTINATION bin)
|
|
||||||
|
|
||||||
|
|
||||||
#SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenAirInterface")
|
|
||||||
#SET(CPACK_PACKAGE_VENDOR "Eurecom")
|
|
||||||
#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${OPENAIR_DIR}/README.txt")
|
|
||||||
#SET(CPACK_RESOURCE_FILE_LICENSE "${OPENAIR_DIR}/COPYING")
|
|
||||||
#SET(CPACK_PACKAGE_VERSION_MAJOR "1")
|
|
||||||
#SET(CPACK_PACKAGE_VERSION_MINOR "1")
|
|
||||||
#SET(CPACK_PACKAGE_VERSION_PATCH "1")
|
|
||||||
|
|
||||||
#SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
|
|
||||||
#SET(CPACK_STRIP_FILES "${OPENAIR_TARGETS}/bin")
|
|
||||||
#SET(CPACK_SOURCE_STRIP_FILES "")
|
|
||||||
|
|
||||||
##debian specific
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_NAME "OAI")
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
|
|
||||||
##dpkg --print-architecture (do not use i686
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
|
|
||||||
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12)")
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libpthread.so.0 libm.so.6 libconfig.so.9 librt.so.1 libcrypt.so.1 libcrypto.so.1.0.0 libnettle.so.4 libsctp.so.1 libc.so.6")
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "EURECOM-OSA")
|
|
||||||
|
|
||||||
#SET(CPACK_PACKAGE_EXECUTABLES "lte-softmodem" "mme_gw.Rel10" "openair-hss")
|
|
||||||
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "OpenAirInterface")
|
|
||||||
#SET(CPACK_DEBIAN_PACKAGE_Section "Beta-Release")
|
|
||||||
|
|
||||||
#INCLUDE(CPack)
|
|
||||||
|
|||||||
@@ -1,106 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 False )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP False )
|
|
||||||
set ( PC_TARGET False )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM False )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel8 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU True )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU True )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R8" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT True )
|
|
||||||
set ( XFORMS False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 False )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OPENAIR1 False )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP False )
|
|
||||||
set ( PC_TARGET False )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM False )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD False )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel8 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU True )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU True )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT True )
|
|
||||||
set ( XFORMS False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST False )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT False )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU False )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM False )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION False )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD OAI_USRP )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel10 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU False )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU False )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set(PACKAGE_NAME "lte-softmodem")
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST False )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT False )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU False )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM False )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION False )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD EXMIMO )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel10 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU False )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU False )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set(PACKAGE_NAME "lte-softmodem")
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST False )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT False )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU False )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM False )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION False )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD EXMIMO )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel8 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU False )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU False )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set(PACKAGE_NAME "lte-softmodem")
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST False )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT False )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU False )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM False )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION False )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD OAI_USRP )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel10 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU False )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU False )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set(PACKAGE_NAME "lte-softmodem")
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set(ADDR_CONF False)
|
|
||||||
set(DEBUG_OMG False)
|
|
||||||
set(DISABLE_XER_PRINT False)
|
|
||||||
set(DRIVER2013 False)
|
|
||||||
set(ENABLE_FXP True)
|
|
||||||
set(ENABLE_ITTI True)
|
|
||||||
set(ENABLE_NAS_UE_LOGGING False)
|
|
||||||
set(ENABLE_NEW_MULTICAST True)
|
|
||||||
set(ENABLE_PGM_TRANSPORT True)
|
|
||||||
set(ENABLE_RAL False)
|
|
||||||
set(ENABLE_SECURITY False)
|
|
||||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
|
||||||
set(ENABLE_USE_MME False)
|
|
||||||
set(ENABLE_VCD_FIFO True)
|
|
||||||
set(HARD_RT False)
|
|
||||||
set(JUMBO_FRAME True)
|
|
||||||
set(LARGE_SCALE False)
|
|
||||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set(LINUX_LIST False)
|
|
||||||
set(LINUX True)
|
|
||||||
set(LOCALIZATION False)
|
|
||||||
set(LOG_NO_THREAD True)
|
|
||||||
set(LOWLATENCY False)
|
|
||||||
set(MAC_CONTEXT 1)
|
|
||||||
set(MAX_NUM_CCs 1)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False )
|
|
||||||
set(MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set(MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
|
||||||
set(MSG_PRINT False)
|
|
||||||
set(MU_RECEIVER False)
|
|
||||||
set(NAS_ADDRESS_FIX true)
|
|
||||||
set(NAS_NETLINK True)
|
|
||||||
set(NAS_UE True)
|
|
||||||
set(NEW_FFT True)
|
|
||||||
set(NO_RRM True)
|
|
||||||
set(OAI_EMU True)
|
|
||||||
set(OAI_EMU True)
|
|
||||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
|
||||||
set(OPENAIR1 False)
|
|
||||||
set(OPENAIR2 True)
|
|
||||||
set(OPENAIR_EMU True)
|
|
||||||
set(OPENAIR_LTE True)
|
|
||||||
set (PACKAGE_NAME "oaisim")
|
|
||||||
set(PACKAGE_NAME "oaisim")
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PC_DSP False)
|
|
||||||
set(PC_TARGET False)
|
|
||||||
set(PDCP_MSG_PRINT False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(PHY_ABSTRACTION True)
|
|
||||||
set(PHY_ABSTRACTION True)
|
|
||||||
set(PHY_EMUL False)
|
|
||||||
set(PHYSIM False)
|
|
||||||
set(PUCCH True)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(RF_BOARD "NoBoard")
|
|
||||||
set(RLC_STOP_ON_LOST_PDU False)
|
|
||||||
set(RRC_ASN1_VERSION Rel8)
|
|
||||||
set(RRC_ASN1_VERSION "Rel8")
|
|
||||||
set(RRC_MSG_PRINT False)
|
|
||||||
set(RTAI False)
|
|
||||||
set(SECU False)
|
|
||||||
set(SMBV False)
|
|
||||||
set(SPECTRA False)
|
|
||||||
set(TEST_OMG False)
|
|
||||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
|
||||||
set(USE_MME False)
|
|
||||||
set(USER_MODE True)
|
|
||||||
set(XER_PRINT False)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 False )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OPENAIR1 False )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP False )
|
|
||||||
set ( PC_TARGET False )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM False )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD False )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU True )
|
|
||||||
set ( RRC_ASN1_VERSION Rel10 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU True )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU True )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT True )
|
|
||||||
set ( XFORMS False )
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set(ADDR_CONF False)
|
|
||||||
set(DEBUG_OMG False)
|
|
||||||
set(DISABLE_XER_PRINT False)
|
|
||||||
set(DRIVER2013 False)
|
|
||||||
set(ENABLE_FXP True)
|
|
||||||
set(ENABLE_ITTI True)
|
|
||||||
set(ENABLE_NAS_UE_LOGGING False)
|
|
||||||
set(ENABLE_NEW_MULTICAST True)
|
|
||||||
set(ENABLE_PGM_TRANSPORT True)
|
|
||||||
set(ENABLE_RAL False)
|
|
||||||
set(ENABLE_SECURITY False)
|
|
||||||
set(ENABLE_USE_CPU_EXECUTION_TIME True)
|
|
||||||
set(ENABLE_USE_MME False)
|
|
||||||
set(ENABLE_VCD_FIFO True)
|
|
||||||
set(HARD_RT False)
|
|
||||||
set(JUMBO_FRAME True)
|
|
||||||
set(LARGE_SCALE False)
|
|
||||||
set(LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set(LINUX_LIST False)
|
|
||||||
set(LINUX True)
|
|
||||||
set(LOCALIZATION False)
|
|
||||||
set(LOG_NO_THREAD True)
|
|
||||||
set(LOWLATENCY False)
|
|
||||||
set(MAC_CONTEXT 1)
|
|
||||||
set(MAX_NUM_CCs 1)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR_RLC_MAC False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR_PHY False)
|
|
||||||
set(MIH_C_MEDIEVAL_EXTENSIONS False)
|
|
||||||
set(MSG_PRINT False)
|
|
||||||
set(MU_RECEIVER False)
|
|
||||||
set(NAS_ADDRESS_FIX true)
|
|
||||||
set(NAS_NETLINK True)
|
|
||||||
set(NAS_UE True)
|
|
||||||
set(NEW_FFT True)
|
|
||||||
set(NO_RRM True)
|
|
||||||
set(OAI_EMU True)
|
|
||||||
set(OAI_NW_DRIVER_TYPE_ETHERNET False)
|
|
||||||
set(OPENAIR1 False)
|
|
||||||
set(OPENAIR2 True)
|
|
||||||
set(OPENAIR_EMU True)
|
|
||||||
set(OPENAIR_LTE True)
|
|
||||||
set (PACKAGE_NAME "oaisim")
|
|
||||||
set(PACKAGE_NAME "oaisim")
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PC_DSP False)
|
|
||||||
set(PC_TARGET False)
|
|
||||||
set(PDCP_MSG_PRINT False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(PHY_ABSTRACTION True)
|
|
||||||
set(PHY_ABSTRACTION True)
|
|
||||||
set(PHY_EMUL False)
|
|
||||||
set(PHYSIM False)
|
|
||||||
set(PUCCH True)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(RF_BOARD "NoBoard")
|
|
||||||
set(RLC_STOP_ON_LOST_PDU True)
|
|
||||||
set(RRC_ASN1_VERSION Rel10)
|
|
||||||
set(RRC_ASN1_VERSION "Rel10")
|
|
||||||
set(RRC_MSG_PRINT False)
|
|
||||||
set(RTAI False)
|
|
||||||
set(SECU False)
|
|
||||||
set(SMBV False)
|
|
||||||
set(SPECTRA False)
|
|
||||||
set(TEST_OMG False)
|
|
||||||
set(USE_3GPP_ADDR_AS_LINK_ADDR False)
|
|
||||||
set(USE_MME False)
|
|
||||||
set(USER_MODE True)
|
|
||||||
set(XER_PRINT False)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_USE_NAS False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 False )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI False )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False )
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_VCD_FIFO True )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EPC_BUILD False )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD True )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX False )
|
|
||||||
set ( NAS_BUILT_IN_EPC False )
|
|
||||||
set ( NAS_BUILT_IN_UE False )
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_NETLINK False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX 2 )
|
|
||||||
set ( NB_ANTENNAS_TX 2 )
|
|
||||||
set ( NB_ANTENNAS_TXRX 2 )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK False )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OPENAIR1 False )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PC_DSP False )
|
|
||||||
set ( PC_TARGET False )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PDCP_USE_NETLINK_QUEUES False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT 1 )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM False )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD False )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_ASN1_VERSION Rel8 )
|
|
||||||
set ( RRC_DEFAULT_RAB_IS_AM False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
|
|
||||||
set ( S1AP_VERSION R10 )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( TRACE_RLC_AM_BO False )
|
|
||||||
set ( TRACE_RLC_AM_FREE_SDU False )
|
|
||||||
set ( TRACE_RLC_AM_HOLE False )
|
|
||||||
set ( TRACE_RLC_AM_PDU True )
|
|
||||||
set ( TRACE_RLC_AM_RESEGMENT False )
|
|
||||||
set ( TRACE_RLC_AM_RX_DECODE False )
|
|
||||||
set ( TRACE_RLC_AM_RX False )
|
|
||||||
set ( TRACE_RLC_AM_STATUS_CREATION False )
|
|
||||||
set ( TRACE_RLC_AM_TX False )
|
|
||||||
set ( TRACE_RLC_AM_TX_STATUS False )
|
|
||||||
set ( TRACE_RLC_PAYLOAD False )
|
|
||||||
set ( TRACE_RLC_UM_DAR False )
|
|
||||||
set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
|
|
||||||
set ( TRACE_RLC_UM_PDU True )
|
|
||||||
set ( TRACE_RLC_UM_RX False )
|
|
||||||
set ( TRACE_RLC_UM_SEGMENT False )
|
|
||||||
set ( TRACE_RLC_UM_TX_STATUS False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME False )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT True )
|
|
||||||
set ( XFORMS False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(ENABLE_VCD_FIFO False )
|
|
||||||
set(ENABLE_ITTI False )
|
|
||||||
set(RF_BOARD "ETHERNET")
|
|
||||||
set(PACKAGE_NAME "\"rrh_gw\"")
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER Flase)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
|
||||||
set ( ADDR_CONF False )
|
|
||||||
set ( DEBUG_OMG False )
|
|
||||||
set ( DISABLE_XER_PRINT False )
|
|
||||||
set ( DRIVER2013 True )
|
|
||||||
set ( EMOS False )
|
|
||||||
set ( ENABLE_FXP True )
|
|
||||||
set ( ENABLE_ITTI True )
|
|
||||||
set ( ENABLE_NAS_UE_LOGGING False )
|
|
||||||
set ( ENABLE_NEW_MULTICAST True )
|
|
||||||
set ( ENABLE_PGM_TRANSPORT True )
|
|
||||||
set ( ENABLE_RAL False )
|
|
||||||
set ( ENABLE_SECURITY False )
|
|
||||||
set ( ENABLE_STANDALONE_EPC False)
|
|
||||||
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
|
|
||||||
set ( ENABLE_USE_MME False )
|
|
||||||
set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
set ( ENB_MODE True )
|
|
||||||
set ( EXMIMO_IOT True )
|
|
||||||
set ( HARD_RT False )
|
|
||||||
set ( JUMBO_FRAME True )
|
|
||||||
set ( LARGE_SCALE False )
|
|
||||||
set ( LINK_ENB_PDCP_TO_GTPV1U False)
|
|
||||||
set ( LINUX_LIST False )
|
|
||||||
set ( LINUX True )
|
|
||||||
set ( LOCALIZATION False )
|
|
||||||
set ( LOG_NO_THREAD 1 )
|
|
||||||
set ( LOWLATENCY False )
|
|
||||||
set ( MAC_CONTEXT 1 )
|
|
||||||
set ( MAX_NUM_CCs 1 )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
|
|
||||||
set ( MESSAGE_CHART_GENERATOR_PHY False )
|
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
|
||||||
set ( MSG_PRINT False )
|
|
||||||
set ( MU_RECEIVER False )
|
|
||||||
set ( NAS_ADDRESS_FIX True )
|
|
||||||
set ( NAS_BUILT_IN_UE False)
|
|
||||||
set ( NAS_MME False )
|
|
||||||
set ( NAS_UE False )
|
|
||||||
set ( NB_ANTENNAS_RX "2" )
|
|
||||||
set ( NB_ANTENNAS_TX "2" )
|
|
||||||
set ( NB_ANTENNAS_TXRX "2" )
|
|
||||||
set ( NEW_FFT True )
|
|
||||||
set ( NO_RRM True )
|
|
||||||
set ( OAI_EMU True )
|
|
||||||
set ( OAISIM True )
|
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
|
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
|
||||||
set ( OPENAIR1 True )
|
|
||||||
set ( OPENAIR2 True )
|
|
||||||
set ( OPENAIR_EMU False )
|
|
||||||
set ( OPENAIR_LTE True )
|
|
||||||
set ( PACKAGE_NAME "oaisim" )
|
|
||||||
set ( PBS_SIM False )
|
|
||||||
set ( PDCP_USE_NETLINK True )
|
|
||||||
set ( PC_DSP True )
|
|
||||||
set ( PC_TARGET True )
|
|
||||||
set ( PDCP_MSG_PRINT False )
|
|
||||||
set ( PERFECT_CE False )
|
|
||||||
set ( PHY_ABSTRACTION True )
|
|
||||||
set ( PHY_CONTEXT False )
|
|
||||||
set ( PHY_EMUL False )
|
|
||||||
set ( PHYSIM True )
|
|
||||||
set ( PUCCH True )
|
|
||||||
set ( RANDOM_BF False )
|
|
||||||
set ( RF_BOARD "False" )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10" )
|
|
||||||
set ( RLC_STOP_ON_LOST_PDU False )
|
|
||||||
set ( RRC_MSG_PRINT False )
|
|
||||||
set ( RTAI False )
|
|
||||||
set ( SECU False )
|
|
||||||
set ( SMBV False )
|
|
||||||
set ( SPECTRA False )
|
|
||||||
set ( TEST_OMG False )
|
|
||||||
set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
|
|
||||||
set ( USE_MME "R10" )
|
|
||||||
set ( USER_MODE True )
|
|
||||||
set ( XER_PRINT False )
|
|
||||||
set ( XFORMS False )
|
|
||||||
set ( PRINT_STATS False )
|
|
||||||
set ( RRC_ASN1_VERSION "Rel10")
|
|
||||||
set ( ENABLE_VCD_FIFO False )
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
set(PACKAGE_NAME "unitary_tests_simulators")
|
|
||||||
set(PHYSIM True)
|
|
||||||
set(RF_BOARD None)
|
|
||||||
set(XFORMS False)
|
|
||||||
|
|
||||||
set(DEBUG_PHY False)
|
|
||||||
set(MU_RECIEVER False)
|
|
||||||
set(RANDOM_BF False)
|
|
||||||
set(PBS_SIM False)
|
|
||||||
set(PERFECT_CE False)
|
|
||||||
set(NAS_UE False)
|
|
||||||
set(MESSAGE_CHART_GENERATOR False)
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
|
|
||||||
@@ -189,6 +189,30 @@ Obj.# Case# Test# Description
|
|||||||
01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
01 80 00 lte-softmodem + RRH tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
|
||||||
|
01 80 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 80 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 80 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 80 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 80 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 80 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
01 85 00 lte-softmodem + RRH tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
|
||||||
|
01 85 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 85 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 85 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 85 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 85 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
01 85 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
02 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Sony Experia M4 COTS UE for TX/1RX
|
||||||
|
02 55 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
02 55 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
02 55 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
|
||||||
|
02 55 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
02 55 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
02 55 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
|
||||||
|
|
||||||
|
|
||||||
01 64 lte-softmodem-noS1 tests
|
01 64 lte-softmodem-noS1 tests
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ test_compile() {
|
|||||||
compile_prog=$2
|
compile_prog=$2
|
||||||
exec_prog=$3
|
exec_prog=$3
|
||||||
build_dir=$tdir/$1/build
|
build_dir=$tdir/$1/build
|
||||||
log_file=$tdir/log/test.$1.txt
|
log_file=$tdir/log/test.$1.$2.$5.txt
|
||||||
target=$5
|
target=$5
|
||||||
echo "Compiling test case $test_name. Log file = $log_file"
|
echo "Compiling test case $test_name. Log file = $log_file"
|
||||||
rm -fr $build_dir
|
rm -fr $build_dir
|
||||||
@@ -34,10 +34,10 @@ test_compile() {
|
|||||||
if [ -s $exec_prog ] ; then
|
if [ -s $exec_prog ] ; then
|
||||||
cp $exec_prog $tdir/bin/`basename $exec_prog`.$target.$test_name
|
cp $exec_prog $tdir/bin/`basename $exec_prog`.$target.$test_name
|
||||||
echo_success "$test_name $exec_prog $target compiled"
|
echo_success "$test_name $exec_prog $target compiled"
|
||||||
xUnit_success "compilation" $test_name "PASS" 1
|
xUnit_success "compilation" $test_name "PASS" 1 "$results_file"
|
||||||
else
|
else
|
||||||
echo_error "$test_name $exec_prog $target compilation failed"
|
echo_error "$test_name $exec_prog $target compilation failed"
|
||||||
xUnit_fail "compilation" $test_name "FAIL" 1
|
xUnit_fail "compilation" $test_name "FAIL" 1 "$results_file"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,34 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
|
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
|
||||||
source $OPENAIR_DIR/cmake_targets/tools/build_helper
|
source $OPENAIR_DIR/cmake_targets/tools/build_helper
|
||||||
@@ -111,6 +141,8 @@ function test_compile() {
|
|||||||
compile_log_dir=`eval echo \"$OPENAIR_DIR/cmake_targets/log/\"`
|
compile_log_dir=`eval echo \"$OPENAIR_DIR/cmake_targets/log/\"`
|
||||||
echo "Removing compilation log files in $compile_log_dir"
|
echo "Removing compilation log files in $compile_log_dir"
|
||||||
rm -frv $compile_log_dir
|
rm -frv $compile_log_dir
|
||||||
|
echo "Executing $pre_exec_file $pre_exe_args ...."
|
||||||
|
eval $pre_exec_file $pre_exec_args
|
||||||
echo "Executing $compile_prog $compile_prog_args ...."
|
echo "Executing $compile_prog $compile_prog_args ...."
|
||||||
eval $compile_prog $compile_prog_args
|
eval $compile_prog $compile_prog_args
|
||||||
echo "Copying compilation log files to test case log directory: $log_dir"
|
echo "Copying compilation log files to test case log directory: $log_dir"
|
||||||
@@ -280,7 +312,7 @@ function test_compile_and_run() {
|
|||||||
|
|
||||||
if [ -n "$pre_exec_file" ]; then
|
if [ -n "$pre_exec_file" ]; then
|
||||||
{ echo " Executing $pre_exec_file $pre_exec_args "
|
{ echo " Executing $pre_exec_file $pre_exec_args "
|
||||||
eval " echo '$mypassword' |sudo -S -E $pre_exec_file $pre_exec_args " ; }>> $temp_exec_log 2>&1
|
eval " $pre_exec_file $pre_exec_args " ; }>> $temp_exec_log 2>&1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
echo "Executing $main_exec $main_exec_args_array_index "
|
echo "Executing $main_exec $main_exec_args_array_index "
|
||||||
@@ -388,6 +420,7 @@ until [ -z "$1" ]
|
|||||||
-g | --run-group)
|
-g | --run-group)
|
||||||
RUN_GROUP=1
|
RUN_GROUP=1
|
||||||
test_case_group=$2
|
test_case_group=$2
|
||||||
|
test_case_group=`sed "s/\+/\*/g" <<< "${test_case_group}"` # Replace + with * for bash string substituion
|
||||||
echo_info "Will execute test cases only in group $test_case_group"
|
echo_info "Will execute test cases only in group $test_case_group"
|
||||||
shift 2;;
|
shift 2;;
|
||||||
-p)
|
-p)
|
||||||
@@ -423,9 +456,17 @@ rm -fr $tmpfile
|
|||||||
xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml"
|
xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml"
|
||||||
|
|
||||||
test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf`
|
test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf`
|
||||||
|
test_case_excl_list=`xmlstarlet sel -t -v "/testCaseList/TestCaseExclusionList" $xml_conf`
|
||||||
|
echo "Test Case Exclusion List = $test_case_excl_list "
|
||||||
|
|
||||||
|
test_case_excl_list=`sed "s/\+/\*/g" <<< "$test_case_excl_list" ` # Replace + with * for bash string substituion
|
||||||
|
|
||||||
|
read -a test_case_excl_array <<< "$test_case_excl_list"
|
||||||
|
|
||||||
echo "test_case_list = $test_case_list"
|
echo "test_case_list = $test_case_list"
|
||||||
|
|
||||||
|
echo "Test Case Exclusion List = $test_case_excl_list \n"
|
||||||
|
|
||||||
readarray -t test_case_array <<<"$test_case_list"
|
readarray -t test_case_array <<<"$test_case_list"
|
||||||
|
|
||||||
read -a test_case_group_array <<< "$test_case_group"
|
read -a test_case_group_array <<< "$test_case_group"
|
||||||
@@ -447,6 +488,15 @@ for search_expr in "${test_case_array[@]}"
|
|||||||
flag_run_test_case=1
|
flag_run_test_case=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for search_excl in "${test_case_excl_array[@]}"
|
||||||
|
do
|
||||||
|
if [[ $search_expr == $search_excl ]];then
|
||||||
|
flag_run_test_case=0
|
||||||
|
echo_info "Test case $search_expr match found in test case excl group. Will skip the test case for execution..."
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
#We skip this test case if it is not in the group list
|
#We skip this test case if it is not in the group list
|
||||||
if [ "$flag_run_test_case" -ne "1" ]; then
|
if [ "$flag_run_test_case" -ne "1" ]; then
|
||||||
@@ -485,6 +535,7 @@ for search_expr in "${test_case_array[@]}"
|
|||||||
echo "search_expr_false = $search_expr_false"
|
echo "search_expr_false = $search_expr_false"
|
||||||
echo "nruns = $nruns"
|
echo "nruns = $nruns"
|
||||||
|
|
||||||
|
|
||||||
#eval $pre_exec
|
#eval $pre_exec
|
||||||
compile_prog_out=`eval echo \"$compile_prog_out\"`
|
compile_prog_out=`eval echo \"$compile_prog_out\"`
|
||||||
|
|
||||||
|
|||||||
@@ -29,10 +29,7 @@
|
|||||||
|
|
||||||
# *******************************************************************************/
|
# *******************************************************************************/
|
||||||
|
|
||||||
# \file test01.py
|
# \author Rohit Gupta
|
||||||
# \brief test 01 for OAI
|
|
||||||
# \author Navid Nikaein
|
|
||||||
# \date 2013 - 2015
|
|
||||||
# \version 0.1
|
# \version 0.1
|
||||||
# @ingroup _test
|
# @ingroup _test
|
||||||
|
|
||||||
@@ -216,7 +213,7 @@ def sftp_module (username, password, hostname, ports, paramList,logfile):
|
|||||||
# \brief bash script stub put at the end of scripts to terminate it
|
# \brief bash script stub put at the end of scripts to terminate it
|
||||||
# \param timeout_cmd terminate script after timeout_cmd seconds
|
# \param timeout_cmd terminate script after timeout_cmd seconds
|
||||||
# \param terminate_missing_procs if True terminate all the processes launched by script if one of them terminates prematurely (due to error)
|
# \param terminate_missing_procs if True terminate all the processes launched by script if one of them terminates prematurely (due to error)
|
||||||
def finalize_deploy_script (timeout_cmd, terminate_missing_procs='True'):
|
def finalize_deploy_script (timeout_cmd, terminate_missing_procs='False'):
|
||||||
cmd = 'declare -i timeout_cmd='+str(timeout_cmd) + '\n'
|
cmd = 'declare -i timeout_cmd='+str(timeout_cmd) + '\n'
|
||||||
if terminate_missing_procs == 'True':
|
if terminate_missing_procs == 'True':
|
||||||
cmd = cmd + """
|
cmd = cmd + """
|
||||||
@@ -316,18 +313,24 @@ def SSHSessionWrapper(machine, username, key_file, password, logdir_remote, logd
|
|||||||
# \param CleanUpAluLteBox program to terminate AlU Bell Labs LTE Box
|
# \param CleanUpAluLteBox program to terminate AlU Bell Labs LTE Box
|
||||||
# \param ExmimoRfStop String to stop EXMIMO card (specified in test_case_list.xml)
|
# \param ExmimoRfStop String to stop EXMIMO card (specified in test_case_list.xml)
|
||||||
def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop):
|
def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop):
|
||||||
cmd = 'killall -q -r ' + programList
|
cmd = 'killall -9 -q -r ' + programList
|
||||||
result = oai.send(cmd, True)
|
result = oai.send(cmd, True)
|
||||||
print "Killing old programs..." + result
|
print "Killing old programs..." + result
|
||||||
programArray = programList.split()
|
programArray = programList.split()
|
||||||
programListJoin = '|'.join(programArray)
|
programListJoin = '|'.join(programArray)
|
||||||
|
cmd = " ( date ;echo \"Starting cleaning old programs.. \" ; dmesg|tail ; echo \"Current disk space.. \" ; df -h )>& $HOME/.oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
|
||||||
|
result=oai.send_recv(cmd)
|
||||||
cmd = cleanupOldProgramsScript + ' ' + '\''+programListJoin+'\''
|
cmd = cleanupOldProgramsScript + ' ' + '\''+programListJoin+'\''
|
||||||
#result = oai.send_recv(cmd)
|
#result = oai.send_recv(cmd)
|
||||||
#print result
|
#print result
|
||||||
result = oai.send_expect_false(cmd, 'Match found', False)
|
result = oai.send_expect_false(cmd, 'Match found', False)
|
||||||
print "Looking for old programs..." + result
|
print "Looking for old programs..." + result
|
||||||
res=oai.send_recv(CleanUpAluLteBox, True)
|
res=oai.send_recv(CleanUpAluLteBox, True)
|
||||||
res = oai.send_recv(ExmimoRfStop, False)
|
cmd = "( " + ExmimoRfStop + " ) >> $HOME/.oai_test_setup_cleanup.log.`hostname` ; sync "
|
||||||
|
res=oai.send_recv(cmd, False, timeout=600)
|
||||||
|
#res = oai.send_recv(ExmimoRfStop, False)
|
||||||
|
cmd = " ( date ;echo \"Finished cleaning old programs.. \" ; dmesg | tail)>> $HOME/.oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
|
||||||
|
res=oai.send_recv(cmd)
|
||||||
|
|
||||||
# \brief Class thread to launch a generic command on remote machine
|
# \brief Class thread to launch a generic command on remote machine
|
||||||
# \param threadID number of thread (for book keeping)
|
# \param threadID number of thread (for book keeping)
|
||||||
@@ -1105,6 +1108,7 @@ pw =''
|
|||||||
i = 0
|
i = 0
|
||||||
dlsim=0
|
dlsim=0
|
||||||
localshell=0
|
localshell=0
|
||||||
|
GitOAI5GRepo=''
|
||||||
GitOAI5GRepoBranch=''
|
GitOAI5GRepoBranch=''
|
||||||
GitOAI5GHeadVersion=''
|
GitOAI5GHeadVersion=''
|
||||||
user=''
|
user=''
|
||||||
@@ -1141,6 +1145,9 @@ while i < len (sys.argv):
|
|||||||
i = i +1
|
i = i +1
|
||||||
elif arg == '-c':
|
elif arg == '-c':
|
||||||
cleanUpRemoteMachines=True
|
cleanUpRemoteMachines=True
|
||||||
|
elif arg == '-5GRepo':
|
||||||
|
GitOAI5GRepo = sys.argv[i+1]
|
||||||
|
i = i +1
|
||||||
elif arg == '-5GRepoBranch':
|
elif arg == '-5GRepoBranch':
|
||||||
GitOAI5GRepoBranch = sys.argv[i+1]
|
GitOAI5GRepoBranch = sys.argv[i+1]
|
||||||
i = i +1
|
i = i +1
|
||||||
@@ -1190,6 +1197,7 @@ while i < len (sys.argv):
|
|||||||
print "-r: Remove the log directory in autotests"
|
print "-r: Remove the log directory in autotests"
|
||||||
print "-g: Run test cases in a group"
|
print "-g: Run test cases in a group"
|
||||||
print "-c: Run cleanup scripts on remote machines and exit"
|
print "-c: Run cleanup scripts on remote machines and exit"
|
||||||
|
print "-5GRepo: Repository for OAI 5G to use to run tests (overrides GitOAI5GRepo in test_case_list.xml)"
|
||||||
print "-5GRepoBranch: Branch for OAI 5G Repository to run tests (overrides the branch in test_case_list.xml)"
|
print "-5GRepoBranch: Branch for OAI 5G Repository to run tests (overrides the branch in test_case_list.xml)"
|
||||||
print "-5GRepoHeadVersion: Head commit on which to run tests (overrides the branch in test_case_list.xml)"
|
print "-5GRepoHeadVersion: Head commit on which to run tests (overrides the branch in test_case_list.xml)"
|
||||||
print "-u: use the user name passed as argument"
|
print "-u: use the user name passed as argument"
|
||||||
@@ -1278,7 +1286,9 @@ if MachineList =='':
|
|||||||
MachineList = xmlRoot.findtext('MachineList',default='')
|
MachineList = xmlRoot.findtext('MachineList',default='')
|
||||||
NFSResultsShare = xmlRoot.findtext('NFSResultsShare',default='')
|
NFSResultsShare = xmlRoot.findtext('NFSResultsShare',default='')
|
||||||
GitOpenaircnRepo = xmlRoot.findtext('GitOpenair-cnRepo',default='')
|
GitOpenaircnRepo = xmlRoot.findtext('GitOpenair-cnRepo',default='')
|
||||||
GitOAI5GRepo = xmlRoot.findtext('GitOAI5GRepo',default='')
|
|
||||||
|
if GitOAI5GRepo == '':
|
||||||
|
GitOAI5GRepo = xmlRoot.findtext('GitOAI5GRepo',default='')
|
||||||
|
|
||||||
if GitOAI5GRepoBranch == '':
|
if GitOAI5GRepoBranch == '':
|
||||||
GitOAI5GRepoBranch = xmlRoot.findtext('GitOAI5GRepoBranch',default='')
|
GitOAI5GRepoBranch = xmlRoot.findtext('GitOAI5GRepoBranch',default='')
|
||||||
@@ -1394,15 +1404,15 @@ for oai in oai_list:
|
|||||||
#cmd = cmd + 'mkdir -p ' + logdir + '\n'
|
#cmd = cmd + 'mkdir -p ' + logdir + '\n'
|
||||||
cmd = cmd + 'cd '+ logdir + '\n'
|
cmd = cmd + 'cd '+ logdir + '\n'
|
||||||
cmd = cmd + 'git config --global http.sslVerify false \n'
|
cmd = cmd + 'git config --global http.sslVerify false \n'
|
||||||
cmd = cmd + 'git clone --depth 1 '+ GitOAI5GRepo + ' -b ' + GitOAI5GRepoBranch +' \n'
|
cmd = cmd + 'git clone '+ GitOAI5GRepo +' \n'
|
||||||
cmd = cmd + 'git clone '+ GitOpenaircnRepo + ' -b ' +GitOpenaircnRepoBranch + ' \n'
|
cmd = cmd + 'git clone '+ GitOpenaircnRepo + ' \n'
|
||||||
cmd = cmd + 'cd ' + logdirOAI5GRepo + '\n'
|
cmd = cmd + 'cd ' + logdirOAI5GRepo + '\n'
|
||||||
cmd = cmd + 'git checkout ' + GitOAI5GRepoBranch + '\n'
|
cmd = cmd + 'git checkout ' + GitOAI5GRepoBranch + '\n'
|
||||||
#cmd = cmd + 'git checkout ' + GitOAI5GHeadVersion + '\n'
|
#cmd = cmd + 'git checkout ' + GitOAI5GHeadVersion + '\n'
|
||||||
cmd = cmd + 'git_head=`git ls-remote |grep \'' + GitOAI5GRepoBranch + '\'` \n'
|
cmd = cmd + 'git_head=`git ls-remote |grep \'' + GitOAI5GRepoBranch + '\'` \n'
|
||||||
cmd = cmd + 'git_head=($git_head) \n'
|
cmd = cmd + 'git_head=($git_head) \n'
|
||||||
cmd = cmd + 'git_head=${git_head[0]} \n'
|
cmd = cmd + 'git_head=${git_head[0]} \n'
|
||||||
cmd = cmd + 'echo \"GitOAI5GHeadVersion_remote = $git_head\"'
|
cmd = cmd + 'echo \"GitOAI5GHeadVersion_remote = $git_head\" \n'
|
||||||
cmd = cmd + 'echo \"GitOAI5GHeadVersion_local = ' + GitOAI5GHeadVersion + '\" \n'
|
cmd = cmd + 'echo \"GitOAI5GHeadVersion_local = ' + GitOAI5GHeadVersion + '\" \n'
|
||||||
if flag_skip_git_head_check==True:
|
if flag_skip_git_head_check==True:
|
||||||
cmd = cmd + 'echo \"skipping GitHead check...\" \n '
|
cmd = cmd + 'echo \"skipping GitHead check...\" \n '
|
||||||
@@ -1507,6 +1517,22 @@ for testcase in testcaseList:
|
|||||||
threadListGlobal = wait_testcaseclass_generic_threads(threadListGlobal, Timeout_execution)
|
threadListGlobal = wait_testcaseclass_generic_threads(threadListGlobal, Timeout_execution)
|
||||||
#cleanOldProgramsAllMachines(oai_list, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop)
|
#cleanOldProgramsAllMachines(oai_list, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop)
|
||||||
handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, user, pw, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, Timeout_cmd )
|
handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, user, pw, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, Timeout_cmd )
|
||||||
|
|
||||||
|
#The lines below are copied from below to trace the failure of some of the machines in test setup. These lines below need to be removed in long term
|
||||||
|
print "Creating xml file for overall results..."
|
||||||
|
cmd = "cat $OPENAIR_DIR/cmake_targets/autotests/log/*/*.xml > $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml "
|
||||||
|
res=os.system(cmd)
|
||||||
|
os.system('sync')
|
||||||
|
print "Now copying files to NFS Share"
|
||||||
|
oai_localhost = openair('localdomain','localhost')
|
||||||
|
oai_localhost.connect(user,pw)
|
||||||
|
cmd = ' mkdir -p ' + NFSTestsResultsDir
|
||||||
|
res = oai_localhost.send_recv(cmd)
|
||||||
|
|
||||||
|
print "Copying files from GilabCI Runner Machine : " + host + " .locallogdir = " + locallogdir + ", NFSTestsResultsDir = " + NFSTestsResultsDir
|
||||||
|
SSHSessionWrapper('localhost', user, None, pw , NFSTestsResultsDir , locallogdir, "put_all")
|
||||||
|
oai_localhost.disconnect()
|
||||||
|
|
||||||
elif (testcaseclass == 'compilation'):
|
elif (testcaseclass == 'compilation'):
|
||||||
threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, user, pw, CleanUpAluLteBox,Timeout_execution, ExmimoRfStop)
|
threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, user, pw, CleanUpAluLteBox,Timeout_execution, ExmimoRfStop)
|
||||||
elif (testcaseclass == 'execution'):
|
elif (testcaseclass == 'execution'):
|
||||||
@@ -1538,11 +1564,15 @@ res=os.system(cmd)
|
|||||||
print "Now copying files to NFS Share"
|
print "Now copying files to NFS Share"
|
||||||
oai_localhost = openair('localdomain','localhost')
|
oai_localhost = openair('localdomain','localhost')
|
||||||
oai_localhost.connect(user,pw)
|
oai_localhost.connect(user,pw)
|
||||||
cmd = ' rm -fr ' + NFSTestsResultsDir + ' ; mkdir -p ' + NFSTestsResultsDir
|
cmd = 'mkdir -p ' + NFSTestsResultsDir
|
||||||
res = oai_localhost.send_recv(cmd)
|
res = oai_localhost.send_recv(cmd)
|
||||||
print "Deleting NFSTestResults Dir..." + res
|
|
||||||
|
|
||||||
print "Copying files from GilabCI Runner Machine : " + host + " .locallogdir = " + locallogdir + ", NFSTestsResultsDir = " + NFSTestsResultsDir
|
print "Copying files from GilabCI Runner Machine : " + host + " .locallogdir = " + locallogdir + ", NFSTestsResultsDir = " + NFSTestsResultsDir
|
||||||
SSHSessionWrapper('localhost', user, None, pw , NFSTestsResultsDir , locallogdir, "put_all")
|
SSHSessionWrapper('localhost', user, None, pw , NFSTestsResultsDir , locallogdir, "put_all")
|
||||||
|
|
||||||
|
cmd = "cat " + NFSTestsResultsDir + "/log/*/*.xml > " + NFSTestsResultsDir + "/log/results_autotests.xml"
|
||||||
|
res = oai_localhost.send_recv(cmd)
|
||||||
|
|
||||||
|
oai_localhost.disconnect()
|
||||||
|
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|||||||
+1919
-1361
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,34 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import serial
|
import serial
|
||||||
@@ -28,17 +58,22 @@ from lib_autotest import *
|
|||||||
def find_open_port():
|
def find_open_port():
|
||||||
global serial_port, ser
|
global serial_port, ser
|
||||||
max_ports=100
|
max_ports=100
|
||||||
if os.path.exists(serial_port) == True:
|
serial_port=''
|
||||||
return serial_port
|
while True:
|
||||||
for port in range(2,100):
|
if os.path.exists(serial_port) == True:
|
||||||
serial_port = '/dev/ttyUSB'+str(port)
|
return serial_port
|
||||||
if os.path.exists(serial_port) == True:
|
for port in range(2,100):
|
||||||
print 'New Serial Port : ' + serial_port
|
serial_port_tmp = '/dev/ttyUSB'+str(port)
|
||||||
break
|
if os.path.exists(serial_port_tmp) == True:
|
||||||
|
print 'New Serial Port : ' + serial_port_tmp
|
||||||
ser = serial.Serial(port=serial_port)
|
serial_port = serial_port_tmp
|
||||||
return
|
break
|
||||||
|
if serial_port == '':
|
||||||
|
print" Not able to detect valid serial ports. Resetting the modem now..."
|
||||||
|
reset_ue()
|
||||||
|
else :
|
||||||
|
ser = serial.Serial(port=serial_port)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
#serial_port = '/dev/ttyUSB2'
|
#serial_port = '/dev/ttyUSB2'
|
||||||
@@ -106,6 +141,7 @@ def send_command (cmd, response, timeout):
|
|||||||
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||||
error = error + traceback.format_exc()
|
error = error + traceback.format_exc()
|
||||||
print error
|
print error
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
def start_ue () :
|
def start_ue () :
|
||||||
@@ -165,10 +201,12 @@ def reset_ue():
|
|||||||
ProductId=res[0][3]
|
ProductId=res[0][3]
|
||||||
usb_dir= find_usb_path(VendorId, ProductId)
|
usb_dir= find_usb_path(VendorId, ProductId)
|
||||||
print "Bandrich 4G LTE Adapter found in..." + usb_dir
|
print "Bandrich 4G LTE Adapter found in..." + usb_dir
|
||||||
|
print "Sleeping now for 45 seconds...please wait..."
|
||||||
cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\""
|
cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\""
|
||||||
os.system(cmd + " ; sleep 15" )
|
os.system(cmd + " ; sleep 15" )
|
||||||
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
|
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
|
||||||
os.system(cmd + " ; sleep 30" )
|
os.system(cmd + " ; sleep 30" )
|
||||||
|
stop_ue()
|
||||||
|
|
||||||
i=1
|
i=1
|
||||||
gw='192.172.0.1'
|
gw='192.172.0.1'
|
||||||
@@ -183,6 +221,7 @@ while i < len(sys.argv):
|
|||||||
print 'Using Serial port : ' + serial_port
|
print 'Using Serial port : ' + serial_port
|
||||||
stop_ue()
|
stop_ue()
|
||||||
elif arg == '--reset-ue' :
|
elif arg == '--reset-ue' :
|
||||||
|
find_open_port()
|
||||||
reset_ue()
|
reset_ue()
|
||||||
elif arg == '-gw' :
|
elif arg == '-gw' :
|
||||||
gw = sys.argv[i+1]
|
gw = sys.argv[i+1]
|
||||||
|
|||||||
@@ -1,4 +1,34 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import serial
|
import serial
|
||||||
@@ -28,16 +58,23 @@ from lib_autotest import *
|
|||||||
def find_open_port():
|
def find_open_port():
|
||||||
global serial_port, ser
|
global serial_port, ser
|
||||||
max_ports=100
|
max_ports=100
|
||||||
if os.path.exists(serial_port) == True:
|
serial_port=''
|
||||||
return serial_port
|
while True:
|
||||||
for port in range(0,100):
|
if os.path.exists(serial_port) == True:
|
||||||
serial_port = '/dev/ttyUSB'+str(port)
|
return serial_port
|
||||||
if os.path.exists(serial_port) == True:
|
for port in range(2,100):
|
||||||
print 'New Serial Port : ' + serial_port
|
serial_port_tmp = '/dev/ttyUSB'+str(port)
|
||||||
break
|
if os.path.exists(serial_port_tmp) == True:
|
||||||
|
print 'New Serial Port : ' + serial_port_tmp
|
||||||
|
serial_port = serial_port_tmp
|
||||||
|
break
|
||||||
|
if serial_port == '':
|
||||||
|
print" Not able to detect valid serial ports. Resetting the modem now..."
|
||||||
|
reset_ue()
|
||||||
|
else :
|
||||||
|
ser = serial.Serial(port=serial_port)
|
||||||
|
return
|
||||||
|
|
||||||
ser = serial.Serial(port=serial_port)
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -106,6 +143,7 @@ def send_command (cmd, response, timeout):
|
|||||||
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||||
error = error + traceback.format_exc()
|
error = error + traceback.format_exc()
|
||||||
print error
|
print error
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
def start_ue () :
|
def start_ue () :
|
||||||
@@ -143,11 +181,16 @@ def start_ue () :
|
|||||||
thread_ppp.join()
|
thread_ppp.join()
|
||||||
|
|
||||||
def stop_ue():
|
def stop_ue():
|
||||||
timeout=60
|
stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard'
|
||||||
os.system('killall wvdial')
|
status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'')
|
||||||
send_command('AT', 'OK' , timeout)
|
if (out == '') :
|
||||||
send_command('AT+CGATT=0' , 'OK|ERROR' , timeout)
|
print "Huawei E398 Adapter not found. Exiting now..."
|
||||||
#send_command('AT+CFUN=4' , 'OK' , timeout)
|
sys.exit()
|
||||||
|
timeout=60
|
||||||
|
os.system('killall wvdial')
|
||||||
|
send_command('AT', 'OK' , timeout)
|
||||||
|
send_command('AT+CGATT=0' , 'OK|ERROR' , timeout)
|
||||||
|
#send_command('AT+CFUN=4' , 'OK' , timeout)
|
||||||
|
|
||||||
|
|
||||||
#reset the USB BUS of Bandrich UE
|
#reset the USB BUS of Bandrich UE
|
||||||
@@ -155,7 +198,7 @@ def reset_ue():
|
|||||||
stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard'
|
stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard'
|
||||||
status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'')
|
status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'')
|
||||||
if (out == '') :
|
if (out == '') :
|
||||||
print "Bandrich 4G LTE Adapter not found. Exiting now..."
|
print "Huawei E398 Adapter not found. Exiting now..."
|
||||||
sys.exit()
|
sys.exit()
|
||||||
p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)')
|
p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)')
|
||||||
res=p.findall(out)
|
res=p.findall(out)
|
||||||
@@ -169,6 +212,7 @@ def reset_ue():
|
|||||||
os.system(cmd + " ; sleep 15" )
|
os.system(cmd + " ; sleep 15" )
|
||||||
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
|
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
|
||||||
os.system(cmd + " ; sleep 30" )
|
os.system(cmd + " ; sleep 30" )
|
||||||
|
stop_ue()
|
||||||
|
|
||||||
i=1
|
i=1
|
||||||
gw='192.172.0.1'
|
gw='192.172.0.1'
|
||||||
@@ -183,6 +227,7 @@ while i < len(sys.argv):
|
|||||||
print 'Using Serial port : ' + serial_port
|
print 'Using Serial port : ' + serial_port
|
||||||
stop_ue()
|
stop_ue()
|
||||||
elif arg == '--reset-ue' :
|
elif arg == '--reset-ue' :
|
||||||
|
find_open_port()
|
||||||
reset_ue()
|
reset_ue()
|
||||||
elif arg == '-gw' :
|
elif arg == '-gw' :
|
||||||
gw = sys.argv[i+1]
|
gw = sys.argv[i+1]
|
||||||
|
|||||||
@@ -0,0 +1,121 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import time
|
||||||
|
import serial
|
||||||
|
import os
|
||||||
|
from pyroute2 import IPRoute
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
import threading
|
||||||
|
import signal
|
||||||
|
import traceback
|
||||||
|
import os
|
||||||
|
import commands
|
||||||
|
|
||||||
|
# Find a device ID by running sudo adb devices
|
||||||
|
# The device ID below is for Sony Xperia M4
|
||||||
|
|
||||||
|
device_id='YT9115PX1E'
|
||||||
|
|
||||||
|
|
||||||
|
openair_dir = os.environ.get('OPENAIR_DIR')
|
||||||
|
if openair_dir == None:
|
||||||
|
print "Error getting OPENAIR_DIR environment variable"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/'))
|
||||||
|
|
||||||
|
from lib_autotest import *
|
||||||
|
|
||||||
|
def signal_handler(signal, frame):
|
||||||
|
print('You pressed Ctrl+C!')
|
||||||
|
print('Exiting now...')
|
||||||
|
timeout=10
|
||||||
|
exit_flag=1
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
|
||||||
|
# Find all the process IDs in a phone given the name of process
|
||||||
|
def kill_processes(name):
|
||||||
|
print " Killing all processes by name..." + name
|
||||||
|
while 1:
|
||||||
|
cmd = 'sudo adb -s ' + device_id +' shell "ps |grep ' + name + '"'
|
||||||
|
status, out = commands.getstatusoutput(cmd)
|
||||||
|
if status != 0:
|
||||||
|
print "Error executing command to kill process " + name
|
||||||
|
print "Error =" + out
|
||||||
|
sys.exit(1)
|
||||||
|
print "Out = " + out
|
||||||
|
if out=='':
|
||||||
|
break;
|
||||||
|
out_arr = out.split()
|
||||||
|
pid_to_kill = out_arr[1]
|
||||||
|
print "Now killing process ID " + pid_to_kill + " on Phone"
|
||||||
|
cmd = 'sudo adb -s ' + device_id +' shell "kill -9 ' + pid_to_kill + '"'
|
||||||
|
status, out = commands.getstatusoutput(cmd)
|
||||||
|
if status != 0:
|
||||||
|
print "Error execting command to kill process " + name
|
||||||
|
sys.exit(1)
|
||||||
|
print "Out = " + out
|
||||||
|
|
||||||
|
def start_ue () :
|
||||||
|
#print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
|
||||||
|
print 'Killing old iperf/ping sessions'
|
||||||
|
kill_processes('iperf')
|
||||||
|
kill_processes('iperf3')
|
||||||
|
kill_processes('ping')
|
||||||
|
print "Turning off airplane mode"
|
||||||
|
os.system('sudo -E adb devices')
|
||||||
|
os.system('sudo -E adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false\"')
|
||||||
|
|
||||||
|
while 1:
|
||||||
|
time.sleep ( 2)
|
||||||
|
#Now we check if ppp0 interface is up and running
|
||||||
|
try:
|
||||||
|
cmd = 'sudo adb -s ' + device_id + ' shell netcfg |grep 192.'
|
||||||
|
status, out = commands.getstatusoutput(cmd)
|
||||||
|
if (out == '') :
|
||||||
|
print "Waiting for UE to connect and get IP Address..."
|
||||||
|
else :
|
||||||
|
print "UE is now connected. IP Address settings are..." + out
|
||||||
|
os.system('sleep 5')
|
||||||
|
os.system ('sudo adb -s ' + device_id + ' shell ping ' + gw)
|
||||||
|
break
|
||||||
|
except Exception, e:
|
||||||
|
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||||
|
error = error + traceback.format_exc()
|
||||||
|
print error
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def stop_ue():
|
||||||
|
print "Turning on airplane mode"
|
||||||
|
os.system('sudo adb devices')
|
||||||
|
os.system('sudo adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true\" ')
|
||||||
|
print "Killing iperf/ping sessions"
|
||||||
|
kill_processes('iperf')
|
||||||
|
kill_processes('iperf3')
|
||||||
|
kill_processes('ping')
|
||||||
|
|
||||||
|
i=1
|
||||||
|
gw='192.172.0.1'
|
||||||
|
while i < len(sys.argv):
|
||||||
|
arg=sys.argv[i]
|
||||||
|
if arg == '--start-ue' :
|
||||||
|
start_ue()
|
||||||
|
elif arg == '--stop-ue' :
|
||||||
|
stop_ue()
|
||||||
|
elif arg == '-gw' :
|
||||||
|
gw = sys.argv[i+1]
|
||||||
|
i=i+1
|
||||||
|
elif arg == '-h' :
|
||||||
|
print "--stop-ue: Stop the UE. Turn on airplane mode"
|
||||||
|
print "--start-ue: Start the UE. Turn off airplane mode"
|
||||||
|
print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial"
|
||||||
|
else :
|
||||||
|
print " Script called with wrong arguments, arg = " + arg
|
||||||
|
sys.exit()
|
||||||
|
i = i +1
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +1,35 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
|
|
||||||
#arg1 idVendor
|
#arg1 idVendor
|
||||||
#arg2 idProduct
|
#arg2 idProduct
|
||||||
|
|||||||
Executable
+36
@@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
|
# To free unused memory else test setup runs out of memory
|
||||||
|
sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches '
|
||||||
|
|
||||||
|
|
||||||
Executable
+52
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
|
#arg1 timeout to wait before running the script
|
||||||
|
#arg2 interface
|
||||||
|
#arg3 iperf arguments
|
||||||
|
|
||||||
|
args=($*)
|
||||||
|
timeout=${args[0]}
|
||||||
|
iface=${args[1]}
|
||||||
|
iperf3_args=(${args[@]:2})
|
||||||
|
|
||||||
|
#array=${1:-1}
|
||||||
|
echo "args = ${args[@]}"
|
||||||
|
echo "timeout = $timeout"
|
||||||
|
echo "iface = $iface"
|
||||||
|
echo "iperf3_args = ${iperf3_args[@]}"
|
||||||
|
|
||||||
|
sleep $timeout
|
||||||
|
|
||||||
|
while true; do var=`ifconfig $iface` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5
|
||||||
|
|
||||||
|
iperf3 ${iperf3_args[@]}
|
||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
|
#arg1 timeout to wait before running the script
|
||||||
|
#arg2 interface
|
||||||
|
#arg3 iperf3 arguments
|
||||||
|
|
||||||
|
args=($*)
|
||||||
|
timeout=${args[0]}
|
||||||
|
device_id=${args[1]}
|
||||||
|
iperf3_args=(${args[@]:2})
|
||||||
|
|
||||||
|
#array=${1:-1}
|
||||||
|
echo "args = ${args[@]}"
|
||||||
|
echo "timeout = $timeout"
|
||||||
|
echo "device_id = $device_id"
|
||||||
|
echo "iperf3_args = ${iperf3_args[@]}"
|
||||||
|
|
||||||
|
sleep $timeout
|
||||||
|
|
||||||
|
while true ; do
|
||||||
|
cmd=`sudo adb -s $device_id shell netcfg |grep 192.`
|
||||||
|
if [ -z "$cmd" ]; then
|
||||||
|
echo "Wating for UE to connect and get IP Address..."
|
||||||
|
sleep 1
|
||||||
|
else
|
||||||
|
echo "UE is now connected. IP Address settings are... $cmd"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Starting iperf3 now..."
|
||||||
|
|
||||||
|
sudo adb -s $device_id shell /data/local/tmp/iperf3 ${iperf3_args[@]}
|
||||||
@@ -1,4 +1,34 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
#arg1 timeout to wait before running the script
|
#arg1 timeout to wait before running the script
|
||||||
#arg2 interface
|
#arg2 interface
|
||||||
|
|||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
|
#arg1 timeout to wait before running the script
|
||||||
|
#arg2 interface
|
||||||
|
#arg3 iperf arguments
|
||||||
|
|
||||||
|
args=($*)
|
||||||
|
timeout=${args[0]}
|
||||||
|
device_id=${args[1]}
|
||||||
|
iperf_args=(${args[@]:2})
|
||||||
|
|
||||||
|
#array=${1:-1}
|
||||||
|
echo "args = ${args[@]}"
|
||||||
|
echo "timeout = $timeout"
|
||||||
|
echo "device_id = $device_id"
|
||||||
|
echo "iperf_args = ${iperf_args[@]}"
|
||||||
|
|
||||||
|
sleep $timeout
|
||||||
|
|
||||||
|
while true ; do
|
||||||
|
cmd=`sudo adb -s $device_id shell netcfg |grep 192.`
|
||||||
|
if [ -z "$cmd" ]; then
|
||||||
|
echo "Wating for UE to connect and get IP Address..."
|
||||||
|
sleep 1
|
||||||
|
else
|
||||||
|
echo "UE is now connected. IP Address settings are... $cmd"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Starting iperf now..."
|
||||||
|
|
||||||
|
sudo adb -s $device_id shell /data/local/tmp/iperf ${iperf_args[@]}
|
||||||
@@ -1,4 +1,34 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from pyroute2 import IPRoute
|
from pyroute2 import IPRoute
|
||||||
|
|||||||
@@ -1,4 +1,35 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
#******************************************************************************
|
||||||
|
|
||||||
|
# OpenAirInterface
|
||||||
|
# Copyright(c) 1999 - 2014 Eurecom
|
||||||
|
|
||||||
|
# OpenAirInterface is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
|
||||||
|
# OpenAirInterface is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with OpenAirInterface.The full GNU General Public License is
|
||||||
|
# included in this distribution in the file called "COPYING". If not,
|
||||||
|
# see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Contact Information
|
||||||
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
|
|
||||||
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
|
# *******************************************************************************/
|
||||||
|
# \author Navid Nikaein, Rohit Gupta
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
@@ -23,9 +54,9 @@ file.close()
|
|||||||
if keyword == 'mme_ip_address':
|
if keyword == 'mme_ip_address':
|
||||||
replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; '
|
replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; '
|
||||||
string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
||||||
elif keyword == 'IPV4_LIST':
|
elif keyword == 'IPV4_LIST' or keyword=='GUMMEI_LIST' or keyword == 'TAI_LIST':
|
||||||
replacement_text = keyword + ' = ( ' + replacement_text + ' ) ; '
|
replacement_text = keyword + ' = ( ' + replacement_text + ' ) ; '
|
||||||
string = re.sub(r"IPV4_LIST\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
string = re.sub(r"%s\s*=\s*\(([^\$]+?)\)\s*;" % keyword, replacement_text, string, re.M)
|
||||||
elif keyword == 'rrh_gw_config':
|
elif keyword == 'rrh_gw_config':
|
||||||
replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; '
|
replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; '
|
||||||
string = re.sub(r"rrh_gw_config\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
string = re.sub(r"rrh_gw_config\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M)
|
||||||
|
|||||||
+35
-16
@@ -45,8 +45,9 @@ MSC_GEN="False"
|
|||||||
XFORMS="True"
|
XFORMS="True"
|
||||||
PRINT_STATS="False"
|
PRINT_STATS="False"
|
||||||
VCD_TIMING="False"
|
VCD_TIMING="False"
|
||||||
LOWLATENCY_FLAG_USER="False"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
FORCE_LOWLATENCY_FLAG_USER=""
|
FORCE_DEADLINE_SCHEDULER_FLAG_USER=""
|
||||||
|
CPU_AFFINITY_FLAG_USER="True" #Only valid when lowlatecy flag is set to False
|
||||||
REL="Rel10"
|
REL="Rel10"
|
||||||
HW="None"
|
HW="None"
|
||||||
TP="None"
|
TP="None"
|
||||||
@@ -125,7 +126,9 @@ Options
|
|||||||
--disable-deadline
|
--disable-deadline
|
||||||
Disables deadline scheduler of Linux kernel (>=3.14.x).
|
Disables deadline scheduler of Linux kernel (>=3.14.x).
|
||||||
--enable-deadline
|
--enable-deadline
|
||||||
Disables deadline scheduler of Linux kernel (>=3.14.x).
|
Enable deadline scheduler of Linux kernel (>=3.14.x).
|
||||||
|
--disable-cpu-affinity
|
||||||
|
Disables CPU Affinity between UHD/TX/RX Threads (Valid only when deadline scheduler is disabled). By defaulT, CPU Affinity is enabled when not using deadline scheduler. It is enabled only with >2 CPUs. For eNB, CPU_0-> Device library (UHD), CPU_1->TX Threads, CPU_2...CPU_MAX->Rx Threads. For UE, CPU_0->Device Library(UHD), CPU_1..CPU_MAX -> All the UE threads
|
||||||
--T-tracer
|
--T-tracer
|
||||||
Enables the T tracer.
|
Enables the T tracer.
|
||||||
Usage (first build):
|
Usage (first build):
|
||||||
@@ -259,13 +262,17 @@ function main() {
|
|||||||
echo_info "Will build doxygen support"
|
echo_info "Will build doxygen support"
|
||||||
shift;;
|
shift;;
|
||||||
--disable-deadline)
|
--disable-deadline)
|
||||||
FORCE_LOWLATENCY_FLAG_USER="False"
|
FORCE_DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
echo_info "Disabling the usage of deadline scheduler"
|
echo_info "Disabling the usage of deadline scheduler"
|
||||||
shift 1;;
|
shift 1;;
|
||||||
--enable-deadline)
|
--enable-deadline)
|
||||||
FORCE_LOWLATENCY_FLAG_USER="True"
|
FORCE_DEADLINE_SCHEDULER_FLAG_USER="True"
|
||||||
echo_info "Enabling the usage of deadline scheduler"
|
echo_info "Enabling the usage of deadline scheduler"
|
||||||
shift 1;;
|
shift 1;;
|
||||||
|
--disable-cpu-affinity)
|
||||||
|
CPU_AFFINITY_FLAG_USER="False"
|
||||||
|
echo_info "Disabling CPU Affinity (only valid when not using deadline scheduler)"
|
||||||
|
shift 1;;
|
||||||
--T-tracer)
|
--T-tracer)
|
||||||
T_TRACER="True"
|
T_TRACER="True"
|
||||||
echo_info "Enabling the T tracer"
|
echo_info "Enabling the T tracer"
|
||||||
@@ -314,29 +321,34 @@ function main() {
|
|||||||
#By default: USRP: disable,
|
#By default: USRP: disable,
|
||||||
#By default: BLADERF: enable,
|
#By default: BLADERF: enable,
|
||||||
#By default: EXMIMO: enable
|
#By default: EXMIMO: enable
|
||||||
if [ "$FORCE_LOWLATENCY_FLAG_USER" = "" ]; then
|
if [ "$FORCE_DEADLINE_SCHEDULER_FLAG_USER" = "" ]; then
|
||||||
if [ "$HW" = "EXMIMO" ] ; then
|
if [ "$HW" = "EXMIMO" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="True"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
elif [ "$HW" = "ETHERNET" ] ; then
|
elif [ "$HW" = "ETHERNET" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="True"
|
DEADLINE_SCHEDULER_FLAG_USER="True"
|
||||||
elif [ "$HW" = "OAI_USRP" ] ; then
|
elif [ "$HW" = "OAI_USRP" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="False"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
elif [ "$HW" = "OAI_BLADERF" ] ; then
|
elif [ "$HW" = "OAI_BLADERF" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="False"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
elif [ "$HW" = "OAI_LMSSDR" ] ; then
|
elif [ "$HW" = "OAI_LMSSDR" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="False"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
elif [ "$HW" = "None" ] ; then
|
elif [ "$HW" = "None" ] ; then
|
||||||
LOWLATENCY_FLAG_USER="False"
|
DEADLINE_SCHEDULER_FLAG_USER="False"
|
||||||
else
|
else
|
||||||
echo_error "Unknown HW type $HW. Exiting now..."
|
echo_error "Unknown HW type $HW. Exiting now..."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
LOWLATENCY_FLAG_USER=$FORCE_LOWLATENCY_FLAG_USER
|
DEADLINE_SCHEDULER_FLAG_USER=$FORCE_DEADLINE_SCHEDULER_FLAG_USER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo_info "Flags for Deadline scheduler: $LOWLATENCY_FLAG_USER"
|
#Disable CPU Affinity for deadline scheduler
|
||||||
|
if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then
|
||||||
|
CPU_AFFINITY_FLAG_USER="False"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo_info "Flags for Deadline scheduler: $DEADLINE_SCHEDULER_FLAG_USER"
|
||||||
|
echo_info "Flags for CPU Affinity: $CPU_AFFINITY_FLAG_USER"
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# setting and printing OAI envs, we should check here
|
# setting and printing OAI envs, we should check here
|
||||||
@@ -427,7 +439,8 @@ function main() {
|
|||||||
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
|
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
|
||||||
echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file
|
echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file
|
||||||
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
|
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
|
||||||
echo "set (LOWLATENCY \"${LOWLATENCY_FLAG_USER}\" )" >>$cmake_file
|
echo "set (DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file
|
||||||
|
echo "set (CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file
|
||||||
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
||||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||||
cd $DIR/$lte_build_dir/build
|
cd $DIR/$lte_build_dir/build
|
||||||
@@ -480,6 +493,11 @@ function main() {
|
|||||||
# generate USIM data
|
# generate USIM data
|
||||||
if [ -f $dbin/nvram ]; then
|
if [ -f $dbin/nvram ]; then
|
||||||
install_nas_tools $dbin $dconf
|
install_nas_tools $dbin $dconf
|
||||||
|
echo_info "Copying UE specific part to $DIR/$lte_build_dir/build"
|
||||||
|
cp -Rvf $dbin/.ue_emm.nvram $DIR/$lte_build_dir/build
|
||||||
|
cp -Rvf $dbin/.ue.nvram $DIR/$lte_build_dir/build
|
||||||
|
cp -Rvf $dbin/.usim.nvram $DIR/$lte_build_dir/build
|
||||||
|
|
||||||
else
|
else
|
||||||
echo_warning "not generated UE NAS files: binaries not found"
|
echo_warning "not generated UE NAS files: binaries not found"
|
||||||
fi
|
fi
|
||||||
@@ -652,7 +670,8 @@ function main() {
|
|||||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
||||||
echo "set(TRANSP_PRO \"${TP}\")" >> $cmake_file
|
echo "set(TRANSP_PRO \"${TP}\")" >> $cmake_file
|
||||||
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
||||||
echo "set (LOWLATENCY \"${LOWLATENCY_FLAG_USER}\" )" >>$cmake_file
|
echo "set (DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file
|
||||||
|
echo "set (CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file
|
||||||
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
||||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||||
cd $DIR/$rrh_build_dir/build
|
cd $DIR/$rrh_build_dir/build
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
|
||||||
|
set ( ASN_DEBUG False)
|
||||||
set ( ADDR_CONF False )
|
set ( ADDR_CONF False )
|
||||||
set ( DEBUG_OMG False )
|
set ( DEBUG_OMG False )
|
||||||
set ( DISABLE_XER_PRINT False )
|
set ( DISABLE_XER_PRINT False )
|
||||||
set ( DRIVER2013 True )
|
set ( DRIVER2013 True )
|
||||||
set ( EMOS False )
|
set ( EMOS False )
|
||||||
|
set ( EMIT_ASN_DEBUG False )
|
||||||
set ( ENABLE_FXP True )
|
set ( ENABLE_FXP True )
|
||||||
set ( ENABLE_ITTI True )
|
set ( ENABLE_ITTI True )
|
||||||
set ( ENABLE_NAS_UE_LOGGING True )
|
set ( ENABLE_NAS_UE_LOGGING True )
|
||||||
@@ -27,7 +29,7 @@ set ( LINUX_LIST False )
|
|||||||
set ( LINUX True )
|
set ( LINUX True )
|
||||||
set ( LOCALIZATION False )
|
set ( LOCALIZATION False )
|
||||||
set ( LOG_NO_THREAD True )
|
set ( LOG_NO_THREAD True )
|
||||||
set ( LOWLATENCY False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False)
|
set ( MESSAGE_CHART_GENERATOR False)
|
||||||
@@ -47,9 +49,9 @@ set ( OAI_EMU False )
|
|||||||
set ( OAISIM False )
|
set ( OAISIM False )
|
||||||
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
|
||||||
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
set ( OAI_NW_DRIVER_USE_NETLINK True )
|
||||||
set ( OPENAIR1 False )
|
set ( OPENAIR1 True )
|
||||||
set ( OPENAIR2 False )
|
set ( OPENAIR2 True )
|
||||||
set ( OPENAIR_LTE F )
|
set ( OPENAIR_LTE True )
|
||||||
set ( PACKAGE_NAME "epc_test" )
|
set ( PACKAGE_NAME "epc_test" )
|
||||||
set ( PBS_SIM False )
|
set ( PBS_SIM False )
|
||||||
set ( PDCP_USE_NETLINK True )
|
set ( PDCP_USE_NETLINK True )
|
||||||
@@ -74,4 +76,4 @@ set ( SMBV False )
|
|||||||
set ( TEST_OMG False )
|
set ( TEST_OMG False )
|
||||||
set ( USE_MME "R10" )
|
set ( USE_MME "R10" )
|
||||||
set ( USER_MODE True )
|
set ( USER_MODE True )
|
||||||
set ( XER_PRINT False )
|
set ( XER_PRINT True )
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ set ( LINUX_LIST False )
|
|||||||
set ( LINUX True )
|
set ( LINUX True )
|
||||||
set ( LOCALIZATION False )
|
set ( LOCALIZATION False )
|
||||||
set ( LOG_NO_THREAD True )
|
set ( LOG_NO_THREAD True )
|
||||||
set ( LOWLATENCY False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False)
|
set ( MESSAGE_CHART_GENERATOR False)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ set ( LINUX_LIST False )
|
|||||||
set ( LINUX False )
|
set ( LINUX False )
|
||||||
set ( LOCALIZATION False )
|
set ( LOCALIZATION False )
|
||||||
set ( LOG_NO_THREAD False )
|
set ( LOG_NO_THREAD False )
|
||||||
set ( LOWLATENCY False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
set ( MIH_C_MEDIEVAL_EXTENSIONS False )
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ set ( LINUX_LIST False )
|
|||||||
set ( LINUX True )
|
set ( LINUX True )
|
||||||
set ( LOCALIZATION False )
|
set ( LOCALIZATION False )
|
||||||
set ( LOG_NO_THREAD 1 )
|
set ( LOG_NO_THREAD 1 )
|
||||||
set ( LOWLATENCY False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False )
|
set ( MESSAGE_CHART_GENERATOR False )
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ set ( LINUX_LIST False )
|
|||||||
set ( LINUX True )
|
set ( LINUX True )
|
||||||
set ( LOCALIZATION False )
|
set ( LOCALIZATION False )
|
||||||
set ( LOG_NO_THREAD True )
|
set ( LOG_NO_THREAD True )
|
||||||
set ( LOWLATENCY False )
|
set ( DEADLINE_SCHEDULER False )
|
||||||
set ( MAC_CONTEXT 1 )
|
set ( MAC_CONTEXT 1 )
|
||||||
set ( MAX_NUM_CCs 1 )
|
set ( MAX_NUM_CCs 1 )
|
||||||
set ( MESSAGE_CHART_GENERATOR False)
|
set ( MESSAGE_CHART_GENERATOR False)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
# file build_helper
|
# file build_helper
|
||||||
# brief
|
# brief
|
||||||
# author Laurent Thomas
|
# authors Laurent Thomas, Lionel GAUTHIER
|
||||||
#
|
#
|
||||||
#######################################
|
#######################################
|
||||||
SUDO='sudo -E'
|
SUDO='sudo -E'
|
||||||
@@ -132,10 +132,21 @@ compilations() {
|
|||||||
############################################
|
############################################
|
||||||
|
|
||||||
install_nettle_from_source() {
|
install_nettle_from_source() {
|
||||||
|
nettle_install_log=$OPENAIR_DIR/cmake_targets/log/nettle_install_log.txt
|
||||||
|
echo_info "\nInstalling Nettle. The log file for nettle installation is here: $nettle_install_log "
|
||||||
|
(
|
||||||
cd /tmp
|
cd /tmp
|
||||||
echo "Downloading nettle archive"
|
echo "Downloading nettle archive"
|
||||||
rm -rf /tmp/nettle-2.5.tar.gz* /tmp/nettle-2.5
|
$SUDO rm -rf /tmp/nettle-2.5.tar.gz* /tmp/nettle-2.5
|
||||||
wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz
|
wget https://ftp.gnu.org/gnu/nettle/nettle-2.5.tar.gz
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
wget ftp://ftp.lysator.liu.se/pub/security/lsh/nettle-2.5.tar.gz
|
||||||
|
fi
|
||||||
|
if [ ! -f nettle-2.5.tar.gz ]; then
|
||||||
|
echo_error "Could not download nettle source files"
|
||||||
|
cd -
|
||||||
|
return
|
||||||
|
fi
|
||||||
tar -xzf nettle-2.5.tar.gz
|
tar -xzf nettle-2.5.tar.gz
|
||||||
cd nettle-2.5/
|
cd nettle-2.5/
|
||||||
./configure --disable-openssl --enable-shared --prefix=/usr
|
./configure --disable-openssl --enable-shared --prefix=/usr
|
||||||
@@ -143,21 +154,32 @@ install_nettle_from_source() {
|
|||||||
make -j`nproc`
|
make -j`nproc`
|
||||||
make check
|
make check
|
||||||
$SUDO make install
|
$SUDO make install
|
||||||
rm -rf /tmp/nettle-2.5.tar.gz /tmp/nettle-2.5
|
) >& $nettle_install_log
|
||||||
}
|
}
|
||||||
|
|
||||||
install_gnutls_from_source(){
|
install_gnutls_from_source(){
|
||||||
|
gnutls_install_log=$OPENAIR_DIR/cmake_targets/log/gnutls_install_log.txt
|
||||||
|
echo_info "\nInstalling Gnutls. The log file for Gnutls installation is here: $gnutls_install_log "
|
||||||
|
(
|
||||||
cd /tmp
|
cd /tmp
|
||||||
echo "Downloading gnutls archive"
|
echo "Downloading gnutls archive"
|
||||||
rm -rf /tmp/gnutls-3.1.23.tar.xz* /tmp/gnutls-3.1.23
|
$SUDO rm -rf /tmp/gnutls-3.1.23.tar.xz* /tmp/gnutls-3.1.23
|
||||||
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz
|
wget http://mirrors.dotsrc.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz
|
||||||
tar -xzf gnutls-3.1.23.tar.xz
|
if [ $? -ne 0 ]; then
|
||||||
|
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/gnutls-3.1.23.tar.xz
|
||||||
|
fi
|
||||||
|
if [ ! -f gnutls-3.1.23.tar.xz ]; then
|
||||||
|
echo_error "Could not download gnutls source files"
|
||||||
|
cd -
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
tar -xJf gnutls-3.1.23.tar.xz
|
||||||
cd gnutls-3.1.23/
|
cd gnutls-3.1.23/
|
||||||
./configure --prefix=/usr
|
./configure --prefix=/usr
|
||||||
echo "Compiling gnutls"
|
echo "Compiling gnutls"
|
||||||
make -j`nproc`
|
make -j`nproc`
|
||||||
$SUDO make install
|
$SUDO make install
|
||||||
rm -rf /tmp/gnutls-3.1.23.tar.xz /tmp/gnutls-3.1.23
|
)>& $gnutls_install_log
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -269,14 +291,18 @@ check_install_oai_software() {
|
|||||||
pydb \
|
pydb \
|
||||||
wvdial \
|
wvdial \
|
||||||
python-numpy \
|
python-numpy \
|
||||||
sshpass
|
sshpass \
|
||||||
|
libxslt1-dev \
|
||||||
|
android-tools-adb \
|
||||||
|
iperf3
|
||||||
|
|
||||||
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
|
||||||
if [ `lsb_release -rs` = '12.04' ] ; then
|
|
||||||
install_nettle_from_source
|
# First we remove gnutls/nettle installation and then install from sources
|
||||||
install_gnutls_from_source
|
$SUDO apt-get remove -y libgnutls-dev nettle-dev nettle-bin
|
||||||
else
|
install_nettle_from_source
|
||||||
$SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin
|
install_gnutls_from_source
|
||||||
fi
|
|
||||||
$SUDO pip install paramiko
|
$SUDO pip install paramiko
|
||||||
$SUDO pip install pyroute2
|
$SUDO pip install pyroute2
|
||||||
install_asn1c_from_source
|
install_asn1c_from_source
|
||||||
@@ -285,20 +311,22 @@ check_install_oai_software() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_asn1c_from_source(){
|
install_asn1c_from_source(){
|
||||||
asn1_install_dir=$OPENAIR_DIR/cmake_targets/log/asn1c_install_log.txt
|
asn1_install_log=$OPENAIR_DIR/cmake_targets/log/asn1c_install_log.txt
|
||||||
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_dir "
|
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
|
||||||
(
|
(
|
||||||
rm -rf /tmp/asn1c-r1516
|
$SUDO rm -rf /tmp/asn1c-r1516
|
||||||
mkdir -p /tmp/asn1c-r1516
|
mkdir -p /tmp/asn1c-r1516
|
||||||
cd /tmp/asn1c-r1516
|
cd /tmp/asn1c-r1516
|
||||||
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516
|
rm -rf /tmp/asn1c-r1516/*
|
||||||
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0
|
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c
|
||||||
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0
|
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c
|
||||||
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0
|
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 >> /tmp/log_compile_asn1c
|
||||||
|
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 >> /tmp/log_compile_asn1c
|
||||||
|
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_3.p0 >> /tmp/log_compile_asn1c
|
||||||
./configure
|
./configure
|
||||||
make -j`nproc`
|
make -j`nproc`
|
||||||
$SUDO make install
|
$SUDO make install
|
||||||
) > $asn1_install_dir 2>&1
|
) > $asn1_install_log 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
#################################################
|
#################################################
|
||||||
@@ -324,7 +352,6 @@ install_nas_tools() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# set_openair_env
|
# set_openair_env
|
||||||
###############################
|
###############################
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
# Contact Information
|
# Contact Information
|
||||||
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
# OpenAirInterface Admin: openair_admin@eurecom.fr
|
||||||
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
# OpenAirInterface Tech : openair_tech@eurecom.fr
|
||||||
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
|
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
||||||
#
|
#
|
||||||
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
#
|
#
|
||||||
@@ -121,6 +121,7 @@ function main()
|
|||||||
echo "Cleaning TEST_EPC"
|
echo "Cleaning TEST_EPC"
|
||||||
fi
|
fi
|
||||||
rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario
|
rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario
|
||||||
|
rm -f $OPENAIR_DIR/targets/bin/test_epc_play_scenario
|
||||||
rm -Rf build 2>&1
|
rm -Rf build 2>&1
|
||||||
mkdir -m 777 -p -v build
|
mkdir -m 777 -p -v build
|
||||||
fi
|
fi
|
||||||
@@ -140,6 +141,13 @@ function main()
|
|||||||
compilations \
|
compilations \
|
||||||
epc_test test_epc_generate_scenario \
|
epc_test test_epc_generate_scenario \
|
||||||
test_epc_generate_scenario $dbin/test_epc_generate_scenario
|
test_epc_generate_scenario $dbin/test_epc_generate_scenario
|
||||||
|
|
||||||
|
compilations \
|
||||||
|
epc_test test_epc_play_scenario \
|
||||||
|
test_epc_play_scenario $dbin/test_epc_play_scenario
|
||||||
|
|
||||||
|
$SUDO cp -upv test_epc_generate_scenario /usr/local/bin
|
||||||
|
$SUDO cp -upv test_epc_play_scenario /usr/local/bin
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Executable
+177
@@ -0,0 +1,177 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# in those arrays, each line is:
|
||||||
|
# <file> <sha1sum of file (without line 4 which changes depending on the location of the files)> <patch to apply to file>
|
||||||
|
|
||||||
|
RRC_Rel10=(
|
||||||
|
"SystemInformation-r8-IEs.h" 603cd6615cff36ec7020692d72c0d6de7c4859cb "fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff"
|
||||||
|
)
|
||||||
|
|
||||||
|
X2AP_Rel11_2=(
|
||||||
|
"X2ap-CriticalityDiagnostics-IE-List.h" ae96308b37fcbcbf39da5012e42968135fc5f27b "fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff"
|
||||||
|
"NativeInteger.c" 1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff"
|
||||||
|
"constr_SET_OF.c" 808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff"
|
||||||
|
)
|
||||||
|
|
||||||
|
S1AP_Rel10_5=(
|
||||||
|
"NativeInteger.c" 1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff"
|
||||||
|
"constr_SET_OF.c" 808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff"
|
||||||
|
)
|
||||||
|
|
||||||
|
red_color="$(tput setaf 1)"
|
||||||
|
green_color="$(tput setaf 2)"
|
||||||
|
reset_color="$(tput sgr0)"
|
||||||
|
|
||||||
|
function error()
|
||||||
|
{
|
||||||
|
echo -e "$red_color"ERROR: "$@""$reset_color"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_sha1()
|
||||||
|
{
|
||||||
|
local file="$1"
|
||||||
|
local target_sha1="$2"
|
||||||
|
|
||||||
|
if [ ! -f "$file" ]
|
||||||
|
then
|
||||||
|
error "$file: no such file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# we don't use the line 4 of the file
|
||||||
|
# it contains the location of the ASN1 grammar
|
||||||
|
# and this location is not the same on every
|
||||||
|
# installation (this is for *.h files, for *.c
|
||||||
|
# files it's no big deal to skip that line)
|
||||||
|
local computed_sha1=$(sed 4d "$file" | sha1sum | cut -f 1 -d ' ')
|
||||||
|
|
||||||
|
if [ "$target_sha1" != "$computed_sha1" ]
|
||||||
|
then
|
||||||
|
error "$file: wrong SHA1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function patch_file()
|
||||||
|
{
|
||||||
|
local patch="$1"
|
||||||
|
local file="$2"
|
||||||
|
|
||||||
|
echo -e "$green_color""patch file $file with $OPENAIR_DIR/cmake_targets/tools/$patch""$reset_color"
|
||||||
|
|
||||||
|
patch "$file" "$OPENAIR_DIR/cmake_targets/tools/$patch"
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
error "patching of $file with $OPENAIR_DIR/cmake_targets/tools/$patch failed"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function apply_patches()
|
||||||
|
{
|
||||||
|
local directory="$1"
|
||||||
|
local array=$2
|
||||||
|
local len=$3 # the length could be computed locally but the way to do it is not clear to me [CROUX]
|
||||||
|
|
||||||
|
local i
|
||||||
|
local file
|
||||||
|
local sha1
|
||||||
|
local patch
|
||||||
|
local item
|
||||||
|
|
||||||
|
for (( i = 0; i < $len; i += 3 ))
|
||||||
|
do
|
||||||
|
# special bash syntax to access the array
|
||||||
|
item=$array[$i]; file=${!item}
|
||||||
|
item=$array[$((i+1))]; sha1=${!item}
|
||||||
|
item=$array[$((i+2))]; patch=${!item}
|
||||||
|
check_sha1 "$directory/$file" "$sha1"
|
||||||
|
patch_file "$patch" "$directory/$file"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function patch_rrc()
|
||||||
|
{
|
||||||
|
local directory="$1"
|
||||||
|
local version="$2"
|
||||||
|
|
||||||
|
case "$version" in
|
||||||
|
Rel10 )
|
||||||
|
echo "patching RRC files release 10"
|
||||||
|
apply_patches "$directory" RRC_Rel10 ${#RRC_Rel10[*]}
|
||||||
|
;;
|
||||||
|
Rel8 )
|
||||||
|
echo "patching RRC files release 8 TODO?"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
error unknwon/unhandled RRC version \'"$version"\'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function patch_x2ap()
|
||||||
|
{
|
||||||
|
local directory="$1"
|
||||||
|
local version="$2"
|
||||||
|
|
||||||
|
case "$version" in
|
||||||
|
R11 )
|
||||||
|
echo "patching X2AP files release 11.2"
|
||||||
|
apply_patches "$directory" X2AP_Rel11_2 ${#X2AP_Rel11_2[*]}
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
error unknwon/unhandled X2AP version \'"$version"\'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function patch_s1ap()
|
||||||
|
{
|
||||||
|
local directory="$1"
|
||||||
|
local version="$2"
|
||||||
|
|
||||||
|
case "$version" in
|
||||||
|
R10 )
|
||||||
|
echo "patching S1AP files release 10.5"
|
||||||
|
apply_patches "$directory" S1AP_Rel10_5 ${#S1AP_Rel10_5[*]}
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
error unknwon/unhandled S1AP version \'"$version"\'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function main()
|
||||||
|
{
|
||||||
|
if [ $# -ne 3 ]
|
||||||
|
then
|
||||||
|
echo "ERROR: pass <output directory> <module> <version>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ x"$OPENAIR_DIR" = x ]
|
||||||
|
then
|
||||||
|
error "the variable OPENAIR_DIR is not set"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local directory="$1"
|
||||||
|
local module="$2"
|
||||||
|
local version="$3"
|
||||||
|
|
||||||
|
case "$module" in
|
||||||
|
RRC )
|
||||||
|
patch_rrc "$directory" "$version"
|
||||||
|
;;
|
||||||
|
X2AP )
|
||||||
|
patch_x2ap "$directory" "$version"
|
||||||
|
;;
|
||||||
|
S1AP )
|
||||||
|
patch_s1ap "$directory" "$version"
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
error unknown module "$module"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
57,61d56
|
||||||
|
< /* SystemInformation-r8-IEs */
|
||||||
|
< typedef struct SystemInformation_r8_IEs {
|
||||||
|
< struct SystemInformation_r8_IEs__sib_TypeAndInfo {
|
||||||
|
< A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
|
||||||
|
< SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
|
||||||
|
79c74,78
|
||||||
|
< } choice;
|
||||||
|
---
|
||||||
|
> };
|
||||||
|
>
|
||||||
|
> struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
|
||||||
|
> SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
|
||||||
|
> union SystemInformation_r8_IEs__sib_TypeAndInfo__Member_u choice;
|
||||||
|
83c82,87
|
||||||
|
< } ) list;
|
||||||
|
---
|
||||||
|
> };
|
||||||
|
>
|
||||||
|
> /* SystemInformation-r8-IEs */
|
||||||
|
> typedef struct SystemInformation_r8_IEs {
|
||||||
|
> struct SystemInformation_r8_IEs__sib_TypeAndInfo {
|
||||||
|
> A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member) list;
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
283c283
|
||||||
|
< int dynamic = 0;
|
||||||
|
---
|
||||||
|
> //int dynamic = 0;
|
||||||
|
290c290
|
||||||
|
< dynamic = 1;
|
||||||
|
---
|
||||||
|
> //dynamic = 1;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
1007c1007
|
||||||
|
< (int)nelems, (int)ct ? ct->effective_bits : -1);
|
||||||
|
---
|
||||||
|
> (int)nelems, ct ? ct->effective_bits : -1);
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
283c283
|
||||||
|
< int dynamic = 0;
|
||||||
|
---
|
||||||
|
> //int dynamic = 0;
|
||||||
|
290c290
|
||||||
|
< dynamic = 1;
|
||||||
|
---
|
||||||
|
> //dynamic = 1;
|
||||||
+15
@@ -0,0 +1,15 @@
|
|||||||
|
29,31c29
|
||||||
|
< /* X2ap-CriticalityDiagnostics-IE-List */
|
||||||
|
< typedef struct X2ap_CriticalityDiagnostics_IE_List {
|
||||||
|
< A_SEQUENCE_OF(struct X2ap_CriticalityDiagnostics_IE_List__Member {
|
||||||
|
---
|
||||||
|
> struct X2ap_CriticalityDiagnostics_IE_List__Member {
|
||||||
|
43c41,46
|
||||||
|
< } ) list;
|
||||||
|
---
|
||||||
|
> };
|
||||||
|
>
|
||||||
|
> /* X2ap-CriticalityDiagnostics-IE-List */
|
||||||
|
> typedef struct X2ap_CriticalityDiagnostics_IE_List {
|
||||||
|
> A_SEQUENCE_OF(struct X2ap_CriticalityDiagnostics_IE_List__Member
|
||||||
|
> ) list;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
1007c1007
|
||||||
|
< (int)nelems, (int)ct ? ct->effective_bits : -1);
|
||||||
|
---
|
||||||
|
> (int)nelems, ct ? ct->effective_bits : -1);
|
||||||
@@ -71,6 +71,7 @@ function help()
|
|||||||
echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte"
|
echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte"
|
||||||
echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface."
|
echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface."
|
||||||
echo_error " -x, --xforms Run XFORMS scope windows."
|
echo_error " -x, --xforms Run XFORMS scope windows."
|
||||||
|
echo_error " -n, --num-frames Set number of frames for simulation"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -165,6 +166,11 @@ function main()
|
|||||||
exe_arguments="$exe_arguments -P wireshark"
|
exe_arguments="$exe_arguments -P wireshark"
|
||||||
shift 1;
|
shift 1;
|
||||||
;;
|
;;
|
||||||
|
-n | --num-frames)
|
||||||
|
echo "setting the number of frames in simulation to $2"
|
||||||
|
exe_arguments="$exe_arguments -n $2"
|
||||||
|
shift 2;
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown option $1"
|
echo "Unknown option $1"
|
||||||
help
|
help
|
||||||
|
|||||||
@@ -81,8 +81,10 @@ function help()
|
|||||||
echo_error " "
|
echo_error " "
|
||||||
echo_error "Options:"
|
echo_error "Options:"
|
||||||
echo_error "Mandatory arguments to long options are mandatory for short options too."
|
echo_error "Mandatory arguments to long options are mandatory for short options too."
|
||||||
|
echo_error " -a, --abstraction enable phy abstraction mode"
|
||||||
echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
|
echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
|
||||||
echo_error " Default eNB config file if not set is $1"
|
echo_error " Default eNB config file if not set is $1"
|
||||||
|
echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim."
|
||||||
echo_error " -g, --gdb Run with GDB."
|
echo_error " -g, --gdb Run with GDB."
|
||||||
echo_error " -h, --help Print this help."
|
echo_error " -h, --help Print this help."
|
||||||
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)"
|
||||||
@@ -114,8 +116,14 @@ function main()
|
|||||||
until [ -z "$1" ]
|
until [ -z "$1" ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
-a | --abstraction )
|
||||||
|
abstraction_flag=1
|
||||||
|
echo "enabling abstraction mode"
|
||||||
|
exe_arguments="$exe_arguments -a"
|
||||||
|
shift;
|
||||||
|
;;
|
||||||
-c | -C | --config-file)
|
-c | -C | --config-file)
|
||||||
CONFIG_FILE_ENB=$2
|
CONFIG_FILE_ENB=$2
|
||||||
# may be relative path
|
# may be relative path
|
||||||
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
|
if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
|
||||||
CONFIG_FILE_ENB=$(dirname $(readlink -f $0))/$CONFIG_FILE
|
CONFIG_FILE_ENB=$(dirname $(readlink -f $0))/$CONFIG_FILE
|
||||||
@@ -131,6 +139,11 @@ function main()
|
|||||||
fi
|
fi
|
||||||
shift 2;
|
shift 2;
|
||||||
;;
|
;;
|
||||||
|
-l | --log-level)
|
||||||
|
echo "setting the log level to $2"
|
||||||
|
exe_arguments="$exe_arguments -l $2"
|
||||||
|
shift 2;
|
||||||
|
;;
|
||||||
-g | --gdb)
|
-g | --gdb)
|
||||||
run_gdb=1
|
run_gdb=1
|
||||||
echo "setting GDB flag to: $GDB"
|
echo "setting GDB flag to: $GDB"
|
||||||
@@ -242,6 +255,7 @@ function main()
|
|||||||
bash -c echo "200 lte " >> /etc/iproute2/rt_tables
|
bash -c echo "200 lte " >> /etc/iproute2/rt_tables
|
||||||
fi
|
fi
|
||||||
ip rule add fwmark 1 table lte
|
ip rule add fwmark 1 table lte
|
||||||
|
ifconfig oip1 up
|
||||||
ip route add default dev oip1 table lte
|
ip route add default dev oip1 table lte
|
||||||
|
|
||||||
exe_arguments="$exe_arguments -s15 -AAWGN -y1 -b1 -u1 -Q0"
|
exe_arguments="$exe_arguments -s15 -AAWGN -y1 -b1 -u1 -Q0"
|
||||||
|
|||||||
@@ -8,8 +8,12 @@ if [ "$OPENAIR_DIR" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches'
|
sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches'
|
||||||
|
|
||||||
#load the module
|
exmimo_mod=`lsmod |grep openair_rf`
|
||||||
sudo -E $OPENAIR_DIR/cmake_targets/tools/init_exmimo2
|
#load the module only if absent to avoid kernel crashes
|
||||||
|
if [ -z "$exmimo_mod" ]
|
||||||
|
then
|
||||||
|
sudo -E $OPENAIR_DIR/cmake_targets/tools/init_exmimo2
|
||||||
|
fi
|
||||||
|
|
||||||
#now we stop the card from transmitting anything
|
#now we stop the card from transmitting anything
|
||||||
cd $OPENAIR_DIR/targets/bin
|
cd $OPENAIR_DIR/targets/bin
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ xUnit_fail() {
|
|||||||
currtime=$(date +%s.%N)
|
currtime=$(date +%s.%N)
|
||||||
time=$(echo "$currtime - $XUNIT_START" | bc -l)
|
time=$(echo "$currtime - $XUNIT_START" | bc -l)
|
||||||
xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
|
xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
|
||||||
echo -e $xml >> $xmlfile_testcase
|
echo -e "$xml" >> "$xmlfile_testcase"
|
||||||
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
|
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
|
||||||
XUNIT_FAILED=$((XUNIT_FAILED+1))
|
XUNIT_FAILED=$((XUNIT_FAILED+1))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,7 +177,6 @@ hashtable_rc_t hashtable_dump_content (const hash_table_t * const hashtblP, char
|
|||||||
{
|
{
|
||||||
hash_node_t *node = NULL;
|
hash_node_t *node = NULL;
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
unsigned int num_elements = 0;
|
|
||||||
if (hashtblP == NULL) {
|
if (hashtblP == NULL) {
|
||||||
*remaining_bytes_in_buffer_pP = snprintf(
|
*remaining_bytes_in_buffer_pP = snprintf(
|
||||||
buffer_pP,
|
buffer_pP,
|
||||||
|
|||||||
@@ -59,7 +59,9 @@ uint64_t vcd_mp_free;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------*/
|
||||||
|
#ifndef CHARS_TO_UINT32
|
||||||
#define CHARS_TO_UINT32(c1, c2, c3, c4) (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4))
|
#define CHARS_TO_UINT32(c1, c2, c3, c4) (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4))
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MEMORY_POOL_ITEM_INFO_NUMBER 2
|
#define MEMORY_POOL_ITEM_INFO_NUMBER 2
|
||||||
|
|
||||||
|
|||||||
@@ -1,674 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The GNU General Public License is a free, copyleft license for
|
|
||||||
software and other kinds of works.
|
|
||||||
|
|
||||||
The licenses for most software and other practical works are designed
|
|
||||||
to take away your freedom to share and change the works. By contrast,
|
|
||||||
the GNU General Public License is intended to guarantee your freedom to
|
|
||||||
share and change all versions of a program--to make sure it remains free
|
|
||||||
software for all its users. We, the Free Software Foundation, use the
|
|
||||||
GNU General Public License for most of our software; it applies also to
|
|
||||||
any other work released this way by its authors. You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
them if you wish), that you receive source code or can get it if you
|
|
||||||
want it, that you can change the software or use pieces of it in new
|
|
||||||
free programs, and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to prevent others from denying you
|
|
||||||
these rights or asking you to surrender the rights. Therefore, you have
|
|
||||||
certain responsibilities if you distribute copies of the software, or if
|
|
||||||
you modify it: responsibilities to respect the freedom of others.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must pass on to the recipients the same
|
|
||||||
freedoms that you received. You must make sure that they, too, receive
|
|
||||||
or can get the source code. And you must show them these terms so they
|
|
||||||
know their rights.
|
|
||||||
|
|
||||||
Developers that use the GNU GPL protect your rights with two steps:
|
|
||||||
(1) assert copyright on the software, and (2) offer you this License
|
|
||||||
giving you legal permission to copy, distribute and/or modify it.
|
|
||||||
|
|
||||||
For the developers' and authors' protection, the GPL clearly explains
|
|
||||||
that there is no warranty for this free software. For both users' and
|
|
||||||
authors' sake, the GPL requires that modified versions be marked as
|
|
||||||
changed, so that their problems will not be attributed erroneously to
|
|
||||||
authors of previous versions.
|
|
||||||
|
|
||||||
Some devices are designed to deny users access to install or run
|
|
||||||
modified versions of the software inside them, although the manufacturer
|
|
||||||
can do so. This is fundamentally incompatible with the aim of
|
|
||||||
protecting users' freedom to change the software. The systematic
|
|
||||||
pattern of such abuse occurs in the area of products for individuals to
|
|
||||||
use, which is precisely where it is most unacceptable. Therefore, we
|
|
||||||
have designed this version of the GPL to prohibit the practice for those
|
|
||||||
products. If such problems arise substantially in other domains, we
|
|
||||||
stand ready to extend this provision to those domains in future versions
|
|
||||||
of the GPL, as needed to protect the freedom of users.
|
|
||||||
|
|
||||||
Finally, every program is threatened constantly by software patents.
|
|
||||||
States should not allow patents to restrict development and use of
|
|
||||||
software on general-purpose computers, but in those that do, we wish to
|
|
||||||
avoid the special danger that patents applied to a free program could
|
|
||||||
make it effectively proprietary. To prevent this, the GPL assures that
|
|
||||||
patents cannot be used to render the program non-free.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
0. Definitions.
|
|
||||||
|
|
||||||
"This License" refers to version 3 of the GNU General Public License.
|
|
||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
|
||||||
works, such as semiconductor masks.
|
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this
|
|
||||||
License. Each licensee is addressed as "you". "Licensees" and
|
|
||||||
"recipients" may be individuals or organizations.
|
|
||||||
|
|
||||||
To "modify" a work means to copy from or adapt all or part of the work
|
|
||||||
in a fashion requiring copyright permission, other than the making of an
|
|
||||||
exact copy. The resulting work is called a "modified version" of the
|
|
||||||
earlier work or a work "based on" the earlier work.
|
|
||||||
|
|
||||||
A "covered work" means either the unmodified Program or a work based
|
|
||||||
on the Program.
|
|
||||||
|
|
||||||
To "propagate" a work means to do anything with it that, without
|
|
||||||
permission, would make you directly or secondarily liable for
|
|
||||||
infringement under applicable copyright law, except executing it on a
|
|
||||||
computer or modifying a private copy. Propagation includes copying,
|
|
||||||
distribution (with or without modification), making available to the
|
|
||||||
public, and in some countries other activities as well.
|
|
||||||
|
|
||||||
To "convey" a work means any kind of propagation that enables other
|
|
||||||
parties to make or receive copies. Mere interaction with a user through
|
|
||||||
a computer network, with no transfer of a copy, is not conveying.
|
|
||||||
|
|
||||||
An interactive user interface displays "Appropriate Legal Notices"
|
|
||||||
to the extent that it includes a convenient and prominently visible
|
|
||||||
feature that (1) displays an appropriate copyright notice, and (2)
|
|
||||||
tells the user that there is no warranty for the work (except to the
|
|
||||||
extent that warranties are provided), that licensees may convey the
|
|
||||||
work under this License, and how to view a copy of this License. If
|
|
||||||
the interface presents a list of user commands or options, such as a
|
|
||||||
menu, a prominent item in the list meets this criterion.
|
|
||||||
|
|
||||||
1. Source Code.
|
|
||||||
|
|
||||||
The "source code" for a work means the preferred form of the work
|
|
||||||
for making modifications to it. "Object code" means any non-source
|
|
||||||
form of a work.
|
|
||||||
|
|
||||||
A "Standard Interface" means an interface that either is an official
|
|
||||||
standard defined by a recognized standards body, or, in the case of
|
|
||||||
interfaces specified for a particular programming language, one that
|
|
||||||
is widely used among developers working in that language.
|
|
||||||
|
|
||||||
The "System Libraries" of an executable work include anything, other
|
|
||||||
than the work as a whole, that (a) is included in the normal form of
|
|
||||||
packaging a Major Component, but which is not part of that Major
|
|
||||||
Component, and (b) serves only to enable use of the work with that
|
|
||||||
Major Component, or to implement a Standard Interface for which an
|
|
||||||
implementation is available to the public in source code form. A
|
|
||||||
"Major Component", in this context, means a major essential component
|
|
||||||
(kernel, window system, and so on) of the specific operating system
|
|
||||||
(if any) on which the executable work runs, or a compiler used to
|
|
||||||
produce the work, or an object code interpreter used to run it.
|
|
||||||
|
|
||||||
The "Corresponding Source" for a work in object code form means all
|
|
||||||
the source code needed to generate, install, and (for an executable
|
|
||||||
work) run the object code and to modify the work, including scripts to
|
|
||||||
control those activities. However, it does not include the work's
|
|
||||||
System Libraries, or general-purpose tools or generally available free
|
|
||||||
programs which are used unmodified in performing those activities but
|
|
||||||
which are not part of the work. For example, Corresponding Source
|
|
||||||
includes interface definition files associated with source files for
|
|
||||||
the work, and the source code for shared libraries and dynamically
|
|
||||||
linked subprograms that the work is specifically designed to require,
|
|
||||||
such as by intimate data communication or control flow between those
|
|
||||||
subprograms and other parts of the work.
|
|
||||||
|
|
||||||
The Corresponding Source need not include anything that users
|
|
||||||
can regenerate automatically from other parts of the Corresponding
|
|
||||||
Source.
|
|
||||||
|
|
||||||
The Corresponding Source for a work in source code form is that
|
|
||||||
same work.
|
|
||||||
|
|
||||||
2. Basic Permissions.
|
|
||||||
|
|
||||||
All rights granted under this License are granted for the term of
|
|
||||||
copyright on the Program, and are irrevocable provided the stated
|
|
||||||
conditions are met. This License explicitly affirms your unlimited
|
|
||||||
permission to run the unmodified Program. The output from running a
|
|
||||||
covered work is covered by this License only if the output, given its
|
|
||||||
content, constitutes a covered work. This License acknowledges your
|
|
||||||
rights of fair use or other equivalent, as provided by copyright law.
|
|
||||||
|
|
||||||
You may make, run and propagate covered works that you do not
|
|
||||||
convey, without conditions so long as your license otherwise remains
|
|
||||||
in force. You may convey covered works to others for the sole purpose
|
|
||||||
of having them make modifications exclusively for you, or provide you
|
|
||||||
with facilities for running those works, provided that you comply with
|
|
||||||
the terms of this License in conveying all material for which you do
|
|
||||||
not control copyright. Those thus making or running the covered works
|
|
||||||
for you must do so exclusively on your behalf, under your direction
|
|
||||||
and control, on terms that prohibit them from making any copies of
|
|
||||||
your copyrighted material outside their relationship with you.
|
|
||||||
|
|
||||||
Conveying under any other circumstances is permitted solely under
|
|
||||||
the conditions stated below. Sublicensing is not allowed; section 10
|
|
||||||
makes it unnecessary.
|
|
||||||
|
|
||||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|
||||||
|
|
||||||
No covered work shall be deemed part of an effective technological
|
|
||||||
measure under any applicable law fulfilling obligations under article
|
|
||||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
|
||||||
similar laws prohibiting or restricting circumvention of such
|
|
||||||
measures.
|
|
||||||
|
|
||||||
When you convey a covered work, you waive any legal power to forbid
|
|
||||||
circumvention of technological measures to the extent such circumvention
|
|
||||||
is effected by exercising rights under this License with respect to
|
|
||||||
the covered work, and you disclaim any intention to limit operation or
|
|
||||||
modification of the work as a means of enforcing, against the work's
|
|
||||||
users, your or third parties' legal rights to forbid circumvention of
|
|
||||||
technological measures.
|
|
||||||
|
|
||||||
4. Conveying Verbatim Copies.
|
|
||||||
|
|
||||||
You may convey verbatim copies of the Program's source code as you
|
|
||||||
receive it, in any medium, provided that you conspicuously and
|
|
||||||
appropriately publish on each copy an appropriate copyright notice;
|
|
||||||
keep intact all notices stating that this License and any
|
|
||||||
non-permissive terms added in accord with section 7 apply to the code;
|
|
||||||
keep intact all notices of the absence of any warranty; and give all
|
|
||||||
recipients a copy of this License along with the Program.
|
|
||||||
|
|
||||||
You may charge any price or no price for each copy that you convey,
|
|
||||||
and you may offer support or warranty protection for a fee.
|
|
||||||
|
|
||||||
5. Conveying Modified Source Versions.
|
|
||||||
|
|
||||||
You may convey a work based on the Program, or the modifications to
|
|
||||||
produce it from the Program, in the form of source code under the
|
|
||||||
terms of section 4, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The work must carry prominent notices stating that you modified
|
|
||||||
it, and giving a relevant date.
|
|
||||||
|
|
||||||
b) The work must carry prominent notices stating that it is
|
|
||||||
released under this License and any conditions added under section
|
|
||||||
7. This requirement modifies the requirement in section 4 to
|
|
||||||
"keep intact all notices".
|
|
||||||
|
|
||||||
c) You must license the entire work, as a whole, under this
|
|
||||||
License to anyone who comes into possession of a copy. This
|
|
||||||
License will therefore apply, along with any applicable section 7
|
|
||||||
additional terms, to the whole of the work, and all its parts,
|
|
||||||
regardless of how they are packaged. This License gives no
|
|
||||||
permission to license the work in any other way, but it does not
|
|
||||||
invalidate such permission if you have separately received it.
|
|
||||||
|
|
||||||
d) If the work has interactive user interfaces, each must display
|
|
||||||
Appropriate Legal Notices; however, if the Program has interactive
|
|
||||||
interfaces that do not display Appropriate Legal Notices, your
|
|
||||||
work need not make them do so.
|
|
||||||
|
|
||||||
A compilation of a covered work with other separate and independent
|
|
||||||
works, which are not by their nature extensions of the covered work,
|
|
||||||
and which are not combined with it such as to form a larger program,
|
|
||||||
in or on a volume of a storage or distribution medium, is called an
|
|
||||||
"aggregate" if the compilation and its resulting copyright are not
|
|
||||||
used to limit the access or legal rights of the compilation's users
|
|
||||||
beyond what the individual works permit. Inclusion of a covered work
|
|
||||||
in an aggregate does not cause this License to apply to the other
|
|
||||||
parts of the aggregate.
|
|
||||||
|
|
||||||
6. Conveying Non-Source Forms.
|
|
||||||
|
|
||||||
You may convey a covered work in object code form under the terms
|
|
||||||
of sections 4 and 5, provided that you also convey the
|
|
||||||
machine-readable Corresponding Source under the terms of this License,
|
|
||||||
in one of these ways:
|
|
||||||
|
|
||||||
a) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by the
|
|
||||||
Corresponding Source fixed on a durable physical medium
|
|
||||||
customarily used for software interchange.
|
|
||||||
|
|
||||||
b) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by a
|
|
||||||
written offer, valid for at least three years and valid for as
|
|
||||||
long as you offer spare parts or customer support for that product
|
|
||||||
model, to give anyone who possesses the object code either (1) a
|
|
||||||
copy of the Corresponding Source for all the software in the
|
|
||||||
product that is covered by this License, on a durable physical
|
|
||||||
medium customarily used for software interchange, for a price no
|
|
||||||
more than your reasonable cost of physically performing this
|
|
||||||
conveying of source, or (2) access to copy the
|
|
||||||
Corresponding Source from a network server at no charge.
|
|
||||||
|
|
||||||
c) Convey individual copies of the object code with a copy of the
|
|
||||||
written offer to provide the Corresponding Source. This
|
|
||||||
alternative is allowed only occasionally and noncommercially, and
|
|
||||||
only if you received the object code with such an offer, in accord
|
|
||||||
with subsection 6b.
|
|
||||||
|
|
||||||
d) Convey the object code by offering access from a designated
|
|
||||||
place (gratis or for a charge), and offer equivalent access to the
|
|
||||||
Corresponding Source in the same way through the same place at no
|
|
||||||
further charge. You need not require recipients to copy the
|
|
||||||
Corresponding Source along with the object code. If the place to
|
|
||||||
copy the object code is a network server, the Corresponding Source
|
|
||||||
may be on a different server (operated by you or a third party)
|
|
||||||
that supports equivalent copying facilities, provided you maintain
|
|
||||||
clear directions next to the object code saying where to find the
|
|
||||||
Corresponding Source. Regardless of what server hosts the
|
|
||||||
Corresponding Source, you remain obligated to ensure that it is
|
|
||||||
available for as long as needed to satisfy these requirements.
|
|
||||||
|
|
||||||
e) Convey the object code using peer-to-peer transmission, provided
|
|
||||||
you inform other peers where the object code and Corresponding
|
|
||||||
Source of the work are being offered to the general public at no
|
|
||||||
charge under subsection 6d.
|
|
||||||
|
|
||||||
A separable portion of the object code, whose source code is excluded
|
|
||||||
from the Corresponding Source as a System Library, need not be
|
|
||||||
included in conveying the object code work.
|
|
||||||
|
|
||||||
A "User Product" is either (1) a "consumer product", which means any
|
|
||||||
tangible personal property which is normally used for personal, family,
|
|
||||||
or household purposes, or (2) anything designed or sold for incorporation
|
|
||||||
into a dwelling. In determining whether a product is a consumer product,
|
|
||||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
|
||||||
product received by a particular user, "normally used" refers to a
|
|
||||||
typical or common use of that class of product, regardless of the status
|
|
||||||
of the particular user or of the way in which the particular user
|
|
||||||
actually uses, or expects or is expected to use, the product. A product
|
|
||||||
is a consumer product regardless of whether the product has substantial
|
|
||||||
commercial, industrial or non-consumer uses, unless such uses represent
|
|
||||||
the only significant mode of use of the product.
|
|
||||||
|
|
||||||
"Installation Information" for a User Product means any methods,
|
|
||||||
procedures, authorization keys, or other information required to install
|
|
||||||
and execute modified versions of a covered work in that User Product from
|
|
||||||
a modified version of its Corresponding Source. The information must
|
|
||||||
suffice to ensure that the continued functioning of the modified object
|
|
||||||
code is in no case prevented or interfered with solely because
|
|
||||||
modification has been made.
|
|
||||||
|
|
||||||
If you convey an object code work under this section in, or with, or
|
|
||||||
specifically for use in, a User Product, and the conveying occurs as
|
|
||||||
part of a transaction in which the right of possession and use of the
|
|
||||||
User Product is transferred to the recipient in perpetuity or for a
|
|
||||||
fixed term (regardless of how the transaction is characterized), the
|
|
||||||
Corresponding Source conveyed under this section must be accompanied
|
|
||||||
by the Installation Information. But this requirement does not apply
|
|
||||||
if neither you nor any third party retains the ability to install
|
|
||||||
modified object code on the User Product (for example, the work has
|
|
||||||
been installed in ROM).
|
|
||||||
|
|
||||||
The requirement to provide Installation Information does not include a
|
|
||||||
requirement to continue to provide support service, warranty, or updates
|
|
||||||
for a work that has been modified or installed by the recipient, or for
|
|
||||||
the User Product in which it has been modified or installed. Access to a
|
|
||||||
network may be denied when the modification itself materially and
|
|
||||||
adversely affects the operation of the network or violates the rules and
|
|
||||||
protocols for communication across the network.
|
|
||||||
|
|
||||||
Corresponding Source conveyed, and Installation Information provided,
|
|
||||||
in accord with this section must be in a format that is publicly
|
|
||||||
documented (and with an implementation available to the public in
|
|
||||||
source code form), and must require no special password or key for
|
|
||||||
unpacking, reading or copying.
|
|
||||||
|
|
||||||
7. Additional Terms.
|
|
||||||
|
|
||||||
"Additional permissions" are terms that supplement the terms of this
|
|
||||||
License by making exceptions from one or more of its conditions.
|
|
||||||
Additional permissions that are applicable to the entire Program shall
|
|
||||||
be treated as though they were included in this License, to the extent
|
|
||||||
that they are valid under applicable law. If additional permissions
|
|
||||||
apply only to part of the Program, that part may be used separately
|
|
||||||
under those permissions, but the entire Program remains governed by
|
|
||||||
this License without regard to the additional permissions.
|
|
||||||
|
|
||||||
When you convey a copy of a covered work, you may at your option
|
|
||||||
remove any additional permissions from that copy, or from any part of
|
|
||||||
it. (Additional permissions may be written to require their own
|
|
||||||
removal in certain cases when you modify the work.) You may place
|
|
||||||
additional permissions on material, added by you to a covered work,
|
|
||||||
for which you have or can give appropriate copyright permission.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, for material you
|
|
||||||
add to a covered work, you may (if authorized by the copyright holders of
|
|
||||||
that material) supplement the terms of this License with terms:
|
|
||||||
|
|
||||||
a) Disclaiming warranty or limiting liability differently from the
|
|
||||||
terms of sections 15 and 16 of this License; or
|
|
||||||
|
|
||||||
b) Requiring preservation of specified reasonable legal notices or
|
|
||||||
author attributions in that material or in the Appropriate Legal
|
|
||||||
Notices displayed by works containing it; or
|
|
||||||
|
|
||||||
c) Prohibiting misrepresentation of the origin of that material, or
|
|
||||||
requiring that modified versions of such material be marked in
|
|
||||||
reasonable ways as different from the original version; or
|
|
||||||
|
|
||||||
d) Limiting the use for publicity purposes of names of licensors or
|
|
||||||
authors of the material; or
|
|
||||||
|
|
||||||
e) Declining to grant rights under trademark law for use of some
|
|
||||||
trade names, trademarks, or service marks; or
|
|
||||||
|
|
||||||
f) Requiring indemnification of licensors and authors of that
|
|
||||||
material by anyone who conveys the material (or modified versions of
|
|
||||||
it) with contractual assumptions of liability to the recipient, for
|
|
||||||
any liability that these contractual assumptions directly impose on
|
|
||||||
those licensors and authors.
|
|
||||||
|
|
||||||
All other non-permissive additional terms are considered "further
|
|
||||||
restrictions" within the meaning of section 10. If the Program as you
|
|
||||||
received it, or any part of it, contains a notice stating that it is
|
|
||||||
governed by this License along with a term that is a further
|
|
||||||
restriction, you may remove that term. If a license document contains
|
|
||||||
a further restriction but permits relicensing or conveying under this
|
|
||||||
License, you may add to a covered work material governed by the terms
|
|
||||||
of that license document, provided that the further restriction does
|
|
||||||
not survive such relicensing or conveying.
|
|
||||||
|
|
||||||
If you add terms to a covered work in accord with this section, you
|
|
||||||
must place, in the relevant source files, a statement of the
|
|
||||||
additional terms that apply to those files, or a notice indicating
|
|
||||||
where to find the applicable terms.
|
|
||||||
|
|
||||||
Additional terms, permissive or non-permissive, may be stated in the
|
|
||||||
form of a separately written license, or stated as exceptions;
|
|
||||||
the above requirements apply either way.
|
|
||||||
|
|
||||||
8. Termination.
|
|
||||||
|
|
||||||
You may not propagate or modify a covered work except as expressly
|
|
||||||
provided under this License. Any attempt otherwise to propagate or
|
|
||||||
modify it is void, and will automatically terminate your rights under
|
|
||||||
this License (including any patent licenses granted under the third
|
|
||||||
paragraph of section 11).
|
|
||||||
|
|
||||||
However, if you cease all violation of this License, then your
|
|
||||||
license from a particular copyright holder is reinstated (a)
|
|
||||||
provisionally, unless and until the copyright holder explicitly and
|
|
||||||
finally terminates your license, and (b) permanently, if the copyright
|
|
||||||
holder fails to notify you of the violation by some reasonable means
|
|
||||||
prior to 60 days after the cessation.
|
|
||||||
|
|
||||||
Moreover, your license from a particular copyright holder is
|
|
||||||
reinstated permanently if the copyright holder notifies you of the
|
|
||||||
violation by some reasonable means, this is the first time you have
|
|
||||||
received notice of violation of this License (for any work) from that
|
|
||||||
copyright holder, and you cure the violation prior to 30 days after
|
|
||||||
your receipt of the notice.
|
|
||||||
|
|
||||||
Termination of your rights under this section does not terminate the
|
|
||||||
licenses of parties who have received copies or rights from you under
|
|
||||||
this License. If your rights have been terminated and not permanently
|
|
||||||
reinstated, you do not qualify to receive new licenses for the same
|
|
||||||
material under section 10.
|
|
||||||
|
|
||||||
9. Acceptance Not Required for Having Copies.
|
|
||||||
|
|
||||||
You are not required to accept this License in order to receive or
|
|
||||||
run a copy of the Program. Ancillary propagation of a covered work
|
|
||||||
occurring solely as a consequence of using peer-to-peer transmission
|
|
||||||
to receive a copy likewise does not require acceptance. However,
|
|
||||||
nothing other than this License grants you permission to propagate or
|
|
||||||
modify any covered work. These actions infringe copyright if you do
|
|
||||||
not accept this License. Therefore, by modifying or propagating a
|
|
||||||
covered work, you indicate your acceptance of this License to do so.
|
|
||||||
|
|
||||||
10. Automatic Licensing of Downstream Recipients.
|
|
||||||
|
|
||||||
Each time you convey a covered work, the recipient automatically
|
|
||||||
receives a license from the original licensors, to run, modify and
|
|
||||||
propagate that work, subject to this License. You are not responsible
|
|
||||||
for enforcing compliance by third parties with this License.
|
|
||||||
|
|
||||||
An "entity transaction" is a transaction transferring control of an
|
|
||||||
organization, or substantially all assets of one, or subdividing an
|
|
||||||
organization, or merging organizations. If propagation of a covered
|
|
||||||
work results from an entity transaction, each party to that
|
|
||||||
transaction who receives a copy of the work also receives whatever
|
|
||||||
licenses to the work the party's predecessor in interest had or could
|
|
||||||
give under the previous paragraph, plus a right to possession of the
|
|
||||||
Corresponding Source of the work from the predecessor in interest, if
|
|
||||||
the predecessor has it or can get it with reasonable efforts.
|
|
||||||
|
|
||||||
You may not impose any further restrictions on the exercise of the
|
|
||||||
rights granted or affirmed under this License. For example, you may
|
|
||||||
not impose a license fee, royalty, or other charge for exercise of
|
|
||||||
rights granted under this License, and you may not initiate litigation
|
|
||||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
|
||||||
any patent claim is infringed by making, using, selling, offering for
|
|
||||||
sale, or importing the Program or any portion of it.
|
|
||||||
|
|
||||||
11. Patents.
|
|
||||||
|
|
||||||
A "contributor" is a copyright holder who authorizes use under this
|
|
||||||
License of the Program or a work on which the Program is based. The
|
|
||||||
work thus licensed is called the contributor's "contributor version".
|
|
||||||
|
|
||||||
A contributor's "essential patent claims" are all patent claims
|
|
||||||
owned or controlled by the contributor, whether already acquired or
|
|
||||||
hereafter acquired, that would be infringed by some manner, permitted
|
|
||||||
by this License, of making, using, or selling its contributor version,
|
|
||||||
but do not include claims that would be infringed only as a
|
|
||||||
consequence of further modification of the contributor version. For
|
|
||||||
purposes of this definition, "control" includes the right to grant
|
|
||||||
patent sublicenses in a manner consistent with the requirements of
|
|
||||||
this License.
|
|
||||||
|
|
||||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
|
||||||
patent license under the contributor's essential patent claims, to
|
|
||||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
|
||||||
propagate the contents of its contributor version.
|
|
||||||
|
|
||||||
In the following three paragraphs, a "patent license" is any express
|
|
||||||
agreement or commitment, however denominated, not to enforce a patent
|
|
||||||
(such as an express permission to practice a patent or covenant not to
|
|
||||||
sue for patent infringement). To "grant" such a patent license to a
|
|
||||||
party means to make such an agreement or commitment not to enforce a
|
|
||||||
patent against the party.
|
|
||||||
|
|
||||||
If you convey a covered work, knowingly relying on a patent license,
|
|
||||||
and the Corresponding Source of the work is not available for anyone
|
|
||||||
to copy, free of charge and under the terms of this License, through a
|
|
||||||
publicly available network server or other readily accessible means,
|
|
||||||
then you must either (1) cause the Corresponding Source to be so
|
|
||||||
available, or (2) arrange to deprive yourself of the benefit of the
|
|
||||||
patent license for this particular work, or (3) arrange, in a manner
|
|
||||||
consistent with the requirements of this License, to extend the patent
|
|
||||||
license to downstream recipients. "Knowingly relying" means you have
|
|
||||||
actual knowledge that, but for the patent license, your conveying the
|
|
||||||
covered work in a country, or your recipient's use of the covered work
|
|
||||||
in a country, would infringe one or more identifiable patents in that
|
|
||||||
country that you have reason to believe are valid.
|
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or
|
|
||||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
|
||||||
covered work, and grant a patent license to some of the parties
|
|
||||||
receiving the covered work authorizing them to use, propagate, modify
|
|
||||||
or convey a specific copy of the covered work, then the patent license
|
|
||||||
you grant is automatically extended to all recipients of the covered
|
|
||||||
work and works based on it.
|
|
||||||
|
|
||||||
A patent license is "discriminatory" if it does not include within
|
|
||||||
the scope of its coverage, prohibits the exercise of, or is
|
|
||||||
conditioned on the non-exercise of one or more of the rights that are
|
|
||||||
specifically granted under this License. You may not convey a covered
|
|
||||||
work if you are a party to an arrangement with a third party that is
|
|
||||||
in the business of distributing software, under which you make payment
|
|
||||||
to the third party based on the extent of your activity of conveying
|
|
||||||
the work, and under which the third party grants, to any of the
|
|
||||||
parties who would receive the covered work from you, a discriminatory
|
|
||||||
patent license (a) in connection with copies of the covered work
|
|
||||||
conveyed by you (or copies made from those copies), or (b) primarily
|
|
||||||
for and in connection with specific products or compilations that
|
|
||||||
contain the covered work, unless you entered into that arrangement,
|
|
||||||
or that patent license was granted, prior to 28 March 2007.
|
|
||||||
|
|
||||||
Nothing in this License shall be construed as excluding or limiting
|
|
||||||
any implied license or other defenses to infringement that may
|
|
||||||
otherwise be available to you under applicable patent law.
|
|
||||||
|
|
||||||
12. No Surrender of Others' Freedom.
|
|
||||||
|
|
||||||
If conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot convey a
|
|
||||||
covered work so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you may
|
|
||||||
not convey it at all. For example, if you agree to terms that obligate you
|
|
||||||
to collect a royalty for further conveying from those to whom you convey
|
|
||||||
the Program, the only way you could satisfy both those terms and this
|
|
||||||
License would be to refrain entirely from conveying the Program.
|
|
||||||
|
|
||||||
13. Use with the GNU Affero General Public License.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have
|
|
||||||
permission to link or combine any covered work with a work licensed
|
|
||||||
under version 3 of the GNU Affero General Public License into a single
|
|
||||||
combined work, and to convey the resulting work. The terms of this
|
|
||||||
License will continue to apply to the part which is the covered work,
|
|
||||||
but the special requirements of the GNU Affero General Public License,
|
|
||||||
section 13, concerning interaction through a network will apply to the
|
|
||||||
combination as such.
|
|
||||||
|
|
||||||
14. Revised Versions of this License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions of
|
|
||||||
the GNU General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the
|
|
||||||
Program specifies that a certain numbered version of the GNU General
|
|
||||||
Public License "or any later version" applies to it, you have the
|
|
||||||
option of following the terms and conditions either of that numbered
|
|
||||||
version or of any later version published by the Free Software
|
|
||||||
Foundation. If the Program does not specify a version number of the
|
|
||||||
GNU General Public License, you may choose any version ever published
|
|
||||||
by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Program specifies that a proxy can decide which future
|
|
||||||
versions of the GNU General Public License can be used, that proxy's
|
|
||||||
public statement of acceptance of a version permanently authorizes you
|
|
||||||
to choose that version for the Program.
|
|
||||||
|
|
||||||
Later license versions may give you additional or different
|
|
||||||
permissions. However, no additional obligations are imposed on any
|
|
||||||
author or copyright holder as a result of your choosing to follow a
|
|
||||||
later version.
|
|
||||||
|
|
||||||
15. Disclaimer of Warranty.
|
|
||||||
|
|
||||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|
||||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
|
||||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
|
||||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
|
||||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
|
||||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. Limitation of Liability.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
|
||||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
|
||||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
|
||||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
|
||||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
|
||||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
|
||||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGES.
|
|
||||||
|
|
||||||
17. Interpretation of Sections 15 and 16.
|
|
||||||
|
|
||||||
If the disclaimer of warranty and limitation of liability provided
|
|
||||||
above cannot be given local legal effect according to their terms,
|
|
||||||
reviewing courts shall apply local law that most closely approximates
|
|
||||||
an absolute waiver of all civil liability in connection with the
|
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
|
||||||
copy of the Program in return for a fee.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
#MAC_XFACE_OBJS = $(OPENAIR1_TOP)/MAC_INTERFACE/register.o
|
|
||||||
MAC_XFACE_OBJS += $(OPENAIR1_TOP)/MAC_INTERFACE/init.o
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
OpenAirInterface
|
|
||||||
Copyright(c) 1999 - 2014 Eurecom
|
|
||||||
|
|
||||||
OpenAirInterface is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
OpenAirInterface is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenAirInterface.The full GNU General Public License is
|
|
||||||
included in this distribution in the file called "COPYING". If not,
|
|
||||||
see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
||||||
OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
||||||
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
|
||||||
|
|
||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
/*________________________mac_defs.h________________________
|
|
||||||
|
|
||||||
Authors : Hicham Anouar, Raymond Knopp
|
|
||||||
Company : EURECOM
|
|
||||||
Emails : anouar@eurecom.fr, knopp@eurecom.fr
|
|
||||||
________________________________________________________________*/
|
|
||||||
|
|
||||||
#ifndef __MAC_INTERFACE_DEFS_H__
|
|
||||||
#define __MAC_INTERFACE_DEFS_H__
|
|
||||||
|
|
||||||
|
|
||||||
#include "PHY_INTERFACE/defs.h"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
OpenAirInterface
|
|
||||||
Copyright(c) 1999 - 2014 Eurecom
|
|
||||||
|
|
||||||
OpenAirInterface is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
OpenAirInterface is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenAirInterface.The full GNU General Public License is
|
|
||||||
included in this distribution in the file called "COPYING". If not,
|
|
||||||
see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
||||||
OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
||||||
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
|
||||||
|
|
||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
/*________________________mac_extern.h________________________
|
|
||||||
|
|
||||||
Authors : Hicham Anouar, Raymond Knopp
|
|
||||||
Company : EURECOM
|
|
||||||
Emails : anouar@eurecom.fr, knopp@eurecom.fr
|
|
||||||
________________________________________________________________*/
|
|
||||||
|
|
||||||
|
|
||||||
/*! \file mac_extern.h
|
|
||||||
* \brief Generic mac interface external variable definitions
|
|
||||||
* \author R. Knopp
|
|
||||||
* \date March 2006
|
|
||||||
* \note
|
|
||||||
* \warning
|
|
||||||
* @ingroup macxface
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __MAC_INTERFACE_EXTERN_H__
|
|
||||||
#define __MAC_INTERFACE_EXTERN_H__
|
|
||||||
|
|
||||||
#include "defs.h"
|
|
||||||
|
|
||||||
|
|
||||||
extern MAC_xface *mac_xface;
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*__MAC_INTERFACE_EXTERN_H__ */
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
OpenAirInterface
|
|
||||||
Copyright(c) 1999 - 2014 Eurecom
|
|
||||||
|
|
||||||
OpenAirInterface is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
OpenAirInterface is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenAirInterface.The full GNU General Public License is
|
|
||||||
included in this distribution in the file called "COPYING". If not,
|
|
||||||
see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
||||||
OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
||||||
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
|
||||||
|
|
||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
/*________________________mac_init.c________________________
|
|
||||||
|
|
||||||
Authors : Hicham Anouar, Raymond Knopp
|
|
||||||
Company : EURECOM
|
|
||||||
Emails : anouar@eurecom.fr, knopp@eurecom.fr
|
|
||||||
________________________________________________________________*/
|
|
||||||
|
|
||||||
/*!\brief Initilization and reconfiguration routines for generic MAC interface */
|
|
||||||
|
|
||||||
#include "defs.h"
|
|
||||||
#include "extern.h"
|
|
||||||
#include "SCHED/defs.h"
|
|
||||||
|
|
||||||
int mac_init(void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
#ifndef USER_MODE
|
|
||||||
// mac_xface->macphy_init();
|
|
||||||
mac_xface->macphy_exit = openair_sched_exit;
|
|
||||||
#else
|
|
||||||
mac_xface->macphy_exit=(void (*)(void)) exit;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* this is done in cbmimo1_fileops
|
|
||||||
#ifdef OPENAIR2
|
|
||||||
mac_xface->macphy_init();
|
|
||||||
#endif //OPENAIR2
|
|
||||||
*/
|
|
||||||
|
|
||||||
return(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void mac_cleanup(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void mac_resynch(void)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
#ifdef OPENAIR2
|
|
||||||
EXPORT_SYMBOL(frame);
|
|
||||||
#endif //OPENAIR2
|
|
||||||
*/
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
OpenAirInterface
|
|
||||||
Copyright(c) 1999 - 2014 Eurecom
|
|
||||||
|
|
||||||
OpenAirInterface is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
OpenAirInterface is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenAirInterface.The full GNU General Public License is
|
|
||||||
included in this distribution in the file called "COPYING". If not,
|
|
||||||
see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
||||||
OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
||||||
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
|
||||||
|
|
||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
/*________________________mac_register.c________________________
|
|
||||||
|
|
||||||
Authors : Hicham Anouar, Raymond Knopp
|
|
||||||
Company : EURECOM
|
|
||||||
Emails : anouar@eurecom.fr, knopp@eurecom.fr
|
|
||||||
________________________________________________________________*/
|
|
||||||
|
|
||||||
|
|
||||||
/*!\brief Registration routines for generic MAC interface. Register/unregister a MAC.
|
|
||||||
Upon registration, the MAC retrieves the transport channel (MAC_tch) data structure and provides the
|
|
||||||
pointer to the macphy_scheduler() routine*/
|
|
||||||
#define __NO_VERSION__
|
|
||||||
|
|
||||||
#undef __PHY_IMPLEMENTATION_DEFS_H__
|
|
||||||
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/defs.h"
|
|
||||||
#include "defs.h"
|
|
||||||
#include "extern.h"
|
|
||||||
#include "SCHED/extern.h"
|
|
||||||
|
|
||||||
#ifndef USER_MODE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void dummy_macphy_scheduler(uint8_t last_slot)
|
|
||||||
{
|
|
||||||
//if (last_slot == 0)
|
|
||||||
// mac_xface->frame++;
|
|
||||||
|
|
||||||
msg("[OPENAIR][MAC XFACE] in dummy_macphy_scheduler(): MAC no yet registered!\n");
|
|
||||||
|
|
||||||
//#ifdef EMOS
|
|
||||||
// phy_procedures(last_slot);
|
|
||||||
//#endif
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void dummy_macphy_setparams(void *params)
|
|
||||||
{
|
|
||||||
msg("[OPENAIR][MAC XFACE] dummy_macphy_setparams(): no MAC registered!\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void dummy_macphy_init(void )
|
|
||||||
{
|
|
||||||
msg("[OPENAIR][MAC XFACE] dummy_macphy_init(): no MAC registered!\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
MAC_xface *mac_register(void macphy_scheduler(uint8_t last_slot), void macphy_setparams(void *),void macphy_init(void ),void mrbch_phy_sync_failure(unsigned char,unsigned char),
|
|
||||||
void chbch_phy_sync_success(unsigned char,unsigned char))
|
|
||||||
{
|
|
||||||
|
|
||||||
if (openair_daq_vars.mac_registered == 0) {
|
|
||||||
|
|
||||||
msg("[OPENAIR][MAC XFACE] Registering new MAC interface at %p, scheduler %p, setparams at %p, init at %p\n",
|
|
||||||
mac_xface,macphy_scheduler,macphy_setparams,macphy_init);
|
|
||||||
mac_xface->macphy_scheduler = macphy_scheduler;
|
|
||||||
mac_xface->macphy_setparams = macphy_setparams;
|
|
||||||
mac_xface->macphy_init = macphy_init;
|
|
||||||
#ifndef PC_TARGET
|
|
||||||
// mac_xface->ublaze_mac_xface = ublaze_mac_xface;
|
|
||||||
#endif
|
|
||||||
openair_daq_vars.mac_registered=1;
|
|
||||||
return(mac_xface);
|
|
||||||
} else {
|
|
||||||
msg("[OPENAIR][MAC XFACE] MAC interface already registered, aborting ...\n");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
int mac_unregister(MAC_xface *mac_xface_rx)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (mac_xface_rx == mac_xface) {
|
|
||||||
msg("[OPENAIR][MAC XFACE] Unregistering MAC interface\n");
|
|
||||||
mac_xface->macphy_scheduler = dummy_macphy_scheduler;
|
|
||||||
mac_xface->macphy_setparams = dummy_macphy_setparams;
|
|
||||||
mac_xface->macphy_init = dummy_macphy_init;
|
|
||||||
openair_daq_vars.mac_registered=0;
|
|
||||||
return(0);
|
|
||||||
} else {
|
|
||||||
msg("[OPENAIR][MAC XFACE] Not the right interface descriptor pointer!!!, aborting ...\n");
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(mac_register);
|
|
||||||
EXPORT_SYMBOL(mac_unregister);
|
|
||||||
#endif //USER_MODE
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
/*******************************************************************************
|
|
||||||
OpenAirInterface
|
|
||||||
Copyright(c) 1999 - 2014 Eurecom
|
|
||||||
|
|
||||||
OpenAirInterface is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
OpenAirInterface is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenAirInterface.The full GNU General Public License is
|
|
||||||
included in this distribution in the file called "COPYING". If not,
|
|
||||||
see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
Contact Information
|
|
||||||
OpenAirInterface Admin: openair_admin@eurecom.fr
|
|
||||||
OpenAirInterface Tech : openair_tech@eurecom.fr
|
|
||||||
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
|
|
||||||
|
|
||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
|
||||||
|
|
||||||
*******************************************************************************/
|
|
||||||
/*________________________mac_vars.h________________________
|
|
||||||
|
|
||||||
Authors : Hicham Anouar, Raymond Knopp
|
|
||||||
Company : EURECOM
|
|
||||||
Emails : anouar@eurecom.fr, knopp@eurecom.fr
|
|
||||||
________________________________________________________________*/
|
|
||||||
|
|
||||||
|
|
||||||
/*! \file mac_vars.h
|
|
||||||
* \brief generic mac interface variable definitions
|
|
||||||
* \author R. Knopp
|
|
||||||
* \version 1
|
|
||||||
* \date March 2006
|
|
||||||
* @ingroup macxface
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __MAC_INTERFACE_VARS_H__
|
|
||||||
#define __MAC_INTERFACE_VARS_H__
|
|
||||||
|
|
||||||
#include "defs.h"
|
|
||||||
|
|
||||||
MAC_xface *mac_xface;
|
|
||||||
|
|
||||||
#endif //__MAC_INTERFACE_VARS_H__
|
|
||||||
@@ -37,6 +37,7 @@
|
|||||||
#include "extern_3GPPinterleaver.h"
|
#include "extern_3GPPinterleaver.h"
|
||||||
#else
|
#else
|
||||||
#include "vars.h"
|
#include "vars.h"
|
||||||
|
#include <stdint.h>
|
||||||
#endif
|
#endif
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
#define print_shorts(s,x) printf("%s %x,%x,%x,%x,%x,%x,%x,%x\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
|
#define print_shorts(s,x) printf("%s %x,%x,%x,%x,%x,%x,%x,%x\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
|
||||||
#define print_ints(s,x) printf("%s %x %x %x %x\n",s,(x)[0],(x)[1],(x)[2],(x)[3])
|
#define print_ints(s,x) printf("%s %x %x %x %x\n",s,(x)[0],(x)[1],(x)[2],(x)[3])
|
||||||
|
|
||||||
|
#define print_bytes2(s,x) printf("%s %x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7],(x)[8],(x)[9],(x)[10],(x)[11],(x)[12],(x)[13],(x)[14],(x)[15],(x)[16],(x)[17],(x)[18],(x)[19],(x)[20],(x)[21],(x)[22],(x)[23],(x)[24],(x)[25],(x)[26],(x)[27],(x)[28],(x)[29],(x)[30],(x)[31])
|
||||||
|
|
||||||
//#define DEBUG_TURBO_ENCODER 1
|
//#define DEBUG_TURBO_ENCODER 1
|
||||||
#define CALLGRIND 1
|
#define CALLGRIND 1
|
||||||
@@ -57,16 +59,12 @@ unsigned long long threegpplte_interleaver_tmp;
|
|||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
struct treillis {
|
struct treillis {
|
||||||
union {
|
union {
|
||||||
__m64 systematic_64[3];
|
__m64 systematic_andp1_64[3];
|
||||||
char systematic_8[24];
|
uint8_t systematic_andp1_8[24];
|
||||||
};
|
|
||||||
union {
|
|
||||||
__m64 parity1_64[3];
|
|
||||||
char parity1_8[24];
|
|
||||||
};
|
};
|
||||||
union {
|
union {
|
||||||
__m64 parity2_64[3];
|
__m64 parity2_64[3];
|
||||||
char parity2_8[24];
|
uint8_t parity2_8[24];
|
||||||
};
|
};
|
||||||
int exit_state;
|
int exit_state;
|
||||||
} __attribute__ ((aligned(64)));
|
} __attribute__ ((aligned(64)));
|
||||||
@@ -75,12 +73,8 @@ struct treillis {
|
|||||||
|
|
||||||
struct treillis {
|
struct treillis {
|
||||||
union {
|
union {
|
||||||
uint8x8_t systematic_64[3];
|
uint8x8_t systematic_andp1_64[3];
|
||||||
char systematic_8[24];
|
char systematic_andp1_8[24];
|
||||||
}__attribute__((aligned(64)));
|
|
||||||
union {
|
|
||||||
uint8x8_t parity1_64[3];
|
|
||||||
char parity1_8[24];
|
|
||||||
}__attribute__((aligned(64)));
|
}__attribute__((aligned(64)));
|
||||||
union {
|
union {
|
||||||
uint8x8_t parity2_64[3];
|
uint8x8_t parity2_64[3];
|
||||||
@@ -91,6 +85,7 @@ struct treillis {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct treillis all_treillis[8][256];
|
struct treillis all_treillis[8][256];
|
||||||
|
|
||||||
int all_treillis_initialized=0;
|
int all_treillis_initialized=0;
|
||||||
|
|
||||||
static inline unsigned char threegpplte_rsc(unsigned char input,unsigned char *state)
|
static inline unsigned char threegpplte_rsc(unsigned char input,unsigned char *state)
|
||||||
@@ -116,18 +111,20 @@ void treillis_table_init(void)
|
|||||||
unsigned char v, current_state;
|
unsigned char v, current_state;
|
||||||
|
|
||||||
// clear all_treillis
|
// clear all_treillis
|
||||||
for (i=0; i<8; i++)
|
for (i=0; i<8; i++) {
|
||||||
bzero( all_treillis[i], sizeof(all_treillis[0]) );
|
bzero( all_treillis[i], sizeof(all_treillis[0]) );
|
||||||
|
}
|
||||||
|
|
||||||
for (i=0; i<8; i++) { //all possible initial states
|
for (i=0; i<8; i++) { //all possible initial states
|
||||||
for (j=0; j<=255; j++) { // all possible values of a byte
|
for (j=0; j<=255; j++) { // all possible values of a byte
|
||||||
current_state=i;
|
current_state=i;
|
||||||
|
|
||||||
for (b=0; b<8 ; b++ ) { // pre-compute the image of the byte j in _m128i vector right place
|
for (b=0; b<8 ; b++ ) { // pre-compute the image of the byte j in _m128i vector right place
|
||||||
all_treillis[i][j].systematic_8[b*3]= (j&(1<<(7-b)))>>(7-b);
|
all_treillis[i][j].systematic_andp1_8[b*3]= (j&(1<<(7-b)))>>(7-b);
|
||||||
v=threegpplte_rsc( all_treillis[i][j].systematic_8[b*3] ,
|
v=threegpplte_rsc( all_treillis[i][j].systematic_andp1_8[b*3] ,
|
||||||
¤t_state);
|
¤t_state);
|
||||||
all_treillis[i][j].parity1_8[b*3+1]=v; // for the yparity1
|
all_treillis[i][j].systematic_andp1_8[b*3+1]=v; // for the yparity1
|
||||||
|
// all_treillis[i][j].parity1_8[b*3+1]=v; // for the yparity1
|
||||||
all_treillis[i][j].parity2_8[b*3+2]=v; // for the yparity2
|
all_treillis[i][j].parity2_8[b*3+2]=v; // for the yparity2
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,9 +140,10 @@ void treillis_table_init(void)
|
|||||||
char interleave_compact_byte(short * base_interleaver,unsigned char * input, unsigned char * output, int n)
|
char interleave_compact_byte(short * base_interleaver,unsigned char * input, unsigned char * output, int n)
|
||||||
{
|
{
|
||||||
|
|
||||||
char expandInput[768*8] __attribute__((aligned(16)));
|
char expandInput[768*8] __attribute__((aligned(32)));
|
||||||
int i,loop=n>>4;
|
int i,loop=n>>4;
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
#ifndef __AVX2__
|
||||||
__m128i *i_128=(__m128i *)input, *o_128=(__m128i*)expandInput;
|
__m128i *i_128=(__m128i *)input, *o_128=(__m128i*)expandInput;
|
||||||
__m128i tmp1, tmp2, tmp3, tmp4;
|
__m128i tmp1, tmp2, tmp3, tmp4;
|
||||||
__m128i BIT_MASK = _mm_set_epi8( 0b00000001,
|
__m128i BIT_MASK = _mm_set_epi8( 0b00000001,
|
||||||
@@ -164,6 +162,43 @@ char interleave_compact_byte(short * base_interleaver,unsigned char * input, uns
|
|||||||
0b00100000,
|
0b00100000,
|
||||||
0b01000000,
|
0b01000000,
|
||||||
0b10000000);
|
0b10000000);
|
||||||
|
|
||||||
|
#else
|
||||||
|
__m256i *i_256=(__m256i *)input, *o_256=(__m256i*)expandInput;
|
||||||
|
__m256i tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
|
||||||
|
__m256i BIT_MASK = _mm256_set_epi8( 0b00000001,
|
||||||
|
0b00000010,
|
||||||
|
0b00000100,
|
||||||
|
0b00001000,
|
||||||
|
0b00010000,
|
||||||
|
0b00100000,
|
||||||
|
0b01000000,
|
||||||
|
0b10000000,
|
||||||
|
0b00000001,
|
||||||
|
0b00000010,
|
||||||
|
0b00000100,
|
||||||
|
0b00001000,
|
||||||
|
0b00010000,
|
||||||
|
0b00100000,
|
||||||
|
0b01000000,
|
||||||
|
0b10000000,
|
||||||
|
0b00000001,
|
||||||
|
0b00000010,
|
||||||
|
0b00000100,
|
||||||
|
0b00001000,
|
||||||
|
0b00010000,
|
||||||
|
0b00100000,
|
||||||
|
0b01000000,
|
||||||
|
0b10000000,
|
||||||
|
0b00000001,
|
||||||
|
0b00000010,
|
||||||
|
0b00000100,
|
||||||
|
0b00001000,
|
||||||
|
0b00010000,
|
||||||
|
0b00100000,
|
||||||
|
0b01000000,
|
||||||
|
0b10000000);
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
uint8x16_t *i_128=(uint8x16_t *)input, *o_128=(uint8x16_t *)expandInput;
|
uint8x16_t *i_128=(uint8x16_t *)input, *o_128=(uint8x16_t *)expandInput;
|
||||||
uint8x16_t tmp1,tmp2;
|
uint8x16_t tmp1,tmp2;
|
||||||
@@ -187,46 +222,126 @@ char interleave_compact_byte(short * base_interleaver,unsigned char * input, uns
|
|||||||
0b00000010,
|
0b00000010,
|
||||||
0b00000001};
|
0b00000001};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __AVX2__
|
||||||
if ((n&15) > 0)
|
if ((n&15) > 0)
|
||||||
loop++;
|
loop++;
|
||||||
|
#else
|
||||||
|
loop=n>>5;
|
||||||
|
if ((n&31) > 0)
|
||||||
|
loop++;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
for (i=0; i<loop ; i++ ) {
|
for (i=0; i<loop ; i++ ) {
|
||||||
/* int cur_byte=i<<3; */
|
// int cur_byte=i<<3;
|
||||||
/* for (b=0;b<8;b++) */
|
// for (b=0;b<8;b++)
|
||||||
/* expandInput[cur_byte+b] = (input[i]&(1<<(7-b)))>>(7-b); */
|
// expandInput[cur_byte+b] = (input[i]&(1<<(7-b)))>>(7-b);
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
tmp1=_mm_load_si128(i_128++);
|
#ifndef __AVX2__
|
||||||
tmp2=_mm_unpacklo_epi8(tmp1,tmp1);
|
tmp1=_mm_load_si128(i_128++); // tmp1 = B0,B1,...,B15
|
||||||
tmp3=_mm_unpacklo_epi16(tmp2,tmp2);
|
tmp2=_mm_unpacklo_epi8(tmp1,tmp1); // tmp2 = B0,B0,B1,B1,...,B7,B7
|
||||||
tmp4=_mm_unpacklo_epi32(tmp3,tmp3);
|
tmp3=_mm_unpacklo_epi16(tmp2,tmp2); // tmp3 = B0,B0,B0,B0,B1,B1,B1,B1,B2,B2,B2,B2,B3,B3,B3,B3
|
||||||
|
tmp4=_mm_unpacklo_epi32(tmp3,tmp3); // tmp4 - B0,B0,B0,B0,B0,B0,B0,B0,B1,B1,B1,B1,B1,B1,B1,B1
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);
|
||||||
|
|
||||||
tmp4=_mm_unpackhi_epi32(tmp3,tmp3);
|
tmp4=_mm_unpackhi_epi32(tmp3,tmp3); // tmp4 - B2,B2,B2,B2,B2,B2,B2,B2,B3,B3,B3,B3,B3,B3,B3,B3
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp3=_mm_unpackhi_epi16(tmp2,tmp2);
|
tmp3=_mm_unpackhi_epi16(tmp2,tmp2); // tmp3 = B4,B4,B4,B4,B5,B5,B5,B5,B6,B6,B6,B6,B7,B7,B7,B7
|
||||||
tmp4=_mm_unpacklo_epi32(tmp3,tmp3);
|
tmp4=_mm_unpacklo_epi32(tmp3,tmp3); // tmp4 - B4,B4,B4,B4,B4,B4,B4,B4,B5,B5,B5,B5,B5,B5,B5,B5
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp4=_mm_unpackhi_epi32(tmp3,tmp3);
|
tmp4=_mm_unpackhi_epi32(tmp3,tmp3); // tmp4 - B6,B6,B6,B6,B6,B6,B6,B6,B7,B7,B7,B7,B7,B7,B7,B7
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp2=_mm_unpackhi_epi8(tmp1,tmp1);
|
tmp2=_mm_unpackhi_epi8(tmp1,tmp1); // tmp2 = B8,B8,B9,B9,...,B15,B15
|
||||||
tmp3=_mm_unpacklo_epi16(tmp2,tmp2);
|
tmp3=_mm_unpacklo_epi16(tmp2,tmp2); // tmp3 = B8,B8,B8,B8,B9,B9,B9,B9,B10,B10,B10,B10,B11,B11,B11,B11
|
||||||
tmp4=_mm_unpacklo_epi32(tmp3,tmp3);
|
tmp4=_mm_unpacklo_epi32(tmp3,tmp3); // tmp4 = B8,B8,B8,B8,B8,B8,B8,B8,B9,B9,B9,B9,B9,B9,B9,B9
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp4=_mm_unpackhi_epi32(tmp3,tmp3);
|
tmp4=_mm_unpackhi_epi32(tmp3,tmp3); // tmp4 = B10,B10,B10,B10,B10,B10,B10,B10,B11,B11,B11,B11,B11,B11,B11,B11
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp3=_mm_unpackhi_epi16(tmp2,tmp2);
|
tmp3=_mm_unpackhi_epi16(tmp2,tmp2); // tmp3 = B12,B12,B12,B12,B13,B13,B13,B13,B14,B14,B14,B14,B15,B15,B15,B15
|
||||||
tmp4=_mm_unpacklo_epi32(tmp3,tmp3);
|
tmp4=_mm_unpacklo_epi32(tmp3,tmp3); // tmp4 = B12,B12,B12,B12,B12,B12,B12,B12,B13,B13,B13,B13,B13,B13,B13,B13
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
|
||||||
tmp4=_mm_unpackhi_epi32(tmp3,tmp3);
|
tmp4=_mm_unpackhi_epi32(tmp3,tmp3); // tmp4 = B14,B14,B14,B14,B14,B14,B14,B14,B15,B15,B15,B15,B15,B15,B15,B15
|
||||||
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
*o_128++=_mm_cmpeq_epi8(_mm_and_si128(tmp4,BIT_MASK),BIT_MASK);;
|
||||||
|
#else
|
||||||
|
tmp1=_mm256_load_si256(i_256++); // tmp1 = B0,B1,...,B15,...,B31
|
||||||
|
//print_bytes2("in",(uint8_t*)&tmp1);
|
||||||
|
tmp2=_mm256_unpacklo_epi8(tmp1,tmp1); // tmp2 = B0,B0,B1,B1,...,B7,B7,B16,B16,B17,B17,...,B23,B23
|
||||||
|
tmp3=_mm256_unpacklo_epi16(tmp2,tmp2); // tmp3 = B0,B0,B0,B0,B1,B1,B1,B1,B2,B2,B2,B2,B3,B3,B3,B3,B16,B16,B16,B16,...,B19,B19,B19,B19
|
||||||
|
tmp4=_mm256_unpacklo_epi32(tmp3,tmp3); // tmp4 - B0,B0,B0,B0,B0,B0,B0,B0,B1,B1,B1,B1,B1,B1,B1,B1,B16,B16...,B17..,B17
|
||||||
|
tmp5=_mm256_unpackhi_epi32(tmp3,tmp3); // tmp5 - B2,B2,B2,B2,B2,B2,B2,B2,B3,B3,B3,B3,B3,B3,B3,B3,B18...,B18,B19,...,B19
|
||||||
|
tmp6=_mm256_insertf128_si256(tmp4,_mm256_extracti128_si256(tmp5,0),1); // tmp6 = B0 B1 B2 B3
|
||||||
|
tmp7=_mm256_insertf128_si256(tmp5,_mm256_extracti128_si256(tmp4,1),0); // tmp7 = B16 B17 B18 B19
|
||||||
|
//print_bytes2("tmp2",(uint8_t*)&tmp2);
|
||||||
|
//print_bytes2("tmp3",(uint8_t*)&tmp3);
|
||||||
|
//print_bytes2("tmp4",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp5",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp6",(uint8_t*)&tmp6);
|
||||||
|
//print_bytes2("tmp7",(uint8_t*)&tmp7);
|
||||||
|
o_256[0]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp6,BIT_MASK),BIT_MASK);
|
||||||
|
//print_bytes2("out",(uint8_t*)o_256);
|
||||||
|
o_256[4]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp7,BIT_MASK),BIT_MASK);;
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+4));
|
||||||
|
|
||||||
|
tmp3=_mm256_unpackhi_epi16(tmp2,tmp2); // tmp3 = B4,B4,B4,B4,B5,B5,B5,B5,B6,B6,B6,B6,B7,B7,B7,B7,B20,B20,B20,B20,...,B23,B23,B23,B23
|
||||||
|
tmp4=_mm256_unpacklo_epi32(tmp3,tmp3); // tmp4 - B4,B4,B4,B4,B4,B4,B4,B4,B5,B5,B5,B5,B5,B5,B5,B5,B20,B20...,B21..,B21
|
||||||
|
tmp5=_mm256_unpackhi_epi32(tmp3,tmp3); // tmp5 - B6,B6,B6,B6,B6,B6,B6,B6,B7,B7,B7,B7,B7,B7,B7,B7,B22...,B22,B23,...,B23
|
||||||
|
tmp6=_mm256_insertf128_si256(tmp4,_mm256_extracti128_si256(tmp5,0),1); // tmp6 = B4 B5 B6 B7
|
||||||
|
tmp7=_mm256_insertf128_si256(tmp5,_mm256_extracti128_si256(tmp4,1),0); // tmp7 = B20 B21 B22 B23
|
||||||
|
//print_bytes2("tmp2",(uint8_t*)&tmp2);
|
||||||
|
//print_bytes2("tmp3",(uint8_t*)&tmp3);
|
||||||
|
//print_bytes2("tmp4",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp5",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp6",(uint8_t*)&tmp6);
|
||||||
|
//print_bytes2("tmp7",(uint8_t*)&tmp7);
|
||||||
|
o_256[1]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp6,BIT_MASK),BIT_MASK);
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+1));
|
||||||
|
o_256[5]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp7,BIT_MASK),BIT_MASK);;
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+4));
|
||||||
|
|
||||||
|
tmp2=_mm256_unpackhi_epi8(tmp1,tmp1); // tmp2 = B8 B9 B10 B11 B12 B13 B14 B15 B25 B26 B27 B28 B29 B30 B31
|
||||||
|
tmp3=_mm256_unpacklo_epi16(tmp2,tmp2); // tmp3 = B8,B9,B10,B11,B26,B27,B28,B29
|
||||||
|
tmp4=_mm256_unpacklo_epi32(tmp3,tmp3); // tmp4 - B8,B9,B26,B27
|
||||||
|
tmp5=_mm256_unpackhi_epi32(tmp3,tmp3); // tmp5 - B10,B11,B28,B29
|
||||||
|
tmp6=_mm256_insertf128_si256(tmp4,_mm256_extracti128_si256(tmp5,0),1); // tmp6 = B8 B9 B10 B11
|
||||||
|
tmp7=_mm256_insertf128_si256(tmp5,_mm256_extracti128_si256(tmp4,1),0); // tmp7 = B26 B27 B28 B29
|
||||||
|
//print_bytes2("tmp2",(uint8_t*)&tmp2);
|
||||||
|
//print_bytes2("tmp3",(uint8_t*)&tmp3);
|
||||||
|
//print_bytes2("tmp4",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp5",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp6",(uint8_t*)&tmp6);
|
||||||
|
//print_bytes2("tmp7",(uint8_t*)&tmp7);
|
||||||
|
o_256[2]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp6,BIT_MASK),BIT_MASK);
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+2));
|
||||||
|
o_256[6]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp7,BIT_MASK),BIT_MASK);;
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+4));
|
||||||
|
|
||||||
|
tmp3=_mm256_unpackhi_epi16(tmp2,tmp2); // tmp3 = B12 B13 B14 B15 B28 B29 B30 B31
|
||||||
|
tmp4=_mm256_unpacklo_epi32(tmp3,tmp3); // tmp4 = B12 B13 B28 B29
|
||||||
|
tmp5=_mm256_unpackhi_epi32(tmp3,tmp3); // tmp5 = B14 B15 B30 B31
|
||||||
|
tmp6=_mm256_insertf128_si256(tmp4,_mm256_extracti128_si256(tmp5,0),1); // tmp6 = B12 B13 B14 B15
|
||||||
|
tmp7=_mm256_insertf128_si256(tmp5,_mm256_extracti128_si256(tmp4,1),0); // tmp7 = B28 B29 B30 B31
|
||||||
|
//print_bytes2("tmp2",(uint8_t*)&tmp2);
|
||||||
|
//print_bytes2("tmp3",(uint8_t*)&tmp3);
|
||||||
|
//print_bytes2("tmp4",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp5",(uint8_t*)&tmp4);
|
||||||
|
//print_bytes2("tmp6",(uint8_t*)&tmp6);
|
||||||
|
//print_bytes2("tmp7",(uint8_t*)&tmp7);
|
||||||
|
o_256[3]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp6,BIT_MASK),BIT_MASK);
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+3));
|
||||||
|
o_256[7]=_mm256_cmpeq_epi8(_mm256_and_si256(tmp7,BIT_MASK),BIT_MASK);;
|
||||||
|
//print_bytes2("out",(uint8_t*)(o_256+7));
|
||||||
|
|
||||||
|
o_256+=8;
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
tmp1=vld1q_u8((uint8_t*)i_128);
|
tmp1=vld1q_u8((uint8_t*)i_128);
|
||||||
//print_bytes("tmp1:",(uint8_t*)&tmp1);
|
//print_bytes("tmp1:",(uint8_t*)&tmp1);
|
||||||
@@ -303,10 +418,16 @@ char interleave_compact_byte(short * base_interleaver,unsigned char * input, uns
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
short * ptr_intl=base_interleaver;
|
short * ptr_intl=base_interleaver;
|
||||||
#if defined(__x86_64) || defined(__i386__)
|
#if defined(__x86_64) || defined(__i386__)
|
||||||
|
#ifndef __AVX2__
|
||||||
__m128i tmp;
|
__m128i tmp;
|
||||||
uint16_t *systematic2_ptr=(unsigned short *) output;
|
uint16_t *systematic2_ptr=(uint16_t *) output;
|
||||||
|
#else
|
||||||
|
__m256i tmp;
|
||||||
|
uint32_t *systematic2_ptr=(uint32_t *) output;
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
uint8x16_t tmp;
|
uint8x16_t tmp;
|
||||||
const uint8_t __attribute__ ((aligned (16))) _Powers[16]=
|
const uint8_t __attribute__ ((aligned (16))) _Powers[16]=
|
||||||
@@ -316,11 +437,15 @@ char interleave_compact_byte(short * base_interleaver,unsigned char * input, uns
|
|||||||
uint8x16_t Powers= vld1q_u8(_Powers);
|
uint8x16_t Powers= vld1q_u8(_Powers);
|
||||||
uint8_t *systematic2_ptr=(uint8_t *) output;
|
uint8_t *systematic2_ptr=(uint8_t *) output;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef __AVX2__
|
||||||
int input_length_words=n>>1;
|
int input_length_words=n>>1;
|
||||||
|
#else
|
||||||
|
int input_length_words=n>>2;
|
||||||
|
#endif
|
||||||
for ( i=0; i< input_length_words ; i ++ ) {
|
for ( i=0; i< input_length_words ; i ++ ) {
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
#ifndef __AVX2__
|
||||||
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],7);
|
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],7);
|
||||||
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],6);
|
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],6);
|
||||||
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],5);
|
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],5);
|
||||||
@@ -338,6 +463,45 @@ char interleave_compact_byte(short * base_interleaver,unsigned char * input, uns
|
|||||||
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],8+1);
|
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],8+1);
|
||||||
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],8+0);
|
tmp=_mm_insert_epi8(tmp,expandInput[*ptr_intl++],8+0);
|
||||||
*systematic2_ptr++=(unsigned short)_mm_movemask_epi8(tmp);
|
*systematic2_ptr++=(unsigned short)_mm_movemask_epi8(tmp);
|
||||||
|
#else
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],7);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],6);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],5);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],4);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],3);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],2);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],1);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],0);
|
||||||
|
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+7);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+6);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+5);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+4);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+3);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+2);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+1);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],8+0);
|
||||||
|
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+7);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+6);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+5);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+4);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+3);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+2);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+1);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],16+0);
|
||||||
|
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+7);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+6);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+5);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+4);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+3);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+2);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+1);
|
||||||
|
tmp=_mm256_insert_epi8(tmp,expandInput[*ptr_intl++],24+0);
|
||||||
|
|
||||||
|
*systematic2_ptr++=(unsigned int)_mm256_movemask_epi8(tmp);
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
tmp=vsetq_lane_u8(expandInput[*ptr_intl++],tmp,7);
|
tmp=vsetq_lane_u8(expandInput[*ptr_intl++],tmp,7);
|
||||||
tmp=vsetq_lane_u8(expandInput[*ptr_intl++],tmp,6);
|
tmp=vsetq_lane_u8(expandInput[*ptr_intl++],tmp,6);
|
||||||
@@ -391,8 +555,9 @@ void threegpplte_turbo_encoder(unsigned char *input,
|
|||||||
unsigned short input_length_bits = input_length_bytes<<3;
|
unsigned short input_length_bits = input_length_bytes<<3;
|
||||||
short * base_interleaver;
|
short * base_interleaver;
|
||||||
|
|
||||||
if ( all_treillis_initialized == 0 )
|
if ( all_treillis_initialized == 0 ) {
|
||||||
treillis_table_init();
|
treillis_table_init();
|
||||||
|
}
|
||||||
|
|
||||||
// look for f1 and f2 precomputed interleaver values
|
// look for f1 and f2 precomputed interleaver values
|
||||||
for (i=0; i < 188 && f1f2mat[i].nb_bits != input_length_bits; i++);
|
for (i=0; i < 188 && f1f2mat[i].nb_bits != input_length_bits; i++);
|
||||||
@@ -405,7 +570,7 @@ void threegpplte_turbo_encoder(unsigned char *input,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned char systematic2[768];
|
unsigned char systematic2[768] __attribute__((aligned(32)));
|
||||||
interleave_compact_byte(base_interleaver,input,systematic2,input_length_bytes);
|
interleave_compact_byte(base_interleaver,input,systematic2,input_length_bytes);
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
@@ -422,19 +587,23 @@ void threegpplte_turbo_encoder(unsigned char *input,
|
|||||||
|
|
||||||
for ( code_rate=0; code_rate<3; code_rate++) {
|
for ( code_rate=0; code_rate<3; code_rate++) {
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
*ptr_output++ = _mm_add_pi8(all_treillis[state0][cur_s1].systematic_64[code_rate],
|
/*
|
||||||
_mm_add_pi8(all_treillis[state0][cur_s1].parity1_64[code_rate],
|
*ptr_output++ = _mm_add_pi8(all_treillis[state0][cur_s1].systematic_64[code_rate],
|
||||||
all_treillis[state1][cur_s2].parity2_64[code_rate]));
|
_mm_add_pi8(all_treillis[state0][cur_s1].parity1_64[code_rate],
|
||||||
#elif defined(__arm__)
|
all_treillis[state1][cur_s2].parity2_64[code_rate]));
|
||||||
uint8x8_t ptmp = vadd_u8(all_treillis[state0][cur_s1].parity1_64[code_rate],
|
*/
|
||||||
all_treillis[state1][cur_s2].parity2_64[code_rate]);
|
*ptr_output++ = _mm_add_pi8(all_treillis[state0][cur_s1].systematic_andp1_64[code_rate],
|
||||||
*ptr_output++ = vadd_u8(all_treillis[state0][cur_s1].systematic_64[code_rate],
|
all_treillis[state1][cur_s2].parity2_64[code_rate]);
|
||||||
ptmp);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
state0=all_treillis[state0][cur_s1].exit_state;
|
|
||||||
state1=all_treillis[state1][cur_s2].exit_state;
|
#elif defined(__arm__)
|
||||||
|
*ptr_output++ = vadd_u8(all_treillis[state0][cur_s1].systematic_andp1_64[code_rate],
|
||||||
|
all_treillis[state0][cur_s1].parity2_64[code_rate]);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
state0=all_treillis[state0][cur_s1].exit_state;
|
||||||
|
state1=all_treillis[state1][cur_s2].exit_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
x=output+(input_length_bits*3);
|
x=output+(input_length_bits*3);
|
||||||
@@ -485,7 +654,7 @@ void threegpplte_turbo_encoder(unsigned char *input,
|
|||||||
int main(int argc,char **argv)
|
int main(int argc,char **argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned char input[INPUT_LENGTH+16],state,state2;
|
unsigned char input[INPUT_LENGTH+32],state,state2;
|
||||||
unsigned char output[12+(3*(INPUT_LENGTH<<3))],x,z;
|
unsigned char output[12+(3*(INPUT_LENGTH<<3))],x,z;
|
||||||
int i;
|
int i;
|
||||||
unsigned char out;
|
unsigned char out;
|
||||||
@@ -510,7 +679,7 @@ int main(int argc,char **argv)
|
|||||||
memset((void*)input,0,INPUT_LENGTH+16);
|
memset((void*)input,0,INPUT_LENGTH+16);
|
||||||
for (i=0; i<INPUT_LENGTH; i++) {
|
for (i=0; i<INPUT_LENGTH; i++) {
|
||||||
input[i] = i*219;
|
input[i] = i*219;
|
||||||
printf("Input %d : %x\n",i,input[i]);
|
printf("Input %d : %d\n",i,input[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
threegpplte_turbo_encoder(&input[0],
|
threegpplte_turbo_encoder(&input[0],
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -63,11 +63,17 @@
|
|||||||
#include "mex.h"
|
#include "mex.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define print_shorts(s,x) printf("%s %d,%d,%d,%d,%d,%d,%d,%d\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
|
|
||||||
|
|
||||||
//#define DEBUG_LOGMAP
|
//#define DEBUG_LOGMAP
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
#define print_shorts(s,x) fprintf(fdsse4,"%s %d,%d,%d,%d,%d,%d,%d,%d\n",s,(x)[0],(x)[1],(x)[2],(x)[3],(x)[4],(x)[5],(x)[6],(x)[7])
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef __AVX2__
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
FILE *fdsse4;
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef int16_t llr_t; // internal decoder LLR data is 16-bit fixed
|
typedef int16_t llr_t; // internal decoder LLR data is 16-bit fixed
|
||||||
typedef int16_t channel_t;
|
typedef int16_t channel_t;
|
||||||
@@ -99,7 +105,7 @@ void log_map16(llr_t* systematic,
|
|||||||
{
|
{
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("log_map, frame_length %d\n",frame_length);
|
fprintf(fdsse4,"log_map, frame_length %d\n",frame_length);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
start_meas(gamma_stats) ;
|
start_meas(gamma_stats) ;
|
||||||
@@ -135,22 +141,35 @@ void compute_gamma16(llr_t* m11,llr_t* m10,llr_t* systematic,channel_t* y_parity
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("compute_gamma, %p,%p,%p,%p,framelength %d\n",m11,m10,systematic,y_parity,frame_length);
|
fprintf(fdsse4,"compute_gamma (sse_16bit), %p,%p,%p,%p,framelength %d\n",m11,m10,systematic,y_parity,frame_length);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __AVX2__
|
||||||
K1=frame_length>>3;
|
K1=frame_length>>3;
|
||||||
|
#else
|
||||||
|
if ((frame_length&15) > 0)
|
||||||
|
K1=(frame_length+1)>>4;
|
||||||
|
else
|
||||||
|
K1=frame_length>>4;
|
||||||
|
#endif
|
||||||
|
|
||||||
for (k=0; k<K1; k++) {
|
for (k=0; k<K1; k++) {
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
#ifndef __AVX2__
|
||||||
m11_128[k] = _mm_srai_epi16(_mm_adds_epi16(systematic128[k],y_parity128[k]),1);
|
m11_128[k] = _mm_srai_epi16(_mm_adds_epi16(systematic128[k],y_parity128[k]),1);
|
||||||
m10_128[k] = _mm_srai_epi16(_mm_subs_epi16(systematic128[k],y_parity128[k]),1);
|
m10_128[k] = _mm_srai_epi16(_mm_subs_epi16(systematic128[k],y_parity128[k]),1);
|
||||||
|
#else
|
||||||
|
((__m256i*)m11_128)[k] = _mm256_srai_epi16(_mm256_adds_epi16(((__m256i*)systematic128)[k],((__m256i*)y_parity128)[k]),1);
|
||||||
|
// ((__m256i*)m10_128)[k] = _mm256_srai_epi16(_mm256_subs_epi16(((__m256i*)y_parity128)[k],((__m256i*)systematic128)[k]),1);
|
||||||
|
((__m256i*)m10_128)[k] = _mm256_srai_epi16(_mm256_subs_epi16(((__m256i*)systematic128)[k],((__m256i*)y_parity128)[k]),1);
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
m11_128[k] = vhaddq_s16(systematic128[k],y_parity128[k]);
|
m11_128[k] = vhaddq_s16(systematic128[k],y_parity128[k]);
|
||||||
m10_128[k] = vhsubq_s16(systematic128[k],y_parity128[k]);
|
m10_128[k] = vhsubq_s16(systematic128[k],y_parity128[k]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
printf("Loop index k, m11,m10\n");
|
fprintf(fdsse4,"Loop index k %d\n", k);
|
||||||
print_shorts("sys",(int16_t*)&systematic128[k]);
|
print_shorts("sys",(int16_t*)&systematic128[k]);
|
||||||
print_shorts("yp",(int16_t*)&y_parity128[k]);
|
print_shorts("yp",(int16_t*)&y_parity128[k]);
|
||||||
print_shorts("m11",(int16_t*)&m11_128[k]);
|
print_shorts("m11",(int16_t*)&m11_128[k]);
|
||||||
@@ -158,14 +177,28 @@ void compute_gamma16(llr_t* m11,llr_t* m10,llr_t* systematic,channel_t* y_parity
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
k=frame_length>>3;
|
||||||
// Termination
|
// Termination
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
m11_128[k] = _mm_srai_epi16(_mm_adds_epi16(systematic128[k+term_flag],y_parity128[k]),1);
|
m11_128[k] = _mm_srai_epi16(_mm_adds_epi16(systematic128[k+term_flag],y_parity128[k]),1);
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
m10_128[k] = _mm_srai_epi16(_mm_subs_epi16(systematic128[k+term_flag],y_parity128[k]),1);
|
m10_128[k] = _mm_srai_epi16(_mm_subs_epi16(systematic128[k+term_flag],y_parity128[k]),1);
|
||||||
|
#else
|
||||||
|
m10_128[k] = _mm_srai_epi16(_mm_subs_epi16(y_parity128[k],systematic128[k+term_flag]),1);
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
m11_128[k] = vhaddq_s16(systematic128[k+term_flag],y_parity128[k]);
|
m11_128[k] = vhaddq_s16(systematic128[k+term_flag],y_parity128[k]);
|
||||||
m10_128[k] = vhsubq_s16(systematic128[k+term_flag],y_parity128[k]);
|
m10_128[k] = vhsubq_s16(systematic128[k+term_flag],y_parity128[k]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"Loop index k %d (term flag %d)\n", k,term_flag);
|
||||||
|
print_shorts("sys",(int16_t*)&systematic128[k]);
|
||||||
|
print_shorts("yp",(int16_t*)&y_parity128[k]);
|
||||||
|
print_shorts("m11",(int16_t*)&m11_128[k]);
|
||||||
|
print_shorts("m10",(int16_t*)&m10_128[k]);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#define L 40
|
#define L 40
|
||||||
@@ -174,11 +207,21 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
{
|
{
|
||||||
int k,l,l2,K1,rerun_flag=0;
|
int k,l,l2,K1,rerun_flag=0;
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
__m128i *alpha128=(__m128i *)alpha,*alpha_ptr;
|
__m128i *alpha128=(__m128i *)alpha,*alpha_ptr,*m11p,*m10p;
|
||||||
__m128i a0,a1,a2,a3,a4,a5,a6,a7,*m11p,*m10p;
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
|
__m128i a0,a1,a2,a3,a4,a5,a6,a7;
|
||||||
__m128i m_b0,m_b1,m_b2,m_b3,m_b4,m_b5,m_b6,m_b7;
|
__m128i m_b0,m_b1,m_b2,m_b3,m_b4,m_b5,m_b6,m_b7;
|
||||||
__m128i new0,new1,new2,new3,new4,new5,new6,new7;
|
__m128i new0,new1,new2,new3,new4,new5,new6,new7;
|
||||||
__m128i alpha_max;
|
__m128i alpha_max;
|
||||||
|
#else
|
||||||
|
__m256i *alpha256=(__m256i *)alpha,*alpha_ptr256,m11,m10;
|
||||||
|
__m256i a01,a23,a45,a67,a02,a13,a64,a75;
|
||||||
|
__m256i m_b01,m_b23,m_b45,m_b67,new01,new23,new45,new67;
|
||||||
|
__m256i m11m10_256;
|
||||||
|
__m256i alpha_max;
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
int16x8_t *alpha128=(int16x8_t *)alpha,*alpha_ptr;
|
int16x8_t *alpha128=(int16x8_t *)alpha,*alpha_ptr;
|
||||||
int16x8_t a0,a1,a2,a3,a4,a5,a6,a7,*m11p,*m10p;
|
int16x8_t a0,a1,a2,a3,a4,a5,a6,a7,*m11p,*m10p;
|
||||||
@@ -188,10 +231,16 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
#endif
|
#endif
|
||||||
l2 = L>>3;
|
l2 = L>>3;
|
||||||
K1 = (frame_length>>3);
|
K1 = (frame_length>>3);
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"compute_alpha (sse_16bit)\n");
|
||||||
|
#endif
|
||||||
for (l=K1;; l=l2,rerun_flag=1) {
|
for (l=K1;; l=l2,rerun_flag=1) {
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
alpha128 = (__m128i *)alpha;
|
alpha128 = (__m128i *)alpha;
|
||||||
|
//#ifdef __AVX2__
|
||||||
|
#if 0
|
||||||
|
alpha256 = (__m256i *)alpha;
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
alpha128 = (int16x8_t *)alpha;
|
alpha128 = (int16x8_t *)alpha;
|
||||||
#endif
|
#endif
|
||||||
@@ -218,7 +267,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
alpha128[7] = vdupq_n_s16(-MAX/2);
|
alpha128[7] = vdupq_n_s16(-MAX/2);
|
||||||
#endif
|
#endif
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
printf("Initial alpha\n");
|
fprintf(fdsse4,"Initial alpha\n");
|
||||||
print_shorts("a0",(int16_t*)&alpha128[0]);
|
print_shorts("a0",(int16_t*)&alpha128[0]);
|
||||||
print_shorts("a1",(int16_t*)&alpha128[1]);
|
print_shorts("a1",(int16_t*)&alpha128[1]);
|
||||||
print_shorts("a2",(int16_t*)&alpha128[2]);
|
print_shorts("a2",(int16_t*)&alpha128[2]);
|
||||||
@@ -258,7 +307,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
alpha[48] = -MAX/2;
|
alpha[48] = -MAX/2;
|
||||||
alpha[56] = -MAX/2;
|
alpha[56] = -MAX/2;
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
printf("Second run\n");
|
fprintf(fdsse4,"Second run\n");
|
||||||
print_shorts("a0",(int16_t*)&alpha128[0]);
|
print_shorts("a0",(int16_t*)&alpha128[0]);
|
||||||
print_shorts("a1",(int16_t*)&alpha128[1]);
|
print_shorts("a1",(int16_t*)&alpha128[1]);
|
||||||
print_shorts("a2",(int16_t*)&alpha128[2]);
|
print_shorts("a2",(int16_t*)&alpha128[2]);
|
||||||
@@ -272,6 +321,11 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
}
|
}
|
||||||
|
|
||||||
alpha_ptr = &alpha128[0];
|
alpha_ptr = &alpha128[0];
|
||||||
|
//#ifdef __AVX2__
|
||||||
|
#if 0
|
||||||
|
alpha_ptr256 = &alpha256[0];
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
m11p = (__m128i*)m_11;
|
m11p = (__m128i*)m_11;
|
||||||
m10p = (__m128i*)m_10;
|
m10p = (__m128i*)m_10;
|
||||||
@@ -284,6 +338,8 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
k++) {
|
k++) {
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
a1=_mm_load_si128(&alpha_ptr[1]);
|
a1=_mm_load_si128(&alpha_ptr[1]);
|
||||||
a3=_mm_load_si128(&alpha_ptr[3]);
|
a3=_mm_load_si128(&alpha_ptr[3]);
|
||||||
a5=_mm_load_si128(&alpha_ptr[5]);
|
a5=_mm_load_si128(&alpha_ptr[5]);
|
||||||
@@ -328,6 +384,37 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
alpha_max = _mm_max_epi16(alpha_max,a5);
|
alpha_max = _mm_max_epi16(alpha_max,a5);
|
||||||
alpha_max = _mm_max_epi16(alpha_max,a6);
|
alpha_max = _mm_max_epi16(alpha_max,a6);
|
||||||
alpha_max = _mm_max_epi16(alpha_max,a7);
|
alpha_max = _mm_max_epi16(alpha_max,a7);
|
||||||
|
#else
|
||||||
|
a02=_mm256_load_si256(&alpha_ptr256[0]);
|
||||||
|
a13=_mm256_load_si256(&alpha_ptr256[1]);
|
||||||
|
a64=_mm256_load_si256(&alpha_ptr256[2]);
|
||||||
|
a75=_mm256_load_si256(&alpha_ptr256[3]);
|
||||||
|
m11m10_256 = _mm256_insertf128_si256(m11m10_256,*m11p,0);
|
||||||
|
m11m10_256 = _mm256_insertf128_si256(m11m10_256,*m10p,1);
|
||||||
|
|
||||||
|
|
||||||
|
m_b01 = _mm256_adds_epi16(a13,m11m10_256); //negative m10
|
||||||
|
m_b23 = _mm256_subs_epi16(a75,m11m10_256); //negative m10
|
||||||
|
m_b45 = _mm256_subs_epi16(a13,m11m10_256); //negative m10
|
||||||
|
m_b67 = _mm256_adds_epi16(a75,m11m10_256); //negative m10
|
||||||
|
|
||||||
|
new01 = _mm256_subs_epi16(a02,m11m10_256); //negative m10
|
||||||
|
new23 = _mm256_adds_epi16(a64,m11m10_256); //negative m10
|
||||||
|
new45 = _mm256_adds_epi16(a02,m11m10_256); //negative m10
|
||||||
|
new67 = _mm256_subs_epi16(a64,m11m10_256); //negative m10
|
||||||
|
|
||||||
|
a01 = _mm256_max_epi16(m_b01,new01);
|
||||||
|
a23 = _mm256_max_epi16(m_b23,new23);
|
||||||
|
a45 = _mm256_max_epi16(m_b45,new45);
|
||||||
|
a67 = _mm256_max_epi16(m_b67,new67);
|
||||||
|
|
||||||
|
alpha_max = _mm256_max_epi16(a01,a23);
|
||||||
|
alpha_max = _mm256_max_epi16(alpha_max,a45);
|
||||||
|
alpha_max = _mm256_max_epi16(alpha_max,a67);
|
||||||
|
alpha_max = _mm256_max_epi16(alpha_max,_mm256_permutevar8x32_epi32(alpha_max,_mm256_set_epi32(3,2,1,0,7,6,5,4)));
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
m_b0 = vqaddq_s16(alpha_ptr[1],*m11p); // m11
|
m_b0 = vqaddq_s16(alpha_ptr[1],*m11p); // m11
|
||||||
m_b4 = vqsubq_s16(alpha_ptr[1],*m11p); // m00=-m11
|
m_b4 = vqsubq_s16(alpha_ptr[1],*m11p); // m00=-m11
|
||||||
@@ -367,9 +454,15 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
alpha_ptr+=8;
|
alpha_ptr+=8;
|
||||||
|
//#ifdef __AVX2__
|
||||||
|
#if 0
|
||||||
|
alpha_ptr256+=4;
|
||||||
|
#endif
|
||||||
m11p++;
|
m11p++;
|
||||||
m10p++;
|
m10p++;
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
alpha_ptr[0] = _mm_subs_epi16(a0,alpha_max);
|
alpha_ptr[0] = _mm_subs_epi16(a0,alpha_max);
|
||||||
alpha_ptr[1] = _mm_subs_epi16(a1,alpha_max);
|
alpha_ptr[1] = _mm_subs_epi16(a1,alpha_max);
|
||||||
alpha_ptr[2] = _mm_subs_epi16(a2,alpha_max);
|
alpha_ptr[2] = _mm_subs_epi16(a2,alpha_max);
|
||||||
@@ -378,6 +471,18 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
alpha_ptr[5] = _mm_subs_epi16(a5,alpha_max);
|
alpha_ptr[5] = _mm_subs_epi16(a5,alpha_max);
|
||||||
alpha_ptr[6] = _mm_subs_epi16(a6,alpha_max);
|
alpha_ptr[6] = _mm_subs_epi16(a6,alpha_max);
|
||||||
alpha_ptr[7] = _mm_subs_epi16(a7,alpha_max);
|
alpha_ptr[7] = _mm_subs_epi16(a7,alpha_max);
|
||||||
|
#else
|
||||||
|
|
||||||
|
a01 = _mm256_subs_epi16(a01,alpha_max);
|
||||||
|
a23 = _mm256_subs_epi16(a23,alpha_max);
|
||||||
|
a45 = _mm256_subs_epi16(a45,alpha_max);
|
||||||
|
a67 = _mm256_subs_epi16(a67,alpha_max);
|
||||||
|
|
||||||
|
alpha_ptr256[0] = _mm256_permute2x128_si256(a01,a23,0x20); //a02
|
||||||
|
alpha_ptr256[1] = _mm256_permute2x128_si256(a01,a23,0x13); //a13
|
||||||
|
alpha_ptr256[2] = _mm256_permute2x128_si256(a45,a67,0x02); //a64
|
||||||
|
alpha_ptr256[3] = _mm256_permute2x128_si256(a45,a67,0x31); //a75
|
||||||
|
#endif
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
alpha_ptr[0] = vqsubq_s16(a0,alpha_max);
|
alpha_ptr[0] = vqsubq_s16(a0,alpha_max);
|
||||||
alpha_ptr[1] = vqsubq_s16(a1,alpha_max);
|
alpha_ptr[1] = vqsubq_s16(a1,alpha_max);
|
||||||
@@ -390,7 +495,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
printf("Loop index %d, mb\n",k);
|
fprintf(fdsse4,"Loop index %d\n",k);
|
||||||
print_shorts("mb0",(int16_t*)&m_b0);
|
print_shorts("mb0",(int16_t*)&m_b0);
|
||||||
print_shorts("mb1",(int16_t*)&m_b1);
|
print_shorts("mb1",(int16_t*)&m_b1);
|
||||||
print_shorts("mb2",(int16_t*)&m_b2);
|
print_shorts("mb2",(int16_t*)&m_b2);
|
||||||
@@ -400,7 +505,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
print_shorts("mb6",(int16_t*)&m_b6);
|
print_shorts("mb6",(int16_t*)&m_b6);
|
||||||
print_shorts("mb7",(int16_t*)&m_b7);
|
print_shorts("mb7",(int16_t*)&m_b7);
|
||||||
|
|
||||||
printf("Loop index %d, new\n",k);
|
fprintf(fdsse4,"Loop index %d, new\n",k);
|
||||||
print_shorts("new0",(int16_t*)&new0);
|
print_shorts("new0",(int16_t*)&new0);
|
||||||
print_shorts("new1",(int16_t*)&new1);
|
print_shorts("new1",(int16_t*)&new1);
|
||||||
print_shorts("new2",(int16_t*)&new2);
|
print_shorts("new2",(int16_t*)&new2);
|
||||||
@@ -410,7 +515,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
print_shorts("new6",(int16_t*)&new6);
|
print_shorts("new6",(int16_t*)&new6);
|
||||||
print_shorts("new7",(int16_t*)&new7);
|
print_shorts("new7",(int16_t*)&new7);
|
||||||
|
|
||||||
printf("Loop index %d, after max\n",k);
|
fprintf(fdsse4,"Loop index %d, after max\n",k);
|
||||||
print_shorts("a0",(int16_t*)&a0);
|
print_shorts("a0",(int16_t*)&a0);
|
||||||
print_shorts("a1",(int16_t*)&a1);
|
print_shorts("a1",(int16_t*)&a1);
|
||||||
print_shorts("a2",(int16_t*)&a2);
|
print_shorts("a2",(int16_t*)&a2);
|
||||||
@@ -420,7 +525,7 @@ void compute_alpha16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,unsigned s
|
|||||||
print_shorts("a6",(int16_t*)&a6);
|
print_shorts("a6",(int16_t*)&a6);
|
||||||
print_shorts("a7",(int16_t*)&a7);
|
print_shorts("a7",(int16_t*)&a7);
|
||||||
|
|
||||||
printf("Loop index %d\n",k);
|
fprintf(fdsse4,"Loop index %d\n",k);
|
||||||
print_shorts("a0",(int16_t*)&alpha_ptr[0]);
|
print_shorts("a0",(int16_t*)&alpha_ptr[0]);
|
||||||
print_shorts("a1",(int16_t*)&alpha_ptr[1]);
|
print_shorts("a1",(int16_t*)&alpha_ptr[1]);
|
||||||
print_shorts("a2",(int16_t*)&alpha_ptr[2]);
|
print_shorts("a2",(int16_t*)&alpha_ptr[2]);
|
||||||
@@ -463,25 +568,33 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
llr_t beta0,beta1;
|
llr_t beta0,beta1;
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("compute_beta, %p,%p,%p,%p,framelength %d,F %d\n",
|
fprintf(fdsse4,"compute_beta, %p,%p,%p,%p,framelength %d,F %d\n",
|
||||||
beta,m_11,m_10,alpha,frame_length,F);
|
beta,m_11,m_10,alpha,frame_length,F);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// termination for beta initialization
|
// termination for beta initialization
|
||||||
|
|
||||||
// printf("beta init: offset8 %d\n",offset8_flag);
|
// fprintf(fdsse4,"beta init: offset8 %d\n",offset8_flag);
|
||||||
m11=(int16_t)m_11[2+frame_length];
|
m11=(int16_t)m_11[2+frame_length];
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
m10=(int16_t)m_10[2+frame_length];
|
m10=(int16_t)m_10[2+frame_length];
|
||||||
|
#else
|
||||||
// printf("m11,m10 %d,%d\n",m11,m10);
|
m10=-(int16_t)m_10[2+frame_length];
|
||||||
|
#endif
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"m11,m10 %d,%d\n",m11,m10);
|
||||||
|
#endif
|
||||||
|
|
||||||
beta0 = -m11;//M0T_TERM;
|
beta0 = -m11;//M0T_TERM;
|
||||||
beta1 = m11;//M1T_TERM;
|
beta1 = m11;//M1T_TERM;
|
||||||
m11=(int16_t)m_11[1+frame_length];
|
m11=(int16_t)m_11[1+frame_length];
|
||||||
m10=(int16_t)m_10[1+frame_length];
|
m10=(int16_t)m_10[1+frame_length];
|
||||||
|
|
||||||
// printf("m11,m10 %d,%d\n",m11,m10);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"m11,m10 %d,%d\n",m11,m10);
|
||||||
|
#endif
|
||||||
|
|
||||||
beta0_2 = beta0-m11;//+M0T_TERM;
|
beta0_2 = beta0-m11;//+M0T_TERM;
|
||||||
beta1_2 = beta0+m11;//+M1T_TERM;
|
beta1_2 = beta0+m11;//+M1T_TERM;
|
||||||
@@ -489,8 +602,9 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta3_2 = beta1-m10;//+M3T_TERM;
|
beta3_2 = beta1-m10;//+M3T_TERM;
|
||||||
m11=(int16_t)m_11[frame_length];
|
m11=(int16_t)m_11[frame_length];
|
||||||
m10=(int16_t)m_10[frame_length];
|
m10=(int16_t)m_10[frame_length];
|
||||||
// printf("m11,m10 %d,%d (%p)\n",m11,m10,m_11+frame_length);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"m11,m10 %d,%d\n",m11,m10);
|
||||||
|
#endif
|
||||||
beta0_16 = beta0_2-m11;//+M0T_TERM;
|
beta0_16 = beta0_2-m11;//+M0T_TERM;
|
||||||
beta1_16 = beta0_2+m11;//+M1T_TERM;
|
beta1_16 = beta0_2+m11;//+M1T_TERM;
|
||||||
beta2_16 = beta1_2+m10;//+M2T_TERM;
|
beta2_16 = beta1_2+m10;//+M2T_TERM;
|
||||||
@@ -536,6 +650,17 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta_ptr[5] = alpha128[5+(frame_length)];
|
beta_ptr[5] = alpha128[5+(frame_length)];
|
||||||
beta_ptr[6] = alpha128[6+(frame_length)];
|
beta_ptr[6] = alpha128[6+(frame_length)];
|
||||||
beta_ptr[7] = alpha128[7+(frame_length)];
|
beta_ptr[7] = alpha128[7+(frame_length)];
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"beta init \n");
|
||||||
|
print_shorts("b0",(int16_t*)&beta_ptr[0]);
|
||||||
|
print_shorts("b1",(int16_t*)&beta_ptr[1]);
|
||||||
|
print_shorts("b2",(int16_t*)&beta_ptr[2]);
|
||||||
|
print_shorts("b3",(int16_t*)&beta_ptr[3]);
|
||||||
|
print_shorts("b4",(int16_t*)&beta_ptr[4]);
|
||||||
|
print_shorts("b5",(int16_t*)&beta_ptr[5]);
|
||||||
|
print_shorts("b6",(int16_t*)&beta_ptr[6]);
|
||||||
|
print_shorts("b7",(int16_t*)&beta_ptr[7]);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
beta128 = (__m128i*)&beta[0];
|
beta128 = (__m128i*)&beta[0];
|
||||||
@@ -558,6 +683,17 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta_ptr[5] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[5],16); beta_ptr[5] = vsetq_lane_s16(beta[43],beta_ptr[5],4);
|
beta_ptr[5] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[5],16); beta_ptr[5] = vsetq_lane_s16(beta[43],beta_ptr[5],4);
|
||||||
beta_ptr[6] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[6],16); beta_ptr[6] = vsetq_lane_s16(beta[51],beta_ptr[6],4);
|
beta_ptr[6] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[6],16); beta_ptr[6] = vsetq_lane_s16(beta[51],beta_ptr[6],4);
|
||||||
beta_ptr[7] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[7],16); beta_ptr[7] = vsetq_lane_s16(beta[59],beta_ptr[7],4);
|
beta_ptr[7] = (int16x8_t)vshrq_n_s64((int64x2_t)beta128[7],16); beta_ptr[7] = vsetq_lane_s16(beta[59],beta_ptr[7],4);
|
||||||
|
#endif
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"beta init (second run) \n");
|
||||||
|
print_shorts("b0",(int16_t*)&beta_ptr[0]);
|
||||||
|
print_shorts("b1",(int16_t*)&beta_ptr[1]);
|
||||||
|
print_shorts("b2",(int16_t*)&beta_ptr[2]);
|
||||||
|
print_shorts("b3",(int16_t*)&beta_ptr[3]);
|
||||||
|
print_shorts("b4",(int16_t*)&beta_ptr[4]);
|
||||||
|
print_shorts("b5",(int16_t*)&beta_ptr[5]);
|
||||||
|
print_shorts("b6",(int16_t*)&beta_ptr[6]);
|
||||||
|
print_shorts("b7",(int16_t*)&beta_ptr[7]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -582,6 +718,17 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta_ptr[7] = vsetq_lane_s16(beta7_16,beta_ptr[7],7);
|
beta_ptr[7] = vsetq_lane_s16(beta7_16,beta_ptr[7],7);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"beta init (after insert) \n");
|
||||||
|
print_shorts("b0",(int16_t*)&beta_ptr[0]);
|
||||||
|
print_shorts("b1",(int16_t*)&beta_ptr[1]);
|
||||||
|
print_shorts("b2",(int16_t*)&beta_ptr[2]);
|
||||||
|
print_shorts("b3",(int16_t*)&beta_ptr[3]);
|
||||||
|
print_shorts("b4",(int16_t*)&beta_ptr[4]);
|
||||||
|
print_shorts("b5",(int16_t*)&beta_ptr[5]);
|
||||||
|
print_shorts("b6",(int16_t*)&beta_ptr[6]);
|
||||||
|
print_shorts("b7",(int16_t*)&beta_ptr[7]);
|
||||||
|
#endif
|
||||||
int loopval=((rerun_flag==0)?0:((frame_length-L)>>3));
|
int loopval=((rerun_flag==0)?0:((frame_length-L)>>3));
|
||||||
|
|
||||||
for (k=(frame_length>>3)-1; k>=loopval; k--) {
|
for (k=(frame_length>>3)-1; k>=loopval; k--) {
|
||||||
@@ -589,6 +736,9 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
m11_128=((__m128i*)m_11)[k];
|
m11_128=((__m128i*)m_11)[k];
|
||||||
m10_128=((__m128i*)m_10)[k];
|
m10_128=((__m128i*)m_10)[k];
|
||||||
|
|
||||||
|
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
m_b0 = _mm_adds_epi16(beta_ptr[4],m11_128); //m11
|
m_b0 = _mm_adds_epi16(beta_ptr[4],m11_128); //m11
|
||||||
m_b1 = _mm_subs_epi16(beta_ptr[4],m11_128); //m00
|
m_b1 = _mm_subs_epi16(beta_ptr[4],m11_128); //m00
|
||||||
m_b2 = _mm_subs_epi16(beta_ptr[5],m10_128); //m01
|
m_b2 = _mm_subs_epi16(beta_ptr[5],m10_128); //m01
|
||||||
@@ -598,6 +748,7 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
m_b6 = _mm_subs_epi16(beta_ptr[7],m11_128); //m00
|
m_b6 = _mm_subs_epi16(beta_ptr[7],m11_128); //m00
|
||||||
m_b7 = _mm_adds_epi16(beta_ptr[7],m11_128); //m11
|
m_b7 = _mm_adds_epi16(beta_ptr[7],m11_128); //m11
|
||||||
|
|
||||||
|
|
||||||
new0 = _mm_subs_epi16(beta_ptr[0],m11_128); //m00
|
new0 = _mm_subs_epi16(beta_ptr[0],m11_128); //m00
|
||||||
new1 = _mm_adds_epi16(beta_ptr[0],m11_128); //m11
|
new1 = _mm_adds_epi16(beta_ptr[0],m11_128); //m11
|
||||||
new2 = _mm_adds_epi16(beta_ptr[1],m10_128); //m10
|
new2 = _mm_adds_epi16(beta_ptr[1],m10_128); //m10
|
||||||
@@ -607,8 +758,29 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
new6 = _mm_adds_epi16(beta_ptr[3],m11_128); //m11
|
new6 = _mm_adds_epi16(beta_ptr[3],m11_128); //m11
|
||||||
new7 = _mm_subs_epi16(beta_ptr[3],m11_128); //m00
|
new7 = _mm_subs_epi16(beta_ptr[3],m11_128); //m00
|
||||||
|
|
||||||
|
#else
|
||||||
|
b01=_mm256_load_si256(&((_m256i*)beta_ptr)[0]);
|
||||||
|
b23=_mm256_load_si256(&((_m256i*)beta_ptr)[1]);
|
||||||
|
b45=_mm256_load_si256(&((_m256i*)beta_ptr)[2]);
|
||||||
|
b67=_mm256_load_si256(&((_m256i*)beta_ptr)[3]);
|
||||||
|
m11m10_256 = _mm256_insertf128_si256(m11m10_256,m11_128,0);
|
||||||
|
m11m10_256 = _mm256_insertf128_si256(m11m10_256,m10_128,1);
|
||||||
|
|
||||||
|
|
||||||
|
m_b02 = _mm256_adds_epi16(b45,m11m10_256); //negative m10
|
||||||
|
m_b13 = _mm256_subs_epi16(b45,m11m10_256); //negative m10
|
||||||
|
m_b64 = _mm256_subs_epi16(b67,m11m10_256); //negative m10
|
||||||
|
m_b75 = _mm256_adds_epi16(b67,m11m10_256); //negative m10
|
||||||
|
new02 = _mm256_subs_epi16(b01,m11m10_256); //negative m10
|
||||||
|
new13 = _mm256_adds_epi16(b01,m11m10_256); //negative m10
|
||||||
|
new64 = _mm256_adds_epi16(b23,m11m10_256); //negative m10
|
||||||
|
new75 = _mm256_subs_epi16(b24,m11m10_256); //negative m10
|
||||||
|
#endif
|
||||||
|
|
||||||
beta_ptr-=8;
|
beta_ptr-=8;
|
||||||
|
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
beta_ptr[0] = _mm_max_epi16(m_b0,new0);
|
beta_ptr[0] = _mm_max_epi16(m_b0,new0);
|
||||||
beta_ptr[1] = _mm_max_epi16(m_b1,new1);
|
beta_ptr[1] = _mm_max_epi16(m_b1,new1);
|
||||||
beta_ptr[2] = _mm_max_epi16(m_b2,new2);
|
beta_ptr[2] = _mm_max_epi16(m_b2,new2);
|
||||||
@@ -634,6 +806,28 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta_ptr[5] = _mm_subs_epi16(beta_ptr[5],beta_max);
|
beta_ptr[5] = _mm_subs_epi16(beta_ptr[5],beta_max);
|
||||||
beta_ptr[6] = _mm_subs_epi16(beta_ptr[6],beta_max);
|
beta_ptr[6] = _mm_subs_epi16(beta_ptr[6],beta_max);
|
||||||
beta_ptr[7] = _mm_subs_epi16(beta_ptr[7],beta_max);
|
beta_ptr[7] = _mm_subs_epi16(beta_ptr[7],beta_max);
|
||||||
|
#else
|
||||||
|
b02 = _mm256_max_epi16(m_b02,new02);
|
||||||
|
b13 = _mm256_max_epi16(m_b13,new13);
|
||||||
|
b64 = _mm256_max_epi16(m_b64,new64);
|
||||||
|
b75 = _mm256_max_epi16(m_b75,new75);
|
||||||
|
|
||||||
|
beta_max = _mm256_max_epi16(b02,b13);
|
||||||
|
beta_max = _mm256_max_epi16(beta_max,b64);
|
||||||
|
beta_max = _mm256_max_epi16(beta_max,b75);
|
||||||
|
beta_max = _mm256_max_epi16(beta_max,_mm256_permutevar8x32_epi32(betaa_max,_mm256_set_epi32(3,2,1,0,7,6,5,4)));
|
||||||
|
|
||||||
|
b02 = _mm256_subs_epi16(b02,beta_max);
|
||||||
|
b13 = _mm256_subs_epi16(b13,beta_max);
|
||||||
|
b64 = _mm256_subs_epi16(b64,beta_max);
|
||||||
|
b75 = _mm256_subs_epi16(b75,beta_max);
|
||||||
|
|
||||||
|
((_m256i*)beta_ptr)[0]) = _mm256_permute2x128_si256(b02,b13,0x02); //b01
|
||||||
|
((_m256i*)beta_ptr)[1]) = _mm256_permute2x128_si256(b02,b13,0x31); //b23
|
||||||
|
((_m256i*)beta_ptr)[2]) = _mm256_permute2x128_si256(b64,b75,0x13); //b45
|
||||||
|
((_m256i*)beta_ptr)[3]) = _mm256_permute2x128_si256(b64,b75,0x20); //b67
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
m11_128=((int16x8_t*)m_11)[k];
|
m11_128=((int16x8_t*)m_11)[k];
|
||||||
m10_128=((int16x8_t*)m_10)[k];
|
m10_128=((int16x8_t*)m_10)[k];
|
||||||
@@ -684,6 +878,18 @@ void compute_beta16(llr_t* alpha,llr_t* beta,llr_t *m_11,llr_t* m_10,unsigned sh
|
|||||||
beta_ptr[7] = vqsubq_s16(beta_ptr[7],beta_max);
|
beta_ptr[7] = vqsubq_s16(beta_ptr[7],beta_max);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"Loop index %d, mb\n",k);
|
||||||
|
fprintf(fdsse4,"beta init (after max)\n");
|
||||||
|
print_shorts("b0",(int16_t*)&beta_ptr[0]);
|
||||||
|
print_shorts("b1",(int16_t*)&beta_ptr[1]);
|
||||||
|
print_shorts("b2",(int16_t*)&beta_ptr[2]);
|
||||||
|
print_shorts("b3",(int16_t*)&beta_ptr[3]);
|
||||||
|
print_shorts("b4",(int16_t*)&beta_ptr[4]);
|
||||||
|
print_shorts("b5",(int16_t*)&beta_ptr[5]);
|
||||||
|
print_shorts("b6",(int16_t*)&beta_ptr[6]);
|
||||||
|
print_shorts("b7",(int16_t*)&beta_ptr[7]);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -721,7 +927,7 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
|
|||||||
//
|
//
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("compute_ext, %p, %p, %p, %p, %p, %p ,framelength %d\n",alpha,beta,m_11,m_10,ext,systematic,frame_length);
|
fprintf(fdsse4,"compute_ext (sse_16bit), %p, %p, %p, %p, %p, %p ,framelength %d\n",alpha,beta,m_11,m_10,ext,systematic,frame_length);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
alpha_ptr = alpha128;
|
alpha_ptr = alpha128;
|
||||||
@@ -736,7 +942,7 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
|
|||||||
ext_128 = (__m128i*)&ext[k<<3];
|
ext_128 = (__m128i*)&ext[k<<3];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
printf("EXT %03d\n",k);
|
fprintf(fdsse4,"EXT %03d\n",k);
|
||||||
print_shorts("a0:",&alpha_ptr[0]);
|
print_shorts("a0:",&alpha_ptr[0]);
|
||||||
print_shorts("a1:",&alpha_ptr[1]);
|
print_shorts("a1:",&alpha_ptr[1]);
|
||||||
print_shorts("a2:",&alpha_ptr[2]);
|
print_shorts("a2:",&alpha_ptr[2]);
|
||||||
@@ -754,6 +960,9 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
|
|||||||
print_shorts("b6:",&beta_ptr[6]);
|
print_shorts("b6:",&beta_ptr[6]);
|
||||||
print_shorts("b7:",&beta_ptr[7]);
|
print_shorts("b7:",&beta_ptr[7]);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
//#ifndef __AVX2__
|
||||||
|
#if 1
|
||||||
m00_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[3]); //ALPHA_BETA_4m00;
|
m00_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[3]); //ALPHA_BETA_4m00;
|
||||||
m11_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[7]); //ALPHA_BETA_4m11;
|
m11_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[7]); //ALPHA_BETA_4m11;
|
||||||
m00_3 = _mm_adds_epi16(alpha_ptr[6],beta_ptr[7]); //ALPHA_BETA_3m00;
|
m00_3 = _mm_adds_epi16(alpha_ptr[6],beta_ptr[7]); //ALPHA_BETA_3m00;
|
||||||
@@ -770,6 +979,32 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
|
|||||||
m10_2 = _mm_adds_epi16(alpha_ptr[3],beta_ptr[5]); //ALPHA_BETA_2m10;
|
m10_2 = _mm_adds_epi16(alpha_ptr[3],beta_ptr[5]); //ALPHA_BETA_2m10;
|
||||||
m10_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[1]); //ALPHA_BETA_1m10;
|
m10_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[1]); //ALPHA_BETA_1m10;
|
||||||
m01_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[5]); //ALPHA_BETA_1m01;
|
m01_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[5]); //ALPHA_BETA_1m01;
|
||||||
|
#else
|
||||||
|
|
||||||
|
|
||||||
|
m00_1 = _mm_adds_epi16(alpha_ptr[0],beta_ptr[0]); //ALPHA_BETA_1m00;
|
||||||
|
m10_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[1]); //ALPHA_BETA_1m10;
|
||||||
|
m11_1 = _mm_adds_epi16(alpha_ptr[0],beta_ptr[4]); //ALPHA_BETA_1m11;
|
||||||
|
m01_1 = _mm_adds_epi16(alpha_ptr[2],beta_ptr[5]); //ALPHA_BETA_1m01;
|
||||||
|
|
||||||
|
m11_2 = _mm_adds_epi16(alpha_ptr[1],beta_ptr[0]); //ALPHA_BETA_2m11;
|
||||||
|
m01_2 = _mm_adds_epi16(alpha_ptr[3],beta_ptr[1]); //ALPHA_BETA_2m01;
|
||||||
|
m00_2 = _mm_adds_epi16(alpha_ptr[1],beta_ptr[4]); //ALPHA_BETA_2m00;
|
||||||
|
m10_2 = _mm_adds_epi16(alpha_ptr[3],beta_ptr[5]); //ALPHA_BETA_2m10;
|
||||||
|
|
||||||
|
m11_3 = _mm_adds_epi16(alpha_ptr[6],beta_ptr[3]); //ALPHA_BETA_3m11;
|
||||||
|
m01_3 = _mm_adds_epi16(alpha_ptr[4],beta_ptr[2]); //ALPHA_BETA_3m01;
|
||||||
|
m00_3 = _mm_adds_epi16(alpha_ptr[6],beta_ptr[7]); //ALPHA_BETA_3m00;
|
||||||
|
m10_3 = _mm_adds_epi16(alpha_ptr[4],beta_ptr[6]); //ALPHA_BETA_3m10;
|
||||||
|
|
||||||
|
m00_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[3]); //ALPHA_BETA_4m00;
|
||||||
|
m10_4 = _mm_adds_epi16(alpha_ptr[5],beta_ptr[2]); //ALPHA_BETA_4m10;
|
||||||
|
m11_4 = _mm_adds_epi16(alpha_ptr[7],beta_ptr[7]); //ALPHA_BETA_4m11;
|
||||||
|
m01_4 = _mm_adds_epi16(alpha_ptr[5],beta_ptr[6]); //ALPHA_BETA_4m01;
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
print_shorts("m11_1:",&m11_1);
|
print_shorts("m11_1:",&m11_1);
|
||||||
print_shorts("m11_2:",&m11_2);
|
print_shorts("m11_2:",&m11_2);
|
||||||
@@ -816,15 +1051,15 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
|
|||||||
// print_shorts("m10_1:",&m10_1);
|
// print_shorts("m10_1:",&m10_1);
|
||||||
|
|
||||||
*ext_128 = _mm_subs_epi16(m10_1,m01_1);
|
*ext_128 = _mm_subs_epi16(m10_1,m01_1);
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"ext %p\n",ext_128);
|
||||||
|
print_shorts("ext:",(int16_t*)ext_128);
|
||||||
|
print_shorts("m11:",(int16_t*)m11_128);
|
||||||
|
print_shorts("m10:",(int16_t*)m10_128);
|
||||||
|
print_shorts("m10_1:",(int16_t*)&m10_1);
|
||||||
|
print_shorts("m01_1:",(int16_t*)&m01_1);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
print_shorts("ext:",ext_128);
|
|
||||||
print_shorts("m11:",m11_128);
|
|
||||||
print_shorts("m10:",m10_128);
|
|
||||||
print_shorts("m10_1:",&m10_1);
|
|
||||||
print_shorts("m01_1:",&m01_1);
|
|
||||||
print_shorts("syst:",systematic_128);
|
|
||||||
*/
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
m11_128 = (int16x8_t*)&m_11[k<<3];
|
m11_128 = (int16x8_t*)&m_11[k<<3];
|
||||||
m10_128 = (int16x8_t*)&m_10[k<<3];
|
m10_128 = (int16x8_t*)&m_10[k<<3];
|
||||||
@@ -927,7 +1162,7 @@ void init_td16()
|
|||||||
// j-=(n-1);
|
// j-=(n-1);
|
||||||
|
|
||||||
pi2tab16[ind][i] = j;
|
pi2tab16[ind][i] = j;
|
||||||
// printf("pi2[%d] = %d\n",i,j);
|
// fprintf(fdsse4,"pi2[%d] = %d\n",i,j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -964,19 +1199,19 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
n is the size in bits of the coded block, with the tail */
|
n is the size in bits of the coded block, with the tail */
|
||||||
|
|
||||||
|
|
||||||
llr_t systematic0[n+16] __attribute__ ((aligned(16)));
|
llr_t systematic0[n+16] __attribute__ ((aligned(32)));
|
||||||
llr_t systematic1[n+16] __attribute__ ((aligned(16)));
|
llr_t systematic1[n+16] __attribute__ ((aligned(32)));
|
||||||
llr_t systematic2[n+16] __attribute__ ((aligned(16)));
|
llr_t systematic2[n+16] __attribute__ ((aligned(32)));
|
||||||
llr_t yparity1[n+16] __attribute__ ((aligned(16)));
|
llr_t yparity1[n+16] __attribute__ ((aligned(32)));
|
||||||
llr_t yparity2[n+16] __attribute__ ((aligned(16)));
|
llr_t yparity2[n+16] __attribute__ ((aligned(32)));
|
||||||
|
|
||||||
llr_t ext[n+128] __attribute__((aligned(16)));
|
llr_t ext[n+128] __attribute__((aligned(32)));
|
||||||
llr_t ext2[n+128] __attribute__((aligned(16)));
|
llr_t ext2[n+128] __attribute__((aligned(32)));
|
||||||
|
|
||||||
llr_t alpha[(n+16)*8] __attribute__ ((aligned(16)));
|
llr_t alpha[(n+16)*8] __attribute__ ((aligned(32)));
|
||||||
llr_t beta[(n+16)*8] __attribute__ ((aligned(16)));
|
llr_t beta[(n+16)*8] __attribute__ ((aligned(32)));
|
||||||
llr_t m11[n+16] __attribute__ ((aligned(16)));
|
llr_t m11[n+32] __attribute__ ((aligned(32)));
|
||||||
llr_t m10[n+16] __attribute__ ((aligned(16)));
|
llr_t m10[n+32] __attribute__ ((aligned(32)));
|
||||||
|
|
||||||
|
|
||||||
int *pi2_p,*pi4_p,*pi5_p,*pi6_p;
|
int *pi2_p,*pi4_p,*pi5_p,*pi6_p;
|
||||||
@@ -989,7 +1224,7 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
__m128i *yp128;
|
__m128i *yp128;
|
||||||
__m128i tmp, zeros=_mm_setzero_si128();
|
__m128i tmp, zeros=_mm_setzero_si128();
|
||||||
register __m128i tmpe;
|
__m128i tmpe;
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
int16x8_t *yp128;
|
int16x8_t *yp128;
|
||||||
// int16x8_t tmp128[(n+8)>>3];
|
// int16x8_t tmp128[(n+8)>>3];
|
||||||
@@ -1000,12 +1235,20 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
#endif
|
#endif
|
||||||
int offset8_flag=0;
|
int offset8_flag=0;
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fdsse4 = fopen("dump_sse4.txt","w");
|
||||||
|
|
||||||
|
|
||||||
|
printf("tc sse4_16 (y) %p\n",y);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (crc_type > 3) {
|
if (crc_type > 3) {
|
||||||
msg("Illegal crc length!\n");
|
printf("Illegal crc length!\n");
|
||||||
return 255;
|
return 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
start_meas(init_stats);
|
start_meas(init_stats);
|
||||||
|
|
||||||
|
|
||||||
@@ -1013,7 +1256,7 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
for (iind=0; iind < 188 && f1f2mat[iind].nb_bits != n; iind++);
|
for (iind=0; iind < 188 && f1f2mat[iind].nb_bits != n; iind++);
|
||||||
|
|
||||||
if ( iind == 188 ) {
|
if ( iind == 188 ) {
|
||||||
msg("Illegal frame length!\n");
|
printf("Illegal frame length!\n");
|
||||||
return 255;
|
return 255;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1059,62 +1302,74 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
tmpe = _mm_load_si128(yp128);
|
tmpe = _mm_load_si128(yp128);
|
||||||
|
// fprintf(fdsse4,"yp128 %p\n",yp128);
|
||||||
|
// print_shorts("tmpe",(int16_t *)&tmpe);
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,0);
|
s[j] = _mm_extract_epi16(tmpe,0);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,1);
|
yp1[j] = _mm_extract_epi16(tmpe,1);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,2);
|
yp2[j] = _mm_extract_epi16(tmpe,2);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init0: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[1];
|
j=pi2_p[1];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,3);
|
s[j] = _mm_extract_epi16(tmpe,3);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,4);
|
yp1[j] = _mm_extract_epi16(tmpe,4);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,5);
|
yp2[j] = _mm_extract_epi16(tmpe,5);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init1: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[2];
|
j=pi2_p[2];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,6);
|
s[j] = _mm_extract_epi16(tmpe,6);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,7);
|
yp1[j] = _mm_extract_epi16(tmpe,7);
|
||||||
tmpe = _mm_load_si128(&yp128[1]);
|
tmpe = _mm_load_si128(&yp128[1]);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,0);
|
yp2[j] = _mm_extract_epi16(tmpe,0);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init2: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[3];
|
j=pi2_p[3];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,1);
|
s[j] = _mm_extract_epi16(tmpe,1);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,2);
|
yp1[j] = _mm_extract_epi16(tmpe,2);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,3);
|
yp2[j] = _mm_extract_epi16(tmpe,3);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init3: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[4];
|
j=pi2_p[4];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,4);
|
s[j] = _mm_extract_epi16(tmpe,4);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,5);
|
yp1[j] = _mm_extract_epi16(tmpe,5);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,6);
|
yp2[j] = _mm_extract_epi16(tmpe,6);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init4: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[5];
|
j=pi2_p[5];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,7);
|
s[j] = _mm_extract_epi16(tmpe,7);
|
||||||
tmpe = _mm_load_si128(&yp128[2]);
|
tmpe = _mm_load_si128(&yp128[2]);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,0);
|
yp1[j] = _mm_extract_epi16(tmpe,0);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,1);
|
yp2[j] = _mm_extract_epi16(tmpe,1);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init5: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
|
|
||||||
j=pi2_p[6];
|
j=pi2_p[6];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,2);
|
s[j] = _mm_extract_epi16(tmpe,2);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,3);
|
yp1[j] = _mm_extract_epi16(tmpe,3);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,4);
|
yp2[j] = _mm_extract_epi16(tmpe,4);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init6: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
j=pi2_p[7];
|
j=pi2_p[7];
|
||||||
|
|
||||||
s[j] = _mm_extract_epi16(tmpe,5);
|
s[j] = _mm_extract_epi16(tmpe,5);
|
||||||
yp1[j] = _mm_extract_epi16(tmpe,6);
|
yp1[j] = _mm_extract_epi16(tmpe,6);
|
||||||
yp2[j] = _mm_extract_epi16(tmpe,7);
|
yp2[j] = _mm_extract_epi16(tmpe,7);
|
||||||
// printf("init: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"init7: j %d, s[j] %d yp1[j] %d yp2[j] %d\n",j,s[j],yp1[j],yp2[j]);
|
||||||
|
#endif
|
||||||
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
s[j] = vgetq_lane_s16(yp128[0],0);
|
s[j] = vgetq_lane_s16(yp128[0],0);
|
||||||
@@ -1172,7 +1427,7 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
yp1[i] = *yp;
|
yp1[i] = *yp;
|
||||||
yp++;
|
yp++;
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("Term 1 (%d): %d %d\n",i,s[i],yp1[i]);
|
fprintf(fdsse4,"Term 1 (%d): %d %d\n",i,s[i],yp1[i]);
|
||||||
#endif //DEBUG_LOGMAP
|
#endif //DEBUG_LOGMAP
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1184,12 +1439,12 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
yp2[i-8] = *yp;
|
yp2[i-8] = *yp;
|
||||||
yp++;
|
yp++;
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("Term 2 (%d): %d %d\n",i-3,s[i],yp2[i-8]);
|
fprintf(fdsse4,"Term 2 (%d): %d %d\n",i-3,s[i],yp2[i-8]);
|
||||||
#endif //DEBUG_LOGMAP
|
#endif //DEBUG_LOGMAP
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
msg("\n");
|
fprintf(fdsse4,"\n");
|
||||||
#endif //DEBUG_LOGMAP
|
#endif //DEBUG_LOGMAP
|
||||||
|
|
||||||
stop_meas(init_stats);
|
stop_meas(init_stats);
|
||||||
@@ -1201,7 +1456,7 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
while (iteration_cnt++ < max_iterations) {
|
while (iteration_cnt++ < max_iterations) {
|
||||||
|
|
||||||
#ifdef DEBUG_LOGMAP
|
#ifdef DEBUG_LOGMAP
|
||||||
printf("\n*******************ITERATION %d (n %d), ext %p\n\n",iteration_cnt,n,ext);
|
fprintf(fdsse4,"\n*******************ITERATION %d (n %d), ext %p\n\n",iteration_cnt,n,ext);
|
||||||
#endif //DEBUG_LOGMAP
|
#endif //DEBUG_LOGMAP
|
||||||
|
|
||||||
start_meas(intl1_stats);
|
start_meas(intl1_stats);
|
||||||
@@ -1209,24 +1464,29 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
pi4_p=pi4tab16[iind];
|
pi4_p=pi4tab16[iind];
|
||||||
|
|
||||||
for (i=0; i<(n>>3); i++) { // steady-state portion
|
for (i=0; i<(n>>3); i++) { // steady-state portion
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],0);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],0);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],1);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],1);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],2);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],2);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],3);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],3);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],4);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],4);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],5);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],5);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],6);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],6);
|
||||||
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],((llr_t*)ext)[*pi4_p++],7);
|
((__m128i *)systematic2)[i]=_mm_insert_epi16(((__m128i *)systematic2)[i],ext[*pi4_p++],7);
|
||||||
|
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],0);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],0);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],1);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],1);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],2);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],2);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],3);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],3);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],4);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],4);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],5);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],5);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],6);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],6);
|
||||||
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(((llr_t*)ext)[*pi4_p++],((int16x8_t*)systematic2)[i],7);
|
((int16x8_t*)systematic2)[i]=vsetq_lane_s16(ext[*pi4_p++],((int16x8_t*)systematic2)[i],7);
|
||||||
|
#endif
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
print_shorts("syst2",(int16_t*)&((__m128i *)systematic2)[i]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1261,6 +1521,9 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
tmp=vsetq_lane_s16(ext2[*pi5_p++],tmp,6);
|
tmp=vsetq_lane_s16(ext2[*pi5_p++],tmp,6);
|
||||||
tmp=vsetq_lane_s16(ext2[*pi5_p++],tmp,7);
|
tmp=vsetq_lane_s16(ext2[*pi5_p++],tmp,7);
|
||||||
((int16x8_t *)systematic1)[i] = vqaddq_s16(vqsubq_s16(tmp,((int16x8_t*)ext)[i]),((int16x8_t *)systematic0)[i]);
|
((int16x8_t *)systematic1)[i] = vqaddq_s16(vqsubq_s16(tmp,((int16x8_t*)ext)[i]),((int16x8_t *)systematic0)[i]);
|
||||||
|
#endif
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
print_shorts("syst1",(int16_t*)&((__m128i *)systematic1)[i]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1278,6 +1541,9 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],2);
|
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],2);
|
||||||
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],1);
|
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],1);
|
||||||
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],0);
|
tmp=_mm_insert_epi16(tmp, ((llr_t*)ext2)[*pi6_p++],0);
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
print_shorts("tmp",(int16_t*)&tmp);
|
||||||
|
#endif
|
||||||
tmp=_mm_cmpgt_epi8(_mm_packs_epi16(tmp,zeros),zeros);
|
tmp=_mm_cmpgt_epi8(_mm_packs_epi16(tmp,zeros),zeros);
|
||||||
decoded_bytes[i]=(unsigned char)_mm_movemask_epi8(tmp);
|
decoded_bytes[i]=(unsigned char)_mm_movemask_epi8(tmp);
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
@@ -1297,6 +1563,10 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
uint64x2_t Mask = vpaddlq_u32(vpaddlq_u16(vandq_u16(vcgtq_s16(tmp,zeros), Powers)));
|
uint64x2_t Mask = vpaddlq_u32(vpaddlq_u16(vandq_u16(vcgtq_s16(tmp,zeros), Powers)));
|
||||||
uint64x1_t Mask64 = vget_high_u64(Mask)+vget_low_u64(Mask);
|
uint64x1_t Mask64 = vget_high_u64(Mask)+vget_low_u64(Mask);
|
||||||
decoded_bytes[i] = (uint8_t)Mask64;
|
decoded_bytes[i] = (uint8_t)Mask64;
|
||||||
|
#endif
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
print_shorts("tmp",(int16_t*)&tmp);
|
||||||
|
fprintf(fdsse4,"decoded_bytes[%d] %x\n",i,decoded_bytes[i]);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1344,6 +1614,9 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop_meas(intl2_stats);
|
stop_meas(intl2_stats);
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fprintf(fdsse4,"oldcrc %x, crc %x\n",oldcrc,crc);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ((crc == oldcrc) && (crc!=0)) {
|
if ((crc == oldcrc) && (crc!=0)) {
|
||||||
return(iteration_cnt);
|
return(iteration_cnt);
|
||||||
@@ -1375,7 +1648,11 @@ unsigned char phy_threegpplte_turbo_decoder16(short *y,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// printf("crc %x, oldcrc %x\n",crc,oldcrc);
|
// fprintf(fdsse4,"crc %x, oldcrc %x\n",crc,oldcrc);
|
||||||
|
|
||||||
|
#ifdef DEBUG_LOGMAP
|
||||||
|
fclose(fdsse4);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
_mm_empty();
|
_mm_empty();
|
||||||
|
|||||||
@@ -1000,6 +1000,7 @@ unsigned char phy_threegpplte_turbo_decoder8(short *y,
|
|||||||
|
|
||||||
#if defined(__x86_64__) || defined(__i386__)
|
#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
|
||||||
|
// note: this makes valgrind freak
|
||||||
__m128i avg=_mm_set1_epi32(0);
|
__m128i avg=_mm_set1_epi32(0);
|
||||||
|
|
||||||
for (i=0; i<(3*(n>>4))+1; i++) {
|
for (i=0; i<(3*(n>>4))+1; i++) {
|
||||||
@@ -1503,6 +1504,7 @@ unsigned char phy_threegpplte_turbo_decoder8(short *y,
|
|||||||
|
|
||||||
tmp2=_mm_and_si128(tmp,mask);
|
tmp2=_mm_and_si128(tmp,mask);
|
||||||
tmp2=_mm_cmpeq_epi16(tmp2,mask);
|
tmp2=_mm_cmpeq_epi16(tmp2,mask);
|
||||||
|
// printf("decoded_bytes %p\n",decoded_bytes);
|
||||||
decoded_bytes[n_128*0+i]=(uint8_t) _mm_movemask_epi8(_mm_packs_epi16(tmp2,zeros));
|
decoded_bytes[n_128*0+i]=(uint8_t) _mm_movemask_epi8(_mm_packs_epi16(tmp2,zeros));
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ RATE12CC_SRC = ccoding_byte.c viterbi.c crc_byte.c
|
|||||||
all: 3gpplte_sse
|
all: 3gpplte_sse
|
||||||
|
|
||||||
3gpplte_sse: $(TURBO_SRC)
|
3gpplte_sse: $(TURBO_SRC)
|
||||||
gcc -o 3gpplte_sse 3gpplte_sse.c -msse4 -Wall -g -ggdb -DMAIN
|
gcc -o 3gpplte_sse 3gpplte_sse.c -msse4 -Wall -g -ggdb -DTC_MAIN -I../..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -303,6 +303,10 @@ void ccodedot11_init(void);
|
|||||||
\brief This function initializes the trellis structure for decoding an 802.11 convolutional code.*/
|
\brief This function initializes the trellis structure for decoding an 802.11 convolutional code.*/
|
||||||
void ccodedot11_init_inv(void);
|
void ccodedot11_init_inv(void);
|
||||||
|
|
||||||
|
/*!\fn void teillis_table_init(void)
|
||||||
|
\brief This function initializes the trellis structure for 3GPP LTE Turbo code.*/
|
||||||
|
void treillis_table_init(void);
|
||||||
|
|
||||||
/*\fn void threegpplte_turbo_encoder(uint8_t *input,uint16_t input_length_bytes,uint8_t *output,uint8_t F,uint16_t interleaver_f1,uint16_t interleaver_f2)
|
/*\fn void threegpplte_turbo_encoder(uint8_t *input,uint16_t input_length_bytes,uint8_t *output,uint8_t F,uint16_t interleaver_f1,uint16_t interleaver_f2)
|
||||||
\brief This function implements a rate 1/3 8-state parralel concatenated turbo code (3GPP-LTE).
|
\brief This function implements a rate 1/3 8-state parralel concatenated turbo code (3GPP-LTE).
|
||||||
@param input Pointer to input buffer
|
@param input Pointer to input buffer
|
||||||
@@ -353,6 +357,8 @@ void ccodedab_init(void);
|
|||||||
\brief This function initializes the trellis structure for decoding an DAB convolutional code (first 3 bits).*/
|
\brief This function initializes the trellis structure for decoding an DAB convolutional code (first 3 bits).*/
|
||||||
void ccodedab_init_inv(void);
|
void ccodedab_init_inv(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*!\fn void crcTableInit(void)
|
/*!\fn void crcTableInit(void)
|
||||||
\brief This function initializes the different crc tables.*/
|
\brief This function initializes the different crc tables.*/
|
||||||
void crcTableInit (void);
|
void crcTableInit (void);
|
||||||
@@ -366,6 +372,17 @@ void init_td8 (void);
|
|||||||
\brief This function initializes the tables for 16-bit LLR Turbo decoder.*/
|
\brief This function initializes the tables for 16-bit LLR Turbo decoder.*/
|
||||||
void init_td16 (void);
|
void init_td16 (void);
|
||||||
|
|
||||||
|
#ifdef __AVX2__
|
||||||
|
/*!\fn void init_td8(void)
|
||||||
|
\brief This function initializes the tables for 8-bit LLR Turbo decoder (AVX2).*/
|
||||||
|
void init_td8avx2 (void);
|
||||||
|
|
||||||
|
|
||||||
|
/*!\fn void init_td16(void)
|
||||||
|
\brief This function initializes the tables for 16-bit LLR Turbo decoder (AVX2).*/
|
||||||
|
void init_td16avx2 (void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*!\fn uint32_t crc24a(uint8_t *inPtr, int32_t bitlen)
|
/*!\fn uint32_t crc24a(uint8_t *inPtr, int32_t bitlen)
|
||||||
\brief This computes a 24-bit crc ('a' variant for overall transport block)
|
\brief This computes a 24-bit crc ('a' variant for overall transport block)
|
||||||
based on 3GPP UMTS/LTE specifications.
|
based on 3GPP UMTS/LTE specifications.
|
||||||
@@ -483,6 +500,24 @@ uint8_t phy_threegpplte_turbo_decoder16(int16_t *y,
|
|||||||
time_stats_t *intl1_stats,
|
time_stats_t *intl1_stats,
|
||||||
time_stats_t *intl2_stats);
|
time_stats_t *intl2_stats);
|
||||||
|
|
||||||
|
uint8_t phy_threegpplte_turbo_decoder16avx2(int16_t *y,
|
||||||
|
int16_t *y2,
|
||||||
|
uint8_t *decoded_bytes,
|
||||||
|
uint8_t *decoded_bytes2,
|
||||||
|
uint16_t n,
|
||||||
|
uint16_t interleaver_f1,
|
||||||
|
uint16_t interleaver_f2,
|
||||||
|
uint8_t max_iterations,
|
||||||
|
uint8_t crc_type,
|
||||||
|
uint8_t F,
|
||||||
|
time_stats_t *init_stats,
|
||||||
|
time_stats_t *alpha_stats,
|
||||||
|
time_stats_t *beta_stats,
|
||||||
|
time_stats_t *gamma_stats,
|
||||||
|
time_stats_t *ext_stats,
|
||||||
|
time_stats_t *intl1_stats,
|
||||||
|
time_stats_t *intl2_stats);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief This routine performs max-logmap detection for the 3GPP turbo code (with termination). It is optimized for SIMD processing and 8-bit
|
\brief This routine performs max-logmap detection for the 3GPP turbo code (with termination). It is optimized for SIMD processing and 8-bit
|
||||||
LLR arithmetic, and requires SSE2,SSSE3 and SSE4.1 (gcc >=4.3 and appropriate CPU)
|
LLR arithmetic, and requires SSE2,SSSE3 and SSE4.1 (gcc >=4.3 and appropriate CPU)
|
||||||
|
|||||||
@@ -495,8 +495,14 @@ uint32_t lte_rate_matching_turbo(uint32_t RTC,
|
|||||||
char fname[512];
|
char fname[512];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Nir = Nsoft/Kmimo/cmin(8,Mdlharq);
|
if (Mdlharq>0) { // Downlink
|
||||||
Ncb = cmin(Nir/C,3*(RTC<<5));
|
Nir = Nsoft/Kmimo/cmin(8,Mdlharq);
|
||||||
|
Ncb = cmin(Nir/C,3*(RTC<<5));
|
||||||
|
}
|
||||||
|
else { // Uplink
|
||||||
|
Nir=0;
|
||||||
|
Ncb = 3*(RTC<<5); // Kw
|
||||||
|
}
|
||||||
#ifdef RM_DEBUG_TX
|
#ifdef RM_DEBUG_TX
|
||||||
|
|
||||||
if (rvidx==0 && r==0) {
|
if (rvidx==0 && r==0) {
|
||||||
@@ -709,15 +715,20 @@ int lte_rate_matching_turbo_rx(uint32_t RTC,
|
|||||||
int nulled=0;
|
int nulled=0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (Kmimo==0 || Mdlharq==0 || C==0 || Qm==0 || Nl==0) {
|
if (Kmimo==0 || C==0 || Qm==0 || Nl==0) {
|
||||||
printf("lte_rate_matching.c: invalid parameters (Kmimo %d, Mdlharq %d, C %d, Qm %d, Nl %d\n",
|
printf("lte_rate_matching.c: invalid parameters (Kmimo %d, Mdlharq %d, C %d, Qm %d, Nl %d\n",
|
||||||
Kmimo,Mdlharq,C,Qm,Nl);
|
Kmimo,Mdlharq,C,Qm,Nl);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Nir = Nsoft/Kmimo/cmin(8,Mdlharq);
|
if (Mdlharq>0) { // Downlink
|
||||||
Ncb = cmin(Nir/C,3*(RTC<<5));
|
Nir = Nsoft/Kmimo/cmin(8,Mdlharq);
|
||||||
|
Ncb = cmin(Nir/C,3*(RTC<<5));
|
||||||
|
}
|
||||||
|
else { // Uplink
|
||||||
|
Nir=0;
|
||||||
|
Ncb = 3*(RTC<<5);
|
||||||
|
}
|
||||||
|
|
||||||
Gp = G/Nl/Qm;
|
Gp = G/Nl/Qm;
|
||||||
GpmodC = Gp%C;
|
GpmodC = Gp%C;
|
||||||
|
|||||||
@@ -26,17 +26,6 @@
|
|||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
/*
|
|
||||||
#ifdef CBMIMO1
|
|
||||||
#include "ARCH/COMMON/defs.h"
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/from_grlib_softconfig.h"
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/cbmimo1_device.h"
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/defs.h"
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/extern.h"
|
|
||||||
#include "ARCH/CBMIMO1/DEVICE_DRIVER/cbmimo1_pci.h"
|
|
||||||
//#include "pci_commands.h"
|
|
||||||
#endif //CBMIMO1
|
|
||||||
*/
|
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
#include "openair0_lib.h"
|
#include "openair0_lib.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -128,8 +117,8 @@ void phy_config_sib2_eNB(uint8_t Mod_id,
|
|||||||
{
|
{
|
||||||
|
|
||||||
LTE_DL_FRAME_PARMS *lte_frame_parms = &PHY_vars_eNB_g[Mod_id][CC_id]->lte_frame_parms;
|
LTE_DL_FRAME_PARMS *lte_frame_parms = &PHY_vars_eNB_g[Mod_id][CC_id]->lte_frame_parms;
|
||||||
LTE_eNB_UE_stats *eNB_UE_stats = PHY_vars_eNB_g[Mod_id][CC_id]->eNB_UE_stats;
|
//LTE_eNB_UE_stats *eNB_UE_stats = PHY_vars_eNB_g[Mod_id][CC_id]->eNB_UE_stats;
|
||||||
int32_t rx_total_gain_eNB_dB = PHY_vars_eNB_g[Mod_id][CC_id]->rx_total_gain_eNB_dB;
|
//int32_t rx_total_gain_eNB_dB = PHY_vars_eNB_g[Mod_id][CC_id]->rx_total_gain_eNB_dB;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
LOG_D(PHY,"[eNB%d] CCid %d Frame %d: Applying radioResourceConfigCommon\n",Mod_id,CC_id,PHY_vars_eNB_g[Mod_id][CC_id]->proc[8].frame_tx);
|
LOG_D(PHY,"[eNB%d] CCid %d Frame %d: Applying radioResourceConfigCommon\n",Mod_id,CC_id,PHY_vars_eNB_g[Mod_id][CC_id]->proc[8].frame_tx);
|
||||||
@@ -683,11 +672,11 @@ void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
|
|||||||
int CC_id)
|
int CC_id)
|
||||||
{
|
{
|
||||||
|
|
||||||
PHY_VARS_eNB *phy_vars_eNB = PHY_vars_eNB_g[Mod_id][CC_id];
|
//PHY_VARS_eNB *phy_vars_eNB = PHY_vars_eNB_g[Mod_id][CC_id];
|
||||||
uint8_t UE_id = find_ue(rnti,PHY_vars_eNB_g[Mod_id][0]);
|
uint8_t UE_id = find_ue(rnti,PHY_vars_eNB_g[Mod_id][0]);
|
||||||
struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10;
|
struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10;
|
||||||
//struct RadioResourceConfigCommonSCell_r10 *physicalConfigCommonSCell_r10 = sCellToAddMod_r10->radioResourceConfigCommonSCell_r10;
|
//struct RadioResourceConfigCommonSCell_r10 *physicalConfigCommonSCell_r10 = sCellToAddMod_r10->radioResourceConfigCommonSCell_r10;
|
||||||
PhysCellId_t physCellId_r10 = sCellToAddMod_r10->cellIdentification_r10->physCellId_r10;
|
//PhysCellId_t physCellId_r10 = sCellToAddMod_r10->cellIdentification_r10->physCellId_r10;
|
||||||
ARFCN_ValueEUTRA_t dl_CarrierFreq_r10 = sCellToAddMod_r10->cellIdentification_r10->dl_CarrierFreq_r10;
|
ARFCN_ValueEUTRA_t dl_CarrierFreq_r10 = sCellToAddMod_r10->cellIdentification_r10->dl_CarrierFreq_r10;
|
||||||
uint32_t carrier_freq_local;
|
uint32_t carrier_freq_local;
|
||||||
|
|
||||||
@@ -733,7 +722,7 @@ void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (physicalConfigDedicatedSCell_r10) {
|
if (physicalConfigDedicatedSCell_r10) {
|
||||||
#warning " phy_vars_eNB->physicalConfigDedicatedSCell_r10 does not exist in phy_vars_eNB"
|
//#warning " phy_vars_eNB->physicalConfigDedicatedSCell_r10 does not exist in phy_vars_eNB"
|
||||||
// phy_vars_eNB->physicalConfigDedicatedSCell_r10[UE_id] = physicalConfigDedicatedSCell_r10;
|
// phy_vars_eNB->physicalConfigDedicatedSCell_r10[UE_id] = physicalConfigDedicatedSCell_r10;
|
||||||
LOG_I(PHY,"[eNB %d] Frame %d: Configured phyConfigDedicatedSCell with CC_id %d for UE %d\n",Mod_id,/*phy_vars_eNB->frame*/0,CC_id,UE_id);
|
LOG_I(PHY,"[eNB %d] Frame %d: Configured phyConfigDedicatedSCell with CC_id %d for UE %d\n",Mod_id,/*phy_vars_eNB->frame*/0,CC_id,UE_id);
|
||||||
} else {
|
} else {
|
||||||
@@ -888,12 +877,16 @@ void phy_init_lte_top(LTE_DL_FRAME_PARMS *lte_frame_parms)
|
|||||||
ccodelte_init();
|
ccodelte_init();
|
||||||
ccodelte_init_inv();
|
ccodelte_init_inv();
|
||||||
|
|
||||||
|
treillis_table_init();
|
||||||
|
|
||||||
phy_generate_viterbi_tables();
|
phy_generate_viterbi_tables();
|
||||||
phy_generate_viterbi_tables_lte();
|
phy_generate_viterbi_tables_lte();
|
||||||
|
|
||||||
init_td8();
|
init_td8();
|
||||||
init_td16();
|
init_td16();
|
||||||
|
#ifdef __AVX2__
|
||||||
|
init_td16avx2();
|
||||||
|
#endif
|
||||||
|
|
||||||
lte_sync_time_init(lte_frame_parms);
|
lte_sync_time_init(lte_frame_parms);
|
||||||
|
|
||||||
@@ -1049,7 +1042,7 @@ int phy_init_lte_ue(PHY_VARS_UE *phy_vars_ue,
|
|||||||
// init TX buffers
|
// init TX buffers
|
||||||
|
|
||||||
ue_common_vars->txdata = (int32_t**)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
ue_common_vars->txdata = (int32_t**)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
||||||
ue_common_vars->txdataF = (mod_sym_t **)malloc16( frame_parms->nb_antennas_tx*sizeof(mod_sym_t*) );
|
ue_common_vars->txdataF = (int32_t **)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
||||||
|
|
||||||
for (i=0; i<frame_parms->nb_antennas_tx; i++) {
|
for (i=0; i<frame_parms->nb_antennas_tx; i++) {
|
||||||
#ifdef USER_MODE
|
#ifdef USER_MODE
|
||||||
@@ -1057,7 +1050,7 @@ int phy_init_lte_ue(PHY_VARS_UE *phy_vars_ue,
|
|||||||
#else //USER_MODE
|
#else //USER_MODE
|
||||||
ue_common_vars->txdata[i] = TX_DMA_BUFFER[0][i];
|
ue_common_vars->txdata[i] = TX_DMA_BUFFER[0][i];
|
||||||
#endif //USER_MODE
|
#endif //USER_MODE
|
||||||
ue_common_vars->txdataF[i] = (mod_sym_t *)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(mod_sym_t) );
|
ue_common_vars->txdataF[i] = (int32_t *)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(int32_t) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// init RX buffers
|
// init RX buffers
|
||||||
@@ -1270,21 +1263,21 @@ int phy_init_lte_eNB(PHY_VARS_eNB *phy_vars_eNB,
|
|||||||
|
|
||||||
// TX vars
|
// TX vars
|
||||||
eNB_common_vars->txdata[eNB_id] = (int32_t**)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
eNB_common_vars->txdata[eNB_id] = (int32_t**)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
||||||
eNB_common_vars->txdataF[eNB_id] = (mod_sym_t **)malloc16( frame_parms->nb_antennas_tx*sizeof(mod_sym_t*) );
|
eNB_common_vars->txdataF[eNB_id] = (int32_t **)malloc16( frame_parms->nb_antennas_tx*sizeof(int32_t*) );
|
||||||
|
|
||||||
for (i=0; i<frame_parms->nb_antennas_tx; i++) {
|
for (i=0; i<frame_parms->nb_antennas_tx; i++) {
|
||||||
#ifdef USER_MODE
|
#ifdef USER_MODE
|
||||||
eNB_common_vars->txdata[eNB_id][i] = (int32_t*)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES*sizeof(int32_t) );
|
eNB_common_vars->txdata[eNB_id][i] = (int32_t*)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES*sizeof(int32_t) );
|
||||||
eNB_common_vars->txdataF[eNB_id][i] = (mod_sym_t*)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(mod_sym_t) );
|
eNB_common_vars->txdataF[eNB_id][i] = (int32_t*)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(int32_t) );
|
||||||
#else // USER_MODE
|
#else // USER_MODE
|
||||||
eNB_common_vars->txdata[eNB_id][i] = TX_DMA_BUFFER[eNB_id][i];
|
eNB_common_vars->txdata[eNB_id][i] = TX_DMA_BUFFER[eNB_id][i];
|
||||||
eNB_common_vars->txdataF[eNB_id][i] = (mod_sym_t *)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(mod_sym_t) );
|
eNB_common_vars->txdataF[eNB_id][i] = (int32_t *)malloc16_clear( FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(int32_t) );
|
||||||
#endif //USER_MODE
|
#endif //USER_MODE
|
||||||
#ifdef DEBUG_PHY
|
#ifdef DEBUG_PHY
|
||||||
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->txdata[%d][%d] = %p\n",eNB_id,i,eNB_common_vars->txdata[eNB_id][i]);
|
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->txdata[%d][%d] = %p\n",eNB_id,i,eNB_common_vars->txdata[eNB_id][i]);
|
||||||
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->txdataF[%d][%d] = %p (%d bytes)\n",
|
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->txdataF[%d][%d] = %p (%d bytes)\n",
|
||||||
eNB_id,i,eNB_common_vars->txdataF[eNB_id][i],
|
eNB_id,i,eNB_common_vars->txdataF[eNB_id][i],
|
||||||
FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(mod_sym_t));
|
FRAME_LENGTH_COMPLEX_SAMPLES_NO_PREFIX*sizeof(int32_t));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ void lte_param_init(unsigned char N_tx,
|
|||||||
lte_frame_parms->N_RB_UL = N_RB_DL;
|
lte_frame_parms->N_RB_UL = N_RB_DL;
|
||||||
lte_frame_parms->threequarter_fs = threequarter_fs;
|
lte_frame_parms->threequarter_fs = threequarter_fs;
|
||||||
lte_frame_parms->Ncp = extended_prefix_flag;
|
lte_frame_parms->Ncp = extended_prefix_flag;
|
||||||
|
lte_frame_parms->Ncp_UL = extended_prefix_flag;
|
||||||
lte_frame_parms->Nid_cell = Nid_cell;
|
lte_frame_parms->Nid_cell = Nid_cell;
|
||||||
lte_frame_parms->nushift = Nid_cell%6;
|
lte_frame_parms->nushift = Nid_cell%6;
|
||||||
lte_frame_parms->nb_antennas_tx = N_tx;
|
lte_frame_parms->nb_antennas_tx = N_tx;
|
||||||
|
|||||||
@@ -29,8 +29,6 @@
|
|||||||
#include "PHY/types.h"
|
#include "PHY/types.h"
|
||||||
#include "PHY/defs.h"
|
#include "PHY/defs.h"
|
||||||
#include "PHY/extern.h"
|
#include "PHY/extern.h"
|
||||||
#include "MAC_INTERFACE/defs.h"
|
|
||||||
#include "MAC_INTERFACE/extern.h"
|
|
||||||
|
|
||||||
#ifdef EXMIMO
|
#ifdef EXMIMO
|
||||||
#include "openair0_lib.h"
|
#include "openair0_lib.h"
|
||||||
|
|||||||
@@ -26,187 +26,187 @@
|
|||||||
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
|
||||||
|
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
short filt24_0[24] __attribute__((aligned(16))) ={
|
short filt24_0[24] __attribute__((aligned(32))) ={
|
||||||
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_0_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_0_dcl[24] __attribute__((aligned(32))) ={
|
||||||
2341,4681,7022,9362,11703,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
2341,4681,7022,9362,11703,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_0_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_0_dcr[24] __attribute__((aligned(32))) ={
|
||||||
2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0,0,0,0,0,0
|
2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
short filt24_1[24] __attribute__((aligned(16))) ={
|
short filt24_1[24] __attribute__((aligned(32))) ={
|
||||||
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_1_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_1_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0,0,0,0,0,0
|
0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
short filt24_2[24] __attribute__((aligned(16))) ={
|
short filt24_2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_2_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,2341,4681,7022,9362, 11703,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
0,0,2341,4681,7022,9362, 11703,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_2_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,4681,2341,0,0,0,0,0,0,0,0,0,0,0
|
0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,4681,2341,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
// X X X Y | X X X X | X Y X X
|
// X X X Y | X X X X | X Y X X
|
||||||
short filt24_3[24] __attribute__((aligned(16))) ={
|
short filt24_3[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_3_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_3_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,2341,4681,7022,9362,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
0,0,0,2341,4681,7022,9362,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
// X X X Y | X X DC X X | X Y X X
|
// X X X Y | X X DC X X | X Y X X
|
||||||
short filt24_3_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_3_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,7022,4681,2341,0,0,0,0,0,0,0,0,0,0
|
0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,7022,4681,2341,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
short filt24_4[24] __attribute__((aligned(16))) ={
|
short filt24_4[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_4_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,2341,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
0,0,0,0,2341,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_4_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,7022,4681,2341,0,0,0,0,0,0,0,0,0
|
0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,7022,4681,2341,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
short filt24_5[24] __attribute__((aligned(16))) ={
|
short filt24_5[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
// X X X Y | X X DC X X | X Y X X
|
// X X X Y | X X DC X X | X Y X X
|
||||||
short filt24_5_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_5_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,2341,4681,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
0,0,0,0,0,2341,4681,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_5_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_5_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,2730,5461,8192,10922,13653,16384,11703,9362,7022,4681,2730,0,0,0,0,0,0,0,0
|
0,0,0,0,0,2730,5461,8192,10922,13653,16384,11703,9362,7022,4681,2730,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
short filt24_6[24] __attribute__((aligned(16))) ={
|
short filt24_6[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_6_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_6_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
0,0,0,0,0,0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_6_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_6_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0
|
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
short filt24_7[24] __attribute__((aligned(16))) ={
|
short filt24_7[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_7_dcl[24] __attribute__((aligned(16))) ={
|
short filt24_7_dcl[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
0,0,0,0,0,0,0,4681,7022,9362,11703,14043,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_7_dcr[24] __attribute__((aligned(16))) ={
|
short filt24_7_dcr[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0
|
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,14043,11703,9362,7022,4681,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
|
|
||||||
short filt24_0l[24] __attribute__((aligned(16))) ={
|
short filt24_0l[24] __attribute__((aligned(32))) ={
|
||||||
30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1l[24] __attribute__((aligned(16))) ={
|
short filt24_1l[24] __attribute__((aligned(32))) ={
|
||||||
0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2l[24] __attribute__((aligned(16))) ={
|
short filt24_2l[24] __attribute__((aligned(32))) ={
|
||||||
0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_3l[24] __attribute__((aligned(16))) ={
|
short filt24_3l[24] __attribute__((aligned(32))) ={
|
||||||
//0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0};
|
//0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0};
|
||||||
0,0,0,0,0,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
0,0,0,0,0,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4l[24] __attribute__((aligned(16))) ={
|
short filt24_4l[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_5l[24] __attribute__((aligned(16))) ={
|
short filt24_5l[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_6l[24] __attribute__((aligned(16))) ={
|
short filt24_6l[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
0,0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_7l[24] __attribute__((aligned(16))) ={
|
short filt24_7l[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
0,0,0,0,0,0,0,30037,27306,24576,21845,19114,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_0l2[24] __attribute__((aligned(16))) ={
|
short filt24_0l2[24] __attribute__((aligned(32))) ={
|
||||||
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1l2[24] __attribute__((aligned(16))) ={
|
short filt24_1l2[24] __attribute__((aligned(32))) ={
|
||||||
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2l2[24] __attribute__((aligned(16))) ={
|
short filt24_2l2[24] __attribute__((aligned(32))) ={
|
||||||
-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_3l2[24] __attribute__((aligned(16))) ={
|
short filt24_3l2[24] __attribute__((aligned(32))) ={
|
||||||
-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4l2[24] __attribute__((aligned(16))) ={
|
short filt24_4l2[24] __attribute__((aligned(32))) ={
|
||||||
-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_5l2[24] __attribute__((aligned(16))) ={
|
short filt24_5l2[24] __attribute__((aligned(32))) ={
|
||||||
0,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
0,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_6l2[24] __attribute__((aligned(16))) ={
|
short filt24_6l2[24] __attribute__((aligned(32))) ={
|
||||||
-13653,-10922,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
-13653,-10922,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_7l2[24] __attribute__((aligned(16))) ={
|
short filt24_7l2[24] __attribute__((aligned(32))) ={
|
||||||
0,-13653,-10922,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
0,-13653,-10922,-8192,-5461,-2730,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_0r[24] __attribute__((aligned(16))) ={
|
short filt24_0r[24] __attribute__((aligned(32))) ={
|
||||||
2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0,0,0
|
2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1r[24] __attribute__((aligned(16))) ={
|
short filt24_1r[24] __attribute__((aligned(32))) ={
|
||||||
0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0,0
|
0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2r[24] __attribute__((aligned(16))) ={
|
short filt24_2r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0
|
0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_3r[24] __attribute__((aligned(16))) ={
|
short filt24_3r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0
|
0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4r[24] __attribute__((aligned(16))) ={
|
short filt24_4r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0
|
0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_5r[24] __attribute__((aligned(16))) ={
|
short filt24_5r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0
|
0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_6r[24] __attribute__((aligned(16))) ={
|
short filt24_6r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0
|
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_7r[24] __attribute__((aligned(16))) ={
|
short filt24_7r[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0
|
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,19114,21845,24576,27306,30037,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_0r2[24] __attribute__((aligned(16))) ={ /****/
|
short filt24_0r2[24] __attribute__((aligned(32))) ={ /****/
|
||||||
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0,0,0
|
2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_1r2[24] __attribute__((aligned(16))) ={
|
short filt24_1r2[24] __attribute__((aligned(32))) ={
|
||||||
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0,0
|
0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_2r2[24] __attribute__((aligned(16))) ={
|
short filt24_2r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0
|
0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_3r2[24] __attribute__((aligned(16))) ={
|
short filt24_3r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0
|
0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_4r2[24] __attribute__((aligned(16))) ={
|
short filt24_4r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0
|
0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0,0
|
||||||
};
|
};
|
||||||
short filt24_5r2[24] __attribute__((aligned(16))) ={
|
short filt24_5r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0
|
0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0,0
|
||||||
};
|
};
|
||||||
short filt24_6r2[24] __attribute__((aligned(16))) ={
|
short filt24_6r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0
|
0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653,0
|
||||||
};
|
};
|
||||||
short filt24_7r2[24] __attribute__((aligned(16))) ={
|
short filt24_7r2[24] __attribute__((aligned(32))) ={
|
||||||
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653
|
0,0,0,0,0,0,0,2730,5461,8192,10922,13653,16384,13653,10922,8192,5461,2730,0,-2730,-5461,-8192,-10922,-13653
|
||||||
};
|
};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user