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

868 Commits

Author SHA1 Message Date
249ed5f2e1 core/include/xfa.h: uncrustify 2021-02-18 10:46:08 +01:00
2bc7bb4740 core/xfa: make externc happy 2021-02-18 10:46:08 +01:00
e827f0bdf1 core/xfa: add comments explaining the pragmas 2021-02-18 10:46:08 +01:00
50dc68bd21 core/xfa: make const XFA's volatile
This prevents gcc from figuring out that an XFA that has been
initialized in the same file is technically empty when the compilation
unit is seen by itself. This happened with gcc 10.1.0 on msp430-elf.
2021-02-18 10:46:08 +01:00
b54afa1449 xfa: remove duplicate "const" from _XFA_CONST 2021-02-18 10:46:08 +01:00
ac549abbb9 xfa: remove common -Txfa.ld include 2021-02-18 10:46:08 +01:00
bdd59ae7f2 core: disable -Warray-bounds for XFA users 2021-02-18 10:46:08 +01:00
66092f5506 core: Introduce cross file arrays (XFA)
Co-Authored-By: Joakim Nohlgård <joakim.nohlgard@eistec.se>
2021-02-16 14:21:32 +01:00
chrysn
6145949f88 core/mutex: Add assert guard against usage without threads 2021-02-15 06:01:01 +01:00
Martine Lenders
9b40bb63c2
core: apply uncrustify patches 2021-02-02 22:21:14 +01:00
9d5f87bf67
core/thread: Allow for inline thread_yield_higher
Similar to irq.h, this allows for inline the often trivial
thread_yield_higher function
2021-01-19 11:03:20 +01:00
f0ce992d4a
core/thread: uncrustify header file 2021-01-19 10:28:58 +01:00
323fa3b5ac
core/mutex: fix typo in documentation 2020-12-29 11:48:48 +01:00
Marian Buschsieweke
8bbe56c302
core/mutex: compatibility with non-C languages
Due to limited compatibility with C, we cannot use the inline mutex_trylock
implementation for C++. Instead, we provide a mutex_trylock_ffi() intended for
foreign function interfaces. This should also benefit rust users.
2020-12-09 11:53:48 +01:00
Marian Buschsieweke
472d6d0abc
core/mutex: fix documentation 2020-12-08 23:04:16 +01:00
229291ef01
Merge pull request #15442 from maribu/mutex_abort
core/mutex: Add mutex_cancel
2020-12-08 17:12:52 +01:00
Marian Buschsieweke
df66dd0272
core/mutex: uncrustify 2020-12-08 14:50:50 +01:00
Marian Buschsieweke
e348407888
core/mutex: Add mutex_cancel() & mutex_lock_cancelable()
Add a version of `mutex_lock()` that can be canceled with the obvious name
`mutex_lock_cancelable()`. This function returns `0` on success, and
`-ECANCELED` when the calling thread was unblocked via a call to
`mutex_cancel()` (and hence without obtaining the mutex).

This is intended to simplify the implementation of `xtimer_mutex_lock_timeout()`
and to implement `ztimer_mutex_lock_timeout()`.
2020-12-08 14:50:49 +01:00
benpicco
aabd5eaca5
Merge pull request #15506 from kaspar030/refactor_thread_info
core: refactor thread info
2020-11-26 13:01:09 +01:00
ceea0ba949 core/thread: add thread_is_active() 2020-11-25 20:49:00 +01:00
1d5e2e9cd9 all: remove traces of kernel_types.h
Automatically removed using:

    $ git grep -l kernel_types | xargs sed -i '/^#include .kernel_types/d'
2020-11-25 17:52:34 +01:00
017e9e9d4d core/thread: add thread_get_status() 2020-11-25 14:39:22 +01:00
5321bcde89 core: thread: move thread_state_to_string() from ps.c 2020-11-25 14:35:00 +01:00
65f997026f core: drop kernel_types.h 2020-11-25 13:18:53 +01:00
1711b4b649 core/include/kernel_types.h: re-add c++ compat parts 2020-11-23 17:13:35 +01:00
0b801c4de0 all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
7fa8b69912 core: include inttypes.h in sched.h
sched.h now defines PRIkernel_pid to PRIi16, which in turn is defined in
inttypes.h.
2020-11-23 16:56:34 +01:00
1ca0c23173 core/msg: adapt to changed thread define location 2020-11-23 16:56:34 +01:00
369e9b30e2 core: move scheduler defines to sched.h 2020-11-23 16:56:34 +01:00
91111555a6 core/mbox: add mbox_size() and mbox_avail() 2020-11-20 10:38:17 +01:00
Marian Buschsieweke
a06a7978d3
core/mutex: clean up mutex_lock()
- Split out handling of the blocking code path of mutex_lock() into a static
  `_block()` function. This improves readability a bit and will ease review of
  a follow up PR.
