diff options
author | Chris Johns <chrisj@rtems.org> | 2022-11-10 14:28:00 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2022-11-10 14:28:00 +1100 |
commit | 706e57f11263462377205ccfb81b68a5e3c8a208 (patch) | |
tree | 31639a048ce0f8accdc8e9fc6b5b9384e7a45c43 /notes | |
parent | release/kernel: Add waf build system support. (diff) | |
download | rtems-release-706e57f11263462377205ccfb81b68a5e3c8a208.tar.bz2 |
release/notes: Move release notes into a notes directory
Diffstat (limited to 'notes')
-rw-r--r-- | notes/rtems-notes-4.11.md | 42 | ||||
-rw-r--r-- | notes/rtems-notes-5.1.md | 376 | ||||
-rw-r--r-- | notes/rtems-notes-5.2.md | 16 |
3 files changed, 434 insertions, 0 deletions
diff --git a/notes/rtems-notes-4.11.md b/notes/rtems-notes-4.11.md new file mode 100644 index 0000000..d9a2809 --- /dev/null +++ b/notes/rtems-notes-4.11.md @@ -0,0 +1,42 @@ +#! /bin/sh +# +# RTEMS Tools Project (http://www.rtems.org/) +# Copyright 2015-2017 Chris Johns (chrisj@rtems.org) +# All rights reserved. +# +# This file is part of the RTEMS Tools package in 'rtems-tools'. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +# +# The script is the overridded configuration for 4.11. +# +rtems_readme_release_notes="$(cat <<- EOF +- The rtems-libbsd package is experimental in this release. + You need to closely evaluate it's suitablility for production. + +- SMP support is experimental in this release and we recommend a + later release. +EOF +)" diff --git a/notes/rtems-notes-5.1.md b/notes/rtems-notes-5.1.md new file mode 100644 index 0000000..3737199 --- /dev/null +++ b/notes/rtems-notes-5.1.md @@ -0,0 +1,376 @@ +## RTEMS 5.1 Release Notes + +### RTEMS Improvements + +In this section, we discuss public API level changes as well as improvements to +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 + +* 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 + +* 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. + +* `boolean` is deprecated. Use `bool` instead. + +* `single_precision` is deprecated. Use `float` instead. + +* `double_precision` is deprecated. Use `double` instead. + +* `proc_ptr` is deprecated. Use a proper function pointer type. + +* rtems_context + +* rtems_context_fp + +* rtems_extension + +* `rtems_io_lookup_name()` is deprecated. Use `stat()` instead. + +* region_information_block + +* `rtems_thread_cpu_usage_t` is deprecated. Use `struct timespec` instead. + +* `rtems_rate_monotonic_period_time_t` is deprecated. Use `struct timespec` instead. + +* `_Copyright_Notice` is deprecated. Use `rtems_get_copyright_notice()` instead. + +* `_RTEMS_version` is deprecated. Use `rtems_get_version_string()` instead. + +* `RTEMS_MAXIMUM_NAME_LENGTH` is deprecated. Use `sizeof(rtems_name)` instead. + +* `RTEMS_COMPILER_NO_RETURN_ATTRIBUTE` is deprecated. Use `RTEMS_NO_RETURN` instead. + +* `RTEMS_COMPILER_PURE_ATTRIBUTE` is deprecated. Use `RTEMS_PURE` instead. + +* `RTEMS_COMPILER_DEPRECATED_ATTRIBUTE` is deprecated. Use `RTEMS_DEPRECATED` instead. + +* `RTEMS_COMPILER_UNUSED_ATTRIBUTE` is deprecated. Use `RTEMS_UNUSED` instead. + +* `RTEMS_COMPILER_PACKED_ATTRIBUTE` is deprecated. Use `RTEMS_PACKED` instead. + +* Including <rtems/system.h> is deprecated. This header file will be removed in RTEMS 6. + +#### 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). + +* Support for thread pinning (enables support for Epoch Based Reclamation; used + by libbsd) + +* 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_MAXIMUM_THREAD_NAME_SIZE` + + * `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` + + * `CONFIGURE_IMFS_DISABLE_MKNOD_FILE` + +* 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_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. + +## RTEMS Shell Improvements + +The following improvements were made to the RTEMS Shell: + +* Telnet now supports `joel` script output. Running a `joel` script in a + telnet session now sees the output. Nested `joel` scripts also output to the + telnet session. + +## 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. + +* Improved parallel build performance. Nested `make` calls now run in + parallel. + +* Added support for the RISC-V 32-bit and 64-bit architecture. + +* Added support for the 64-bit PowerPC architecture using the ELFv2 ABI. + +* Synchronized support for Journalling Flash File System, Version 2 (JFFS2) + with Linux 4.17. + +* Import of libfdt from device tree compiler project. + +* Added `libdebugger`, a thread aware GDB debug server with TCP transport + 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 + +* PowerPC SPE + +## 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. + +* 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 + +* Significant updates to existing BSPs + + * `powerpc/qoriq`: 64-bit support + +* Removal of obsoleted BSPs + + * `arm/gdbarmsim` + + * `arm/nds` + + * `arm/gp32` + + * `arm/ep1a` + + * `arm/score603e` + + * `m68k/idp` + +* Obsoleted BSPs + + * `m68k/gen68302` + + * `m68k/ods68302` + + * `powerpc/brs5l` + + * `powerpc/brs6l` + + * `powerpc/dp2` + + * `powerpc/mbx8xx` + + * `powerpc/mpc5566evb_spe` + + * `powerpc/mpc5643l_dpu` + + * `powerpc/mpc5643l_evb` + + * `powerpc/mpc5674f_ecu508_app` + + * `powerpc/mpc5674f_ecu508_boot` + + * `powerpc/mpc5674fevb_spe` + + * `powerpc/mpc5674f_rsm6` + +* Drivers + + * 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 + +* RSB support to build a BSP software stack of tools, kernel, libbsd, and + supported 3rd party packages. + +* RTEMS Tester (`rtems-test`) support for DHCP/TFTP target hardware testing. + +* RTEMS Trace addition of a new trace record support for target tracing. + +* RTEMS Bootimage, a tool to portably create SD card images. diff --git a/notes/rtems-notes-5.2.md b/notes/rtems-notes-5.2.md new file mode 100644 index 0000000..1839cbe --- /dev/null +++ b/notes/rtems-notes-5.2.md @@ -0,0 +1,16 @@ +## RTEMS 5.2 Release Notes + +### API Changes + +* Termios + * `txTaskCharsDequeued` has been added to `struct rtems_termios_tty`. With + that the size of the structure changed. Libraries and applications that use + the structure should be recompiled. + * The `l_start` line discipline function now receives the number of characters + that have been sent. It is save to ignore the extra parameter for + applications that don't need it. + +#### API Additions + +* NTP support + * Addition of NTP update second handler via _Timecounter_Set_NTP_update_second() from <rtems/score/timecounter.h> |