Commit graph

41120 commits

Author SHA1 Message Date
Baohong Liu
8a2fbd8c90 samples: spi_flash: use unified kernel
Use unified kernel for spi flash app.

Change-Id: I723841ffd49ec7e36ad8c1aa19b168ba879a122e
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-11-03 00:25:01 +00:00
Sergio Rodriguez
df605abea4 samples: i2c Fujitsu fram: use unified kernel for fram app
Use unified kernel for i2c Fujitsu FRAM breakout sample app.

Change-Id: I7c6f532850c7944bf1b7470e75fe19bc323b9fbc
Signed-off-by: Sergio Rodriguez <sergio.sf.rodriguez@intel.com>
2016-11-02 23:20:15 +00:00
Baohong Liu
6dd7080ffb samples: pwm: use unified kernel for servo control app
Use unified kernel for pwm servo control app.

Change-Id: I08106f774f6c7fa2a4cd1fb909529f84905b5ea2
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-11-02 23:20:00 +00:00
Iván Briano
7403a6348c quark_se_c1000_ss_devboard: Define the user buttons
With the driver for AON GPIO available to the ARC side, the user
buttons in the board are usable by both cores.

Change-Id: Ib8e67fba1513caec2e89c31c16f7ed0458c4ed76
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:59 +00:00
Iván Briano
f028973f43 gpio qmsi: Enable SoC level GPIO to work on ARC too
The GPIO and AON GPIO ports are available to both the x86 and ARC
cores, but the driver always assumed only the x86 at the time of
configuring interrupts.

Use the available macros to set the correct values independently of
which core it's being built for.

Jira: ZEP-1030
Change-Id: I310afcc48780fbe1cac9dc3368a6de11bd797fda
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:56 +00:00
Iván Briano
34cf9773b1 gpio qmsi: Differentiate between the SoC GPIO and SS GPIO
The SoC level peripherals are accesible by both cores, while the SS
ones are only available to the sensor subsystem. Since the ARC core can
make use of both drivers at the same time, we need to be able to
differentiate their configuration values somehow.

Also disable the SoC GPIO for the ARC by default, as it still needs
more changes to be usable.

Jira: ZEP-1030
Change-Id: Ic5415c404ecd32a3e560467b6f5eaa873a515d72
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:52 +00:00
Iván Briano
5b2160b598 watchdog qmsi: Enable the driver to work on ARC
Jira: ZEP-1030
Change-Id: Iab5bb301dae9a18dc2050606f230606ef76bebb5
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:48 +00:00
Iván Briano
244af4a2af aio qmsi: Enable the driver to work on ARC
Jira: ZEP-1030
Change-Id: I614646053974d6a81579bbea9d969a10916f9cac
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:44 +00:00
Iván Briano
cb6cba2c70 dma qmsi: Enable the driver to work on ARC
Jira: ZEP-1030
Change-Id: I29f742762d92ca86361be9c9ed76e8cea21d58b6
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:40 +00:00
Iván Briano
b63e635a18 rtc qmsi: Enable the driver to work on ARC
Jira: ZEP-1030
Change-Id: Ie57b183c9fdf0e0cb70c7d81b92b221d54a32c0f
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:28 +00:00
Iván Briano
ca7dfd8909 ext qmsi: Ensure ISR definitions match between QMSI build and its users
Building QMSI to be used inside Zephyr requires that the build flag
ENABLE_EXTERNAL_ISR_HANDLING be defined, so QMSI knows not to treat
IRQs by itself. However, setting that in subdir-ccflags in the QMSI
directory makes the flag available only during the QMSI build.

Put the definition in KBUILD_CPPFLAGS so it's also available to users
of QMSI, regardless of whether it's the internal build or used as an
external library, and so that definitions protected by this flag match
between what's built and what is seen through header inclusion.

Jira: ZEP-1030
Change-Id: Ifd4af2ab4bdf741269cdd732b48e00e5656e65fe
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:28 +00:00
Iván Briano
5b31f76113 uart qmsi: Use provided macros to configure IRQ
Use the macros provided by QMSI (or by ourselves, when QMSI doesn't
have them yet) to register interrupts independently of which core it's
building for.

