[rtems-release commit] Update RTEMS 6 release notes

Sebastian Huber sebh at rtems.org
Wed Jan 26 10:56:11 UTC 2022


Module:    rtems-release
Branch:    master
Commit:    7ce288bb543310c6aa8a69386a883dd9f54eecc3
Changeset: http://git.rtems.org/rtems-release/commit/?id=7ce288bb543310c6aa8a69386a883dd9f54eecc3

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Jan 26 12:03:39 2022 +0100

Update RTEMS 6 release notes

---

 rtems-notes-6.md | 191 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 156 insertions(+), 35 deletions(-)

diff --git a/rtems-notes-6.md b/rtems-notes-6.md
index 39ebd29..3ca5040 100644
--- a/rtems-notes-6.md
+++ b/rtems-notes-6.md
@@ -21,7 +21,27 @@ Implementation improvements usually fall into one of the following categories:
 
 ### API Changes
 
-* TBD
+* If the processor set is not large enough to contain the processor set of
+  the scheduler, then `rtems_scheduler_get_processor_set()` returns
+  `RTEMS_INVALID_SIZE` instead of `RTEMS_INVALID_NUMBER`.
+
+* If the processor set is not large enough to contain the processor
+  affinity set of the task, then `rtems_task_get_affinity()` returns
+  `RTEMS_INVALID_SIZE` instead of `RTEMS_INVALID_NUMBER`.
+
+* If time-of-day argument is `NULL`, then `rtems_timer_fire_when()`,
+  `rtems_timer_server_fire_when(), and `rtems_task_wake_when()` return
+  `RTEMS_INVALID_ADDRESS` instead of `RTEMS_INVALID_CLOCK`.
+
+* The time-of-day arguments in `rtems_timer_fire_when()`,
+  `rtems_timer_server_fire_when(), and `rtems_task_wake_when()` were
+  constified.
+
+* If the entry point is `NULL`, then `rtems_task_start()` returns now
+  `RTEMS_INVALID_ADDRESS`.
+
+* If `rtems_task_delete()` is called from within interrupt context, then it
+  returns now `RTEMS_CALLED_FROM_ISR`.
 
 #### API Additions
 
@@ -29,16 +49,100 @@ Implementation improvements usually fall into one of the following categories:
 
 * `RTEMS_ALIGN_DOWN()`
 
-* `rtems_task_config`
+* `rtems_get_build_label()`
+
+* `rtems_get_target_hash()`
+
+* `rtems_interrupt_clear()`
+
+* `rtems_interrupt_entry_initialize()`
+
+* `RTEMS_INTERRUPT_ENTRY_INITIALIZER()`
+
+* `rtems_interrupt_entry_install()`
+
+* `rtems_interrupt_entry_remove()`
+
+* `rtems_interrupt_get_affinity()`
+
+* `rtems_interrupt_get_attributes()`
+
+* `rtems_interrupt_handler_install()`
+
+* `rtems_interrupt_handler_iterate()`
+
+* `rtems_interrupt_handler_remove()`
+
+* `rtems_interrupt_is_pending()`
+
+* `rtems_interrupt_raise()`
+
+* `rtems_interrupt_raise_on()`
+
+* `rtems_interrupt_server_action_prepend()`
+
+* `rtems_interrupt_server_create()`
+
+* `rtems_interrupt_server_delete()`
+
+* `rtems_interrupt_server_entry_destroy()`
+
+* `rtems_interrupt_server_entry_initialize()`
+
+* `rtems_interrupt_server_entry_move()`
+
+* `rtems_interrupt_server_entry_submit()`
+
+* `rtems_interrupt_server_handler_install()`
+
+* `rtems_interrupt_server_handler_iterate()`
+
+* `rtems_interrupt_server_handler_remove()`
+
+* `rtems_interrupt_server_initialize()`
+
+* `rtems_interrupt_server_move()`
+
+* `rtems_interrupt_server_request_destroy()`
+
+* `rtems_interrupt_server_request_initialize()`
+
+* `rtems_interrupt_server_request_set_vector()`
+
+* `rtems_interrupt_server_request_submit()`
+
+* `rtems_interrupt_server_resume()`
+
+* `rtems_interrupt_server_set_affinity()`
+
+* `rtems_interrupt_server_suspend()`
+
+* `rtems_interrupt_set_affinity()`
+
+* `rtems_interrupt_vector_disable()`
+
+* `rtems_interrupt_vector_enable()`
+
+* `rtems_interrupt_vector_is_enabled()`
+
+* `RTEMS_MESSAGE_QUEUE_BUFFER()`
+
+* `rtems_message_queue_construct()`
+
+* `RTEMS_PARTITION_ALIGNMENT`
 
 * `rtems_task_construct()`
 
