Commit graph

18576 commits

Author SHA1 Message Date
Allan Stephens
140d314336 Eliminate references to k_memset() and k_memcpy()
Since the kernel now provides a minimal string library, there is
no longer any reason not to use the standard memset() and memcpy()
APIs.

Change-Id: Iad587ace6f41fd94c9c961d13d9322495a7da1be
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:12 -05:00
Allan Stephens
63720a9af3 Eliminate secure string error handling
This is not required since the secure string library routines
have been removed.

Change-Id: I284a21e4167d9bb6f78354d809c563a4c52f619c
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:12 -05:00
Allan Stephens
cb2d18cc83 Eliminate secure string library routines
These routines are either unused, or are always used in manner
that does not require their added security checking.

Change-Id: I6f484924ebc3d395a20879445a2fcabebf6c5014
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:12 -05:00
Allan Stephens
4b105f459d Eliminate testing of secure string library code
Test project is no longer needed, since the associated library
is now scheduled for removal.

Change-Id: I843018e647c4bdc82c785ae21dbfa9de608c0d50
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:12 -05:00
Juan Manuel Cruz
4994fadc9d Kbuild documentation update.
This commit updates the installation documentation to be used with Kbuild.

Change-Id: Ic343e4e90d8e5849c098af1e37993446a0920aef
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:12 -05:00
Dan Kalowsky
c02dd34277 Renaming include/nanokernel to include/arch
Renaming the directory include/nanokernel to be include/arch, which
better reflects the real nature of the directory and the contents
inside.

Change-Id: I2bc33ebc6715e2f0403227a558279fdf52398ade
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 20:14:12 -05:00
Dan Kalowsky
40e7780e65 Renaming CONFIGURE_UART_PORT macro
Renaming the CONFIGRUE_UART_PORT macro to UART_PORT_CONFIGURE.
Done to better align with the current naming process, but also to
remove some possible confusion over the macros source now that
the tree has moved over to Kconfig/Kbuild options.

Change-Id: I1a7691d09818c3d529de346e7fa347ce5ac19aed
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 20:14:12 -05:00
Dmitriy Korovkin
b08727ed2d Add random number API test
Change-Id: I810705c84609ca3497cc1d2dd7a2f7706f140815
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:12 -05:00
Dmitriy Korovkin
ec8a461bfb Introduce public APIs for random number generation
Convert the existing non-public random number generation APIs
into public APIs (i.e. sys_rand32_init and sys_rand32_get).

Change-Id: Id93e81e351a66d02c08cf3f5d2dd54a3b4b213c5
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:12 -05:00
Dmitriy Korovkin
e2fa00be6e Algorithm improvement for timer based random number generator
The timer based pseudo random number generator returns the
number of system clock ticks. If the random number function is
called subsequently in a time less than a system clock tick, it
leads to getting same number.

To prevent this the counter is introduced. Counter gets changed
each call, so it ensures the caller gets different numbers each time
the random number function gets called.

Change-Id: Ibe57e1e7a23909b185623af8dbb7e80647c7ee08
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:12 -05:00
Dmitriy Korovkin
27bcb431cb Random number generator driver unification
Remove ARM specific driver that duplicates the platform
independent one.

Rename x86 specific driver to make it unique.

Added configuration options for random and non-random
number generators.

Change-Id: Ie1b277d2927cdfe877650ae09134db7c86becb76
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:12 -05:00
Dmitriy Korovkin
6313939f8d Remove CUSTOM_RANDOM_GENERATOR from atom_n28xx platfotm
The BSP does not have hardware random number generator
device driver.

Change-Id: Icaf4726174ec5c9120db4bd90d2ea2a4a30a8837
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:12 -05:00
Andrei Emeltchenko
5831c25d93 serial_console: Use dynamic irq connect
Follow common practice and use standard dynamic irq connect mechanism.

Change-Id: Ibb29858da77909ede1fe2dacb056274e49687473
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:14:12 -05:00
Dirk Brandewie
bc9c8846f7 kbuild: Avoid unconditional relinking of default target
Change-Id: I8814b6057a055f4342b3015574860c894b160131
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:14:12 -05:00
Dirk Brandewie
991e9d34bf kbuild: remove asm-generic from dependency chain
Change-Id: I857218221a5f9ca80d331247146cd5a54d15b956
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:14:12 -05:00
Dirk Brandewie
087603923b kbuild: remove error from clean target
Change-Id: I0f091c69099a505a9fa7680b77592fdf6fae4fc0
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:14:12 -05:00
Dirk Brandewie
6fa99f87ec kbuild: Only execute initconfig target once
There is no need to rerun the initconfig target if the current project
directory has already been configured.

