Compare commits
4 Commits
v6.1.3_rel
...
v6.1.6_rel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b12bd44faa | ||
|
|
6ffaf848a0 | ||
|
|
c8ed70019e | ||
|
|
10a7932b9d |
@@ -1,6 +1,6 @@
|
||||
LICENSED HARDWARE LIST
|
||||
|
||||
Last Updated: 2020-12-15
|
||||
Last Updated: 2021-04-01
|
||||
|
||||
Microsoft has entered into OEM Agreements with manufacturers of the following
|
||||
microprocessors and microcontrollers (the “hardware”) to enable those
|
||||
@@ -29,7 +29,9 @@ Microchip:
|
||||
|
||||
NXP:
|
||||
|
||||
NXP i.MX RT10xx series crossover MCUs
|
||||
i.MX RT10xx and RT116x/7x series crossover MCUs
|
||||
LPC5500 series
|
||||
|
||||
|
||||
Renesas:
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* tx_api.h PORTABLE C */
|
||||
/* 6.1.3 */
|
||||
/* 6.1.6 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -61,6 +61,14 @@
|
||||
/* 12-31-2020 William E. Lamie Modified comment(s), and */
|
||||
/* increased patch version, */
|
||||
/* resulting in version 6.1.3 */
|
||||
/* 03-02-2021 Scott Larson Modified comment(s), and */
|
||||
/* order defines numerically, */
|
||||
/* add option to remove FileX */
|
||||
/* pointer, */
|
||||
/* resulting in version 6.1.5 */
|
||||
/* 04-02-2021 Scott Larson Modified comment(s), and */
|
||||
/* update patch number, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -93,7 +101,7 @@ extern "C" {
|
||||
#define AZURE_RTOS_THREADX
|
||||
#define THREADX_MAJOR_VERSION 6
|
||||
#define THREADX_MINOR_VERSION 1
|
||||
#define THREADX_PATCH_VERSION 3
|
||||
#define THREADX_PATCH_VERSION 6
|
||||
|
||||
/* Define the following symbol for backward compatibility */
|
||||
#define EL_PRODUCT_THREADX
|
||||
@@ -154,7 +162,6 @@ extern "C" {
|
||||
|
||||
#define TX_SUCCESS ((UINT) 0x00)
|
||||
#define TX_DELETED ((UINT) 0x01)
|
||||
#define TX_NO_MEMORY ((UINT) 0x10)
|
||||
#define TX_POOL_ERROR ((UINT) 0x02)
|
||||
#define TX_PTR_ERROR ((UINT) 0x03)
|
||||
#define TX_WAIT_ERROR ((UINT) 0x04)
|
||||
@@ -169,6 +176,7 @@ extern "C" {
|
||||
#define TX_NO_INSTANCE ((UINT) 0x0D)
|
||||
#define TX_THREAD_ERROR ((UINT) 0x0E)
|
||||
#define TX_PRIORITY_ERROR ((UINT) 0x0F)
|
||||
#define TX_NO_MEMORY ((UINT) 0x10)
|
||||
#define TX_START_ERROR ((UINT) 0x10)
|
||||
#define TX_DELETE_ERROR ((UINT) 0x11)
|
||||
#define TX_RESUME_ERROR ((UINT) 0x12)
|
||||
@@ -422,7 +430,9 @@ typedef struct TX_THREAD_STRUCT
|
||||
TX_THREAD_EXTENSION_2
|
||||
|
||||
/* Define a pointer type for FileX extensions. */
|
||||
#ifndef TX_NO_FILEX_POINTER
|
||||
VOID *tx_thread_filex_ptr;
|
||||
#endif
|
||||
|
||||
/* Define the priority inheritance variables. These will be used
|
||||
to manage priority inheritance changes applied to this thread
|
||||
@@ -1092,7 +1102,6 @@ UINT _tx_trace_interrupt_control(UINT new_posture);
|
||||
|
||||
#ifdef TX_ENABLE_MULTI_ERROR_CHECKING
|
||||
|
||||
|
||||
/* Services with MULTI runtime error checking ThreadX. */
|
||||
|
||||
#define tx_block_allocate _txr_block_allocate
|
||||
@@ -1790,7 +1799,6 @@ VOID _tx_misra_user_timer_pointer_get(TX_TIMER_INTERNAL *inte
|
||||
VOID _tx_misra_thread_stack_check(TX_THREAD *thread_ptr, VOID **highest_stack);
|
||||
VOID _tx_misra_trace_event_insert(ULONG event_id, VOID *info_field_1, ULONG info_field_2, ULONG info_field_3, ULONG info_field_4, ULONG filter, ULONG time_stamp);
|
||||
UINT _tx_misra_always_true(void);
|
||||
|
||||
UCHAR **_tx_misra_indirect_void_to_uchar_pointer_convert(VOID **pointer);
|
||||
UCHAR **_tx_misra_uchar_to_indirect_uchar_pointer_convert(UCHAR *pointer);
|
||||
UCHAR *_tx_misra_block_pool_to_uchar_pointer_convert(TX_BLOCK_POOL *pool);
|
||||
@@ -1823,7 +1831,6 @@ VOID _tx_misra_semaphore_put_notify_not_used(VOID (*semaphore
|
||||
VOID _tx_misra_thread_not_used(TX_THREAD *thread_ptr);
|
||||
VOID _tx_misra_thread_entry_exit_notify_not_used(VOID (*thread_entry_exit_notify)(TX_THREAD *notify_thread_ptr, UINT id));
|
||||
|
||||
|
||||
#define TX_MEMSET(a,b,c) _tx_misra_memset((a), (UINT) (b), (UINT) (c))
|
||||
#define TX_UCHAR_POINTER_ADD(a,b) _tx_misra_uchar_pointer_add((UCHAR *) (a), (ULONG) (b))
|
||||
#define TX_UCHAR_POINTER_SUB(a,b) _tx_misra_uchar_pointer_sub((UCHAR *) (a), (ULONG) (b))
|
||||
@@ -1842,8 +1849,6 @@ VOID _tx_misra_thread_entry_exit_notify_not_used(VOID (*threa
|
||||
#define TX_TRACE_IN_LINE_INSERT(i,a,b,c,d,e) _tx_misra_trace_event_insert((ULONG) (i), (VOID *) (a), (ULONG) (b), (ULONG) (c), (ULONG) (d), (ULONG) (e), ((ULONG) TX_TRACE_TIME_SOURCE));
|
||||
#endif
|
||||
#define TX_LOOP_FOREVER (_tx_misra_always_true() == TX_TRUE)
|
||||
|
||||
|
||||
#define TX_INDIRECT_VOID_TO_UCHAR_POINTER_CONVERT(a) _tx_misra_indirect_void_to_uchar_pointer_convert((a))
|
||||
#define TX_UCHAR_TO_INDIRECT_UCHAR_POINTER_CONVERT(a) _tx_misra_uchar_to_indirect_uchar_pointer_convert((a))
|
||||
#define TX_BLOCK_POOL_TO_UCHAR_POINTER_CONVERT(a) _tx_misra_block_pool_to_uchar_pointer_convert((a))
|
||||
@@ -1879,7 +1884,6 @@ VOID _tx_misra_thread_entry_exit_notify_not_used(VOID (*threa
|
||||
#define TX_THREAD_NOT_USED(a) _tx_misra_thread_not_used((a))
|
||||
#define TX_THREAD_ENTRY_EXIT_NOTIFY_NOT_USED(a) _tx_misra_thread_entry_exit_notify_not_used((a))
|
||||
|
||||
|
||||
#else
|
||||
|
||||
/* Define the TX_MEMSET macro to the standard library function, if not already defined. */
|
||||
@@ -1908,8 +1912,6 @@ VOID _tx_misra_thread_entry_exit_notify_not_used(VOID (*threa
|
||||
(b) = (TX_TIMER *) working_ptr; \
|
||||
}
|
||||
#define TX_LOOP_FOREVER ((UINT) 1)
|
||||
|
||||
|
||||
#define TX_INDIRECT_VOID_TO_UCHAR_POINTER_CONVERT(a) ((UCHAR **) ((VOID *) (a)))
|
||||
#define TX_UCHAR_TO_INDIRECT_UCHAR_POINTER_CONVERT(a) ((UCHAR **) ((VOID *) (a)))
|
||||
#define TX_BLOCK_POOL_TO_UCHAR_POINTER_CONVERT(a) ((UCHAR *) ((VOID *) (a)))
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_user.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.5 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -47,6 +47,10 @@
|
||||
/* 05-19-2020 William E. Lamie Initial Version 6.0 */
|
||||
/* 09-30-2020 Yuxin Zhou Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 03-02-2021 Scott Larson Modified comment(s), */
|
||||
/* added option to remove */
|
||||
/* FileX pointer, */
|
||||
/* resulting in version 6.1.5 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -76,6 +80,7 @@
|
||||
TX_DISABLE_PREEMPTION_THRESHOLD
|
||||
TX_DISABLE_REDUNDANT_CLEARING
|
||||
TX_DISABLE_NOTIFY_CALLBACKS
|
||||
TX_NO_FILEX_POINTER
|
||||
TX_NOT_INTERRUPTABLE
|
||||
TX_TIMER_PROCESS_IN_ISR
|
||||
|
||||
@@ -98,6 +103,16 @@
|
||||
#define TX_TIMER_THREAD_PRIORITY ????
|
||||
*/
|
||||
|
||||
/* Determine if there is a FileX pointer in the thread control block.
|
||||
By default, the pointer is there for legacy/backwards compatibility.
|
||||
The pointer must also be there for applications using FileX.
|
||||
Define this to save space in the thread control block.
|
||||
*/
|
||||
|
||||
/*
|
||||
#define TX_NO_FILEX_POINTER
|
||||
*/
|
||||
|
||||
/* Determine if timer expirations (application timers, timeouts, and tx_thread_sleep calls
|
||||
should be processed within the a system timer thread or directly in the timer ISR.
|
||||
By default, the timer thread is used. When the following is defined, the timer expiration
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_mutex_priority_change PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -78,6 +78,10 @@
|
||||
/* calling */
|
||||
/* _tx_thread_system_suspend, */
|
||||
/* resulting in version 6.1 */
|
||||
/* 04-02-2021 Scott Larson Modified comments, fixed */
|
||||
/* mapping current thread's */
|
||||
/* priority rather than next, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_mutex_priority_change(TX_THREAD *thread_ptr, UINT new_priority)
|
||||
@@ -308,15 +312,15 @@ UINT map_index;
|
||||
#if TX_MAX_PRIORITIES > 32
|
||||
|
||||
/* Calculate the index into the bit map array. */
|
||||
map_index = (next_execute_ptr -> tx_thread_priority)/ ((UINT) 32);
|
||||
map_index = (thread_ptr -> tx_thread_priority)/ ((UINT) 32);
|
||||
|
||||
/* Set the active bit to remember that the preempt map has something set. */
|
||||
TX_DIV32_BIT_SET(next_execute_ptr -> tx_thread_priority, priority_bit)
|
||||
TX_DIV32_BIT_SET(thread_ptr -> tx_thread_priority, priority_bit)
|
||||
_tx_thread_preempted_map_active = _tx_thread_preempted_map_active | priority_bit;
|
||||
#endif
|
||||
|
||||
/* Remember that this thread was preempted by a thread above the thread's threshold. */
|
||||
TX_MOD32_BIT_SET(next_execute_ptr -> tx_thread_priority, priority_bit)
|
||||
TX_MOD32_BIT_SET(thread_ptr -> tx_thread_priority, priority_bit)
|
||||
_tx_thread_preempted_maps[MAP_INDEX] = _tx_thread_preempted_maps[MAP_INDEX] | priority_bit;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -68,6 +68,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[1], extra_parameters[2]))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
@@ -131,6 +134,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -179,6 +185,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -218,6 +227,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -311,6 +323,9 @@ ALIGN_TYPE return_value;
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(VOID *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
return_value = (ALIGN_TYPE) _txe_byte_allocate(
|
||||
@@ -342,6 +357,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], extra_parameters[1]))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
@@ -404,6 +422,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -455,6 +476,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[6])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -509,6 +533,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -668,6 +695,9 @@ ALIGN_TYPE return_value;
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[1], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
return_value = (ALIGN_TYPE) _txe_event_flags_get(
|
||||
@@ -701,6 +731,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -745,6 +778,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -784,6 +820,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -886,6 +925,9 @@ ALIGN_TYPE return_value;
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
return_value = (ALIGN_TYPE) _txe_mutex_create(
|
||||
@@ -967,6 +1009,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1017,6 +1062,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1066,6 +1114,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1151,6 +1202,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[1], extra_parameters[2]))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
@@ -1264,6 +1318,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1314,6 +1371,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[5])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1363,6 +1423,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1551,6 +1614,9 @@ ALIGN_TYPE return_value;
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
return_value = (ALIGN_TYPE) _txe_semaphore_create(
|
||||
@@ -1631,6 +1697,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1675,6 +1744,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1714,6 +1786,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1840,6 +1915,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[9])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[2], extra_parameters[3]))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -1977,6 +2055,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[7])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(UINT)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2056,6 +2137,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[9])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2126,6 +2210,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[9])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2535,6 +2622,9 @@ VOID (*expiration_function)(ULONG);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[6])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
/* Is it a disable request? */
|
||||
@@ -2646,6 +2736,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(CHAR *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(UINT)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2691,6 +2784,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[4])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2735,6 +2831,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, param_1, sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[0], sizeof(ULONG)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
@@ -2890,6 +2989,12 @@ static ALIGN_TYPE _txm_module_manager_tx_trace_user_event_insert_dispatch(TXM_MO
|
||||
|
||||
ALIGN_TYPE return_value;
|
||||
|
||||
if (module_instance -> txm_module_instance_property_flags & TXM_MODULE_MEMORY_PROTECTION)
|
||||
{
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[3])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
return_value = (ALIGN_TYPE) _tx_trace_user_event_insert(
|
||||
(ULONG) param_0,
|
||||
(ULONG) param_1,
|
||||
@@ -3015,6 +3120,9 @@ ALIGN_TYPE return_value;
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, param_1))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, (ALIGN_TYPE)extra_parameters, sizeof(ALIGN_TYPE[2])))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
|
||||
if (!TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, extra_parameters[1], sizeof(VOID *)))
|
||||
return(TXM_MODULE_INVALID_MEMORY);
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* COMPONENT DEFINITION RELEASE */
|
||||
/* */
|
||||
/* txm_module_manager_util.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Scott Larson, Microsoft Corporation */
|
||||
@@ -41,6 +41,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 Scott Larson Initial Version 6.1 */
|
||||
/* 04-02-2021 Scott Larson Modified comment(s) and */
|
||||
/* optimized object checks, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -53,15 +56,18 @@
|
||||
(!(TXM_MODULE_MANAGER_CHECK_INSIDE_DATA(module_instance, obj_ptr, obj_size)))
|
||||
|
||||
#define TXM_MODULE_MANAGER_CHECK_INSIDE_CODE(module_instance, obj_ptr, obj_size) \
|
||||
(((obj_ptr) >= (ALIGN_TYPE) module_instance -> txm_module_instance_code_start) && \
|
||||
(((obj_ptr) < ((obj_ptr) + (obj_size))) && \
|
||||
((obj_ptr) >= (ALIGN_TYPE) module_instance -> txm_module_instance_code_start) && \
|
||||
(((obj_ptr) + (obj_size)) <= ((ALIGN_TYPE) module_instance -> txm_module_instance_code_end + 1)))
|
||||
|
||||
#define TXM_MODULE_MANAGER_CHECK_OUTSIDE_CODE(module_instance, obj_ptr, obj_size) \
|
||||
(!(TXM_MODULE_MANAGER_CHECK_INSIDE_CODE(module_instance, obj_ptr, obj_size)))
|
||||
|
||||
/* Add sizeof(TXM_MODULE_ALLOCATED_OBJECT) to pool start because the object can't exist before that. */
|
||||
#define TXM_MODULE_MANAGER_CHECK_INSIDE_OBJ_POOL(module_instance, obj_ptr, obj_size) \
|
||||
((_txm_module_manager_object_pool_created == TX_TRUE) && \
|
||||
(((obj_ptr) >= (ALIGN_TYPE) _txm_module_manager_object_pool.tx_byte_pool_start) && \
|
||||
((obj_ptr) < ((obj_ptr) + (obj_size))) && \
|
||||
(((obj_ptr) >= ((ALIGN_TYPE) _txm_module_manager_object_pool.tx_byte_pool_start + sizeof(TXM_MODULE_ALLOCATED_OBJECT))) && \
|
||||
(((obj_ptr) + (obj_size)) <= (ALIGN_TYPE) (_txm_module_manager_object_pool.tx_byte_pool_start + _txm_module_manager_object_pool.tx_byte_pool_size))))
|
||||
|
||||
/* Define macros for module. */
|
||||
@@ -84,29 +90,29 @@
|
||||
|
||||
/* Buffers we read from can be in RW/RO/Shared areas. */
|
||||
#define TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_READ(module_instance, buffer_ptr, buffer_size) \
|
||||
(((void *) (buffer_ptr) == TX_NULL) || \
|
||||
(TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE(module_instance, buffer_ptr, buffer_size)))
|
||||
((TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE(module_instance, buffer_ptr, buffer_size)) || \
|
||||
((void *) (buffer_ptr) == TX_NULL))
|
||||
|
||||
/* Buffers we write to can only be in RW/Shared areas. */
|
||||
#define TXM_MODULE_MANAGER_PARAM_CHECK_BUFFER_WRITE(module_instance, buffer_ptr, buffer_size) \
|
||||
(((void *) (buffer_ptr) == TX_NULL) || \
|
||||
(TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, buffer_ptr, buffer_size)))
|
||||
((TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE_DATA(module_instance, buffer_ptr, buffer_size)) || \
|
||||
((void *) (buffer_ptr) == TX_NULL))
|
||||
|
||||
/* Kernel objects should be outside the module at the very least. */
|
||||
#define TXM_MODULE_MANAGER_PARAM_CHECK_OBJECT_FOR_USE(module_instance, obj_ptr, obj_size) \
|
||||
(((void *) (obj_ptr) == TX_NULL) || \
|
||||
(TXM_MODULE_MANAGER_ENSURE_OUTSIDE_MODULE(module_instance, obj_ptr, obj_size)))
|
||||
((TXM_MODULE_MANAGER_ENSURE_OUTSIDE_MODULE(module_instance, obj_ptr, obj_size)) || \
|
||||
((void *) (obj_ptr) == TX_NULL))
|
||||
|
||||
/* When creating an object, the object must be inside the object pool. */
|
||||
#define TXM_MODULE_MANAGER_PARAM_CHECK_OBJECT_FOR_CREATION(module_instance, obj_ptr, obj_size) \
|
||||
(((void *) (obj_ptr) == TX_NULL) || \
|
||||
(TXM_MODULE_MANAGER_ENSURE_INSIDE_OBJ_POOL(module_instance, obj_ptr, obj_size) && \
|
||||
(_txm_module_manager_object_size_check(obj_ptr, obj_size) == TX_SUCCESS)))
|
||||
((TXM_MODULE_MANAGER_ENSURE_INSIDE_OBJ_POOL(module_instance, obj_ptr, obj_size) && \
|
||||
(_txm_module_manager_object_size_check(obj_ptr, obj_size) == TX_SUCCESS)) || \
|
||||
((void *) (obj_ptr) == TX_NULL))
|
||||
|
||||
/* Strings we dereference can be in RW/RO/Shared areas. */
|
||||
#define TXM_MODULE_MANAGER_PARAM_CHECK_DEREFERENCE_STRING(module_instance, string_ptr) \
|
||||
(((void *) (string_ptr) == TX_NULL) || \
|
||||
(TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE(module_instance, string_ptr, 1)))
|
||||
((TXM_MODULE_MANAGER_ENSURE_INSIDE_MODULE(module_instance, string_ptr, 1)) || \
|
||||
((void *) (string_ptr) == TX_NULL))
|
||||
|
||||
#define TXM_MODULE_MANAGER_UTIL_MAX_VALUE_OF_TYPE_UNSIGNED(type) ((1ULL << (sizeof(type) * 8)) - 1)
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _txm_module_manager_kernel_dispatch PORTABLE C */
|
||||
/* 6.1.3 */
|
||||
/* 6.1.6 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Scott Larson, Microsoft Corporation */
|
||||
@@ -50,6 +50,8 @@
|
||||
/* */
|
||||
/* This function dispatches the module's kernel request based upon the */
|
||||
/* ID and parameters specified in the request. */
|
||||
/* To disallow modules to use specific ThreadX services, define */
|
||||
/* TXM_***_CALL_NOT_USED (see #ifndefs surrounding each case). */
|
||||
/* */
|
||||
/* INPUT */
|
||||
/* */
|
||||
@@ -83,6 +85,10 @@
|
||||
/* 12-31-2020 Scott Larson Modified comment(s), added */
|
||||
/* port-specific dispatch, */
|
||||
/* resulting in version 6.1.3 */
|
||||
/* 04-02-2021 Scott Larson Modified comment(s), */
|
||||
/* added optional defines to */
|
||||
/* remove unneeded functions, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
ALIGN_TYPE _txm_module_manager_kernel_dispatch(ULONG kernel_request, ALIGN_TYPE param_0, ALIGN_TYPE param_1, ALIGN_TYPE param_2)
|
||||
@@ -104,581 +110,773 @@ TXM_MODULE_INSTANCE *module_instance;
|
||||
|
||||
switch (kernel_request)
|
||||
{
|
||||
#ifndef TXM_BLOCK_ALLOCATE_CALL_NOT_USED
|
||||
case TXM_BLOCK_ALLOCATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_allocate_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_CREATE_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_DELETE_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_POOL_PRIORITIZE_CALL_NOT_USED
|
||||
case TXM_BLOCK_POOL_PRIORITIZE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_pool_prioritize_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BLOCK_RELEASE_CALL_NOT_USED
|
||||
case TXM_BLOCK_RELEASE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_block_release_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_ALLOCATE_CALL_NOT_USED
|
||||
case TXM_BYTE_ALLOCATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_allocate_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_CREATE_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_DELETE_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_POOL_PRIORITIZE_CALL_NOT_USED
|
||||
case TXM_BYTE_POOL_PRIORITIZE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_pool_prioritize_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_BYTE_RELEASE_CALL_NOT_USED
|
||||
case TXM_BYTE_RELEASE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_byte_release_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_CREATE_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_create_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_DELETE_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_GET_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_INFO_GET_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_SET_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_SET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_set_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_EVENT_FLAGS_SET_NOTIFY_CALL_NOT_USED
|
||||
case TXM_EVENT_FLAGS_SET_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_event_flags_set_notify_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_CREATE_CALL_NOT_USED
|
||||
case TXM_MUTEX_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_DELETE_CALL_NOT_USED
|
||||
case TXM_MUTEX_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_GET_CALL_NOT_USED
|
||||
case TXM_MUTEX_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_get_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_INFO_GET_CALL_NOT_USED
|
||||
case TXM_MUTEX_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_MUTEX_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_MUTEX_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_PRIORITIZE_CALL_NOT_USED
|
||||
case TXM_MUTEX_PRIORITIZE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_prioritize_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MUTEX_PUT_CALL_NOT_USED
|
||||
case TXM_MUTEX_PUT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_mutex_put_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_CREATE_CALL_NOT_USED
|
||||
case TXM_QUEUE_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_DELETE_CALL_NOT_USED
|
||||
case TXM_QUEUE_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_FLUSH_CALL_NOT_USED
|
||||
case TXM_QUEUE_FLUSH_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_flush_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_FRONT_SEND_CALL_NOT_USED
|
||||
case TXM_QUEUE_FRONT_SEND_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_front_send_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_QUEUE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_QUEUE_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_QUEUE_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_PRIORITIZE_CALL_NOT_USED
|
||||
case TXM_QUEUE_PRIORITIZE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_prioritize_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_RECEIVE_CALL_NOT_USED
|
||||
case TXM_QUEUE_RECEIVE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_receive_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_SEND_CALL_NOT_USED
|
||||
case TXM_QUEUE_SEND_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_send_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_QUEUE_SEND_NOTIFY_CALL_NOT_USED
|
||||
case TXM_QUEUE_SEND_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_queue_send_notify_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_CEILING_PUT_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_CEILING_PUT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_ceiling_put_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_CREATE_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_DELETE_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_GET_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_get_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_PRIORITIZE_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_PRIORITIZE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_prioritize_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_PUT_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_PUT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_put_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_SEMAPHORE_PUT_NOTIFY_CALL_NOT_USED
|
||||
case TXM_SEMAPHORE_PUT_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_semaphore_put_notify_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_CREATE_CALL_NOT_USED
|
||||
case TXM_THREAD_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_DELETE_CALL_NOT_USED
|
||||
case TXM_THREAD_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_ENTRY_EXIT_NOTIFY_CALL_NOT_USED
|
||||
case TXM_THREAD_ENTRY_EXIT_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_entry_exit_notify_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_IDENTIFY_CALL_NOT_USED
|
||||
case TXM_THREAD_IDENTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_identify_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_INFO_GET_CALL_NOT_USED
|
||||
case TXM_THREAD_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_INTERRUPT_CONTROL_CALL_NOT_USED
|
||||
case TXM_THREAD_INTERRUPT_CONTROL_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_interrupt_control_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_THREAD_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_THREAD_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_PREEMPTION_CHANGE_CALL_NOT_USED
|
||||
case TXM_THREAD_PREEMPTION_CHANGE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_preemption_change_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_PRIORITY_CHANGE_CALL_NOT_USED
|
||||
case TXM_THREAD_PRIORITY_CHANGE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_priority_change_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_RELINQUISH_CALL_NOT_USED
|
||||
case TXM_THREAD_RELINQUISH_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_relinquish_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_RESET_CALL_NOT_USED
|
||||
case TXM_THREAD_RESET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_reset_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_RESUME_CALL_NOT_USED
|
||||
case TXM_THREAD_RESUME_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_resume_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_SLEEP_CALL_NOT_USED
|
||||
case TXM_THREAD_SLEEP_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_sleep_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_STACK_ERROR_NOTIFY_CALL_NOT_USED
|
||||
case TXM_THREAD_STACK_ERROR_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_stack_error_notify_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_SUSPEND_CALL_NOT_USED
|
||||
case TXM_THREAD_SUSPEND_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_suspend_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_SYSTEM_SUSPEND_CALL_NOT_USED
|
||||
case TXM_THREAD_SYSTEM_SUSPEND_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_system_suspend_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_TERMINATE_CALL_NOT_USED
|
||||
case TXM_THREAD_TERMINATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_terminate_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_TIME_SLICE_CHANGE_CALL_NOT_USED
|
||||
case TXM_THREAD_TIME_SLICE_CHANGE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_time_slice_change_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_THREAD_WAIT_ABORT_CALL_NOT_USED
|
||||
case TXM_THREAD_WAIT_ABORT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_thread_wait_abort_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIME_GET_CALL_NOT_USED
|
||||
case TXM_TIME_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_time_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIME_SET_CALL_NOT_USED
|
||||
case TXM_TIME_SET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_time_set_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_ACTIVATE_CALL_NOT_USED
|
||||
case TXM_TIMER_ACTIVATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_activate_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_CHANGE_CALL_NOT_USED
|
||||
case TXM_TIMER_CHANGE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_change_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_CREATE_CALL_NOT_USED
|
||||
case TXM_TIMER_CREATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_create_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_DEACTIVATE_CALL_NOT_USED
|
||||
case TXM_TIMER_DEACTIVATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_deactivate_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_DELETE_CALL_NOT_USED
|
||||
case TXM_TIMER_DELETE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_delete_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_INFO_GET_CALL_NOT_USED
|
||||
case TXM_TIMER_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_PERFORMANCE_INFO_GET_CALL_NOT_USED
|
||||
case TXM_TIMER_PERFORMANCE_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_performance_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TIMER_PERFORMANCE_SYSTEM_INFO_GET_CALL_NOT_USED
|
||||
case TXM_TIMER_PERFORMANCE_SYSTEM_INFO_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_timer_performance_system_info_get_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_BUFFER_FULL_NOTIFY_CALL_NOT_USED
|
||||
case TXM_TRACE_BUFFER_FULL_NOTIFY_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_buffer_full_notify_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_DISABLE_CALL_NOT_USED
|
||||
case TXM_TRACE_DISABLE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_disable_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_ENABLE_CALL_NOT_USED
|
||||
case TXM_TRACE_ENABLE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_enable_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_EVENT_FILTER_CALL_NOT_USED
|
||||
case TXM_TRACE_EVENT_FILTER_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_event_filter_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_EVENT_UNFILTER_CALL_NOT_USED
|
||||
case TXM_TRACE_EVENT_UNFILTER_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_event_unfilter_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_INTERRUPT_CONTROL_CALL_NOT_USED
|
||||
case TXM_TRACE_INTERRUPT_CONTROL_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_interrupt_control_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_ISR_ENTER_INSERT_CALL_NOT_USED
|
||||
case TXM_TRACE_ISR_ENTER_INSERT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_isr_enter_insert_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_ISR_EXIT_INSERT_CALL_NOT_USED
|
||||
case TXM_TRACE_ISR_EXIT_INSERT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_isr_exit_insert_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_TRACE_USER_EVENT_INSERT_CALL_NOT_USED
|
||||
case TXM_TRACE_USER_EVENT_INSERT_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_tx_trace_user_event_insert_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MODULE_OBJECT_ALLOCATE_CALL_NOT_USED
|
||||
case TXM_MODULE_OBJECT_ALLOCATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_txm_module_object_allocate_dispatch(module_instance, param_0, param_1);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MODULE_OBJECT_DEALLOCATE_CALL_NOT_USED
|
||||
case TXM_MODULE_OBJECT_DEALLOCATE_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_txm_module_object_deallocate_dispatch(module_instance, param_0);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MODULE_OBJECT_POINTER_GET_CALL_NOT_USED
|
||||
case TXM_MODULE_OBJECT_POINTER_GET_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_txm_module_object_pointer_get_dispatch(module_instance, param_0, param_1, param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef TXM_MODULE_OBJECT_POINTER_GET_EXTENDED_CALL_NOT_USED
|
||||
case TXM_MODULE_OBJECT_POINTER_GET_EXTENDED_CALL:
|
||||
{
|
||||
return_value = _txm_module_manager_txm_module_object_pointer_get_extended_dispatch(module_instance, param_0, param_1, (ALIGN_TYPE *) param_2);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
default:
|
||||
{
|
||||
|
||||
@@ -60,7 +60,7 @@ extern UINT _txm_module_manager_usbx_stop(TXM_MODULE_INSTANCE *module_instance)
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _txm_module_manager_stop PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.5 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* Scott Larson, Microsoft Corporation */
|
||||
@@ -109,6 +109,9 @@ extern UINT _txm_module_manager_usbx_stop(TXM_MODULE_INSTANCE *module_instance)
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 Scott Larson Initial Version 6.1 */
|
||||
/* 03-02-2021 Scott Larson Modified comments, fix */
|
||||
/* object delete underflow, */
|
||||
/* resulting in version 6.1.5 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
UINT _txm_module_manager_stop(TXM_MODULE_INSTANCE *module_instance)
|
||||
@@ -531,9 +534,8 @@ TXM_MODULE_ALLOCATED_OBJECT *object_ptr;
|
||||
#endif
|
||||
|
||||
/* Delete the allocated objects for this module. */
|
||||
while (module_instance -> txm_module_instance_object_list_count--)
|
||||
while (module_instance -> txm_module_instance_object_list_count != 0)
|
||||
{
|
||||
|
||||
/* Pickup the current object pointer. */
|
||||
object_ptr = module_instance -> txm_module_instance_object_list_head;
|
||||
|
||||
@@ -542,6 +544,9 @@ TXM_MODULE_ALLOCATED_OBJECT *object_ptr;
|
||||
|
||||
/* Release the object. */
|
||||
_tx_byte_release((VOID *) object_ptr);
|
||||
|
||||
/* Decrement count. */
|
||||
module_instance -> txm_module_instance_object_list_count--;
|
||||
}
|
||||
|
||||
/* Set the allocated list head pointer to NULL. */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* APPLICATION INTERFACE DEFINITION RELEASE */
|
||||
/* */
|
||||
/* tx_api.h PORTABLE SMP */
|
||||
/* 6.1.3 */
|
||||
/* 6.1.6 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -50,6 +50,14 @@
|
||||
/* 12-31-2020 William E. Lamie Modified comment(s), and */
|
||||
/* increased patch version, */
|
||||
/* resulting in version 6.1.3 */
|
||||
/* 03-02-2021 Scott Larson Modified comment(s), and */
|
||||
/* order defines numerically, */
|
||||
/* add option to remove FileX */
|
||||
/* pointer, fix whitespace, */
|
||||
/* resulting in version 6.1.5 */
|
||||
/* 04-02-2021 Scott Larson Modified comment(s), and */
|
||||
/* update patch number, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -89,7 +97,7 @@ extern "C" {
|
||||
#define AZURE_RTOS_THREADX
|
||||
#define THREADX_MAJOR_VERSION 6
|
||||
#define THREADX_MINOR_VERSION 1
|
||||
#define THREADX_PATCH_VERSION 3
|
||||
#define THREADX_PATCH_VERSION 6
|
||||
|
||||
/* Define the following symbol for backward compatibility */
|
||||
#define EL_PRODUCT_THREADX
|
||||
@@ -150,7 +158,6 @@ extern "C" {
|
||||
|
||||
#define TX_SUCCESS ((UINT) 0x00)
|
||||
#define TX_DELETED ((UINT) 0x01)
|
||||
#define TX_NO_MEMORY ((UINT) 0x10)
|
||||
#define TX_POOL_ERROR ((UINT) 0x02)
|
||||
#define TX_PTR_ERROR ((UINT) 0x03)
|
||||
#define TX_WAIT_ERROR ((UINT) 0x04)
|
||||
@@ -165,6 +172,7 @@ extern "C" {
|
||||
#define TX_NO_INSTANCE ((UINT) 0x0D)
|
||||
#define TX_THREAD_ERROR ((UINT) 0x0E)
|
||||
#define TX_PRIORITY_ERROR ((UINT) 0x0F)
|
||||
#define TX_NO_MEMORY ((UINT) 0x10)
|
||||
#define TX_START_ERROR ((UINT) 0x10)
|
||||
#define TX_DELETE_ERROR ((UINT) 0x11)
|
||||
#define TX_RESUME_ERROR ((UINT) 0x12)
|
||||
@@ -449,7 +457,9 @@ typedef struct TX_THREAD_STRUCT
|
||||
/************* End of ThreadX SMP thread control block extensions. *************/
|
||||
|
||||
/* Define a pointer type for FileX extensions. */
|
||||
#ifndef TX_NO_FILEX_POINTER
|
||||
VOID *tx_thread_filex_ptr;
|
||||
#endif
|
||||
|
||||
/* Define the priority inheritance variables. These will be used
|
||||
to manage priority inheritance changes applied to this thread
|
||||
@@ -1184,7 +1194,6 @@ UINT _tx_el_interrupt_control(UINT new_posture);
|
||||
|
||||
#ifdef TX_ENABLE_MULTI_ERROR_CHECKING
|
||||
|
||||
|
||||
/* Services with MULTI runtime error checking ThreadX. */
|
||||
|
||||
#define tx_block_allocate _txr_block_allocate
|
||||
@@ -1742,7 +1751,6 @@ UINT _tx_trace_user_event_insert(ULONG event_id, ULONG info_field_1, ULON
|
||||
UINT _tx_trace_interrupt_control(UINT new_posture);
|
||||
|
||||
|
||||
|
||||
/* Add a default macro that can be re-defined in tx_port.h to add default processing when a thread starts. Common usage
|
||||
would be for enabling floating point for a thread by default, however, the additional processing could be anything
|
||||
defined in tx_port.h. */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_user.h PORTABLE C */
|
||||
/* 6.1 */
|
||||
/* 6.1.5 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -45,6 +45,10 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 03-02-2021 Scott Larson Modified comment(s), */
|
||||
/* added option to remove */
|
||||
/* FileX pointer, */
|
||||
/* resulting in version 6.1.5 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -74,6 +78,7 @@
|
||||
TX_DISABLE_PREEMPTION_THRESHOLD
|
||||
TX_DISABLE_REDUNDANT_CLEARING
|
||||
TX_DISABLE_NOTIFY_CALLBACKS
|
||||
TX_NO_FILEX_POINTER
|
||||
TX_NOT_INTERRUPTABLE
|
||||
TX_TIMER_PROCESS_IN_ISR
|
||||
|
||||
@@ -96,6 +101,16 @@
|
||||
#define TX_TIMER_THREAD_PRIORITY ????
|
||||
*/
|
||||
|
||||
/* Determine if there is a FileX pointer in the thread control block.
|
||||
By default, the pointer is there for legacy/backwards compatibility.
|
||||
The pointer must also be there for applications using FileX.
|
||||
Define this to save space in the thread control block.
|
||||
*/
|
||||
|
||||
/*
|
||||
#define TX_NO_FILEX_POINTER
|
||||
*/
|
||||
|
||||
/* Determine if timer expirations (application timers, timeouts, and tx_thread_sleep calls
|
||||
should be processed within the a system timer thread or directly in the timer ISR.
|
||||
By default, the timer thread is used. When the following is defined, the timer expiration
|
||||
@@ -153,7 +168,7 @@
|
||||
processing when not needed. The user will also have to comment out the call to
|
||||
tx_timer_interrupt, which is typically made from assembly language in
|
||||
tx_initialize_low_level. Note: if TX_NO_TIMER is used, the define TX_TIMER_PROCESS_IN_ISR
|
||||
must also be used. */
|
||||
must also be used and tx_timer_initialize must be removed from ThreadX library. */
|
||||
|
||||
/*
|
||||
#define TX_NO_TIMER
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARCv2_EM/MetaWare */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -288,7 +291,7 @@ ULONG _tx_misra_time_stamp_get(VOID);
|
||||
macros. */
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _clri();
|
||||
#define TX_RESTORE _seti(interrupt_save);
|
||||
@@ -308,7 +311,7 @@ ULONG _tx_misra_time_stamp_get(VOID);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARCv2_EM/MetaWare Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARCv2_EM/MetaWare Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -209,6 +209,18 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
tx_initialize_low_level.s Modified comments
|
||||
tx_thread_context_restore.s r25/r30 are caller saved
|
||||
tx_thread_context_save.s r25/r30 are caller saved
|
||||
tx_thread_interrupt_control.s Modified comments
|
||||
tx_thread_schedule.s fixed interrupt priority overwritting bug,
|
||||
and fixed hardware stack checker disable and reenable logic
|
||||
tx_thread_stack_build.s Modified comments
|
||||
tx_thread_system_return.s Modified comments
|
||||
tx_timer_interrupt.s remove unneeded load of _tx_thread_preempt_disable
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 for ARCv2 EM using MetaWare tools.
|
||||
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,12 +18,12 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
|
||||
.equ IRQ_SELECT, 0x40B
|
||||
.equ KSTACK_TOP, 0x264
|
||||
.equ KSTACK_BASE, 0x265
|
||||
.equ STATUS32_SC, 0x4000
|
||||
;
|
||||
|
||||
;
|
||||
; /* Define section for placement after all linker allocated RAM memory. This
|
||||
; is used to calculate the first free address that is passed to
|
||||
@@ -53,15 +52,14 @@ _tx_system_stack_top_address:
|
||||
.global _tx_system_stack_base_address
|
||||
_tx_system_stack_base_address:
|
||||
.space 4
|
||||
;
|
||||
;
|
||||
|
||||
.text
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_initialize_low_level ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -95,6 +93,8 @@ _tx_system_stack_base_address:
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comments, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_initialize_low_level(VOID)
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,28 +19,18 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
|
||||
.equ BTA, 0x412
|
||||
.equ KSTACK_TOP, 0x264
|
||||
.equ KSTACK_BASE, 0x265
|
||||
.equ STATUS32_SC, 0x4000
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;#include "tx_timer.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_context_restore ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -73,6 +63,9 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comment(s), and */
|
||||
;/* r25/r30 are caller saved, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_context_restore(VOID)
|
||||
@@ -128,6 +121,7 @@ __tx_thread_nested_restore:
|
||||
ld r59, [sp, 144] ; Recover r59
|
||||
.endif
|
||||
ld blink, [sp, 16] ; Recover blink
|
||||
ld r25, [sp, 32] ; Recover r25
|
||||
ld r12, [sp, 84] ; Recover r12
|
||||
ld r11, [sp, 88] ; Recover r11
|
||||
ld r10, [sp, 92] ; Recover r10
|
||||
@@ -141,6 +135,7 @@ __tx_thread_nested_restore:
|
||||
ld r2, [sp, 124] ; Recover r2
|
||||
ld r1, [sp, 128] ; Recover r1
|
||||
ld r0, [sp, 132] ; Recover r0
|
||||
ld r30, [sp, 136] ; Recover r30
|
||||
add sp, sp, 160 ; Recover interrupt stack frame
|
||||
rtie ; Return from interrupt
|
||||
;
|
||||
@@ -207,6 +202,7 @@ __tx_thread_no_preempt_restore:
|
||||
ld r59, [sp, 144] ; Recover r59
|
||||
.endif
|
||||
ld blink, [sp, 16] ; Recover blink
|
||||
ld r25, [sp, 32] ; Recover r25
|
||||
ld r12, [sp, 84] ; Recover r12
|
||||
ld r11, [sp, 88] ; Recover r11
|
||||
ld r10, [sp, 92] ; Recover r10
|
||||
@@ -220,6 +216,7 @@ __tx_thread_no_preempt_restore:
|
||||
ld r2, [sp, 124] ; Recover r2
|
||||
ld r1, [sp, 128] ; Recover r1
|
||||
ld r0, [sp, 132] ; Recover r0
|
||||
ld r30, [sp, 136] ; Recover r30
|
||||
add sp, sp, 160 ; Recover interrupt stack frame
|
||||
rtie ; Return from interrupt
|
||||
;
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,28 +18,18 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
|
||||
.equ BTA, 0x412
|
||||
.equ KSTACK_TOP, 0x264
|
||||
.equ KSTACK_BASE, 0x265
|
||||
.equ STATUS32_SC, 0x4000
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;#include "tx_timer.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_context_save ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -72,6 +61,9 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comment(s), and */
|
||||
;/* r25/r30 are caller saved, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_context_save(VOID)
|
||||
@@ -106,6 +98,8 @@ _tx_thread_context_save:
|
||||
; calling ISR. */
|
||||
;
|
||||
__tx_thread_nested_save: ; Label is for special nested interrupt case from idle system save below
|
||||
st r30, [sp, 136] ; Save r30
|
||||
st r25, [sp, 32] ; Save r25
|
||||
st r12, [sp, 84] ; Save r12
|
||||
st r11, [sp, 88] ; Save r11
|
||||
st r10, [sp, 92] ; Save r10
|
||||
@@ -114,7 +108,7 @@ __tx_thread_nested_save: ; Label is for special n
|
||||
st r7, [sp, 104] ; Save r7
|
||||
st r6, [sp, 108] ; Save r6
|
||||
st r5, [sp, 112] ; Save r5
|
||||
st r4, [sp, 116] ; Save r6
|
||||
st r4, [sp, 116] ; Save r4
|
||||
lr r10, [LP_START] ; Pickup LP_START
|
||||
lr r9, [LP_END] ; Pickup LP_END
|
||||
st LP_COUNT, [sp, 12] ; Save LP_COUNT
|
||||
@@ -156,6 +150,8 @@ __tx_thread_not_nested_save:
|
||||
add r0, r0, 1 ; Increment the nested interrupt count
|
||||
st r0, [gp, _tx_thread_system_state@sda] ; Update system state
|
||||
ld r1, [gp, _tx_thread_current_ptr@sda] ; Pickup current thread pointer
|
||||
st r30, [sp, 136] ; Save r30
|
||||
st r25, [sp, 32] ; Save r25
|
||||
st r12, [sp, 84] ; Save r12
|
||||
st r11, [sp, 88] ; Save r11
|
||||
breq r1, 0, __tx_thread_idle_system_save ; If no thread is running, idle system was
|
||||
@@ -247,7 +243,9 @@ __tx_thread_idle_system_save:
|
||||
lr r0, [AUX_IRQ_ACT] ; Pickup the interrupt active register
|
||||
neg r1, r0 ; Negate
|
||||
and r1, r0, r1 ; See if there are any other interrupts present
|
||||
brne r0, r1, __tx_thread_nested_save ; If more interrupts, go into the nested interrupt save logic
|
||||
breq r0, r1, __tx_thread_not_nested
|
||||
j __tx_thread_nested_save ; If more interrupts, go into the nested interrupt save logic
|
||||
__tx_thread_not_nested:
|
||||
;
|
||||
; /* Not much to do here, just adjust the stack pointer, and return to
|
||||
; ISR processing. */
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,22 +18,13 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_interrupt_control ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -65,6 +55,8 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comments, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;UINT _tx_thread_interrupt_control(UINT new_posture)
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,29 +18,18 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
;
|
||||
|
||||
.equ BTA, 0x412
|
||||
.equ KSTACK_TOP, 0x264
|
||||
.equ KSTACK_BASE, 0x265
|
||||
.equ STATUS32_SC, 0x4000
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;#include "tx_timer.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_schedule ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -75,6 +63,12 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comment(s), and */
|
||||
;/* fixed interrupt priority */
|
||||
;/* overwritting bug, and */
|
||||
;/* fixed hardware stack checker*/
|
||||
;/* disable and reenable logic, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_schedule(VOID)
|
||||
@@ -85,8 +79,13 @@ _tx_thread_schedule:
|
||||
;
|
||||
; /* Enable interrupts. */
|
||||
;
|
||||
mov r0, 0x1F ; Build enable interrupt value
|
||||
seti r0 ; Enable interrupts
|
||||
seti 0 ; Enable interrupts without changing threshold level
|
||||
|
||||
.ifdef TX_ENABLE_HW_STACK_CHECKING
|
||||
lr r2, [status32] ; Pickup current STATUS32
|
||||
and r2, r2, ~STATUS32_SC ; Clear the hardware stack checking enable bit (SC)
|
||||
kflag r2 ; Disable hardware stack checking
|
||||
.endif
|
||||
;
|
||||
; /* Wait for a thread to execute. */
|
||||
; do
|
||||
@@ -118,16 +117,6 @@ __tx_thread_schedule_loop:
|
||||
ld r4, [r0, 24] ; Pickup time-slice for this thread
|
||||
add r3, r3, 1 ; Increment run counter
|
||||
st r3, [r0, 4] ; Store the new run counter
|
||||
|
||||
.ifdef TX_ENABLE_HW_STACK_CHECKING
|
||||
lr r2, [status32] ; Pickup current STATUS32
|
||||
and r2, r2, ~STATUS32_SC ; Clear the hardware stack checking enable bit (SC)
|
||||
kflag r2 ; Disable hardware stack checking
|
||||
ld r3, [r0, 12] ; Pickup the top of the thread's stack (lowest address)
|
||||
sr r3, [KSTACK_TOP] ; Setup KSTACK_TOP
|
||||
ld r3, [r0, 16] ; Pickup the base of the thread's stack (highest address)
|
||||
sr r3, [KSTACK_BASE] ; Setup KSTACK_BASE
|
||||
.endif
|
||||
;
|
||||
; /* Setup time-slice, if present. */
|
||||
; _tx_timer_time_slice = _tx_thread_current_ptr -> tx_thread_time_slice;
|
||||
@@ -135,6 +124,10 @@ __tx_thread_schedule_loop:
|
||||
ld sp, [r0, 8] ; Switch to thread's stack
|
||||
|
||||
.ifdef TX_ENABLE_HW_STACK_CHECKING
|
||||
ld r3, [r0, 12] ; Pickup the top of the thread's stack (lowest address)
|
||||
sr r3, [KSTACK_TOP] ; Setup KSTACK_TOP
|
||||
ld r3, [r0, 16] ; Pickup the base of the thread's stack (highest address)
|
||||
sr r3, [KSTACK_BASE] ; Setup KSTACK_BASE
|
||||
or r2, r2, STATUS32_SC ; Or in hardware stack checking enable bit (SC)
|
||||
kflag r2 ; Enable hardware stack checking
|
||||
.endif
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,27 +18,16 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;
|
||||
;
|
||||
|
||||
.equ LONG_ALIGN_MASK, 0xFFFFFFFC
|
||||
.equ INT_ENABLE_BITS, 0x8000001E
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_stack_build ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -72,6 +60,8 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comments, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_stack_build(TX_THREAD *thread_ptr, VOID (*function_ptr)(VOID))
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,26 +18,17 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
|
||||
.equ KSTACK_TOP, 0x264
|
||||
.equ KSTACK_BASE, 0x265
|
||||
.equ STATUS32_SC, 0x4000
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_thread.h"
|
||||
;#include "tx_timer.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_system_return ARCv2_EM/MetaWare */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.6 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -71,6 +61,8 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 04-02-2021 Andres Mlinar Modified comments, */
|
||||
;/* resulting in version 6.1.6 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_system_return(VOID)
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
;/* and in the root directory of this software. */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;/** */
|
||||
@@ -19,17 +18,7 @@
|
||||
;/** */
|
||||
;/**************************************************************************/
|
||||
;/**************************************************************************/
|
||||
;
|
||||
;#define TX_SOURCE_CODE
|
||||
;
|
||||
;
|
||||
;/* Include necessary system files. */
|
||||
;
|
||||
;#include "tx_api.h"
|
||||
;#include "tx_timer.h"
|
||||
;#include "tx_thread.h"
|
||||
;
|
||||
;
|
||||
|
||||
;/**************************************************************************/
|
||||
;/* */
|
||||
;/* FUNCTION RELEASE */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARC_HS/MetaWare */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -288,7 +291,7 @@ ULONG _tx_misra_time_stamp_get(VOID);
|
||||
macros. */
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _clri();
|
||||
#define TX_RESTORE _seti(interrupt_save);
|
||||
@@ -322,7 +325,7 @@ VOID tx_thread_register_bank_assign(VOID *thread_ptr, UINT register_bank);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARC_HS/MetaWare Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARC_HS/MetaWare Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -241,6 +241,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 for ARC HS using MetaWare tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM11/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -265,7 +268,7 @@ typedef unsigned short USHORT;
|
||||
|
||||
#ifndef __thumb
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -296,7 +299,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -317,7 +320,7 @@ unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -524,6 +524,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A5 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM11/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; ORR %1,%0,#0xC0; MSR CPSR_cxsf,%1 ": "=r" (interrupt_save), "=r" (tx_temp) );
|
||||
@@ -306,7 +309,7 @@ unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -486,6 +486,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for ARM11 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM11/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -334,9 +337,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
#define TX_DISABLE interrupt_save = __get_CPSR(); \
|
||||
@@ -372,7 +375,7 @@ void _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM11/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -517,6 +517,9 @@ The project options "General Options -> Library Configuration" should also have
|
||||
|
||||
11. Revision History
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for ARM11 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM9/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -267,7 +270,7 @@ typedef unsigned short USHORT;
|
||||
macros. */
|
||||
|
||||
#ifndef __thumb
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -298,7 +301,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -319,7 +322,7 @@ unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -508,6 +508,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for ARM9 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM9/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; ORR %1,%0,#0xC0; MSR CPSR_cxsf,%1 ": "=r" (interrupt_save), "=r" (tx_temp) );
|
||||
@@ -306,7 +309,7 @@ unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -486,6 +486,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for ARM9 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h ARM9/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -334,9 +337,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
#define TX_DISABLE interrupt_save = __get_CPSR(); \
|
||||
@@ -372,7 +375,7 @@ void _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX ARM9/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -518,6 +518,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for ARM9 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
351
ports/c667x/ccs/example_build/tx/Release/makefile
Normal file
351
ports/c667x/ccs/example_build/tx/Release/makefile
Normal file
@@ -0,0 +1,351 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
################################################################################
|
||||
|
||||
SHELL = cmd.exe
|
||||
|
||||
CG_TOOL_ROOT := C:/ti/ccsv8/tools/compiler/ti-cgt-c6000_8.2.4
|
||||
|
||||
GEN_OPTS__FLAG :=
|
||||
GEN_CMDS__FLAG :=
|
||||
|
||||
ORDERED_OBJS += \
|
||||
"./tx_block_allocate.obj" \
|
||||
"./tx_block_pool_cleanup.obj" \
|
||||
"./tx_block_pool_create.obj" \
|
||||
"./tx_block_pool_delete.obj" \
|
||||
"./tx_block_pool_info_get.obj" \
|
||||
"./tx_block_pool_initialize.obj" \
|
||||
"./tx_block_pool_performance_info_get.obj" \
|
||||
"./tx_block_pool_performance_system_info_get.obj" \
|
||||
"./tx_block_pool_prioritize.obj" \
|
||||
"./tx_block_release.obj" \
|
||||
"./tx_byte_allocate.obj" \
|
||||
"./tx_byte_pool_cleanup.obj" \
|
||||
"./tx_byte_pool_create.obj" \
|
||||
"./tx_byte_pool_delete.obj" \
|
||||
"./tx_byte_pool_info_get.obj" \
|
||||
"./tx_byte_pool_initialize.obj" \
|
||||
"./tx_byte_pool_performance_info_get.obj" \
|
||||
"./tx_byte_pool_performance_system_info_get.obj" \
|
||||
"./tx_byte_pool_prioritize.obj" \
|
||||
"./tx_byte_pool_search.obj" \
|
||||
"./tx_byte_release.obj" \
|
||||
"./tx_event_flags_cleanup.obj" \
|
||||
"./tx_event_flags_create.obj" \
|
||||
"./tx_event_flags_delete.obj" \
|
||||
"./tx_event_flags_get.obj" \
|
||||
"./tx_event_flags_info_get.obj" \
|
||||
"./tx_event_flags_initialize.obj" \
|
||||
"./tx_event_flags_performance_info_get.obj" \
|
||||
"./tx_event_flags_performance_system_info_get.obj" \
|
||||
"./tx_event_flags_set.obj" \
|
||||
"./tx_event_flags_set_notify.obj" \
|
||||
"./tx_initialize_high_level.obj" \
|
||||
"./tx_initialize_kernel_enter.obj" \
|
||||
"./tx_initialize_kernel_setup.obj" \
|
||||
"./tx_mutex_cleanup.obj" \
|
||||
"./tx_mutex_create.obj" \
|
||||
"./tx_mutex_delete.obj" \
|
||||
"./tx_mutex_get.obj" \
|
||||
"./tx_mutex_info_get.obj" \
|
||||
"./tx_mutex_initialize.obj" \
|
||||
"./tx_mutex_performance_info_get.obj" \
|
||||
"./tx_mutex_performance_system_info_get.obj" \
|
||||
"./tx_mutex_prioritize.obj" \
|
||||
"./tx_mutex_priority_change.obj" \
|
||||
"./tx_mutex_put.obj" \
|
||||
"./tx_queue_cleanup.obj" \
|
||||
"./tx_queue_create.obj" \
|
||||
"./tx_queue_delete.obj" \
|
||||
"./tx_queue_flush.obj" \
|
||||
"./tx_queue_front_send.obj" \
|
||||
"./tx_queue_info_get.obj" \
|
||||
"./tx_queue_initialize.obj" \
|
||||
"./tx_queue_performance_info_get.obj" \
|
||||
"./tx_queue_performance_system_info_get.obj" \
|
||||
"./tx_queue_prioritize.obj" \
|
||||
"./tx_queue_receive.obj" \
|
||||
"./tx_queue_send.obj" \
|
||||
"./tx_queue_send_notify.obj" \
|
||||
"./tx_semaphore_ceiling_put.obj" \
|
||||
"./tx_semaphore_cleanup.obj" \
|
||||
"./tx_semaphore_create.obj" \
|
||||
"./tx_semaphore_delete.obj" \
|
||||
"./tx_semaphore_get.obj" \
|
||||
"./tx_semaphore_info_get.obj" \
|
||||
"./tx_semaphore_initialize.obj" \
|
||||
"./tx_semaphore_performance_info_get.obj" \
|
||||
"./tx_semaphore_performance_system_info_get.obj" \
|
||||
"./tx_semaphore_prioritize.obj" \
|
||||
"./tx_semaphore_put.obj" \
|
||||
"./tx_semaphore_put_notify.obj" \
|
||||
"./tx_thread_context_restore.obj" \
|
||||
"./tx_thread_context_save.obj" \
|
||||
"./tx_thread_create.obj" \
|
||||
"./tx_thread_delete.obj" \
|
||||
"./tx_thread_entry_exit_notify.obj" \
|
||||
"./tx_thread_identify.obj" \
|
||||
"./tx_thread_info_get.obj" \
|
||||
"./tx_thread_initialize.obj" \
|
||||
"./tx_thread_interrupt_control.obj" \
|
||||
"./tx_thread_performance_info_get.obj" \
|
||||
"./tx_thread_performance_system_info_get.obj" \
|
||||
"./tx_thread_preemption_change.obj" \
|
||||
"./tx_thread_priority_change.obj" \
|
||||
"./tx_thread_relinquish.obj" \
|
||||
"./tx_thread_reset.obj" \
|
||||
"./tx_thread_resume.obj" \
|
||||
"./tx_thread_schedule.obj" \
|
||||
"./tx_thread_shell_entry.obj" \
|
||||
"./tx_thread_sleep.obj" \
|
||||
"./tx_thread_stack_analyze.obj" \
|
||||
"./tx_thread_stack_build.obj" \
|
||||
"./tx_thread_stack_error_handler.obj" \
|
||||
"./tx_thread_stack_error_notify.obj" \
|
||||
"./tx_thread_suspend.obj" \
|
||||
"./tx_thread_system_preempt_check.obj" \
|
||||
"./tx_thread_system_resume.obj" \
|
||||
"./tx_thread_system_return.obj" \
|
||||
"./tx_thread_system_suspend.obj" \
|
||||
"./tx_thread_terminate.obj" \
|
||||
"./tx_thread_time_slice.obj" \
|
||||
"./tx_thread_time_slice_change.obj" \
|
||||
"./tx_thread_timeout.obj" \
|
||||
"./tx_thread_wait_abort.obj" \
|
||||
"./tx_time_get.obj" \
|
||||
"./tx_time_set.obj" \
|
||||
"./tx_timer_activate.obj" \
|
||||
"./tx_timer_change.obj" \
|
||||
"./tx_timer_create.obj" \
|
||||
"./tx_timer_deactivate.obj" \
|
||||
"./tx_timer_delete.obj" \
|
||||
"./tx_timer_expiration_process.obj" \
|
||||
"./tx_timer_info_get.obj" \
|
||||
"./tx_timer_initialize.obj" \
|
||||
"./tx_timer_interrupt.obj" \
|
||||
"./tx_timer_performance_info_get.obj" \
|
||||
"./tx_timer_performance_system_info_get.obj" \
|
||||
"./tx_timer_system_activate.obj" \
|
||||
"./tx_timer_system_deactivate.obj" \
|
||||
"./tx_timer_thread_entry.obj" \
|
||||
"./tx_trace_buffer_full_notify.obj" \
|
||||
"./tx_trace_disable.obj" \
|
||||
"./tx_trace_enable.obj" \
|
||||
"./tx_trace_event_filter.obj" \
|
||||
"./tx_trace_event_unfilter.obj" \
|
||||
"./tx_trace_initialize.obj" \
|
||||
"./tx_trace_interrupt_control.obj" \
|
||||
"./tx_trace_isr_enter_insert.obj" \
|
||||
"./tx_trace_isr_exit_insert.obj" \
|
||||
"./tx_trace_object_register.obj" \
|
||||
"./tx_trace_object_unregister.obj" \
|
||||
"./tx_trace_user_event_insert.obj" \
|
||||
"./txe_block_allocate.obj" \
|
||||
"./txe_block_pool_create.obj" \
|
||||
"./txe_block_pool_delete.obj" \
|
||||
"./txe_block_pool_info_get.obj" \
|
||||
"./txe_block_pool_prioritize.obj" \
|
||||
"./txe_block_release.obj" \
|
||||
"./txe_byte_allocate.obj" \
|
||||
"./txe_byte_pool_create.obj" \
|
||||
"./txe_byte_pool_delete.obj" \
|
||||
"./txe_byte_pool_info_get.obj" \
|
||||
"./txe_byte_pool_prioritize.obj" \
|
||||
"./txe_byte_release.obj" \
|
||||
"./txe_event_flags_create.obj" \
|
||||
"./txe_event_flags_delete.obj" \
|
||||
"./txe_event_flags_get.obj" \
|
||||
"./txe_event_flags_info_get.obj" \
|
||||
"./txe_event_flags_set.obj" \
|
||||
"./txe_event_flags_set_notify.obj" \
|
||||
"./txe_mutex_create.obj" \
|
||||
"./txe_mutex_delete.obj" \
|
||||
"./txe_mutex_get.obj" \
|
||||
"./txe_mutex_info_get.obj" \
|
||||
"./txe_mutex_prioritize.obj" \
|
||||
"./txe_mutex_put.obj" \
|
||||
"./txe_queue_create.obj" \
|
||||
"./txe_queue_delete.obj" \
|
||||
"./txe_queue_flush.obj" \
|
||||
"./txe_queue_front_send.obj" \
|
||||
"./txe_queue_info_get.obj" \
|
||||
"./txe_queue_prioritize.obj" \
|
||||
"./txe_queue_receive.obj" \
|
||||
"./txe_queue_send.obj" \
|
||||
"./txe_queue_send_notify.obj" \
|
||||
"./txe_semaphore_ceiling_put.obj" \
|
||||
"./txe_semaphore_create.obj" \
|
||||
"./txe_semaphore_delete.obj" \
|
||||
"./txe_semaphore_get.obj" \
|
||||
"./txe_semaphore_info_get.obj" \
|
||||
"./txe_semaphore_prioritize.obj" \
|
||||
"./txe_semaphore_put.obj" \
|
||||
"./txe_semaphore_put_notify.obj" \
|
||||
"./txe_thread_create.obj" \
|
||||
"./txe_thread_delete.obj" \
|
||||
"./txe_thread_entry_exit_notify.obj" \
|
||||
"./txe_thread_info_get.obj" \
|
||||
"./txe_thread_preemption_change.obj" \
|
||||
"./txe_thread_priority_change.obj" \
|
||||
"./txe_thread_relinquish.obj" \
|
||||
"./txe_thread_reset.obj" \
|
||||
"./txe_thread_resume.obj" \
|
||||
"./txe_thread_suspend.obj" \
|
||||
"./txe_thread_terminate.obj" \
|
||||
"./txe_thread_time_slice_change.obj" \
|
||||
"./txe_thread_wait_abort.obj" \
|
||||
"./txe_timer_activate.obj" \
|
||||
"./txe_timer_change.obj" \
|
||||
"./txe_timer_create.obj" \
|
||||
"./txe_timer_deactivate.obj" \
|
||||
"./txe_timer_delete.obj" \
|
||||
"./txe_timer_info_get.obj" \
|
||||
|
||||
-include ../makefile.init
|
||||
|
||||
RM := DEL /F
|
||||
RMDIR := RMDIR /S/Q
|
||||
|
||||
# All of the sources participating in the build are defined here
|
||||
-include sources.mk
|
||||
-include subdir_vars.mk
|
||||
-include subdir_rules.mk
|
||||
-include objects.mk
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(C55_DEPS)),)
|
||||
-include $(C55_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C_UPPER_DEPS)),)
|
||||
-include $(C_UPPER_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S67_DEPS)),)
|
||||
-include $(S67_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S62_DEPS)),)
|
||||
-include $(S62_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S_DEPS)),)
|
||||
-include $(S_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(OPT_DEPS)),)
|
||||
-include $(OPT_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C??_DEPS)),)
|
||||
-include $(C??_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(ASM_UPPER_DEPS)),)
|
||||
-include $(ASM_UPPER_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S??_DEPS)),)
|
||||
-include $(S??_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C64_DEPS)),)
|
||||
-include $(C64_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(CXX_DEPS)),)
|
||||
-include $(CXX_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S64_DEPS)),)
|
||||
-include $(S64_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(INO_DEPS)),)
|
||||
-include $(INO_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(CLA_DEPS)),)
|
||||
-include $(CLA_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S55_DEPS)),)
|
||||
-include $(S55_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(SV7A_DEPS)),)
|
||||
-include $(SV7A_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C62_DEPS)),)
|
||||
-include $(C62_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C67_DEPS)),)
|
||||
-include $(C67_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(PDE_DEPS)),)
|
||||
-include $(PDE_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(K_DEPS)),)
|
||||
-include $(K_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(CC_DEPS)),)
|
||||
-include $(CC_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C++_DEPS)),)
|
||||
-include $(C++_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(C43_DEPS)),)
|
||||
-include $(C43_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S43_DEPS)),)
|
||||
-include $(S43_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(ASM_DEPS)),)
|
||||
-include $(ASM_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(S_UPPER_DEPS)),)
|
||||
-include $(S_UPPER_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(CPP_DEPS)),)
|
||||
-include $(CPP_DEPS)
|
||||
endif
|
||||
ifneq ($(strip $(SA_DEPS)),)
|
||||
-include $(SA_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
-include ../makefile.defs
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
LIB_OUTPUTS += \
|
||||
tx.lib \
|
||||
|
||||
LIB_OUTPUTS__QUOTED += \
|
||||
"tx.lib" \
|
||||
|
||||
|
||||
# All Target
|
||||
all: tx.lib
|
||||
|
||||
# Tool invocations
|
||||
tx.lib: $(OBJS) $(OBJ_SRCS) $(LIB_SRCS)
|
||||
ifneq ($(strip $(ORDERED_OBJS)),)
|
||||
@echo 'Building target: "$@"'
|
||||
@echo 'Invoking: C6000 Archiver'
|
||||
"C:/ti/ccsv8/tools/compiler/ti-cgt-c6000_8.2.4/bin/ar6x" r "tx.lib" $(ORDERED_OBJS)
|
||||
@echo 'Finished building target: "$@"'
|
||||
@echo ' '
|
||||
endif
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) $(LIB_OUTPUTS__QUOTED)
|
||||
-$(RM) "tx_block_allocate.obj" "tx_block_pool_cleanup.obj" "tx_block_pool_create.obj" "tx_block_pool_delete.obj" "tx_block_pool_info_get.obj" "tx_block_pool_initialize.obj" "tx_block_pool_performance_info_get.obj" "tx_block_pool_performance_system_info_get.obj" "tx_block_pool_prioritize.obj" "tx_block_release.obj" "tx_byte_allocate.obj" "tx_byte_pool_cleanup.obj" "tx_byte_pool_create.obj" "tx_byte_pool_delete.obj" "tx_byte_pool_info_get.obj" "tx_byte_pool_initialize.obj" "tx_byte_pool_performance_info_get.obj" "tx_byte_pool_performance_system_info_get.obj" "tx_byte_pool_prioritize.obj" "tx_byte_pool_search.obj" "tx_byte_release.obj" "tx_event_flags_cleanup.obj" "tx_event_flags_create.obj" "tx_event_flags_delete.obj" "tx_event_flags_get.obj" "tx_event_flags_info_get.obj" "tx_event_flags_initialize.obj" "tx_event_flags_performance_info_get.obj" "tx_event_flags_performance_system_info_get.obj" "tx_event_flags_set.obj" "tx_event_flags_set_notify.obj" "tx_initialize_high_level.obj" "tx_initialize_kernel_enter.obj"
|
||||
-$(RM) "tx_initialize_kernel_setup.obj" "tx_mutex_cleanup.obj" "tx_mutex_create.obj" "tx_mutex_delete.obj" "tx_mutex_get.obj" "tx_mutex_info_get.obj" "tx_mutex_initialize.obj" "tx_mutex_performance_info_get.obj" "tx_mutex_performance_system_info_get.obj" "tx_mutex_prioritize.obj" "tx_mutex_priority_change.obj" "tx_mutex_put.obj" "tx_queue_cleanup.obj" "tx_queue_create.obj" "tx_queue_delete.obj" "tx_queue_flush.obj" "tx_queue_front_send.obj" "tx_queue_info_get.obj" "tx_queue_initialize.obj" "tx_queue_performance_info_get.obj" "tx_queue_performance_system_info_get.obj" "tx_queue_prioritize.obj" "tx_queue_receive.obj" "tx_queue_send.obj" "tx_queue_send_notify.obj" "tx_semaphore_ceiling_put.obj" "tx_semaphore_cleanup.obj" "tx_semaphore_create.obj" "tx_semaphore_delete.obj" "tx_semaphore_get.obj" "tx_semaphore_info_get.obj" "tx_semaphore_initialize.obj" "tx_semaphore_performance_info_get.obj" "tx_semaphore_performance_system_info_get.obj" "tx_semaphore_prioritize.obj" "tx_semaphore_put.obj" "tx_semaphore_put_notify.obj"
|
||||
-$(RM) "tx_thread_context_restore.obj" "tx_thread_context_save.obj" "tx_thread_create.obj" "tx_thread_delete.obj" "tx_thread_entry_exit_notify.obj" "tx_thread_identify.obj" "tx_thread_info_get.obj" "tx_thread_initialize.obj" "tx_thread_interrupt_control.obj" "tx_thread_performance_info_get.obj" "tx_thread_performance_system_info_get.obj" "tx_thread_preemption_change.obj" "tx_thread_priority_change.obj" "tx_thread_relinquish.obj" "tx_thread_reset.obj" "tx_thread_resume.obj" "tx_thread_schedule.obj" "tx_thread_shell_entry.obj" "tx_thread_sleep.obj" "tx_thread_stack_analyze.obj" "tx_thread_stack_build.obj" "tx_thread_stack_error_handler.obj" "tx_thread_stack_error_notify.obj" "tx_thread_suspend.obj" "tx_thread_system_preempt_check.obj" "tx_thread_system_resume.obj" "tx_thread_system_return.obj" "tx_thread_system_suspend.obj" "tx_thread_terminate.obj" "tx_thread_time_slice.obj" "tx_thread_time_slice_change.obj" "tx_thread_timeout.obj" "tx_thread_wait_abort.obj" "tx_time_get.obj" "tx_time_set.obj"
|
||||
-$(RM) "tx_timer_activate.obj" "tx_timer_change.obj" "tx_timer_create.obj" "tx_timer_deactivate.obj" "tx_timer_delete.obj" "tx_timer_expiration_process.obj" "tx_timer_info_get.obj" "tx_timer_initialize.obj" "tx_timer_interrupt.obj" "tx_timer_performance_info_get.obj" "tx_timer_performance_system_info_get.obj" "tx_timer_system_activate.obj" "tx_timer_system_deactivate.obj" "tx_timer_thread_entry.obj" "tx_trace_buffer_full_notify.obj" "tx_trace_disable.obj" "tx_trace_enable.obj" "tx_trace_event_filter.obj" "tx_trace_event_unfilter.obj" "tx_trace_initialize.obj" "tx_trace_interrupt_control.obj" "tx_trace_isr_enter_insert.obj" "tx_trace_isr_exit_insert.obj" "tx_trace_object_register.obj" "tx_trace_object_unregister.obj" "tx_trace_user_event_insert.obj" "txe_block_allocate.obj" "txe_block_pool_create.obj" "txe_block_pool_delete.obj" "txe_block_pool_info_get.obj" "txe_block_pool_prioritize.obj" "txe_block_release.obj" "txe_byte_allocate.obj" "txe_byte_pool_create.obj" "txe_byte_pool_delete.obj" "txe_byte_pool_info_get.obj"
|
||||
-$(RM) "txe_byte_pool_prioritize.obj" "txe_byte_release.obj" "txe_event_flags_create.obj" "txe_event_flags_delete.obj" "txe_event_flags_get.obj" "txe_event_flags_info_get.obj" "txe_event_flags_set.obj" "txe_event_flags_set_notify.obj" "txe_mutex_create.obj" "txe_mutex_delete.obj" "txe_mutex_get.obj" "txe_mutex_info_get.obj" "txe_mutex_prioritize.obj" "txe_mutex_put.obj" "txe_queue_create.obj" "txe_queue_delete.obj" "txe_queue_flush.obj" "txe_queue_front_send.obj" "txe_queue_info_get.obj" "txe_queue_prioritize.obj" "txe_queue_receive.obj" "txe_queue_send.obj" "txe_queue_send_notify.obj" "txe_semaphore_ceiling_put.obj" "txe_semaphore_create.obj" "txe_semaphore_delete.obj" "txe_semaphore_get.obj" "txe_semaphore_info_get.obj" "txe_semaphore_prioritize.obj" "txe_semaphore_put.obj" "txe_semaphore_put_notify.obj" "txe_thread_create.obj" "txe_thread_delete.obj" "txe_thread_entry_exit_notify.obj" "txe_thread_info_get.obj" "txe_thread_preemption_change.obj" "txe_thread_priority_change.obj" "txe_thread_relinquish.obj"
|
||||
-$(RM) "txe_thread_reset.obj" "txe_thread_resume.obj" "txe_thread_suspend.obj" "txe_thread_terminate.obj" "txe_thread_time_slice_change.obj" "txe_thread_wait_abort.obj" "txe_timer_activate.obj" "txe_timer_change.obj" "txe_timer_create.obj" "txe_timer_deactivate.obj" "txe_timer_delete.obj" "txe_timer_info_get.obj"
|
||||
-$(RM) "tx_block_allocate.d" "tx_block_pool_cleanup.d" "tx_block_pool_create.d" "tx_block_pool_delete.d" "tx_block_pool_info_get.d" "tx_block_pool_initialize.d" "tx_block_pool_performance_info_get.d" "tx_block_pool_performance_system_info_get.d" "tx_block_pool_prioritize.d" "tx_block_release.d" "tx_byte_allocate.d" "tx_byte_pool_cleanup.d" "tx_byte_pool_create.d" "tx_byte_pool_delete.d" "tx_byte_pool_info_get.d" "tx_byte_pool_initialize.d" "tx_byte_pool_performance_info_get.d" "tx_byte_pool_performance_system_info_get.d" "tx_byte_pool_prioritize.d" "tx_byte_pool_search.d" "tx_byte_release.d" "tx_event_flags_cleanup.d" "tx_event_flags_create.d" "tx_event_flags_delete.d" "tx_event_flags_get.d" "tx_event_flags_info_get.d" "tx_event_flags_initialize.d" "tx_event_flags_performance_info_get.d" "tx_event_flags_performance_system_info_get.d" "tx_event_flags_set.d" "tx_event_flags_set_notify.d" "tx_initialize_high_level.d" "tx_initialize_kernel_enter.d" "tx_initialize_kernel_setup.d" "tx_mutex_cleanup.d"
|
||||
-$(RM) "tx_mutex_create.d" "tx_mutex_delete.d" "tx_mutex_get.d" "tx_mutex_info_get.d" "tx_mutex_initialize.d" "tx_mutex_performance_info_get.d" "tx_mutex_performance_system_info_get.d" "tx_mutex_prioritize.d" "tx_mutex_priority_change.d" "tx_mutex_put.d" "tx_queue_cleanup.d" "tx_queue_create.d" "tx_queue_delete.d" "tx_queue_flush.d" "tx_queue_front_send.d" "tx_queue_info_get.d" "tx_queue_initialize.d" "tx_queue_performance_info_get.d" "tx_queue_performance_system_info_get.d" "tx_queue_prioritize.d" "tx_queue_receive.d" "tx_queue_send.d" "tx_queue_send_notify.d" "tx_semaphore_ceiling_put.d" "tx_semaphore_cleanup.d" "tx_semaphore_create.d" "tx_semaphore_delete.d" "tx_semaphore_get.d" "tx_semaphore_info_get.d" "tx_semaphore_initialize.d" "tx_semaphore_performance_info_get.d" "tx_semaphore_performance_system_info_get.d" "tx_semaphore_prioritize.d" "tx_semaphore_put.d" "tx_semaphore_put_notify.d" "tx_thread_create.d" "tx_thread_delete.d" "tx_thread_entry_exit_notify.d" "tx_thread_identify.d" "tx_thread_info_get.d"
|
||||
-$(RM) "tx_thread_initialize.d" "tx_thread_performance_info_get.d" "tx_thread_performance_system_info_get.d" "tx_thread_preemption_change.d" "tx_thread_priority_change.d" "tx_thread_relinquish.d" "tx_thread_reset.d" "tx_thread_resume.d" "tx_thread_shell_entry.d" "tx_thread_sleep.d" "tx_thread_stack_analyze.d" "tx_thread_stack_error_handler.d" "tx_thread_stack_error_notify.d" "tx_thread_suspend.d" "tx_thread_system_preempt_check.d" "tx_thread_system_resume.d" "tx_thread_system_suspend.d" "tx_thread_terminate.d" "tx_thread_time_slice.d" "tx_thread_time_slice_change.d" "tx_thread_timeout.d" "tx_thread_wait_abort.d" "tx_time_get.d" "tx_time_set.d" "tx_timer_activate.d" "tx_timer_change.d" "tx_timer_create.d" "tx_timer_deactivate.d" "tx_timer_delete.d" "tx_timer_expiration_process.d" "tx_timer_info_get.d" "tx_timer_initialize.d" "tx_timer_performance_info_get.d" "tx_timer_performance_system_info_get.d" "tx_timer_system_activate.d" "tx_timer_system_deactivate.d" "tx_timer_thread_entry.d" "tx_trace_buffer_full_notify.d"
|
||||
-$(RM) "tx_trace_disable.d" "tx_trace_enable.d" "tx_trace_event_filter.d" "tx_trace_event_unfilter.d" "tx_trace_initialize.d" "tx_trace_interrupt_control.d" "tx_trace_isr_enter_insert.d" "tx_trace_isr_exit_insert.d" "tx_trace_object_register.d" "tx_trace_object_unregister.d" "tx_trace_user_event_insert.d" "txe_block_allocate.d" "txe_block_pool_create.d" "txe_block_pool_delete.d" "txe_block_pool_info_get.d" "txe_block_pool_prioritize.d" "txe_block_release.d" "txe_byte_allocate.d" "txe_byte_pool_create.d" "txe_byte_pool_delete.d" "txe_byte_pool_info_get.d" "txe_byte_pool_prioritize.d" "txe_byte_release.d" "txe_event_flags_create.d" "txe_event_flags_delete.d" "txe_event_flags_get.d" "txe_event_flags_info_get.d" "txe_event_flags_set.d" "txe_event_flags_set_notify.d" "txe_mutex_create.d" "txe_mutex_delete.d" "txe_mutex_get.d" "txe_mutex_info_get.d" "txe_mutex_prioritize.d" "txe_mutex_put.d" "txe_queue_create.d" "txe_queue_delete.d" "txe_queue_flush.d" "txe_queue_front_send.d" "txe_queue_info_get.d"
|
||||
-$(RM) "txe_queue_prioritize.d" "txe_queue_receive.d" "txe_queue_send.d" "txe_queue_send_notify.d" "txe_semaphore_ceiling_put.d" "txe_semaphore_create.d" "txe_semaphore_delete.d" "txe_semaphore_get.d" "txe_semaphore_info_get.d" "txe_semaphore_prioritize.d" "txe_semaphore_put.d" "txe_semaphore_put_notify.d" "txe_thread_create.d" "txe_thread_delete.d" "txe_thread_entry_exit_notify.d" "txe_thread_info_get.d" "txe_thread_preemption_change.d" "txe_thread_priority_change.d" "txe_thread_relinquish.d" "txe_thread_reset.d" "txe_thread_resume.d" "txe_thread_suspend.d" "txe_thread_terminate.d" "txe_thread_time_slice_change.d" "txe_thread_wait_abort.d" "txe_timer_activate.d" "txe_timer_change.d" "txe_timer_create.d" "txe_timer_deactivate.d" "txe_timer_delete.d" "txe_timer_info_get.d"
|
||||
-$(RM) "tx_thread_context_restore.d" "tx_thread_context_save.d" "tx_thread_interrupt_control.d" "tx_thread_schedule.d" "tx_thread_stack_build.d" "tx_thread_system_return.d" "tx_timer_interrupt.d"
|
||||
-@echo 'Finished clean'
|
||||
-@echo ' '
|
||||
|
||||
.PHONY: all clean dependents
|
||||
.SECONDARY:
|
||||
|
||||
-include ../makefile.targets
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h C667x/TI */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -237,7 +240,7 @@ typedef unsigned short USHORT;
|
||||
is used to define a local function save area for the disable and restore
|
||||
macros. */
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#ifdef TX_SKIP_INTRINSICS
|
||||
unsigned int _tx_thread_interrupt_control(unsigned int);
|
||||
@@ -264,7 +267,7 @@ unsigned int _tx_thread_interrupt_control(unsigned int);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX C667x/TI Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX C667x/TI Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -238,6 +238,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for TMS320C667x using TI Code Composer tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A15/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -332,6 +332,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A15 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A15/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -503,6 +503,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A15 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A15/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -336,9 +339,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -382,7 +385,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A15/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for Cortex-A15 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A35/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -311,7 +314,7 @@ unsigned long long temp;
|
||||
}
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#define TX_DISABLE interrupt_save = __disable_interrupts();
|
||||
#define TX_RESTORE __restore_interrupts(interrupt_save);
|
||||
|
||||
@@ -321,7 +324,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -354,7 +357,7 @@ VOID tx_thread_fp_disable(VOID);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A35/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A35/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -243,6 +243,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A35 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A35/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -311,7 +314,7 @@ unsigned long long temp;
|
||||
}
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#define TX_DISABLE interrupt_save = __disable_interrupts();
|
||||
#define TX_RESTORE __restore_interrupts(interrupt_save);
|
||||
|
||||
@@ -321,7 +324,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -354,7 +357,7 @@ VOID tx_thread_fp_disable(VOID);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A35/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A35/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -243,6 +243,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A35 using GCC tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A5/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -265,7 +268,7 @@ typedef unsigned short USHORT;
|
||||
|
||||
#ifndef __thumb
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -296,7 +299,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -324,7 +327,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -535,6 +535,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A5 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A5/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -503,6 +503,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A5 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A5/Green Hills */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -299,7 +302,7 @@ typedef unsigned short USHORT;
|
||||
unsigned int _tx_thread_interrupt_disable(void);
|
||||
void _tx_thread_interrupt_restore(unsigned int new_posture);
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
|
||||
@@ -307,7 +310,7 @@ void _tx_thread_interrupt_restore(unsigned int new_po
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#if defined(__GHS_VERSION_NUMBER) && (__GHS_VERSION_NUMBER >= 350)
|
||||
|
||||
@@ -392,7 +395,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/Green Hills Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/Green Hills Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -517,6 +517,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
05/19/2020 Initial ThreadX version of Cortex-A5/Green Hills port.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A5/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -335,9 +338,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
#define TX_DISABLE interrupt_save = __get_CPSR(); \
|
||||
@@ -380,7 +383,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for Cortex-A5 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A5x/ARM */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -311,7 +314,7 @@ unsigned long long temp;
|
||||
}
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#define TX_DISABLE interrupt_save = __disable_interrupts();
|
||||
#define TX_RESTORE __restore_interrupts(interrupt_save);
|
||||
|
||||
@@ -321,7 +324,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -354,7 +357,7 @@ VOID tx_thread_fp_disable(VOID);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5x/ARM Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A5x/ARM Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -245,6 +245,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A5x using ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A7/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -265,7 +268,7 @@ typedef unsigned short USHORT;
|
||||
|
||||
#ifndef __thumb
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -296,7 +299,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -324,7 +327,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A7 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A7/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -332,6 +332,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A7 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A7/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -503,6 +503,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A7 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A7/Green Hills */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -299,7 +302,7 @@ typedef unsigned short USHORT;
|
||||
unsigned int _tx_thread_interrupt_disable(void);
|
||||
void _tx_thread_interrupt_restore(unsigned int new_posture);
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
|
||||
@@ -307,7 +310,7 @@ void _tx_thread_interrupt_restore(unsigned int new_po
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#if defined(__GHS_VERSION_NUMBER) && (__GHS_VERSION_NUMBER >= 350)
|
||||
|
||||
@@ -392,7 +395,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/Green Hills Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/Green Hills Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -517,6 +517,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
05/19/2020 Initial ThreadX version of Cortex-A7/Green Hills port.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A7/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -335,9 +338,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
#define TX_DISABLE interrupt_save = __get_CPSR(); \
|
||||
@@ -380,7 +383,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A7/IAR Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for Cortex-A7 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A8/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -265,7 +268,7 @@ typedef unsigned short USHORT;
|
||||
|
||||
#ifndef __thumb
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -296,7 +299,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -324,7 +327,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -537,6 +537,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A8 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A8/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -329,6 +329,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A8 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A8/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -503,6 +503,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A8 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A8/Green Hills */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -299,7 +302,7 @@ typedef unsigned short USHORT;
|
||||
unsigned int _tx_thread_interrupt_disable(void);
|
||||
void _tx_thread_interrupt_restore(unsigned int new_posture);
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
|
||||
@@ -307,7 +310,7 @@ void _tx_thread_interrupt_restore(unsigned int new_po
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#if defined(__GHS_VERSION_NUMBER) && (__GHS_VERSION_NUMBER >= 350)
|
||||
|
||||
@@ -392,7 +395,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/Green Hills Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/Green Hills Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -518,6 +518,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
05/19/2020 Initial ThreadX version of Cortex-A8/Green Hills port.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A8/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -335,9 +338,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -381,7 +384,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A8/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for Cortex-A8 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A9/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -265,7 +268,7 @@ typedef unsigned short USHORT;
|
||||
|
||||
#ifndef __thumb
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register unsigned int interrupt_save_disabled;
|
||||
#define TX_INTERRUPT_SAVE_AREA register UINT interrupt_save_disabled;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
|
||||
@@ -296,7 +299,7 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
@@ -324,7 +327,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -535,6 +535,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A9 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A9/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -332,6 +332,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A9 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A9/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -272,14 +275,14 @@ unsigned int _tx_thread_interrupt_disable(void);
|
||||
unsigned int _tx_thread_interrupt_restore(UINT old_posture);
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
#define TX_RESTORE _tx_thread_interrupt_restore(interrupt_save);
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save, tx_temp;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save, tx_temp;
|
||||
|
||||
#ifdef TX_ENABLE_FIQ_SUPPORT
|
||||
#define TX_DISABLE asm volatile (" MRS %0,CPSR; CPSID if ": "=r" (interrupt_save) );
|
||||
@@ -313,7 +316,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -503,6 +503,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-A9 using GNU tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A9/Green Hills */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -299,7 +302,7 @@ typedef unsigned short USHORT;
|
||||
unsigned int _tx_thread_interrupt_disable(void);
|
||||
void _tx_thread_interrupt_restore(unsigned int new_posture);
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_disable();
|
||||
|
||||
@@ -307,7 +310,7 @@ void _tx_thread_interrupt_restore(unsigned int new_po
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA register int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA register INT interrupt_save;
|
||||
|
||||
#if defined(__GHS_VERSION_NUMBER) && (__GHS_VERSION_NUMBER >= 350)
|
||||
|
||||
@@ -392,7 +395,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/Green Hills Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/Green Hills Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -517,6 +517,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
05/19/2020 Initial ThreadX version of Cortex-A9/Green Hills port.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-A9/IAR */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -336,9 +339,9 @@ __intrinsic void __set_CPSR( unsigned long );
|
||||
|
||||
|
||||
#if (__VER__ < 8002000)
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned long interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA ULONG interrupt_save;
|
||||
#else
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -382,7 +385,7 @@ void tx_thread_vfp_disable(void);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/IAR Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-A9/IAR Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -534,6 +534,9 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
09-30-2020 Initial ThreadX version 6.1 for Cortex-A9 using IAR's ARM tools.
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-M0/AC5 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -288,7 +291,7 @@ VOID _tx_thread_interrupt_restore(UIN
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int was_masked;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT was_masked;
|
||||
#define TX_DISABLE was_masked = __disable_irq();
|
||||
#define TX_RESTORE if (was_masked == 0) __enable_irq();
|
||||
|
||||
@@ -318,7 +321,7 @@ unsigned int was_masked;
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/AC5 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/AC5 Version 6.1.6 *";
|
||||
#else
|
||||
#ifdef TX_MISRA_ENABLE
|
||||
extern CHAR _tx_version_id[100];
|
||||
|
||||
@@ -133,6 +133,13 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
tx_thread_schedule.s Fix compilation error
|
||||
|
||||
03-02-2021 The following files were changed/added for version 6.1.5:
|
||||
tx_thread_schedule.s Added low power feature
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-M0 using AC5 tools.
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
IMPORT _tx_execution_thread_enter
|
||||
IMPORT _tx_execution_thread_exit
|
||||
ENDIF
|
||||
IF :DEF:TX_LOW_POWER
|
||||
IMPORT tx_low_power_enter
|
||||
IMPORT tx_low_power_exit
|
||||
ENDIF
|
||||
;
|
||||
;
|
||||
AREA ||.text||, CODE, READONLY
|
||||
@@ -39,7 +43,7 @@
|
||||
;/* FUNCTION RELEASE */
|
||||
;/* */
|
||||
;/* _tx_thread_schedule Cortex-M0/AC5 */
|
||||
;/* 6.1 */
|
||||
;/* 6.1.5 */
|
||||
;/* AUTHOR */
|
||||
;/* */
|
||||
;/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -73,6 +77,9 @@
|
||||
;/* DATE NAME DESCRIPTION */
|
||||
;/* */
|
||||
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
;/* 03-02-2021 Scott Larson Modified comment(s), add */
|
||||
;/* low power code, */
|
||||
;/* resulting in version 6.1.5 */
|
||||
;/* */
|
||||
;/**************************************************************************/
|
||||
;VOID _tx_thread_schedule(VOID)
|
||||
@@ -240,11 +247,23 @@ __tx_ts_wait
|
||||
STR r1, [r0] ; Store it in the current pointer
|
||||
CMP r1, #0 ; If non-NULL, a new thread is ready!
|
||||
BNE __tx_ts_ready ;
|
||||
IF :DEF:TX_LOW_POWER
|
||||
PUSH {r0-r3}
|
||||
BL tx_low_power_enter ; Possibly enter low power mode
|
||||
POP {r0-r3}
|
||||
ENDIF
|
||||
|
||||
IF :DEF:TX_ENABLE_WFI
|
||||
DSB ; Ensure no outstanding memory transactions
|
||||
WFI ; Wait for interrupt
|
||||
ISB ; Ensure pipeline is flushed
|
||||
ENDIF
|
||||
|
||||
IF :DEF:TX_LOW_POWER
|
||||
PUSH {r0-r3}
|
||||
BL tx_low_power_exit ; Exit low power mode
|
||||
POP {r0-r3}
|
||||
ENDIF
|
||||
__tx_ts_ISB
|
||||
CPSIE i ; Enable interrupts
|
||||
B __tx_ts_wait ; Loop to continue waiting
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-M0/AC6 */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -48,6 +48,9 @@
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -335,7 +338,7 @@ unsigned int interrupt_save;
|
||||
}
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = __disable_interrupts();
|
||||
#define TX_RESTORE __restore_interrupts(interrupt_save);
|
||||
@@ -348,7 +351,7 @@ unsigned int interrupt_save;
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_control(TX_INT_DISABLE);
|
||||
#define TX_RESTORE _tx_thread_interrupt_control(interrupt_save);
|
||||
@@ -359,7 +362,7 @@ unsigned int interrupt_save;
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/AC6 Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/AC6 Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -148,6 +148,12 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
03-02-2021 The following files were changed/added for version 6.1.5:
|
||||
tx_thread_schedule.s Added low power feature
|
||||
|
||||
09-30-2020 Initial ThreadX 6.1 version for Cortex-M0 using AC6 tools.
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +25,10 @@
|
||||
.global _tx_thread_execute_ptr
|
||||
.global _tx_timer_time_slice
|
||||
.global _tx_thread_system_stack_ptr
|
||||
#ifdef TX_LOW_POWER
|
||||
.global tx_low_power_enter
|
||||
.global tx_low_power_exit
|
||||
#endif
|
||||
@
|
||||
@
|
||||
.text
|
||||
@@ -35,7 +39,7 @@
|
||||
@/* FUNCTION RELEASE */
|
||||
@/* */
|
||||
@/* _tx_thread_schedule Cortex-M0/AC6 */
|
||||
@/* 6.1 */
|
||||
@/* 6.1.5 */
|
||||
@/* AUTHOR */
|
||||
@/* */
|
||||
@/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -69,6 +73,9 @@
|
||||
@/* DATE NAME DESCRIPTION */
|
||||
@/* */
|
||||
@/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
@/* 03-02-2021 Scott Larson Modified comment(s), add */
|
||||
@/* low power code, */
|
||||
@/* resulting in version 6.1.5 */
|
||||
@/* */
|
||||
@/**************************************************************************/
|
||||
@VOID _tx_thread_schedule(VOID)
|
||||
@@ -244,11 +251,25 @@ __tx_ts_wait:
|
||||
STR r1, [r0] @ Store it in the current pointer
|
||||
CMP r1, #0 @ If non-NULL, a new thread is ready!
|
||||
BNE __tx_ts_ready @
|
||||
|
||||
#ifdef TX_LOW_POWER
|
||||
PUSH {r0-r3}
|
||||
BL tx_low_power_enter @ Possibly enter low power mode
|
||||
POP {r0-r3}
|
||||
#endif
|
||||
|
||||
#ifdef TX_ENABLE_WFI
|
||||
DSB @ Ensure no outstanding memory transactions
|
||||
WFI @ Wait for interrupt
|
||||
ISB @ Ensure pipeline is flushed
|
||||
#endif
|
||||
|
||||
#ifdef TX_LOW_POWER
|
||||
PUSH {r0-r3}
|
||||
BL tx_low_power_exit @ Exit low power mode
|
||||
POP {r0-r3}
|
||||
#endif
|
||||
|
||||
CPSIE i @ Enable interrupts
|
||||
B __tx_ts_wait @ Loop to continue waiting
|
||||
@
|
||||
|
||||
0
ports/cortex_m0/gnu/CMakeLists.txt
Normal file → Executable file
0
ports/cortex_m0/gnu/CMakeLists.txt
Normal file → Executable file
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Cortex-M0/GNU */
|
||||
/* 6.1 */
|
||||
/* 6.1.6 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -50,6 +50,9 @@
|
||||
/* 05-19-2020 William E. Lamie Initial Version 6.0 */
|
||||
/* 09-30-2020 William E. Lamie Modified comment(s), */
|
||||
/* resulting in version 6.1 */
|
||||
/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
|
||||
/* macro definition, */
|
||||
/* resulting in version 6.1.6 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -337,7 +340,7 @@ unsigned int interrupt_save;
|
||||
}
|
||||
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = __disable_interrupts();
|
||||
#define TX_RESTORE __restore_interrupts(interrupt_save);
|
||||
@@ -350,7 +353,7 @@ unsigned int interrupt_save;
|
||||
|
||||
#else
|
||||
|
||||
#define TX_INTERRUPT_SAVE_AREA unsigned int interrupt_save;
|
||||
#define TX_INTERRUPT_SAVE_AREA UINT interrupt_save;
|
||||
|
||||
#define TX_DISABLE interrupt_save = _tx_thread_interrupt_control(TX_INT_DISABLE);
|
||||
#define TX_RESTORE _tx_thread_interrupt_control(interrupt_save);
|
||||
@@ -361,7 +364,7 @@ unsigned int interrupt_save;
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/GNU Version 6.1 *";
|
||||
"Copyright (c) Microsoft Corporation. All rights reserved. * ThreadX Cortex-M0/GNU Version 6.1.6 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -145,6 +145,12 @@ 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:
|
||||
|
||||
04-02-2021 Release 6.1.6 changes:
|
||||
tx_port.h Updated macro definition
|
||||
|
||||
03-02-2021 The following files were changed/added for version 6.1.5:
|
||||
tx_thread_schedule.s Added low power feature
|
||||
|
||||
09-30-2020 ThreadX update of Cortex-M0/GNU port. The following files were
|
||||
changed/added for port specific version 6.1:
|
||||
|
||||
|
||||
0
ports/cortex_m0/gnu/src/tx_thread_context_restore.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_restore.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_save.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_context_save.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_control.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S
Executable file → Normal file
0
ports/cortex_m0/gnu/src/tx_thread_interrupt_disable.S
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user