Commit Graph

40 Commits

Author SHA1 Message Date
Sebastian Bøe 8eb734cd82 DT: Rename from dts.fixup to dts_fixup.h
The Zephyr configuration system uses many different files in many
different formats. It makes it a lot easier for users to understand
what these files do if when we use the correct file extensions.

To this end we rename the dts.fixup files to the correct file
extension '.h'.

This is a breaking change for out-of-tree fixup files. Such files will
be detected and given an appropriate error message.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-10-08 11:38:56 -04:00
Ulf Magnusson 8dce59b681 doc: kconfig: Explain the '<type> <prompt>' shorthand
The board porting guide assumed that people were already familiar with
the Kconfig 'bool "foo"' shorthand for giving a symbol's type and prompt
at the same time. I got an email pointing out that it isn't obvious.

Explain the shorthand, and also mention that it's the preferred style in
Zephyr.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-09-29 12:38:29 +02:00
Erwan Gouriou 242c729539 doc: provide shield usage documentation
Following introduction of shield feature,
provide requested documentation.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-09-21 18:51:26 -04:00
Ulf Magnusson 0af60bc2c0 Kconfig: Document new def_{int,hex,string} extensions
These work like def_bool, setting the type and adding a default at the
same time. This extension fixes some Kconfig inconsistency.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-08-15 04:07:44 -07:00
Ulf Magnusson 17f1b0adec Kconfig: Switch to improved globbing statements
A design flaw of 'gsource' is that there's no way to require at least
one file to match the glob pattern. This could lead to silent errors.

Switch to a new design, where a plain 'source' is globbing and requires
at least one file to match. A separate 'osource' (optional source)
statement is available for cases where it's okay for a pattern (or plain
filename) to not match any files.

'orsource' combines 'osource' and 'rsource' (relative source).

This commit search-replaces 'gsource' with 'source', but backwards
compatibility with 'gsource' is still maintained by making it an alias
for 'osource' (and by making 'grsource' an alias for 'orsource').

The three Kconfig files arch/{nios2,posix,xtensa}/Kconfig source
arch/{nios2,posix,xtensa}/soc/*/Kconfig, which doesn't match any files.
Use 'osource' for those. The soc/*/Kconfig files seem to be for
additional SoC-specific symbols, only none exist yet on those ARCHes.

Also use 'osource' for the source of $ENV_VAR_BOARD_DIR/Kconfig in
boards/Kconfig, which doesn't exist for all boards.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-08-15 04:07:44 -07:00
Rajavardhan Gundi d22cd76c9c CMSIS RTOS V1: Introduce CMSIS RTOS V1 API header file
CMSIS RTOS API provides a generic RTOS interface for embedded
processors (actually for Cortex-M processors but are generic
enough to be used elsewhere). This header file is for V1 version.

Signed-off-by: Rajavardhan Gundi <rajavardhan.gundi@intel.com>
2018-08-13 13:08:07 -07:00
Ulf Magnusson d08a212ea2 Kconfig: Document the new prefer-earlier-defaults behavior
Update the documentation to say that earlier defaults are preferred,
while explaining Kconfig.defconfig files.

Keep the section that covered the Zephyr prefer-later-defaults patch as
documentation for the behavior having changed. It will be linked in a
warning later.

Also add documentation explaining how to configure choices, including
using multiple definition locations to change a choice 'default'.
Document that 'range's can be added/overriden as well. This works
reliably now.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-08-10 12:38:28 -07:00
Ulf Magnusson 4dc9e5b2de kconfig: Get rid of 'option env' bounce symbols
This commit gets rid of the 'option env="ENV_VAR"' bounce symbols.
"$FOO" now expands directly to the value of the environment variable
FOO, instead of to the value of the Kconfig symbol FOO.

This change is likely to soon appear in the C tools as well. Those
'option env' symbols always seemed kinda pointless, and have broken
dependency handling due to forcing symbol evaluation during parsing,
before all the symbols have even been seen.

