[PATCH Dovetail 00/13] Keep on abstracting the pipeline interface
Philippe Gerum
rpm at xenomai.org
Sat Jan 2 10:33:40 CET 2021
From: Philippe Gerum <rpm at xenomai.org>
Most importantly: Happy new year, and best wishes.
Sidenote: this is the next series of patches (out of 70+) which adds
an abstraction layer to the Cobalt core, so that we can choose to
interface it to the legacy I-pipe or Dovetail at build time. This is
on top of the -next branch as usual.
Philippe Gerum (13):
cobalt/thread: pipeline: abstract threadinfo accessor
cobalt/apc: pipeline: abstract interface for deferred routine calls
cobalt/trace: pipeline: abstract trace calls
cobalt/lock: pipeline: abstract hard lock API
cobalt/kernel: pipeline: abstract execution stage predicates
cobalt/sched, clock: pipeline: abstract IPI management
cobalt/clock: pipeline: make HOSTRT depend on IPIPE
cobalt/build: pipeline: select IPIPE layer only if present
cobalt/clock: pipeline: abstract clock, timer access services
cobalt/wrappers: pipeline: abstract pipeline-related bits
cobalt/timer: pipeline: abstract tick management
cobalt/debug: pipeline: abstract panic prep call
cobalt/syscall: pipeline: abstract syscall entry points
include/cobalt/kernel/apc.h | 51 +---
include/cobalt/kernel/assert.h | 5 +-
include/cobalt/kernel/clock.h | 8 +-
include/cobalt/kernel/intr.h | 1 -
include/cobalt/kernel/ipipe/pipeline/clock.h | 32 ++
.../cobalt/kernel/ipipe/pipeline/kevents.h | 3 +
include/cobalt/kernel/ipipe/pipeline/lock.h | 21 ++
.../cobalt/kernel/ipipe/pipeline/pipeline.h | 80 +++++
include/cobalt/kernel/ipipe/pipeline/thread.h | 26 ++
include/cobalt/kernel/ipipe/pipeline/tick.h | 12 +
include/cobalt/kernel/ipipe/pipeline/trace.h | 111 +++++++
.../cobalt/kernel/ipipe/pipeline/wrappers.h | 25 ++
include/cobalt/kernel/lock.h | 44 +--
include/cobalt/kernel/rtdm/driver.h | 11 +-
include/cobalt/kernel/sched.h | 2 -
include/cobalt/kernel/stat.h | 3 -
include/cobalt/kernel/thread.h | 5 +-
include/cobalt/kernel/timer.h | 4 -
include/cobalt/kernel/trace.h | 101 +------
include/cobalt/kernel/vdso.h | 18 +-
kernel/cobalt/Kconfig | 4 -
kernel/cobalt/Makefile | 3 +-
kernel/cobalt/clock.c | 7 +-
kernel/cobalt/debug.c | 2 +-
.../include/asm-generic/xenomai/wrappers.h | 4 -
.../cobalt/include/linux/xenomai/wrappers.h | 23 +-
kernel/cobalt/init.c | 5 +-
kernel/cobalt/ipipe/Makefile | 2 +-
kernel/cobalt/{ => ipipe}/apc.c | 42 +++
kernel/cobalt/ipipe/init.c | 2 +
kernel/cobalt/ipipe/intr.c | 2 +-
kernel/cobalt/ipipe/kevents.c | 20 +-
kernel/cobalt/ipipe/syscall.c | 29 ++
kernel/cobalt/ipipe/tick.c | 278 ++++++++++++++++++
kernel/cobalt/posix/clock.c | 4 +-
kernel/cobalt/posix/corectl.c | 8 +-
kernel/cobalt/posix/process.c | 6 +-
kernel/cobalt/posix/process.h | 8 +-
kernel/cobalt/posix/syscall.c | 32 +-
kernel/cobalt/posix/syscall.h | 7 +
kernel/cobalt/registry.c | 2 +-
kernel/cobalt/rtdm/drvlib.c | 2 +-
kernel/cobalt/rtdm/fd.c | 14 +-
kernel/cobalt/sched.c | 16 +-
kernel/cobalt/thread.c | 6 +-
kernel/cobalt/timer.c | 272 +----------------
kernel/drivers/testing/timerbench.c | 12 +-
scripts/Kconfig.frag | 8 +-
48 files changed, 776 insertions(+), 607 deletions(-)
create mode 100644 include/cobalt/kernel/ipipe/pipeline/clock.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/lock.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/pipeline.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/thread.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/tick.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/trace.h
create mode 100644 include/cobalt/kernel/ipipe/pipeline/wrappers.h
rename kernel/cobalt/{ => ipipe}/apc.c (80%)
create mode 100644 kernel/cobalt/ipipe/syscall.c
create mode 100644 kernel/cobalt/ipipe/tick.c
--
2.26.2
More information about the Xenomai
mailing list