Commit Graph

606 Commits

Author SHA1 Message Date
Daniel Leung ba6f2d9617 uart: remove uart_devs[]
Since all the necessary bits utilizing UART by index have moved to
use device name instead, the uart_devs[] can finally be removed.

Change-Id: Idbae6b46c0af9eef6c22c59e121e9d6a6b52426a
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:24:56 -05:00
Daniel Leung 728d91d598 serial/ns16550: refactor (again) to conform to driver model
() Renames ns16550.c to uart_ns16550.c. This is to follow
   the driver naming convention.
() Renames functions ns16550_uart_*() to uart_ns16550_*(),
   following driver naming convention.
() UART ports initialization is moved into the driver itself.
   All the init code in platform config files is removed.
() Adds (many) Kconfig options. These don't have to be defined
   in each platform's board.h anymore.
() Renames CONFIG_NS16550_* to CONFIG_UART_NS16550_*
() Disable NS16550 for ARC as no port is defined anyway.

Change-Id: I76bbe25b9bc75eb62df81e533f84f4f63a5257b7
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:24:56 -05:00
Andrew Boie abc85a3d3e x86: set IRQ vectors properly for MVIC
With MVIC these can't be arbitrarily assigned and the vector must be
<irq num> + 0x20.

The correct number of vectors is now set for footprint-min on D2000.

Change-Id: Ibf59921dbc438c7465b7050dd74d0badc9a91fc3
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:24:55 -05:00
Anas Nashif a297b2f61c shell: add sample application
[QEMU] CPU: qemu32
shell> ping
pong
shell> ticks
ticks: 481
shell> highticks
highticks: 750736288
shell> help
Available commands:
help
ping
ticks
highticks

Change-Id: Ie8e9d27d83bf944a8b8800f7391c6246be769875
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:55 -05:00
Thomas Heeley f85566a0b6 misc: add shell support.
Move btshell.h out of samples into include/misc and rename to shell.h

Move btshell.c into driver/console and rename to console_handler_shell.c
as an shell implementation based on new config
CONFIG_CONSOLE_HANDLER_SHELL.

Add shell_register_app_cmd_handler for an to app to optionally call so
that it can receive cmdlines not handled by the cmds registered with
shell_init

Change-Id: I5c1585e62ff7a0ee923c6c92833cc762cf912bad
Signed-off-by: Thomas Heeley <thomas.heeley@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:55 -05:00
Anas Nashif a039c486cb samples: add a sample application using RTC
This sample creates an alarm and repeats the alarm on every
interrupt.

Change-Id: I97583e3c5af826c51536f8d244c016e2c628e88a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:55 -05:00
Andrew Boie bba9510319 irq_offload: API to run a function in IRQ context
Software interrupts or system calls aren't really appropriate for
zephyr, but we have an ongoing need in our test code to run a
function with arguments synchronously in interrupt context.

This patch introduces irq_offload() which allows us to do this without
separate initialization or having to manage fake IRQs in the
interrupt controller.

ARM assembly code contributed by Benjamin Walsh
<benjamin.walsh@windriver.com>

ARC is not yet implemented but will be in a subsequent patch.

irq_test_common.h has been removed and all test cases updated to
use the new API.

Change-Id: I9af99ed31b62bc7eb340e32cf65e3d11354d1ec7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:24:55 -05:00
Peter Mitsis d62483dc85 samples: Replace task_cycle_get_32()
Replaces calls to task_cycle_get_32() with sys_cycle_get_32().

Change-Id: I3a41cd2fd185680d4c1deb2c07ffb82647211fc2
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:55 -05:00
Peter Mitsis 92335a9fe8 samples: Replace nano_cycle_get_32()
Replace calls to nano_cycle_get_32() with sys_cycle_get_32().

Change-Id: I3ed2589489d4de3e79cab085122e95dabafe8915
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:55 -05:00
Anas Nashif 5115fb57ad quark_se: rename platform and remove x86 suffix
Change-Id: I19ac3a4c6081720736c6fbf16b649ccf6ae60e2f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:54 -05:00
Dmitriy Korovkin 57f2741e4f init: Implement fine-grained initialization policy
Put initialization priorities as device driver Kconfig
parameter.

Initialization priority value for each platform is defined
in the platform Kconfig file.

Drivers and platform code use SYS_DEFINE_DEVICE to add
and initialization function.

