This moves the shell component into its own subsys and groups all
related files and options into a single place.
Additionally, one Kconfig option will now be required to enable the
shell:
CONFIG_CONSOLE_SHELL=y
The header files was also moved to include/shell/shell.h and can be now
referenced with
#include <shell/shell.h>
instead of
#include <misc/shell.h>
Updated documentation as well.
Change-Id: Iffbba4acfa05408055e9fd28dffa213451351f94
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Introduce random device API analgous to other device driver classes in
Zephyr. Modify the the KSDK random driver to implement the API.
We retain the sys_rand32_get() interface for now on the assumption it
will eventually relocate to or be otherwise replaced by an entropy
management system.
The existing TEST_RANDOM_GENERATOR related drivers that do not
generate entropy are not modified to expose this driver API since they
cannot generate entropy.
Change-Id: I60b2d5afddf242e802a1d9014c99579870fb7472
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
Instead of including the rtd theme in zephyr use an installed instance,
if nothing is installed, use the default zephyr theme.
Change-Id: Ife4bd878e3f879cf59ecf2bc5d186a531a3bf1b6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Merge build system and application primer into one and put
all in one file to make it easier to follow.
Jira: ZEP-686
Change-Id: I64ec7ef7a6aa2ad80496ca0ee3ddc3d7fe09a5d7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This is obsolete and not available anymore in the unified kernel.
Change-Id: I39f6afd5285a2286fe954bd8dc501f888d0d9003
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add GCCARMEMB_TOOLCHAIN_PATH and ZEPHYR_GCC_VARIANT to
getting_started.rst per ZEP-1027
Change-Id: Ia73697c66562e02a6d93afdac6cc92e327189abe
Signed-off-by: Evan Couzens <evanx.couzens@intel.com>
Move logging out of misc/ to its own subsystem. Anything related to
logging and any new logging features or backends could be added here
instead of the generic location in misc/ which is overcrowded with
options that are not related to eachother.
Jira: ZEP-1467
Change-Id: If6a3ea625c3a3562a7a61a0ba5fd7e6ca75518ba
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
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>
Using a LIFO instead of a FIFO has the potential benefit that more
recently in-use buffers may be "cache-hot" and therefore accessed
faster than least recently used (which is what we get with a FIFO).
Change-Id: I59bb083ca2e00d0d404406540f7db216742a27cf
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
In order to keep the initialization process light-weight, remove
net_buf_pool_init() and instead perform the initialization of the pool
and buffers in a "lazy" manner. This means storing more information
in the pool, and removing any 'const' members from net_buf. Since
there are no more const members in net_buf the buffer array can be
declared with __noinit, which further reduces initialization overhead.
Change-Id: Ia126af101c2727c130651b697dcba99d159a1c76
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Until now it has been necessary to separately define a k_fifo and
an array of buffers when creating net_buf pools. This has been a bit
of an inconvenience as well as blurred the line of what exactly
constitutes the "pool".
This patch removes the NET_BUF_POOL() macro and replaces it with a
NET_BUF_POOL_DEFINE() macro that internally expands into the buffer
array and new net_buf_pool struct with a given name:
NET_BUF_POOL_DEFINE(pool_name, ...);
Having a dedicated context struct for the pool has the added benefit
that we can start moving there net_buf members that have the same
value for all buffers from the same pool. The first such member that
gets moved is the destroy callback, thus shrinking net_buf by four
bytes. Another potential candidate is the user_data_size, however
right not that's left out since it would just leave 2 bytes of padding
in net_buf (i.e. not influence its size). Another common value is
buf->size, however that one is also used by net_buf_simple and can
therefore not be moved.
This patch also splits getting buffers from a FIFO and allocating a
new buffer from a pool into two separate APIs: net_buf_get and
net_buf_alloc, thus simplifying the APIs and their usage. There is no
separate 'reserve_head' parameter anymore when allocating, rather the
user is expected to call net_buf_reserve() afterwards if something
else than 0 headroom is desired.
Change-Id: Id91b1e5c2be2deb1274dde47f5edebfe29af383a
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Fix compilation issues that show up if SYS_LOG is mapped to printk
instead of printf. Unlike printf, printk is annotated so that the
compiler catches incorrect format specifiers passed to it.
Change-Id: Iab7cc6da110e9c98720211a6f773dcf055a3a411
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
As the Contiki uIP stack is no more there remove any reference
to it. The path to IP stack is also set correctly.
Change-Id: Ia2e10514f173cf8083d6dd258111a901987bd038
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This doc goes through how to request something, or listen to a network
event. As well as it describes how to create a request handler and how
to throw a network event.
Change-Id: I07cc6d22a14e7f1a0f239f97982c984fd13379d6
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This change is related to patch called
"net: Adapt to new behavior of net_buf_frag_add"
This version removes extra net_nbuf_unref() from
the code. The unref was done because net_buf_frag_del()
did not remove the double ref from the list element.
Because of the other patch, the list does not have
double ref any more, so we need to remove the extra
unref in couple of extra places.
Change-Id: If90e01c24b9b4e68afbfa283850d2a1ecb3065ed
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Explain how to use net_context connectivity API.
Change-Id: Ifa57af3e05ca424dfbd30a17608a1dd59646caf9
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This document describes the network stack architecture of the
new IP stack.
Change-Id: I19f7c77c66115e6453bcde0d41bb7cada3efc5e1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Revise the document to reflect the latest changes including
the updated concept of SOC interface instead of PMA. Simplified
and enhanced areas that were known to cause confusion. Added
descriptions of new APIs and usages.
Jira: ZEP-1386
Change-Id: I5fa74d85245924f512c22d9d977dd0c9ea62b6ce
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
Makes the purpose and capabilities of the kernel event logger
clearer, and leaves much of the low-level detail relating to
use of the configuration options and APIs to the configuration
option guide and API guide, respectively. Also corrects some
bugs in the example code for retrieving event information.
Also updates the API guide to make a clear distinction between
the general purpose event logger framework and the kernel event
logger (which is a specific instance of this framework).
Change-Id: I924f65092b2b0e5050af13376b5da85a6cdc1a65
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
The Bluetooth documentation is found in doc/subsystems/bluetooth and
not in doc/bluetooth.
Change-Id: I7e7010b5ae4a26ea552d75f1a095baec18d02630
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Also fixes up Kernel Primer examples to use these macros.
Change-Id: Ib1bc9e3f85ab75f81986bc3930fb287266a886b5
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Rewrites the example of a timer's expiry routine offloading
processing that can't be done at interrupt level. The example
now submits work to the system workqueue directly, rather than
using an alert. This saves footprint by eliminating the need
for alert-related API support that isn't needed. (This is a
true savings, since the alert code just called the same
workqueue APIs the example now calls directly.)
Change-Id: I378e40aef33014f2c75c4f57531f75247d50e479
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Also adds a link to function-type API that was missing.
Change-Id: Ie671ad2f239cdca3ac1a2eb33248dfecfa251c79
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Replaces confusing (and excessively long) configuration option
names with more intuitive names. Also enhances the description
of each option to clarify its use.
Change-Id: If4d4541407627482b1e90302cfc9df3bc8130d44
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
* Ensures all references to kernel functions are correctly
tagged so they will auto-link to the API guide.
* Adds references to a few functions and macros that were
omitted.
Change-Id: I26ccd9c29ea123db2807f2df4d05d574932c6849
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
In addition to providing documentaton, we also modify the static_lib
example to use outputexports instead of the double-include
Makefile.toolchain trick. For this to work well we need to fix a tiny
bug in the dependency handling in Makefile.inc.
Change-Id: I6571bc681bc34155f37cff1eccc2ea12ed52ef07
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Addresses a range of issues affecting the Kernel Primer or
the API Guide generated from doxygen tags.
* Ensures mailbox examples use kernel APIs correctly.
(Fix for ZEP-1262, as well as other errors).
* Ensures memory alignment limitations for memory slabs
are correctly described. (Fix for ZEP-1265.)
* Ensures memory alignment limitations for memory pools
are more clearly described. Also fixes a typo in a
memory pool example.
* Ensures memory alignment limitations for message
queues are more clearly described.
* Fixes references to a number of kernel configuration
options that were omitted or incorrectly formatted.
* Fixes a typo in an example of thread spawning.
Change-Id: I395186f333490b1e0c4223b87c0fe7136548770f
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Remove mentions of task & fiber from the description of using the
bt_enable() API.
Change-Id: Ia86a2396e5ce286cc7f9a1c183b4c98abf09d394
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The Zephyr kernel tree has imported or reuses packages, scripts that
are not covered by the Apache LICENSE.
As in some places it is not clear (there is no LICENSE file or way to
put it there), here we list them to ensure there is proper license
acknowledgement.
This is an initial proposal--I welcome feedback on everything,
especially where to link the documentation (kind of kludgy now) and
more missed components from this initial list.
v5: Added David Kinder's feedback
v4: Fixed more typos in Makefile
v3: fixed some more typos, but still holding on to feedback on how it
can be done with SPDX files, as it is not yet all clear to me.
Jira: ZEP-1079
Change-Id: Ie1bf545e26b0d304cd3ea0d70cdfc13d520197fe
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>