- 08 Jan, 2022 5 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
The tube API is sp/sc only and may have other issues. We introduced the SCQ (ring buffer) as a replacement, which is mp/mc, ABA-safe, linearizable, lock-free and livelock-safe. Mark the tube API as deprecated, before its removal scheduled for r31. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
This is a lighweight, lock-free mp/mc FIFO ring data structure based on Ruslan Nikolaev's Scalable Circular Queue (double-width CAS variant): http://drops.dagstuhl.de/opus/volltexte/2019/11335/pdf/LIPIcs-DISC-2019-28.pd https://github.com/rusnikola/lfqueue.git At this chance, enable use of stdatomic.h by cleaning up the namespace occupied by evl/atomic.h. Eventually, we will move to the C11 atomic API. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 27 Nov, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 17 Nov, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 16 Nov, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 13 Nov, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 11 Nov, 2021 3 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
We may have no valgrind support in the SDK, but access to the virtual machine in the runtime environment. So we should rather use the actual RUN_ON_VALGRIND implementation from the original Valgrind header (i.e. <valgrind/valgrind.h>), which is compatible license-wise. Suppress the former placeholder in the same move. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
We are about to rely on C11 atomic operations from <stdatomic.h>, once we have fully switched to this C standard. Fix conflicting definitions we may have in our custom atomic helpers. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 07 Nov, 2021 6 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 01 Nov, 2021 2 commits
-
-
Philippe Gerum authored
There is no vDSO support with Valgrind. Detect when running on top of such virtual machine using the Valgrind API, picking the fallback clock_gettime() implementation if so. This is not a problem since the EVL core does intercept and honor this syscall directly from the out-of-band stage as needed. The incurred overhead is negligible compared to what Valgrind already adds anyway. Also, provide a placeholder for valgrind/valgrind.h which should be picked when Valgrind is not installed on the build system. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
The syscall form used for issuing requests to the companion core is based on ORing __OOB_SYSCALL_BIT to the syscall register for tagging an out-of-band syscall, which is outside of the valid in-band range for syscall numbers. Unfortunately, this method has a major drawback: tools like Valgrind which track system calls issued by applications may choke on out-of-band system calls since these do not belong to the common set it recognizes. Although adding syscall wrappers to Valgrind might be a solution, this would not be the most practical one for dual kernel syscall interfaces. The most practical approach would be to piggyback on an existing system call which Valgrind (and others) already recognizes. For this reason, Dovetail introduced a new syscall form based on the regular prctl(2) syscall. In order to benefit from this feature, EVL syscalls are now folded into a prctl() request, which the core receives. This change introduces ABI #27. Recent revisions of the EVL core support both the former ABI and the new (prctl-based) one indifferently. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 13 Oct, 2021 1 commit
-
-
Philippe Gerum authored
There is no way this can work reliably in a multi-reader/multi-writer context due to a connectivity issue which is already documented in the code, and probably other correctness problem(s). Revisit. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 19 Sep, 2021 2 commits
-
-
Philippe Gerum authored
These scripts issue the proper commands via the /sys interface to start and stop the EVL core. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
There is no point in specializing the resolution of clock_gettime() in the vDSO on a per-arch basis. This is mostly generic code with only a couple of arch-specific identifiers we need, which we can leave into the arch/ area. Move the bulk of the symbol resolution code to the generic init routine, adding asm/evl/vdso.h for storing the few arch-specific bits such code still depends on. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 18 Sep, 2021 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 11 Sep, 2021 4 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
_FORTIFY_SOURCE requires the optimizer to be enabled. Make sure to force the former off when we disable the latter. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
-ENXIO is the conventional error code signaling that the caller has issued a syscall without being attached to the core. Make sure evl_open_sem() detects this and bails out early. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 05 Sep, 2021 1 commit
-
-
Philippe Gerum authored
Use the preset values of CC, CXX, LD, AR if already defined in the environment. This is typically required for building libevl with the Yocto SDK, with the settings sourced from the environment-setup script. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 21 Aug, 2021 2 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 03 Aug, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 30 Jun, 2021 1 commit
-
-
Philippe Gerum authored
Address this warning from the 'find' command used in the evl-test script: "find: warning: you have specified the global option -maxdepth after the argument -type, but global options are not positional, i.e., -maxdepth affects tests specified before it as well as those specified after it. Please specify global options before other arguments."
-
- 13 Jun, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 13 May, 2021 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 01 Mar, 2021 1 commit
-
-
Philippe Gerum authored
A receiver could get a spurious empty tube status, due to receive_tube() racing with send_tube(). See the added comments into the code for details about the resolution. At this chance, guard against load/store tearing on shared pointers. Pending issue: we still have a potential connectivity issue between the prep and finish ops when pushing to a tube. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 07 Feb, 2021 3 commits
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Enabling the ftrace infrastructure causes runtime overhead which is noticeable in latmus figures, even with dynamic tracepoints disabled. Warn about CONFIG_FTRACE being enabled. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-