1. 24 Sep, 2018 1 commit
  2. 03 Jul, 2018 3 commits
  3. 19 Apr, 2018 1 commit
  4. 19 Nov, 2017 1 commit
  5. 18 Nov, 2017 1 commit
  6. 17 Jul, 2017 1 commit
  7. 21 May, 2017 1 commit
    • Henning Schild's avatar
      scripts/xeno-config: add -Wl,--no-as-needed · 83dea2ad
      Henning Schild authored
      Linking with "--as-needed" could cause the linker to not list essential
      wrapping libraries as needed for a shared library or a dynamically
      linked binary. The result would be runtime ld.so errors for the binaries
      or linking problems with the .so.
      gcc defaults to "--no-as-needed" that is why we never needed to specify
      that flag explicitly. But gcc from Ubuntu is patched to default to
      "--as-needed".
      This patch enforces "--no-as-needed", which will have no effect on most
      toolchains. On Ubuntu it will override the default and make sure xenomai
      applications get linked as expected.
      Signed-off-by: Henning Schild's avatarHenning Schild <henning.schild@siemens.com>
      83dea2ad
  8. 13 Mar, 2017 2 commits
  9. 15 Feb, 2017 1 commit
  10. 26 Jan, 2017 2 commits
  11. 30 Sep, 2016 1 commit
    • Philippe Gerum's avatar
      scripts/xeno-config: fix include directory chain in compat mode · a3fb5d8e
      Philippe Gerum authored
      == Wrong include chain:
      . /install/xenomai/cobalt/pthread.h
      .. /install/xenomai/trank/posix/pthread.h
      ... /usr/include/pthread.h
      
      == Right include chain:
      . /install/xenomai/trank/posix/pthread.h
      .. /install/xenomai/cobalt/pthread.h
      ... /usr/include/pthread.h
      
      Fix the order the -I directives are emitted by --cflags --compat
      accordingly.
      a3fb5d8e
  12. 22 Sep, 2016 1 commit
  13. 09 Sep, 2016 1 commit
    • Philippe Gerum's avatar
      boilerplate: allow for auto-init of external shared libraries · 21845c9c
      Philippe Gerum authored
      3rd-party shared libraries for which Xenomai auto-initialization is
      required must include a position-independent version of the bootstrap
      module.
      
      This means that we need to export a PIC object such libraries can
      include, in addition to a non-PIC object to be linked in regular
      executables as usual. Such objects are available as
      @libdir@/xenomai/bootstrap-pic.o and @libdir@/xenomai/bootstrap.o
      respectively.
      
      xeno-config* scripts now accept the --auto-init-solib option to emit
      the proper link directives for including the PIC bootstrap module into
      shared libraries when --ldflags is given.
      21845c9c
  14. 22 Apr, 2016 1 commit
  15. 25 Mar, 2016 1 commit
    • Philippe Gerum's avatar
      cobalt/config: relax requirement on CONFIG_MIGRATION · 265ca3c3
      Philippe Gerum authored
      Some configurations may need page migration enabled for resolving
      indirect dependencies on other features they might need (e.g. CMA),
      and are fine with the additional latency that might cause.  Just warn
      loudly when CONFIG_MIGRATION is detected.
      265ca3c3
  16. 24 Mar, 2016 1 commit
  17. 13 Dec, 2015 1 commit
  18. 28 Oct, 2015 1 commit
  19. 23 Oct, 2015 1 commit
  20. 22 Aug, 2015 2 commits
    • Gilles Chanteperdrix's avatar
      boilerplate: declare missing libc functions when wrapping · 13930956
      Gilles Chanteperdrix authored
      When compiling with a toolchain which does not implement
      pthread_setname_np or clock_nanosleep, these functions are not declared
      as a result of including their respective header.
      
      However, when passing --skin=posix to xeno-config, an application
      expects these functions to be declared, since they are wrapped and
      implemented by libcobalt.
      
      Fix this by moving their declaration in boilerplate/libc.h out of the
      ifdef __IN_XENO__ section, but making it depend on a __COBALT_WRAP__
      symbol, set in xeno-config when --skin=posix is passed.
      13930956
    • Philippe Gerum's avatar
      scripts/xeno-config: drop obsolete --kcflags switch · 50f6cb5a
      Philippe Gerum authored
      There is no point in keeping this switch, since the Kbuild system is
      patched to preset the proper include paths for reaching Xenomai kernel
      headers when building a RTDM driver over Cobalt.
      50f6cb5a
  21. 20 Jul, 2015 1 commit
    • Jan Kiszka's avatar
      cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes · a9c52359
      Jan Kiszka authored
      Avoid that information has to be provided multiple times, specifically
      the sensitive syscall modes. For that purpose, both entry points and
      modes are picked up by a script from COBALT_SYSCALL macros in all
      kernel/cobalt/posix/*.c files. These are translated into entries for
      both tables and filled into a generated header. syscall.c can then
      include the header and use the accumulating macros __COBALT_CALL_ENTRIES
      and __COBALT_CALL_MODES in its table definitions.
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      a9c52359
  22. 22 Jun, 2015 1 commit
  23. 07 Jun, 2015 1 commit
  24. 11 May, 2015 1 commit
    • Philippe Gerum's avatar
      lib: share the common setup and bootstrap code · 83b0f189
      Philippe Gerum authored
      Make pure POSIX applications and Copperplate-based ones share the same
      auto-init mechanism. This means that all applications now
      automatically recognize a set of base common options, which is
      currently:
      
      --cpu-affinity=<cpuset>, --[no-]sanity, --quiet[=level], --silent and
      --version.
      
      Applications which do not want Xenomai to interpose on the main()
      routine transparently for handling these options and bootstrapping the
      service libraries may disable this feature by passing the
      --no-auto-init switch to xeno-config when collecting the linker
      flags. In this configuration, the system must be bootstrapped manually
      by a call to xenomai_init() from the application code though.
      
      This change is C++ friendly, since it also enables the Xenomai high
      level services (e.g. VxWorks, pSOS) before the static constructors
      run, by default.
      83b0f189
  25. 30 Apr, 2015 1 commit
  26. 23 Apr, 2015 1 commit
    • Philippe Gerum's avatar
      scripts/prepare-kernel.sh: add Xenomai-specific include directives · a3a30499
      Philippe Gerum authored
      Xenomai headers belonging to the public kernel interface are (and
      shall be) referred to unambiguously, either as:
      
      - <cobalt/*>
      - <rtdm/*>
      - <asm/xenomai/*>
      
      Therefore we may patch the include directives referring to those
      hierarchies into the general kernel CFLAGS, so that out-of-tree RTDM
      drivers and any Xenomai kernel code in general need no further -I
      switches.
      
      i.e.
      KBUILD_CFLAGS += -Iarch/$(SRCARCH)/xenomai/include -Iinclude/xenomai
      a3a30499
  27. 27 Mar, 2015 1 commit
  28. 24 Mar, 2015 2 commits
    • Philippe Gerum's avatar
      build: drop autoconf-generated files · e179b093
      Philippe Gerum authored
      e179b093
    • Philippe Gerum's avatar
      copperplate/heapobj: use per-process heap for anon sessions · 14343e9e
      Philippe Gerum authored
      We have different lifetimes for Cobalt-managed POSIX objects such as
      mutexes and condvars, and Cobalt maintains dynamically allocated
      resources for them.
      
      Some POSIX objects are embedded into the session header for protecting
      sysgroups, and serializing allocation ops on the shared
      heap. Therefore, they must survive until the last process detaches
      from the anon session.
      
      Most other POSIX objects stored into the shared heap become virtually
      stale when the application exits and should be reclaimed
      automatically, so that we don't end up leaking kernel resources as
      processes come and go into the anon session.
      
      For the sake of simplicity, Cobalt reclaims shared POSIX objects upon
      exit of their respective creator, assuming that a multi-process
      application requires all involved processes to be present at any time,
      including the one which has initialized the resources.
      
      By using separate, per-process heaps for each instance of the anon
      session, we make sure that all POSIX resources can be reclaimed safely
      by Cobalt for any given session, upon application exit.
      14343e9e
  29. 02 Mar, 2015 1 commit
  30. 23 Feb, 2015 1 commit
  31. 12 Feb, 2015 1 commit
  32. 22 Jan, 2015 1 commit
  33. 20 Jan, 2015 1 commit
    • Jan Kiszka's avatar
      scripts: Add multi-user service setup scripts · 9cacfdae
      Jan Kiszka authored
      This script can be hooked up with the system in order to allow
      unprivileged members of the xenomai group to access real-time services
      as well. It configures the module parameter, creates the registry root
      directory with the appropriate access rights and ensures that a sysreg
      daemon for the anon session is running.
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      9cacfdae
  34. 19 Jan, 2015 1 commit