Commit graph

19193 commits

Author SHA1 Message Date
Dmitriy Korovkin
5a57c36a6c Fix galileo configuration to HPET
Add to the configuration that HPET timer legacy emulation
mode is not used, as hardware does not support it.

Change-Id: I51175a0ce8f06c9c38a3fc36f9723e431fc72dd6
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:42 -05:00
Dmitriy Korovkin
6ab23e30da Port basic_atom configuration to HPET
In order to work reliably on QEMU and not depend on the
host CPU frequency change basic_atom configuration to use HPET.

Change-Id: I1253a0224bcbff4a7d54406b089c29b5ace32080
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:42 -05:00
Dmitriy Korovkin
8b0271dd2c Adapt HPET driver to work with QEMU
Qemu implements HPET so that it is connected to IRQ 2, which makes
necessary to use it in legacy emulation mode.

Add legacy emulation mode to HPET driver.

Change the way the HPET driver is initialized. QEMU requires that
the mode (one shot or periodic) gets set prior loading comparator
value.

Add debugging mode to HPET driver to ease the next port.

Change-Id: I668325d5968451585519a08b6c41863cf6e37f88
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:42 -05:00
Dmitriy Korovkin
63fe84bdaf Fix PIC shutoff.
Disable the PIC upon initialization to prevent it from
generating spurious interrupts.

Change-Id: I08ba1d00e269e1fd1d32960dcb844e9fa1ccc195
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
b2267b28f1 Correct kernel type in XIP README.txt
Fixes README.txt for nanokernel's test_xip to refer to the nanokernel instead
of the microkernel.

Change-Id: I03866e88ec67515b827b901d49b1e7b10d3866d0
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
5dd4296a0a Fix obsolete references to resources
Fixes a couple of references to obsolete resource terminology; they now refer
to mutexes.

Change-Id: Ie7f837b6657891bdde9b09bb0ff2311fe4c19928
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
89e922243b arm: Use new SRAM and flash Kconfig options
The configuration of SRAM and flash options are no longer hardcoded in the
platform's linker script file, but are instead defined in the platform
configuration file.

Change-Id: I557a8228080d607f6add5f86b9b2509ed3fd31ce
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
741086e119 arm: Add SRAM and flash Kconfig options
Adds Kconfig options for specifying the following platform attributes:
    SRAM size
    SRAM base address
    Flash size
    Flash base address
This will allow them to be hoisted out of the platform's linker script file
in a later commit.

Change-Id: I09ba5c09d8f34eea5d787c669d77d27d4389d824
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
36e352dc2f arm: Improve Kconfig option organization
The Cortex-M related Kconfig menus and options no longer show up at the top
level when "make ARCH=arm menuconfig" is issued.  They show up under the
"General Platform Configuration" menu.

Change-Id: I6bf012e628212340f5e089d0193a9a71d90c79b9
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
916dcff7a8 arm: Move bsp/CortexM to core/cortex_m
Eliminates bsp directory as part of transforming BSPs to platforms.

Change-Id: I8b5366bf32797ddbb1bfa3520ddfeed6344cec2f
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
0167aa16fa arm: Fix whitespace
Fixes whitespace issues found by checkpatch.

Change-Id: I0bfa6721dcf2d6c0413b4ca39d3c5ea98631b96d
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
6acbe63aea initial commit for next-gen sanity checks
The online help ./scripts/sanitycheck --help describes usage.
Most users will simply want to run with no arguments.

Change-Id: Icedbbfc22599a64a6e3dbbb808ff3276db06f2e0
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Anas Nashif
ef39858deb Zephyr 0.3.0
Change-Id: Iee74ac9a62d0866d0881a215ce74ad0ca555cd3d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
22c3fa3742 build: Don't disable the monitor when using QEMU_PIPE
Performance is about the same, it does not appear to cause issues,
and older versions of QEMU don't support this flag.

Change-Id: Ie45a2396c7b0d3098923244d92b15422491413a1
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
776d5f7c22 build: fix application build in symlinked environment
This fixes issues building in a tree which has symlinks in its path,
for some reason PROJECT_BASE ends up having symlinks removed from it
but not ZEPHYR_BASE, causing Python to generate relative paths
with "../.." (for example) in the beginning. This patch ensures both
have symlinks removed before computing SOURCE_DIR.

Change-Id: I3e0688b602a320d7644834b73cde79cfe91cb677
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Allan Stephens
be59308978 doc: Enhancements for microkernel pipe objects
Enhances description for pipe definition. Adds examples of pipe
use. Enhances descriptions in pipe API table.

