No description
Find a file
Andy Ross d2eca354e8 arch/x86: early_serial cleanup
Various cleanups to the x86 early serial driver, mostly with the goal
of simplifying its deployment during board bringup (which is really
the only reason it exists in the first place):

+ Configure it =y by default.  While there are surely constrained
  environments that will want to disable it, this is a TINY driver,
  and it serves a very important role for niche tasks.  It should be
  built always to make sure it works everywhere.

+ Decouple from devicetree as much as possible.  This code HAS to work
  during board bringup, often with configurations cribbed from other
  machines, before proper configuration gets written.  Experimentally,
  devicetree errors tend to be easy to make, and without a working
  console impossible to diagnose.  Specify the device via integer
  constants in soc.h (in the case of IOPORT access, we already had
  such a symbol) so that the path from what the developer intends to
  what the code executes is as short and obvious as possible.
  Unfortunately I'm not allowed to remove devicetree entirely here,
  but at least a developer adding a new platform will be able to
  override it in an obvious way instead of banging blindly on the
  other side of a DTS compiler.

+ Don't try to probe the PCI device by ID to "verify".  While this
  sounds like a good idea, in practice it's just an extra thing to get
  wrong.  If we bail on our early console because someone (yes, that's
  me) got the bus/device/function right but typoed the VID/DID
  numbers, we're doing no one any favors.

+ Remove the word-sized-I/O feature.  This is a x86 driver for a PCI
  device.  No known PC hardware requires that UART register access be
  done in dword units (in fact doing so would be a violation of the
  PCI specifciation as I understand it).  It looks to have been cut
  and pasted from the ns16550 driver, remove.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-07-08 12:34:09 +02:00
.buildkite ci: Add a daily full build workflow 2020-06-29 08:11:46 -05:00
.github actions: Add label for nxp boards, drivers, socs 2020-07-07 13:01:37 -04:00
.known-issues docs: crypto: crypto API documentation 2020-03-14 13:01:03 -04:00
arch arch/x86: early_serial cleanup 2020-07-08 12:34:09 +02:00
boards soc: arm: nrf5340: remove DTS nodes for non-functional devices 2020-07-08 10:45:57 +02:00
cmake cmake: west: west flash dependencies in sync with CMake flash target 2020-07-01 07:58:10 -04:00
doc doc: security: Avoid confusion with code guideline 2020-07-07 19:29:21 -04:00
drivers drivers/serial/ns16550: Unbreak 64 bit MMIO addresses 2020-07-08 12:34:09 +02:00
dts soc: arm: nrf5340: remove DTS nodes for non-functional devices 2020-07-08 10:45:57 +02:00
include drivers/pcie: Fix BAR address size limitation 2020-07-08 12:34:09 +02:00
kernel tests: adding test cases for arch-dependent SMP function 2020-07-02 08:42:53 -04:00
lib posix/fs: Fix POSIX lseek to return position upon completion 2020-07-04 07:46:51 -04:00
misc license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
modules drivers: lora: Add SX126x LoRa radio support 2020-07-02 08:32:37 -04:00
samples usb: Correct logging level in Audio class. 2020-07-07 19:28:14 -04:00
scripts sanitycheck: handle qemu crashes 2020-07-07 16:04:32 -07:00
share cmake: fixing infinite loop when searching for Zephyr on windows 2020-05-05 10:02:11 -05:00
soc arch/x86: early_serial cleanup 2020-07-08 12:34:09 +02:00
subsys Bluetooth: Mesh: Fix response to Provisioning PDU with invalid type 2020-07-08 10:19:02 +02:00
tests drivers: flash: flash_simulator: Erase flash first 2020-07-07 17:19:26 -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 cmake: runners dependencies cleanup 2020-07-01 07:58:10 -04:00
CODE_OF_CONDUCT.md coc: move to markdown format 2019-01-24 15:37:15 -05:00
CODEOWNERS board: arm: add support for nuvoton pfm m487 2020-07-01 21:09:25 +02: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 Kconfig: update BOOTLOADER_MCUBOOT help message 2020-07-03 13:34:50 -04: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 drivers: lora: Add SX126x LoRa radio support 2020-07-02 08:32:37 -04: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