- 10 Apr, 2019 5 commits
-
-
Norbert Lange via Xenomai authored
contrary to some comments, mutexes are automatically initialised on lock/unlock. Correct the destroy method to not report an error on such mutexes. {get,set}prioceiling requires mutexes that were explicitly initialised, so no change needed there Signed-off-by:
Norbert Lange <norbert.lange@andritz.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Norbert Lange via Xenomai authored
The optional mode argument (open is a vararg function), was only be read and forwarded if the O_CREAT flag is set. That is not complete, as O_TMPFILE will require this argument aswell. Fixed in this commit, and a fallback definition of O_TMPFILE is added, incase libcobalt is built against an library lacking this macro. Signed-off-by:
Norbert Lange <norbert.lange@andritz.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Norbert Lange via Xenomai authored
Covers now all standard integer types, no need for corner cases. Signed-off-by:
Norbert Lange <norbert.lange@andritz.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Norbert Lange via Xenomai authored
Because of conflicts with libc++ (v1/bit include file). Simplify the macro as there shouldn't be any bad cornercases Signed-off-by:
Norbert Lange <norbert.lange@andritz.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
Disable DEBUG_INFO which bloats the build out and, thus, the ccache. This prevented the cache from working on arm64 due to our size limit. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 09 Apr, 2019 1 commit
-
-
Jan Kiszka authored
This switches to cloning the ipipe tree, rather than downloading patches. It allows to test also unreleased ipipe revisions. The test matrix is enhanced by - 4.19-arm - 4.14.78-arm64 - 4.14.y-x86 - 4.4.y-x86 - 4.4.y-arm The 4.1-arm build is dropped because that kernel is no longer supported - and the build is broken. Furthermore, the no longer supported i386 target is replaced with x86-64 for 4.4. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 05 Apr, 2019 4 commits
-
-
Jan Kiszka authored
Like in upstream. Also avoids breakage on newer kernels that removed init_timer. Along this, do some small cleanups. But this code looks fishy - there is likely a reason why it never left "experimental". Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
init_timer was removed in 4.15. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
init_timer was removed in 4.15. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
Like in upstream. Also avoids breakage on newer kernels that removed init_timer. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 04 Apr, 2019 4 commits
-
-
Roman Stratiienko authored
After changes introduced in kernel v4.19, commit bfc18e389c7a ("atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless()") use atomic_fetch_add_unless() function instead of __atomic_add_unless(). Add wrapper for backward compatibility. Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
ACCESS_ONCE isn't available starting from kernel v4.15. Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
Changes are made by enabling all xenomai-related configs using menuconfig for arm kernel, then exported with savedefconfig command. Other missing and removed options are turned on implicitly. Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This is not yet the final solution, we need pci_alloc_irq_vectors on the long run, but that will require more wrapping or deprecation of older kernels. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 01 Apr, 2019 11 commits
-
-
Philippe Gerum authored
Converging to the upstream implementation further, disregard any event which source is disabled, to help dealing with transitory states of the hardware (e.g. as triggered by device closure). Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
No ifs, not buts: drivers must pass -EINTR to the core whenever received from a blocking call. NOTE: this change also prevents userland from receiving a partial byte count from an interrupted read/write operation, although such amount of bytes may have been transferred from/to the corresponding software FIFO. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
- fix the reset sequence which may have caused random lockups when re-opening the device. - converge to the mainline implementation wrt setting up the UART registers. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We may receive TRDY when the TX-FIFO is not entirely empty, which breaks the logic in rt_imx_uart_tx_chars(), as we may break early from the transmit loop when the TXFULL condition is detected, skipping decrement of ctx->out_npend although a byte was sent. Because of this, we may end up with ghost bytes in the output buffer which were actually sent to the UART, but still erroneously counted in ctx->out_npend. As a result, incorrect output can be observed later on as bytes from the software FIFO are unduly sent, or such FIFO may overflow indefinitely due to accumulated errors. Fix this by testing TXFULL before sending the next byte to the UART. At this chance, drop the count limit on the FIFO depth: testing TXFULL is sufficient and robust. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
This speeds-up travis build Measurement results (build with ipipe-core-4.14.85-arm-6) - Without ccache: 26 min 7 sec - With ccache (1st run): 31 min 21 sec - With ccache (every next run): 4 min 23 sec Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
We have no more in-tree users for it. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
See https://www.xenomai.org/pipermail/xenomai/2019-February/040321.html. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 19 Mar, 2019 10 commits
-
-
Roman Stratiienko authored
Use access_wok / access_rok wrappers to enable support for kernel v5.0 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
As do_gettimeofday is very old and deprecated, use ktime instead This also fixed the old conversion to nanoseconds in a4l_init_time. Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> [Jan: leave note on drive-by fix of a4l_init_time] Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
Starting from kernel v5.0 commit f5451582c4e2 ("kconfig: stop supporting '.' and '/' in unquoted words") quotes are mandatory for usage Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
Since kernel v5.0 upstream commit 96d4f267e40f ("Remove 'type' argument from access_ok() function") access_ok() function takes only 2 parameters Change access_rok and access_wok wrappers for kernels starting from v5.0, and preserve them for earlier versions This will fix build error on v5.0 and later Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
siginfo_t can't be used in kernel-space starting from v4.20-rc1 commit ae7795bc6187 ("signal: Distinguish between kernel_siginfo and siginfo") replace all siginfo_t to kernel_siginfo_t and create wrapper for kernel < v4.20 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
After kernel v4.18 commit 4a0772cf0674 ("tracing: Prevent further users of zero size static arrays in trace events") creating zero length arrays will force compile-time error This will fix BUILD_BUG_ON error on v4.18 and later Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
$SRCARCH removed since v4.18-rc1, upstream commit 104daea149c4 ("kconfig: reference environment variables directly and remove 'option env='") This will fix build with v4.18 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
print_symbol() removed since v4.16-rc1 commit d2279c9d7f7d ("kallsyms: remove print_symbol() function") use print_symbol for version less than v4.16 and printk starting from v4.16 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Roman Stratiienko authored
READ_ONCE() introduced from v3.19 commit 230fa253df63 ("kernel: Provide READ_ONCE and ASSIGN_ONCE") and ACCESS_ONCE() removed startibg from v4.15-rc4 commit b899a850431e ("compiler.h: Remove ACCESS_ONCE()") Replace ACCESS_ONCE with READ_ONCE and make READ_ONCE wrapper for case when READ_ONCE is not available (<v3.19) This will fix build with v4.15 Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This also builds the Xenomai userspace as part of CI. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 18 Mar, 2019 4 commits
-
-
Roman Stratiienko authored
Signed-off-by:
Roman Stratiienko <roman.stratiienko@globallogic.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Philippe Gerum authored
The token-based approach for detecting preemption while data is being moved into or out of the ring only protects from read vs read races, not from races involving a write side. For instance, a reader might read dirty data being changed by a writer concurrently, or two writers might compete writing two distinct messages at the same place in the ring space. To address this issue, use a slot-based implementation which atomically reserves exclusive portions of the ring space readers and writers will be accessing locklessly. Those slots are guaranteed to never overlap among read and write requests, until the lockless operation finishes. Signed-off-by:
Philippe Gerum <rpm@xenomai.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This aligns the definition of our user copy services with the kernel in two aspects: - use unlikely to mark the fast path - memset the remaining bits of the target region if the copy fails; this avoids false-positive compiler warnings and reduces the risk to evaluate undefined data in case the return value is not checked Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
Jan Kiszka authored
This instruments the sched-quota scheduling policy to track which groups exit, with which settings, and which threads belong to them. As trace_cobalt_schedquota_add_thread may be invoked before a thread is fully initialized, we need to trace also the thread address. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-
- 25 Feb, 2019 1 commit
-
-
Jan Kiszka authored
Missed by e8178c98. Reported-by:
Edouard Tisserant <edouard.tisserant@gmail.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com>
-