- 07 Sep, 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
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>
-
- 30 Apr, 2020 1 commit
-
-
Philippe Gerum authored
Since ABI 23, the core is able to channel T_WOSS, T_WOLI and T_WOSX error notifications through the offender's observable component if present. Convert all SIGDEBUG_xxx cause codes to the new EVL_HMDIAG_xxx naming, so that we have a single nomenclature for these errors regardless of whether threads are notified via SIGDEBUG or their observable component. The API rev. is bumped to #17 as a result of these changes. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 23 Apr, 2020 1 commit
-
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 19 Mar, 2020 3 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
Post ABI 18 libevl would fail to detect incompatible core support by receiving ENOTTY as a result of asking for the core information, due to the change in size of the argument struct which was introduced to support ABI ranges. Make sure to trap ENOTTY on this call as an ABI mismatch too. Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Instead of matching whatever ABI we might be compiled against like previously, define the kernel ABI we need as a prerequisite (EVL_KABI_PREREQ), checking for sanity at build time and runtime. This prerequisite is matched against the range of ABI revisions the kernel supports (from EVL_ABI_BASE to EVL_ABI_CURRENT). In the simplest case, the kernel implements a single ABI with no backward compatibility mechanism (EVL_ABI_BASE == EVL_ABI_CURRENT). This addresses two issues: - the fact that libevl might build against a given set of uapi/ files does not actually mean that the corresponding kernel ABI found there is fully compatible with what libevl expects. Specifying a compatible ABI prereq explicitly addresses this problem. - we can obtain services from EVL cores supporting multiple ABI revisions (i.e. providing backward compat feat). Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
- 16 Feb, 2020 1 commit
-
-
Philippe Gerum authored
Since EVL-ABI rev. 17, the core sends an INBAND_TASK_RETUSER event to force a user thread to call back, so that it can switch it to out-of-band context. This mechanism does not require any support from libevl. Drop SIGEVL_ACTION_HOME since it is now useless.
-
- 10 Feb, 2020 1 commit
-
-
Philippe Gerum authored
-
- 25 Jan, 2020 1 commit
-
-
Philippe Gerum authored
-
- 13 Nov, 2019 2 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
Returns version information about the running EVL interface including the API and kernel ABI levels. A negative ABI level denotes the EVL shim layer (eshi).
-
- 02 Jul, 2019 1 commit
-
-
Philippe Gerum authored
-
- 30 Jun, 2019 1 commit
-
-
Philippe Gerum authored
proxy_outfd, proxy_errfd are the file descriptors of these built-in proxies, for issuing formatted printouts without incurring switches to the inband stage. evl_printf() is a shorthand call formatting its argument list before sending the resulting string through proxy_outfd.
-
- 28 Jun, 2019 1 commit
-
-
Philippe Gerum authored
-
- 13 Jun, 2019 1 commit
-
-
Philippe Gerum authored
Improve consistency in naming and disambiguate some calls.
-
- 11 Jun, 2019 1 commit
-
-
Philippe Gerum authored
-
- 21 May, 2019 1 commit
-
-
Philippe Gerum authored
-
- 22 Apr, 2019 2 commits
-
-
Philippe Gerum authored
Instead, provide a basic handler which only prints out the cause for receiving SIGDEBUG, which the application can use freely.
-
Philippe Gerum authored
-
- 06 Apr, 2019 1 commit
-
-
Philippe Gerum authored
-
- 10 Mar, 2019 1 commit
-
-
Philippe Gerum authored
-
- 09 Mar, 2019 1 commit
-
-
Philippe Gerum authored
-
- 05 Mar, 2019 1 commit
-
-
Philippe Gerum authored
-
- 04 Mar, 2019 6 commits
-
-
Philippe Gerum authored
-
Philippe Gerum authored
evl_log() and evl_printf() helpers moved to a utility file.
-
Philippe Gerum authored
-
Philippe Gerum authored
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-
Philippe Gerum authored
Signed-off-by:
Philippe Gerum <rpm@xenomai.org>
-