Change-Id: I83fd7e42598b45aef8132316906a3bff291dfe92
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:27 +00:00
Iván Briano
beb4f405d8 socs quark: Simplify IRQ configuration
IRQ numbers differ between x86 and ARC, as well as the bits that need to
be touched in the interrupt routing masks. QMSI abstracts some of it and
for the rest we do have the information needed.

Add a macro to select the right IRQ number based on which core we are
building for.

Change-Id: I3e6680d10a0a23c98777d2831efe6819fcb54162
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:27 +00:00
Iván Briano
3139a10017 gpio qmsi: Remove unnecesary callback wrappers
The callback from the QMSI driver now can take a data pointer to pass
to the given function, so use that to pass the device to our callback
instead of defining one function for each supported port.

Change-Id: I82d863314e0443b7c4a12d4a9ad763b9634ca8e2
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:26 +00:00
Iván Briano
0792e417e1 gpio qmsi: Remove stale comments
Change-Id: Ic69343019a619263c3d3b4ba378476504a33bec2
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:26 +00:00
Baohong Liu
dd273ffe7d samples: pwm: use unified kernel for RGB led app
Use unified kernel for pwm RGB led app.

Change-Id: I1b6d62d420371a34a5bada5769bcbea1bc1a9a6a
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-11-02 22:14:47 +00:00
Anas Nashif
4b31b0c5f9 test: sprintf: remove bogus test when building with float enabled
This test is checking for the wrong results and testing for broken/missing
feature that is actually working.

Jira: ZEP-1124
Change-Id: I7b5f87ac7b47e33e7bbcd4d3967b289f6631cb37
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 22:05:30 +00:00
Anas Nashif
21a0c5973a samples: cpp synchronization: move to legacy/
Change-Id: I7cc7842238c9e7cca00b45171d90026abfd4e00d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 22:05:29 +00:00
Anas Nashif
886677c3de samples: synchronization: move to legacy/
Change-Id: I72d6fcba0c747e27c0e9cb9fade7abcf8bd077bc
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 22:05:29 +00:00
Anas Nashif
269d38bcda samples: philosophers: move legacy applications to legacy/
Change-Id: Id67ecd44e44be4821bad8894154cfbcbdcea0634
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 22:05:28 +00:00
Allan Stephens
ee842535a4 unified/test: Adapt object tracing tests to unified kernel
Change-Id: I657410d64432d2d09938bd19a4db482bc1f23529
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-02 21:56:27 +00:00
Allan Stephens
e7d2cc216d unified: Add object tracing support for kernel objects
Defines an object tracing list for each kernel object type
that supports object tracing, and ensures that both statically
and dynamically defined objects are added to the appropriate list.

Ensure that each static kernel object is grouped together with
the other static objects of the same type. Revise the initialization
function for each kernel type (or create it, if needed) so that
each static object is added to the object tracing list for its
associated type.

Note 1: Threads are handled a bit differently than other kernel
object types. A statically-defined thread is added to the thread
list when the thread is started, not when the kernel initializes.
Also, a thread is removed from the thread list when the thread
terminates or aborts, unlike other types of kernel objects which
are never removed from an object tracing list. (Such support would
require the creation of APIs to "uninitialize" the kernel object.)

Note 2: The list head variables for all kernel object types
are now explicitly defined. However, the list head variable for
the ring buffer type continues to be implicitly defined for the
time being, since it isn't considered to be an core kernel object
type.

Change-Id: Ie24d41023e05b3598dc6b344e6871a9692bba02d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-02 21:56:27 +00:00
Allan Stephens
3f5c74c922 unified: Add linker script support for all kernel object types
Enhance the linker script so that all statically-defined kernel
objects of a given type are co-located.

Note 1: This capability is needed so that static kernel objects
can be added to the associated object tracing list. (Some kernel
object types are already co-located to permit the kernel to do
other initialzation on statically-defined objects.)

Note 2: A follow-up commit is needed to ensure statically-
defined kernel objects are placed in the sections referenced
in the linker script.

Note 3: The legacy script info remains for now to allow
applications using the microkernel or nanokernel to continue
to build.

Change-Id: I40d831f9e183fb121c950e30fa8298b6d529375b
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-02 21:56:26 +00:00
Allan Stephens
7dabe23485 kernel/test: Use custom code in object tracing tests
Microkernel and nanokernel versions of the test now use distinct
sets of source files. This eliminates the dependency on the
MICROKERNEL and NANOKERNEL configuration options, which the
unified kernel doesn't set correctly in all cases.