Change-Id: I2f4f3c7370dac02408a1b50a0a1bade8b427a282
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:54 -05:00
Anas Nashif cdb973a5ee samples: rename microkernel event logger sample
The sample suffix is redundant, since we are under samples.

Change-Id: Ifb59007f0c1b156c7bb306506e3b22efc9b993dd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:54 -05:00
Anas Nashif e60c350e9a samples: rename nanokernel event logger sample
sample as suffix is redundant

Change-Id: I033a919ec2281867aca80e4c9200f5832e923c72
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:54 -05:00
Anas Nashif 1e3dca51bb build: set platform name without quotes and reuse everywhere
Avoid having to remove quotes wherever the platform name is used
by exporting the variable only once.

Change-Id: I4cb51901e4ac19d70d0310fe6bbacd157f586661
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:54 -05:00
Peter Mitsis bf0c70a93a samples: Replace task_tick_xxx APIs with sys_tick_xxx APIs
Change-Id: I6ffff5f32db9096219837262f27a27c74fab75ce
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis c40e84c57a nanokernel: Rename nano_tick_xxx APIs
Renames the following nanokernel tick APIs.
	nano_tick_get()      -> sys_tick_get()
	nano_tick_get_32()   -> sys_tick_get_32()
	nano_tick_delta()    -> sys_tick_delta()
	nano_tick_delta_32() -> sys_tick_delta_32()

Change-Id: Ie969545335d76df94b4e2d200fef86a93596f5e8
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Peter Mitsis a52bf03eb7 event logger: Remove cruft from sample app
Removes the following cruft from the nanokernel version of the kernel
event logger sample application:
 1. MDEF file
	This file is only relevant to microkernel projects.
 2. References to advanced power management and tickless idle
	These features are only relevant to microkernel projects

Change-Id: Ice9bbf0a3d73c45a9157bd38e0a2703f5915d51d
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:53 -05:00
Anas Nashif 77ba3c3b8b kconfig: define architecture as a kconfig variable
Do not depend on environment variables and use a kconfig variable
for defining the architecture.

In addition, remove the X86_32 variable, it just duplicates X86 for
not good reason, at least until start supporting MCUs with 64bit.

Change-Id: Ia001db81ed007e6a43f34506fed9be1345b88a4b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:52 -05:00
Szymon Janc c0baad2262 Rename simple UART driver to pipe UART
Original name was too generic and confusing. This patch renames
driver to pipe UART and moves it to console drivers folder. Kconfig
destription is also improved.

Change-Id: I716fdbf7d636bbdc03b0fce27a59fd866f473246
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:52 -05:00
Szymon Janc 341f81bd81 Bluetooth: SMP: Refactor keys handling
This refactor the way stored keys are handled to avoid overwriting
existing keys with new keys in case of pairing failed. Main goal is
to delay update of keys (including type and encryption size) until
link is succesfully encrypted with new key (legacy STK or LE SC LTK).

To fix this properly, TK is used to store STK or LE SC LTK and updates
of keys properties are done only on successfull encryption. This makes
code less error prone since update is done only in one place in code.
Also quering SMP code for current key makes sure that correct keys is
used in case of re-pairing.

Change-Id: I6b9e3d8229de522143e0d1fbfe0bd8223dad2a56
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:52 -05:00
Mariusz Skamra 105f052992 Bluetooth: tester: Handle Exchange MTU command
This patch adds Exchange MTU command handler to the tester.
It allows to test if GATT Client can initiate MTU Exchange Procedure.

Change-Id: I2e50cec27fb7b944f57a4a6487138adbf126bad4
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:51 -05:00
Grzegorz Kolodziejczyk 49eab1402c Bluetooth: Extend BTP Specification to cover SM routines
This adds protocol specification for SM.

Change-Id: I9c6ef377d0e4ad261e466dfed3a35713cf79de12
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:51 -05:00
Luiz Augusto von Dentz 7d2d2838fb Bluetooth: L2CAP: Implement segmentation for incoming packets
If the SDU length is bigger than the amount data received in the first
packet it means it will be segmented in 2 or more packet until the SDU
is completed.

Since the MTU required by the upper layer could be much bigger than the
ACL buffer the code now request a buffer to reassemble the SDU.

Change-Id: I286d16e185f59a8128c4357dddebdc13145dfe31
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:51 -05:00
Luiz Augusto von Dentz 8f48f02cae Bluetooth: Add l2cap-send command to btshell
l2cap-send can be used to send data when connecting to an L2CAP channel:

