1. 19 Jan, 2021 5 commits
  2. 11 Jan, 2021 8 commits
  3. 08 Jan, 2021 7 commits
  4. 17 Dec, 2020 3 commits
    • Philippe Gerum's avatar
      cobalt/intr: pipeline: IRQ management code is pipeline-specific · 38baf072
      Philippe Gerum authored
      The way we request and manage interrupts depends on the underlying
      pipeline interface.
      
      As a matter of fact, Dovetail already deals with most of the logic
      implemented by the xnintr layer, such as edge/level shared IRQs, fully
      reusing the regular genirq interface for management. IRQ handlers with
      Dovetail have regular signatures as well.
      
      For the time being, let's move the entire xnintr layer to the I-pipe
      specific section created earlier. We should be able to design the
      abstract interface to IRQ management after this layer for the most
      part, which we would connect to Dovetail eventually.
      
      No functional change is introduced.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      38baf072
    • Philippe Gerum's avatar
      cobalt/init: pipeline: abstract pipeline-specific inits · 6d2989b6
      Philippe Gerum authored
      This is the initial step to enabling Dovetail for the Cobalt core,
      which requires to introduce an abstraction layer between such core and
      the interrupt pipeline interface, either Dovetail or the legacy
      I-pipe.
      
      Eventually, the Cobalt implementation which has to interface to the
      underlying pipeline should branch off at the following points:
      
      - kernel/cobalt/{ipipe, dovetail}/arch, the arch-specific
        implementation which overwhelmingly depends on the pipeline flavour.
      
      - kernel/cobalt/{ipipe, dovetail}, the generic Cobalt code calling
        pipeline services.
      
      - kernel/cobalt/include/{ipipe, dovetail}, the client glue types and
        definitions pulled into some basic kernel types by the pipeline
        implementation (e.g. the thread_info extension structure).
      
      - include/cobalt/kernel/{ipipe, dovetail}, the generic Cobalt headers
        depending on services and definitions the pipeline provides for.
      
      We start the process by abstracting the machine-level init code which
      depends on the pipeline flavour.
      
      No functional change is introduced.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      6d2989b6
    • Philippe Gerum's avatar
      cobalt/kernel: substitute ipipe_processor_id() with raw_smp_processor_id() · 18c7ed6a
      Philippe Gerum authored
      raw_smp_processor_id() has been callable from any pipeline domain for
      many moons now, there is no point in using the legacy
      ipipe_processor_id() call anymore.
      Signed-off-by: Philippe Gerum's avatarPhilippe Gerum <rpm@xenomai.org>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      18c7ed6a
  5. 16 Dec, 2020 3 commits
  6. 14 Dec, 2020 4 commits
  7. 11 Dec, 2020 7 commits
  8. 17 Nov, 2020 2 commits
  9. 12 Nov, 2020 1 commit
    • Florian Bezdeka's avatar
      lib/boilerplate/iniparser: Allow building with GCC 10.2 2020101 · 8acdbd71
      Florian Bezdeka authored
      Updating to upstream revision f858275f7f307eecba84c2f5429483f9f28007f8.
      Upstream repository is located at [1].
      
      The reason for updating was the following compiler error when trying
      to compile with GCC 10.2 10.2.1 20201016. As it turned out the problem
      was already addressed upstream:
      
      iniparser/iniparser.c: In function ‘iniparser_load’:
      iniparser/iniparser.c:616:13: error: ‘sprintf’ arguments 3, 4 may
      overlap destination object ‘buf’ [-Werror=restrict]
         616 |             sprintf(tmp, "%s:%s", section, key);
             |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      I reviewed especially the API changes. Most of them are cleanups only
      but two things should be pointed out:
      
        - The type of the size field of struct _dictionary_ changed from int
          to ssize_t. The only user of this struct is
          lib/analogy/calibration.c which uses this structure for internal
          things only. It is never exposed to any public API so updating is
          OK and fully backward compatible.
      
        - dictionary_new changed its signature
            from dictionary_new(int size)
            to   dictionary_new(size_t size).
          This function is not part of any public API. So updating does not
          break backward compatibility.
      
      [1] https://github.com/ndevilla/iniparserSigned-off-by: default avatarFlorian Bezdeka <florian.bezdeka@siemens.com>
      Signed-off-by: Jan Kiszka's avatarJan Kiszka <jan.kiszka@siemens.com>
      8acdbd71