Commit Graph

20163 Commits

Author SHA1 Message Date
Michael Scott
30c3461e9b samples: lwm2m: replace prj_dtls.conf with overlay fragment
Instead of maintaining a nearly identical copy of prj.conf to support
DTLS, let's replace it with an overlay-dtls.conf file containing only
the CONFIG settings needed to support DTLS.  This can be used via the
-DCONF_FILE command line argument when configuring the sample:
Non-DTLS-enabled build:
cmake -GNinja -DBOARD=qemu_x86 ..
DTLS-enabled build:
cmake -GNinja -DBOARD=qemu_x86 \
  -DCONF_FILE="prj.conf overlay-dtls.conf" ..

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
2018-04-26 07:59:32 +03:00
Ruslan Mstoi
bf185f58eb net: ipv6: Fix crash from double free of fragment
This commit fixes crash caused by double free from message sequence
fragmentation. When double free happens the call stack is:

0  reassembly_cancel
1  handle_fragment_hdr
2  net_ipv6_process_pkt
3  process_data
4  processing_data
5  net_rx
6  process_rx_packet
7  work_q_main
8  _thread_entry

So at first packet is unrefed in reassembly_cancel and then also in
processing_data.

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-04-26 07:58:11 +03:00
Paul Sokolovsky
460a6c77c5 net: tcp: send_syn_segment: Log packet before it's sent
After successful send, the packet is automatically cleared, so
trying to call print_send_info() on it leads to errors:

[net/pkt] [ERR] net_pkt_tcp_data: NULL fragment data!
[net/tcp] [ERR] net_tcp_get_hdr: NULL TCP header!

(if error logging enabled).

This change is similar to how print_send_info() is called in
existing send_reset() function of this source file.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-04-26 07:55:21 +03:00
Adithya Baglody
246f03c9e6 x86: minnowboard: Enable the userspace mode
This enables the MMU with PAE mode and also enables the userspace
mode.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-04-25 14:46:00 -07:00
Adithya Baglody
960e97834f x86: linker: Maintain 4K alignment for application memory.
When MMU is enabled and the SOC we are running doesn't have
execute in-place(XIP) the final image will be a monolith which
sits in RAM. In such situations we need to maintain the alignment
for application memory. If not maintained the MMU boot tables
will not be configured properly.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-04-25 14:46:00 -07:00
Adithya Baglody
3e3d1a1c8c x86: minnowboard: Add support for enabling MMU
The required linker and gen_mmu.py support added for minnowboard.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-04-25 14:46:00 -07:00
Adithya Baglody
7753bc5065 tests: kernel: mem_protect: tests for userspace mode.
The testcases presented here will test the following functionality
1. Inheritance of permission from parent thread to child.
2. Memory domain implementation.
3. Access permission for k objects.

The combinations of these test cases will cover some of the basic
usecases of the userspace mode.
These test cases are meant to be executed by any board with has
CONFIG_USERSPACE enabled.

Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
2018-04-25 14:44:31 -07:00
Yannis Damigos
398a5a4fc2 dts: dtc v1.4.6 warnings: Fix warning for leading 0s
Fixes the following warnings:
Node unit name should not have leading 0s

Fixes #7155

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-04-26 03:00:42 +05:30
Leandro Pereira
39dc7d03f7 scripts: gen_kobject_list: Generate enums and case statements
Adding a new kernel object type or driver subsystem requires changes
in various different places.  This patch makes it easier to create
those devices by generating as much as possible in compile time.

No behavior change.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-26 02:57:12 +05:30
Leandro Pereira
c200367b68 drivers: Perform a runtime check if a driver is capable of an operation
Driver APIs might not implement all operations, making it possible for
a user thread to get the kernel to execute a function at 0x00000000.

Perform runtime checks in all the driver handlers, checking if they're
capable of performing the requested operation.

Fixes #6907.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-26 02:57:12 +05:30
Andy Ross
e7ded11a2e kernel: Prune ksched.h of dead code
There was a ton of junk in this header.  Pare it down to just the
stuff actually used by code outside of sched.c, move the needed
internal stuff into sched.c itself, and drop everything else.

