All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] Dovetail:
@ 2020-12-16 16:44 Philippe Gerum
  2020-12-16 16:44 ` [PATCH 1/3] cobalt/kernel: substitute ipipe_processor_id() with raw_smp_processor_id() Philippe Gerum
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Philippe Gerum @ 2020-12-16 16:44 UTC (permalink / raw)
  To: xenomai

From: Philippe Gerum <rpm@xenomai.org>

This series starts introducting an abstraction layer between the core
and the interrupt pipeline interface, either Dovetail or the legacy
I-pipe.

Although the goal is to enable Cobalt on top of Dovetail eventually,
we keep the ability to interface with the I-pipe using a build time
switch, in order to make it easier to pinpoint regressions by
comparing the behaviour of the common code based on the different
pipeline infrastructures.

Eventually, the Cobalt implementation 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 with the machine-specific, IRQ management support.

Philippe Gerum (3):
  cobalt/kernel: substitute ipipe_processor_id() with
    raw_smp_processor_id()
  cobalt/init: pipeline: abstract pipeline-specific inits
  cobalt/intr: pipeline: IRQ management code is pipeline-specific

 include/cobalt/kernel/assert.h                |   2 +-
 .../cobalt/kernel/ipipe/pipeline/machine.h    |  71 ++++++++++
 include/cobalt/kernel/lock.h                  |   4 +-
 kernel/cobalt/Makefile                        |   3 +-
 kernel/cobalt/arch/arm/thread.c               |  10 +-
 kernel/cobalt/arch/arm64/thread.c             |   2 +-
 kernel/cobalt/arch/x86/thread.c               |   6 +-
 kernel/cobalt/debug.c                         |   2 +-
 .../include/asm-generic/xenomai/machine.h     |  51 +-------
 kernel/cobalt/init.c                          | 121 +-----------------
 kernel/cobalt/ipipe/Makefile                  |   3 +
 kernel/cobalt/ipipe/init.c                    | 116 +++++++++++++++++
 kernel/cobalt/{ => ipipe}/intr.c              |   0
 scripts/prepare-kernel.sh                     |   2 +
 14 files changed, 212 insertions(+), 181 deletions(-)
 create mode 100644 include/cobalt/kernel/ipipe/pipeline/machine.h
 create mode 100644 kernel/cobalt/ipipe/Makefile
 create mode 100644 kernel/cobalt/ipipe/init.c
 rename kernel/cobalt/{ => ipipe}/intr.c (100%)

-- 
2.26.2



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-17 17:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-16 16:44 [PATCH 0/3] Dovetail: Philippe Gerum
2020-12-16 16:44 ` [PATCH 1/3] cobalt/kernel: substitute ipipe_processor_id() with raw_smp_processor_id() Philippe Gerum
2020-12-16 16:44 ` [PATCH 2/3] cobalt/init: pipeline: abstract pipeline-specific inits Philippe Gerum
2020-12-16 16:44 ` [PATCH 3/3] cobalt/intr: pipeline: IRQ management code is pipeline-specific Philippe Gerum
2020-12-17 17:22 ` [PATCH 0/3] Dovetail: Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.