Change-Id: Ifaf01d8afa88f058bd4e20ed7c3fe136dbb1a640
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:14:12 -05:00
Dirk Brandewie
f25f9b37ea kbuild: Remove compilation tool command line validation
To support multiple versions of the compilation tools GCC etal the
original Kbuild would execute the tool to ascertain if the argument
being added to command line was compatible with the version of the
tool installed on the system.  This causes significant overhead and is
not required since we specify the minimum version of the tools
required for the build.

Change-Id: I23d811bee9e89bf7549449c679adbfa02efd94de
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:14:12 -05:00
Andrei Emeltchenko
f9360e8069 make: Fix qemu flags for ARM architecture
Fixes missing qemu flag and when adding Bluetooth -serial switch it
became the first UART.

Change-Id: I85f4bf236383a288f2935f6455141fa7b18c3ac8
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
f1c7c178cf Use qemu from toolchain if available
Use patches qemu binary provided by the Yocto SDK.

Change-Id: I5edc2338f45fdd0d953d8d34bea648d0d18d8bf8
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
8e9d8ebfd2 Remove nodes naming when using sysgen
Change-Id: I8914c25ad18d3c294f398f98efca04c3ac371f44
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
6082c0989d Remove Makefile.modpost and .ko building
Change-Id: Iac29d5cac1efbc894cbe036fab8bff865d1cec96
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
04f2bdc0c4 Remove directives for compressing modules/initrds
We do not need those in tiny-mountain.

Change-Id: I6e3ab5b5f5e17b301a66d57dceccb25d9a82c9d0
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
81c657139e remove module related targets
Change-Id: I57526276c466e965745bd0e56aa90a9591ccdc7a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
a2bb402876 Do not set path for host tools
This is not needed now with kbuild.

Change-Id: I9aabb4d09b982d65645a93717364f2e92c9671e7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:12 -05:00
Szymon Janc
4aff07c4e0 arm/timer: Include headers based on selected BSP
Board specific headers should be included conditionally based
on the selected BSP.

Change-Id: Ia8c32c56e94670f4c59f7acac28557dd178e44f1
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
2016-02-05 20:14:12 -05:00
Rodrigo Caballero
fb74cd4a79 Add In-Code Documentation Guidelines
The in-code Documentation Guidelines contains the best practices for
documenting code using Doxygen. The guidelines offer options for both
novice and expert developers to document their code in a compatible and
correct manner.
Fully marked and simplified templates are provided to ease the
documentation effort.
Examples taken directly from Tiny Mountain's code show the difference
clearly.
The .c files contained here are used for the examples only and do not
have any function within Tiny Mountain.
Finally, the doxygen.rst file was updated to include the new content.


Change-Id: I6a39a54feed5fa95f2f21545c3967ff0755d85ae
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:12 -05:00
Anas Nashif
1d339cd724 doc: add nano kernel files and *.s pattern
- Extend the scanned files to include nano kernel headers
and source files.
- Add *.s to file pattern

Change-Id: I9d2566344f4a6bcfe0506e233fd6784704b9624e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Rodrigo Caballero
56b092d1d5 Add Disclaimer explaining that the documentation is a work in progress.
The disclaimer was added in a separate file keeping the master file
index.rst clean. 
The master file was only changed to include the disclaimers.rst file.

Change-Id: I51a56c64dee3285ea3b9be22f0eab477459d8417
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:11 -05:00
Rodrigo Caballero
67405bb918 Add Object Documentation
Adds the basic kernel objects' documentation describing the function of
tasks, fiber and interrupt service routines.
Adds the nanokernel objects' docuementation describing the function of
the most important nanokernel objects.
Adds the microkernel objects' documentation describing the function of
the most important microkernel objects.

Changes the index.rst file to include the Object Documentation.

Change-Id: Ib35d973cc3575a7ecc32c4ab175e05cb298e3306
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
d6ebd1839d Remove kernel module related code
This reduces the clutter and let us focus on what really
counts.

