diff options
| author | Scott Larson <[email protected]> | 2020-09-30 15:42:41 -0700 |
|---|---|---|
| committer | Scott Larson <[email protected]> | 2020-09-30 15:42:41 -0700 |
| commit | 1b5816a206016d06128bd5e9afa7fbf8f09b0847 (patch) | |
| tree | 132c61289efdad36341f7992e1109dd96e9bbf94 /ports/linux/gnu | |
| parent | 7287542cc851225544d0914375a9746aa866d1fb (diff) | |
6.1 minor release
Diffstat (limited to 'ports/linux/gnu')
| -rw-r--r-- | ports/linux/gnu/CMakeLists.txt | 22 | ||||
| -rw-r--r-- | ports/linux/gnu/inc/tx_port.h | 8 | ||||
| -rw-r--r-- | ports/linux/gnu/readme_threadx.txt | 2 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_initialize_low_level.c | 12 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_context_restore.c | 4 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_context_save.c | 4 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_interrupt_control.c | 4 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_schedule.c | 4 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_stack_build.c | 6 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_thread_system_return.c | 4 | ||||
| -rw-r--r-- | ports/linux/gnu/src/tx_timer_interrupt.c | 5 |
11 files changed, 54 insertions, 21 deletions
diff --git a/ports/linux/gnu/CMakeLists.txt b/ports/linux/gnu/CMakeLists.txt new file mode 100644 index 00000000..4b517940 --- /dev/null +++ b/ports/linux/gnu/CMakeLists.txt @@ -0,0 +1,22 @@ + +target_sources(${PROJECT_NAME} + PRIVATE + # {{BEGIN_TARGET_SOURCES}} + ${CMAKE_CURRENT_LIST_DIR}/src/tx_initialize_low_level.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_restore.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_save.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_interrupt_control.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_schedule.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_stack_build.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_system_return.c + ${CMAKE_CURRENT_LIST_DIR}/src/tx_timer_interrupt.c + + # {{END_TARGET_SOURCES}} +) + +target_include_directories(${PROJECT_NAME} + PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/inc +) + +target_compile_definitions(${PROJECT_NAME} PUBLIC "-D_GNU_SOURCE -DTX_LINUX_DEBUG_ENABLE")
\ No newline at end of file diff --git a/ports/linux/gnu/inc/tx_port.h b/ports/linux/gnu/inc/tx_port.h index 9422e100..feb7d8cc 100644 --- a/ports/linux/gnu/inc/tx_port.h +++ b/ports/linux/gnu/inc/tx_port.h @@ -26,7 +26,7 @@ /* PORT SPECIFIC C INFORMATION RELEASE */ /* */ /* tx_port.h Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* */ /* AUTHOR */ /* */ @@ -47,7 +47,7 @@ /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ @@ -510,7 +510,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture); #define tx_linux_mutex_lock(p) pthread_mutex_lock(&p) #define tx_linux_mutex_unlock(p) pthread_mutex_unlock(&p) #define tx_linux_mutex_recursive_unlock(p) {\ - int _recursive_count = tx_linux_mutex_recursive_count;\ + int _recursive_count = (int)tx_linux_mutex_recursive_count;\ while(_recursive_count)\ {\ pthread_mutex_unlock(&p);\ @@ -539,7 +539,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture); #ifdef TX_THREAD_INIT CHAR _tx_version_id[] = - "Copyright (c) Microsoft Corporation * ThreadX Linux/gcc Version 6.0 *"; + "Copyright (c) Microsoft Corporation * ThreadX Linux/gcc Version 6.1 *"; #else extern CHAR _tx_version_id[]; #endif diff --git a/ports/linux/gnu/readme_threadx.txt b/ports/linux/gnu/readme_threadx.txt index 5fdd6c3f..e3ac5cf6 100644 --- a/ports/linux/gnu/readme_threadx.txt +++ b/ports/linux/gnu/readme_threadx.txt @@ -145,7 +145,7 @@ For generic code revision information, please refer to the readme_threadx_generi file, which is included in your distribution. The following details the revision information associated with this specific port of ThreadX: -06/30/2020 Initial ThreadX 6.0.1 version for Linux using GNU GCC tools. +09-30-2020 Initial ThreadX 6.1 version for Linux using GNU GCC tools. Copyright(c) 1996-2020 Microsoft Corporation diff --git a/ports/linux/gnu/src/tx_initialize_low_level.c b/ports/linux/gnu/src/tx_initialize_low_level.c index f8cd604b..dfac5b38 100644 --- a/ports/linux/gnu/src/tx_initialize_low_level.c +++ b/ports/linux/gnu/src/tx_initialize_low_level.c @@ -62,6 +62,9 @@ sem_t _tx_linux_timer_semaphore; sem_t _tx_linux_isr_semaphore; void *_tx_linux_timer_interrupt(void *p); +void _tx_linux_thread_resume_handler(int sig); +void _tx_linux_thread_suspend_handler(int sig); +void _tx_linux_thread_suspend(pthread_t thread_id); #ifdef TX_LINUX_DEBUG_ENABLE @@ -172,7 +175,7 @@ extern VOID *_tx_initialize_unused_memory; /* FUNCTION RELEASE */ /* */ /* _tx_initialize_low_level Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -214,7 +217,7 @@ extern VOID *_tx_initialize_unused_memory; /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_initialize_low_level(VOID) @@ -321,6 +324,8 @@ struct timespec ts; long timer_periodic_nsec; int err; + (VOID)p; + /* Calculate periodic timer. */ timer_periodic_nsec = 1000000000 / TX_TIMER_TICKS_PER_SECOND; nice(10); @@ -379,10 +384,13 @@ int err; /* Define functions for linux thread. */ void _tx_linux_thread_resume_handler(int sig) { + (VOID)sig; } void _tx_linux_thread_suspend_handler(int sig) { + (VOID)sig; + if(pthread_equal(pthread_self(), _tx_linux_timer_id)) tx_linux_sem_post_nolock(&_tx_linux_thread_timer_wait); else diff --git a/ports/linux/gnu/src/tx_thread_context_restore.c b/ports/linux/gnu/src/tx_thread_context_restore.c index ab24759e..7d1ff919 100644 --- a/ports/linux/gnu/src/tx_thread_context_restore.c +++ b/ports/linux/gnu/src/tx_thread_context_restore.c @@ -37,7 +37,7 @@ UINT _tx_linux_timer_waiting = 0; /* FUNCTION RELEASE */ /* */ /* _tx_thread_context_restore Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -75,7 +75,7 @@ UINT _tx_linux_timer_waiting = 0; /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_thread_context_restore(VOID) diff --git a/ports/linux/gnu/src/tx_thread_context_save.c b/ports/linux/gnu/src/tx_thread_context_save.c index d2b54b23..4dce0166 100644 --- a/ports/linux/gnu/src/tx_thread_context_save.c +++ b/ports/linux/gnu/src/tx_thread_context_save.c @@ -36,7 +36,7 @@ /* FUNCTION RELEASE */ /* */ /* _tx_thread_context_save Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -70,7 +70,7 @@ /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_thread_context_save(VOID) diff --git a/ports/linux/gnu/src/tx_thread_interrupt_control.c b/ports/linux/gnu/src/tx_thread_interrupt_control.c index ea75e19f..17ae8902 100644 --- a/ports/linux/gnu/src/tx_thread_interrupt_control.c +++ b/ports/linux/gnu/src/tx_thread_interrupt_control.c @@ -53,7 +53,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture) /* FUNCTION RELEASE */ /* */ /* _tx_thread_interrupt_control Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -87,7 +87,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture) /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ UINT _tx_thread_interrupt_control(UINT new_posture) diff --git a/ports/linux/gnu/src/tx_thread_schedule.c b/ports/linux/gnu/src/tx_thread_schedule.c index 7843a3ec..85fb3e5c 100644 --- a/ports/linux/gnu/src/tx_thread_schedule.c +++ b/ports/linux/gnu/src/tx_thread_schedule.c @@ -41,7 +41,7 @@ extern pthread_t _tx_linux_timer_id; /* FUNCTION RELEASE */ /* */ /* _tx_thread_schedule Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -78,7 +78,7 @@ extern pthread_t _tx_linux_timer_id; /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_thread_schedule(VOID) diff --git a/ports/linux/gnu/src/tx_thread_stack_build.c b/ports/linux/gnu/src/tx_thread_stack_build.c index b18ae2fb..b9a268d2 100644 --- a/ports/linux/gnu/src/tx_thread_stack_build.c +++ b/ports/linux/gnu/src/tx_thread_stack_build.c @@ -42,7 +42,7 @@ void *_tx_linux_thread_entry(void *ptr); /* FUNCTION RELEASE */ /* */ /* _tx_thread_stack_build Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -80,13 +80,15 @@ void *_tx_linux_thread_entry(void *ptr); /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_thread_stack_build(TX_THREAD *thread_ptr, VOID (*function_ptr)(VOID)) { struct sched_param sp; + (VOID)function_ptr; + /* Create the run semaphore for the thread. This will allow the scheduler control over when the thread actually runs. */ if(sem_init(&thread_ptr -> tx_thread_linux_thread_run_semaphore, 0, 0)) diff --git a/ports/linux/gnu/src/tx_thread_system_return.c b/ports/linux/gnu/src/tx_thread_system_return.c index 9ee68d0d..84553a3f 100644 --- a/ports/linux/gnu/src/tx_thread_system_return.c +++ b/ports/linux/gnu/src/tx_thread_system_return.c @@ -36,7 +36,7 @@ /* FUNCTION RELEASE */ /* */ /* _tx_thread_system_return Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -78,7 +78,7 @@ /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_thread_system_return(VOID) diff --git a/ports/linux/gnu/src/tx_timer_interrupt.c b/ports/linux/gnu/src/tx_timer_interrupt.c index 55207c14..7ab28c29 100644 --- a/ports/linux/gnu/src/tx_timer_interrupt.c +++ b/ports/linux/gnu/src/tx_timer_interrupt.c @@ -30,12 +30,13 @@ #include "tx_thread.h" +VOID _tx_timer_interrupt(VOID); /**************************************************************************/ /* */ /* FUNCTION RELEASE */ /* */ /* _tx_timer_interrupt Linux/GNU */ -/* 6.0.1 */ +/* 6.1 */ /* AUTHOR */ /* */ /* William E. Lamie, Microsoft Corporation */ @@ -72,7 +73,7 @@ /* */ /* DATE NAME DESCRIPTION */ /* */ -/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */ +/* 09-30-2020 William E. Lamie Initial Version 6.1 */ /* */ /**************************************************************************/ VOID _tx_timer_interrupt(VOID) |