Compatibility with the C tools could be retained by naming all
'option env' symbols the same as the environment variable they
reference.

This commit also updated the Zephyr documentation to explain the new
behavior. It's relevant for $ZEPHYR_BASE and out-of-tree Kconfig
extensions.

Commit message from Kconfiglib (cbf32e29a130d)
==============================================

Make "$FOO" directly reference the environment variable $FOO in e.g.
'source' statements, instead of the symbol FOO. Use os.path.expandvars()
to expand strings (which preserves "$FOO" as-is if no environment
variable FOO exists).

This gets rid of the 'option env' "bounce" symbols, which are mostly
just spam and are buggy in the C tools (dependencies aren't always
respected, due to parsing and evaluation getting mixed up). The same
change will probably appear soon in the C tools as well.

Keep accepting 'option env' to preserve some backwards compatibility,
but ignore it when expanding strings. For compatibility with the C
tools, bounce symbols will need to be named the same as the environment
variables they reference (which is the case for the Linux kernel).

This is a compatibility break, so the major version will be bumped to 6
at the next release.

The main motivation for adding this now is to allow recording properties
on each MenuNode in a clean way. 'option env' symbols interact badly
with delayed dependency propagation.

Side note: I have a feeling that recording environment variable values
might be redundant to trigger rebuilds if sync_deps() is run at each
compile. It should detect all changes to symbol values due to
environment variables changing value.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-05-17 23:55:07 +03:00
Ulf Magnusson 930dbd5d80 doc: Document Kconfig extensions and Zephyr-specific behavior
Document the gsource (globbing source), rsource (relative source), and
grsource (globbing + relative source) statements.

Also add a separate section that documents Zephyr's non-standard
prefer-later-defaults Kconfig behavior. It was only mentioned in passing
before.

Piggyback: Move the note about .config assignments having no effect on
invisible symbols closer to the beginning of the 'Configuring invisible
Kconfig symbols' section. It makes more sense there.

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
2018-05-10 16:24:42 -07:00
Ulf Magnusson 63cb2334f0 doc: Document Zephyr's Kconfig configuration scheme
In particular, try to demystify Kconfig.defconfig files, and provide
guidelines on whether configuration settings should go in
BOARD_defconfig or Kconfig.defconfig.

The board porting section seems to be the most relevant one here, so put
the documentation there, with some "see also" links from elsewhere.
Things could be reorganized later if needed.

Give a general overview of visible and invisible Kconfig symbols as
well, as that ties in with the configuration scheme.

This is reverse-engineering on my part. The configuration scheme doesn't
seem to be documented anywhere prior.

Fixes: #7159

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
2018-04-27 13:31:20 +02:00
Erwan Gouriou 9708372080 doc: provide board porting guidelines
Provide board porting guidelines to help achieving a coherent
board library to ease work for people developing application
not board specific and define clear objective to help board
porting reviews.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-06 22:23:45 -04:00
Reto Schneider 3642a69a6b doc: boards: Remove hint to ini file
Since commit a792a3d410, adding an ini
file in scripts/sanity_chk/arches/ to support a new board is no longer
needed.

Signed-off-by: Reto Schneider <code@reto-schneider.ch>
2018-03-23 22:21:54 -04:00
David B. Kinder d06e4f536c doc: fix misspellings in porting/arch.rst
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-11-08 13:51:33 -05:00
Andrew Boie 2d2a97b3f6 docs: initial user mode documentation
This initial batch of documentation describes policies and
mechanism related to kernel objects and system calls.

Some details on porting user mode to a new arch have been
provided in the architecture porting guide.

Thread documentation updated with some user mode consideration.