Change-Id: I30a245697684a036c6a908e52d77005b35b53d81
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
77c4de8f4e Remove host tools, not required anymore
We do not require the host tools anymore. Host tools
are part of the kbuild build system now.

Change-Id: Ib253c1d340bf7a2d0fa9650fad038700f87b00e4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
8a98b4042c Remove old vxmicro-env.bash
We are moving to timo-env.sh for consistency. This file
should be renamed with the final project name.

Change-Id: I8d3a4a9bc7e0b7f1f52b20d68326f62e0d696dd7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
5d91c935fe doc: put a 'Last update on: timestamp' in footer
Change-Id: I8cf2e1dfe8836273991c278e2c7e68c7e7bad9fd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Dmitriy Korovkin
a91736ab9a Convert PCI_DEBUG parameter to a configuration parameter
Change-Id: Ie0272b52bbba56e3381cf33fded873aaa0709af6
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:11 -05:00
Dmitriy Korovkin
4187747e4d List PCI devices after console initialized.
In order to display PCI devices, make sure console is initialized
and list all the devices.

Change-Id: Ia7f47e58cee1a0da0ee1f86d9229a3e23e7a0dbb
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:11 -05:00
Dmitriy Korovkin
c3c75902fe Fix UART on Quark platform
UART on Quark platfor, according to Quark BSP Programmer's
Reference Manual, is located in the following order on PCI bus:
COM2 BAR0: 16550 registers
     BAR1: DMA registers
COM1 BAR0: 16550 registers
     BAR1: DMA registers

So, the driver on Quark platform has to specify BAR (Base
Address Registers) number, the pci_bus_scan() function looks for.

As long as UART is a concole device, calling pci_show() during
it's initialization does not make any output.

Change-Id: I2261fbcc8f9e3ebc22d5307fdcbb18cb649c1224
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:11 -05:00
Dmitriy Korovkin
627155afeb PCI scan by BAR number
Added BAR (Base Address Registers) as a parameter for PCI scan.
Some devices (as UART in Quark) use two set of BARs for different
purposes. A driver may require only one of them.

BARs are numbered from 0 to PCI_MAX_BARS.
PCI_BAR_ANY means ignore the BAR number. Constants are defined
in drivers/pci.h

If device class is not specified as a scanning parameter, and
set to 0, ignore it.

Change-Id: I6b7116c5c6cf9c470ab22bec9eb74842f15b5d99
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
c462756fb9 doc: Fixed instructions for building documentation
Change-Id: I4d932ca0ae337c009a68e6911e7e529fd969ccad
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
43acce185d doc: indent code blocks
In a list, the code blocks were causing the list numbering to restart
after each block, shifting them to the right helps keep the list numbers
right.

Change-Id: I5476114949422e8f917a46b041ee362faf4b81e2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
a4dc59243c doc: update for kbuild based build system
Change documentation for usage with kbuild based make system.

Change-Id: I4071d65c3eaf69a91b93e13e71d6f44a12edc317
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
94c6f058c5 Update defconfigs for all variants
Change-Id: I44704fd93112e6cbca111f4b2c9949ff0bf0c521
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
f1bad47cd7 Kconfig: update ARM BSP configs
Change-Id: Id0a09e5ca7049504b118bbd34129347ff31b839d

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
615b6debd2 Kconfig: update arm defconfig
Change-Id: Ie99fbabef905c18ab7d8ce88a7bf7ba910384dbf

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
2e67281420 Fix CONFIG_NUM_IRQS for arm
Change-Id: I46184b36ad9f7d436fd2c2736d08ab4fdcae373d

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
3446d62412 Kconfig: use correct serial driver for arm
Change-Id: Ic06eb63af3c2247371cacab1077b6ddd4a739c35

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
5282665b3c Update arch defconfig for ARM
Change-Id: Ic0d3794b4c00504bd2386fbb20b05a844de2d8e7

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
dd3e676fdb Update defconfigs for ARM
Change-Id: I6189947283476e56e082a820b812d0b3689cc484

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
4a6a236f23 Kconfig: update quark defconfig
Change-Id: I68ab854d052b080019312d8988bdc8dc94a0ea74
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00
Anas Nashif
1b3bdc414f Kconfig: make processors a choice
Change-Id: Ica78b4c20e506a9c17780cb44f81b481d14317ab

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:11 -05:00