summaryrefslogtreecommitdiffstats
path: root/notes
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2022-11-10 14:28:00 +1100
committerChris Johns <chrisj@rtems.org>2022-11-10 14:28:00 +1100
commit706e57f11263462377205ccfb81b68a5e3c8a208 (patch)
tree31639a048ce0f8accdc8e9fc6b5b9384e7a45c43 /notes
parentrelease/kernel: Add waf build system support. (diff)
downloadrtems-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.md42
-rw-r--r--notes/rtems-notes-5.1.md376
-rw-r--r--notes/rtems-notes-5.2.md16
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>