- Return `void` instead of `int`.
2020-11-18 11:58:49 +01:00
Marian Buschsieweke
90103f2a6a
core/mutex: consistent debug output 2020-11-18 09:13:00 +01:00
c4ef8b71e1
Merge pull request #15327 from maribu/mutex_cleanup_splitout
core/mutex: Cleanup
2020-11-13 18:37:27 +01:00
Benjamin Valentin
eea2df99a3 core/msg_bus: enhace documentation 2020-11-09 21:13:08 +01:00
Marian Buschsieweke
d760e931ae
core/mutex: Cleanup
- Use static inline function for `mutex_try_lock()`
    - The implementation is trivial enough with the inline-able IRQ API to just
      always be inline-ed
- Rename `_mutex_lock()` to `mutex_lock()` and drop the blocking parameter
    - This was possible to the stand-alone `mutex_try_lock()` implementation
    - This yields a measurable performance bump
2020-11-06 23:27:13 +01:00
benpicco
f7d9e2f1ab
Merge pull request #15398 from maribu/mutex-doc
core/mutex: improve documentation
2020-11-06 19:15:10 +01:00
Marian Buschsieweke
876d500846
core/mutex: improve documentation 2020-11-06 18:23:26 +01:00
Leandro Lanzieri
1e41c6453a
core/sched_cb: add module to Kconfig 2020-11-06 15:57:56 +01:00
Martine Lenders
dd81a070f0
Merge pull request #15365 from miri64/core/enh/debug-IS_ACTIVE
core: debug: remove parenthesis around ENABLE_DEBUG define
2020-11-03 17:49:14 +01:00
benpicco
ee7a52db2f
Merge pull request #14023 from benpicco/core/msg_bus-bus_flag
core/msg_bus: allow to differ between messages form bus and from thread
2020-11-03 13:51:19 +01:00
Martine Lenders
2df29a6806
core: debug: remove parenthesis around ENABLE_DEBUG define 2020-11-03 13:01:08 +01:00
Benjamin Valentin
d6a6c218a3 core/msg_bus: allow to differ between messages form bus and from thread
Currently it is not possible to check if a message was sent over a bus
or if it was send the usual way using `msg_send()`.

This adds a flag to the `sender_pid` if the message was sent over a bus.
`MAXTHREADS` is currently set to 32, so there is still plenty of room in
the PID space. (`kernel_pid_t` is `int16_t`)

The message type for bus message type is already accessed through a getter
function, so it's just consistent to do the same for sender_pid.
2020-11-03 10:52:43 +01:00
Bas Stottelaar
cc2e6b08d1 core/*: ENABLE_DEBUG not needed for inttypes.h 2020-11-02 21:49:39 +01:00
Bas Stottelaar
2d3d047fd6 core/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:34:12 +01:00
Bas Stottelaar
e675b6379e core/*: realign ENABLE_DEBUG 2020-10-23 00:45:56 +02:00
Bas Stottelaar
ff53307599 core/*: reorder ENABLE_DEBUG after last include 2020-10-23 00:41:18 +02:00
benpicco
c979fda1f3
Merge pull request #14367 from basilfx/feature/cortex_m33
cpu/cortex: add initial support for Cortex-M33
2020-10-08 22:55:06 +02:00
Bas Stottelaar
0f8cecb50b cpu/cortexm_common: add support for Cortex-M33 2020-10-06 17:11:26 +02:00
c59349482a
core/msg_bus: fix typo 'busses' -> 'buses'
Also fix typo 'seach' -> 'search'
2020-10-02 07:52:18 +02:00
benpicco
ab15d67e80
Merge pull request #15059 from maribu/core-thread-cast-align
core/thread.c: Silence -Wcast-align flase positives
2020-09-26 16:31:58 +02:00