[rtems-release commit] Update rtems-notes-5.txt

Sebastian Huber sebh at rtems.org
Wed May 6 12:58:32 UTC 2020


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon May  4 16:48:16 2020 +0200

Update rtems-notes-5.txt

---

 rtems-notes-5.txt | 236 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 209 insertions(+), 27 deletions(-)

diff --git a/rtems-notes-5.txt b/rtems-notes-5.txt
index 3d319b1..3e8b779 100644
--- a/rtems-notes-5.txt
+++ b/rtems-notes-5.txt
@@ -8,68 +8,179 @@ the implementation of those API routines.
 Public API changes usually fall into one of the following categories:
 
 * Addition of new methods
+
 * Modifications to prototypes
+
 * Deletion of obsoleted methods
 
 Implementation improvements usually fall into one of the following categories:
 
 * Algorithm improvements in execution time or memory usage
+
 * Critical section reduction
 
 ### API Changes
 
+* The header file <rtems.h> no longer includes <limits.h> and <string.h>.
+
 * Most services use now statically allocated resources and no longer need
   accounting in the application configuration.
+
 * The work area initialization (RTEMS Work Space and C Program Heap) changed.
   BSPs must provide now a `_Memory_Get()` function.
+
 * POSIX timers and signals are now the only POSIX resources which are enabled
   by the POSIX API.
 
 #### API Additions
 
 * Support for recording of high-frequency events in particular on SMP systems
+
 * Support for thread pinning (enables support for Epoch Based Reclamation; used
   by libbsd)
+
 * Termios supports now generation of signals.
+
 * New fatal sources:
+
   * `RTEMS_FATAL_SOURCE_EXCEPTION`
+
   * `RTEMS_FATAL_SOURCE_PANIC`
+
   * `RTEMS_FATAL_SOURCE_SMP`
+
   * `RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE`
+
   * `RTEMS_FATAL_SOURCE_HEAP`
 
+* New chain API function: rtems_chain_get_first_unprotected()
+
+* Add user defined thread names: pthread_setname_np() and pthread_getname_np()
+
+* Support for xz compression/decompression
+
+* Added rtems_scheduler_ident_by_processor()
+
+* Added rtems_scheduler_ident_by_processor_set()
+
+* Added RTEMS_PREDICT_TRUE() and RTEMS_PREDICT_FALSE() for static branch prediction hints
+
+* Added rtems_malloc() and rtems_calloc()
+
+* Added rtems_scheduler_get_maximum_priority()
+
+* Added rtems_scheduler_get_processor()
+
+* Added rtems_scheduler_get_processor_maximum()
+
 #### API Implementation Improvements
 
-* TBD
+* Priority inheritance is now transitive.
+
+* POSIX key destructors are now called during thread restart.
+
+* More robust thread dispatching on SMP and ARM Cortex-M
 
 #### API Deprecations
 
 * `rtems_iterate_over_all_threads()`.  Use `rtems_task_iterate()` instead.
 
+* `rtems_get_current_processor()`.  Use `rtems_scheduler_get_processor()` instead.
+
+* `rtems_get_processor_count()`.  Use `rtems_scheduler_get_processor_maximum()` instead.
+
+* proc_ptr
+
+* rtems_context
+
+* rtems_context_fp
+
+* region_information_block
+
+* rtems_thread_cpu_usage_t
+
+* rtems_rate_monotonic_period_time_t
+
 #### API Removals
 
 * `rtems_clock_get()`
 
+* API defined by <rtems/debug.h>
+
+* Task notepads
+
+* Task variables
+
+### SMP Support Improvements
+
+* Reimplemenation of the Multiprocessor Resource Sharing Protocol (MrsP) to
+  address performance issues.
+
+* Implementation of the O(m) Independence-Preserving Protocol (OMIP).
+
+* The default SMP scheduler supports now EDF scheduling, one-to-one and
+  one-to-all thread to processor affinities, and thread pinning.
+
+* Timers (watchdogs) use now per-processor data structures.
+
+* Improved POSIX key to value look up.
+
+* The Ada runtime supports now SMP configurations.
+
 ### Configuration Changes
 
 * All configuration options are now documented.
+
 * Most resources are now statically allocated and no longer use the workspace.
+
 * New configuration options:
-  * `CONFIGURE_DIRTY_MEMORY`
-  * `CONFIGURE_RECORD_EXTENSIONS_ENABLED`
-  * `CONFIGURE_RECORD_FATAL_DUMP_BASE64`
-  * `CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB`
-  * `CONFIGURE_RECORD_PER_PROCESSOR_ITEMS`
-  * `CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION`
+
+    * `CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`
+
+    * `CONFIGURE_DIRTY_MEMORY`
+
+    * `CONFIGURE_RECORD_EXTENSIONS_ENABLED`
+
+    * `CONFIGURE_RECORD_FATAL_DUMP_BASE64`
+
+    * `CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB`
+
+    * `CONFIGURE_RECORD_PER_PROCESSOR_ITEMS`
+
+    * `CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION`
+
+    * `CONFIGURE_IMFS_ENABLE_MKFIFO`
+
+* Renamed configuration options:
+
+    * `CONFIGURE_SMP_MAXIMUM_PROCESSORS` to `CONFIGURE_MAXIMUM_PROCESSORS`
+
+    * `CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS` to `CONFIGURE_MAXIMUM_FILE_DESCRIPTORS`
+
 * Removed configuration options:
