Commit graph

18576 commits

Author SHA1 Message Date
Ravi kumar Veeramally
13480f3992 net: 6lo: Fix 6lo uncompression issue
When source address is unspecified then SAC is 1 and SAM is 00.
Uncompression does not process because context based compression
is not enabled.
Special case (SAC:1 and SAM:00) should be handled without context
based compression support.

Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2017-10-20 10:33:28 +03:00
Jukka Rissanen
73b0d2d084 net: shell: Print system workqueue information
Add system workqueue information prints to "net stacks" command.
This helps debugging when figuring out which stack is running out
of space.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-20 10:31:33 +03:00
Jukka Rissanen
a499d9ffd1 net: shell: Add multi connection net-app monitoring support
Enhance existing "net app" command so that it can be
used to show information about multiple connections.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
4befa1316d net: app: Print info if address family is not set properly
If the IP address family is not set to correct value, then print
information about it.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
9bff68fc2e net: app: Print more info for TLS MAC verification errors
If we get MAC verification error in handshake, it could be that
everything is fine but we ran out of heap memory in mbedtls.
In this happens, suggest the user to check amount of memory
in mbedtls as it might just fix the issue.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
28d0dffab2 net: app: Add more debugging when selecting net_ctx
As we select net_ctx, it is useful to see who actually called
the _net_app_select_net_ctx() when debugging the call flow.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
9051d462ca net: app: Select proper net_ctx when sending msg
Sometimes when sending network packet, the wrong net_context was
selected which prevented data to be sent.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
42808f4919 net: app: Print more info which interface we are using for pkt
Useful when debugging which network interface is used when sending
the packet.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
9090bdfc10 net: app: Close TLS connection properly
We should not close the TLS connection immediately if the TLS
data is not yet sent. So if user calls net_app_close() and we
still have data pending, then send the TLS data and only after
that close the connection.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
1b1a3a6768 net: app: Close a specific network context
As there can be multiple listening network contexts, it should
be possible to close one of them.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Jukka Rissanen
8c5f25d13b net: app: Add support for multiple listening connections
The server is able to listen and serve multiple incoming
connections. This commit does not add support for multiple
incoming TLS connections.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 22:21:25 -04:00
Leandro Pereira
803984837f drivers: i2c: esp32: Fix crash when enabling second I2C device
IRQ_CONNECT() was being expanded with the IRQ line for the first device
twice, causing spurious IRQs.

Should fix #4398.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-10-19 20:09:23 -04:00
David B. Kinder
2632c6d804 doc: update linux installation guide for 0.9.2 SDK
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2017-10-19 20:09:00 -04:00
Andrew Boie
22696a3b0a x86: set default CI targets
The IAMCU variant does not need to be the default, this calling
convention was to support the discontinued Quark platforms.

qemu_x86 and qemu_x86_nommu now are set as default.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
dceb4ffaf4 x86: add qemu_x86_nommu board target
This will run all tests with the memory management unit disabled.
This means no hardware-based stack protection or user threads.

qemu_x86_iamcu now runs with all MMU features enabled.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
967ee03271 tests: thread_init: run in user mode
main.c and test_thread_init.c merged.

All tests which don't require cooperative priorities now running in
user mode.

Userspace tag added to testcase.yaml.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
c725e64b64 tests: lifecycle_api: run in user mode
Some unnecessary k_thread_abort() removed.

userspace tag added to testcase.yaml.

Suspend/resume, spawn_forever, and spawn_priority tests remain in
supervisor mode due to the priority requests they make.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
a9557ef219 tests: custom_data: run in user mode
main.c and test_customdata_api.c merged.

Preemptive priority case now run in user mode.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
60e6632e65 tests: stack_api: run in user mode when possible
All non ISR tests now run in user mode.

userspace added to testcase.yaml tag list.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
bcd3803180 tests: msgq: run in user mode when possible
Unnecessary k_thread_abort() removed from test_msgq_purge_when_put.

A single global msgq object is now shared instead of being declared
on thread stacks, except for an ISR test case which has had its
semaphore renamed.

Moved k_sem_init() call from msgq_thread() to test_msgq_thread()
to fix a race condition.

userspace tag added to testcase.yaml.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
bf7d53395e tests: semaphore: run some threads in user mode
main.c and test_sema_contexts.c merged

userspace tag added to testcase.yaml

stack-allocated semaphore in test_sema_thread2thread now just uses
the global semaphore with the same name.

ISR tests run in supervisor mode.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
39d55ac6a9 tests: alert_api: run in user mode
main.c and test_alert_contexts.c merged.

