The logging subsys has evolved to a point where XCC/GCC cannot
compile anymore as it only supports C++98. So exclude C++
samples from build. And just use XCC/Clang instead for C++.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Write aligned size also to DGMBS register. At least SOF with linux
host and cavs25 seems to need this for the dma to trigger.
Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
Use "seeed" instead of "seeedstudio", as the former is registered in
`dts/bindings/vendor-prefixes.txt`.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Rename the symbols used to denote the locations of the global
constructor lists and modify the Zephyr start-up code accordingly.
On POSIX systems this ensures that the native libc init code won't
find any constructors to run before Zephyr loads.
Fixes#39347, #36858
Signed-off-by: David Palchak <palchak@google.com>
This sample app uses a stack buffer to hold the interface name which is
generated at runtime using sprintk. The buffer is only sized for the
expected range of values, not the full possible range of the datatype
(int).
To mitigate this, increase the size of the buffer to hold the full range of
an int value.
Signed-off-by: Keith Packard <keithp@keithp.com>
This driver uses stack buffers to hold AT command strings which are
generated at runtime using sprintk. The buffers are only sized for the
expected range of values, not the full possible range given the datatypes
involved. Values outside this expected range could cause a buffer overflow.
To mitigate this, increase the size of each buffer to hold the full range
of each parameter type.
Signed-off-by: Keith Packard <keithp@keithp.com>
These drivers use stack buffers to hold AT command strings which are
generated at runtime using sprintk. The buffers are only sized for the
expected range of values, not the full possible range given the datatypes
involved. Values outside this expected range could cause a buffer overflow.
To mitigate this, increase the size of each buffef to hold the full range
of each parameter type.
Signed-off-by: Keith Packard <keithp@keithp.com>
The cast to narrow for %hhd support must be 'signed char' instead of 'char'
to support targets where 'char' is unsigned, as on riscv.
Signed-off-by: Keith Packard <keithp@keithp.com>
To improve the performance with small chunks send, implement Nagle's
algorithm. Provide the option TCP_NODELAY to disable the algorithm.
Signed-off-by: Sjors Hettinga <s.a.hettinga@gmail.com>
This fixes sending corrupted (incomplete) packets over RTT. Additional
helper buffer has been added to ensure the complete packet before it
can be sent over RTT. Once the complete packet is collected it is sent
to the RTT control block in non-blocking manner. From now there will
be no situation that only part of the packet (e.g. header) is sent
which lead btmon to fail to parse the corrupted data.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This fixes Bluetooth logs that were not sent over RTT.
Minor cleanup has been made to limit the number of ifdefs.
> ACL Data RX: Handle 0 flags 0x02 dlen 11 #1049 83.117000
ATT: Handle Value Indication (0x1d) len 6
Handle: 0x0003
Data: 0100ffff
= bt: bt_att: Unhandled ATT code 0x1d 83.117100
> HCI Event: Disconnect Complete (0x05) plen 4 #1050 84.247700
Status: Success (0x00)
Handle: 0
Reason: Remote User Terminated Connection (0x13)
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
Add Kconfig option to conditionally enable tickers with slot
window to yield to normal tickers and be placed at the end
of their slot window if possible.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This fixes a minor bug that caused an error if one attempted to encode
or decode INT64_MIN in SenML CBOR
Signed-off-by: Markus Rekdal <markus.rekdal@nordicsemi.no>
This fixes a bug in the decoding of objlinks. Without this the object
instance id is not retrieved correctly as it tries to read the second id
starting from the colon.
Signed-off-by: Markus Rekdal <markus.rekdal@nordicsemi.no>
By default, any string or opaque data that LwM2M engine initializes
sets data lenght to same value as given buffer length for that
resource.
However, on run time, engine keeps track how much data is written
to each resource, so when reading from any resource, should only
return data that has been written there. But uninitialized resources
return the content of the whole buffer.
Fixed the problem by introducing macros INIT_OBJ_RES_LEN(),
INIT_OBJ_RES_MULTI_DATA_LEN() and INIT_OBJ_RES_DATA_LEN() that
allows you to give the amount of data existing in buffer when
the resource is initialized. This sets the data_len and max_data_len
variables correctly.
Also introduced new functions lwm2m_engine_get_res_buf() and
lwm2m_engine_set_res_buf() that distinct between data size and
buffer size. Deprecated the previous functions
lwm2m_engine_get_res_data() and lwm2m_engine_set_res_data()
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add test for handling of autostarting backends which have
prolonged initialization and implements function for polling
for readiness.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Extended logging backend API with log_backend_is_ready call which
returns 0 is backend is ready. Logging core will make sure that
all autostarted backends are ready before they are enabled.
This option allows to handle backends which are not yet ready
after init function is called (e.g. usb backend that is not plugged
in). If this is the only backend in the system, logging processing
will not start util first backend is ready.
Function for checking readiness is optional and when backend has
no such function it is assumed that backend is ready after
initialization function returns which makes this feature backward
compatible.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
The Kconfig encodes a dependency on SOC_FAMILY_ARM
even though there is no actual dependency.
This is generic ARM IP and can be used in any SoC.
Signed-off-by: Moritz Fischer <moritzf@google.com>
All the watchdog drivers are based on devicetree and we dont utilize
HAS_DTS_WDT anywhere so we can remove it.
Signed-off-by: Kumar Gala <galak@kernel.org>
This commit removes the "Pull Request Labeler" workflow because the
newly added "Pull Request Assigner" workflow takes care of assigning
the pull request labels.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds the "Pull Request Assigner" workflow that
automatically assigns the reviewers, assignee and labels for a pull
request.
Note that this workflow runs on the `pull_request_target` event in the
context of the base branch using the `MAINTAINERS.yml` from the base
branch.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Use MAINTAINERS.yml file to set lables, assignees and reviewers for
specific PRs or all unassigned PRs since a given date.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
XCC does not support _Generic as it is being used by the runtime
tagged argument feature. So exclude them.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
XCC does not support _Generic so it can't build the runtime tagged
argument tests. So exclude them.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This improves the macro so that it can take variable number of
arguments, e.g. BT_CODEC_LC3_CHAN_COUNT_SUPPORT(1, 2, 8).
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
This removes the check that was causing missalignment in
csis->srv.conn_cnt conunting. The csis->srv.conn_cnt was increased for
each connected device while decreased for bonded only. This caused
assertion in csis_connected when reconnected.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
There is a mul instruction bug.
The bug may cause instructions of writing back CPU GPR (e.g mv a0,s2)
which following the mul instruction to fail.
This patch disables the 'M' extension and overwrite integer
multiplication and division arithmetic library routines with using
hardware multiplication and division and nop instructions.
This will ensure that there is no write back GPR instruction to follow
mul instruction to avoid the bug.
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
Adds a helper function to query whether a device is currently powered.
This can be used to determine if the chip can be initialised now, or if
it needs to be deferred.
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
zephyr_library_compile_options() was attempting to create
unique hashes for compile options in order to prevent creating
them multiple times. However, it was only using the first
argument to create the hash, so if multiple libraries had
different compile options but the first line was the same,
the second set would be mistaken for the first set and would
actually be passed the first set during compilation instead
of its own set.
The fix should be to use the entire compile options argument
list to create the hash so they should only match if the entire
options list is exactly the same.
This is a continued fix for #43835
Signed-off-by: Nicholas Lowell <nlowell@lexmark.com>
The basic environment variables need to be set to be able to build
blinky (at least ZEPHYR_TOOLCHAIN_VARIANT) but were not inlcuded in the
GSG.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Co-authored-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
Log message references gsm->context.data_rssi which is NULL
when CONFIG_MODEM_SHELL=n. Use gsm->minfo.mdm_rssi which is
internally used when accessing RSSI value.
Signed-off-by: Marek Metelski <marek@metelski.dev>
Expose the Xtenesa CCOUNT timing register (the lowest level CPU cycle
counter) using the arch_timing_*() API.
This is the simplest possible way to get this working. Future work
might focus on moving the rate configuration into devicetree in a
standard way, integrating with the platform clock driver on intel_adsp
such that the reported cycle rate tracks runtime changes (though IIRC
this is not a SOF requirement), and adding better test coverage to the
timing layer, which right now isn't exercised anywhere but in
benchmarks.
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Clarify a few restrictions that seem obvious but weren't specified:
+ On MP systems, counters are often asynchronous between cores, so you
need to make sure all the values read are on the same CPU.
+ Many platforms have a 32 bit (or smaller, c.f. Cortex M SysTick)
internal counter, but are being forced to return a 64 bit quantity
that will behave badly on rollover (you can't just subtract two
times anymore!). Demand that the existing arch_timing_cycles_get()
API (which didn't seem to have useful much to do) implement rollover
correction on the subtraction.
This allows an Xtensa implementation based on direct CCOUNT reads on
intel_adsp to be correct per the API docs.
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This board has external cache enabled but fails to link when cache
API is used. Temporary disabling.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Add flags option to init call and a flag to use cache.
Add Kconfig choice to pick how to approach cache. Cache can be
enforced in all spsc_pbuf instances, disable in all, or runtime selected
based on configuration flag. Option is added to allow memory footprint
savings.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>