AzureMXChip/MXCHIPAZ3166/core/lib/threadx/ports_smp/linux/gnu/src/tx_initialize_low_level.c
void    _tx_linux_debug_entry_insert(char *action, char *file, unsigned long line)
{
UINT    i;

    /* Get the time stamp.  */
    clock_gettime(CLOCK_REALTIME, &_tx_linux_time_stamp);

    /* Setup the debug entry.  */
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_action =             action;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_core =               _tx_thread_smp_core_get();
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_timestamp =          _tx_linux_time_stamp;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_file =               file;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_line =               line;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_protection =               _tx_thread_smp_protection;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_preempt_disable =    _tx_thread_preempt_disable;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_mutex =              _tx_linux_mutex;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_int_disabled_flag =  _tx_linux_global_int_disabled_flag;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_running_id =         pthread_self();
    for (i = 0; i < TX_THREAD_SMP_MAX_CORES; i++)
    {

        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_system_state[i] =           _tx_thread_system_state[i];
        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread[i] =         _tx_thread_current_ptr[i];
        if (_tx_thread_current_ptr[i])
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread_id[i] =  _tx_thread_current_ptr[i] -> tx_thread_linux_thread_id;
        else
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread_id[i] =  0;
        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread[i] =         _tx_thread_execute_ptr[i];
        if (_tx_thread_execute_ptr[i])
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread_id[i] =  _tx_thread_execute_ptr[i] -> tx_thread_linux_thread_id;
        else
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread_id[i] =  0;
    }

    /* Now move to the next entry.  */
    _tx_linux_debug_entry_index++;

    /* Determine if we need to wrap the list.  */
    if (_tx_linux_debug_entry_index >= TX_LINUX_DEBUG_EVENT_SIZE)
    {

        /* Yes, wrap the list!  */
        _tx_linux_debug_entry_index =  0;
    }
}
/* Now define the debug entry function.  */
Now define the debug entry function.
Now define the debug entry function .
void    _tx_linux_debug_entry_insert(char *action, char *file, unsigned long line)
{
UINT    i;
    clock_gettime(CLOCK_REALTIME, &_tx_linux_time_stamp);
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_action =             action;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_core =               _tx_thread_smp_core_get();
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_timestamp =          _tx_linux_time_stamp;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_file =               file;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_line =               line;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_protection =               _tx_thread_smp_protection;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_preempt_disable =    _tx_thread_preempt_disable;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_mutex =              _tx_linux_mutex;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_int_disabled_flag =  _tx_linux_global_int_disabled_flag;
    _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_running_id =         pthread_self();
    for (i = 0; i < TX_THREAD_SMP_MAX_CORES; i++)
    {
        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_system_state[i] =           _tx_thread_system_state[i];
        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread[i] =         _tx_thread_current_ptr[i];
        if (_tx_thread_current_ptr[i])
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread_id[i] =  _tx_thread_current_ptr[i] -> tx_thread_linux_thread_id;
        else
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_current_thread_id[i] =  0;
        _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread[i] =         _tx_thread_execute_ptr[i];
        if (_tx_thread_execute_ptr[i])
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread_id[i] =  _tx_thread_execute_ptr[i] -> tx_thread_linux_thread_id;
        else
            _tx_linux_debug_entry_array[_tx_linux_debug_entry_index].tx_linux_debug_entry_execute_thread_id[i] =  0;
    }
    _tx_linux_debug_entry_index++;
    if (_tx_linux_debug_entry_index >= TX_LINUX_DEBUG_EVENT_SIZE)
    {
        _tx_linux_debug_entry_index =  0;
    }
}
void _tx_linux_debug_entry_insert ( char * action , char * file , unsigned long line ) { UINT i ; clock_gettime ( CLOCK_REALTIME , & _tx_linux_time_stamp ) ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_action = action ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_core = _tx_thread_smp_core_get ( ) ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_timestamp = _tx_linux_time_stamp ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_file = file ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_line = line ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_protection = _tx_thread_smp_protection ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_preempt_disable = _tx_thread_preempt_disable ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_mutex = _tx_linux_mutex ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_int_disabled_flag = _tx_linux_global_int_disabled_flag ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_running_id = pthread_self ( ) ; for ( i = 0 ; i < TX_THREAD_SMP_MAX_CORES ; i ++ ) { _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_system_state [ i ] = _tx_thread_system_state [ i ] ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_current_thread [ i ] = _tx_thread_current_ptr [ i ] ; if ( _tx_thread_current_ptr [ i ] ) _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_current_thread_id [ i ] = _tx_thread_current_ptr [ i ] -> tx_thread_linux_thread_id ; else _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_current_thread_id [ i ] = 0 ; _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_execute_thread [ i ] = _tx_thread_execute_ptr [ i ] ; if ( _tx_thread_execute_ptr [ i ] ) _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_execute_thread_id [ i ] = _tx_thread_execute_ptr [ i ] -> tx_thread_linux_thread_id ; else _tx_linux_debug_entry_array [ _tx_linux_debug_entry_index ] . tx_linux_debug_entry_execute_thread_id [ i ] = 0 ; } _tx_linux_debug_entry_index ++ ; if ( _tx_linux_debug_entry_index >= TX_LINUX_DEBUG_EVENT_SIZE ) { _tx_linux_debug_entry_index = 0 ; } }
Now define the debug entry function.
Now define the debug entry function .
/* Get the time stamp.  */ /* Setup the debug entry.  */ /* Now move to the next entry.  */ /* Determine if we need to wrap the list.  */ /* Yes, wrap the list!  */