Change-Id: I59e1d4a73265a433f526d030d2fd04d4b8de1973
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-02 21:56:25 +00:00
Inaky Perez-Gonzalez
52b519d471 tests/crypto/test_tcc_dh: increase timeouts for real HW
Some HW needs longet timeouts for this TC to complete succesfully.

Change-Id: If6cd4ad93b6e15293f1f8d8e606e159271f0e4d1
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-11-02 21:56:03 +00:00
Szymon Janc
6fc74083db console: shell: Fix not printing selected module prompt
If application prompt handler returns NULL curently selected module
prompt should also be checked before of printing default shell prompt.

Change-Id: Iba9c191041951c31036766b1cc8070b040655445
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
2016-11-02 21:55:47 +00:00
Baohong Liu
c5a5397804 samples: pwm: use unified kernel
Use unified kernel.

Change-Id: Ifd7f6d9779759bd78fef734519fd48f0d0c5fc4a
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-11-02 20:54:05 +00:00
Baohong Liu
94bf561cf1 samples: pwm: use unified kernel
Use unified kernel.

Change-Id: I9602ccde67a3f77addedd8ce9470795d9502c020
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-11-02 20:53:34 +00:00
jing wang
2c3346ae73 ztest: fix ztest syncronization issue when execution
ztest execute syncronization depends on sem take and give
between TC. Current issues are
*) test execution go to next one before current TC finish
*) one TC failure will block whole testing.

Fix this issue by move k_sem_take from init_testing to
run_test and add k_sem_give in run_test_fail.
Meanwhile, set init sem value range from 0 to 1

Issue: ZEP-1164
Change-Id: I7b2d38501d0965455a71863a4729ee81472a63ec
Signed-off-by: jing wang <jing.j.wang@intel.com>
2016-11-02 18:07:25 +00:00
Inaky Perez-Gonzalez
2c48278be7 tests/kernel/test_fifo: filter unified kernel for small memory
As we transition to the unified kernel, we need to check on there
being enough memory in said case (nano kernel always had it based on
higher granularity filtering with 'kernel = nano').

Change-Id: Ie21aea2773feb9337d8d34dcf45858e4df879469
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-11-02 18:06:18 +00:00
Inaky Perez-Gonzalez
a64ea3d62f tests/crypto/test_mbedtls: increase timeouts for HW
When running in real HW, testcases take more time to execute than the
default 60s. 200s seems to work for all HW types as of this commit
(FRDM k64f, Arduino Due, Arduino 101 / x86, EMSK 9d).

Change-Id: I663a67161bd7b4c349a483efb8e9cbf14c09421c
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
2016-11-02 09:38:03 -07:00
Benjamin Walsh
8db172c693 unified: allow passing most APIs as function pointers
Several legacy API macros had the format:

  #define some_legacy_api(<parameters>) other_api(<same parameters>)

This prevents passing 'legacy_api()' as a function pointer. Remove the
parenthesis where possible and instead use the format:

  #define some_legacy_api other_api

This allows passing 'legacy_api' as a function pointer by having the
preprocessor resolve it to 'new_api' directly.

Change-Id: Ib680a15a22097727b1dade4b7b4785267c004751
Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
2016-11-02 15:17:59 +00:00
Yael Avramovich
d5db35204a console: shell: Support multiple modules
Ability to use Zephyr shell by multiple modules simultaneously, each
module for its own usage.

Old shell implementation enabled the user to call only one module
commands, not all of the modules simultaneously.

Change-Id: I0ef8fa2fd190b7490c44fe91d1016363258302c9
Signed-off-by: Yael Avramovich <yael.avramovich@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-11-02 00:23:18 +00:00
Andrew Boie
a6463a93c1 drivers: ieee802154_cc2520: fix unified build
In the unified kernel legacy layer, both these functions are
implemented as #defines which can't be put in a struct.

Eventually this driver should be updated to use new APIs, but
this will get it to at least build which is the priority.