Note that (other than the tiny inlines that remain here in the header)
the scheduler interface exposed to the rest of the system is now
composed of just 12 functions.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-04-25 13:13:23 -07:00
Andrzej Puzdrowski
341b427366 subsys: settings: fix fcb back-end initialization
In f. settings_init_fcb the storage area was implemented badly:
- storage was always erased
- the only source of settings fcb instance was pointed twice.
This patch fix both issues.


Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2018-04-25 22:25:32 +05:30
Andrzej Puzdrowski
9fe30535d7 susbsys: settings: fix coverity issues
API settings_subsys_init call was changed so that it returns
error (so returns int instead of void).
Prototype of storage helper function export_func for
settings_handler::h_export was changed so that it returns error
(so returns int instead of void).
Fixed few other error handling issues by ignoring return
values.

Tests were aligned to above patches.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2018-04-25 22:25:32 +05:30
Håkon Øye Amundsen
de223cce8a sanitycheck: Updated helptext to -O/--outdir argument.
This addresses issue #7146.

The current helptext does not state that the directory
will be deleted.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2018-04-25 17:37:29 +05:30
Håkon Øye Amundsen
6779d3f356 cmake: Fix printed list of supported boards.
Fixes issue #7184.

Use $BOARD_ROOT to find correct list of supported boards.
This is needed since the user can set this variable to any directory.
Pass $BOARD_ROOT to usage.cmake where it is called.

Signed-off-by: Håkon Øye Amundsen <haakon.amundsen@nordicsemi.no>
2018-04-25 17:36:58 +05:30
Anas Nashif
eb6f20318e tests: fix meta data of peripheral tests
Improve naming of tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
c0149cc01d sanitycheck: support listing test cases
Parse all yaml file and create a list of declared testcases. This does
list the individual tests inside test projects, not only the projects
containing the tests, for example:

$ sanitycheck --list-tests  -T tests/net/socket/
 - net.socket.udp.send_recv_2_sock
 - net.socket.udp.v4_sendto_recvfrom
 - net.socket.udp.v6_sendto_recvfrom
 - net.socket.udp.v4_bind_sendto
 - net.socket.udp.v6_bind_sendto
 - net.socket.getaddrinfo_ok
 - net.socket.getaddrinfo_no_host
 - net.socket.tcp.v4_send_recv
 - net.socket.tcp.v6_send_recv
 - net.socket.tcp.v4_sendto_recvfrom
 - net.socket.tcp.v6_sendto_recvfrom
 - net.socket.tcp.v4_sendto_recvfrom_null_dest
 - net.socket.tcp.v6_sendto_recvfrom_null_dest
13 total.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
7a5ff13703 tests: allow unsupported tests to be skipped
Instead of completely excluding those tests, mark them as skipped and
provide an noop function that marks the test as skipped where test is
not supported.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
aae71d74dd sanitycheck: parse test cases from source files
This parses the tests that run within a test project/application from
the source code and gives us a view of what was run, skipped and what
was blocked due to early termination of the test.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
20495e897b ztest: support skipping tests
Some tests cant run everywhere, instead of completely dropping them, we
should report them as being skipped.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
910a569ea7 tests: stackprot: move to ztest
Move test to use ztest instead of freestyle.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
0f5a88b0ef tests: posix: mqueue remove extra printk
Remove useless printk at the end of the tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
fa6cce430c tests: ztest: style, tag and category fixes
Fix categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
89a50932d3 tests: posix: style, tag, and category fixes
Fix coding style, test tags and use categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
9312de0077 tests: crypto: style, tag, and category fixes
Fix coding style, test tags and use categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
1f2627a638 tests: net: style, tag, and category fixes
Fix coding style, test tags and use categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
63f21391b9 tests: use consistent test function names
Minor change to make test names consistent with other tests using ztest.
All test functions need to start with test_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Anas Nashif
1609f251ee tests: kernel: style, tag, and category fixes
Fix coding style, test tags and use categories.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2018-04-25 14:18:15 +05:30
Paul Sokolovsky
e564d58b7d tests: socket: udp: Close test sockets
Close test sockets in test_send_recv_2_sock() to avoid Coverity
warnings.

