No description
Find a file
Jimmy Brisson 35f9a5d715 cortex-m: Abort pending SVC when a thread is killed
If an SVC was pending during the stack overflow, it will run
after the return of the memory manage fault. To the SVC's misfortune of
the SVC handler, the it's invariant, that PSP point to the
hardware-stacked context is no longer valid. When the user has a
k_sys_fatal_error_handler that tries to kill the thread that caused a
stack overflow, this manifests as the svc reading the memory of whatever
is on the stack after being adjusted by the mem manage fault handler, and
that leads to unending, spurious hard faults, locking up the system.

This patch prevents that.

Signed-off-by: Jimmy Brisson <jimmy.brisson@linaro.org>
2022-04-01 09:16:27 -05:00
.github gh: actions: Triggger the do not merge after manifest runs 2022-04-01 10:12:55 -04:00
arch cortex-m: Abort pending SVC when a thread is killed 2022-04-01 09:16:27 -05:00
boards boards: arm: enable mailbox on NXP i.MX8M Plus EVK 2022-04-01 13:30:49 +02:00
cmake devicetree_regions: Remove path fallback and sanitize name 2022-03-31 10:29:31 +02:00
doc usb: move USB device stack code to own directory 2022-03-31 18:30:14 +02:00
drivers drivers: serial: nrf_uarte: Fix NO_OPTIMIZATION compilation 2022-04-01 16:03:56 +02:00
dts soc/cavs: Fix warning in intel_cavs.dtsi 2022-04-01 09:12:20 -04:00
include ipc_service: Extend API with nocopy functions 2022-04-01 09:05:06 -05:00
kernel kernel: Remove idle thread cpu index on single-core devices 2022-03-30 10:08:48 -04:00
lib lib: posix: clock: Prevent early overflows 2022-04-01 09:37:41 +02:00
misc cmake: only write devicetree files when there are changes. 2022-02-11 15:47:09 +01:00
modules Bluetooth: LC3: Addition of liblc3codec for LE-Audio as a module 2022-03-30 14:18:01 +02:00
samples sample: static_vrings: Use NOCOPY capability. 2022-04-01 09:05:06 -05:00
scripts scripts: logging/dictionary: generate MIPI Sys-T collateral 2022-04-01 13:29:45 +02:00
share cmake: zephyr-package: add message mode 2022-03-23 13:24:41 +01:00
soc dma/cavs_hda: Provide pending/free byte lengths 2022-04-01 09:12:20 -04:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys ipc_service: static_vrings: Add NOCOPY capability 2022-04-01 09:05:06 -05:00
tests soc/intel_adsp: Require definitions for cavs_hda.h 2022-04-01 09:12:20 -04:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore gitignore: ignore macos DS_Store files 2021-11-03 16:14:20 -04:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt logging: syst: add support for catalog messages 2022-04-01 13:29:45 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: add myself for samples/subsys/logging/syst 2022-04-01 13:29:45 +02:00
CONTRIBUTING.rst doc: Fixed a link in CONTRIBUTING.rst 2019-02-28 12:46:04 -08:00
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr kconfig: tweak Kconfig prompts 2022-03-09 15:35:54 +01:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Update collaborators for ARM Arch 2022-03-30 08:20:07 -04:00
README.rst readme: make README logo dark-mode aware 2022-02-15 19:47:48 +01:00
VERSION VERSION: bump patchlevel to 99 2022-02-21 19:05:46 -05:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml west.yaml: hal_stm32: STM32Cube packages update 2022-04-01 13:29:58 +02:00
zephyr-env.cmd scripts: remove west from scripts/ 2019-01-29 10:15:01 +01:00
zephyr-env.sh everywhere: fix typos 2022-03-18 13:24:08 -04:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.svg">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help