No description
Find a file
Daniel Leung d31ee53b60 xtensa: allow flushing auto-refill DTLBs on page table swap
This adds a new kconfig and corresponding code to allow flushing
auto-refill data TLBs when page tables are swapped (e.g. during
context switching). This is mainly used to avoid multi-hit TLB
exception raised by certain memory access pattern. If memory is
only marked for user mode access but not inside a memory domain,
accessing that page in kernel mode would result in a TLB being
filled with kernel ASID. When going back into user mode, access
to the memory would result in another TLB being filled with
the user mode ASID. Now there are two entries on the same memory
page, and the multi-hit TLB exception will be raised if that
memory page is accessed. This type of access is better served
using memory partition and memory domain to share data. However,
this type of access is not prohibited but highly discouraged.
Wrapping the code in kconfig is simply because of the execution
penalty as there will be unnecessary TLB refilling being done.
So only enable this if necessary.

Fixes #88772

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2025-05-28 20:01:58 +02:00
.github doc: binary blobs: remove TSC approval requirement 2025-05-27 21:40:06 +02:00
arch xtensa: allow flushing auto-refill DTLBs on page table swap 2025-05-28 20:01:58 +02:00
boards boards: arm: mps3: fix intermittent ci failures 2025-05-28 17:49:31 +02:00
cmake linker generator: Handle .last_section 2025-05-26 14:17:21 +02:00
doc doc: wifi: Improve runtime cert docs 2025-05-28 17:50:46 +02:00
drivers drivers: sensor: icp101xx: update channel check condition 2025-05-28 17:49:50 +02:00
dts dts: bindings: clock: nrf54l-hfxo: add startup-time-us prop 2025-05-28 17:49:41 +02:00
include/zephyr led: fix up the API requirement comment 2025-05-28 17:49:59 +02:00
kernel kernel/init: Corrected a typo 2025-05-22 23:56:59 +02:00
lib lib: uuid: do not support UUID_v5 on TF-M platforms 2025-05-27 10:29:34 +02:00
misc license: Remove non-copyrightable license 2025-02-26 22:04:51 +00:00
modules modules: uoscore-uedhoc: select required PSA Crypto features 2025-05-27 16:45:13 +02:00
samples samples: drivers: video: fix capture_to_lvgl statistics 2025-05-28 16:38:05 +02:00
scripts dts: enum_macros: make sure that they are lowercase 2025-05-28 17:48:57 +02:00
share sysbuild: Import image devicetrees 2025-05-22 13:44:18 +02:00
snippets snippets: remove entries 2025-05-02 16:09:52 +01:00
soc driver: flash: Add Set/ Get write protect function 2025-05-28 08:14:27 +02:00
submanifests submanifests: Update zscilib 2025-05-22 16:17:23 +02:00
subsys modem_cellular: Add support for the simcom a76xx modem 2025-05-28 16:37:53 +02:00
tests drivers: current_sense_amplifier: add zero-current-voltage binding 2025-05-28 17:48:47 +02:00
.checkpatch.conf checkpatch: Adapt the braces check to Zephyr 2024-12-30 21:46:47 +01:00
.clang-format clang-format: add new line at EOF. 2025-04-11 22:07:26 +02:00
.codechecker.yml tests: Add a CodeChecker config file 2024-09-12 10:04:05 +02:00
.codecov.yml yamllint: fix all yamllint comments errors 2023-01-04 01:16:45 +09:00
.editorconfig editorconfig: Improve verbosity 2022-04-28 08:55:39 -04:00
.gitattributes
.gitignore scripts: ci: check_compliance: Add sysbuild Kconfig checks 2025-01-17 16:35:53 +01:00
.gitlint gitlint: Fix dependabot exception 2025-04-09 09:02:39 +02:00
.mailmap mailmap: remove duplicate emails and normalize mapping entries 2025-01-09 14:14:10 +01:00
.ruff-excludes.toml scripts: Update ruff and generate excludes 2025-05-28 15:32:33 +02:00
.ruff.toml scripts: Update and lock ruff 2024-12-03 23:30:00 +00:00
.yamllint scripts: compliance: add support for YAMLLint 2023-01-04 17:29:23 +01:00
CMakeLists.txt cmake: fix syscall dependencies 2025-05-13 16:23:54 +02:00
CODE_OF_CONDUCT.md coc: Update Code of Conduct to latest Contributor Covenant 2023-12-21 09:38:23 +00:00
CODEOWNERS ci: add empty CODEOWNERS file 2025-03-27 09:50:45 +01:00
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr tests/kernel: Disable -Werror when testing deprecated pipe APIs 2025-05-23 17:41:40 -04:00
LICENSE
MAINTAINERS.yml MAINTAINERS: add yangbolu1991 as maintainer for PTP Clock 2025-05-28 17:49:05 +02:00
README.rst doc: remove more occurances of Nios II 2025-05-15 20:01:05 -04:00
SDK_VERSION ci: use new docker image v0.28.0.20250523 2025-05-23 17:41:40 -04:00
VERSION VERSION: bump to 4.1.99 2025-03-07 17:36:15 +00:00
version.h.in version.h.in: fix cmake comment 2025-05-28 05:53:55 +02:00
west.yml drivers: uart: add dma support for ambiq uart driver 2025-05-28 10:04:26 +02: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, 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