User threads can't look inside the alert structures, so an extra
variable 'htype' introduced to track expectations for any given
alert object in alert_recv().

Alert objects have to be initialized by supervisor threads since
they register callbacks. An array of toplevel alert objects created
and initialized in test_main(), replacing the ones that used to
live on thread stacks.

Added userspace tag to testcase.yaml

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
776a084216 tests: mutex: run in user mode
Main thread grants itself access to objects it or its children need
and does the rest of the test case in user mode.

Statically defined threads now all run in user mode, with permissions
granted via K_THREAD_ACCESS_GRANT().

Added userspace tag to testcase.yaml.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Andrew Boie
610f5d1ce7 tests: obj_validation: add to userspace tests
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-19 15:07:45 -07:00
Leandro Pereira
d24daa426d kernel: Compare pointers before strings when getting device binding
Most calls to device_get_binding() will pass named constants generated
by Kconfig; these constants will all point to the same place, so
compare the pointer before attempting to match the whole string.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-10-19 14:43:48 -07:00
Leandro Pereira
1d38d98284 scripts: Fix ESP_TOOL detection in zephyr_flash_debug.py
`espidf` was written as `espdif`, causing auto-detection to fail.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-10-19 17:13:59 -04:00
Manivannan Sadhasivam
1e483b48c0 boards: arm: Add support for TI MSP-EXP432P401R-LAUNCHXL
This patch adds support for TI Simplelink MSP-EXP432P401R-LAUNCHXL
development board based on Cortex M4 family

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Manivannan Sadhasivam
90d288be29 drivers: serial: Add MSP-EXP432P401R UART
This patch adds support for on board UART_0 on MSP-EXP432P401R-LAUNCHXL.
Driver makes use of driverlib available in ROM by default, thus saving
code space.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2017-10-19 12:16:11 -05:00
Manivannan Sadhasivam
05e1d8c46a arch: arm: soc: ti_simplelink: Add MSP432P401R SoC
This patch adds SoC support for TI SimpleLink family MSP432P401R.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2017-10-19 12:16:11 -05:00
Manivannan Sadhasivam
49fd036d1f ext: hal: Add MSP432P4XX SDK Kconfig/Build support
This patch adds Kconfig/build support to MSP432P4XX
SDK. MSP432P4XX microcontrollers have driverlib flashed
onto the ROM, which will be used by default.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala
db4a83752c ext: hal: ti: msp432p4xx: Tweak SDK to build with Zephyr
There are some minor conflicts or porting changes needed to get the
msp432p4xx SDK to work with Zephyr:
1. Remove definition of BIT, as it conflicts with Zephyr defined one
2. Set __SYSTEM_CLOCK define based on Zephyr Kconfig define
3. Fix a build warning that gets treated as an error.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala
7f638cd9f0 ext: hal: ti: Add MSP432P4XX SDK
MSP432P4XX SDK is a CMSIS based SDK offered by Texas Instruments
for supporting their Simplelink MSP432P4XX microcontrollers. The
version included in Zephyr is V1.50.00.12 which is a stripped
down version containing only HAL and SoC header support.

Origin: SIMPLELINK-MSP432-SDK
License: BSD 3-Clause
URL: http://www.ti.com/tool/simplelink-msp432-sdk
Version: V1.50.00.12
Purpose: Provides HAL support to MSP432P4XX SoC
Maintained-by: External

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2017-10-19 12:16:11 -05:00
Kumar Gala
090a6d4f4e libc: minimal: Add typedefs for fast types
Some of the HALs in ext require fast types to be defined.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-10-19 12:16:11 -05:00
Rouan van der Ende
1e905d749e Fix a typo on Nucleo F411RE doc page
Just a missing character, but it made me try build for a non existing board, just by chance copy pasted that wrong part from the docs.
2017-10-19 10:54:53 -04:00
Chunlin Han
c7a55004bd samples: fix mem_domain_apis_test doesn't be built during sanitycheck
Use platform_whitelist to specify supported boards to make sure
mem_domain_apis_test sample will be built during sanitycheck.

Signed-off-by: Chunlin Han <chunlin.han@linaro.org>
2017-10-19 09:41:27 -04:00
Andrei Emeltchenko
2c49da8917 boards: tinytile: Set original firmware Vendor and Product IDs
Set Vendor and Product ID originally present in the firmware.
Implemented USB function is the same: CDC ACM serial port.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2017-10-19 09:30:58 -04:00
Andrei Emeltchenko
45c4d07287 usb: Add missing tag to sanity check configuration
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2017-10-19 09:30:58 -04:00
Andrei Emeltchenko
44a3cca2e2 usb: Remove default Vendor and Product ID
Vendor ID and Product ID should be assigned on build time by
respective process.