-* `RTEMS_TASK_STORAGE_SIZE`
+* `RTEMS_TASK_STORAGE_SIZE()`
 
 * `RTEMS_TASK_STORAGE_ALIGNMENT`
 
 #### API Implementation Improvements
 
+* The Classic API signal processing was reworked to avoid possible infinite
+  recursions.  It is still strongly recommended to use the `RTEMS_NO_ASR` task
+  mode for the signal handler.
+
 * Zero size allocation results are now consistent accross directives, for
   example `malloc( 0 )` and `posix_memalign( &p, align, 0 )` return now a
   unique pointer (or `NULL` if the heap is empty).  In POSIX, zero size memory
@@ -57,57 +161,69 @@ Implementation improvements usually fall into one of the following categories:
 
 * `rtems_iterate_over_all_threads()`.  Use `rtems_task_iterate()` instead.
 
-* `rtems_get_current_processor()`.  Use `rtems_scheduler_get_processor()` instead.
+* `_Copyright_Notice` is deprecated.  Use `rtems_get_copyright_notice()` instead.
 
-* `rtems_get_processor_count()`.  Use `rtems_scheduler_get_processor_maximum()` instead.
+* `_RTEMS_version` is deprecated.  Use `rtems_get_version_string()` instead.
 
-* `boolean` is deprecated.  Use `bool` instead.
+* `RTEMS_COMPILER_NO_RETURN_ATTRIBUTE` is deprecated. Use `RTEMS_NO_RETURN` instead.
 
-* `single_precision` is deprecated.  Use `float` instead.
+* `RTEMS_COMPILER_PURE_ATTRIBUTE` is deprecated. Use `RTEMS_PURE` instead.
 
-* `double_precision` is deprecated.  Use `double` instead.
+* `RTEMS_COMPILER_DEPRECATED_ATTRIBUTE` is deprecated. Use `RTEMS_DEPRECATED` instead.
 
-* `proc_ptr` is deprecated.  Use a proper function pointer type.
+* `RTEMS_COMPILER_UNUSED_ATTRIBUTE` is deprecated. Use `RTEMS_UNUSED` instead.
 
-* rtems_context
+* `RTEMS_COMPILER_PACKED_ATTRIBUTE` is deprecated. Use `RTEMS_PACKED` instead.
 
-* rtems_context_fp
+#### API Removals
 
-* rtems_extension
+* The obsoleted header file <rtems/system.h> was removed.
 
-* `rtems_io_lookup_name()` is deprecated. Use `stat()` instead.
+* The never implemented `rtems_interrupt_cause()` directive was removed.
 
-* region_information_block
+* Support for the RTEMS thread model used by GCC versions prior to 6.1 was
+  removed (for example `rtems_gxx_once()`).
 
-* `rtems_thread_cpu_usage_t` is deprecated. Use `struct timespec` instead.
+* The obsoleted `rtems_get_current_processor()` directive was removed.  Use
+  `rtems_scheduler_get_processor()` instead.
 
-* `rtems_rate_monotonic_period_time_t` is deprecated. Use `struct timespec` instead.
+* The obsoleted `rtems_get_processor_count()` directive was removed.  Use
+  `rtems_scheduler_get_processor_maximum()` instead.
 
