Commit graph

99049 commits

Author SHA1 Message Date
Andrew Boie
d2886ab8bc x86: clear EFLAGS on double fault
In the event of a double fault, we do a HW task switch to
a special _df_tss hardware task which resets the stack
pointer to the interrupt stack and otherwise restores
the main hardware task to a runnable state so that
_df_handler_bottom() can run.

However, we need to make sure that _df_handler_bottom()
runs with interrupts locked, otherwise another IRQ could
corrupt the interrupt stack resulting in undefined
behavior.

We have very little stack space to work with in this
context, just zero it. It's a fatal error for the thread
in any event.

Fixes: #7291

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2019-02-13 10:58:42 -08:00
Erwan Gouriou
1227b2feda samples/bluetooth: Add note about Long term key clearance
It could happen that bluetooth samples fail because of stored LTK
on device used to test the sample (eg smartphone).

Add a note in bluetooth sample doc to inform users of this trick.

Fixes #13034

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-02-13 19:51:39 +02:00
Andy Gross
89fb37b76a uart: pl011: Use correct masking for ICR
This patch changes the ICR masking to use a fixed mask instead of
a buggy read/write of the current ICR to itself.  The ICR is write
only and reading this for information is unpredictable and should
be avoided.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
2019-02-13 11:08:22 -06:00
Krzysztof Chruscinski
be06327d39 kernel: Reworking _K_TIMER_INITIALIZER and _K_PIPE_INITIALIZER for C++
Modify macros for struct initialization to compile in C++.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2019-02-13 11:06:56 -06:00
Andrzej Głąbek
7e3d5142a6 settings: Fix default value of flash area ID in Kconfig
Use the value extracted from DT instead of a hardcoded 4, as it is done
in commit 977b292d8072e4024664cf7293d42e532de64cd4 for tests.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2019-02-13 11:03:51 -06:00
Ryan Erickson
cb516b4bc9 tests: drivers: adc: adc_api: Add BL654 board support
Add case to support the BL654 DVK board.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdtech.com>
2019-02-13 11:02:56 -06:00
Ryan Erickson
847500dd43 boards: bl654_dvk: Add BL654 DVK board
Add the Laird Connectivity BL654 DVK board to zephyr.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdtech.com>
2019-02-13 11:02:56 -06:00
Kumar Gala
10acd623c9 soc: arm: atmel: sam3x: Add missing SoC Kconfig symbols
soc.h references Kconfig symbols which aren't defined.  Define the
specific SoC versions that are referenced in soc.h

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-13 11:02:33 -06:00
Kumar Gala
20838b493b soc: arm: atmel: sam4s: Fix Kconfig typo
In soc.h reference to CONFIG_SOC_PART_NUMBER_SAM4S18B should have been
CONFIG_SOC_PART_NUMBER_SAM4S8.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-13 11:02:33 -06:00
Jukka Rissanen
dbf7af7f43 net: context: can: Fix typo in Kconfig option name
The option CONFIG_NET_SOCKETS_RAW name was changed to
CONFIG_NET_SOCKETS_PACKET but two checks using the old name
was left to net_context.c

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2019-02-13 09:18:36 -06:00
Ulf Magnusson
4e02590231 scripts/dts: Change 'Error::' to 'Error:'
Typo.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
b29a5b0e83 scripts/dts: Add a check_binding_properties() function
Removes some logic from merge_included_bindings() and makes it easier to
follow.

Also remove an outdated comment ('id' no longer exists) and some
comments that might not be helpful.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
2b8766db53 scripts/dts: Improve documentation for merge_included_bindings()
Use a plain-English description.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
3f8616add9 scripts/dts: Get rid of yaml_list in Bindings.bindings()
The yaml_list dictionary is three regular variables in disguise, as keys
are never added. Use regular variables instead, which is less confusing.

Hopefully the naming makes sense.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
9e8c3fdf16 scripts/dts: Fix recursion in merge_included_bindings()
The consistency checks at the beginning of the function were not done
for "leaf" .yaml files.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
6a15130b9a scripts/dts: Rename yaml_traverse_inherited()
...to merge_included_bindings().

