Go to file
Martin Åberg fd4e66499c SPARC: Update the Flush windows software trap
This commit re-implements the SPARC V8 ABI "Flush windows" software
trap. The trap is generated by C++ compilers for exceptions and also by
the C standard library function longjmp().

There were two issues with the previous implementation:
1. It did reads and writes via the stack pointer of the trap window,
   which is not defined.
2. It executed with traps enabled but without the processor run-time
   state set to safely handle traps. In particular there was no valid
   stack for trap processing. Even though interrupt priority was set to
   highest level, the behavior at other traps was not deterministic. For
   example non-maskable interrupt (15) trap or bus error trap for
   instruction fetch.

This new implementation does not store backup copies of CPU registers to
the stack, and it executes with traps disabled.

Fixes #63901

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-25 09:54:31 -05:00
.github ci: test using Python 3.11 as well 2023-10-25 10:06:01 +02:00
arch SPARC: Update the Flush windows software trap 2023-10-25 09:54:31 -05:00
boards nrf53_bsim: Get IPC shared memory buffer size from DT 2023-10-25 17:31:59 +03:00
cmake cmake: extra_flags: Use zephyr_get 2023-10-24 11:35:27 +02:00
doc Bluetooth: Mesh: Update spec ref 1.0.1->1.1 2023-10-25 14:50:14 +02:00
drivers drivers: ethernet: fix adin2111 devicetree init to work with adin1110 2023-10-25 09:57:37 +02:00
dts dts: bindings: add adxl367 support 2023-10-25 09:57:02 +02:00
include/zephyr Bluetooth: Mesh: Update spec ref 1.0.1->1.1 2023-10-25 14:50:14 +02:00
kernel kernel: disable THREAD_USERSPACE_LOCAL_DATA if LIBC_ERRNO 2023-10-24 20:23:11 -04:00
lib lib/posix clock: Add missing kconfig dependency 2023-10-25 09:58:07 +02:00
misc cmake: modules: dts: use devicetree stub file 2023-10-20 12:18:17 -07:00
modules Revert "modules: tinycrypt: Options only when module is available" 2023-10-25 11:04:43 +02:00
samples samples ipc static_vrings: Convert to sysbuild 2023-10-25 17:31:27 +03:00
scripts scripts: twister: get status of coverage data processing 2023-10-25 09:57:15 +02:00
share sysbuild: Support SB_CONF_FILE and SB_EXTRA_CONF_FILE as lists 2023-10-11 18:25:05 +03:00
snippets snippets: xen_dom0: add support for Renesas R-Car Gen3 boards 2023-09-15 11:15:00 +01:00
soc boards: Add support for the NXP MIMXRT595 DSP core 2023-10-25 09:55:10 -04:00
submanifests manifest: zsclib module sha 2023-10-20 15:04:29 +02:00
subsys Bluetooth: Mesh: Correct pack of net idx hb_status 2023-10-25 14:50:22 +02:00
tests tests/posix/common: Fix filtering for POSIX arch 2023-10-25 07:44:12 -04:00
.checkpatch.conf
.clang-format clang-format: flag *_SECTION_FOREACH as for loop 2023-05-26 11:04:54 -05:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: compliance: add a check for missing west area maintainer enties 2023-09-14 08:13:57 -07:00
.gitlint .gitlint: de-duplicate defaults with zephyr_commit_rules.py 2023-09-21 09:29:24 +02:00
.mailmap mailmap: sort alphabetically 2023-05-15 13:23:32 -04:00
.yamllint
CMakeLists.txt scripts: build: gen_isr_tables: Cleanup access to ".intList" 2023-10-20 14:58:55 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS drivers: serial: uart_intel_lw: add driver 2023-10-21 11:54:23 +02:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr Kconfig.zephyr: Add NATIVE_LIBC and NATIVE_LIBCPP 2023-10-25 08:32:06 +02:00
LICENSE
MAINTAINERS.yml MAINTAINERS: add myself as maintainer for Samples 2023-10-23 11:08:44 +02:00
README.rst doc: README: Rework Resources section 2023-10-17 19:05:20 +03:00
VERSION release: bump main to v3.5.99 2023-10-20 14:32:45 +03:00
version.h.in kernel: banner: Allow for customising version 2023-08-21 10:09:46 +02:00
west.yml linker: esp32: fix linker to enable proper MMU usage 2023-10-25 09:57:48 +02:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </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-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, 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:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks