1. 16 Aug, 2021 1 commit
  2. 05 May, 2021 1 commit
  3. 19 Mar, 2015 1 commit
  4. 18 Mar, 2015 1 commit
  5. 13 Feb, 2015 1 commit
  6. 25 Oct, 2014 1 commit
  7. 17 Oct, 2014 1 commit
  8. 03 Sep, 2014 2 commits
  9. 20 Feb, 2014 2 commits
  10. 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
  11. 21 Jun, 2013 1 commit
  12. 18 Jun, 2013 1 commit
    • Philippe Gerum's avatar
      kernel/cobalt: reorganize file hierachy · 629fa126
      Philippe Gerum authored
      The main changes introduced are as follows:
      
      - Xenomai/cobalt core (nucleus) moved at top level, with the arch-dep
      bits, POSIX and RTDM personalities in sub-directories.
      
      - Renamed include/cobalt/nucleus to include/cobalt/kernel.
      
      - include/asm-* directories moved to include/cobalt/.
      
      - Removal of asm-<arch>/bits, with most code reintroduced as regular
        implementation files into lib/cobalt/sysdeps/<arch>/.
      629fa126
  13. 12 Jun, 2013 1 commit
    • Philippe Gerum's avatar
      cobalt: introduce interface personalities · 07703e73
      Philippe Gerum authored
      Personalities are service interfaces exposed by the Xenomai
      kernel. Personalities may or may not provide a particular system call
      interface to userland. However, they do allow userland processes to
      bind to them via the built-in sc_nucleus_bind syscall, for attaching a
      process.
      
      Therefore, personalities are useful for exporting a complete set of
      additional kernel services, and/or (solely) providing process resource
      management via the ppd mechanism.
      
      Unlike skins, personalities live in kernel space
      exclusively. Therefore, they are not aimed at implementing RTOS
      emulators which should live in userland, on top of the Copperplate
      emulation system. Instead, Xenomai personalities implement:
      
      - core Xenomai interfaces, such as Cobalt and RTDM.
      
      - extensions to the Cobalt API, by mean of a RTDM driver which should
        belong to the RTDM_CLASS_COBALT class.
      07703e73
  14. 21 Mar, 2012 1 commit
    • Philippe Gerum's avatar
      cobalt/event, lib/cobalt: introduce support for event flag groups · 1ec3a412
      Philippe Gerum authored
      An event flag group is a synchronization object represented by a
      long-word structure; every available bit in such word can be used to
      map a user-defined event flag.  When a flag is set, the associated
      event is said to have occurred.
      
      Xenomai threads and interrupt handlers can use event flags to signal
      the occurrence of events to other threads; those threads can either
      wait for the events to occur in a conjunctive manner (all awaited
      events must have occurred to wake up), or in a disjunctive way (at
      least one of the awaited events must have occurred to wake up).
      
      We expose this non-POSIX feature through the internal API, as a fast
      IPC mechanism available to the Copperplate interface.
      1ec3a412