This gives a better hint to what it does (merges properties from
!include'd files).

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
00b2ec05e5 scripts/dts: Document Bindings._include()
Explain that it implements !include.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
b98cdc10f6 scripts/dts: Have Bindings._include() always return a list
Makes yaml_traverse_inherited() more straightforward.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
105c5b426b scripts/dts: Remove support for !import
Implemented as an undocumented and unused synonym for !include.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
339db385ef scripts/dts: Simplify Bindings._include()
Use a list comprehension for the '!include [foo.yaml, bar.yaml]' case.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Ulf Magnusson
377a794378 scripts/dts: Remove dead '!include <dict>' implementation
Remove the '!include {foo: bar}' support from Bindings._include(). Only
'!include foo.yaml' and '!include [foo.yaml, bar.yaml]' are documented,
and yaml_traverse_inherited() doesn't implement the dict case either.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-02-13 08:53:07 -06:00
Mieszko Mierunski
bf855c621b api: uart: Revert to using bitmasks for errors.
Revert to using bitmasks for errors.

Signed-off-by: Mieszko Mierunski <mieszko.mierunski@nordicsemi.no>
2019-02-13 09:21:53 -05:00
Vinayak Kariappa Chettimada
85d92923e2 Bluetooth: controller: Rename non-Kconfig option macros
Remove CONFIG_ prefix from non-Kconfig macro definitions.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 09:20:26 -05:00
Kumar Gala
a6eab1be4b tests: spi_loopback: reduce footprint by tweaking logging
Using CONFIG_LOG_IMMEDIATE gives us some flash back.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-02-13 08:15:37 -06:00
Paul Sokolovsky
3b73511153 net: sockets: Add dummy shutdown() implementation.
shutdown() itself is described as just marking RX or TX path of a
socket as not available. For the first approximation, we implement
it just as a dummy function, to allow build existing POSIX
applications which use it.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2019-02-13 07:00:51 -06:00
Michael Scott
91ef79539a net: lwm2m: fix rendering of zero value float32/64
Zero is a special value in the binary32/64 format.  It has all zero
bits (sign=0, exponent=0 and fraction=0).

Handle this special case explicitly instead of trying to encode
in binary format which results in an incorrect value of 0.5.

Signed-off-by: Michael Scott <mike@foundries.io>
2019-02-13 07:00:33 -06:00
Marc Herbert
5284231750 doc: fix incremental build by fixing doxygen output mtime
Doxygen doesn't support incremental builds.  It could be ok because it
doesn't take much time in this codebase.  However it's not because it
makes old output look new which has a cascade effect on sphinx:
https://sourceforge.net/p/doxygen/mailman/message/36580807/

Make doxygen artificially smarter by saving and restoring modify
timestamps on the filesystem for doxygen output files that haven't
changed.

On my system this brings down the time to run an incremental "make
htmldocs" from 75s down to 8s (cmake -DKCONFIG_TURBO_MODE=1 used in both
cases)

This optimization speeds-up non-doxygen documentation work only.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2019-02-13 06:58:52 -06:00
Aurelien Jarno
8236f3d72c arch: arm: mpu: get the region sizes from the linker
The linker file defines the __gcov_bss_size and _nocache_ram_size
symbols to get the size of the __gcov_bss and _nocache_ram section. Use
that instead of computing the value at runtime from the start and end
symbols.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2019-02-13 06:58:01 -06:00
Tomasz Bursztyka
dad4b297f3 net/context: No need to set pkt family as the allocator did already
net_context uses net_pkt_alloc_with_buffer(), which sets the family and
protocol (according to parameters) so no need to set the family again.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2019-02-13 06:56:15 -06:00
Song Qiang
4ca8395c9e doc: dts: bindings: Fix a spell mistake
Fix a spell mistake in device node yaml template.

Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
2019-02-13 06:49:17 -06:00
Vincent Wan
581cfdb754 drivers: wifi: simplelink: Translate socket family/type/protocol values
In the SimpleLink wifi driver, the socket family value needs to be
converted to the SL_* equivalent to be understood by the SimpleLink
API, instead of being passed straight in.

While not strictly necessary, we are doing the same for socket type
and protocol values to future-proof ourselves in case similar changes
happen to the values defined for these in Zephyr header files.

Fixes #13203

Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
2019-02-13 06:48:40 -06:00
Song Qiang
5bd4f78025 driver: pinmux: stm32f4: Remove duplicated defination
There are two identical PC4-ETH pinmux defination, so
remove one.

Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
2019-02-13 06:46:41 -06:00
Vinayak Kariappa Chettimada
72bef65087 Bluetooth: controller: Fix non-HCI error code return value data type
Fix the return value of non-HCI errror code data type to
int.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Vinayak Kariappa Chettimada
e6a256a785 Bluetooth: controller: Fix Rx buffer size variable data type
Fix the Rx buffer size variable data type to fit memory
block sizes greater than 255.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Vinayak Kariappa Chettimada
5aa9d2ce1e Bluetooth: controller: Remove unused commented code
Remove unused redundant commented code.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Vinayak Kariappa Chettimada
e85c4d00b6 Bluetooth: controller: Rename ull_tx_ack_put to ll_tx_ack_put
Rename ull_tx_ack_put to ll_tx_ack_put as ack is enqueued
into LL thread context from ULL ISR context.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Vinayak Kariappa Chettimada
5bacbf612d Bluetooth: controller: Move PKT_US from LLL to ULL header file
Move PKT_US definition from LLL header file to ULL header so
as to share it across vendors.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Vinayak Kariappa Chettimada
d33641f39a Bluetooth: controller: Remove underscore prefixes from functions
Cleanup and rename functions from having underscore prefixes.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2019-02-13 12:21:51 +01:00
Takumi Ando
b81cfdf81b soc: arm: nrf51: Fix CONFIG_SYS_POWER_MANAGEMENT exclusion
We don't need these defines when we set CONFIG_SYS_POWER_MANAGEMENT=n.