Change-Id: Ic5dfb5b85ff3bd0d1646f542340642549a2b2e05
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-11-02 00:00:29 +00:00
Andrew Boie
25ce056279 tests: benchmark: enable for V2 kernel
Not completely ported to V2 APIs yet, but enough that we pull in
all the kernel.h APIs for the microkernel test, bypassing the legacy
layer.

We pull in a lot more than the legacy test did, so results are not
directly comparable.

Change-Id: I35e74bfd1aa15ee59951f68fb7dd8d811619c3f8
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-11-02 00:00:29 +00:00
Gil Pitney
304e5a69bf Makefile: Fix clobber of LIB_INCLUDE_DIR during second pass
The commit:
commit f25ac092b9
 "Makefile: Restructure for multilibs"

breaks external HAL library linking, by overriding, in the
the second Makefile pass, the LIB_INCLUDE_DIR variable
set in the first Makefile pass from ext/hal Makefiles.

This breaks use of the CONFIG_CC3200SDK_LIBRARY=y option in
the cc3200 SDK, and also likely the QMSI ext/hal/qmsi/Makefile,
when CONFIG_QMSI_LIBRARY=y is set.

This commit just changes the '=' to "+=".

Jira: ZEP-1163

Change-Id: I1aaaaee57378dcd01ab6f2ed4799281b2337eea2
Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
2016-11-01 23:51:02 +00:00
Dmitriy Korovkin
b4db06615d unified/tests: Remove nanokernel test part from latency_measure
Nanokernel part of the latency_measure test is a subset of the
microkekernel tests. For unified kernel there is no reason to
have nanokernel test - for unified kernel we have to run whole
the set of tests.

Change-Id: Ief176fd9d25e7355e3d3697c3bbc1e953b16655c
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-11-01 23:39:34 +00:00
Szymon Janc
a037316bb5 console: Add support for DEL key
This allows to delete character after cursor.

Change-Id: I9acc5e1edeb688ea4ec36e91aef69ecb5f5f6354
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-11-01 23:37:37 +00:00
Szymon Janc
6b0cf54c60 console: Add support for HOME and END keys
This allows to navigate to begining and end of the line easily.

Change-Id: I3a839a0499961d55574a310c65811dd2fe048703
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-11-01 23:37:36 +00:00
Anas Nashif
e7e5701aea Merge "Merge bluetooth branch to master" 2016-11-01 23:21:21 +00:00
Andrew Boie
389dc9f96e tests: app_kernel: exclude call_test() on unified
The unified kernel doesn't use the KERNEL_ENTRY() mechanism,
it doesn't do kernel calls in a special context. So there's
no reason to test this on the unified kernel and we can omit it.

Change-Id: I2b8aa2495385a39130e9b87c0d0324f2f205a2c8
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-11-01 21:47:22 +00:00
Allan Stephens
98625cb6ce unified/doc: Update Power Management Document
Removes reference to nanokernel/microkernel.

Change-Id: Ibac9c85570d7add45c1dbabc524cb5176c5a189d
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-01 21:45:39 +00:00
Allan Stephens
dec00ce0bd unified/doc: Update Kbuild Reference
Removes references to nanokernel/microkernel and related obsolete
text.

Change-Id: I2b52243db7c580e14d18d39effee7d86428855d8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-01 21:45:39 +00:00
Allan Stephens
1f7623e2c8 unified/doc: Update Introducing Zephyr
Adapt text to reflect unified kernel changes, and also clean up
a few stylistics inconsistencies.

Change-Id: Ife6d97cae20c7feb974f17f54a47da583f1c1907
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-11-01 21:45:38 +00:00
Peter Mitsis
058fa4e493 unified: API changes to event handling
Allows event objects to pend signals in a cumulative way using
the semaphore in a non-binary way.

Jira: ZEP-928
Change-Id: I3ce8a075ef89309118596ec5781c15d4f3289d34
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-11-01 16:27:41 -04:00
Johan Hedberg
03c71748f1 Merge bluetooth branch to master
A smaller than usual merge, but with a couple of important fixes:

 - Fix UART TX stall condition (easily reproducible on Arduino 101)
 - Add missing BT_SECURITY_NONE security level
 - Fix missing ATT responses due to missing buffers
 - Consolidate ATT buffers into a smaller set of pools (2 instead of 4)
 - Fix missing error response for LE Connection oriented Channels

