No description
Find a file
Andy Ross 7cdf40541b kernel/sched: Eliminate PRESTART thread state
Traditionally threads have been initialized with a PRESTART flag set,
which gets cleared when the thread runs for the first time via either
its timeout or the k_thread_start() API.

But if you think about it, this is no different, semantically, than
SUSPENDED: the thread is prevented from running until the flag is
cleared.

So unify the two.  Start threads in the SUSPENDED state, point
everyone looking at the PRESTART bit to the SUSPENDED flag, and make
k_thread_start() be a synonym for k_thread_resume().

There is some mild code size savings from the eliminated duplication,
but the real win here is that we make space in the thread flags byte,
which had run out.

Signed-off-by: Andy Ross <andyross@google.com>
2024-11-27 10:38:05 -05:00
.github ci: compliance: Rebase on the target branch before running compliance 2024-11-27 06:57:52 -05:00
arch arch: riscv64: smp: get msip base address from dts 2024-11-27 06:58:57 -05:00
boards boards: nxp: frdm_rw612: add flash partitions 2024-11-27 10:37:21 -05:00
cmake device: export CMake pre-load from device subsystem enumeration script 2024-11-27 08:15:22 +01:00
doc doc: css: boards: fix font size for board name 2024-11-27 10:37:54 -05:00
drivers drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00
dts drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00
include/zephyr kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
kernel kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
lib posix: fix pthread thread specific data cleanup 2024-11-25 08:31:08 +01:00
misc
modules kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
samples samples: net: sockets: Add OT RCP config for echo client, server 2024-11-27 10:37:21 -05:00
scripts twister: filters: add ability to filter by vendor 2024-11-27 06:58:23 -05:00
share sysbuild: Add missing option for MCUboot encryption support 2024-10-30 08:54:33 -05:00
snippets dts: bindings: arm: nordic: tddconf: Add etrbuffer 2024-11-26 14:45:22 +00:00
soc drivers: openthread: nxp: Add a HDLC RCP communication 2024-11-27 10:37:21 -05:00
submanifests submanifests: optional: rust: Limit build targets 2024-11-13 13:36:17 -06:00
subsys kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
tests kernel/sched: Eliminate PRESTART thread state 2024-11-27 10:38:05 -05:00
.checkpatch.conf checkpatch: ignore EXPORT_SYMBOL 2024-04-05 12:19:36 +02:00
.clang-format clang-format: add entry for SYS_SEM_LOCK() 2024-10-03 17:07:05 +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 gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
.mailmap mailmap: missing entry for Manuel Argüelles 2024-08-05 18:36:50 -04:00
.ruff-excludes.toml doc: _scripts: conf: apply ruff lint rules 2024-11-26 15:43:52 -05:00
.ruff.toml scripts: ci: Add ruff configuration files 2024-11-19 18:36:54 -05:00
.yamllint
CMakeLists.txt device: export CMake pre-load from device subsystem enumeration script 2024-11-27 08:15:22 +01:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: add codeowner for SOF with Zephyr on AMD ACP_6_0. 2024-11-19 17:53:11 -05:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr kconfig: assume the host libc provides POSIX reentrant functions 2024-11-23 20:12:02 -05:00
LICENSE
MAINTAINERS.yml tests: drivers: build_all: Add a build_all test for usb 2024-11-26 15:44:52 -05: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 version.h.in: Do not use @template@ 2024-05-24 18:05:41 -04:00
west.yml west.yml: hal_nxp update from upstream 2024-11-27 10:37:21 -05: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