1. 22 Jul, 2021 1 commit
  2. 10 Apr, 2019 1 commit
  3. 03 Jul, 2018 5 commits
  4. 24 Feb, 2016 1 commit
  5. 25 Aug, 2015 1 commit
  6. 21 Jun, 2015 1 commit
  7. 20 Jun, 2015 1 commit
  8. 26 Mar, 2015 1 commit
  9. 25 Sep, 2014 1 commit
  10. 21 Aug, 2014 1 commit
  11. 30 Jun, 2014 2 commits
  12. 03 Jun, 2014 1 commit
  13. 27 May, 2014 1 commit
  14. 07 Jul, 2013 1 commit
    • Philippe Gerum's avatar
      copperplate: introduce core-specific sections · f058f3c2
      Philippe Gerum authored
      We need a way to provide copperplate headers which expose distinct
      implementations and/or declarations for the same feature set depending
      on the current core we compile for. Typically, tracing support and
      function wrappers come to mind.
      
      To this end, two new sub-trees are available, namely:
      
      - include/cobalt/copperplate
      - include/mercury/copperplate
      
      The autoconf bits set the proper include directive in the CFLAGS so
      that client code may pull the right header as <copperplate/header.h>.
      Obviously, core-specific copperplate headers shall not conflict in
      name with the generic ones available from include/copperplate (unless
      we really want to play the include_next game).
      
      To be future-proof, sub-Makefiles should list include directives so
      that core-specific copperplate headers are always matched before
      generic ones.
      f058f3c2
  15. 06 Jul, 2013 2 commits
  16. 03 Jul, 2013 1 commit
  17. 29 Jun, 2013 1 commit
    • Philippe Gerum's avatar
      cobalt: introduce uapi headers · d928926f
      Philippe Gerum authored
      Following the uapi introduction in recent kernels, this jumbo patch
      splits the former Xenomai POSIX headers into kernel and userland
      counterparts, privatizing the former into the kernel section when
      applicable.
      
      This change is aimed at centralizing the shared API types and
      definitions used in system calls, making it easier to track changes to
      the APIs that the kernel presents to user space, and solving inclusion
      dependency issues the right way.
      
      Headers defining the API bits shared between the Cobalt kernel and the
      support libraries in userland are available from include/cobalt/uapi,
      organized as follows:
      
      - uapi/*.h => Cobalt/POSIX interface bits
      - uapi/rtdm => RTDM bits
      - uapi/sys/*.h => Low-level Cobalt kernel bits
      
      As a consequence of this split, files below include/cobalt/kernel
      become kernel-only headers, and POSIX headers in include/cobalt are
      exclusively reserved for inclusion in user-space builds.
      
      As an added benefit, this change significantly reduces the number of
      headers to be installed for building Xenomai applications.
      d928926f
  18. 18 Jun, 2013 1 commit
    • Philippe Gerum's avatar
      lib/cobalt: fix naming for consistency · 12047c2d
      Philippe Gerum authored
      xeno_* identifiers, and all extern symbols become cobalt_*.
      
      In addition, hidden global variables are prefixed by a double
      underscore.
      
      This change causes the UAPI level to be increased, due to renaming
      xeno_sigwinch_handler() to cobalt_sigshadow_handler().
      12047c2d
  19. 12 Jun, 2013 1 commit
    • Philippe Gerum's avatar
      cobalt/nucleus: introduce SCHED_WEAK scheduling class · 3667859d
      Philippe Gerum authored
      This code enables support for binding threads from the Linux
      SCHED_FIFO/RR scheduling classes to the Xenomai domain as members of
      the SCHED_WEAK class, with up to 100 priority levels from [0..99]
      included.  When enabled, SCHED_WEAK is the low priority class of the
      Xenomai system, providing no real-time guarantee.
      
      Members from the SCHED_WEAK class are weakly scheduled by Xenomai,
      only for the purpose of synchronizing with real-time threads from
      other scheduling classes.  However, they cannot compete for CPU
      resources with real-time threads, and leave the primary domain upon
      return from Xenomai syscalls automatically (*).
      
      This feature is an extension of Xenomai's special handling of
      SCHED_OTHER threads, to the SCHED_FIFO/RR POSIX classes from a regular
      Linux kernel. If disabled, SCHED_WEAK is interpreted as an alias to
      SCHED_OTHER by the Xenomai scheduler, restricted to priority
      0. Conversely, SCHED_OTHER threads are eventually members of Xenomai's
      SCHED_WEAK class at priority 0, when this feature is enabled.
      
      In the wake of the SCHED_WEAK introduction, automatic propagation of
      updates to the Xenomai scheduling parameters to linux/libc via the
      SIGSHADOW_RENICE signal has been removed.
      
      (*) Like with SCHED_OTHER, Xenomai assumes no real-time requirement
      for SCHED_WEAK threads. Therefore, they are automatically moved back
      to secondary mode upon return from a Xenomai syscall, unless they hold
      a mutex, which would defer the transition until the mutex is released.
      3667859d
  20. 14 Dec, 2012 1 commit
    • Philippe Gerum's avatar
      cobalt: remove HAL interface · bb4f2d90
      Philippe Gerum authored
      Originally, the HAL interface was aimed at abstracting the real-time
      enabler on top of which the nucleus sits, when running over the linux
      kernel. Along the years, we only used the Adeos pipeline for this
      purpose, and 3.x is writing this dependency in stone for the Cobalt
      core.
      
      Therefore the HAL layer becomes pointless, and removing it simplifies
      a great deal of low level Xenomai code, making architecture ports even
      simpler.
      
      In the same move, we dismiss support for legacy pipelines. A pipeline
      from the recent "core" series, exposing API revision #2 or better is
      required to build and run Xenomai 3.x.
      
      NOTE: nios2 and sh4 are not ready for prime time, since we don't have
      a core pipeline implementation for them yet. We leave them in tree
      though, waiting for catch-up.
      bb4f2d90
  21. 29 Jan, 2012 1 commit
  22. 28 Jan, 2012 4 commits
  23. 14 Jan, 2012 1 commit
  24. 07 Jan, 2012 1 commit
  25. 11 Nov, 2011 1 commit
  26. 10 Aug, 2011 1 commit
    • Gilles Chanteperdrix's avatar
      testsuite: fix mutex-torture test · 7f42949a
      Gilles Chanteperdrix authored
      Join for "cond_signaler" thread, in order to avoid the test failing to fail
      when the failure happens in a detached thread running concurrently with the
      program termination.
      7f42949a
  27. 16 Feb, 2011 1 commit
  28. 26 Jan, 2011 1 commit
  29. 01 May, 2010 1 commit
    • Jan Kiszka's avatar
      mutex-torture: Add test for disallowed lock stealing · 037d2615
      Jan Kiszka authored
      
      
      This test case reflects an existing bug in the lock stealing
      implementation: A lock is stolen from A and then released again. When A
      wakes up, it acquires the lock via the in-kernel fastpath and holds it
      while being busy. B preempts A and tries to acquire the lock as well. So
      far it steals it due to the bug while it should simply boost A and wait
      for the release.
      
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      037d2615
  30. 08 Mar, 2010 2 commits