1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

33828 Commits

Author SHA1 Message Date
Marian Buschsieweke
c790e2eb6d
sys/malloc_thread_safety: use mutex
Disabling IRQs during malloc() provides mutually exclusive access and even is
safe from IRQ context, but is suboptimal for real time scenarios. Instead, the
implementation is changed to use a mutex to provide mutually exclusive access.

As a result, calls to malloc() and free() from IRQ context no longer is
possible. But this this is a really horrible idea to begin with, the impact
should be minimal and the improved real time properties of the system should
make it a good trade-off. An assert() is added to allow easy detection of
regressions and, hence, aid users to fix their code.
2020-12-17 15:39:05 +01:00
Marian Buschsieweke
902aa29b62
sys/malloc_thread_safe: split out of cpu/atmega_common
Split out Gunar Schorcht's clever approach to provide thread safe malloc for
AVR into a system module and make AVR depend on this. This allows other
platforms to also use this.
2020-12-17 15:39:05 +01:00
Marian Buschsieweke
c9d63c9f4f
tests/malloc_thread_safety: new test
This test checks whether calling malloc in more than one thread is safe.
2020-12-17 15:39:05 +01:00
Leandro Lanzieri
aaf4a738f9
makefiles/arch/riscv: redirect error message to /dev/null 2020-12-17 15:23:21 +01:00
Martine Lenders
9066ab28e1
make: run static_tests.sh directly with static-tests target 2020-12-17 15:16:36 +01:00
Martine Lenders
9817811b8f
dist/tools/ci/static_tests.sh: add dependency check for tools 2020-12-17 15:10:17 +01:00
6eb8e17861
Merge pull request #15637 from miri64/gh-actions/enh/release-test-matrix
gh-actions: make the release tests a matrix build
2020-12-17 13:09:15 +01:00
9cd753228c
usbus: Add USB peripheral serial string support 2020-12-17 11:37:05 +01:00
185bf28c21
usb: Add configuration options for USB peripheral serial
This adds compile-time options to configure the serial of an USB
peripheral. The serial be autogenerated with a configured number of
bytes. It is also possible to configure a fixed serial string for a
device and disable the autogeneration of the serial.
2020-12-17 11:37:04 +01:00
742808bf26
Merge pull request #15659 from bergzand/pr/aip31068/static_test_funcs
tests/aip31068: Mark internal functions as static
2020-12-17 11:33:00 +01:00
Martine Lenders
da4467ae2d
Merge pull request #15640 from miri64/dist/tools/static-test-annotate
dist/tools/ci: add harness to annotate static tests in Github Actions
2020-12-17 10:51:44 +01:00
86b121d6a6
tests/aip31068: Mark internal functions as static
Also prefix them with an underscore to prevent naming conflicts
2020-12-17 10:17:16 +01:00
2d97581d06
boards/stm32f0: use clk_conf.h 2020-12-17 08:38:40 +01:00
048e8446ef
cpu/stm32f0: remove old clock configuration header 2020-12-17 08:38:40 +01:00
45c2b19f25
cpu/stm32: merge f0f1f3 clock configuration headers 2020-12-17 08:38:40 +01:00
Martine Lenders
f6cc30664e
dist/tools/ci: Add README.md 2020-12-16 21:23:40 +01:00
Martine Lenders
3a3984e05d
tools/whitespacecheck: annotate errors in Github Action 2020-12-16 21:23:39 +01:00
Martine Lenders
019817d58b
dist/tools/ci: add harness to annotate static tests in Github Actions 2020-12-16 21:23:38 +01:00
Marian Buschsieweke
58ae12d000
tests/bench_sys_atomic_utils: update Makefile.ci
Sadly GCC currently doesn't optimize as expected and the additional return
value increases the ROM a bit. As a result, the application doesn't fit
into the ROM of four additional boards.
2020-12-16 18:10:53 +01:00
Marian Buschsieweke
2208c6a375
tests/sys_atomic_utils: update to new API
The signature typedefs need to be updated to also include the return value.
The test is not otherwise changed.
2020-12-16 18:10:53 +01:00
Marian Buschsieweke
1893377b59
tests/sys_atomic_utils_unittests: check return values
Update the test to the new API and also verify correct return values.
2020-12-16 18:10:51 +01:00
Marian Buschsieweke
8b0007f33a
sys/atomic_utils: return previous value
Update the `atomic_fetch_<OPERATION>_u<WIDTH>()` functions to return the old
value the target contained prior to applying the operation. This makes this
API much more versatile and closer to C11 atomics.
2020-12-16 18:09:35 +01:00
Marian Buschsieweke
815fc9107f
Merge pull request #15647 from maribu/atomic_utils_unittests
tests/sys_atomic_utils_unittests: spice up test
2020-12-16 14:33:46 +01:00
Marian Buschsieweke
c015e64e8e
tests/sys_atomic_utils_unittests: spice up test
Initializing the state variables per loop with a value where some bits are set
and some are cleared makes much more sense. E.g. previously the bitwise and
applied on the state variable initialized with zero was unlikely to detect
implementation issues, as the state value never changed. So if the bitwise
and would be incorrectly implemented as a nop, it would have passed the unit
test.
2020-12-16 10:13:43 +01:00
ab477a94b0
Merge pull request #15635 from bergzand/pr/cortex_m0/pendsv_r12_clobber
cpu/cortexm_common: fix r12 clobber in pendsv for Cortex-M0
2020-12-15 22:58:25 +01:00
Kevin "Tristate Tom" Weiss
5a1dabc025
Merge pull request #15639 from dylad/pr/saml11/fix_iobus_gpio
cpu/saml11: fix GPIO/IOBUS management
2020-12-15 20:52:29 +01:00
benpicco
c25cb8467b
Merge pull request #15628 from ML-PA-Consulting-GmbH/feat/20201214__native_rtc_settime
cpu/native/rtc: add rtc_set_time implementation
2020-12-15 19:52:57 +01:00
Marian Buschsieweke
76630ee3cb
Merge pull request #15633 from benpicco/sys/base64-urlsafe_fix
sys/base64: drop padding for base64url encoding
2020-12-15 19:36:09 +01:00
dylad
e98459f414 cpu/saml11: fix GPIO/IOBUS management 2020-12-15 17:00:54 +01:00
Martine Lenders
02e77bdd21
gh-actions: make the release tests a matrix build 2020-12-15 15:25:02 +01:00
benpicco
2b110e3248
Merge pull request #15597 from maribu/mutex-cxx
core/mutex: compatibility with non-C languages
2020-12-15 14:02:36 +01:00
8f1a42cbbf
cpu/cortexm_common: fix r12 clobber in pendsv for Cortex-M0 2020-12-15 13:16:02 +01:00
Martine Lenders
b0b1c251c0
Merge pull request #15603 from miri64/uhcp/fix/prefix-len
uhcp: check maximum for prefix length
2020-12-15 13:06:08 +01:00
Daniel Lockau
e7054b4f53 tests/periph_rtc: test clear alarm 2020-12-15 12:52:35 +01:00
Daniel Lockau
33afc0ddab cpu/native/rtc: add rtc_set_time implementation 2020-12-15 12:52:35 +01:00
Dylan Laduranty
aec905d697
Merge pull request #15620 from benpicco/cpu/sam0_common/dac_startup
cpu/sam0_common: DAC: wait for DAC to be ready
2020-12-15 12:25:32 +01:00
Benjamin Valentin
48c33ae0a2 sys/base64: drop padding for base64url encoding
The URLsafe base64 encoding variant does not require padding, using
'=' as padding is in fact an error as it is not a URL-safe character.
2020-12-15 12:18:45 +01:00
Martine Lenders
99a55c4777
Merge pull request #15631 from maribu/architecture-min-max
sys/architecture: add UWORD_MIN, UWORD_MAX, SWORD_MIN, SWORD_MAX
2020-12-15 11:34:46 +01:00
Martine Lenders
44a94dd91e
uhcp: check maximum for prefix length 2020-12-15 10:42:40 +01:00
Marian Buschsieweke
80b43605d4
sys/architecture: add comment on pronunciation 2020-12-15 10:29:58 +01:00
José Alamos
4661948bd1
Merge pull request #15630 from benpicco/makefiles/pseudomodules.inc.mk-netdev_ieee802154_legacy
makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
2020-12-15 10:27:31 +01:00
Marian Buschsieweke
d3bd3ff48c
tests/sys_architecture: also test UWORD_MAX, ...
Also verify correct values for UWORD_MAX, UWORD_MIN, SWORD_MAX, SWORD_MIN via
static_assert().
2020-12-15 10:13:52 +01:00
Marian Buschsieweke
3d9e7ca4d4
sys/architecture: Add UWORD_MIN, UWORD_MAX, ...
Allow accessing the highest and lowest number an uword_t and an sword_t can hold
via a preprocessor macro with a speaking name.
2020-12-15 10:13:47 +01:00
Benjamin Valentin
44acfc54cb makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
`netdev_ieee802154_legacy` is not a real module, don't add it to `NO_PSEUDOMODULES`.
2020-12-14 18:01:23 +01:00
benpicco
89c32e5be2
Update cpu/cc2538/include/cc2538_eui_primary.h
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2020-12-14 15:23:13 +01:00
benpicco
6d602e6a63
Update boards/samr21-xpro/include/eui_provider_params.h
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2020-12-14 15:23:07 +01:00
benpicco
f0c09c927e
Update boards/derfmega256/include/eui_provider_params.h
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2020-12-14 15:23:02 +01:00
Martine Lenders
41a844f323
Merge pull request #12648 from miri64/gnrc_sixlowpan_frag_sfr/feat/initial
gnrc_sixlowpan_frag: initial import of Selective Fragment Recovery
2020-12-14 14:32:04 +01:00
Martine Lenders
dae714ce81
Merge pull request #15627 from maribu/ztimer_xtimer_compat
sys/ztimer: fix xtimer_compat
2020-12-14 13:16:15 +01:00
Martine S. Lenders
e980405cbc
gnrc_sixlowpan_frag_sfr: provide statistics sub-module 2020-12-14 13:00:37 +01:00