Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Major Changes to Core OS

New Features

PR-977 PR-987 PR-998 PR-995 PR-997 PR-1007 Thread Local Storage (TLS) is now a required feature and used by all archetectures

There is detailed information onthe implemnation details and how this impacts errno specificaly in the Wiki article: Userspace errno and TLS

PR-957 PR-947 PR-963 PR-969 Provide nx_ versions of many functions that are used internally to avoid disrupting errno in userspace

PR-965 PR-980 PR-984 ioctl is now always in the variadic form syscalls in KERNEL builds are also more efficent with this as well now.

Previously the ioctl prototype was normally defined as

int ioctl(int fd, int cmd, unsigned long arg);

unless the CONFIG_LIBC_IOCTL_VARIADIC was enabled in which case it was

int ioctl(int fd, int cmd, ...);
This form is now the form defined by opengroup and is also inline with Linux.  Prior to this change there were issues with making ioctl calls on 64-bit arch since the implemenation assumed that (void *) would be of size long.  There is more dicussion of this issue in the GitHub issue ticket here:

https://github.com/apache/incubator-nuttx/issues/959

PR-962 PR-964 Add new interface sched_get_stackinfo that simplifies interfaces for things like TLS

There are some security imposed rules for using this interface

  1. Any thread may query its own stack,
  2. A kernel thread may query the stack of any other thread
  3. Application threads, however, may query only the stacks of threads within the same task group, i.e., the main thread and any of the child pthreads created with the main thread as a parent or grandparent or great-grandparent.

Bug Fixes

Many private architecture interfaces were using 'up_' instead of the arch name 'arm_'

This fix is carried over many PRs such as PR-924.  Many files also carried this same error in naming convention and were converted as well.this same error in naming convention and were converted as well.

PR-1018 PR-1017 PR-1021 PR-1022 PR-1057 Clean up internal APIs that were not using the propery naming conventions

PR-857 Wrong value for it_interval field in timespec returned by timer_gettime

...

This function requires traversing the VA_LIST twice.  For some archetectures architectures like x86 and x86_64 this needs to be cloned first.

...

  • Interface to select the core regulator voltage according to clock frequency range
  • Usage of this interface during clock configuration according to chosen clock frequency
  • Option to choose a different system clock than the main PLL (there is HSI, MSI, HSE and LSE available to use)
  • Option to not enable the main PLL which allows for reduced power usage when setting one of the above options as system clock, to do this you should define STM32L4_BOARD_NOPLL on your board header.

PR-960 STM32: Add support for ADC features EXTSEL and JEXTSEL

PR-905 x86_64: Resolve linking issue when building with gcc 7 and 9.

...

Improvements

PR-185 PR-828 nshlib : 1.

  • Add the source command.

...

  • Avoid

...

  • use of sh where it is not needed since it pollutes the parent environment

...

  • including the working directory

...

  • and variables

...

  • .

...

Bug Fixes

Security Issues Fixed In This Release

...