Coverity-Id: 182764
Fixes: #6107

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-04-25 10:26:19 +03:00
Henrik Brix Andersen
83ac3e24d8 shell: kernel: Add reboot command
Add a reboot command for requesting a warm or cold system reboot
through the kernel shell.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2018-04-25 07:18:35 +05:30
Andrei Emeltchenko
190e8d961c usb: wpanusb: Fix setting wrong length
During introduction of RAW channel pkt length was set to wrong value.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
24cc5cc4ab usb: wpanusb: Make generic interface to raw 802.15.4 channel
Reuse CONFIG_NET_APP_IEEE802154_DEV_NAME option.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
2b47d35839 usb: wpanusb: Fix regression with putting LQI to wrong place
Fix regression introduced by commit b52c0f24a6

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
acb0f0990e samples: echo_server: Update prj_cc2520 configuration
Fix missing CONFIG_NET_APP_IEEE802154_DEV_NAME option, etc

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
7337f4a069 usb: wpanusb: Code cleanup
Trivial code cleanup and doc update

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
74d08efbf2 usb: wpanusb: Correct protocol description
Notice about Vendor type.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
a5e7a8deec usb: wpanusb: Remove unused packet handlers
Remove class and custom handlers.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
c8e2387402 usb: wpanusb: Remove unused headers
Remove old headers

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
7e067414cd usb: Remove unneeded header include
The should be included from sources

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
9e753f0c20 usb: wpanusb: Clean up code
Remove unused code

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
10ec019a30 usb: wpanusb: Replace local hexdump() with net_hexdump()
Use standard helper from networking code

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Andrei Emeltchenko
a9d377e08d usb: wpanusb: Replace char array with structs for descriptor table
Use more readable format for descriptors.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-04-25 07:17:42 +05:30
Leandro Pereira
25fb83c6e0 drivers: i2c: Fix TOCTOU while transferring I2C messages
All the mesages are checked with _SYSCALL_MEMORY() prior to calling the
actual implementation function.  However, a race condition might happen
between the check and the call to _impl_i2c_transfer() itself.

Copy the msgs vector to a locally allocated array and pass it to the
transfer implementation.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-24 18:30:00 -07:00
David B. Kinder
b4d67dcc46 doc: update doc generation instructions
Incorrectly stated Sphinx 1.7.0 was supported (it's not); newest working
version is 1.6.7.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-04-25 05:55:03 +05:30
Erwan Gouriou
986f249f03 dts/st: dtc v1.4.6 warnings: pin-c... node has a reg ... no unit name
To prepare to upcoming dtc v1.4.6, fix warnings in dts files.

This commit addresses the following warning:
Warning (unit_address_vs_reg): Node /soc/pin-controller has a reg
or ranges property, but no unit name

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-24 14:46:48 -05:00
Erwan Gouriou
acc20e24d6 dts/st: dtc v1.4.6 warnings: Missing property '#clock-cells' in node
To prepare to upcoming dtc v1.4.6, fix warnings in dts files.

This commit addresses the following warning:
Warning (clocks_property): Missing property '#clock-cells' in node
/soc/rcc@40021000 or bad phandle (referred from
/soc/pin-controller/gpio@40011800:clocks[0])

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-24 14:46:48 -05:00
Erwan Gouriou
a27c0ede12 dts/st: dtc v1.4.6 warnings: #address-cells/#size-cells without "ranges"
To prepare to upcoming dtc v1.4.6, fix warnings in dts files.

This commit addresses the following warning:
"unnecessary #address-cells/#size-cells without "ranges" or child
"reg" property in /gpio_keys".

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-24 14:46:48 -05:00
Andrew Boie
31bdfc014e userspace: add support for dynamic kernel objects
A red-black tree is maintained containing the metadata for all
dynamically created kernel objects, which are allocated out of the
system heap.

Currently, k_object_alloc() and k_object_free() are supervisor-only.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2018-04-24 12:27:54 -07:00
Erwan Gouriou
513488c937 boards: disco_l475_iot1: define 2 default clock configurations
In some BLE use cases, using MSI driven SYSCLK is required.
Rework board Kconfig.defconfig in order to enable use of 2
alternate default clock configurations.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-24 08:55:02 -05:00
Erwan Gouriou
d8ba007a8b drivers: clock_control: Add MSI as possible clock source for stm32
Add MSI as potential SYSCLK direct source for L0 and L4.
It could be needed in some cases when an accurate clock
is required and no external clock is available.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2018-04-24 08:55:02 -05:00