-* `_Copyright_Notice` is deprecated.  Use `rtems_get_copyright_notice()` instead.
+* The obsoleted `boolean` type was removed.  Use `bool` instead.
 
-* `_RTEMS_version` is deprecated.  Use `rtems_get_version_string()` instead.
+* The obsoleted `single_precision` type was removed.  Use `float` instead.
 
-* `RTEMS_MAXIMUM_NAME_LENGTH` is deprecated. Use `sizeof(rtems_name)` instead.
+* The obsoleted `double_precision` type was removed.  Use `double` instead.
 
-* `RTEMS_COMPILER_NO_RETURN_ATTRIBUTE` is deprecated. Use `RTEMS_NO_RETURN` instead.
+* The obsoleted `proc_ptr` type was removed.  Use a proper function pointer
+  type.
 
-* `RTEMS_COMPILER_PURE_ATTRIBUTE` is deprecated. Use `RTEMS_PURE` instead.
+* The obsoleted `rtems_context` type was removed.
 
-* `RTEMS_COMPILER_DEPRECATED_ATTRIBUTE` is deprecated. Use `RTEMS_DEPRECATED` instead.
+* The obsoleted `rtems_context_fp` type was removed.
 
-* `RTEMS_COMPILER_UNUSED_ATTRIBUTE` is deprecated. Use `RTEMS_UNUSED` instead.
+* The obsoleted `rtems_extension` type was removed.  Use `void` instead.
 
-* `RTEMS_COMPILER_PACKED_ATTRIBUTE` is deprecated. Use `RTEMS_PACKED` instead.
+* The obsoleted `rtems_io_lookup_name()` type was removed. Use `stat()`
+  instead.
 
-* Including <rtems/system.h> is deprecated.  This header file will be removed in RTEMS 6.
+* The obsoleted `region_information_block` was removed.  Use
+  `Heap_Information_block` instead.
 
-#### API Removals
+* The obsoleted `rtems_thread_cpu_usage_t` type was removed. Use
+  `struct timespec` instead.
 
-* TBD
+* The obsoleted `rtems_rate_monotonic_period_time_t` type was removed. Use
+  `struct timespec` instead.
+
+* The obsoleted `RTEMS_MAXIMUM_NAME_LENGTH` define was removed. Use
+  `sizeof(rtems_name)` instead.
 
 ### SMP Support Improvements
 
-* TBD
+* The SMP scheduler framework was reworked to fix potential data corruption
+  issues and priority group ordering violations.
 
 ### Configuration Changes
 
@@ -139,7 +255,7 @@ The following improvements were made to the RTEMS Shell:
 
 ## Architectures
 
-Removed obsolete architectures:
+Removed obsoleted architectures:
 
 * Epiphany
 
@@ -157,9 +273,11 @@ Obsoleted architectures:
 
 * New BSPs
 
-    * BSPs for ARCH
+    * `arm/fvp`
+
+    * `arm/imxrt`
 
-        * `BSP` - TBD
+    * `arm/stm32h7`
 
 * Significant updates to existing BSPs
 
@@ -167,14 +285,14 @@ Obsoleted architectures:
 
 * Removal of obsoleted BSPs
 
-    * `ARCH/BSP`
-
     * `powerpc/brs5l`
 
     * `powerpc/brs6l`
 
     * `powerpc/dp2`
 
+    * `powerpc/haleakala`
+
     * `powerpc/mpc5566evb_spe`
 
     * `powerpc/mpc5643l_dpu`
@@ -203,8 +321,11 @@ Obsoleted architectures:
 
 ## Newlib Changes
 
-* TBD
+* Add `futimens()` and `utimensat()`
 
 ## Ecosystem
 
-* TBD
+* Improved GCOV support for RTEMS and embedded systems in general.  See GCC
+  options `-fprofile-info-section` and `-fprofile-update=atomic`.  The
+  `libgcov` provides now the `__gcov_info_to_gcda()` function to dump the GCOV
+  information.



More information about the vc mailing list