Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
Go to file
Ederson de Souza be28de692c arch/riscv: Use arch_switch() for context swap
Enable `arch_switch()` as preparation for SMP support. This patch
doesn't try to keep support for old style context swap - only switch
based swap is supported, to keep things simple.

A fair amount of refactoring was done in this patch, specially regarding
the code that decides what to do about the ISR. In RISC-V, ECALL
instructions are used to signalize several events, such as user space
system calls, forced syscall, IRQ offload, return from syscall and
context switch. All those handled by the ISR - which also handles
interrupts. After refactor, this "dispatching" step is done at the
beginning of ISR (just after saving generic registers).

As with other platforms, the thread object itself is used as the thread
"switch handle" for the context swap.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-02-25 19:13:50 -05:00
.github ci: make git credentials non-persistent 2022-02-24 09:00:07 -08:00
arch arch/riscv: Use arch_switch() for context swap 2022-02-25 19:13:50 -05:00
boards soc/intel_adsp: add intel_adsp_cavs25_tgph board 2022-02-25 14:28:45 -06:00
cmake cmake: test CMake and issue error if using 3.22.1 / 3.22.2 from PyPI 2022-02-25 10:16:25 -08:00
doc cmake: Add xcc-clang toolchain 2022-02-25 11:17:06 -05:00
drivers drivers: display: Update the MCUX ELCDIF driver 2022-02-25 13:35:58 -06:00
dts soc/intel_adsp: add intel_adsp_cavs25_tgph board 2022-02-25 14:28:45 -06:00
include arch/riscv: Implement arch_curr_cpu() 2022-02-25 19:13:50 -05:00
kernel kernel: mmu: add a log line for z_phys_unmap 2022-02-24 08:38:38 -06:00
lib ring_buffer: make the normal "raw" byte mode first 2022-02-24 14:49:00 -08:00
misc cmake: only write devicetree files when there are changes. 2022-02-11 15:47:09 +01:00
modules modules: lvgl: add stubs for Kconfig symbols overridden in-tree 2022-02-24 16:37:33 -08:00
samples soc/intel_adsp: add intel_adsp_cavs25_tgph board 2022-02-25 14:28:45 -06:00
scripts scripts: add board revision help text for west build 2022-02-24 13:44:01 -08:00
share cmake: support sub-component loading in zephyr_default module 2022-02-23 11:34:22 -08:00
soc soc/intel_adsp: add intel_adsp_cavs25_tgph board 2022-02-25 14:28:45 -06:00
submanifests
subsys Bluetooth: Host: Remove experimental tag from periodic adv and sync 2022-02-25 21:59:49 +02:00
tests tests/bluetooth/tester: Add support for rejecting connection parameters 2022-02-25 10:09:09 -08:00
.checkpatch.conf
.clang-format
.codecov.yml
.editorconfig
.gitattributes
.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
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt cmake: emu: allow emulation to be OOT 2022-02-21 22:10:42 -05:00
CODEOWNERS CODEOWNERS: Removed vanwinkeljan 2022-02-21 22:14:15 -05:00
CODE_OF_CONDUCT.md
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr soc: rp2040: Added UF2 output file support 2022-02-02 16:23:35 +01:00
LICENSE
MAINTAINERS.yml MAINTAINERS.yml: Remove myself as maintainer 2022-02-25 08:47:11 -05: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 manifest: update hal_nordic revision 2022-02-24 13:50:42 -08:00
zephyr-env.cmd
zephyr-env.sh

README.rst

.. 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