Change-Id: I14485a4c5ef964ab0000699a79d7632ee4130167
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Anas Nashif
28ad2e2856 Zephyr 0.3.0-rc2
Change-Id: Ie6d961795f5d1a1cce71cc15272d8560877fc69e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:42 -05:00
Allan Stephens
ca3b1044a1 doc: More enhancements for microkernel mailbox objects
Adds examples of asynchronous mailbox operations. Adds missing
message priority support in synchronous mailbox operation examples.

Change-Id: I69a97d52b8bfbf98f31afed17c02a00d42e938e9
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Anas Nashif
d64654ec0d gitignore: Do not ignore linker.cmd files under arch/
Change-Id: I8300ce8f686466aab87f88e7ea232103014ccf82
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
7c4056ec84 doc: add note about new ccache feature
Change-Id: I87be61744fec74441a2c89ae37d56034a343e4c7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Arkadiusz Lichwa
a9c1163ed9 build: Fix python3 printf syntax
Using as default on build host Python3.4 environment,
the build of Zephyr terminates with complain.

File "<string>", line 1
      import os.path; print os.path.relpath(...)
                             ^
SyntaxError: invalid syntax

Change-Id: I99abf647ffc68d4e8a0b3d6c74a5362435670aa4
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
9132a13542 build: HACK fix issue where project objects don't end up in $(O)
Kbuild doesn't like absolute paths since it can't compute an outdir path
by applying a prefix. Convert to relative path before calling the kernel
Make session.

This will not work for projects that are completely outside the Zephyr
tree as leading ../ in the relative SOURCE_DIR will mess up the outdir
calculation.

Change-Id: I6680796d5da4624b01aa3c45ac2c4b4a8a99d09a
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
285c054830 Kbuild: use ccache if USE_CCACHE=1 is set
Change-Id: Ic9f1843bd697af497b5feec77bdb470b194115d2
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Andrew Boie
6fbbcbac22 build: don't use FORCE in deps for sysgen
We only want to rebuild this if the MDEF file has been touched.
Otherwise, zephyr.h gets rebuilt with every build, causing
unnecessary rebuilds of application source.

Change-Id: If128da48c9688f043c467f6b163ec6cb3e1d952c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:42 -05:00
Allan Stephens
a426390daa doc: Enhancements for microkernel mailbox objects
Enhances description for mailbox definition. Adds examples of basic
mailbox use. Enhances descriptions in mailbox API table.

Note: Enhancement of the initial part of this document is left
for future commits, as are examples of more complex mailbox operations
like asynchronous send and receive.

Change-Id: I9a0b46f7e71242a113fab2ded395e068fefede84
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Anas Nashif
c9b1b61340 cleanup: remove unused CONFIG_TICKLESS_IDLE_UNSUPPORTED
Change-Id: Iedb179a244f66cf403243d5d6eca020293397295
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:42 -05:00
Dmitriy Korovkin
28af7ae1d1 Fix microkernel "unaligned write" exception problem on ARM
Fix the structure members alignment to avoid problems
when GCC allocates 1 byte for a member of enum type.

Change-Id: I9f28c72d2e5359216ada921d4d5ce32d55cbdd45
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:14:42 -05:00
Allan Stephens
f4c7281073 Remove trailing semicolon in definition of CMD_PKT_SET_INSTANCE()
It appears more conventional to require callers of function-type
macros to supply the trailing semicolon.

Change-Id: I40c67cf2ec8f7e85bdc9d8a2a29698b56d9715c6
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
fee3e3c308 basic_atom: update default SYS_CLOCK_HW_CYCLES_PER_SEC
The basic_atom uses the LOAPIC timer, which means that the proper value for
SYS_CLOCK_HW_CYCLES_PER_SEC is dependent upon the hardware.  Although the
proper value for the atom_n28xx hardware is 150000000, that value does not
necessarily play well with QEMU and the host development platform as it has
been observed on many development boxes to result in a real tick frequency
that is too high.

It is recognized that the developer's host platform can not be controlled for
and that the new value of 900000000 will not be ideal for all systems. Pending
further feedback, it should be an improvement over the previous.

Change-Id: Ibe4e1ad91d3b3ae090893ff3dc855b4343972e24
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Peter Mitsis
d2857404f5 Kconfig: fix SYS_CLOCK_HW_CYCLES_PER_SEC dependencies
Fixes the SYS_CLOCK_HW_CYCLES_PER_SEC Kconfig option dependencies such that
it can be overridden by a modified platform configuration file.  This is
particularly important for the LOAPIC timer driver as
SYS_CLOCK_HW_CYCLES_PER_SEC is dependent upon the target's CPU/bus frequency.