----------------------------------------------------------------
Carles Cufi (1):
      Bluetooth: uart: Fix UART TX stall condition

Johan Hedberg (6):
      Bluetooth: samples/hci-uart: Remove unneeded hci_driver.h include
      Bluetooth: Move hci_driver.h to include/drivers/bluetooth
      Bluetooth: Add handling for security level 0
      Bluetooth: samples/hci-uart: Fix up configuration files
      Bluetooth: samples/hci-uart: Fix minor style issues
      Bluetooth: Rename BT_SECURITY_ZERO to BT_SECURITY_NONE

Luiz Augusto von Dentz (5):
      Bluetooth: ATT: Fix not responding when there is a request in parallel
      Bluetooth: ATT: Rework buffer pools to minimize extra data
      Bluetooth: GATT: Fix calling read handler twice
      Bluetooth: L2CAP: Add security check for LE CoC
      Bluetooth: shell: Add support for setting security level to l2cap_register

 drivers/bluetooth/hci/h4.c       |  3 +-
 drivers/bluetooth/hci/h5.c       |  3 +-
 include/bluetooth/att.h          | 11 +-
 include/bluetooth/conn.h         |  2 +
 include/bluetooth/l2cap.h        |  3 +
 .../bluetooth/hci_driver.h       |  0
 net/bluetooth/Kconfig            |  6 +-
 net/bluetooth/att.c              | 72 +++++-----
 net/bluetooth/gatt.c             |  9 ++
 net/bluetooth/l2cap.c            | 23 ++-
 net/bluetooth/l2cap_br.c         | 24 +++-
 .../bluetooth/hci-uart/Makefile  |  2 +-
 .../{prj.conf => generic.conf}   |  4 -
 .../hci-uart/src/main.c          | 18 +--
 tests/bluetooth/shell/src/main.c |  9 +-
 .../src/bluetooth.c              |  2 +-
 16 files changed, 119 insertions(+), 72 deletions(-)
 rename include/{ => drivers}/bluetooth/hci_driver.h (100%)
 rename samples/bluetooth/hci-uart/{prj.conf => generic.conf} (62%)

Change-Id: Idc225b46206d4d3f0a85918e5cf9e527fb407a1e
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-11-01 21:41:59 +02:00
Luiz Augusto von Dentz
2538811fa9 Bluetooth: shell: Add support for setting security level to l2cap_register
This adds support for setting the minimun required security level to
l2cap_register command:

l2cap-register <psm> [sec_level]

Note that entering the security level is optional and the default is
BT_SECURITY_LOW(1).

Change-Id: Ib6dea92919357f41fe2f4de3050b9a10a7f553d6
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-11-01 21:40:39 +02:00
Luiz Augusto von Dentz
b1ad0c9c21 Bluetooth: L2CAP: Add security check for LE CoC
This implements the security check for incoming LE CoC and in case the
connection cannot attend the minimun security level set by the server
return a proper error:

> ACL Data RX: Handle 72 flags 0x02 dlen 18
      LE L2CAP: LE Connection Request (0x14) ident 1 len 10
        PSM: 128 (0x0080)
        Source CID: 64
        MTU: 672
        MPS: 230
        Credits: 10
< ACL Data TX: Handle 72 flags 0x00 dlen 18
      LE L2CAP: LE Connection Response (0x15) ident 1 len 10
        Destination CID: 0
        MTU: 0
        MPS: 0
        Credits: 0
        Result: Connection refused - insufficient authentication (0x0005)

Change-Id: Ia8b2873c5d1b154eb9a7c1a49c94578c4ec22f6d
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-11-01 21:40:39 +02:00
Johan Hedberg
3eb04280ed Bluetooth: Rename BT_SECURITY_ZERO to BT_SECURITY_NONE
Even though this is level 0, NONE as a symbolic description is more in
line with the other level names.

Change-Id: Ic9d7c38b928d8744d47e759fae804bbbc08c89bf
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-11-01 21:40:39 +02:00
Johan Hedberg
142b75fddb Bluetooth: samples/hci-uart: Fix minor style issues
Fix minor style issues with excessive whitespace for alignment and
lack of 'static' for the tx_fiber_stack.

Change-Id: I0c761e94e6a6789a3772b08b0774cd1a5e73c2ef
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-11-01 21:40:39 +02:00