This is not the final documentation, more to come in subsequent
patches.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-11-07 08:18:48 -05:00
David B. Kinder 37340c7353 doc: remove obsolete v1 changes/porting docs
doc/kernel/overview/changes.rst contains information about changes from
kernel release 1.5 ("Version 1 Kernel") to the combined "Version 2
Kernel" and doc/porting/application.rst talked about how to change
applications using Version 1 interfaces to the Version 2 interface.
This information remains in the online tagged versions of the
documentation, but it's time to remove this from the current
documentation set. (Also removing example porting code.)

Fixes issue #1524

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-10-03 14:47:11 -04:00
David B. Kinder e9a3411651 doc: spelling fixes in docs
regular scan through docs and KConfig files for spelling issues
and UTF-8 characters

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-08-02 15:14:13 -04:00
David B. Kinder 547c74cb3c doc: fix misspellings in docs
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-06-13 19:45:38 -04:00
Marti Bolivar 0c185d976a doc: board_porting: add note about sanity_chk
New boards need to be integrated into the sanitycheck infrastructure.

Signed-off-by: Marti Bolivar <marti.bolivar@linaro.org>
2017-05-18 20:24:58 -04:00
David B. Kinder 2f41cb8329 doc: misspelling and UTF-8 fixes
More general spelling fixes, and cleaning up stray UTF-8 characters
such as curly-quotes, em- and en-dashes.  Use replacement strings
for |reg| and |trade|.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-05-09 20:15:49 -04:00
Anas Nashif 6183d2bde7 doc: remove reference to legacy.h header
Jira: ZEP-2112

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-05-08 12:53:06 -04:00
Kumar Gala 83a5990185 docs: convert to using newly introduced integer sized types
Convert code to use u{8,16,32,64}_t and s{8,16,32,64}_t instead of C99
integer types.

Jira: ZEP-2051

Change-Id: I731cc91517436685836023cbda34f894586a54bc
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-21 16:11:51 +00:00
David B. Kinder 7dcf44f3ea doc: fix :file: reference to include file
fix reference to  include/toolchain/gcc.h

Change-Id: I5999e17a5aed7c2f2e9cce40750815be30b6de53
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-04-07 22:30:42 +00:00
Anas Nashif c76c050bbd doc: board porting guide
Jira: ZEP-248

Change-Id: Iba83fceedc4fefe9d5319119f23cb392aca4c46a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-03-08 10:35:01 +00:00
David B. Kinder 75d17fa3db doc: move IP porting guide to porting section
Move ip porting guide from the subsystem/networking section to the porting
section of the documentation.  Tweak the layout of the doc for improved
readable too.

Jira: ZEP-825

