Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
Go to file
Andy Ross 865bbd6b69 xtensa-asm2: Handle alloca/movsp exceptions
Xtensa register windows have a special exception that happens when the
stack pointer needs to be moved, but the caller function has already
spilled its registers below it.

I thought these were unexercised in Zephyr code, but they turn out to
be thrown by the existing mem_pool tests when run in the 32-register
qemu environment (but not on 64-register hardwre).  Because the effect
of the exception is to unspill the caller, there is no good way to
handle this in a traditional handler.  Instead put a 5-instruction
stub in front of the user exception handler (i.e. incurring that cost
on every trap and every L1 interrupt) to test before doing the normal
entry.

Works, but would be nicer to optimize this in the future so that only
true alloca exceptions take that cost.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-02-16 10:44:29 -05:00
.known-issues doc: add missing API content 2017-12-01 08:58:56 -05:00
arch xtensa-asm2: Handle alloca/movsp exceptions 2018-02-16 10:44:29 -05:00
boards arch: arc: bug fixes and add user space support in secure mode 2018-02-16 12:20:16 +01:00
cmake build: support out-of-tree custom boards 2018-02-14 19:20:29 -05:00
doc build: support out-of-tree custom boards 2018-02-14 19:20:29 -05:00
drivers drivers/timer/xtensa_sys_timer: Add init/update hooks for asm2 2018-02-16 10:44:29 -05:00
dts dts: arm: stm32: Add ccm address and size configurations 2018-02-13 12:36:22 -06:00
ext kconfig: fix more help spacing issues 2018-02-15 23:20:55 -05:00
include xtensa: Remove arch-specific (and empty) offsets.h 2018-02-16 10:44:29 -05:00
kernel kernel, xtensa: Switch-specific thread return value 2018-02-16 10:44:29 -05:00
lib build: deprecate ZEPHYR_GCC_VARIANT 2018-02-13 07:44:45 -08:00
misc arm: cortex_m: Use new ARMV6_M_ARMV8_M_BASELINE in vector relay 2018-02-14 12:49:09 +01:00
samples samples/xtensa-asm2: Unit test for new Xtensa assembly primitives 2018-02-16 10:44:29 -05:00
scripts sanitycheck: check for deprecated variant env variable 2018-02-15 08:53:25 -05:00
subsys Bluetooth: controller: Add missing HCI supp. cmd bits for PHY Update 2018-02-16 11:46:21 +01:00
tests kernel: Fix nano_internal.h inclusion 2018-02-16 10:44:29 -05:00
.checkpatch.conf
.codecov.yml ci: add .codecov.yml for codecov.io configuration 2018-01-03 13:12:03 -05:00
.gitattributes
.gitignore doc: report which warnings/errors are new 2017-11-13 17:45:42 -05:00
.gitlint gitlint: use custom rule for line length violations 2018-02-07 15:28:36 -05:00
.mailmap
.shippable.yml build: deprecate ZEPHYR_GCC_VARIANT 2018-02-13 07:44:45 -08:00
CMakeLists.txt cmake: disable privilege stack generation for arc 2018-02-16 12:20:16 +01:00
CODEOWNERS CODEOWNERS: add entries for led_strip drivers 2018-02-14 19:06:44 -05:00
CONTRIBUTING.rst doc: contributing: Document CI 2018-02-14 12:54:21 -05:00
Kconfig
Kconfig.zephyr kconfig: Prune kconfig files that don't match the ARCH or BOARD 2018-01-12 07:29:05 -05:00
LICENSE
Makefile build: add top-level Makefile for docs 2017-11-08 20:00:22 -05:00
README.rst doc: update links to new zephyrproject.org site 2017-11-03 19:31:14 -04:00
VERSION release: Update PATCHLEVEL to 99 post 1.10.0 release 2017-12-08 14:31:07 -06:00
version.h.in Introduce cmake-based rewrite of KBuild 2017-11-08 20:00:22 -05:00
zephyr-env.cmd build: win: Add a new zephyr-env.cmd file 2018-02-12 19:22:22 -05:00
zephyr-env.sh

README.rst

Zephyr Project
##############

.. raw:: html

   <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

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

The Zephyr Project Developer Community includes developers from member
organizations and the general community all joining in the development of
software within the Zephyr Project. Members contribute and discuss ideas,
submit bugs and bug fixes, and provide training. They also help those in need
through the community's forums such as mailing lists and IRC channels. Anyone
can join the developer community and the community is always willing to help
its members and the User Community to get the most out of the Zephyr Project.

Welcome to the Zephyr community!

Resources
*********

Here's a quick summary of resources to find your way around the Zephyr Project
support systems:

* **Zephyr Project Website**: The https://zephyrproject.org website is the
  central source of information about the Zephyr Project. On this site, you'll
  find background and current information about the project as well as all the
  relevant links to project material.  For a quick start, refer to the
  `Zephyr Introduction`_ and `Getting Started Guide`_.

* **Releases**: Source code for Zephyr kernel releases are available at
  https://zephyrproject.org/developers/#downloads. On this page,
  you'll find release information, and links to download or clone source
  code from our GitHub repository.  You'll also find links for the Zephyr
  SDK, a moderated collection of tools and libraries used to develop your
  applications.

* **Source Code in GitHub**: Zephyr Project source code is maintained on a
  public GitHub repository at https://github.com/zephyrproject-rtos/zephyr.
  You'll find information about getting access to the repository and how to
  contribute to the project in this `Contribution Guide`_ document.

* **Samples Code**: In addition to the kernel source code, there are also
  many documented `Sample and Demo Code Examples`_ that can help show you
  how to use Zephyr services and subsystems.

* **Documentation**: Extensive Project technical documentation is developed
  along with the Zephyr kernel itself, and can be found at
  https://zephyrproject.org/doc.  Additional documentation is maintained in
  the `Zephyr GitHub wiki`_.

* **Issue Reporting and Tracking**: Requirements and Issue tracking is done in
  the Github issues system: https://github.com/zephyrproject-rtos/zephyr/issues.
  You can browse through the reported issues and submit issues of your own.

* **Security-related Issue Reporting and Tracking**: For security-related
  inquiries or reporting suspected security-related bugs in the Zephyr OS,
  please send email to vulnerabilities@zephyrproject.org.  We will assess and
  fix flaws according to our security policy outlined in the Zephyr Project
  `Security Overview`_.

  Security related issue tracking is done in JIRA.  The location of this JIRA
  is https://zephyrprojectsec.atlassian.net.

* **Mailing List**: The `Zephyr Mailing Lists`_ are perhaps the most convenient
  way to track developer discussions and to ask your own support questions to
  the Zephyr project community.
  You can also read through message archives to follow
  past posts and discussions, a good thing to do to discover more about the
  Zephyr project.

* **IRC Chatting**: You can chat online with the Zephyr project developer
  community and other users in our IRC channel #zephyrproject on the
  freenode.net IRC server. You can use the http://webchat.freenode.net web
  client or use a client-side application such as pidgin.


.. _supported boards: https://www.zephyrproject.org/doc/boards/boards.html
.. _Zephyr Introduction: https://www.zephyrproject.org/doc/introduction/introducing_zephyr.html
.. _Getting Started Guide: https://www.zephyrproject.org/doc/getting_started/getting_started.html
.. _Contribution Guide: https://www.zephyrproject.org/doc/contribute/contribute_guidelines.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Mailing Lists: https://lists.zephyrproject.org/
.. _Sample and Demo Code Examples: https://www.zephyrproject.org/doc/samples/samples.html
.. _Security Overview: https://www.zephyrproject.org/doc/security/security-overview.html