For sanity check we assign some random values which are only used for
build tests and should not be used for real products.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2017-10-19 09:30:58 -04:00
Robert Chou
19559ee41b net: lwm2m: increase rd client stack size when NET_LOG_GLOBAL=y
The stack of rd client is exhausted while running lwm2m client w/ IPv6
and network log global enabled. Increase the stack size to 1536 when
NET_LOG_GLOBAL is enabled.

Detail described at #4424

Signed-off-by: Robert Chou <robert.ch.chou@acer.com>
2017-10-19 05:36:02 -04:00
Robert Chou
652cc727fe net: lwm2m: only method GET is allowed for .well-known/core
".well-known/core" is mainly used with method GET for performing the
resource discovery (RFC 6690). Since we are implementing a LwM2M client
and is not implement a resource directory which allow others to do the
resource registration (POST to .well-known/core). Only GET method is
allowed for the usage. Report 4.5 (Method Not Allowed) if other methods
are requested.

Signed-off-by: Robert Chou <robert.ch.chou@acer.com>
2017-10-19 05:34:10 -04:00
Robert Chou
cfa9990c41 net: lwm2m: return 4.04 when URI is not composed by digits
Modify zoap_options_to_path() to return error when URI contains
character other than digits and return 4.04 NOT FOUND to caller.

PATH such as "/1a/2/3" was treated as "/1/2/3" after parsring
which is incorrect.

Signed-off-by: Robert Chou <robert.ch.chou@acer.com>
2017-10-19 05:34:10 -04:00
Robert Chou
d5ab14697f net: lwm2m: fix empty path being treated as 0/0/0 issue
Return 4.05 Method Not Allowed when path is empty ('/') to the
caller for it's only use by bootstrap delete. This change also avoid the
empty path being treated as request targeted at 0/0/0.

Signed-off-by: Robert Chou <robert.ch.chou@acer.com>
2017-10-19 05:34:10 -04:00
Robert Chou
ce5e0d7208 net: lwm2m: response nicely when obj not found or OP not handled
1) Respond NOT FOUND to caller when object doesn't exist
2) Report as internal server error when OP not handled

Signed-off-by: Robert Chou <robert.ch.chou@acer.com>
2017-10-19 05:34:10 -04:00
Tomasz Bursztyka
8dd04742a0 ieee802154: Make packet display enablement via a Kconfig option
Such option should be use carefully. Printing out in/out packets is
extremely verbose.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2017-10-19 05:33:23 -04:00
Tomasz Bursztyka
70fb09548a net/ieee802154: Use common net_hexdump_frags instead of local function
Now that net_hexdump_frags can print out the link-layer reserve part,
let's use it.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2017-10-19 05:33:23 -04:00
Tomasz Bursztyka
81b9c8fcf6 net/utils: Make net_hexdump_frags being able to print ll reserve
If requested only and with colors with right SYS_LOG Kconfig options.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2017-10-19 05:33:23 -04:00
Jukka Rissanen
4463035c45 net: 6lo: Drop pkt if it is too short
If the pkt is corrupted and the offset would be larger than
the actual packet length, then print information about that and
drop the packet.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2017-10-19 11:17:22 +03:00
Johan Hedberg
ee107baad9 samples: mesh_demo: Use second button to change target address
It's been observed that that the relay toggling functionality is not
very useful, and that it's better left enabled always. Change the
purpose of the second button to instead modify the target address that
messages sent through the first button get directed to. By default the
destination is the group address, i.e. all nodes receive the message.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2017-10-18 16:08:22 -04:00
Marti Bolivar
a22a7fe1f8 scripts: zephyr_flash_debug: fix PYOCD_DAPARG
The environment variable is PYOCD_DAPARG, not PYOCD_DAPARG_ARG.

Signed-off-by: Marti Bolivar <marti.bolivar@linaro.org>
2017-10-18 15:24:38 -04:00
Andrew Boie
d95f5374b4 x86: fix _arch_syscall_invoke6
arg6 is treated as a memory constraint. If that memory
address was expressed as an operand to 'mov' in the generated
code as an offset from the stack pointer, then the 'push'
instruction immediately before it could end up causing memory 4
bytes off from what was intended being passed in as the 6th
argument.

Add ESP register to the clobber list to fix this issue.

Fixes issues observed with k_thread_create() passing in a
NULL argument list with CONFIG_DEBUG=y.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-18 10:24:25 -07:00