1                                            ThreadX
2
3For version 6 and higher, please refer to the release notes on GitHub at https://github.com/eclipse-threadx/threadx/releases.
4Below is the revision history for 5.x.
5
61. ThreadX:
7
802-01-2019  ThreadX generic code version 5.9. This release includes the following modifications:
9
10            tx_api.h                                        Changed minor version constant, and added
11                                                            a macro to disable warning of parameter
12                                                            not used.
13            tx_event_flags_cleanup.c                        Added reset of suspension list processing
14                                                            when event flag set is interrupted.
15            tx_event_flags_set.c                            Moved setup of notify callback so that it
16                                                            is under interrupt protection and before any
17                                                            preemption, and changed increment of reset
18                                                            search flag to a simple set to true.
19            tx_event_flags_set_notify.c                     Removed the warning of parameter not used.
20            tx_mutex_get.c                                  Changed logic to update the priority inheritance
21                                                            priority level.
22            tx_mutex_priority_change.c                      Removed update of the priority inheritance
23                                                            priority level.
24            tx_mutex_put.c                                  Changed logic to properly update the priority
25                                                            inheritance priority level.
26            tx_queue_send_notify.c                          Removed the warning of parameter not used.
27            tx_semaphore_put_notify.c                       Removed the warning of parameter not used.
28            tx_thread_entry_exit_notify.c                   Removed the warning of parameter not used.
29            tx_thread_suspend.c                             Refined error checking for self suspension to
30                                                            ensure thread context. Modified to use system
31                                                            state macro instead of direct variable access.
32
33
3406-01-2017  ThreadX generic code version 5.8. This release includes the following
35            modifications:
36
37            tx_api.h                                        Changed minor version constant, added
38                                                            suspension sequence to verify cleanup
39                                                            is still necessary, made MISRA compatibility
40                                                            changes, added alignment type for memory pools,
41                                                            corrected compiler warnings in macro definitions,
42                                                            added support for optional extensions.
43            tx_block_pool.h                                 Added suspension sequence to verify cleanup
44                                                            is still necessary, made MISRA compatibility
45                                                            changes, and added macro for extending block
46                                                            pool delete.
47            tx_byte_pool.h                                  Added suspension sequence to verify cleanup
48                                                            is still necessary, made MISRA compatibility
49                                                            changes, added conditionals around the byte
50                                                            pool configuration defines, and added macro
51                                                            for extending the byte pool delete.
52            tx_event_flags.h                                Added suspension sequence to verify cleanup
53                                                            is still necessary, made MISRA compatibility
54                                                            changes, and added macro for extending event
55                                                            flag group delete.
56            tx_initialize.h                                 Made MISRA compatibility changes.
57            tx_mutex.h                                      Added suspension sequence to verify cleanup is
58                                                            still necessary, made MISRA compatibility
59                                                            changes, and added macro for extending mutex
60                                                            delete.
61            tx_queue.h                                      Added suspension sequence to verify cleanup is
62                                                            still necessary, made MISRA compatibility changes,
63                                                            and added macro for extending queue delete.
64            tx_semaphore.h                                  Added suspension sequence to verify cleanup
65                                                            is still necessary, made MISRA compatibility
66                                                            changes, and added macros for extending semaphore
67                                                            delete.
68            tx_thread.h                                     Made MISRA compatibility changes, added
69                                                            default macro definition for setting
70                                                            up timeout, added default macro definition for
71                                                            setting up thread timeout pointer, and added
72                                                            macros for extending the thread create, delete,
73                                                            and reset processing.
74            tx_timer.h                                      Made MISRA compatibility changes, added
75                                                            macro for extending timer delete, and
76                                                            added the global variable _tx_timer_expired_ptr
77                                                            which is needed by timer info get.
78            tx_trace.h                                      Made MISRA compatibility changes, and utilized
79                                                            macros for system state and current thread
80                                                            pointer retrieval.
81            tx_user.h                                       Modified comment(s).
82            tx_block_allocate.c                             Added suspension sequence to verify cleanup is still
83                                                            necessary, added protection against self suspension
84                                                            with the preempt-disable flag set, changed logic to
85                                                            set return pointer to NULL when no memory is available,
86                                                            and modified code for MISRA compliance.
87            tx_block_pool_cleanup.c                         Added suspension sequence to verify cleanup is
88                                                            still necessary, and modified code for MISRA
89                                                            compliance.
90            tx_block_pool_create.c                          Modified code for MISRA compliance, added
91                                                            use of alignment type for creating the block
92                                                            pool, and modified code to properly handle case
93                                                            where the supplied memory is too small for one block.
94            tx_block_pool_delete.c                          Added macro for port specific post processing.
95            tx_block_release.c                              Modified code for MISRA compliance.
96            tx_byte_allocate.c                              Added suspension sequence to verify cleanup is still
97                                                            necessary, added protection against self suspension
98                                                            with the preempt-disable flag set, added processing
99                                                            extension, changed logic to set return pointer to NULL
100                                                            when no memory is available, and added use of alignment
101                                                            type for allocating from byte pool.
102            tx_byte_pool_cleanup.c                          Added suspension sequence to verify cleanup is still
103                                                            necessary, and modified code for MISRA compliance.
104            tx_byte_pool_create.c                           Modified code for MISRA compliance, and added
105                                                            use of alignment type for creating byte pool.
106            tx_byte_pool_delete.c                           Added macro for port specific post processing.
107            tx_byte_pool_search.c                           Modified code for MISRA compliance, added
108                                                            use of alignment type for searching byte pool,
109                                                            and modified logic to ensure the integrity of the
110                                                            search pointer.
111            tx_byte_release.c                               Added processing extension, modified code for MISRA
112                                                            compliance, and added use of alignment type for
113                                                            releasing memory to byte pool.
114            tx_event_flags_cleanup.c                        Added suspension sequence to verify cleanup is still
115                                                            necessary, and modified code for MISRA compliance.
116            tx_event_flags_delete.c                         Added macro for port specific post processing.
117            tx_event_flags_get.c                            Added suspension sequence to verify cleanup is still
118                                                            necessary, and added protection against self
119                                                            suspension with the preempt-disable flag set.
120            tx_event_flags_set.c                            Removed unnecessary code, and modified code
121                                                            for MISRA compliance.
122            tx_initialize_kernel_enter.c                    Added processing extension, and modified code
123                                                            for MISRA compliance.
124            tx_mutex_cleanup.c                              Added suspension sequence to verify cleanup is
125                                                            still necessary, and modified code for MISRA
126                                                            compliance.
127            tx_mutex_delete.c                               Added macro for port specific post processing.
128            tx_mutex_get.c                                  Added suspension sequence to verify cleanup is still
129                                                            necessary, and added protection against self
130                                                            suspension with the preempt-disable flag set.
131            tx_mutex_prioritize.c                           Modified code for MISRA compliance.
132            tx_mutex_priority_change.c                      Added processing extension.
133            tx_mutex_put.c                                  Removed unnecessary code, and added processing
134                                                            extension.
135            tx_queue_cleanup.c                              Added suspension sequence to verify cleanup is
136                                                            still necessary, and modified code for MISRA
137                                                            compliance.
138            tx_queue_create.c                               Modified code for MISRA compliance.
139            tx_queue_delete.c                               Added macro for port specific post processing.
140            tx_queue_front_send.c                           Added suspension sequence to verify cleanup is
141                                                            still necessary, added protection against self
142                                                            suspension with the preempt-disable flag set,
143                                                            and modified code for MISRA compliance.
144            tx_queue_receive.c                              Added suspension sequence to verify cleanup is
145                                                            still necessary, added protection against self
146                                                            suspension with the preempt-disable flag set,
147                                                            and modified code for MISRA compliance.
148            tx_queue_send.c                                 Added suspension sequence to verify cleanup is
149                                                            still necessary, added protection against self
150                                                            suspension with the preempt-disable flag set,
151                                                            and modified code for MISRA compliance.
152            tx_semaphore_cleanup.c                          Added suspension sequence to verify cleanup is
153                                                            still necessary, and modified code for MISRA
154                                                            compliance.
155            tx_semaphore_delete.c                           Added macro for port specific post processing.
156            tx_semaphore_get.c                              Added suspension sequence to verify cleanup is
157                                                            still necessary, and added protection against
158                                                            self suspension with the preempt-disable flag set.
159            tx_thread_create.c                              Modified code for MISRA compliance, added
160                                                            optional internal thread extension macro,
161                                                            added macro for setting up the thread timeout, and
162                                                            corrected problem restoring preemption-threshold
163                                                            during initialization.
164            tx_thread_delete.c                              Added macro for port specific post processing.
165            tx_thread_initialize.c                          Modified code for MISRA compliance.
166            tx_thread_reset.c                               Removed extraneous TX_RESTORE, and added macro for
167                                                            port specific processing.
168            tx_thread_resume.c                              Corrected problem restoring preemption-threshold
169                                                            during initialization.
170            tx_thread_sleep.c                               Added protection against self suspension with the
171                                                            preempt-disable flag set.
172            tx_thread_stack_analyze.c                       Added processing extension, and modified code for
173                                                            MISRA compliance.
174            tx_thread_suspend.c                             Added protection against self suspension with the
175                                                            preempt-disable flag set, and added TX_DISABLE to
176                                                            match TX_RESTORE before returning.
177            tx_thread_system_resume.c                       Changed logic to ensure deactivation is called with
178                                                            interrupt protection.
179            tx_thread_system_suspend.c                      Ensured that time-slice is properly reset in
180                                                            non-interruptible code path, changed logic to perform
181                                                            activation with protection in force, and corrected
182                                                            problem setting up the trace information 4 field.
183            tx_thread_terminate.c                           Added suspension sequence to verify cleanup is still
184                                                            necessary, changed logic to ensure no mutexes are added
185                                                            to this thread after the check for owned mutexes, and
186                                                            changed logic to ensure deactivation is called with
187                                                            interrupt protection.
188            tx_thread_timeout.c                             Added suspension sequence to verify cleanup is still
189                                                            necessary, and added macro for setting up the thread
190                                                            pointer.
191            tx_thread_wait_abort.c                          Added suspension sequence to verify cleanup is still
192                                                            necessary.
193            tx_timer_activate.c                             Changed logic to perform activation with protection
194                                                            in force.
195            tx_timer_create.c                               Kept protection over timer activation.
196            tx_timer_deactivate.c                           Modified code for MISRA compliance, added
197                                                            logic for accurate remaining time calculation.
198            tx_timer_delete.c                               Added macro for port specific post processing, and
199                                                            changed logic to ensure deactivation is called with
200                                                            interrupt protection.
201            tx_timer_expiration_process.c                   Modified code for MISRA compliance, ensure timer is
202                                                            not accessed after timeout unless
203                                                            reactivation is necessary, set pointer to indicate
204                                                            timer being processed, and perform reactivation with
205                                                            protection.
206            tx_timer_info_get.c                             Added logic for accurate remaining time calculation.
207            tx_timer_initialize.c                           Modified code for MISRA compliance, added
208                                                            initialization for timer expired pointer, and
209                                                            added check for TX_NO_TIMER option.
210            tx_timer_system_activate.c                      Modified code for MISRA compliance, removed
211                                                            protection logic since protection is now
212                                                            required by the caller.
213            tx_timer_system_deactivate.c                    Removed protection logic since protection is now
214                                                            required by the caller.
215            tx_timer_thread_entry.c                         Modified code for MISRA compliance, ensure timer
216                                                            is not accessed after timeout unless
217                                                            reactivation is necessary, set pointer to indicate
218                                                            timer being processed, and perform reactivation with
219                                                            protection.
220            tx_trace_enable.c                               Added initial running events to ensure buffer is not
221                                                            empty for TraceX, and modified code for MISRA
222                                                            compliance.
223            tx_trace_object_register.c                      Modified code for MISRA compliance.
224            tx_trace_object_unregister.c                    Modified code for MISRA compliance.
225            txe_block_release.c                             Modified code for MISRA compliance.
226            txe_thread_create.c                             Modified code for MISRA compliance.
227
228
22905-01-2015  ThreadX generic code version 5.7. This release includes the following
230            modifications:
231
232            tx_api.h                                        Modified code for MISRA compliance,
233                                                            modified minor version define, added
234                                                            thread start macro for performing port
235                                                            and/or user specified processing when
236                                                            a thread starts, and added constant
237                                                            TX_TIMER_TICKS_PER_SECOND for use by
238                                                            other middleware components as a common
239                                                            time reference.
240            tx_byte_pool_search.c                           Modified code for MISRA compliance,
241                                                            added code to assert pool ownership
242                                                            after protection is obtained to ensure
243                                                            no changes to the pool or the pool
244                                                            search pointer are made without ownership.
245            tx_byte_release.c                               Modified code for MISRA compliance,
246                                                            added code to assert pool ownership
247                                                            after protection is obtained to ensure
248                                                            no changes to the pool or the pool
249                                                            search pointer are made without ownership.
250            tx_mutex_cleanup.c                              Modified code for MISRA compliance, and
251                                                            modified logic to use the thread's owned
252                                                            mutex list for releasing mutexes.
253            tx_mutex_delete.c                               Modified code for MISRA compliance,
254                                                            and modified logic to call _tx_mutex_put
255                                                            if the mutex is owned.
256            tx_mutex_get.c                                  Modified code for MISRA compliance,
257                                                            and added logic to place non-priority
258                                                            inheritance mutexes on the owned list.
259            tx_mutex_put.c                                  Modified code for MISRA compliance,
260                                                            modified logic to remove non-priority
261                                                            inheritance mutex from owned mutex list,
262                                                            and added logic to handle releasing a mutex
263                                                            during initialization.
264            tx_thread_shell_entry.c                         Added thread start macro for performing port
265                                                            and/or user specified processing when a
266                                                            thread starts.
267            tx*.h                                           Modified comment(s) and modified code for
268                                                            MISRA compliance.
269            tx*.c                                           Modified comment(s) and modified code for
270                                                            MISRA compliance.
271
272
27311-01-2012  ThreadX generic code version 5.6. This release includes the following
274            modifications:
275
276            tx_api.h                                        Modified minor version define.
277            tx_mutex.h                                      Added new prototype.
278            tx_thread.h                                     Added function pointer for releasing any owned mutexes
279                                                            when thread completes or is terminated.
280            tx_timer.h                                      Removed unused constants.
281            tx_trace.h                                      Added conditional around Trace function prototypes.
282            tx_mutex_cleanup.c                              Added new internal function to release any mutexes
283                                                            owned by a terminated or completed thread.
284            tx_mutex_create.c                               Setup thread mutex release function pointer.
285            tx_mutex_priority_change.c                      Removed unnecessary code, and added logic to place thread
286                                                            at the front of the execution list at updated priority.
287            tx_mutex_put.c                                  Added logic to allow mutex put to be called from another
288                                                            thread for mutex cleanup, and adjusted priority restoration
289                                                            search to start at user priority.
290            tx_thread_initialize.c                          Added initialization of thread mutex release function
291                                                            pointer.
292            tx_thread_priority_change.c                     Added logic to place thread at the front of the execution list
293                                                            at updated priority.
294            tx_thread_shell_entry.c                         Added logic to remove all mutexes owned by thread when it
295                                                            completes.
296            tx_thread_terminate.c                           Added logic to remove all mutexes owned by thread when it is
297                                                            terminated.
298            tx_timer_expiration_process.c                   Corrected problem with nested timer interrupts.
299            txe_mutex_get.c                                 Allow timers to call this service.
300            txe_mutex_put.c                                 Allow timers to call this service.
301            tx*.c                                           Changed comments and copyright header.
302            tx*.h                                           Changed comments and copyright header.
303
304
30507-15-2011  ThreadX generic code version 5.5. This release includes the following
306            modifications:
307
308            tx_api.h                                        Added defines for major/minor version information,
309                                                            and removed unused original threshold mutex structure
310                                                            member.
311            tx_mutex.h                                      Removed unnecessary parameter in in mutex priority change.
312            tx_thread.h                                     Added interrupt protection to stack checking macro.
313            tx_trace.h                                      Added variables for object registry optimizations.
314            tx_mutex_get.c                                  Removed saving original threshold, and removed unnecessary
315                                                            parameter to mutex priority change.
316            tx_mutex_priority_change.c                      Removed unused new threshold parameter, and added logic
317                                                            to handle a lower or equal priority thread from
318                                                            preempting an executing thread changing priority.
319            tx_mutex_put.c                                  Removed saving original threshold, removed unnecessary
320                                                            parameter to mutex priority change, and added logic to
321                                                            check for necessary priority changes.
322            tx_thread_create.c                              Corrected problem with TX_THREAD_CREATE_EXTENSION
323                                                            macro not being used if the thread is not auto started.
324            tx_thread_initialize.c                          Added bit for indicating execution profiling enabled
325                                                            in _tx_build_options.
326            tx_thread_priority_change.c                     Added logic to handle a lower or equal priority thread
327                                                            from preempting an executing thread changing priority.
328            tx_thread_reset.c                               Changed memset to TX_MEMSET so it can be redefined.
329            tx_thread_stack_analyze.c                       Added logic to check for thread validity before
330                                                            updating highest stack pointer.
331            tx_thread_system_preempt_check.c                Removed redundant conditional in stack checking.
332            tx_thread_system_resume.c                       Corrected problem with delayed suspension from an
333                                                            interrupt during the middle of a thread suspending.
334            tx_thread_time_slice.c                          Removed redundant conditional in stack checking, and
335                                                            moved stack checking to be called with interrupts enabled.
336            tx_trace_enable.c                               Added initialization for variables used for object
337            tx_trace_object_register.c                      Added optimization for adding registry entries.
338            tx_trace_object_unregister.c                    Added support for optimizing adding registry entries.
339                                                            registry optimizations.
340            tx*.c                                           Changed comments and copyright header.
341            tx*.h                                           Changed comments and copyright header.
342
343
34412-12-2009  ThreadX generic code version 5.4. This release includes the following
345            modifications:
346
347            tx_api.h                                        Changed the definition of TX_NULL to a pointer type,
348                                                            added TX_MEMSET macro, modified priority-inheritance
349                                                            struct members in TX_THREAD, changed user event
350                                                            comments, added callback for tracking thread scheduling,
351                                                            merged event logging and MULTI run-time error checking
352                                                            support, changed type of all internal structure members
353                                                            used for counting to UINT, and added safety critical
354                                                            exception logic.
355            tx_byte_pool.h                                  Removed unused constant TX_BYTE_BLOCK_ALLOC.
356            tx_thread.h                                     Removed type conversion in lowest set bit macro, added
357                                                            macro to get the system state, and removed redundant
358                                                            prototype.
359            tx_timer.h                                      Removed the unnecessary status return on system timer
360                                                            activate/deactivate.
361            tx_trace.h                                      Added defines for default source, and added logic to
362                                                            insert the thread's preemption-threshold along with its
363                                                            priority.
364            tx_block_allocate.c                             Removed compound conditionals, added explicit value checking,
365                                                            added logic to explicitly check for valid pointer, adjusted
366                                                            the trace enable conditional to include the trace insert
367                                                            macro, changed some counting variables to type UINT, merged
368                                                            event logging support, and added void pointer cast in pointer
369                                                            type conversions.
370            tx_block_pool_cleanup.c                         Removed compound conditionals, changed some counting
371                                                            variables to type UINT, and added logic to explicitly
372                                                            check for valid pointer.
373            tx_block_pool_create.c                          Added explicit compare of blocks, removed pointer comparison,
374                                                            changed memset to macro, eliminated created_count local
375                                                            variable, changed some counting variables to type UINT,
376                                                            merged event logging support, and added void pointer cast in
377                                                            pointer type conversions.
378            tx_block_pool_delete.c                          Merged event logging support, eliminated created_count local
379                                                            variable, and changed some counting variables to type UINT.
380            tx_block_pool_info_get.c                        Casted UINT counting values to ULONG where necessary, merged
381                                                            event logging support, and added logic to explicitly check
382                                                            for valid pointer.
383            tx_block_pool_performance_info_get.c            Removed compound conditionals, added logic to explicitly
384                                                            check for valid pointer, merged event logging support, and
385                                                            added code to ensure that input parameters are accessed in
386                                                            non-enabled case (default).
387            tx_block_pool_performance_system_info_get.c     Added logic to explicitly check for valid pointer, merged
388                                                            event logging support, and added code to ensure that input
389                                                            parameters are accessed in non-enabled case (default).
390            tx_block_pool_prioritize.c                      Merged event logging support, and changed some counting
391                                                            variables to type UINT.
392            tx_block_release.c                              Added logic to explicitly check for valid pointer, changed
393                                                            some counting variables to type UINT, merged event logging
394                                                            support, and added void pointer cast in pointer type
395                                                            conversions.
396            tx_byte_allocate.c                              Removed compound conditionals, added explicit value checking,
397                                                            explicit check for wait option, changed some counting
398                                                            variables to type UINT, merged event logging support, and
399                                                            added logic to explicitly check for valid pointer.
400            tx_byte_pool_cleanup.c                          Removed compound conditionals, changed some counting
401                                                            variables to type UINT, and added logic to explicitly check
402                                                            for valid pointer.
403            tx_byte_pool_create.c                           Removed unused constant TX_BYTE_BLOCK_ALLOC, added void
404                                                            pointer cast in pointer type conversions, changed memset to
405                                                            macro, eliminated created_count local variable, merged event
406                                                            logging support, and added parentheses in calculation of
407                                                            per-block overhead.
408            tx_byte_pool_delete.c                           Merged event logging support, eliminated created_count local
409                                                            variable, and changed some counting variables to type UINT.
410            tx_byte_pool_info_get.c                         Casted UINT counting values to ULONG where necessary,
411                                                            merged event logging support, and added logic to explicitly
412                                                            check for valid pointer.
413            tx_byte_pool_performance_info_get.c             Removed compound conditionals, added logic to explicitly
414                                                            check for valid pointer, merged event logging support, and
415                                                            added code to ensure that input parameters are accessed in
416                                                            non-enabled case (default).
417            tx_byte_pool_performance_system_info_get.c      Added logic to explicitly check for valid pointer, merged
418                                                            event logging support, and added code to ensure that input
419                                                            parameters are accessed in non-enabled case (default).
420            tx_byte_pool_prioritize.c                       Merged event logging support, and changed some counting
421                                                            variables to type UINT.
422            tx_byte_pool_search.c                           Added explicit checks for examined blocks and available
423                                                            bytes, added void pointer cast in pointer type conversions,
424                                                            changed some counting variables to type UINT, and added
425                                                            parentheses in calculation of available bytes.
426            tx_byte_release.c                               Added logic to explicitly check for valid pointer, added
427                                                            void pointer cast in pointer type conversions, changed
428                                                            some counting variables to type UINT, merged event logging
429                                                            support, and added parentheses in calculation of available
430                                                            bytes.
431            tx_event_flags_cleanup.c                        Removed compound conditionals, added explicit check for
432                                                            suspend count, changed some counting variables to type UINT,
433                                                            and added logic to explicitly check for valid pointer.
434            tx_event_flags_create.c                         Changed memset to macro, merged event logging support, and
435                                                            eliminated created_count local variable.
436            tx_event_flags_delete.c                         Merged event logging support, eliminated created_count local
437                                                            variable, and changed some counting variables to type UINT.
438            tx_event_flags_get.c                            Removed compound conditionals, changed some counting
439                                                            variables to type UINT, merged event logging support, and
440                                                            added explicit value checks.
441            tx_event_flags_info_get.c                       Casted UINT counting values to ULONG where necessary, merged
442                                                            event logging support, and added logic to explicitly check
443                                                            for valid pointer.
444            tx_event_flags_performance_info_get.c           Removed compound conditionals, added logic to explicitly
445                                                            check for valid pointer, merged event logging support, and
446                                                            added code to ensure that input parameters are accessed in
447                                                            non-enabled case (default).
448            tx_event_flags_performance_system_info_get.c    Added logic to explicitly check for valid pointer, merged
449                                                            event logging support, and added code to ensure that input
450                                                            parameters are accessed in non-enabled case (default).
451            tx_event_flags_set.c                            Removed compound conditionals, added explicit value checks,
452                                                            added logic to explicitly check for valid pointer, fixed
453                                                            logic in consuming events, changed some counting variables
454                                                            to type UINT, merged event logging support, and added check
455                                                            for a NULL last satisfied pointer.
456            tx_event_flags_set_notify.c                     Merged event logging support.
457            tx_initialize_high_level.c                      Merged event logging support.
458            tx_initialize_kernel_enter.c                    Added macro for defining safety critical exception handler
459                                                            if necessary, and added safety critical exception if the
460                                                            call to the _tx_thread_schedule function returns.
461            tx_mutex_cleanup.c                              Removed compound conditionals, changed some counting
462                                                            variables to type UINT, and added logic to explicitly
463                                                            check for valid pointer.
464            tx_mutex_create.c                               Changed memset to macro, merged event logging support, and
465                                                            eliminated created_count local variable.
466            tx_mutex_delete.c                               Removed compound conditionals, added explicit value checking,
467                                                            changed some counting variables to type UINT, merged event
468                                                            logging support, eliminated created_count local variable, and
469                                                            added logic to explicitly check for valid pointer.
470            tx_mutex_get.c                                  Removed compound conditionals, added explicit value checking,
471                                                            changed priority-inheritance logic to distinguish user
472                                                            priority changes from mutex priority-inheritance, changed
473                                                            some counting variables to type UINT, merged event logging
474                                                            support, and added logic to explicitly check for valid
475                                                            pointer.
476            tx_mutex_info_get.c                             Casted UINT counting values to ULONG where necessary, merged
477                                                            event logging support, and added logic to explicitly check for
478                                                            valid pointer.
479            tx_mutex_performance_info_get.c                 Removed compound conditionals, added logic to explicitly check
480                                                            for valid pointer, merged event logging support, and added
481                                                            code to ensure that input parameters are accessed in
482                                                            non-enabled case (default).
483            tx_mutex_performance_system_info_get.c          Added logic to explicitly check for valid pointer, merged
484                                                            event logging support, and added code to ensure that input
485                                                            parameters are accessed in non-enabled case (default).
486            tx_mutex_prioritize.c                           Merged event logging support, and changed some counting
487                                                            variables to type UINT.
488            tx_mutex_priority_change.c                      Changed priority-inheritance logic to distinguish user
489                                                            priority changes from mutex priority-inheritance.
490            tx_mutex_put.c                                  Removed compound conditionals, added explicit value checking,
491                                                            added logic to explicitly check for valid pointer, changed
492                                                            priority-inheritance logic to distinguish user priority
493                                                            changes from mutex priority-inheritance, changed some
494                                                            counting variables to type UINT, merged event logging support,
495                                                            and added return value check for calls to prioritize.
496            tx_queue_cleanup.c                              Removed compound conditionals, added explicit value checking,
497                                                            changed some counting variables to type UINT, and added logic
498                                                            to explicitly check for valid pointer.
499            tx_queue_create.c                               Changed memset to macro, casted ULONG counting values to UINT
500                                                            where necessary, merged event logging support, and eliminated
501                                                            created_count local variable.
502            tx_queue_delete.c                               Merged event logging support, eliminated created_count local
503                                                            variable, and changed some counting variables to type UINT.
504            tx_queue_flush.c                                Removed compound conditionals, added explicit value checking,
505                                                            changed some counting variables to type UINT, merged event
506                                                            logging support, and added logic to check for null thread
507                                                            pointer.
508            tx_queue_front_send.c                           Removed compound conditionals, added explicit value checking,
509                                                            added logic to explicitly check for valid pointer, changed
510                                                            some counting variables to type UINT, merged event logging
511                                                            support, and removed unnecessary casting.
512            tx_queue_info_get.c                             Merged event logging support, and casted UINT counting
513                                                            values to ULONG where necessary.
514            tx_queue_performance_info_get.c                 Removed compound conditionals, added logic to explicitly
515                                                            check for valid pointer, merged event logging support, and
516                                                            added code to ensure that input parameters are accessed in
517                                                            non-enabled case (default).
518            tx_queue_performance_system_info_get.c          Added logic to explicitly check for valid pointer, merged
519                                                            event logging support, and added code to ensure that input
520                                                            parameters are accessed in non-enabled case (default).
521            tx_queue_prioritize.c                           Merged event logging support, and changed some counting
522                                                            variables to type UINT.
523            tx_queue_receive.c                              Removed compound conditionals, added explicit value
524                                                            checking, added logic to explicitly check for valid pointer,
525                                                            added null check for thread pointer, changed pointer
526                                                            comparison to check for equal pointers, changed some
527                                                            counting variables to type UINT, merged event logging
528                                                            support, and removed unnecessary casting.
529            tx_queue_send.c                                 Removed compound conditionals, added explicit value
530                                                            checking, added logic to explicitly check for valid pointer,
531                                                            changed pointer comparison to check for equal pointers,
532                                                            changed some counting variables to type UINT, merged event
533                                                            logging support, and removed unnecessary casting.
534            tx_queue_send_notify.c                          Merged event logging support.
535            tx_semaphore_ceiling_put.c                      Changed some counting variables to type UINT, merged event
536                                                            logging support, and added logic to explicitly check for
537                                                            valid pointer.
538            tx_semaphore_cleanup.c                          Removed compound conditionals, changed some counting
539                                                            variables to type UINT, and added logic to explicitly check
540                                                            for valid pointer.
541            tx_semaphore_create.c                           Changed memset to macro, merged event logging support, and
542                                                            eliminated created_count local variable.
543            tx_semaphore_delete.c                           Merged event logging support, eliminated created_count
544                                                            local variable, and changed some counting variables to
545                                                            type UINT.
546            tx_semaphore_get.c                              Changed some counting variables to type UINT, merged event
547                                                            logging support, and added explicit value checking.
548            tx_semaphore_info_get.c                         Casted UINT counting values to ULONG where necessary, merged
549                                                            event logging support, and added logic to explicitly check
550                                                            for valid pointer.
551            tx_semaphore_performance_info_get.c             Removed compound conditionals, added logic to explicitly
552                                                            check for valid pointer, merged event logging support, and
553                                                            added code to ensure that input parameters are accessed in
554                                                            non-enabled case (default).
555            tx_semaphore_performance_system_info_get.c      Added logic to explicitly check for valid pointer, merged
556                                                            event logging support, and added code to ensure that input
557                                                            parameters are accessed in non-enabled case (default).
558            tx_semaphore_prioritize.c                       Merged event logging support, and changed some counting
559                                                            variables to type UINT.
560            tx_semaphore_put.c                              Changed some counting variables to type UINT, merged event
561                                                            logging support, and added logic to explicitly check for
562                                                            valid pointer.
563            tx_semaphore_put_notify.c                       Merged event logging support.
564            tx_thread_create.c                              Added explicit value checking, changed logic to use a macro
565                                                            to get the system state, added code to initialize
566                                                            priority-inheritance info, changed memset to macro,
567                                                            eliminated created_count local variable, merged event
568                                                            logging support, and added logic to explicitly check for
569                                                            valid pointer.
570            tx_thread_delete.c                              Merged event logging support, removed compound conditionals,
571                                                            and eliminated created_count local variable.
572            tx_thread_entry_exit_notify.c                   Merged event logging support.
573            tx_thread_identify.c                            Merged event logging support.
574            tx_thread_info_get.c                            Merged event logging support, added logic to return the
575                                                            user-specified priority and preemption-threshold, and added
576                                                            logic to explicitly check for valid pointer.
577            tx_thread_initialize.c                          Changed memset to macro, and added logic to omit the port
578                                                            specific build options if it is 0.
579            tx_thread_performance_info_get.c                Removed compound conditionals, added logic to explicitly
580                                                            check for valid pointer, merged event logging support, and
581                                                            added code to ensure that input parameters are accessed in
582                                                            non-enabled case (default).
583            tx_thread_performance_system_info_get.c         Added logic to explicitly check for valid pointer, merged
584                                                            event logging support, and added code to ensure that
585                                                            input parameters are accessed in non-enabled case (default).
586            tx_thread_preemption_change.c                   Changed logic to use a macro to get the system state,
587                                                            changed logic to ensure the highest preemption-threshold,
588                                                            merged event logging support, and  removed compound
589                                                            conditionals.
590            tx_thread_priority_change.c                     Changed priority logic to account for priority-inheritance,
591                                                            and merged event logging support.
592            tx_thread_relinquish.c                          Merged event logging support, and added logic to reset the
593                                                            time-slice.
594            tx_thread_reset.c                               Merged event logging support, and removed compound
595                                                            conditionals.
596            tx_thread_resume.c                              Removed compound conditionals, added logic to explicitly
597                                                            check for valid pointer, changed logic to use a macro to
598                                                            get the system state, merged event logging support, and
599                                                            adjusted logic to check for system state or preempt disable.
600            tx_thread_shell_entry.c                         Added logic to explicitly check for valid pointer, and
601                                                            safety critical exception if control returns after the
602                                                            thread enters the completed state.
603            tx_thread_sleep.c                               Removed compound conditionals, added explicit value
604                                                            checking, changed logic to use a macro to get the system
605                                                            state, merged event logging support, and added logic to
606                                                            explicitly check for valid pointer.
607            tx_thread_stack_analyze.c                       Removed compound conditionals, added logic to explicitly
608                                                            check for valid pointer, and added ULONG cast.
609            tx_thread_stack_error_handler.c                 Added logic to explicitly check for valid pointer, and
610                                                            added code to ensure that the input parameter is accessed
611                                                            in non-enabled case (default).
612            tx_thread_stack_error_notify.c                  Merged event logging support, and added code to ensure
613                                                            that the input parameter is accessed in non-enabled
614                                                            case (default).
615            tx_thread_suspend.c                             Removed compound conditionals, added explicit value
616                                                            checking, added logic to explicitly check for valid
617                                                            pointer, added logic to reset the time-slice, changed
618                                                            logic to use a macro to get the system state, merged event
619                                                            logging support, and adjusted logic to check for system
620                                                            state or preempt disable.
621            tx_thread_system_preempt_check.c                Removed compound conditionals, added logic to explicitly
622                                                            check for valid pointer, changed logic to use a macro to
623                                                            get the system state, and adjusted logic to check for
624                                                            system state or preempt disable.
625            tx_thread_system_resume.c                       Removed compound conditionals, added logic to explicitly
626                                                            check for valid pointer, changed logic to use a macro to
627                                                            get the system state, merged event logging support, and
628                                                            adjusted logic to check for system state or preempt
629                                                            disable.
630            tx_thread_system_suspend.c                      Removed compound conditionals, added explicit value
631                                                            checking, added logic to explicitly check for valid
632                                                            pointer, added logic to reset the time-slice, changed
633                                                            logic to use a macro to get the system state, merged
634                                                            event logging support, and adjusted logic to check for
635                                                            system state or preempt disable.
636            tx_thread_terminate.c                           Removed compound conditionals, merged event logging
637                                                            support, and added logic to explicitly check for valid
638                                                            pointer.
639            tx_thread_time_slice.c                          Removed compound conditionals, changed logic to use a
640                                                            macro to get the system state, and added logic to
641                                                            explicitly check for valid pointer.
642            tx_thread_time_slice_change.c                   Merged event logging support.
643            tx_thread_timeout.c                             Added logic to explicitly check for valid pointer.
644            tx_thread_wait_abort.c                          Merged event logging support, and added logic to
645                                                            explicitly check for valid pointer.
646            tx_time_get.c                                   Merged event logging support.
647            tx_time_set.c                                   Merged event logging support.
648            tx_timer_activate.c                             Removed compound conditionals, added logic to
649                                                            explicitly check for valid ticks, merged event
650                                                            logging support, and added logic to explicitly
651                                                            check for valid pointer.
652            tx_timer_change.c                               Merged event logging support, and added logic to
653                                                            explicitly check for valid pointer.
654            tx_timer_create.c                               Changed memset to macro, eliminated created_count local
655                                                            variable, merged event logging support, and added
656                                                            explicit value check.
657            tx_timer_deactivate.c                           Removed compound conditionals, added logic to explicitly
658                                                            check for valid pointer, merged event logging support,
659                                                            and added ULONG casting.
660            tx_timer_delete.c                               Merged event logging support, eliminated created_count
661                                                            local variable, and added logic to explicitly check
662                                                            for valid pointer.
663            tx_timer_expiration_process.c                   Removed compound conditionals, and added logic to
664                                                            explicitly check for valid pointer.
665            tx_timer_info_get.c                             Removed compound conditionals, added logic to explicitly
666                                                            check for valid pointer, merged event logging support,
667                                                            and added ULONG casting.
668            tx_timer_initialize.c                           Corrected memory initialize value to memset, changed
669                                                            memset to macro, and added safety critical error
670                                                            exception.
671            tx_timer_performance_info_get.c                 Removed compound conditionals, added logic to
672                                                            explicitly check for valid pointer, merged event
673                                                            logging support, and added code to ensure that input
674                                                            parameters are accessed in non-enabled case (default).
675            tx_timer_performance_system_info_get.c          Added logic to explicitly check for valid pointer,
676                                                            merged event logging support, and added code to ensure
677                                                            that input parameters are accessed in non-enabled
678                                                            case (default).
679            tx_timer_system_activate.c                      Removed compound conditionals, added explicit value
680                                                            checking, and removed unnecessary status return.
681            tx_timer_system_deactivate.c                    Added logic to explicitly check for valid pointer,
682                                                            and removed unnecessary status return.
683            tx_timer_thread_entry.c                         Added logic to explicitly check for valid pointer,
684                                                            added explicit check for expired flag, moved
685                                                            while-forever to top of the loop, and added safety
686                                                            critical exception if control returns after the
687                                                            thread's while-forever processing loop.
688            tx_trace_buffer_full_notify.c                   Added logic to access parameter.
689            tx_trace_enable.c                               Added logic to explicitly check for valid pointer, and
690                                                            added code to ensure that input parameters are accessed
691                                                            in non-enabled case (default).
692            tx_trace_event_filter.c                         Added logic to access parameter.
693            tx_trace_event_unfilter.c                       Added logic to access parameter.
694            tx_trace_isr_enter_insert.c                     Added logic to access parameter, and changed logic to
695                                                            use a macro to get system state.
696            tx_trace_isr_exit_insert.c                      Added logic to access parameter, and changed logic to
697                                                            use a macro to get system state.
698            tx_trace_object_register.c                      Added explicit value check, added logic to access
699                                                            parameter, and added logic to store thread's priority
700                                                            in the reserved bytes.
701            tx_trace_object_unregister.c                    Added logic to access parameter.
702            tx_trace_user_event_insert.c                    Added logic to access parameter.
703            txe_block_allocate.c                            Removed compound conditionals, added explicit value
704                                                            checking, changed logic to use a macro to get the
705                                                            system state, and added logic to explicitly check for
706                                                            valid pointer.
707            txe_block_pool_create.c                         Removed compound conditionals, added explicit value
708                                                            checking, changed logic to use a macro to get the
709                                                            system state, and added logic to explicitly check for
710                                                            valid pointer.
711            txe_block_pool_delete.c                         Removed compound conditionals, added explicit value
712                                                            checking, changed logic to use a macro to get the
713                                                            system state, and added logic to explicitly check for
714                                                            valid pointer.
715            txe_block_pool_info_get.c                       Removed compound conditionals, and added logic to
716                                                            explicitly check for valid pointer.
717            txe_block_pool_prioritize.c                     Removed compound conditionals, and added logic to
718                                                            explicitly check for valid pointer.
719            txe_block_release.c                             Removed compound conditionals, added logic to
720                                                            explicitly check for valid pointer, and added void
721                                                            pointer cast in pointer type conversions.
722            txe_byte_allocate.c                             Removed compound conditionals, added explicit value
723                                                            checking, changed logic to use a macro to get the
724                                                            system state, and added logic to explicitly check for
725                                                            valid pointer.
726            txe_byte_pool_create.c                          Removed compound conditionals, added  explicit value
727                                                            checking, changed logic to use a macro to get the
728                                                            system state, and added logic to explicitly check for
729                                                            valid pointer.
730            txe_byte_pool_delete.c                          Removed compound conditionals, added explicit value
731                                                            checking, changed logic to use a macro to get the
732                                                            system state, and added logic to explicitly check
733                                                            for valid pointer.
734            txe_byte_pool_info_get.c                        Removed compound conditionals, and added logic to
735                                                            explicitly check for valid pointer.
736            txe_byte_pool_prioritize.c                      Removed compound conditionals, and added logic to
737                                                            explicitly check for valid pointer.
738            txe_byte_release.c                              Added explicit value checking, changed logic to use
739                                                            a macro to get the system state, and added logic to
740                                                            explicitly check for valid pointer.
741            txe_event_flags_create.c                        Removed compound conditionals, added explicit value
742                                                            checking, changed logic to use a macro to get the
743                                                            system state, and added logic to explicitly check
744                                                            for valid pointer.
745            txe_event_flags_delete.c                        Removed compound conditionals, added explicit value
746                                                            checking, changed logic to use a macro to get the
747                                                            system state, and added logic to explicitly check
748                                                            for valid pointer.
749            txe_event_flags_get.c                           Removed compound conditionals, added explicit value
750                                                            checking, changed logic to use a macro to get the
751                                                            system state, and added logic to explicitly check
752                                                            for valid pointer.
753            txe_event_flags_info_get.c                      Removed compound conditionals, and added logic to
754                                                            explicitly check for valid pointer.
755            txe_event_flags_set.c                           Removed compound conditionals, and added logic to
756                                                            explicitly check for valid pointer.
757            txe_event_flags_set_notify.c                    Removed compound conditionals, and added logic to
758                                                            explicitly check for valid pointer.
759            txe_mutex_create.c                              Removed compound conditionals, changed logic to use
760                                                            a macro to get the system state, and added logic to
761                                                            explicitly check for valid pointer.
762            txe_mutex_delete.c                              Removed compound conditionals, added explicit value
763                                                            checking, changed logic to use a macro to get the
764                                                            system state, and added logic to explicitly check
765                                                            for valid pointer.
766            txe_mutex_get.c                                 Removed compound conditionals, added explicit value
767                                                            checking, changed logic to use a macro to get the
768                                                            system state, and added logic to explicitly check for
769                                                            valid pointer.
770            txe_mutex_info_get.c                            Removed compound conditionals, and added logic to
771                                                            explicitly check for valid pointer.
772            txe_mutex_prioritize.c                          Removed compound conditionals, and added logic to
773                                                            explicitly check for valid pointer.
774            txe_mutex_put.c                                 Removed compound conditionals, added explicit value
775                                                            checking, changed logic to use a macro to get the
776                                                            system state, and added logic to explicitly check
777                                                            for valid pointer.
778            txe_queue_create.c                              Removed compound conditionals, added explicit value
779                                                            checking, changed logic to use a macro to get the
780                                                            system state, and added logic to explicitly check
781                                                            for valid pointer.
782            txe_queue_delete.c                              Removed compound conditionals, added explicit value
783                                                            checking, changed logic to use a macro to get the
784                                                            system state, and added logic to explicitly check for
785                                                            valid pointer.
786            txe_queue_flush.c                               Removed compound conditionals, and added logic to
787                                                            explicitly check for valid pointer.
788            txe_queue_front_send.c                          Removed compound conditionals, added explicit value
789                                                            checking, changed logic to use a macro to get the
790                                                            system state, and added logic to explicitly check for
791                                                            valid pointer.
792            txe_queue_info_get.c                            Removed compound conditionals, and added logic to
793                                                            explicitly check for valid pointer.
794            txe_queue_prioritize.c                          Removed compound conditionals, and added logic to
795                                                            explicitly check for valid pointer.
796            txe_queue_receive.c                             Removed compound conditionals, added explicit value
797                                                            checking, changed logic to use a macro to get the
798                                                            system state, and added logic to explicitly check for
799                                                            valid pointer.
800            txe_queue_send.c                                Removed compound conditionals, added explicit value
801                                                            checking, changed logic to use a macro to get the
802                                                            system state, and added logic to explicitly check for
803                                                            valid pointer.
804            txe_queue_send_notify.c                         Removed compound conditionals, and added logic to
805                                                            explicitly check for valid pointer.
806            txe_semaphore_ceiling_put.c                     Removed compound conditionals, and added logic to
807                                                            explicitly check for valid pointer.
808            txe_semaphore_create.c                          Removed compound conditionals, added explicit value
809                                                            checking, changed logic to use a macro to get the
810                                                            system state, and added logic to explicitly check for
811                                                            valid pointer.
812            txe_semaphore_delete.c                          Removed compound conditionals, added explicit value
813                                                            checking, changed logic to use a macro to get the
814                                                            system state, and added logic to explicitly check for
815                                                            valid pointer.
816            txe_semaphore_get.c                             Removed compound conditionals, added explicit value
817                                                            checking, changed logic to use a macro to get the
818                                                            system state, and added logic to explicitly check for
819                                                            valid pointer.
820            txe_semaphore_info_get.c                        Removed compound conditionals, and added logic to
821                                                            explicitly check for valid pointer.
822            txe_semaphore_prioritize.c                      Removed compound conditionals, and added logic to
823                                                            explicitly check for valid pointer.
824            txe_semaphore_put.c                             Removed compound conditionals, and added logic to
825                                                            explicitly check for valid pointer.
826            txe_semaphore_put_notify.c                      Removed compound conditionals, and added logic to
827                                                            explicitly check for valid pointer.
828            txe_thread_create.c                             Removed compound conditionals, added explicit value
829                                                            checking, added logic to explicitly check for valid
830                                                            pointer, changed logic to use a macro to get the
831                                                            system state, and added void pointer cast in pointer
832                                                            type conversions.
833            txe_thread_delete.c                             Removed compound conditionals, added explicit value
834                                                            checking, changed logic to use a macro to get the
835                                                            system state, and added logic to explicitly check for
836                                                            valid pointer.
837            txe_thread_entry_exit_notify.c                  Removed compound conditionals, and added logic to
838                                                            explicitly check for valid pointer.
839            txe_thread_info_get.c                           Removed compound conditionals, and added logic to
840                                                            explicitly check for valid pointer.
841            txe_thread_preemption_change.c                  Removed compound conditionals, added explicit value
842                                                            checking, changed logic to examine user specified
843                                                            priority, changed logic to use a macro to get the
844                                                            system state, and added logic to explicitly check for
845                                                            valid pointer.
846            txe_thread_priority_change.c                    Removed compound conditionals, added explicit value
847                                                            checking, changed logic to use a macro to get the
848                                                            system state, and added logic to explicitly check for
849                                                            valid pointer.
850            txe_thread_relinquish.c                         Removed compound conditionals, added logic to
851                                                            explicitly compare the system state, changed logic to
852                                                            use a macro to get the system state, and added logic
853                                                            to explicitly check for valid pointer.
854            txe_thread_reset.c                              Removed compound conditionals, added explicit value
855                                                            checking, changed logic to use a macro to get the
856                                                            system state, and added logic to explicitly check for
857                                                            valid pointer.
858            txe_thread_resume.c                             Removed compound conditionals, and added logic to
859                                                            explicitly check for valid pointer.
860            txe_thread_suspend.c                            Removed compound conditionals, and added logic to
861                                                            explicitly check for valid pointer.
862            txe_thread_terminate.c                          Removed compound conditionals, added explicit value
863                                                            checking, changed logic to use a macro to get the
864                                                            system state, and added logic to explicitly check for
865                                                            valid pointer.
866            txe_thread_time_slice_change.c                  Removed compound conditionals, added explicit value
867                                                            checking, changed logic to use a macro to get the
868                                                            system state, and added logic to explicitly check for
869                                                            valid pointer.
870            txe_thread_wait_abort.c                         Removed compound conditionals, and added logic to
871                                                            explicitly check for valid pointer.
872            txe_timer_activate.c                            Removed compound conditionals, and added logic to
873                                                            explicitly check for valid pointer.
874            txe_timer_change.c                              Removed compound conditionals, added explicit check
875                                                            on the supplied initial ticks, changed logic to use
876                                                            a macro to get the system state, and added logic to
877                                                            explicitly check for valid pointer.
878            txe_timer_create.c                              Removed compound conditionals, added explicit value
879                                                            checking, added explicit check for initial ticks,
880                                                            changed logic to use a macro to get the system state,
881                                                            and added logic to explicitly check for valid pointer.
882            txe_timer_deactivate.c                          Removed compound conditionals, and added logic to
883                                                            explicitly check for valid pointer.
884            txe_timer_delete.c                              Removed compound conditionals, added explicit value
885                                                            checking, changed logic to use a macro to get the
886                                                            system state, and added logic to explicitly check for
887                                                            valid pointer.
888            txe_timer_info_get.c                            Removed compound conditionals, and added logic to
889                                                            explicitly check for valid pointer.
890            tx*.c                                           Changed comments and copyright header.
891            tx*.h                                           Changed comments and copyright header.
892
893
89407-04-2009  ThreadX generic code version 5.3. This release includes the following
895            modifications:
896
897            tx_api.h                                        Changed the start of user trace events to 4096.
898            tx_thread_system_resume.c                       Fixed problem of not clearing a pending timer
899                                                            registration when a thread suspension is interrupted.
900            tx_trace.h                                      Removed FileX & NetX event IDs since they are defined
901                                                            elsewhere, and corrected priority assignment in event
902                                                            trace.
903            tx_trace_buffer_full_notify.c                   Added conditional so that the function is only compiled once.
904            tx_trace_enable.c                               Added trace include source define, and changed trace buffer
905                                                            initialization so partial trace buffers are processed properly.
906            tx_trace_event_filter.c                         Added conditional so that the function is only compiled once.
907            tx_trace_event_unfilter.c                       Added conditional so that the function is only compiled once.
908            tx*.c                                           Changed comments and copyright header.
909            tx*.h                                           Changed comments and copyright header.
910
911
91212-12-2008  ThreadX generic code version 5.2. This release includes the following
913            modifications:
914
915            tx_api.h                                        Added various trace constants.
916            tx_initialize.h                                 Added new macro for defining port-specific data
917                                                            and port-specific initialization processing.
918            tx_queue.h                                      Added macro for copying queue message.
919            tx_thread.h                                     Added new system resume and suspend function
920                                                            prototypes, changed macro MOD32 to TX_MOD32_BIT_SET,
921                                                            added TX_DIV32_BIT_SET macro, removed old lowest bit
922                                                            set table, added new state change macro, added macro
923                                                            to pickup current thread, added macro to clear the
924                                                            current thread, added stack checking macro, and added
925                                                            new macro for calculating the lowest bit set.
926            tx_trace.h                                      Added new event definitions, changed types
927                                                            to ensure the trace has universal format,
928                                                            optimized event macro, and added filter
929                                                            logic and new function prototypes.
930            tx_user.h                                       Added new defines, and removed TX_USE_PRESET_DATA
931                                                            since it is no longer required.
932            tx_block_allocate.c                             Added macro to get current thread, added filter
933                                                            option to trace insert, added optional logic for
934                                                            non-interruptible operation, and made several
935                                                            optimizations.
936            tx_block_pool_cleanup.c                         Added logic to keep suspension list in order,
937                                                            added optional logic for non-interruptible operation,
938                                                            and made several optimizations.
939            tx_block_pool_create.c                          Added parameter to trace registry, added filter option
940                                                            to trace insert, treat the zero blocks situation as an
941                                                            error, and made several optimizations.
942            tx_block_pool_delete.c                          Added filter option to trace insert, added optional
943                                                            logic for non-interruptible operation, and made several
944                                                            optimizations.
945            tx_block_pool_info_get.c                        Added filter option to trace insert.
946            tx_block_pool_performance_info_get.c            Added filter option to trace insert.
947            tx_block_pool_performance_system_info_get.c     Added filter option to trace insert.
948            tx_block_pool_prioritize.c                      Added filter option to trace insert, and made several
949                                                            optimizations.
950            tx_block_release.c                              Added filter option to trace insert, added optional
951                                                            logic for non-interruptable operation, and made several
952                                                            optimizations.
953            tx_byte_allocate.c                              Added macro to get current thread, added filter option
954                                                            to trace insert, added optional logic for non-interruptable
955                                                            operation, and made several optimizations.
956            tx_byte_pool_cleanup.c                          Added logic to keep suspension list in order, added
957                                                            optional logic for non-interruptable operation, and made
958                                                            several optimizations.
959            tx_byte_pool_create.c                           Added filter option to trace insert, and made several
960                                                            optimizations.
961            tx_byte_pool_delete.c                           Added filter option to trace insert, added optional logic
962                                                            for non-interruptable operation, and made several
963                                                            optimizations.
964            tx_byte_pool_info_get.c                         Added filter option to trace insert.
965            tx_byte_pool_performance_info_get.c             Added filter option to trace insert.
966            tx_byte_pool_performance_system_info_get.c      Added filter option to trace insert.
967            tx_byte_pool_prioritize.c                       Added filter option to trace insert, and made several
968                                                            optimizations.
969            tx_byte_pool_search.c                           Added macro to get current thread, and made several
970                                                            optimizations.
971            tx_byte_release.c                               Added macro to get current thread, added filter option
972                                                            to trace insert, added optional logic for
973                                                            non-interruptable operation, and made several
974                                                            optimizations.
975            tx_event_flags_cleanup.c                        Added logic to handle wait aborts on event flag
976                                                            suspension from ISRs, added logic to keep suspension
977                                                            list in order, added optional logic for non-interruptable
978                                                            operation, and made several optimizations.
979            tx_event_flags_create.c                         Added filter option to trace insert, and made several
980                                                            optimizations.
981            tx_event_flags_delete.c                         Added filter option to trace insert, added optional
982                                                            logic for non-interruptable operation, and made
983                                                            several optimizations.
984            tx_event_flags_get.c                            Added macro to get current thread, added filter
985                                                            option to trace insert, added optional logic for
986                                                            non-interruptable operation, and made several
987                                                            optimizations.
988            tx_event_flags_info_get.c                       Added filter option to trace insert.
989            tx_event_flags_performance_info_get.c           Added filter option to trace insert.
990            tx_event_flags_performance_system_info_get.c    Added filter option to trace insert.
991            tx_event_flags_set.c                            Added filter option to trace insert, added check for
992                                                            threads whose suspension was aborted from an ISR
993                                                            during the search for satisfied requests, added
994                                                            optional logic for non-interruptable operation,
995                                                            and made several optimizations.
996            tx_event_flags_set_notify.c                     Added filter option to trace insert.
997            tx_initialize_kernel_enter.c                    Added macros for port-specific initialization use.
998            tx_initialize_kernel_setup.c                    Added macros for port-specific initialization use.
999            tx_mutex_cleanup.c                              Added logic to keep suspension list in order, added
1000                                                            optional logic for non-interruptable operation,
1001                                                            and made several optimizations.
1002            tx_mutex_create.c                               Added filter option to trace insert, and made
1003                                                            several optimizations.
1004            tx_mutex_delete.c                               Added filter option to trace insert, added optional
1005                                                            logic for non-interruptable operation, and made
1006                                                            several optimizations.
1007            tx_mutex_get.c                                  Added macro to get current thread, added filter
1008                                                            option to trace insert, added optional logic for
1009                                                            non-interruptable operation, and made several
1010                                                            optimizations.
1011            tx_mutex_info_get.c                             Added filter option to trace insert.
1012            tx_mutex_performance_info_get.c                 Added filter option to trace insert.
1013            tx_mutex_performance_system_info_get.c          Added filter option to trace insert.
1014            tx_mutex_prioritize.c                           Added filter option to trace insert, and made
1015                                                            several optimizations.
1016            tx_mutex_priority_change.c                      Added optional logic for non-interruptable operation,
1017                                                            and made several optimizations.
1018            tx_mutex_put.c                                  Added macro to get current thread, optimized the
1019                                                            normal no priority-inheritance path, added filter
1020                                                            option to trace insert, added optional logic for
1021                                                            non-interruptable operation, and made several other
1022                                                            optimizations.
1023            tx_queue_cleanup.c                              Added logic to keep suspension list in order, added
1024                                                            optional logic for non-interruptable operation,
1025                                                            and made several optimizations.
1026            tx_queue_create.c                               Added parameter to trace registry, added filter
1027                                                            option to trace insert, and made several
1028                                                            optimizations.
1029            tx_queue_delete.c                               Added filter option to trace insert, added optional
1030                                                            logic for non-interruptable operation, and made
1031                                                            several optimizations.
1032            tx_queue_flush.c                                Added optional logic for non-interruptable operation,
1033                                                            and added filter option to trace insert.
1034            tx_queue_front_send.c                           Added macro to get current thread, made several
1035                                                            optimizations, added filter option to trace insert,
1036                                                            added optional logic for non-interruptable
1037                                                            operation, and added macros for message copying.
1038            tx_queue_info_get.c                             Added filter option to trace insert.
1039            tx_queue_performance_info_get.c                 Added filter option to trace insert.
1040            tx_queue_performance_system_info_get.c          Added filter option to trace insert.
1041            tx_queue_prioritize.c                           Added filter option to trace insert, and made
1042                                                            several optimizations.
1043            tx_queue_receive.c                              Added macro to get current thread, made several
1044                                                            optimizations, corrected the performance
1045                                                            information names, added filter option to trace
1046                                                            insert, added optional logic for non-interruptable
1047                                                            operation, and added macros for message copying.
1048            tx_queue_send.c                                 Added macro to get current thread, made several
1049                                                            optimizations, added filter option to trace
1050                                                            insert, added optional logic for non-interruptable
1051                                                            operation, and added macros for message copying.
1052            tx_queue_send_notify.c                          Added filter option to trace insert.
1053            tx_semaphore_ceiling_put.c                      Added filter option to trace insert, added optional
1054                                                            logic for non-interruptable operation, and made
1055                                                            several optimizations.
1056            tx_semaphore_cleanup.c                          Added logic to keep suspension list in order, added
1057                                                            optional logic for non-interruptable operation,
1058                                                            and made several optimizations.
1059            tx_semaphore_create.c                           Added filter option to trace insert, and made
1060                                                            several optimizations.
1061            tx_semaphore_delete.c                           Added filter option to trace insert, added optional
1062                                                            logic for non-interruptable operation, and made
1063                                                            several optimizations.
1064            tx_semaphore_get.c                              Added macro to get current thread, added filter
1065                                                            option to trace insert, added optional logic for
1066                                                            non-interruptable operation, and made several
1067                                                            optimizations.
1068            tx_semaphore_info_get.c                         Added filter option to trace insert.
1069            tx_semaphore_performance_info_get.c             Added filter option to trace insert.
1070            tx_semaphore_performance_system_info_get.c      Added filter option to trace insert.
1071            tx_semaphore_prioritize.c                       Added filter option to trace insert, and made
1072                                                            several optimizations.
1073            tx_semaphore_put.c                              Added filter option to trace insert, added optional
1074                                                            logic for non-interruptable operation, and made
1075                                                            several optimizations.
1076            tx_semaphore_put_notify.c                       Added filter option to trace insert.
1077            tx_thread_create.c                              Added filter option to trace insert, moved extension
1078                                                            processing to interrupt enabled area, added logic
1079                                                            to align stack pointers for stack checking, added
1080                                                            optional logic for non-interruptable operation,
1081                                                            and made several optimizations.
1082            tx_thread_delete.c                              Added filter option to trace insert, moved extension
1083                                                            processing to interrupt enabled area, and made
1084                                                            several optimizations.
1085            tx_thread_entry_exit_notify.c                   Added filter option to trace insert.
1086            tx_thread_identify.c                            Added filter option to trace insert, expanded interrupt
1087                                                            disable area, and added macro to get current thread.
1088            tx_thread_info_get.c                            Added filter option to trace insert.
1089            tx_thread_initialize.c                          Added macro to set current thread, added new bit
1090                                                            assignments for _tx_build_options, and removed logic
1091                                                            to setup the lowest bit set table since it is no
1092                                                            longer required.
1093            tx_thread_performance_info_get.c                Added filter option to trace insert.
1094            tx_thread_performance_system_info_get.c         Added filter option to trace insert.
1095            tx_thread_preemption_change.c                   Added filter option to trace insert, changed MOD32
1096                                                            macro to new TX_MOD32_BIT_SET macro, removed code
1097                                                            for interrupt preemption performance counter updates,
1098                                                            added logic to handle restoring preemption-threshold
1099                                                            values during priority inheritance, and added
1100                                                            TX_DIV32_BIT_SET macro.
1101            tx_thread_priority_change.c                     Added filter option to trace insert, added optional
1102                                                            logic for non-interruptable operation, and made
1103                                                            several optimizations.
1104            tx_thread_relinquish.c                          Added macro to get current thread, moved relinquish
1105                                                            trace event, added next thread parameter, added
1106                                                            filter option to trace insert, added stack check
1107                                                            macro, and removed unnecessary code.
1108            tx_thread_reset.c                               Added filter option to trace insert, and added
1109                                                            macro to get current thread.
1110            tx_thread_resume.c                              Added macro to get current thread, added state
1111                                                            change macro, added filter option to trace insert,
1112                                                            added optional logic for non-interruptable
1113                                                            operation, and added optional in-line thread
1114                                                            suspension logic.
1115            tx_thread_shell_entry.c                         Added macro to get current thread, added state
1116                                                            change macro, cleared the timeout value to avoid
1117                                                            a timeout on a completed thread, moved extension
1118                                                            processing to interrupt enabled area, added
1119                                                            optional logic for non-interruptable operation,
1120                                                            and made several optimizations.
1121            tx_thread_sleep.c                               Added filter option to trace insert, added
1122                                                            optional logic for non-interruptable operation,
1123                                                            and added macro to get current thread.
1124            tx_thread_stack_analyze.c                       Made optimization.
1125            tx_thread_stack_error_handler.c                 Removed spin loop.
1126            tx_thread_stack_error_notify.c                  Added filter option to trace insert.
1127            tx_thread_suspend.c                             Added macro to get current thread, added filter
1128                                                            option to trace insert, added state change macro,
1129                                                            added optional logic for non-interruptable
1130                                                            operation, and added optional in-line thread
1131                                                            suspension logic.
1132            tx_thread_system_preempt_check.c                Added macro to get current thread, added null next
1133                                                            thread check, added stack check macro, and optimized
1134                                                            flag processing.
1135            tx_thread_system_resume.c                       Added macro to get current thread, added state
1136                                                            change macro, added optional logic for
1137                                                            non-interruptable operation, added filter option
1138                                                            to trace insert, added next thread to system
1139                                                            resume trace entry, changed MOD32 macro to new
1140                                                            TX_MOD32_BIT_SET macro, added TX_DIV32_BIT_SET
1141                                                            macro, added stack check macro, and optimized
1142                                                            code for typical path processing.
1143            tx_thread_system_suspend.c                      Added macro to get current thread, added state
1144                                                            change macro, added filter option to trace
1145                                                            insert, added optional logic for non-interruptable
1146                                                            operation, changed MOD32 macro to new
1147                                                            TX_MOD32_BIT_SET macro, added TX_DIV32_BIT_SET
1148                                                            macro, optimized lowest set bit logic, added
1149                                                            stack check macro, and optimized code for typical
1150                                                            path processing.
1151            tx_thread_terminate.c                           Added state change macro, added filter option
1152                                                            to trace insert, moved extension processing
1153                                                            to interrupt enabled area, added optional logic
1154                                                            for non-interruptable operation, and made
1155                                                            several optimizations.
1156            tx_thread_time_slice.c                          Added macro to get current thread, added event
1157                                                            trace call, added filter option to trace insert,
1158                                                            added stack check macro, and added thread pointer
1159                                                            check in stack checking logic.
1160            tx_thread_time_slice_change.c                   Added filter option to trace insert, and added
1161                                                            macro to get current thread.
1162            tx_thread_timeout.c                             Added optional logic for non-interruptable
1163                                                            operation.
1164            tx_thread_wait_abort.c                          Added optional logic for non-interruptable
1165                                                            operation, and added filter option to trace
1166                                                            insert.
1167            tx_time_get.c                                   Added filter option to trace insert.
1168            tx_time_set.c                                   Added filter option to trace insert.
1169            tx_timer_activate.c                             Added filter option to trace insert.
1170            tx_timer_change.c                               Added filter option to trace insert.
1171            tx_timer_create.c                               Added filter option to trace insert, and
1172                                                            made several optimizations.
1173            tx_timer_deactivate.c                           Added filter option to trace insert, and
1174                                                            made several optimizations.
1175            tx_timer_delete.c                               Added filter option to trace insert, and
1176                                                            made several optimizations.
1177            tx_timer_expiration.c                           Added optional logic for non-interruptable
1178                                                            operation, and made several optimizations.
1179            tx_timer_info_get.c                             Added filter option to trace insert.
1180            tx_timer_performance_info_get.c                 Added filter option to trace insert.
1181            tx_timer_performance_system_info_get.c          Added filter option to trace insert.
1182            tx_timer_system_activate.c                      Made several optimizations.
1183            tx_timer_system_deactivate.c                    Made several optimizations.
1184            tx_timer_thread_entry.c                         Added optional logic for non-interruptable
1185                                                            operation, and made several optimizations.
1186            tx_trace_buffer_full_notify.c                   Added new trace function.
1187            tx_trace_enable.c                               Added logic to setup event filter, and
1188                                                            modified code to ensure universal trace
1189                                                            format.
1190            tx_trace_event_filter.c                         Added new trace function.
1191            tx_trace_event_unfilter.c                       Added new trace function.
1192            tx_trace_interrupt_control.c                    Added filter option to trace insert.
1193            tx_trace_isr_enter_insert.c                     Added parameters to ISR trace event.
1194            tx_trace_isr_exit_insert.c                      Added parameters to ISR trace event.
1195            tx_trace_object_register.c                      Modified code to ensure universal trace format.
1196            tx_trace_object_unregister.c                    Modified code to ensure universal trace format.
1197            tx_trace_user_event_insert.c                    Added interrupt restore in error path, and
1198                                                            added filter option to trace insert.
1199            txe_block_allocate.c                            Added macro to get current thread.
1200            txe_block_pool_create.c                         Made optimization to timer thread checking,
1201                                                            and added macro to get current thread.
1202            txe_block_pool_delete.c                         Added macro to get current thread.
1203            txe_byte_allocate.c                             Made optimization to timer thread checking,
1204                                                            and added macro to get current thread.
1205            txe_byte_pool_create.c                          Made optimization to timer thread checking,
1206                                                            and added macro to get current thread.
1207            txe_byte_pool_delete.c                          Made optimization to timer thread checking,
1208                                                            and added macro to get current thread.
1209            txe_byte_release.c                              Made optimization to timer thread checking,
1210                                                            and added macro to get current thread.
1211            txe_event_flags_create.c                        Made optimization to timer thread checking,
1212                                                            and added macro to get current thread.
1213            txe_event_flags_delete.c                        Added macro to get current thread.
1214            txe_event_flags_get.c                           Added macro to get current thread.
1215            txe_mutex_create.c                              Made optimization to timer thread checking,
1216                                                            and added macro to get current thread.
1217            txe_mutex_delete.c                              Added macro to get current thread.
1218            txe_mutex_get.c                                 Made optimization to timer thread checking,
1219                                                            and added macro to get current thread.
1220            txe_mutex_put.c                                 Made optimization to timer thread checking,
1221                                                            and added macro to get current thread.
1222            txe_queue_create.c                              Made optimization to timer thread checking,
1223                                                            and added macro to get current thread.
1224            txe_queue_delete.c                              Added macro to get current thread.
1225            txe_queue_front_send.c                          Added macro to get current thread.
1226            txe_queue_receive.c                             Added macro to get current thread.
1227            txe_queue_send.c                                Added macro to get current thread.
1228            txe_semaphore_create.c                          Made optimization to timer thread checking,
1229                                                            and added macro to get current thread.
1230            txe_semaphore_delete.c                          Added macro to get current thread.
1231            txe_semaphore_get.c                             Added macro to get current thread.
1232            txe_thread_create.c                             Made optimization to timer thread checking,
1233                                                            and added macro to get current thread.
1234            txe_thread_delete.c                             Made optimization to caller checking.
1235            txe_thread_preemption_change.c                  Made optimization to caller checking, added
1236                                                            logic to handle restoring preemption-
1237                                                            threshold values during priority inheritance.
1238            txe_thread_priority_change.c                    Made optimization to caller checking.
1239            txe_thread_relinquish.c                         Added macro to get current thread.
1240            txe_thread_reset.c                              Added macro to get current thread, and added
1241                                                            logic to detect calls from timer thread.
1242            txe_thread_terminate.c                          Made optimization to caller checking.
1243            txe_thread_time_slice_change.c                  Made optimization to caller checking.
1244            txe_timer_change.c                              Made optimization to caller checking.
1245            txe_timer_create.c                              Made optimization to timer thread checking,
1246                                                            and added macro to get current thread.
1247            txe_timer_delete.c                              Added macro to get current thread.
1248            tx*.c                                           Changed comments and copyright header.
1249            tx*.h                                           Changed comments and copyright header.
1250
1251
125204-02-2007  ThreadX generic code version 5.1. This release includes the following
1253            modifications:
1254
1255            tx_api.h                                        Replaced UL constant modifier with ULONG cast.
1256            tx_block_pool.h                                 Replaced UL constant modifier with ULONG cast.
1257            tx_byte_pool.h                                  Replaced UL constant modifier with ULONG cast.
1258            tx_event_flags.h                                Replaced UL constant modifier with ULONG cast.
1259            tx_initialize.h                                 Replaced UL constant modifier with ULONG cast.
1260            tx_mutex.h                                      Replaced UL constant modifier with ULONG cast.
1261            tx_queue.h                                      Replaced UL constant modifier with ULONG cast.
1262            tx_semaphore.h                                  Replaced UL constant modifier with ULONG cast.
1263            tx_thread.h                                     Replaced UL constant modifier with ULONG cast
1264                                                            and added logic to use preset global C data.
1265            tx_timer.h                                      Replaced UL constant modifier with ULONG cast.
1266            tx_user.h                                       Added two new conditional build options,
1267                                                            TX_NO_TIMER and TX_USE_PRESET_DATA.
1268            tx_byte_pool_search.c                           Added optimization for memory search pointer
1269                                                            update.
1270            tx_byte_release.c                               Added optimization for memory search pointer
1271                                                            update.
1272            tx_event_flags_get.c                            Added logic for calling from ISRs.
1273            tx_event_flags_info_get.c                       Added logic to accurately report the currently
1274                                                            set flags in the group.
1275            tx_event_flags_set.c                            Corrected problem clearing event flags from ISRs.
1276            tx_initialize_high_level.c                      Added logic to remove the timer logic.
1277            tx_queue_front_send.c                           Modify code to not remove the oldest message
1278                                                            from the queue in order to avoid losing messages
1279                                                            during timeout processing and optimized message
1280                                                            copying.
1281            tx_queue_receive.c                              Check for queue front send suspension request
1282                                                            and optimized message copying.
1283            tx_queue_send.c                                 Initialize suspension option field to indicate
1284                                                            type of suspension and optimized message
1285                                                            copying.
1286            tx_thread_create.c                              Added setup for original priority and threshold.
1287            tx_thread_initialize.c                          Added logic to use preset global C data.
1288            tx_thread_preemption_change.c                   Added logic to update and use the original preemption-
1289                                                            threshold, and corrected problem of not setting
1290                                                            preemption-threshold bit when lowering the thread
1291                                                            preemption-threshold.
1292            tx_thread_priority_change.c                     Added logic to update and use the original priority.
1293            tx_thread_stack_error_notify.c                  Added included of tx_trace.h.
1294            tx_thread_system_resume.c                       Fixed conditional declaration of map_index, and
1295                                                            added logic to remove the timer logic.
1296            tx_thread_system_suspend.c                      Fixed conditional declaration of map_index, and
1297                                                            added logic to remove the timer logic.
1298            txe_timer_change.c                              Replaced UL constant modifier with ULONG cast.
1299            tx*.c                                           Changed comments and copyright header.
1300            tx*.h                                           Changed comments and copyright header.
1301
1302
130312-12-2005  Initial ThreadX generic code version 5.0. This release includes the
1304            the following fixes from generic code version 4.0c:
1305
1306            tx_mutex_create.c                               Properly initialize mutex owner field to NULL.
1307            tx_mutex_put.c                                  Set the mutex owner to NULL on put operation.
1308
1309
13102. ThreadX SMP
1311
131202-01-2019  ThreadX generic code version 5.9. This release includes the following
1313            modifications:
1314
1315            tx_api.h                                        Changed minor version constant, and added a
1316                                                            macro to disable warning of parameter not
1317                                                            used.
1318            tx_mutex_priority_change.c                      Removed update of the priority inheritance
1319                                                            priority level.
1320            tx_thread_priority_change.c                     Corrected optimization when no change in the
1321                                                            effective priority is necessary.
1322            tx_thread_relinquish.c                          Added logic to evaluate mapped core instead of
1323                                                            the current core in evaluating the next thread
1324                                                            replacement, added logic to call rebalance when
1325                                                            the next thread is excluded from running on the
1326                                                            mapped core, and added optimization when thread
1327                                                            at the end of the priority list is the thread
1328                                                            performing the relinquish.
1329            tx_thread_suspend.c                             Refined error checking for self suspension to
1330                                                            ensure thread context.
1331            tx_thread_time_slice.c                          Added logic to call rebalance when the next
1332                                                            thread is excluded from running on the mapped
1333                                                            core, and added optimization when thread at the
1334                                                            end of the priority list is the thread being
1335                                                            time-sliced.
1336
1337
133806-01-2017  ThreadX generic code version 5.8. This release includes the following
1339            modifications:
1340
1341            tx_api.h                                        Changed minor version constant, added
1342                                                            suspension sequence to verify cleanup
1343                                                            is still necessary, modified code for MISRA
1344                                                            compliance, added alignment type for memory
1345                                                            pools, corrected compiler warnings in macro
1346                                                            definitions, added support for optional
1347                                                            extensions.
1348            tx_thread.h                                     Modified code for MISRA compliance, added
1349                                                            default macro definition for setting up timeout,
1350                                                            added default macro definition for setting up
1351                                                            thread timeout pointer, and added macros for
1352                                                            extending the thread create, delete, and reset
1353                                                            processing.
1354            tx_timer.h                                      Modified code for MISRA compliance, added macro
1355                                                            for extending timer delete, and removed
1356                                                            unnecessary defines.
1357            tx_trace.h                                      Modified code for MISRA compliance.
1358            tx_byte_pool_search.c                           Modified code for MISRA compliance, added use of
1359                                                            alignment type for searching byte pool.
1360            tx_event_flags_set.c                            Removed unnecessary code, and modified code for
1361                                                            MISRA compliance.
1362            tx_initialize_kernel_enter.c                    Added processing extension, and modified code
1363                                                            for MISRA compliance.
1364            tx_mutex_priority_change.c                      Removed unnecessary code, modified code for MISRA
1365                                                            compliance, and added processing extension.
1366            tx_thread_create.c                              Modified code for MISRA compliance, added optional
1367                                                            internal thread extension macro, added macro for
1368                                                            setting up the thread timeout, and corrected problem
1369                                                            restoring preemption-threshold during initialization.
1370            tx_thread_initialize.c                          Modified code for MISRA compliance.
1371            tx_thread_preemption_change.c                   Modified code for MISRA compliance.
1372            tx_thread_priority_change.c                     Added processing extension, and modified code for
1373                                                            MISRA compliance.
1374            tx_thread_relinquish.c                          Modified code for MISRA compliance.
1375            tx_thread_resume.c                              Modified code for MISRA compliance.
1376            tx_thread_smp_core_exclude.c                    Modified code for MISRA compliance.
1377            tx_thread_smp_core_exclude_get.c                Modified code for MISRA compliance.
1378            tx_thread_smp_current_state_get.c               Modified code for MISRA compliance.
1379            tx_thread_smp_debug_entry_insert.c              Modified code for MISRA compliance.
1380            tx_thread_smp_high_level_initialize.c           Modified code for MISRA compliance.
1381            tx_thread_smp_rebalance_execute_list.c          Modified code for MISRA compliance.
1382            tx_thread_smp_utilities.c                       Added new file for SMP utilities when in-line is disabled.
1383            tx_thread_suspend.c                             Modified code for MISRA compliance, and added protection
1384                                                            against self suspension with the preempt-disable flag set.
1385            tx_thread_system_preempt_check.c                Modified code for MISRA compliance.
1386            tx_thread_system_resume.c                       Removed unnecessary code, corrected issue with resuming a
1387                                                            thread that was previously in the middle of suspending with
1388                                                            an additional suspension request, corrected issue resuming
1389                                                            a thread with no available cores, and modified code for
1390                                                            MISRA compliance.
1391            tx_thread_system_suspend.c                      Corrected issue with self-suspending thread not at the head
1392                                                            of its priority list, modified code for MISRA compliance,
1393                                                            and corrected problem setting up the trace information 4
1394                                                            field.
1395            tx_thread_time_slice.c                          Modified code for MISRA compliance.
1396            tx_thread_time_slice_change.c                   Modified code for MISRA compliance.
1397            tx_thread_timeout.c                             Modified code for MISRA compliance, added suspension
1398                                                            sequence to verify cleanup is still necessary, and added
1399                                                            macro for setting up the thread pointer.
1400            tx_timer_create.c                               Modified code for MISRA compliance.
1401            tx_timer_initialize.c                           Modified code for MISRA compliance, added initialization for
1402                                                            timer expired pointer, and added check for TX_NO_TIMER
1403                                                            option.
1404            tx_timer_smp_core_exclude.c                     Modified code for MISRA compliance.
1405            tx_timer_smp_core_exclude_get.c                 Modified code for MISRA compliance.
1406            tx_timer_thread_entry.c                         Modified code for MISRA compliance.
1407
1408
140908-03-2016  ThreadX generic code version 5.7.2. This release includes the following
1410            modifications (also includes ThreadX 5.7 SP1 non-SMP source):
1411
1412            tx_api.h                                        Corrected compiler warnings in macro definitions.
1413            tx_timer.h                                      Added the global variable _tx_timer_expired_ptr
1414                                                            which is needed by timer info get.
1415            tx_byte_pool_search.c                           Modified logic to ensure the integrity of
1416                                                            the search pointer.
1417            tx_mutex_priority_change.c                      Added logic to reverse preemption-threshold while
1418                                                            the thread's priority is changed.
1419            tx_thread_priority_change.c                     Added logic to reverse preemption-threshold while
1420                                                            the thread's priority is changed.
1421            tx_thread_smp_rebalance_execute_list.c          Corrected the update of possible cores.
1422            tx_thread_system_resume.c                       Added performance optimization for the simple
1423                                                            preemption case.
1424            tx_thread_system_suspend.c                      Corrected the update of possible cores, and
1425                                                            added performance optimization by determining
1426                                                            if nontrivial scheduling is possible before full
1427                                                            examination.
1428            tx_timer_create.c                               Kept protection over timer activation.
1429            tx_timer_initialize.c                           Added initialization for timer expired pointer, and
1430                                                            added check for TX_NO_TIMER option.
1431            tx_timer_thread_entry.c                         Ensure timer is not accessed after timeout unless
1432                                                            reactivation is necessary, set pointer to indicate
1433                                                            timer being processed, and perform reactivation with
1434                                                            protection.
1435            tx*.c                                           Changed comments and copyright header.
1436            tx*.h                                           Changed comments and copyright header.
1437
1438
143904-01-2016  ThreadX generic code version 5.7.1. This release includes the following
1440            modifications:
1441
1442            tx_api.h                                        Added core excluded/allowed members to the
1443                                                            TX_THREAD structure, and changed member name
1444                                                            control to excluded for internal timer struct.
1445            tx_event_flags_set.c                            Moved notify function pointer setup before any
1446                                                            thread resumption.
1447            tx_mutex_priority_change.c                      Added logic to not place thread at head of list
1448                                                            when lowering priority if the priority level has
1449                                                            a thread with preemption-threshold in force, and
1450                                                            optimized processing.
1451            tx_thread.h                                     Added optimized in-line helper functions, and
1452                                                            added preemption-threshold list.
1453            tx_thread_create.c                              Added clearing of the thread preemption-threshold
1454                                                            list, changed the name of core control to core
1455                                                            excluded in internal timer setup, and added setup
1456                                                            for the new TX_THREAD cores excluded and allowed
1457                                                            members.
1458            tx_thread_initialize.c                          Added initialization of the preemption-threshold
1459                                                            list.
1460            tx_thread_preemption_change.c                   Corrected problem disabling preemption-threshold.
1461            tx_thread_priority_change.c                     Added logic to not place thread at head of list
1462                                                            when lowering priority if the priority level has
1463                                                            a thread with preemption-threshold in force, and
1464                                                            optimized processing.
1465            tx_thread_relinquish.c                          Corrected preemption-threshold issue, and utilized
1466                                                            new cores allowed member in TX_THREAD.
1467            tx_thread_smp_core_exclude.c                    Added logic to ensure the core mapped information is
1468                                                            consistent with the new core exclusion.
1469            tx_thread_smp_core_exclude_get.c                Utilized new cores excluded member in TX_THREAD.
1470            tx_thread_smp_rebalance_execute_list.c          Corrected problem with schedule thread not being
1471                                                            updated in one optimization case, added setup of
1472                                                            the preempted list for preemption-threshold, and
1473                                                            simplified code via in-line functions.
1474            tx_thread_system_resume.c                       Optimized processing for simple case, and simplified
1475                                                            code via in-line functions.
1476            tx_thread_system_suspend.c                      Optimized processing for simple case, corrected problem
1477                                                            disabling preemption-threshold, and simplified code via
1478                                                            in-line functions.
1479            tx_thread_time_slice.c                          Corrected preemption-threshold issue, and utilized new
1480                                                            cores allowed member in TX_THREAD.
1481            tx_timer_create.c                               Changed the name of core control to core excluded in
1482                                                            internal timer setup.
1483            tx_timer_info_get.c                             Added check for proper remaining time calculation.
1484            tx_timer_smp_core_exclude.c                     Changed the name of core control to core excluded in
1485                                                            internal timer setup.
1486            tx_timer_smp_core_exclude_get.c                 Changed the name of core control to core excluded in
1487                                                            internal timer setup.
1488            tx_timer_thread_entry.c                         Changed the name of core control to core excluded in
1489                                                            internal timer setup.
1490            tx_trace.h                                      Modified code to sync with standard ThreadX tx_trace.h.
1491            tx*.c                                           Changed comments and copyright header.
1492            tx*.h                                           Changed comments and copyright header.
1493
1494
149509-01-2015  ThreadX generic code version 5.7. This release includes the following
1496            modifications:
1497
1498            tx_api.h                                        Modified code for ThreadX 5.7 compatibility, added
1499                                                            default for port-specific memory synchronization primitive,
1500                                                            modified minor version define, added thread start
1501                                                            macro for performing port and/or user specified
1502                                                            processing when a thread starts, and added constant
1503                                                            TX_TIMER_TICKS_PER_SECOND for use by other middleware
1504                                                            components as a common time reference.
1505            tx_thread.h                                     Corrected next priority find for priority levels
1506                                                            greater than 32.
1507            tx_byte_pool_search.c                           Added code to assert pool ownership after protection
1508                                                            is obtained to ensure no changes to the pool or the
1509                                                            pool search pointer are made without ownership.
1510            tx_initialize_kernel_enter.c                    Removed TX_INITIALIZE_INIT since it is no longer needed,
1511                                                            and added memory synchronization macros.
1512            tx_thread_preemption_change.c                   Added optimization to avoid calling rebalance algorithm.
1513            tx_thread_smp_rebalance_execute_list.c          Corrected problem scheduling thread on excluded core,
1514                                                            and added various optimizations.
1515            tx_thread_system_resume.c                       Added protection after the call to _tx_thread_system_return
1516                                                            when the build option TX_NOT_INTERRUPTABLE is used, and added
1517                                                            optimization to avoid calling rebalance algorithm.
1518            tx_thread_system_suspend.c                      Added protection after the call to _tx_thread_system_return
1519                                                            when the build option TX_NOT_INTERRUPTABLE is used,
1520                                                            corrected problem scheduling thread on excluded core, and
1521                                                            added optimization to avoid unnecessary priority search.
1522            tx*.c                                           Changed comments and copyright header.
1523            tx*.h                                           Changed comments and copyright header.
1524
1525
152605-01-2014  ThreadX generic code version 5.6.2. This release includes the following
1527            modifications:
1528
1529            tx_api.h                                        Added timeout sequence information to the
1530                                                            thread control block.
1531            tx_thread.h                                     Made the release cores flag volatile, and
1532                                                            removed unnecessary prototypes.
1533            tx_byte_pool_search.c                           Added SMP-specific version.
1534            tx_thread_create.c                              Added logic to initialize the thread's
1535                                                            executing core.
1536            tx_thread_system_resume.c                       Added optimization in resuming a thread with
1537                                                            core(s) excluded.
1538            tx_thread_system_suspend.c                      Changed code to eliminate a compiler warning,
1539                                                            added sequence counters for timeouts and
1540                                                            suspension, and corrected problem
1541                                                            suspending the last thread with preemption-
1542                                                            threshold in force.
1543            tx_thread_smp_high_level_initialize.c           Updated protection structure member name.
1544            tx_thread_timeout.c                             Added SMP-specific version.
1545            tx_thread_time_slice.c                          Added quick check for no time-slice expiration,
1546                                                            and removed protection logic since this function
1547                                                            is called under protection.
1548            tx_timer_thread_entry.c                         Released protection over timeout call.
1549            tx*.c                                           Changed comments and copyright header.
1550            tx*.h                                           Changed comments and copyright header.
1551
1552
155312-12-2012  Initial ThreadX SMP generic code version 5.6.1.