Change-Id: I688151f1da8862a783a82bcd4dde654c5178c30f
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-03-07 23:27:02 +00:00
David B. Kinder f5ea8fec37 doc: fix more spelling errors throughout docs
Change-Id: Ie76b51a3d0729159fa30c1fc9160b279d9f70b6c
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-02-28 13:22:13 +00:00
Andrew Boie 35fcb2736c arc: enable gen_isr_tables mechanism
Change-Id: I5897e110f554377796bfe38dd5c0f8652c29e5be
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-15 04:54:47 +00:00
David B. Kinder 2cb045420c doc: fix .rst files canonical heading order
The headings on some .rst files were not following the expected
heading order of using # for h1, * for h2, = for h3, and - for h4
This patch fixes that, and the doc/templates/*.tmpl files created
for folks to use as templates for creating board and sample docs.

Change-Id: I0263b005648558d5ea41a681ceaa4798c9594dd9
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-01-20 16:06:36 -08:00
David B. Kinder ac74d8b652 license: Replace Apache boilerplate with SPDX tag
Replace the existing Apache 2.0 boilerplate header with an SPDX tag
throughout the zephyr code tree. This patch was generated via a
script run over the master branch.

Also updated doc/porting/application.rst that had a dependency on
line numbers in a literal include.

Manually updated subsys/logging/sys_log.c that had a malformed
header in the original file.  Also cleanup several cases that already
had a SPDX tag and we either got a duplicate or missed updating.

Jira: ZEP-1457

Change-Id: I6131a1d4ee0e58f5b938300c2d2fc77d2e69572c
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-01-19 03:50:58 +00:00
Anas Nashif 0ad13320cd doc: application porting guide to the unified kernel
Change-Id: I463b50336f6438ed5dc4ae60bf0d3f7b6e1118a5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-16 18:13:03 -05:00
Paul Sokolovsky 144316c05c doc/porting/arch.rst: Typo fix.
Change-Id: I2afeaf4cc74bff28cced419de16f9d51d46d6639
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2016-12-22 13:50:43 +03:00
Benjamin Walsh 8053024752 doc: update architecture porting guide to unified kernel
Change-Id: I065cc6f92e13275d993ab6ebf9dabd855b9356c9
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 22:44:46 +00:00
Benjamin Walsh c3a2bbba16 kernel: add k_cpu_idle/k_cpu_atomic_idle()
nano_cpu_idle/nano_cpu_atomic_idle were not ported to the unified
kernel, and only the old APIs were available. There was no real impact
since, in the unified kernel, only the idle thread should really be
doing power management. However, with a single-threaded kernel, these
functions can be useful again.

The kernel internals now make use of these APIs instead of the legacy
ones.

Change-Id: Ie8a6396ba378d3ddda27b8dd32fa4711bf53eb36
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-15 16:17:38 -05:00
Andrew Boie fcfddc0f5d kernel: delete old micro and nanokernel documentation
Change-Id: Id1685930dd11f4b5038d5f98da978c6348b67966
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-11-04 20:51:01 +00:00
Andrew Boie edeb1f1c52 x86: interrupts: optimize and simplify IRQ stubs
Interrupt stubs now just push the ISR and parameter onto the stack
and jump to the common interrupt code, never to return.

Change-Id: I82543d8148b5c7dfe116c43f41791f852614bb28
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-09-28 20:28:06 +00:00
Andrew Boie 325cae5c94 kernel: remove lingering irq_connect_dynamic() references
This API no longer exists.

Change-Id: I724bee8c0ebfbbe2d47c00c7645977d817bbcd36
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-09-23 15:36:51 +00:00
viggo.jf.intel.com 7c151cfcc3 doc: Terminology--Replace 'platform' with 'board'
Replaced the term "platform" with "board" or "SoC" depending
on context as per, ZEP-534.

Change-Id: I14c13d4eed429fe6e41e2221d6ff6afe97e942eb
Signed-off-by: Evan Couzens <evanx.couzens@intel.com>
2016-08-12 22:57:24 +00:00
Inaky Perez-Gonzalez 2e99832616 doc: fix :option: x-refs to squash doc generation warnings
Move to use :option:`CONFIG_XYZ` vs :option:`XYZ` to generate propert
links and avoid warnings about unexistant targets.

Change-Id: I4b46041f25e538462b123ccc8337f733033cc0e7
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-06-14 20:00:52 +00:00
Gerardo Aceves 6a578ad14f doc: Edit arch.rst markup
Edited and added minor markup for consistancy.
Edited some '/' to clarify 'and' 'or'.

Change-Id: I5aa84f278d65e79d12b634fcbef2a8b5070c8ebd
Signed-off-by: Gerardo Aceves <gerardo.aceves@intel.com>
2016-05-03 13:09:16 -05:00
Anas Nashif 3ca134b3ac doc: fix typo IMACU -> IAMCU
Change-Id: Ib89080b7f6f0fb1d7b92ad69a18cef26a26b9a4c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-04-25 19:17:04 +00:00
Benjamin Walsh 1040509670 doc: add architecture porting guide
Explanations and guidelines when porting Zephyr to a new processor
architecture or ABI.

Change-Id: Ibb3a26636dca6b248103e4744c333911c2af0e50
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-04-22 19:11:03 +00:00