btshell> l2cap-send 3
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 7
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 6
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 5
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 4
bt: bt_l2cap_chan_send (0x00114b0c): chan 0x00112824 buf 0x00112b00 len 23
bt: l2cap_chan_create_seg (0x00114b0c): chan 0x00112824 seg 0x001124f8 len 23
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 23 credits 3
bt: l2cap_chan_le_send (0x00114b0c): chan 0x00112824 cid 0x0040 len 2 credits 2

Change-Id: Ibc970d1ffd8c407c66b35e9f3bf49ccf826f7472
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:24:51 -05:00
Mariusz Skamra e54d74f696 Bluetooth: tester: Lookup for service handle while adding characteristic
Add characterictic command requires to provide service ID to which this
characteristic shall be added. With this patch initialization will
succeed only if service with given ID exists.

Change-Id: Ie6223f293b4cac06f211556d29896b2e1ccd96ac
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:51 -05:00
Grzegorz Kolodziejczyk 559f7a07f3 Bluetooth: Add handling connect command for tester
This patch adds support for handling connect command in tester
application.

Change-Id: Ia35bcb33caf59b8df4a3cdc01c12d58fdeeecfe9
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:51 -05:00
Mariusz Skamra 50a13c5fc1 Bluetooth: tester: Handle Set Encryption Key Size command
This patch adds a command to the tester application that sets the
required encryption key size to access characteristic value or
descriptor.

> ACL Data RX: Handle 64 flags 0x02 dlen 8    [hci0] 16139.016504
      ATT: Write Request (0x12) len 3
        Handle: 0x0004
          Data: be
< ACL Data TX: Handle 64 flags 0x00 dlen 9    [hci0] 16139.024052
      ATT: Error Response (0x01) len 4
        Write Request (0x12)
        Handle: 0x0004
        Error: Insufficient Encryption Key Size (0x0c)

Change-Id: Ida8b0fdaffe2b1a941a0b87c8a11395a8b63ccd0
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:51 -05:00
Szymon Janc 16e7c44fb2 Bluetooth: Add support for passkey confirmation in btshell
This allows to display passkey and confirm if it matches remote
device.

Change-Id: I22f706b6441210ef426702ec290a05112e06a4e2
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:24:51 -05:00
Jukka Rissanen 36c372d8cd net: 802.15.4: Loopback test app needs bigger TX fiber stack
Because of the way the loopback tester works, it needs much
bigger stack when sending packets in TX fiber.

Change-Id: I360f0cf1f35e654cb139565f19f24628fb5ab5ee
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:24:51 -05:00
Ravi kumar Veeramally 845dd9614a net: apps: Remove testcase.ini temporarily
Remove testcase.ini from net/test/test_15_4 from microkernel
version temporarily.

Change-Id: I1ee5d80142c6b2210629842e5e8d83370299657d
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-02-05 20:24:50 -05:00
Grzegorz Kolodziejczyk d475229b4d Bluetooth: Refactor disconnect command
This patch adds missing connection unref in disconnect command. Also
lightly status setting was refactored.

Change-Id: Ic2502d8df15e45c4aea25632642af3d8a4fb23cc
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:50 -05:00
Grzegorz Kolodziejczyk b11d431d98 Bluetooth: Add missing packed attribute to cmd/ev structs
This patch adds missing packed attribute to structures.

Change-Id: I9bcc8a677ae296e41eebb530584977660df52ebf
Signed-off-by: Grzegorz Kolodziejczyk <grzegorz.kolodziejczyk@tieto.com>
2016-02-05 20:24:50 -05:00
Mariusz Skamra 5b58da915e Bluetooth: Extend BTP specification to cover GATT Client tests
This patch extends Bluetooth Testing Protocol with commands used
while testing IUT as GATT client.

Commands are mapped to the procedures from Core Specification to make
use of Read Supported Commands command. Based on the response to this
command tester can determine which PTS test cases should be enabled.
If the IUT don't support eg. Reliable Writes, this command won't be
set in Read Supported Commands response, so that test cases that
test this functionality won't be executed.

Change-Id: I204a295698d4b69f73d0556b172770c4fd018009
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:50 -05:00
Mariusz Skamra 05426296ee Bluetooth: tester: Fix invalid type of buffer length
Buffer size is 512, so uint16 type shall be used to store it's length.

Change-Id: I5abaf7d783032ff41819f7b838d4016932dece20
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:50 -05:00
Mariusz Skamra f47b828be7 Bluetooth: tester: Factor out helper for converting uuid to bt_uuid
This patch separates helper for converting uuid received from btp
command to bt_uuid.