Change-Id: I0fb49b4c540888cb1988c76e2a711a85e756f82c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:42 -05:00
Juan Manuel Cruz
d51ed25f79 Doxygen: Nanokernel semaphore APIs comments to header files.
This commit moves the comments from the nano_sema.c file to the
nanokernel.h file.

Change-Id: Ia1d517da38807d096b349331da72c9c4a81fb44e
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:42 -05:00
Rodrigo Caballero
79c4499fe1 Doc: Restructures the Kbuild documentation.
This change restructures the existing kbuild documentation. It adds the
labels to each module and does minor corrections in spelling, grammar
and ReST markup usage.

Change-Id: Id12705085a1f99e30204c7b82b4b95b28001cb00
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
2016-02-05 20:14:41 -05:00
Andrew Boie
ca12bbb569 fix issue where two outdirs are created
O was getting passed along to the main Kbuild Make session which is
called with -C. If O was a relative path, the outdir would effectively
become $(ZEPHYR_BASE)/$(O) which is not what we want.

Change-Id: I148539490ecfc2d4e84a0fdf3e3dd1ab24503633
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
96726f0a58 x86: Move source files from arch/x86/ to arch/x86/core/
Moves the source files from arch/x86/ to arch/x86/core/ as part of transforming
BSPs to platforms.

Change-Id: I0ef6622762cda8ce201944fd87f2ee8f73e3e511
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
e611fbd811 Fix typo: specifc -> specific
Change-Id: I7677253567a5fb0ee087112647a49368e037c1a9
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
83b83b5317 Fix typo: accomodate -> accommodate
Change-Id: I64d45055baf3f2b742585984f05f94f1af0ed9c9
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Allan Stephens
0a66ab3f2c doc: Add example of giving a microkernel sempahore from an ISR
Change-Id: I13ad61239659a17768831290535f02787776282c
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
f297068949 Fix line length warning flagged by checkpatch
Change-Id: Ia3eab1b2cf359985e1f9db1514c5dbf7e74f6012
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Allan Stephens
5d4a3178a0 doc: Enhancements for microkernel FIFO objects
Enhances description of FIFO definition. Adds examples of FIFO use.
Enhances descriptions in FIFO API table.

Change-Id: I29eed159651eed8d078ddc23818812246e58514e
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
d8a5c03404 Kconfig: Update timer driver dependencies
Updates the timer driver dependencies to simplify the selection of a timer
driver.  The timer driver menu only lists those drivers that are compatible
with the previously selected interrupt controller.

Change-Id: I5deea315f7c373c6660bacc411c6374e7b0ae84d
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
dff49566e0 Kconfig: Update CONFIG_IOAPIC dependencies
Selection of the IOAPIC requires that the LOAPIC be previously selected.

Change-Id: I13d95d4bb4ff02c1aebb0b5e573cb2b89dbe530b
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
61f0ce44c7 Kconfig: Remove option LOAPIC_TIMER_FREQ
The LOAPIC_TIMER_FREQ Kconfig option is not used.

Change-Id: I919fd2128f667e0b91467cb542041449738dd992
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
dc0fb7ed38 Cosmetic: Fix whitespace in timer driver Kconfig
Change-Id: I2d44567756faee030a26004973ad8c306a47bbcd
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Peter Mitsis
53b721a706 Cosmetic: Fix whitespace in interrupt controller Kconfig
Change-Id: I2eb4184189925bcfe433617286a364dc1e35100c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
03bec088ef Zypher 0.3.0-rc1
Change-Id: I0e31a1cf8a06e04bb0fc02fd5e76c8d79b5301f3
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
6b9577d2f5 fix white space issues
Change-Id: I8def24a7928121def14d6ff3f8e1f05c6fb1bad6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
abeaeacab0 Kconfig: TICKLESS_IDLE_UNSUPPORTED is not used
Change-Id: Id6767a0d6b04eea6b76065d4792245b57fb0a657
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
274cc72aee replace negative CMOV_UNSUPPORTED with CMOV
Change-Id: Id2aba9402495d99176eb499b1c74f86349e1164b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
09821973ca Add missing includes for ARC
include nanokernel.h and misc/util.h

Those are needed after the restructuring and changes done
to public APIs.

Change-Id: Icbb1d182419e793afe7a74b14af1f31180967f39
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00
Anas Nashif
f45e4aa9a1 Support ARC architecture with kbuild
Change-Id: Ic0b884e3760d5957986208ea7b19653c06eda072
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:41 -05:00