Go to file
Christopher Friedt 0d7ef2297b posix: mutex: use k_mutex instead of posix_mutex
The internal representation of `pthread_mutex_t`,
`struct posix_mutex`, is basically a clone of `struct k_mutex`
but without the benefit of being able to use all of the
existing `k_mutex_*()` suite of functions.

The first step in the right direction was switching
the external representation of `pthread_mutex_t` to a simple
`int`. Let's take the next step in the right direction, which
is getting rid of `struct posix_mutex`.

The only significant difference between `struct k_mutex` and
`struct posix_mutex` is that the latter needs a `type` field.

Since there were a fixed number of `struct posix_mutex`, we
can just externalize the `type` field and reuse
`struct k_mutex` as-is.

For now, let's keep this change as a simple type
substitution. Eventually, we should be able to fully switch
to Zephyr API internally.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-06-09 12:27:04 -04:00
.github CI: bsim workflow: Fix getting bsim revision 2023-06-08 11:49:17 -04:00
arch riscv: Rename Kconfig symbol to *_PRIVILEGED 2023-06-09 11:46:29 -04:00
boards samples: Bluetooth: hci_usb: Disable USB_CDC_ACM 2023-06-09 11:44:02 -04:00
cmake USB-C: genVIF: Cleanup and add support to pick static data from input 2023-05-26 13:54:43 -04:00
doc templates: change template file namaes for proper sorting 2023-06-08 07:32:45 -04:00
drivers riscv: Rename Kconfig symbol to *_PRIVILEGED 2023-06-09 11:46:29 -04:00
dts stm32g4: adc345: set resolutions & sampling-times in dtsi 2023-06-09 05:14:42 -04:00
include/zephyr posix: pthread: reimplement pthread_barrier using zephyr objects 2023-06-09 12:27:04 -04:00
kernel pm: Fix cpus active count 2023-06-01 10:05:31 +02:00
lib posix: mutex: use k_mutex instead of posix_mutex 2023-06-09 12:27:04 -04:00
misc
modules tracing: sysview: implement RTT channel selection through KConfig 2023-06-08 06:51:03 -04:00
samples samples: Bluetooth: hci_usb: Disable USB_CDC_ACM 2023-06-09 11:44:02 -04:00
scripts ci: testplan: do not start more runners than needed 2023-06-08 07:33:56 -04:00
share sysbuild: Fix value propagation of signature type to MCUboot 2023-06-08 06:51:33 -04:00
snippets snippets: support for EXTRA_DTC_OVERLAY_FILE and EXTRA_CONF_FILE 2023-05-25 13:31:53 +00:00
soc riscv: Move directory to *-privileged 2023-06-09 11:46:29 -04:00
submanifests
subsys shell: Fix shell_vfprintf when vt100 is disabled 2023-06-09 11:44:49 -04:00
tests posix: pthread: reimplement pthread_barrier using zephyr objects 2023-06-09 12:27:04 -04:00
.checkpatch.conf
.clang-format clang-format: flag *_SECTION_FOREACH as for loop 2023-05-26 11:04:54 -05:00
.codecov.yml yamllint: fix all yamllint comments errors 2023-01-04 01:16:45 +09:00
.editorconfig
.gitattributes
.gitignore tests bsim/net: Separate bsim networking and bluetooth tests. 2023-04-12 22:42:03 +09:00
.gitlint
.mailmap mailmap: sort alphabetically 2023-05-15 13:23:32 -04:00
.yamllint scripts: compliance: add support for YAMLLint 2023-01-04 17:29:23 +01:00
CMakeLists.txt Kconfig.zephyr: add an option for checking build time init priority 2023-05-25 15:40:07 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS riscv: Move directory to *-privileged 2023-06-09 11:46:29 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr soc: esp32: MCUboot support 2023-05-25 16:15:54 +02:00
LICENSE
MAINTAINERS.yml riscv: Move directory to *-privileged 2023-06-09 11:46:29 -04:00
README.rst
VERSION release: Zephyr v3.4.0-rc2 2023-06-04 07:59:34 -04:00
version.h.in cmake: generalize VERSION infrastructure for better reuse 2023-05-17 13:56:58 +02:00
west.yml manifest: bsim: Do not import but replicate in main manifest 2023-06-08 11:49:17 -04: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:

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