Change-Id: If7f5423a839379763928ba5e87678697b1721d83
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:50 -05:00
Mariusz Skamra 8dc991855e Bluetooth: tester: Response with error while writting with invalid offset
IUT shall response with Invalid Offset ATT error code, if it exceeds
value length.

Change-Id: I5c7148c96324482f198332d475742bfb44274957
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:49 -05:00
Ruslan Mstoi 36b02569e3 Bluetooth: Remove wrong information about the LSB of opcode
The least significant bit of opcode is not used to distinguish between
command/response or events.

Change-Id: Icaa1b6d87968e095a7f231d43e74257f5acca379
Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2016-02-05 20:24:49 -05:00
Mariusz Skamra 93adf39864 Bluetooth: tester: Remove not needed status variable
Change-Id: I3f91f5f5bd40912fee2095af340303203807cc11
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:24:49 -05:00
Anas Nashif 62f54743cf sanitychecks: run test_bluetooth only on supported platforms
Change-Id: I986dda905692f6e9ed23dd3371f9d41b78b4478e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:49 -05:00
Anas Nashif beb160d22c sanity: make boot_time test work for Quark SE and D2000
Add configuration files for new platform and adapt options
of the benchmarks for those platforms.

Change-Id: I7c5011966c3a99f0b1c2c3fc44ba05b67ac6f953
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:49 -05:00
Anas Nashif b48e6b8a65 quark se: do not run test_prng on Quark SE
This test requires a huge stack and wont fit on Quark SE.

Generated binary is too large due to a large stack size defined.

Change-Id: I3446d614a58db1ab78941799ee41e898368db3b5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:49 -05:00
Anas Nashif c7eecba078 ipi: disable on footprint benchmarks
Change-Id: Ia90fabfe41414381b79b70e34bc12bd023d68ca7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:49 -05:00
Anas Nashif 9c9fe856bd samples: disable kernel logger sample on Quark D2000
This sample depends on functions that are not available in
the MVIC driver.

Disabling while we wait for those to be implemented.

Change-Id: Icd03ef014cbcd890945c0e77e349cccfded62e22
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:24:49 -05:00
Dirk Brandewie 1e9992c4fb x86: reduce fiber stacksize for Quark D2000
This will allow tests to be built for this platform.

Change-Id: I2275ec71af6cdb6f71c131fa26c5eae2d91c2475
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:24:49 -05:00
Peter Mitsis 2920c72915 galileo: Disable features in minimal footprint
Prevents unnecessary features from bloating the size of the galileo's
minimal footprint benchmark project.

Change-Id: Ie689a2c6fe1409904c43ec9a24a0efc01e768e4c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:24:48 -05:00
Benjamin Walsh d75d4fb6ce test: remove task_event_handler_set with invalid ID test
task_event_handler_set() only does event ID validation using __ASSERT(),
which cannot be easily tested automatically.

Change-Id: I060e3aa5b31f0a312e328e89db6f20cd800e9c5d
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-02-05 20:24:48 -05:00
Ravi kumar Veeramally ef017fe761 net: apps: Fix incorrect ip buf app data length
ip_buf_appdatalen should be user_data->expecting otherwise
it is zero.

Change-Id: Iedb61a7f0e3516a5643da04b5963a2e241fd8bc9
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-02-05 20:24:47 -05:00
Ravi kumar Veeramally 743de006ad net: apps: Fix function name in dtls-client
Change the init function name to have client string in it,
it is more logical that way.

Change-Id: Ie282151562620858dc78563f2a4e63f7fb4fc472
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-02-05 20:24:47 -05:00
Johan Hedberg fd4d439d72 Bluetooth: samples/shell: Remove dependency on CONFIG_EXPERIMENTAL
There's no reason to depend on this config option, in fact it looks
like it doesn't even exist.

Change-Id: I3e072466700ca7115dfde5af09b08f98707062bb
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:24:47 -05:00
Arkadiusz Lichwa cb29e6135d Bluetooth: Kconfig: Change topmost option
Refactors existing menu by putting as topmost selectable option
general bluetooth subsystem support instead so far Low Energy (LE).
Implication of the change is introduction of new BLUETOOTH_LE config
flag. The flag needs to be propagated to all existing bluetooth
related apps to make them buildable.

Change-Id: I608c1baad038e0ee4cccf44a3e597e16ae1f7f54
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:24:47 -05:00