1. 07 Sep, 2021 2 commits
    • Philippe Gerum's avatar
      lib/init: do not look for vDSO support on Valgrind · 3cdad2b0
      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's avatarPhilippe Gerum <rpm@xenomai.org>
      3cdad2b0
    • Philippe Gerum's avatar
      lib/init: factor out generic vDSO lookup task · 5c9efb88
      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's avatarPhilippe Gerum <rpm@xenomai.org>
      5c9efb88
  2. 30 Apr, 2020 1 commit
    • Philippe Gerum's avatar
      lib: convert to HM diagnostic messages · 3fef97c6
      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's avatarPhilippe Gerum <rpm@xenomai.org>
      3fef97c6
  3. 23 Apr, 2020 1 commit
  4. 19 Mar, 2020 3 commits
    • Philippe Gerum's avatar
      lib: fix unfortunate misnomer · a9f1e2f6
      Philippe Gerum authored
      a9f1e2f6
    • Philippe Gerum's avatar
      lib/init: better detect ABI discrepancies · 01a10f0d
      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's avatarPhilippe Gerum <rpm@xenomai.org>
      01a10f0d
    • Philippe Gerum's avatar
      lib/init: state ABI requirement explicitly · 1565744d
      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's avatarPhilippe Gerum <rpm@xenomai.org>
      1565744d
  5. 16 Feb, 2020 1 commit
    • Philippe Gerum's avatar
      lib/init: drop obsolete SIGEVL_ACTION_HOME · fa90a19e
      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.
      fa90a19e
  6. 10 Feb, 2020 1 commit
  7. 25 Jan, 2020 1 commit
  8. 13 Nov, 2019 2 commits
  9. 02 Jul, 2019 1 commit
  10. 30 Jun, 2019 1 commit
    • Philippe Gerum's avatar
      lib/proxy: relay stdout, stderr through built-in proxies · 98507f26
      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.
      98507f26
  11. 28 Jun, 2019 1 commit
  12. 13 Jun, 2019 1 commit
  13. 11 Jun, 2019 1 commit
  14. 21 May, 2019 1 commit
  15. 22 Apr, 2019 2 commits
  16. 06 Apr, 2019 1 commit
  17. 10 Mar, 2019 1 commit
  18. 09 Mar, 2019 1 commit
  19. 05 Mar, 2019 1 commit
  20. 04 Mar, 2019 6 commits