No description
Find a file
Nicolas Pitre 7a3124d866 kernel: move current thread pointer management to core code
Define the generic _current directly and get rid of the generic
arch_current_get().

The SMP default implementation is now known as z_smp_current_get().
It is no longer inlined which saves significant binary size (about 10%
for some random test case I checked).

Introduce z_current_thread_set() and use it in place of
arch_current_thread_set() for updating the current thread pointer
given this is not necessarily an architecture specific operation.
The architecture specific optimization, when enabled, should only care
about its own things and not have to also update the generic
_current_cpu->current copy.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-01-10 07:49:08 +01:00
.github ci: Add junitparser to the west_cmds workflow 2025-01-10 04:12:42 +01:00
arch kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
boards Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
cmake sca: added support for Polyspace tool 2025-01-07 14:13:13 +01:00
doc Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
drivers Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
dts drivers: rtc: Add Micro Crystal RV-8803-C7 RTC driver 2025-01-09 23:26:37 +01:00
include/zephyr kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
kernel kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
lib Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
misc
modules hostap: support getting enterprise type by status cmd 2025-01-10 07:48:40 +01:00
samples mgmt: hawkbit: resume firmware downloads 2025-01-09 14:13:42 +01:00
scripts Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
share sysbuild: cmake: modules: kconfig: Fix changed CMake API 2024-12-27 10:51:56 +01:00
snippets snippets: wifi-ipv4: Increase max polling sockets 2025-01-03 11:39:13 +01:00
soc Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
submanifests modules: nanopb: Move pip dependencies to optional module 2024-12-19 15:20:11 +01:00
subsys Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
tests Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
.checkpatch.conf checkpatch: Adapt the braces check to Zephyr 2024-12-30 21:46:47 +01:00
.clang-format clang-format: add more whitespace sensitive macros 2024-12-19 08:39:10 +01:00
.codechecker.yml tests: Add a CodeChecker config file 2024-09-12 10:04:05 +02:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore scripts: ci: check_compliance: Add python lint/format check 2024-11-19 18:36:54 -05:00
.gitlint
.mailmap mailmap: remove duplicate emails and normalize mapping entries 2025-01-09 14:14:10 +01:00
.ruff-excludes.toml style: edtlib: Use a better type Annotations 2025-01-08 03:26:58 +01:00
.ruff.toml scripts: Update and lock ruff 2024-12-03 23:30:00 +00:00
.yamllint
CMakeLists.txt security: Add default stack protection level 2024-12-20 12:37:20 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.rst
Kconfig
Kconfig.constants
Kconfig.zephyr UF2: Enable support for Raspberry Pi RP2350 2024-12-23 23:57:57 +01:00
LICENSE
MAINTAINERS.yml maintainers: add uLipe as collaborator on the OpenAMP 2025-01-09 15:50:48 +01:00
README.rst README: drop the stray link underscores between badges 2024-09-26 15:20:39 +01:00
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.17.0 2024-10-22 19:04:37 -04:00
VERSION release: Zephyr v4.0.99 2024-11-16 13:40:34 +01:00
version.h.in
west.yml manifest: update hal_microchip version include PIC32CX 2025-01-09 23:26:57 +01: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://scorecard.dev/viewer/?uri=github.com/zephyrproject-rtos/zephyr"><img src="https://api.securityscorecards.dev/projects/github.com/zephyrproject-rtos/zephyr/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