Signed-off-by: Takumi Ando <takumi.ando@atmark-techno.com>
2019-02-13 11:47:16 +01:00
Takumi Ando
3af63b5d1d soc: arm: nrf52: Fix CONFIG_SYS_POWER_MANAGEMENT exclusion
We don't need these defines when we set CONFIG_SYS_POWER_MANAGEMENT=n.

Signed-off-by: Takumi Ando <takumi.ando@atmark-techno.com>
2019-02-13 11:47:16 +01:00
Anas Nashif
054e1bec2d tests: adc: reduce footprint by tweaking logging
Using CONFIG_LOG_IMMEDIATE gives us some flash back.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-02-12 23:38:55 -05:00
Sathish Kuttan
acf0e24c6e doc: intel_s1000: I2S sample app documentation
Documentation for the I2S audio sample application for the
Intel S1000 board.

Signed-off-by: Sathish Kuttan <sathish.k.kuttan@intel.com>
2019-02-12 21:20:17 -05:00
Sathish Kuttan
53dcc07889 samples: intel_s1000: App for I2S audio playback
Added a sample app to play audio over I2S through an onboard
Audio DAC on an Intel S1000 CRB.

Signed-off-by: Sathish Kuttan <sathish.k.kuttan@intel.com>
2019-02-12 21:20:17 -05:00
Michael Scott
a10610eb9f samples: net: lwm2m: add timer object to lwm2m client
Let's provide example usage of the IPSO Timer object in our LwM2M
sample.

Signed-off-by: Michael Scott <mike@foundries.io>
2019-02-12 21:19:49 -05:00
Michael Scott
e50ad09325 samples: net: lwm2m: Add decimal value to dummy temp sensor
Now that float handling is fixed, let's display a decimal value
in our dummy temperature sensor.

Signed-off-by: Michael Scott <mike@foundries.io>
2019-02-12 21:19:49 -05:00
Michael Scott
cf47c89971 net: lwm2m: add support for IPSO Timer object
Initial implementation of IPSO Timer object #3340
Based on: http://www.openmobilealliance.org/tech/profiles/lwm2m/3340.xml

"This IPSO object is used to time events and actions, using patterns
common to industrial timers. A POST to the trigger resource or On/Off
input state change starts the timing operation, and the timer
remaining time shows zero when the operation is complete. The
patterns supported are One-Shot (mode 1), On-Time or Interval
(mode 2), Time delay on pick-up or TDPU (tmode 3), and Time Delay
on Drop-Out or TDDO (mode 4). Mode 0 disables the timer, so the output
follows the input with no delay. A counter is provided to count
occurrences of the timer output changing from 0 to 1. Writing a value
of zero resets the counter. The Digital Input State resource reports
the state of the timer output."

NOTE: Only One-Shot Mode (mode 1) is implemented in this patch.

Signed-off-by: Michael Scott <mike@foundries.io>
2019-02-12 21:19:49 -05:00
Michael Scott
d53a0855a1 net: lwm2m: fix float32/64 handling
During the initial work on LwM2M, the float32/64 code was
basically stubbed out.  Float32 sent only whole values and
float64 was completely broken.

Let's clean up the OMA TLV formatting code by moving the float
processing code into a separate file: lwm2m_util.c.

Then using public definitions for binary32 and binary64, let's
fix the processing code to correctly fill the float32_value_t
and float64_value_t types.

Signed-off-by: Michael Scott <mike@foundries.io>
2019-02-12 21:19:49 -05:00
Ryan Erickson
90d1e6f6c6 tests: drivers: adc: adc_api: Add BL652 board support
Add case to support the BL652 DVK board.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdtech.com>
2019-02-12 21:16:26 -05:00
Ryan Erickson
21b4f77b1c boards: bl652_dvk: Add BL652 DVK board
Add the Laird Connectivity BL652 DVK board to zephyr.

Signed-off-by: Ryan Erickson <ryan.erickson@lairdtech.com>
2019-02-12 21:16:26 -05:00
Andrzej Puzdrowski
76553032b9 settings: fix read-out more than stored bug.
When setting read handler was requested for more
data than is stored, it should read reduced amount
of data (by the API define).

Back-end implementation support that, but not for corner-case
when the last call to back-end handler was out of data bounds.

This patch makes any request to read data which begins outside
of the record zero-length read-out, instead of being prohibited
before, which fix the issue.

Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
2019-02-12 21:15:12 -05:00