No description
Find a file
Andrew Jackson e183671808 kernel: Add k_event_set_masked primitive
There is no easy way to clear event bits without
the potential for a race to exist between producer(s)
and consumer(s). The result of this race is that events
can be lost through the various resetting mechanisms
available (flag to k_event_wait(), or k_event_set()).

Add k_event_set_masked() which permits bits to be set or cleared.
This allows consumers to clear just the bits that they have read
without (accidentally) discarding any new bits.

Update unit tests to verify the functionality.

Partly Fixes #46117.

Signed-off-by: Andrew Jackson <andrew.jackson@amd.com>
2022-07-25 15:24:32 -04:00
.github ci: doc-build: bump timeout up to 45m 2022-07-20 09:41:32 -05:00
arch arch: arm: cache: fix undefined references to cmsis 2022-07-25 09:40:32 +02:00
boards boards: Add EPD driver chip type to compatible strings 2022-07-25 15:16:43 +02:00
cmake dts: Introduce Kconfig.dts 2022-07-19 09:39:49 -07:00
doc doc: gen_devicetree_rest: Fix binding doc file name resolution 2022-07-25 15:18:27 +02:00
drivers drivers: dmic: remove old intel dmic driver 2022-07-25 13:14:49 -04:00
dts drivers: dmic: remove old intel dmic driver 2022-07-25 13:14:49 -04:00
include/zephyr kernel: Add k_event_set_masked primitive 2022-07-25 15:24:32 -04:00
kernel kernel: Add k_event_set_masked primitive 2022-07-25 15:24:32 -04:00
lib lib: os: spsc_pbuf: Improve data cache configuration 2022-07-18 12:21:16 -04:00
misc misc: generated: update configs.c template with <zephyr/...> prefix 2022-05-09 12:45:29 -04:00
modules modules: segger: Update header to use guard macros 2022-07-20 13:39:23 -05:00
samples samples: move sof under samples/modules 2022-07-25 14:41:37 -04:00
scripts ci: testplan: still run default tests with global changes 2022-07-22 11:00:23 -04:00
share cmake: support QUIET argument for find_package 2022-06-14 22:28:18 +02:00
soc drivers: dmic: remove old intel dmic driver 2022-07-25 13:14:49 -04:00
submanifests
subsys kernel: Use mask rather than boolean to update events 2022-07-25 15:24:32 -04:00
tests kernel: Add k_event_set_masked primitive 2022-07-25 15:24:32 -04:00
.checkpatch.conf
.clang-format clang-format: do not merge blocks/functions into single line 2022-07-15 19:18:28 -04:00
.codecov.yml
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes
.gitignore .gitignore: fix !doc/build pattern 2022-07-22 10:31:31 +02:00
.gitlint
.mailmap
CMakeLists.txt cmake: remove deprecation_warnings.cmake 2022-07-15 09:53:08 -05:00
CODE_OF_CONDUCT.md
CODEOWNERS Driver: dai: add author to codeowners 2022-07-14 16:25:39 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr kconfig: add support for warnings when enabling deprecated features 2022-07-15 09:53:08 -05:00
LICENSE
MAINTAINERS.yml MAINTAINERS: various path updates 2022-07-25 14:41:37 -04:00
README.rst readme: Update stale documentation links 2022-06-06 12:07:12 +02:00
VERSION version: Fix the EXTRAVERSION field 2022-06-05 20:11:17 +02:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml manifest: update zscilib module 2022-07-22 07:53:31 -04:00
zephyr-env.cmd
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-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:

* **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/develop/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/develop/getting_started/index.html#asking-for-help