Find a file
Andy Ross 3f9ad86b1d kernel/printk: Make it synchronous
Currently printk isn't synchronized except at the byte output level,
leading to interleaving of messages on SMP systems that try to log
simultaneously.  This is actually fairly amusing, and actually helpful
occasionally to validate inter-CPU contention down to the "few cycles"
level.

Still, when you're printing data you need to read, you need to be able
to read it.  Put a spinlock around each buffered line.  This has to
happen in a few places, as there are three different code paths taken
for !USERSPACE, syscall, and user mode.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-06-27 08:14:58 -04:00
.buildkite Revert "buildkite: Add some debug for looking into rebase issue" 2020-06-26 15:35:10 -05:00
.github templates: Encourage attaching log files over screenshots 2020-06-25 08:53:42 -04:00
.known-issues docs: crypto: crypto API documentation 2020-03-14 13:01:03 -04:00
arch arch/x86: Add support for PCI MMIO configuration access 2020-06-23 13:07:39 +02:00
boards boards: arm: b_l072z_lrwan1: Add the SX1276 LoRa radio 2020-06-26 12:10:43 -05:00
cmake boards: centralize QEMU icount management 2020-06-24 20:28:36 -04:00
doc doc: kernel: Add sys_sem APIs to kernel documentation 2020-06-24 15:38:47 -04:00
drivers lis2dw12 : remove useless semi-colons 2020-06-26 11:18:38 -05:00
dts dts: arm: st: f7: Add support for stm32f745xe, stm32f745xg 2020-06-23 19:05:26 +02:00
include lib/os/heap: debugging facility to dump the heap structure to the cconsole 2020-06-26 11:41:43 -07:00
kernel kernel: cleanup header inclusion 2020-06-25 16:12:36 -05:00
lib kernel/printk: Make it synchronous 2020-06-27 08:14:58 -04:00
misc license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
modules dma: add EDMA MCUX support for RT and k6s 2020-06-12 13:03:28 -05:00
samples samples/drivers/spi_flash_at45: Improve test case descriptions 2020-06-25 19:33:41 +02:00
scripts sanitycheck: reorg junit output for nicer reports 2020-06-25 22:36:17 -05:00
share cmake: fixing infinite loop when searching for Zephyr on windows 2020-05-05 10:02:11 -05:00
soc soc: stm32: Add support for stm32f745xx 2020-06-23 19:05:26 +02:00
subsys fs: nvs: Fix handling of corrupt ate's in garbage collector 2020-06-26 12:07:13 -05:00
tests tests/kernel/smp: Don't wait so long at startup 2020-06-27 08:14:58 -04:00
.checkpatch.conf checkpatch: Enable check for C99 comments again 2020-06-26 13:19:11 -04:00
.clang-format clang-format: Update with latest FOR_EACH macro list 2020-05-02 11:23:13 -04:00
.codecov.yml ci: add .codecov.yml for codecov.io configuration 2018-01-03 13:12:03 -05:00
.editorconfig editorconfig: use 72 characters line width git commit messages 2020-06-22 14:51:56 -04:00
.gitattributes gitattributes: Tell linguist to ignore test pattern files 2020-04-23 14:07:57 -04:00
.gitignore gitignore: exclude tests/drivers/build_all 2020-03-20 13:49:05 -05:00
.gitlint gitlint: match max title length restriction with checkpatch 2019-05-29 14:43:16 -04:00
.mailmap mailmap: add entry for Sean Nyekjaer 2019-11-04 14:33:31 +01:00
.shippable.yml ci: Update to use SDK 0.11.3 2020-05-19 14:54:31 +02:00
.uncrustify.cfg uncrustify: Add a rule to remove space inside function argument 2018-10-16 09:50:03 -04:00
CMakeLists.txt linker: Remove deprecated Kconfig options related to linker scripts 2020-06-12 11:14:28 +02:00
CODE_OF_CONDUCT.md coc: move to markdown format 2019-01-24 15:37:15 -05:00
CODEOWNERS drivers: esp32/clock_control: Add Clock Driver 2020-06-16 09:00:51 -05:00
CONTRIBUTING.rst doc: Fixed a link in CONTRIBUTING.rst 2019-02-28 12:46:04 -08:00
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr linker: Remove deprecated Kconfig options related to linker scripts 2020-06-12 11:14:28 +02:00
LICENSE add top level Apache 2.0 license file 2016-02-05 20:24:37 -05:00
Makefile doc: provide a target to only generate doxygen 2020-04-11 08:40:54 -04:00
README.rst doc: fix broken links in README and board docs 2020-03-12 17:18:49 -04:00
VERSION release: Update patch level to 99, post 2.3.0 release 2020-06-06 00:44:36 +02:00
version.h.in cmake: explain BUILD_VERSION and KERNEL_VERSION_* 2019-05-09 11:52:05 +02:00
west.yml west.yml: Update nxp hal to fix spi interrupt issue 2020-06-25 16:01:16 -05:00
zephyr-env.cmd scripts: remove west from scripts/ 2019-01-29 10:15:01 +01:00
zephyr-env.sh zephyr_env.sh: Remove semicolons at ends of lines 2019-12-10 14:34:46 -08:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/images/Zephyr-Project.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <img
   src="https://api.shippable.com/projects/58ffb2b8baa5e307002e1d79/badge?branch=master">


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

.. start_include_here

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.

Community Support
*****************

Community support is provided via mailing lists and Slack; 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
  (shippable) nightly build results.
* **Chat**: Zephyr's Slack workspace is https://zephyrproject.slack.com.  Use
  this `Slack 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

.. _Slack Invite: https://tinyurl.com/y5glwylp
.. _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/guides/getting-help.html