-  * `CONFIGURE_HAS_OWN_CONFIGURATION_TABLE`
-  * `CONFIGURE_HAS_OWN_BDBUF_TABLE`
-  * `CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE`
-  * `CONFIGURE_HAS_OWN_FILESYSTEM_TABLE`
-  * `CONFIGURE_HAS_OWN_INIT_TABLE`
-  * `CONFIGURE_HAS_OWN_MOUNT_TABLE`
-  * `CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE`
-  * `CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE`
+
+    * `CONFIGURE_SMP_APPLICATION`
+
+    * `CONFIGURE_HAS_OWN_CONFIGURATION_TABLE`
+
+    * `CONFIGURE_HAS_OWN_BDBUF_TABLE`
+
+    * `CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE`
+
+    * `CONFIGURE_HAS_OWN_FILESYSTEM_TABLE`
+
+    * `CONFIGURE_HAS_OWN_INIT_TABLE`
+
+    * `CONFIGURE_HAS_OWN_MOUNT_TABLE`
+
+    * `CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE`
+
+    * `CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE`
+
+    * `CONFIGURE_DISABLE_SMP_CONFIGURATION`
+
+    * `CONFIGURE_MAXIMUM_DEVICES`
+
 * The helper macro for the clustered scheduler configuration
   `RTEMS_SCHEDULER_EDF_SMP()` has now only one parameter.
 
@@ -83,6 +194,9 @@ The following improvements were made to the RTEMS Shell:
 
 ## General
 
+* The system initialization is now performed by system initialization handlers
+  registered in a special linker set (similar to global constructors in C++).
+
 * API header files have been collected from the various locations in the RTEMS
   source tree and placed under `cputkit/include` and for BSPs under
   `bsps/include`. There is no header pre-install phase when building RTEMS.
@@ -103,30 +217,98 @@ The following improvements were made to the RTEMS Shell:
   support. Currently the supported architectures are i386 and ARM. The ARM
   support is experimental.
 
+* Most BSP use now function and data sections to support the linker garbage
+  collection.
+
 * This is the last release of RTEMS with the `autoconf`/`automake` build
   system. RTEMS will be moving to a `waf` based build system driven from YAML
   specifications files. The effort is part of the on-going wotk in the RTEMS
   project to support qualification of the operating system.
 
+## Architectures
+
+Removed obsolete architectures:
+
+* AVR
+
+* H8300
+
+* M32C
+
+* M32R
+
+Obsoleted architectures:
+
+* Epiphany
+
 ## BSPs and Device Drivers
 
 * General
-  * BSP source code moved from `c/src/lib/libbsp` to `bsps` in the
-    source tree. The configure and some other related pieces are still
-	held in the original path.
+
+    * BSP source code moved from `c/src/lib/libbsp` to `bsps` in the
+      source tree. The configure and some other related pieces are still held in
+      the original path.
+
 * New BSPs
-  * BSPs for ARM
-    * `atsamv` - Microchip (former Atmel) SAM V71 series
-    * `xilinx-zynqmp` - Xilinx Zynq UltraScale+ MPSoC platform
-  * BSPs for RISC-V
-    * `riscv` - Family of generic BSPs
-    * `griscv` - BSP based on the GRLIB
+
+    * BSPs for ARM
+
+        * `atsamv` - Microchip (former Atmel) SAM V71 series
+
+        * `xilinx-zynqmp` - Xilinx Zynq UltraScale+ MPSoC platform
+
+    * BSPs for RISC-V
+
+        * `riscv` - Family of generic BSPs
+
+        * `griscv` - BSP based on the GRLIB
+
 * Significant updates to existing BSPs
-  * `powerpc/qoriq`: 64-bit support
+
+    * `powerpc/qoriq`: 64-bit support
+
 * Removal of obsoleted BSPs
-  * `gdbarmsim`
+
+    * `arm/gdbarmsim`
+
+    * `arm/nds`
+
+    * `arm/gp32`
+
+    * `arm/ep1a`
+
+    * `arm/score603e`
+
+    * `m68k/idp`
+
+* Obsoleted BSPs
+
+    * powerpc/mbx8xx
+
+    * m68k/gen68302
+
+    * m68k/ods68302
+
 * Drivers
-  * Drivers for `getentropy()`
+
+    * Drivers for `getentropy()`
+
+    * New I2C device driver framework supporting the Linux user-space API
+
+    * New SPI device driver framework supporting the Linux user-space API
+
+## Newlib Changes
+
+* time_t is now 64-bit to adress the year 2038 problem.
+
+* General improvements in the feature test macros support.
+
+* Newlib internal locks are now supported, e.g. for FILE objects.
+
+* The standard input, output, and error FILE objects are now global and no
+  longer thread-specific.
+
+* Added support for C++17 std::aligned_alloc
 
 ## Ecosystem
 



More information about the vc mailing list