├── config ├── apirev ├── version-code ├── version-label └── Makefile.am ├── debian ├── compat ├── source │ └── format ├── libxenomai1.install ├── libxenomai-dev.dirs ├── xenomai.substvars ├── xenomai-testsuite.install ├── libxenomai1.dirs ├── xenomai-runtime.install ├── xenomai.postrm.debhelper ├── xenomai.postinst.debhelper ├── libxenomai1.postrm ├── libxenomai-dev.install ├── libxenomai1.modprobe ├── libxenomai-dev.lintian ├── libxenomai1.lintian ├── libxenomai1.postinst ├── libxenomai1.xenomai.init └── xenomai-kernel-source.README.Debian ├── scripts ├── dynlist.ld ├── bootstrap ├── xeno.in ├── histo.gp ├── Makefile.am └── make-release.sh ├── demo ├── Makefile.am ├── posix │ ├── Makefile.am │ └── cyclictest │ │ ├── README │ │ ├── error.h │ │ ├── Makefile.am │ │ └── rt-utils.h └── alchemy │ ├── cobalt │ └── Makefile.am │ └── Makefile.am ├── kernel ├── cobalt │ ├── include │ │ ├── linux │ │ │ └── stdarg.h │ │ ├── asm-generic │ │ │ └── xenomai │ │ │ │ ├── thread.h │ │ │ │ └── machine.h │ │ └── dovetail │ │ │ └── irq.h │ ├── udev │ │ ├── rtdm.rules │ │ └── 00-rtnet.rules │ ├── arch │ │ ├── arm │ │ │ ├── include │ │ │ │ └── asm │ │ │ │ │ └── xenomai │ │ │ │ │ ├── uapi │ │ │ │ │ ├── abirevision.h │ │ │ │ │ └── syscall.h │ │ │ │ │ ├── wrappers.h │ │ │ │ │ ├── features.h │ │ │ │ │ └── syscall32.h │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── arm64 │ │ │ ├── Makefile │ │ │ ├── Kconfig │ │ │ └── include │ │ │ │ └── asm │ │ │ │ └── xenomai │ │ │ │ ├── wrappers.h │ │ │ │ ├── features.h │ │ │ │ ├── uapi │ │ │ │ ├── abirevision.h │ │ │ │ └── syscall.h │ │ │ │ ├── fptest.h │ │ │ │ ├── thread.h │ │ │ │ ├── calibration.h │ │ │ │ └── machine.h │ │ └── x86 │ │ │ ├── Makefile │ │ │ ├── Kconfig │ │ │ └── include │ │ │ └── asm │ │ │ └── xenomai │ │ │ ├── c1e.h │ │ │ ├── wrappers.h │ │ │ ├── uapi │ │ │ └── syscall.h │ │ │ └── features.h │ ├── dovetail │ │ ├── Makefile │ │ ├── syscall.c │ │ └── init.c │ ├── rtdm │ │ └── Makefile │ ├── posix │ │ ├── gen-syscall-entries.sh │ │ └── Makefile │ ├── Makefile │ └── procfs.h └── drivers │ ├── autotune │ ├── Kconfig │ └── Makefile │ ├── net │ ├── Makefile │ ├── stack │ │ ├── ipv4 │ │ │ ├── udp │ │ │ │ ├── Makefile │ │ │ │ └── Kconfig │ │ │ ├── tcp │ │ │ │ ├── Makefile │ │ │ │ └── Kconfig │ │ │ └── Makefile │ │ ├── packet │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── rtmac │ │ │ ├── nomac │ │ │ │ ├── Makefile │ │ │ │ └── Kconfig │ │ │ ├── tdma │ │ │ │ ├── Makefile │ │ │ │ └── Kconfig │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── rtcfg │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── include │ │ │ ├── rtnet_checksum.h │ │ │ ├── INCLUDE.policy │ │ │ ├── corectl.h │ │ │ ├── ipv4 │ │ │ │ └── ip_sock.h │ │ │ └── rtcfg │ │ │ │ └── rtcfg_timer.h │ │ └── Makefile │ ├── drivers │ │ ├── experimental │ │ │ ├── rt2500 │ │ │ │ ├── Kconfig │ │ │ │ └── Makefile │ │ │ ├── Makefile │ │ │ ├── Kconfig │ │ │ └── e1000 │ │ │ │ └── Makefile │ │ ├── freescale │ │ │ └── Makefile │ │ ├── e1000 │ │ │ └── Makefile │ │ ├── e1000e │ │ │ └── Makefile │ │ ├── tulip │ │ │ └── Makefile │ │ ├── igb │ │ │ └── Makefile │ │ └── igc │ │ │ ├── Makefile │ │ │ ├── igc_nvm.h │ │ │ ├── igc_i225.h │ │ │ └── igc_phy.h │ ├── addons │ │ └── Makefile │ └── Kconfig │ ├── Makefile │ ├── udd │ ├── Makefile │ └── Kconfig │ ├── analogy │ ├── sensoray │ │ ├── Kconfig │ │ └── Makefile │ ├── testing │ │ ├── Makefile │ │ └── Kconfig │ ├── intel │ │ ├── Kconfig │ │ └── Makefile │ ├── Makefile │ └── national_instruments │ │ └── Makefile │ ├── gpiopwm │ ├── Makefile │ └── Kconfig │ ├── can │ ├── corectl.h │ ├── peak_canfd │ │ ├── Kconfig │ │ └── Makefile │ ├── c_can │ │ ├── Makefile │ │ └── Kconfig │ ├── Makefile │ ├── rtcan_ethtool.h │ ├── rtcan_version.h │ └── corectl.c │ ├── ipc │ └── Makefile │ ├── serial │ └── Makefile │ ├── testing │ ├── Makefile │ └── Kconfig │ ├── spi │ ├── Makefile │ └── Kconfig │ ├── gpio │ ├── gpio-bcm2711.c │ └── Makefile │ └── Kconfig ├── lib ├── cobalt │ ├── arch │ │ ├── arm │ │ │ ├── include │ │ │ │ ├── Makefile.am │ │ │ │ └── asm │ │ │ │ │ ├── Makefile.am │ │ │ │ │ └── xenomai │ │ │ │ │ ├── Makefile.am │ │ │ │ │ └── time.h │ │ │ └── Makefile.am │ │ ├── x86 │ │ │ ├── include │ │ │ │ ├── Makefile.am │ │ │ │ └── asm │ │ │ │ │ ├── Makefile.am │ │ │ │ │ └── xenomai │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── time.h │ │ │ │ │ └── features.h │ │ │ └── Makefile.am │ │ ├── arm64 │ │ │ ├── include │ │ │ │ ├── Makefile.am │ │ │ │ └── asm │ │ │ │ │ ├── Makefile.am │ │ │ │ │ └── xenomai │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── time.h │ │ │ │ │ └── features.h │ │ │ └── Makefile.am │ │ └── Makefile.am │ ├── modechk.wrappers │ ├── cobalt-glibc-time64.wrappers │ ├── umm.h │ ├── malloc-nowrap.c │ └── malloc.c ├── boilerplate │ ├── iniparser │ │ ├── README │ │ └── LICENSE │ ├── tlsf │ │ ├── README │ │ └── target.h │ └── init │ │ └── Makefile.am ├── mercury │ └── Makefile.am ├── smokey │ └── Makefile.am ├── Makefile.am ├── copperplate │ └── regd │ │ └── Makefile.am ├── trank │ └── Makefile.am ├── analogy │ └── Makefile.am ├── psos │ ├── Makefile.am │ ├── reference.h │ └── internal.h ├── alchemy │ ├── reference.h │ ├── timer.h │ └── Makefile.am └── vxworks │ ├── reference.h │ ├── intLib.c │ ├── tickLib.h │ ├── Makefile.am │ ├── rngLib.h │ ├── wdLib.h │ └── memPartLib.h ├── include ├── mercury │ ├── Makefile.am │ ├── boilerplate │ │ ├── Makefile.am │ │ ├── limits.h │ │ └── wrappers.h │ └── pthread.h ├── smokey │ └── Makefile.am ├── trank │ ├── posix │ │ └── Makefile.am │ ├── rtdm │ │ ├── Makefile.am │ │ ├── rtcan.h │ │ ├── rtipc.h │ │ ├── rtserial.h │ │ └── rttesting.h │ ├── Makefile.am │ └── native │ │ ├── Makefile.am │ │ ├── sem.h │ │ ├── cond.h │ │ ├── mutex.h │ │ ├── buffer.h │ │ ├── types.h │ │ ├── queue.h │ │ └── heap.h ├── cobalt │ ├── uapi │ │ ├── asm-generic │ │ │ └── Makefile.am │ │ ├── kernel │ │ │ ├── Makefile.am │ │ │ └── limits.h │ │ └── Makefile.am │ ├── boilerplate │ │ ├── Makefile.am │ │ ├── sched.h │ │ ├── trace.h │ │ ├── limits.h │ │ └── wrappers.h │ ├── sys │ │ └── Makefile.am │ ├── kernel │ │ ├── trace.h │ │ ├── rtdm │ │ │ ├── analogy │ │ │ │ └── Makefile.am │ │ │ ├── Makefile.am │ │ │ ├── gpiopwm.h │ │ │ ├── serial.h │ │ │ ├── autotune.h │ │ │ ├── ipc.h │ │ │ └── can.h │ │ ├── dovetail │ │ │ └── pipeline │ │ │ │ ├── tick.h │ │ │ │ ├── irq.h │ │ │ │ ├── thread.h │ │ │ │ ├── lock.h │ │ │ │ ├── kevents.h │ │ │ │ └── machine.h │ │ └── Makefile.am │ └── Makefile.am ├── psos │ └── Makefile.am ├── xenomai │ ├── Makefile.am │ └── tunables.h ├── alchemy │ ├── Makefile.am │ └── compat.h ├── rtdm │ ├── uapi │ │ └── Makefile.am │ ├── Makefile.am │ ├── spi.h │ ├── gpio.h │ ├── gpiopwm.h │ ├── ipc.h │ ├── udd.h │ └── autotune.h ├── vxworks │ └── Makefile.am ├── copperplate │ └── Makefile.am ├── boilerplate │ └── Makefile.am └── Makefile.am ├── doc ├── Makefile.am ├── asciidoc │ ├── plaintext.xsl │ ├── plaintext.conf │ ├── plaintext_postproc.awk │ ├── man1 │ │ └── xeno.adoc │ └── TROUBLESHOOTING.MERCURY.adoc └── doxygen │ └── Makefile.am ├── utils ├── Makefile.am ├── ps │ └── Makefile.am ├── slackspot │ └── Makefile.am ├── chkkconf │ └── Makefile.am ├── net │ ├── Makefile.am │ └── tdma.conf ├── hdb │ └── Makefile.am ├── autotune │ └── Makefile.am ├── corectl │ └── Makefile.am └── can │ └── Makefile.am ├── testsuite ├── smokey │ ├── can │ │ └── Makefile.am │ ├── tsc │ │ └── Makefile.am │ ├── x86io │ │ └── Makefile.am │ ├── fpu-stress │ │ └── Makefile.am │ ├── memcheck │ │ └── Makefile.am │ ├── sched-quota │ │ └── Makefile.am │ ├── arith │ │ ├── Makefile.am │ │ ├── arith-noinline.h │ │ └── arith-noinline.c │ ├── setsched │ │ └── Makefile.am │ ├── posix-cond │ │ └── Makefile.am │ ├── bufp │ │ └── Makefile.am │ ├── iddp │ │ └── Makefile.am │ ├── posix-clock │ │ └── Makefile.am │ ├── posix-mutex │ │ └── Makefile.am │ ├── rtdm │ │ └── Makefile.am │ ├── xddp │ │ └── Makefile.am │ ├── cpu-affinity │ │ └── Makefile.am │ ├── leaks │ │ └── Makefile.am │ ├── memory-heapmem │ │ └── Makefile.am │ ├── memory-coreheap │ │ └── Makefile.am │ ├── memory-pshared │ │ └── Makefile.am │ ├── timerfd │ │ └── Makefile.am │ ├── sched-tp │ │ └── Makefile.am │ ├── sigdebug │ │ └── Makefile.am │ ├── gdb │ │ └── Makefile.am │ ├── memory-tlsf │ │ └── Makefile.am │ ├── posix-select │ │ └── Makefile.am │ ├── net_udp │ │ └── Makefile.am │ ├── y2038 │ │ └── Makefile.am │ ├── net_packet_raw │ │ └── Makefile.am │ ├── posix-fork │ │ ├── Makefile.am │ │ └── posix-fork.c │ ├── net_packet_dgram │ │ └── Makefile.am │ ├── net_common │ │ ├── Makefile.am │ │ └── smokey_net_server.h │ ├── alchemytests │ │ └── task-1.c │ ├── psostests │ │ ├── tm-7.c │ │ ├── task-1.c │ │ ├── tm-1.c │ │ ├── tm-6.c │ │ └── task-3.c │ └── vxworkstests │ │ └── vxworkstests.c ├── Makefile.am ├── xeno-test │ ├── xeno-test-run-wrapper │ └── Makefile.am ├── latency │ └── Makefile.am ├── gpiobench │ └── Makefile.am ├── switchtest │ └── Makefile.am ├── clocktest │ └── Makefile.am ├── spitest │ └── Makefile.am └── gpiotest │ └── Makefile.am ├── tracing ├── Makefile.am ├── libtraceevent │ └── Makefile.am └── kernelshark │ └── Makefile.am └── .gitignore /config/apirev: -------------------------------------------------------------------------------- 1 | 15 2 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /config/version-code: -------------------------------------------------------------------------------- 1 | 3.3 2 | -------------------------------------------------------------------------------- /config/version-label: -------------------------------------------------------------------------------- 1 | 3.3 2 | -------------------------------------------------------------------------------- /debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /scripts/dynlist.ld: -------------------------------------------------------------------------------- 1 | { 2 | main; 3 | }; 4 | -------------------------------------------------------------------------------- /debian/libxenomai1.install: -------------------------------------------------------------------------------- 1 | usr/lib/*.so.* 2 | -------------------------------------------------------------------------------- /demo/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = posix alchemy 3 | -------------------------------------------------------------------------------- /debian/libxenomai-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/share/lintian/overrides 2 | -------------------------------------------------------------------------------- /scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | autoreconf -fi 4 | -------------------------------------------------------------------------------- /kernel/cobalt/include/linux/stdarg.h: -------------------------------------------------------------------------------- 1 | #include 2 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm/include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = asm 3 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = asm 3 | -------------------------------------------------------------------------------- /lib/cobalt/modechk.wrappers: -------------------------------------------------------------------------------- 1 | --wrap malloc 2 | --wrap free 3 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = asm 3 | -------------------------------------------------------------------------------- /debian/xenomai.substvars: -------------------------------------------------------------------------------- 1 | shlibs:Depends=libc6 (>= 2.7-1), xenomai 2 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm/include/asm/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = xenomai 3 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/include/asm/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = xenomai 3 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/include/asm/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = xenomai 3 | -------------------------------------------------------------------------------- /lib/boilerplate/iniparser/README: -------------------------------------------------------------------------------- 1 | See http://ndevilla.free.fr/iniparser/ 2 | -------------------------------------------------------------------------------- /kernel/drivers/autotune/Kconfig: -------------------------------------------------------------------------------- 1 | 2 | config XENO_DRIVERS_AUTOTUNE 3 | tristate 4 | -------------------------------------------------------------------------------- /debian/xenomai-testsuite.install: -------------------------------------------------------------------------------- 1 | usr/bin/xeno-test 2 | usr/lib/xenomai/testsuite 3 | -------------------------------------------------------------------------------- /kernel/drivers/net/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_XENO_DRIVERS_NET) += stack/ drivers/ addons/ 2 | -------------------------------------------------------------------------------- /debian/libxenomai1.dirs: -------------------------------------------------------------------------------- 1 | etc/modprobe.d 2 | etc/udev/rules.d 3 | usr/share/lintian/overrides 4 | -------------------------------------------------------------------------------- /include/mercury/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = boilerplate 3 | 4 | noinst_HEADERS = pthread.h 5 | -------------------------------------------------------------------------------- /lib/cobalt/arch/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = @XENO_TARGET_ARCH@ 3 | 4 | DIST_SUBDIRS = arm arm64 x86 5 | -------------------------------------------------------------------------------- /include/smokey/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/smokey 2 | 3 | includesub_HEADERS = smokey.h 4 | -------------------------------------------------------------------------------- /kernel/cobalt/udev/rtdm.rules: -------------------------------------------------------------------------------- 1 | # Xenomai real-time devices 2 | SUBSYSTEM=="rtdm", MODE="0660", GROUP="xenomai" 3 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm/include/asm/xenomai/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | features.h \ 4 | syscall.h 5 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/include/asm/xenomai/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | features.h \ 4 | syscall.h 5 | -------------------------------------------------------------------------------- /include/trank/posix/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/trank/posix 2 | 3 | includesub_HEADERS = pthread.h 4 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/include/asm/xenomai/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | features.h \ 4 | syscall.h 5 | -------------------------------------------------------------------------------- /include/cobalt/uapi/asm-generic/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | arith.h \ 4 | features.h \ 5 | syscall.h 6 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/include/asm/xenomai/uapi/abirevision.h: -------------------------------------------------------------------------------- 1 | ../../../../../arm64/include/asm/xenomai/uapi/abirevision.h -------------------------------------------------------------------------------- /lib/boilerplate/tlsf/README: -------------------------------------------------------------------------------- 1 | This is TLSF 2.4.6 2 | ================== 3 | 4 | See http://rtportal.upv.es/rtmalloc/ 5 | -------------------------------------------------------------------------------- /include/psos/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/psos 2 | 3 | includesub_HEADERS = \ 4 | psos.h \ 5 | tunables.h 6 | -------------------------------------------------------------------------------- /kernel/drivers/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_XENOMAI) += autotune/ serial/ testing/ can/ net/ analogy/ ipc/ udd/ gpio/ gpiopwm/ spi/ 2 | -------------------------------------------------------------------------------- /doc/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS=gitdoc doxygen asciidoc 2 | 3 | gitdoc doxygen asciidoc: FORCE 4 | $(MAKE) -C $@ 5 | 6 | .PHONY: FORCE 7 | -------------------------------------------------------------------------------- /kernel/drivers/autotune/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENO_DRIVERS_AUTOTUNE) += xeno_autotune.o 3 | 4 | xeno_autotune-y := autotune.o 5 | -------------------------------------------------------------------------------- /kernel/drivers/udd/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/kernel 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_UDD) += xeno_udd.o 4 | 5 | xeno_udd-y := udd.o 6 | -------------------------------------------------------------------------------- /demo/posix/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = cyclictest 3 | 4 | if XENO_COBALT 5 | SUBDIRS += cobalt 6 | endif 7 | 8 | DIST_SUBDIRS = cyclictest cobalt 9 | -------------------------------------------------------------------------------- /include/xenomai/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/xenomai 2 | 3 | includesub_HEADERS = \ 4 | init.h \ 5 | tunables.h \ 6 | version.h 7 | -------------------------------------------------------------------------------- /kernel/cobalt/udev/00-rtnet.rules: -------------------------------------------------------------------------------- 1 | # Don't let udev mess with our special network names 2 | KERNEL=="vnic*|rteth*|rtlo", NAME="$env{INTERFACE_NAME}" 3 | -------------------------------------------------------------------------------- /utils/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = hdb 2 | if XENO_COBALT 3 | SUBDIRS += analogy autotune can net ps slackspot corectl 4 | endif 5 | SUBDIRS += chkkconf 6 | -------------------------------------------------------------------------------- /config/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST= \ 2 | acinclude.m4 \ 3 | docbook.m4 \ 4 | apirev \ 5 | version-label \ 6 | version-code \ 7 | ac_prog_cc_for_build.m4 8 | -------------------------------------------------------------------------------- /debian/xenomai-runtime.install: -------------------------------------------------------------------------------- 1 | usr/bin/cmd_* 2 | usr/bin/insn_* 3 | usr/bin/rtcan* 4 | usr/bin/wf_generate 5 | usr/bin/wrap-link.sh 6 | usr/bin/xeno 7 | usr/sbin 8 | -------------------------------------------------------------------------------- /debian/xenomai.postrm.debhelper: -------------------------------------------------------------------------------- 1 | # Automatically added by dh_makeshlibs 2 | if [ "$1" = "remove" ]; then 3 | ldconfig 4 | fi 5 | # End automatically added section 6 | -------------------------------------------------------------------------------- /utils/ps/Makefile.am: -------------------------------------------------------------------------------- 1 | sbin_PROGRAMS = rtps 2 | 3 | AM_CPPFLAGS = \ 4 | @XENO_USER_CFLAGS@ \ 5 | -I$(top_srcdir)/include 6 | 7 | rtps_SOURCES = rtps.c 8 | -------------------------------------------------------------------------------- /debian/xenomai.postinst.debhelper: -------------------------------------------------------------------------------- 1 | # Automatically added by dh_makeshlibs 2 | if [ "$1" = "configure" ]; then 3 | ldconfig 4 | fi 5 | # End automatically added section 6 | -------------------------------------------------------------------------------- /kernel/cobalt/dovetail/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/kernel 2 | 3 | obj-y += pipeline.o 4 | 5 | pipeline-y := init.o kevents.o sched.o tick.o syscall.o intr.o 6 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/sensoray/Kconfig: -------------------------------------------------------------------------------- 1 | 2 | config XENO_DRIVERS_ANALOGY_S526 3 | depends on XENO_DRIVERS_ANALOGY 4 | tristate "Sensoray Model 526 driver" 5 | default n 6 | -------------------------------------------------------------------------------- /include/trank/rtdm/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/trank/rtdm 2 | 3 | includesub_HEADERS = \ 4 | rtcan.h \ 5 | rtdm.h \ 6 | rtipc.h \ 7 | rtserial.h \ 8 | rttesting.h 9 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENOMAI) += xenomai.o 3 | xenomai-y := machine.o 4 | 5 | ccflags-y := -I$(srctree)/arch/arm/xenomai/include -I$(srctree)/include/xenomai 6 | -------------------------------------------------------------------------------- /testsuite/smokey/can/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libcan.a 2 | 3 | libcan_a_SOURCES = \ 4 | can.c 5 | 6 | libcan_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/include 9 | -------------------------------------------------------------------------------- /testsuite/smokey/tsc/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libtsc.a 3 | 4 | libtsc_a_SOURCES = tsc.c 5 | 6 | libtsc_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/include 9 | -------------------------------------------------------------------------------- /utils/slackspot/Makefile.am: -------------------------------------------------------------------------------- 1 | sbin_PROGRAMS = slackspot 2 | 3 | AM_CPPFLAGS = \ 4 | @XENO_USER_CFLAGS_STDLIB@ \ 5 | -I$(top_srcdir)/include 6 | 7 | slackspot_SOURCES = slackspot.c 8 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_XENOMAI) += xenomai.o 2 | 3 | xenomai-y := machine.o 4 | 5 | ccflags-y := -I$(srctree)/arch/arm64/xenomai/include -I$(srctree)/include/xenomai 6 | -------------------------------------------------------------------------------- /kernel/drivers/gpiopwm/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/kernel -I$(srctree)/include/xenomai/ 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_GPIOPWM) += xeno_gpiopwm.o 4 | 5 | xeno_gpiopwm-y := gpiopwm.o 6 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/ipv4/udp/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4_UDP) += rtudp.o 4 | 5 | rtudp-y := udp.o 6 | -------------------------------------------------------------------------------- /testsuite/smokey/x86io/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libx86io.a 2 | 3 | libx86io_a_SOURCES = x86io.c 4 | 5 | libx86io_a_CPPFLAGS = \ 6 | @XENO_USER_CFLAGS@ \ 7 | -I$(top_srcdir)/include 8 | -------------------------------------------------------------------------------- /include/cobalt/boilerplate/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/cobalt/boilerplate 2 | 3 | includesub_HEADERS = \ 4 | sched.h \ 5 | limits.h \ 6 | signal.h \ 7 | trace.h \ 8 | wrappers.h 9 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENOMAI) += xenomai.o 3 | xenomai-y := machine.o smi.o c1e.o 4 | 5 | ccflags-y := -I$(srctree)/arch/x86/xenomai/include -I$(srctree)/include/xenomai 6 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/sensoray/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/analogy 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_S526) += analogy_s526.o 5 | 6 | analogy_s526-y := s526.o 7 | -------------------------------------------------------------------------------- /kernel/drivers/gpiopwm/Kconfig: -------------------------------------------------------------------------------- 1 | menu "GPIOPWM support" 2 | 3 | config XENO_DRIVERS_GPIOPWM 4 | tristate "GPIOPWM driver" 5 | help 6 | An RTDM-based GPIO PWM generator driver 7 | 8 | endmenu 9 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/experimental/rt2500/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_DRV_RT2500 2 | depends on XENO_DRIVERS_NET && PCI 3 | tristate "Ralink 2500 WLAN" 4 | select XENO_DRIVERS_NET_RTWLAN 5 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/packet/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTPACKET) += rtpacket.o 4 | 5 | rtpacket-y := af_packet.o 6 | -------------------------------------------------------------------------------- /include/mercury/boilerplate/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/mercury/boilerplate 2 | 3 | includesub_HEADERS = \ 4 | sched.h \ 5 | limits.h \ 6 | signal.h \ 7 | trace.h \ 8 | wrappers.h 9 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_ARCH_FPU 2 | def_bool y 3 | 4 | config XENO_ARCH_SYS3264 5 | def_bool IA32_EMULATION 6 | 7 | source "kernel/xenomai/Kconfig" 8 | source "drivers/xenomai/Kconfig" 9 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/freescale/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_FEC) += rtnet_fec.o 4 | 5 | rtnet_fec-y := fec_main.o fec_ptp.o 6 | -------------------------------------------------------------------------------- /demo/posix/cyclictest/README: -------------------------------------------------------------------------------- 1 | 2 | This is the original cyclictest program from the PREEMPT-RT test 3 | suite as of version 0.92. 4 | 5 | See git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git 6 | -------------------------------------------------------------------------------- /debian/libxenomai1.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | case "$1" in 4 | purge | remove) 5 | [ ! -L /etc/udev/rules.d/xenomai.rules ] || rm /etc/udev/rules.d/xenomai.rules 6 | ;; 7 | esac 8 | 9 | #DEBHELPER# 10 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/ipv4/tcp/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4_TCP) += rttcp.o 4 | 5 | rttcp-y := \ 6 | tcp.o \ 7 | timerwheel.o 8 | -------------------------------------------------------------------------------- /include/cobalt/sys/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/cobalt/sys 2 | 3 | includesub_HEADERS = \ 4 | cobalt.h \ 5 | ioctl.h \ 6 | mman.h \ 7 | select.h \ 8 | socket.h \ 9 | time.h \ 10 | timerfd.h 11 | -------------------------------------------------------------------------------- /kernel/cobalt/rtdm/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENOMAI) += xenomai.o 3 | 4 | xenomai-y := core.o \ 5 | device.o \ 6 | drvlib.o \ 7 | fd.o 8 | 9 | ccflags-y += -I$(srctree)/kernel/xenomai -I$(srctree)/kernel 10 | -------------------------------------------------------------------------------- /testsuite/smokey/fpu-stress/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libfpu-stress.a 3 | 4 | libfpu_stress_a_SOURCES = fpu-stress.c 5 | 6 | libfpu_stress_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/include 9 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/testing/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/analogy 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_FAKE) += analogy_fake.o 5 | 6 | analogy_fake-y := fake.o 7 | 8 | analogy_loop-y := loop.o 9 | -------------------------------------------------------------------------------- /kernel/drivers/can/corectl.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only 2 | /* 3 | * Copyright 2021, Dario Binacchi 4 | */ 5 | 6 | void rtcan_corectl_register(void); 7 | void rtcan_corectl_unregister(void); 8 | -------------------------------------------------------------------------------- /testsuite/smokey/memcheck/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libmemcheck.a 2 | noinst_HEADERS = memcheck.h 3 | 4 | AM_CPPFLAGS = \ 5 | @XENO_USER_CFLAGS@ \ 6 | -I$(top_srcdir)/include 7 | 8 | libmemcheck_a_SOURCES = memcheck.c 9 | -------------------------------------------------------------------------------- /testsuite/smokey/sched-quota/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libsched-quota.a 3 | 4 | libsched_quota_a_SOURCES = sched-quota.c 5 | 6 | libsched_quota_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/include 9 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/experimental/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_RT2500) += rt2500/ 4 | 5 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_E1000_NEW) += e1000/ 6 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/ipv4/udp/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_RTIPV4_UDP 2 | tristate "UDP support" 3 | depends on XENO_DRIVERS_NET_RTIPV4 4 | default y 5 | help 6 | Enables UDP support of the RTnet Real-Time IPv4 protocol. 7 | -------------------------------------------------------------------------------- /testsuite/smokey/arith/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libarith.a 3 | 4 | libarith_a_SOURCES = arith.c arith-noinline.c arith-noinline.h 5 | 6 | libarith_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/include 9 | -------------------------------------------------------------------------------- /include/cobalt/uapi/kernel/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/cobalt/uapi/kernel 2 | 3 | includesub_HEADERS = \ 4 | heap.h \ 5 | limits.h \ 6 | pipe.h \ 7 | synch.h \ 8 | thread.h \ 9 | trace.h \ 10 | types.h 11 | -------------------------------------------------------------------------------- /include/cobalt/kernel/trace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | */ 4 | 5 | #ifndef _COBALT_KERNEL_TRACE_H 6 | #define _COBALT_KERNEL_TRACE_H 7 | 8 | #include 9 | 10 | #endif /* !_COBALT_KERNEL_TRACE_H */ 11 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/e1000/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_E1000) += rt_e1000.o 4 | 5 | rt_e1000-y := \ 6 | e1000_hw.o \ 7 | e1000_main.o \ 8 | e1000_param.o 9 | -------------------------------------------------------------------------------- /testsuite/smokey/setsched/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libsetsched.a 3 | 4 | libsetsched_a_SOURCES = setsched.c 5 | 6 | libsetsched_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /include/trank/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/trank 2 | 3 | includesub_HEADERS = trank.h 4 | 5 | if XENO_COBALT 6 | includesub_HEADERS += rtdk.h 7 | SUBDIRS = posix native rtdm 8 | endif 9 | 10 | DIST_SUBDIRS = posix native rtdm 11 | -------------------------------------------------------------------------------- /tracing/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 2 | 3 | if XENO_KSHARK_PLUGIN 4 | SUBDIRS += kernelshark 5 | endif 6 | 7 | if XENO_LIBTRACEEVENT_PLUGIN 8 | SUBDIRS += libtraceevent 9 | endif 10 | 11 | DIST_SUBDIRS = \ 12 | kernelshark \ 13 | libtraceevent 14 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-cond/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libposix-cond.a 3 | 4 | libposix_cond_a_SOURCES = posix-cond.c 5 | 6 | libposix_cond_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/bufp/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libbufp.a 3 | 4 | libbufp_a_SOURCES = bufp.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libbufp_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/iddp/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libiddp.a 3 | 4 | libiddp_a_SOURCES = iddp.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libiddp_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-clock/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libposix-clock.a 3 | 4 | libposix_clock_a_SOURCES = posix-clock.c 5 | 6 | libposix_clock_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-mutex/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libposix-mutex.a 3 | 4 | libposix_mutex_a_SOURCES = posix-mutex.c 5 | 6 | libposix_mutex_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/rtdm/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = librtdm.a 3 | 4 | librtdm_a_SOURCES = rtdm.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | librtdm_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/xddp/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libxddp.a 3 | 4 | libxddp_a_SOURCES = xddp.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libxddp_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/analogy/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | buffer.h \ 4 | channel_range.h \ 5 | command.h \ 6 | context.h \ 7 | device.h \ 8 | driver.h \ 9 | instruction.h \ 10 | rtdm_helpers.h \ 11 | subdevice.h \ 12 | transfer.h 13 | -------------------------------------------------------------------------------- /testsuite/smokey/cpu-affinity/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libcpu-affinity.a 3 | 4 | libcpu_affinity_a_SOURCES = cpu-affinity.c 5 | 6 | libcpu_affinity_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/leaks/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libleaks.a 3 | 4 | libleaks_a_SOURCES = leaks.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libleaks_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/memory-heapmem/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libmemory-heapmem.a 3 | 4 | libmemory_heapmem_a_SOURCES = heapmem.c 5 | 6 | libmemory_heapmem_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/.. \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/memory-coreheap/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libmemory-coreheap.a 3 | 4 | libmemory_coreheap_a_SOURCES = coreheap.c 5 | 6 | libmemory_coreheap_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/.. \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/memory-pshared/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libmemory-pshared.a 3 | 4 | libmemory_pshared_a_SOURCES = pshared.c 5 | 6 | libmemory_pshared_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/.. \ 9 | -I$(top_srcdir)/include 10 | -------------------------------------------------------------------------------- /testsuite/smokey/timerfd/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libtimerfd.a 3 | 4 | libtimerfd_a_SOURCES = timerfd.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libtimerfd_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /doc/asciidoc/plaintext.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/experimental/rt2500/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_RT2500) += rt_rt2x00core.o rt_rt2500pci.o 4 | 5 | rt_rt2x00core-y := rt2x00core.o 6 | rt_rt2500pci-y := rt2500pci.o 7 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/nomac/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_NOMAC) += nomac.o 4 | 5 | nomac-y := \ 6 | nomac_dev.o \ 7 | nomac_ioctl.o \ 8 | nomac_module.o \ 9 | nomac_proto.o 10 | -------------------------------------------------------------------------------- /testsuite/smokey/sched-tp/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libsched-tp.a 3 | 4 | libsched_tp_a_SOURCES = sched-tp.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libsched_tp_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /debian/libxenomai-dev.install: -------------------------------------------------------------------------------- 1 | usr/bin/xeno-config 2 | usr/include 3 | usr/lib/*.la 4 | usr/lib/*.a 5 | usr/lib/*.so 6 | usr/lib/modechk.wrappers 7 | usr/lib/cobalt.wrappers 8 | usr/lib/cobalt-glibc-time64.wrappers 9 | usr/lib/dynlist.ld 10 | usr/lib/xenomai/bootstrap*.o 11 | -------------------------------------------------------------------------------- /testsuite/smokey/sigdebug/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libsigdebug.a 3 | 4 | libsigdebug_a_SOURCES = sigdebug.c 5 | 6 | #CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libsigdebug_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /utils/chkkconf/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | data_DATA = kconf-checklist 3 | 4 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 5 | 6 | sbin_PROGRAMS = chkkconf 7 | 8 | chkkconf_SOURCES = checkconfig.c 9 | 10 | chkkconf_CPPFLAGS = \ 11 | -DDATADIR=\"$(datadir)\" -D_GNU_SOURCE 12 | -------------------------------------------------------------------------------- /kernel/drivers/can/peak_canfd/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_CAN_PEAK_CANFD 2 | depends on XENO_DRIVERS_CAN && PCI && !XENO_DRIVERS_CAN_CALC_BITTIME_OLD 3 | tristate "PEAK driver for PCAN-PCIe FD family" 4 | help 5 | This driver supports the PCAN-PCIe FD boards family from PEAK-System. 6 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/tdma/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_TDMA) += tdma.o 4 | 5 | tdma-y := \ 6 | tdma_dev.o \ 7 | tdma_ioctl.o \ 8 | tdma_module.o \ 9 | tdma_proto.o \ 10 | tdma_worker.o 11 | -------------------------------------------------------------------------------- /debian/libxenomai1.modprobe: -------------------------------------------------------------------------------- 1 | install xeno_nucleus /sbin/modprobe --ignore-install xeno_nucleus $CMDLINE_OPTS \ 2 | $(/usr/bin/test $(/bin/echo -n '$CMDLINE_OPTS' | /bin/grep allowed_group) \ 3 | || /usr/bin/getent group xenomai | /usr/bin/cut -d: -f3 | /bin/sed -e 's/^/allowed_group\=/') 4 | -------------------------------------------------------------------------------- /kernel/drivers/net/addons/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_ADDON_RTCAP) += rtcap.o 4 | 5 | rtcap-y := cap.o 6 | 7 | obj-$(CONFIG_XENO_DRIVERS_NET_ADDON_PROXY) += rtnetproxy.o 8 | 9 | rtnetproxy-y := proxy.o 10 | -------------------------------------------------------------------------------- /kernel/drivers/udd/Kconfig: -------------------------------------------------------------------------------- 1 | menu "UDD support" 2 | 3 | config XENO_DRIVERS_UDD 4 | tristate "User-space device driver framework" 5 | help 6 | A RTDM-based driver for enabling interrupt control and I/O 7 | memory access interfaces to user-space device drivers. 8 | 9 | endmenu 10 | -------------------------------------------------------------------------------- /lib/mercury/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libmercury.la 2 | 3 | libmercury_la_SOURCES = 4 | 5 | libmercury_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 -lpthread -lrt 6 | 7 | libmercury_la_LIBADD = \ 8 | ../boilerplate/libboilerplate.la 9 | 10 | AM_LIBTOOLFLAGS = --silent 11 | -------------------------------------------------------------------------------- /include/alchemy/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/alchemy 2 | 3 | includesub_HEADERS = \ 4 | alarm.h \ 5 | buffer.h \ 6 | compat.h \ 7 | cond.h \ 8 | event.h \ 9 | heap.h \ 10 | mutex.h \ 11 | pipe.h \ 12 | queue.h \ 13 | sem.h \ 14 | task.h \ 15 | timer.h 16 | -------------------------------------------------------------------------------- /kernel/drivers/ipc/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENO_DRIVERS_RTIPC) += xeno_rtipc.o 3 | 4 | xeno_rtipc-y := rtipc.o 5 | 6 | xeno_rtipc-$(CONFIG_XENO_DRIVERS_RTIPC_XDDP) += xddp.o 7 | xeno_rtipc-$(CONFIG_XENO_DRIVERS_RTIPC_IDDP) += iddp.o 8 | xeno_rtipc-$(CONFIG_XENO_DRIVERS_RTIPC_BUFP) += bufp.o 9 | -------------------------------------------------------------------------------- /testsuite/smokey/gdb/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libgdb.a 3 | 4 | libgdb_a_SOURCES = gdb.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libgdb_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir) \ 11 | -I$(top_srcdir)/include \ 12 | -g -O0 13 | -------------------------------------------------------------------------------- /testsuite/smokey/memory-tlsf/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libmemory-tlsf.a 3 | 4 | libmemory_tlsf_a_SOURCES = tlsf.c 5 | 6 | libmemory_tlsf_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(top_srcdir)/lib/boilerplate \ 9 | -I$(srcdir)/.. \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-select/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libposix-select.a 3 | 4 | libposix_select_a_SOURCES = posix-select.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libposix_select_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -I$(top_srcdir)/include 11 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | autotune.h \ 4 | can.h \ 5 | cobalt.h \ 6 | compat.h \ 7 | driver.h \ 8 | fd.h \ 9 | gpio.h \ 10 | ipc.h \ 11 | net.h \ 12 | rtdm.h \ 13 | serial.h \ 14 | testing.h \ 15 | udd.h 16 | 17 | SUBDIRS = analogy 18 | -------------------------------------------------------------------------------- /testsuite/smokey/net_udp/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libnet_udp.a 2 | 3 | libnet_udp_a_SOURCES = \ 4 | udp.c 5 | 6 | libnet_udp_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/../net_common \ 9 | -I$(top_srcdir)/include \ 10 | -I$(top_srcdir)/kernel/drivers/net/stack/include 11 | -------------------------------------------------------------------------------- /kernel/drivers/can/peak_canfd/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the PEAK-System CAN-FD IP module drivers 3 | # 4 | ccflags-y += -I$(srctree)/drivers/xenomai/can 5 | 6 | obj-$(CONFIG_XENO_DRIVERS_CAN_PEAK_CANFD) += xeno_can_peak_pciefd.o 7 | 8 | xeno_can_peak_pciefd-y := rtcan_peak_pciefd.o rtcan_peak_canfd.o 9 | -------------------------------------------------------------------------------- /testsuite/smokey/y2038/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = liby2038.a 3 | 4 | liby2038_a_SOURCES = syscall-tests.c 5 | 6 | liby2038_a_CPPFLAGS = \ 7 | @XENO_COBALT_CFLAGS@ \ 8 | -I$(top_srcdir) \ 9 | -I$(top_srcdir)/include \ 10 | -I$(top_srcdir)/lib/cobalt/arch/@XENO_TARGET_ARCH@/include 11 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/Kconfig: -------------------------------------------------------------------------------- 1 | source "kernel/xenomai/Kconfig" 2 | source "drivers/xenomai/Kconfig" 3 | 4 | config XENO_ARCH_FPU 5 | def_bool y 6 | 7 | config XENO_ARCH_SYS3264 8 | def_bool COMPAT 9 | depends on COMPAT_VDSO 10 | 11 | config XENO_ARCH_OUTOFLINE_XNLOCK 12 | bool 13 | default y 14 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/intel/Kconfig: -------------------------------------------------------------------------------- 1 | 2 | config XENO_DRIVERS_ANALOGY_8255 3 | depends on XENO_DRIVERS_ANALOGY 4 | tristate "8255 driver" 5 | default n 6 | 7 | config XENO_DRIVERS_ANALOGY_PARPORT 8 | depends on XENO_DRIVERS_ANALOGY && X86 9 | tristate "Standard parallel port driver" 10 | default n 11 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/intel/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/analogy 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_8255) += analogy_8255.o 5 | 6 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_PARPORT) += analogy_parport.o 7 | 8 | analogy_8255-y := 8255.o 9 | 10 | analogy_parport-y := parport.o 11 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/e1000e/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_E1000E) += rt_e1000e.o 4 | 5 | rt_e1000e-y := \ 6 | 82571.o \ 7 | 80003es2lan.o \ 8 | ich8lan.o \ 9 | lib.o \ 10 | netdev.o \ 11 | param.o \ 12 | phy.o 13 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/tulip/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_TULIP) += rt_tulip.o 4 | 5 | rt_tulip-y := \ 6 | tulip_core.o \ 7 | eeprom.o \ 8 | interrupt.o \ 9 | media.o \ 10 | 21142.o \ 11 | pnic.o \ 12 | pnic2.o 13 | -------------------------------------------------------------------------------- /include/trank/native/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/trank/native 2 | 3 | includesub_HEADERS = \ 4 | alarm.h \ 5 | buffer.h \ 6 | cond.h \ 7 | event.h \ 8 | heap.h \ 9 | misc.h \ 10 | mutex.h \ 11 | pipe.h \ 12 | queue.h \ 13 | sem.h \ 14 | task.h \ 15 | timer.h \ 16 | types.h 17 | -------------------------------------------------------------------------------- /kernel/drivers/serial/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENO_DRIVERS_16550A) += xeno_16550A.o 3 | obj-$(CONFIG_XENO_DRIVERS_MPC52XX_UART) += xeno_mpc52xx_uart.o 4 | obj-$(CONFIG_XENO_DRIVERS_IMX_UART) += xeno_imx_uart.o 5 | 6 | xeno_16550A-y := 16550A.o 7 | xeno_mpc52xx_uart-y := mpc52xx_uart.o 8 | xeno_imx_uart-y := rt_imx_uart.o 9 | -------------------------------------------------------------------------------- /testsuite/smokey/net_packet_raw/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libnet_packet_raw.a 2 | 3 | libnet_packet_raw_a_SOURCES = \ 4 | packet_raw.c 5 | 6 | libnet_packet_raw_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/../net_common \ 9 | -I$(top_srcdir)/include \ 10 | -I$(top_srcdir)/kernel/drivers/net/stack/include 11 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-fork/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_LIBRARIES = libposix-fork.a 3 | 4 | libposix_fork_a_SOURCES = posix-fork.c 5 | 6 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 7 | 8 | libposix_fork_a_CPPFLAGS = \ 9 | @XENO_USER_CFLAGS@ \ 10 | -DXENO_TEST_DIR='"$(XENO_TEST_DIR)"' \ 11 | -I$(top_srcdir)/include 12 | -------------------------------------------------------------------------------- /testsuite/smokey/net_packet_dgram/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libnet_packet_dgram.a 2 | 3 | libnet_packet_dgram_a_SOURCES = \ 4 | packet_dgram.c 5 | 6 | libnet_packet_dgram_a_CPPFLAGS = \ 7 | @XENO_USER_CFLAGS@ \ 8 | -I$(srcdir)/../net_common \ 9 | -I$(top_srcdir)/include \ 10 | -I$(top_srcdir)/kernel/drivers/net/stack/include 11 | -------------------------------------------------------------------------------- /utils/net/Makefile.am: -------------------------------------------------------------------------------- 1 | nodist_sysconf_DATA = rtnet.conf 2 | 3 | dist_sysconf_DATA = tdma.conf 4 | 5 | AM_CPPFLAGS = -I$(top_srcdir)/kernel/drivers/net/stack/include 6 | 7 | sbin_SCRIPTS = rtnet 8 | 9 | sbin_PROGRAMS = \ 10 | nomaccfg \ 11 | rtcfg \ 12 | rtifconfig \ 13 | rtiwconfig \ 14 | rtping \ 15 | rtroute \ 16 | tdmacfg 17 | -------------------------------------------------------------------------------- /include/rtdm/uapi/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/rtdm/uapi 2 | 3 | includesub_HEADERS = rtdm.h 4 | 5 | if XENO_COBALT 6 | includesub_HEADERS += \ 7 | analogy.h \ 8 | autotune.h \ 9 | can.h \ 10 | gpio.h \ 11 | gpiopwm.h \ 12 | ipc.h \ 13 | net.h \ 14 | serial.h \ 15 | spi.h \ 16 | testing.h \ 17 | udd.h 18 | endif 19 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libarch.la 2 | 3 | libarch_la_LDFLAGS = @XENO_LIB_LDFLAGS@ 4 | 5 | libarch_la_SOURCES = features.c 6 | 7 | libarch_la_CPPFLAGS = \ 8 | @XENO_COBALT_CFLAGS@ \ 9 | -I$(srcdir)/../.. \ 10 | -I$(top_srcdir)/include/cobalt \ 11 | -I$(top_srcdir)/include 12 | 13 | SUBDIRS = include 14 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libarch.la 2 | 3 | libarch_la_LDFLAGS = @XENO_LIB_LDFLAGS@ 4 | 5 | libarch_la_SOURCES = features.c 6 | 7 | libarch_la_CPPFLAGS = \ 8 | @XENO_COBALT_CFLAGS@ \ 9 | -I$(srcdir)/../.. \ 10 | -I$(top_srcdir)/include/cobalt \ 11 | -I$(top_srcdir)/include 12 | 13 | SUBDIRS = include 14 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libarch.la 2 | 3 | libarch_la_LDFLAGS = @XENO_LIB_LDFLAGS@ 4 | 5 | libarch_la_SOURCES = features.c 6 | 7 | libarch_la_CPPFLAGS = \ 8 | @XENO_COBALT_CFLAGS@ \ 9 | -I$(srcdir)/../.. \ 10 | -I$(top_srcdir)/include/cobalt \ 11 | -I$(top_srcdir)/include 12 | 13 | SUBDIRS = include 14 | -------------------------------------------------------------------------------- /include/cobalt/uapi/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/cobalt/uapi 2 | 3 | includesub_HEADERS = \ 4 | cond.h \ 5 | corectl.h \ 6 | event.h \ 7 | monitor.h \ 8 | mutex.h \ 9 | sched.h \ 10 | sem.h \ 11 | signal.h \ 12 | thread.h \ 13 | time.h 14 | 15 | noinst_HEADERS = \ 16 | syscall.h 17 | 18 | SUBDIRS = asm-generic kernel 19 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/Kconfig: -------------------------------------------------------------------------------- 1 | source "kernel/xenomai/Kconfig" 2 | source "drivers/xenomai/Kconfig" 3 | 4 | config XENO_ARCH_FPU 5 | def_bool VFP 6 | 7 | config XENO_ARCH_SYS3264 8 | def_bool n 9 | 10 | config XENO_ARCH_OUTOFLINE_XNLOCK 11 | bool 12 | default y 13 | 14 | config XENO_ARCH_IPIPE_COMPAT 15 | def_bool DOVETAIL 16 | select IPIPE_COMPAT 17 | -------------------------------------------------------------------------------- /kernel/drivers/can/c_can/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -Idrivers/xenomai/can -Idrivers/xenomai/can/c_can 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_CAN_C_CAN) += xeno_can_c_can.o 5 | obj-$(CONFIG_XENO_DRIVERS_CAN_C_CAN_PLATFORM) += xeno_can_c_can_platform.o 6 | 7 | xeno_can_c_can-y := rtcan_c_can.o rtcan_c_can_ethtool.o 8 | xeno_can_c_can_platform-y := rtcan_c_can_platform.o 9 | -------------------------------------------------------------------------------- /include/rtdm/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/rtdm 2 | 3 | includesub_HEADERS = rtdm.h 4 | 5 | if XENO_COBALT 6 | includesub_HEADERS += \ 7 | analogy.h \ 8 | autotune.h \ 9 | can.h \ 10 | gpio.h \ 11 | gpiopwm.h \ 12 | ipc.h \ 13 | net.h \ 14 | serial.h \ 15 | spi.h \ 16 | testing.h \ 17 | udd.h 18 | endif 19 | 20 | SUBDIRS = uapi 21 | -------------------------------------------------------------------------------- /include/vxworks/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/vxworks 2 | 3 | includesub_HEADERS = \ 4 | errnoLib.h \ 5 | intLib.h \ 6 | kernLib.h \ 7 | lstLib.h \ 8 | memPartLib.h \ 9 | msgQLib.h \ 10 | rngLib.h \ 11 | semLib.h \ 12 | sysLib.h \ 13 | taskHookLib.h \ 14 | taskInfo.h \ 15 | taskLib.h \ 16 | tickLib.h \ 17 | types.h \ 18 | wdLib.h 19 | -------------------------------------------------------------------------------- /utils/hdb/Makefile.am: -------------------------------------------------------------------------------- 1 | sbin_PROGRAMS = hdb 2 | 3 | hdb_SOURCES = hdb.c 4 | 5 | hdb_CPPFLAGS = \ 6 | $(XENO_USER_CFLAGS) \ 7 | -I$(top_srcdir)/include 8 | 9 | hdb_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ 10 | 11 | hdb_LDADD = \ 12 | ../../lib/copperplate/libcopperplate@CORE@.la \ 13 | @XENO_CORE_LDADD@ \ 14 | @XENO_USER_LDADD@ \ 15 | -lpthread -lrt 16 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/igb/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_IGB) += rt_igb.o 4 | 5 | rt_igb-y := \ 6 | e1000_82575.o \ 7 | e1000_i210.o \ 8 | e1000_mac.o \ 9 | e1000_mbx.o \ 10 | e1000_nvm.o \ 11 | e1000_phy.o \ 12 | igb_hwmon.o \ 13 | igb_main.o 14 | -------------------------------------------------------------------------------- /testsuite/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = latency smokey gpiobench 3 | 4 | if XENO_COBALT 5 | SUBDIRS += \ 6 | clocktest \ 7 | gpiotest \ 8 | spitest \ 9 | switchtest \ 10 | xeno-test 11 | endif 12 | 13 | DIST_SUBDIRS = \ 14 | clocktest \ 15 | gpiotest \ 16 | gpiobench \ 17 | latency \ 18 | smokey \ 19 | spitest \ 20 | switchtest \ 21 | xeno-test 22 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtcfg/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTCFG) += rtcfg.o 4 | 5 | rtcfg-y := \ 6 | rtcfg_module.o \ 7 | rtcfg_event.o \ 8 | rtcfg_client_event.o \ 9 | rtcfg_conn_event.o \ 10 | rtcfg_ioctl.o \ 11 | rtcfg_frame.o \ 12 | rtcfg_timer.o \ 13 | rtcfg_file.o \ 14 | rtcfg_proc.o 15 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/wrappers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2005 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_ARM64_ASM_WRAPPERS_H 8 | #define _COBALT_ARM64_ASM_WRAPPERS_H 9 | 10 | #include /* Read the generic portion. */ 11 | 12 | #endif /* _COBALT_ARM64_ASM_WRAPPERS_H */ 13 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/testing/Kconfig: -------------------------------------------------------------------------------- 1 | 2 | config XENO_DRIVERS_ANALOGY_FAKE 3 | depends on XENO_DRIVERS_ANALOGY 4 | tristate "Fake driver" 5 | default n 6 | help 7 | The fake driver displays many subdevices: 8 | - 0: analog input; 9 | - 1: digital input / output; 10 | - 2: analog output; 11 | - 3: analog input; data written into the subdevice 2 can be 12 | read here. 13 | -------------------------------------------------------------------------------- /include/copperplate/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/copperplate 2 | 3 | includesub_HEADERS = \ 4 | clockobj.h \ 5 | cluster.h \ 6 | debug.h \ 7 | eventobj.h \ 8 | heapobj.h \ 9 | reference.h \ 10 | registry.h \ 11 | semobj.h \ 12 | syncobj.h \ 13 | threadobj.h \ 14 | timerobj.h \ 15 | traceobj.h \ 16 | tunables.h 17 | 18 | noinst_HEADERS = \ 19 | registry-obstack.h 20 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/experimental/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_EXP_DRIVERS 2 | depends on XENO_DRIVERS_NET && PCI 3 | bool "Experimental Drivers" 4 | 5 | if XENO_DRIVERS_NET_EXP_DRIVERS 6 | 7 | config XENO_DRIVERS_NET_DRV_E1000_NEW 8 | depends on PCI 9 | tristate "New Intel(R) PRO/1000 (Gigabit)" 10 | 11 | source "drivers/xenomai/net/drivers/experimental/rt2500/Kconfig" 12 | 13 | endif 14 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_NOMAC) += nomac/ 4 | 5 | obj-$(CONFIG_XENO_DRIVERS_NET_TDMA) += tdma/ 6 | 7 | obj-$(CONFIG_XENO_DRIVERS_NET_RTMAC) += rtmac.o 8 | 9 | rtmac-y := \ 10 | rtmac_disc.o \ 11 | rtmac_module.o \ 12 | rtmac_proc.o \ 13 | rtmac_proto.o \ 14 | rtmac_syms.o \ 15 | rtmac_vnic.o 16 | -------------------------------------------------------------------------------- /lib/smokey/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libsmokey@CORE@.la 2 | 3 | libsmokey@CORE@_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 4 | libsmokey@CORE@_la_LIBADD = @XENO_CORE_LDADD@ 5 | 6 | libsmokey@CORE@_la_SOURCES = \ 7 | helpers.c \ 8 | init.c 9 | 10 | libsmokey@CORE@_la_CPPFLAGS = \ 11 | @XENO_USER_CFLAGS@ \ 12 | -I$(top_srcdir)/include \ 13 | -I$(top_srcdir)/lib 14 | 15 | AM_LIBTOOLFLAGS = --silent 16 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/analogy 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY) += xeno_analogy.o testing/ intel/ national_instruments/ sensoray/ 5 | 6 | xeno_analogy-y := \ 7 | buffer.o \ 8 | command.o \ 9 | device.o \ 10 | driver.o \ 11 | driver_facilities.o \ 12 | instruction.o \ 13 | rtdm_helpers.o \ 14 | subdevice.o \ 15 | transfer.o \ 16 | rtdm_interface.o 17 | -------------------------------------------------------------------------------- /testsuite/xeno-test/xeno-test-run-wrapper: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | XENO_TEST_IN="/tmp/xeno-test-in-$$" 4 | XENO_TEST_OUT="/tmp/xeno-test-out-$$" 5 | 6 | check_alive() 7 | { 8 | echo check_alive ${1+"$@"} > "$XENO_TEST_OUT" 9 | } 10 | 11 | start_load() 12 | { 13 | echo start_load > "$XENO_TEST_OUT" 14 | } 15 | 16 | wait_load() 17 | { 18 | read rc < "$XENO_TEST_IN" 19 | } 20 | 21 | script="$1"; shift 22 | . $script 23 | -------------------------------------------------------------------------------- /utils/autotune/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 3 | 4 | sbin_PROGRAMS = autotune 5 | 6 | autotune_SOURCES = autotune.c 7 | 8 | autotune_CPPFLAGS = \ 9 | $(XENO_USER_CFLAGS) \ 10 | -I$(top_srcdir)/include 11 | 12 | autotune_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 13 | 14 | autotune_LDADD = \ 15 | @XENO_CORE_LDADD@ \ 16 | @XENO_USER_LDADD@ \ 17 | -lpthread -lrt 18 | -------------------------------------------------------------------------------- /utils/corectl/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 3 | 4 | sbin_PROGRAMS = corectl 5 | 6 | corectl_SOURCES = corectl.c 7 | 8 | corectl_CPPFLAGS = \ 9 | $(XENO_USER_CFLAGS) \ 10 | -I$(top_srcdir)/include 11 | 12 | corectl_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 13 | 14 | corectl_LDADD = \ 15 | @XENO_CORE_LDADD@ \ 16 | @XENO_USER_LDADD@ \ 17 | -lpthread -lrt 18 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/nomac/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_NOMAC 2 | tristate "NoMAC discipline for RTmac" 3 | depends on XENO_DRIVERS_NET_RTMAC 4 | default n 5 | help 6 | This no-operation RTmac discipline is intended to act as a template 7 | for new implementations. However, it can be compiled and used (see 8 | nomaccfg management tool), but don't expect any improved determinism 9 | of your network. ;) 10 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/tick.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | */ 4 | 5 | #ifndef _COBALT_KERNEL_DOVETAIL_TICK_H 6 | #define _COBALT_KERNEL_DOVETAIL_TICK_H 7 | 8 | int pipeline_install_tick_proxy(void); 9 | 10 | void pipeline_uninstall_tick_proxy(void); 11 | 12 | struct xnsched; 13 | 14 | bool pipeline_must_force_program_tick(struct xnsched *sched); 15 | 16 | #endif /* !_COBALT_KERNEL_DOVETAIL_TICK_H */ 17 | -------------------------------------------------------------------------------- /kernel/drivers/testing/Makefile: -------------------------------------------------------------------------------- 1 | 2 | obj-$(CONFIG_XENO_DRIVERS_TIMERBENCH) += xeno_timerbench.o 3 | obj-$(CONFIG_XENO_DRIVERS_SWITCHTEST) += xeno_switchtest.o 4 | obj-$(CONFIG_XENO_DRIVERS_RTDMTEST) += xeno_rtdmtest.o 5 | obj-$(CONFIG_XENO_DRIVERS_HEAPCHECK) += xeno_heapcheck.o 6 | 7 | xeno_timerbench-y := timerbench.o 8 | 9 | xeno_switchtest-y := switchtest.o 10 | 11 | xeno_rtdmtest-y := rtdmtest.o 12 | 13 | xeno_heapcheck-y := heapcheck.o 14 | -------------------------------------------------------------------------------- /include/boilerplate/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/boilerplate 2 | 3 | includesub_HEADERS = \ 4 | ancillaries.h \ 5 | atomic.h \ 6 | avl.h \ 7 | shavl.h \ 8 | avl-inner.h \ 9 | compiler.h \ 10 | debug.h \ 11 | hash.h \ 12 | heapmem.h \ 13 | libc.h \ 14 | list.h \ 15 | lock.h \ 16 | namegen.h \ 17 | obstack.h \ 18 | private-list.h \ 19 | scope.h \ 20 | setup.h \ 21 | shared-list.h \ 22 | time.h \ 23 | tunables.h 24 | -------------------------------------------------------------------------------- /testsuite/latency/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = latency 6 | 7 | latency_SOURCES = latency.c 8 | 9 | latency_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | latency_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | latency_LDADD = \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt -lm 19 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/features.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2015 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_ARM64_FEATURES_H 8 | #define _COBALT_ARM64_FEATURES_H 9 | 10 | struct cobalt_featinfo; 11 | static inline void collect_arch_features(struct cobalt_featinfo *p) { } 12 | 13 | #include 14 | 15 | #endif /* !_COBALT_ARM64_FEATURES_H */ 16 | -------------------------------------------------------------------------------- /scripts/xeno.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Wrapper script to hide distribution-specific installation 4 | # prefixes when running standard Xenomai commands. 5 | # 6 | # e.g. "xeno latency" 7 | # 8 | 9 | prefix="@prefix@" 10 | exec_prefix="@exec_prefix@" 11 | BINDIR="@bindir@" 12 | TESTDIR="@XENO_TEST_DIR@" 13 | unset prefix exec_prefix 14 | 15 | test -x $BINDIR/$1 && exec $BINDIR/$@ 16 | test -x $TESTDIR/$1 && exec $TESTDIR/$@ 17 | echo "$1: not found/executable" 18 | -------------------------------------------------------------------------------- /testsuite/gpiobench/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = gpiobench 6 | 7 | gpiobench_SOURCES = gpiobench.c 8 | 9 | gpiobench_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | gpiobench_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | gpiobench_LDADD = \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt -lm 19 | -------------------------------------------------------------------------------- /testsuite/switchtest/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = switchtest 6 | 7 | switchtest_SOURCES = switchtest.c 8 | 9 | switchtest_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | switchtest_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | switchtest_LDADD = \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt 19 | -------------------------------------------------------------------------------- /include/cobalt/Makefile.am: -------------------------------------------------------------------------------- 1 | includesubdir = $(includedir)/cobalt 2 | 3 | includesub_HEADERS = \ 4 | fcntl.h \ 5 | mqueue.h \ 6 | pthread.h \ 7 | sched.h \ 8 | semaphore.h \ 9 | signal.h \ 10 | stdio.h \ 11 | stdlib.h \ 12 | syslog.h \ 13 | ticks.h \ 14 | time.h \ 15 | trace.h \ 16 | tunables.h \ 17 | unistd.h \ 18 | wrappers.h 19 | 20 | noinst_HEADERS = \ 21 | arith.h 22 | 23 | SUBDIRS = \ 24 | boilerplate \ 25 | kernel \ 26 | sys \ 27 | uapi 28 | -------------------------------------------------------------------------------- /testsuite/clocktest/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = clocktest 6 | 7 | clocktest_SOURCES = clocktest.c 8 | 9 | clocktest_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | clocktest_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | clocktest_LDADD = \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt 19 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/uapi/abirevision.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | /* 3 | * ABI revision 4 | * 5 | * Copyright (c) Siemens AG 2024 6 | * 7 | * Authors: 8 | * Clara Kowalsky 9 | */ 10 | #ifndef _COBALT_ASM_UAPI_ABIREVISION_H 11 | #define _COBALT_ASM_UAPI_ABIREVISION_H 12 | 13 | /* The ABI revision level we use on this arch. */ 14 | #define XENOMAI_ABI_REV 20UL 15 | 16 | #endif /* !_COBALT_ASM_UAPI_ABIREVISION_H */ 17 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/igc/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | # Copyright (c) 2018 Intel Corporation 3 | 4 | # 5 | # Intel(R) I225-LM/I225-V 2.5G Ethernet Controller 6 | # 7 | 8 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 9 | 10 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_IGC) += rt_igc.o 11 | 12 | rt_igc-y := \ 13 | igc_i225.o \ 14 | igc_mac.o \ 15 | igc_base.o \ 16 | igc_dump.o \ 17 | igc_nvm.o \ 18 | igc_phy.o \ 19 | igc_main.o 20 | -------------------------------------------------------------------------------- /testsuite/spitest/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = spitest 6 | 7 | spitest_SOURCES = spitest.c 8 | 9 | spitest_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | spitest_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | spitest_LDADD = \ 16 | ../../lib/smokey/libsmokey@CORE@.la \ 17 | @XENO_CORE_LDADD@ \ 18 | @XENO_USER_LDADD@ \ 19 | -lpthread -lrt 20 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/irq.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | */ 4 | 5 | #ifndef _COBALT_KERNEL_DOVETAIL_IRQ_H 6 | #define _COBALT_KERNEL_DOVETAIL_IRQ_H 7 | 8 | static inline void xnintr_init_proc(void) 9 | { 10 | /* N/A */ 11 | } 12 | 13 | static inline void xnintr_cleanup_proc(void) 14 | { 15 | /* N/A */ 16 | } 17 | 18 | static inline int xnintr_mount(void) 19 | { 20 | /* N/A */ 21 | return 0; 22 | } 23 | 24 | #endif /* !_COBALT_KERNEL_DOVETAIL_IRQ_H */ 25 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/ipv4/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4) += rtipv4.o 4 | 5 | rtipv4-y := \ 6 | route.o \ 7 | protocol.o \ 8 | arp.o \ 9 | af_inet.o \ 10 | ip_input.o \ 11 | ip_sock.o \ 12 | ip_output.o \ 13 | ip_fragment.o 14 | 15 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4_UDP) += udp/ 16 | 17 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4_TCP) += tcp/ 18 | 19 | rtipv4-$(CONFIG_XENO_DRIVERS_NET_RTIPV4_ICMP) += icmp.o 20 | -------------------------------------------------------------------------------- /testsuite/gpiotest/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | test_PROGRAMS = gpiotest 6 | 7 | gpiotest_SOURCES = gpiotest.c 8 | 9 | gpiotest_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | gpiotest_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 14 | 15 | gpiotest_LDADD = \ 16 | ../../lib/smokey/libsmokey@CORE@.la \ 17 | @XENO_CORE_LDADD@ \ 18 | @XENO_USER_LDADD@ \ 19 | -lpthread -lrt 20 | -------------------------------------------------------------------------------- /lib/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = boilerplate 2 | 3 | if XENO_COBALT 4 | SUBDIRS += cobalt 5 | else 6 | SUBDIRS += mercury 7 | endif 8 | 9 | SUBDIRS += \ 10 | copperplate \ 11 | smokey \ 12 | alchemy \ 13 | vxworks \ 14 | psos 15 | 16 | if XENO_COBALT 17 | SUBDIRS += \ 18 | analogy \ 19 | trank 20 | endif 21 | 22 | DIST_SUBDIRS = \ 23 | alchemy \ 24 | analogy \ 25 | boilerplate \ 26 | cobalt \ 27 | copperplate \ 28 | mercury \ 29 | psos \ 30 | smokey \ 31 | trank \ 32 | vxworks 33 | -------------------------------------------------------------------------------- /testsuite/smokey/arith/arith-noinline.h: -------------------------------------------------------------------------------- 1 | #ifndef OUTOFLINE_H 2 | #define OUTOFLINE_H 3 | 4 | long long dummy(void); 5 | 6 | long long 7 | do_llimd(long long ull, unsigned m, unsigned d); 8 | 9 | long long 10 | do_llmulshft(long long ull, unsigned m, unsigned s); 11 | 12 | unsigned long long 13 | do_nodiv_ullimd(unsigned long long ull, unsigned long long frac, unsigned integ); 14 | 15 | long long 16 | do_nodiv_llimd(long long ll, unsigned long long frac, unsigned integ); 17 | 18 | #endif /* OUTOFLINE_H */ 19 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/experimental/e1000/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_DRV_E1000_NEW) += rt_e1000_new.o 4 | 5 | rt_e1000_new-y := \ 6 | e1000_80003es2lan.o \ 7 | e1000_82540.o \ 8 | e1000_82541.o \ 9 | e1000_82542.o \ 10 | e1000_82543.o \ 11 | e1000_82571.o \ 12 | e1000_api.o \ 13 | e1000_ich8lan.o \ 14 | e1000_mac.o \ 15 | e1000_main.o \ 16 | e1000_manage.o \ 17 | e1000_nvm.o \ 18 | e1000_param.o \ 19 | e1000_phy.o 20 | -------------------------------------------------------------------------------- /kernel/drivers/can/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/can -I$(srctree)/kernel/ 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_CAN) += xeno_can.o sja1000/ peak_canfd/ c_can/ 5 | obj-$(CONFIG_XENO_DRIVERS_CAN_FLEXCAN) += xeno_can_flexcan.o 6 | obj-$(CONFIG_XENO_DRIVERS_CAN_VIRT) += xeno_can_virt.o 7 | 8 | xeno_can-y := corectl.o rtcan_dev.o rtcan_socket.o rtcan_module.o rtcan_raw.o rtcan_raw_dev.o rtcan_raw_filter.o rtcan_ethtool.o 9 | xeno_can_virt-y := rtcan_virt.o 10 | xeno_can_flexcan-y := rtcan_flexcan.o 11 | -------------------------------------------------------------------------------- /testsuite/xeno-test/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | pkgdir = $(pkgdatadir) 3 | 4 | test_SCRIPTS = xeno-test-run-wrapper dohell 5 | test_PROGRAMS = xeno-test-run 6 | bin_SCRIPTS = xeno-test 7 | 8 | xeno_test_run_CPPFLAGS = -DTESTDIR=\"$(testdir)\" -D_GNU_SOURCE 9 | xeno_test_run_LDADD = -lpthread -lrt 10 | 11 | xeno-test: $(srcdir)/xeno-test.in Makefile 12 | sed "s,@testdir@,$(testdir),;s,@pkgdir@,$(pkgdir)," $< > $@ 13 | 14 | EXTRA_DIST = $(test_SCRIPTS) xeno-test.in 15 | 16 | CLEANFILES = xeno-test 17 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/igc/igc_nvm.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* Copyright (c) 2018 Intel Corporation */ 3 | 4 | #ifndef _IGC_NVM_H_ 5 | #define _IGC_NVM_H_ 6 | 7 | s32 igc_acquire_nvm(struct igc_hw *hw); 8 | void igc_release_nvm(struct igc_hw *hw); 9 | s32 igc_read_mac_addr(struct igc_hw *hw); 10 | s32 igc_read_nvm_eerd(struct igc_hw *hw, u16 offset, u16 words, u16 *data); 11 | s32 igc_validate_nvm_checksum(struct igc_hw *hw); 12 | s32 igc_update_nvm_checksum(struct igc_hw *hw); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /include/Makefile.am: -------------------------------------------------------------------------------- 1 | nodist_include_HEADERS=$(CONFIG_HEADER) 2 | 3 | SUBDIRS = \ 4 | boilerplate \ 5 | copperplate \ 6 | smokey \ 7 | alchemy \ 8 | psos \ 9 | rtdm \ 10 | trank \ 11 | vxworks \ 12 | xenomai 13 | 14 | if XENO_COBALT 15 | SUBDIRS += cobalt 16 | else 17 | SUBDIRS += mercury 18 | endif 19 | 20 | DIST_SUBDIRS = \ 21 | alchemy \ 22 | boilerplate \ 23 | cobalt \ 24 | copperplate \ 25 | mercury \ 26 | psos \ 27 | rtdm \ 28 | smokey \ 29 | trank \ 30 | vxworks \ 31 | xenomai 32 | -------------------------------------------------------------------------------- /kernel/drivers/spi/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-$(CONFIG_XENO_DRIVERS_SPI_DEBUG) := -DDEBUG 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_SPI) += xeno_spi.o 5 | 6 | xeno_spi-y := spi-master.o spi-device.o 7 | 8 | obj-$(CONFIG_XENO_DRIVERS_SPI_BCM2835) += xeno_spi_bcm2835.o 9 | obj-$(CONFIG_XENO_DRIVERS_SPI_SUN6I) += xeno_spi_sun6i.o 10 | obj-$(CONFIG_XENO_DRIVERS_SPI_OMAP2_MCSPI_RT) += xeno_spi_omap2_mcspi_rt.o 11 | 12 | xeno_spi_bcm2835-y := spi-bcm2835.o 13 | xeno_spi_sun6i-y := spi-sun6i.o 14 | xeno_spi_omap2_mcspi_rt-y := spi-omap2-mcspi-rt.o 15 | -------------------------------------------------------------------------------- /lib/copperplate/regd/Makefile.am: -------------------------------------------------------------------------------- 1 | sbin_PROGRAMS = sysregd 2 | 3 | AM_CPPFLAGS = \ 4 | @XENO_USER_CFLAGS@ \ 5 | @XENO_FUSE_CFLAGS@ \ 6 | -I$(top_srcdir)/lib \ 7 | -I$(top_srcdir)/include 8 | 9 | AM_LDFLAGS = $(XENO_POSIX_WRAPPERS) 10 | 11 | LDADD = \ 12 | ../libcopperplate@CORE@.la \ 13 | @XENO_CORE_LDADD@ \ 14 | @XENO_USER_LDADD@ \ 15 | -lpthread -lrt 16 | 17 | sysregd_SOURCES = regd.c fs-common.c sysregfs.h 18 | 19 | if XENO_COBALT 20 | sysregd_SOURCES += fs-cobalt.c 21 | else 22 | sysregd_SOURCES += fs-mercury.c 23 | endif 24 | -------------------------------------------------------------------------------- /debian/libxenomai-dev.lintian: -------------------------------------------------------------------------------- 1 | # Upstream author insists that those recursive directories exist for 2 | # compatibility reasons of compiles applications 3 | libxenomai-dev: symlink-is-self-recursive usr/include/xenomai/asm-generic/xenomai . 4 | libxenomai-dev: symlink-is-self-recursive usr/include/xenomai/asm-sim/asm . 5 | libxenomai-dev: symlink-is-self-recursive usr/include/xenomai/asm-sim/xenomai . 6 | libxenomai-dev: symlink-is-self-recursive usr/include/xenomai/asm-x86/xenomai . 7 | libxenomai-dev: symlink-is-self-recursive usr/include/xenomai/xenomai . 8 | -------------------------------------------------------------------------------- /demo/posix/cyclictest/error.h: -------------------------------------------------------------------------------- 1 | #ifndef __ERROR_H 2 | #define __ERROR_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | void err_exit(int err, char *fmt, ...); 10 | void err_msg(char *fmt, ...); 11 | void err_msg_n(int err, char *fmt, ...); 12 | void err_quit(char *fmt, ...); 13 | void debug(char *fmt, ...); 14 | void info(char *fmt, ...); 15 | void warn(char *fmt, ...); 16 | void fatal(char *fmt, ...); 17 | void err_doit(int err, const char *fmt, va_list ap); 18 | 19 | #endif /* __ERROR_H */ 20 | -------------------------------------------------------------------------------- /lib/trank/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libtrank@CORE@.la 2 | 3 | libtrank@CORE@_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 4 | 5 | libtrank@CORE@_la_LIBADD = \ 6 | @XENO_CORE_LDADD@ \ 7 | $(top_builddir)/lib/alchemy/libalchemy@CORE@.la 8 | 9 | libtrank@CORE@_la_SOURCES = \ 10 | init.c \ 11 | internal.c \ 12 | internal.h \ 13 | posix.c \ 14 | native.c 15 | 16 | libtrank@CORE@_la_CPPFLAGS = \ 17 | @XENO_USER_CFLAGS@ \ 18 | -D__XENO_COMPAT__ \ 19 | -I$(top_srcdir)/include \ 20 | -I$(top_srcdir)/lib 21 | 22 | AM_LIBTOOLFLAGS = --silent 23 | -------------------------------------------------------------------------------- /debian/libxenomai1.lintian: -------------------------------------------------------------------------------- 1 | # The package libxenomai1 first didn't contain a library called *xenomai*. 2 | # Therefore, I called it libxenomai1. Now, upstream introduced libxenomai0 in 3 | # the package. I'm leaving the package name libxenomai1 for now since 4 | # downgrading the number in the package name is probably a bad idea, and 5 | # synchronizing the package name with the SO version number isn't easily 6 | # possible anyway since the package contains several libraries. 7 | libxenomai1: package-name-doesnt-match-sonames libanalogy1 libnative3 libpthread-rt1 librtdk0 librtdm1 libxenomai0 8 | -------------------------------------------------------------------------------- /lib/analogy/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libanalogy.la 2 | 3 | libanalogy_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 1:0:0 -lm 4 | 5 | libanalogy_la_LIBADD = @XENO_CORE_LDADD@ 6 | 7 | libanalogy_la_SOURCES = \ 8 | async.c \ 9 | descriptor.c \ 10 | info.c \ 11 | internal.h \ 12 | math.c \ 13 | calibration.c \ 14 | calibration.h \ 15 | range.c \ 16 | root_leaf.h \ 17 | sync.c \ 18 | sys.c 19 | 20 | libanalogy_la_CPPFLAGS = \ 21 | @XENO_USER_CFLAGS@ \ 22 | -I$(top_srcdir)/include \ 23 | -I$(top_srcdir)/lib/boilerplate 24 | 25 | AM_LIBTOOLFLAGS = --silent 26 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/include/rtnet_checksum.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #ifndef __RTNET_CHECKSUM_H_ 3 | #define __RTNET_CHECKSUM_H_ 4 | 5 | #include 6 | #include 7 | 8 | #define rtnet_csum(__buf, __len, __csum) \ 9 | ({ \ 10 | csum_partial(__buf, __len, (__force __wsum)__csum); \ 11 | }) 12 | 13 | #define rtnet_csum_copy(__src, __dst, __len, __csum) \ 14 | ({ \ 15 | memcpy(__dst, __src, __len); \ 16 | csum_partial(__dst, __len, (__force __wsum)__csum); \ 17 | }) 18 | 19 | #endif /* !__RTNET_CHECKSUM_H_ */ 20 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/igc/igc_i225.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* Copyright (c) 2018 Intel Corporation */ 3 | 4 | #ifndef _IGC_I225_H_ 5 | #define _IGC_I225_H_ 6 | 7 | s32 igc_acquire_swfw_sync_i225(struct igc_hw *hw, u16 mask); 8 | void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask); 9 | 10 | s32 igc_init_nvm_params_i225(struct igc_hw *hw); 11 | bool igc_get_flash_presence_i225(struct igc_hw *hw); 12 | s32 igc_set_eee_i225(struct igc_hw *hw, bool adv2p5G, bool adv1G, 13 | bool adv100M); 14 | s32 igc_set_ltr_i225(struct igc_hw *hw, bool link); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /tracing/libtraceevent/Makefile.am: -------------------------------------------------------------------------------- 1 | libsub_LTLIBRARIES = plugin_xenomai_schedparams.la 2 | 3 | plugin_xenomai_schedparams_la_SOURCES = \ 4 | plugin_xenomai_schedparams.c 5 | 6 | plugin_xenomai_schedparams_la_CPPFLAGS = \ 7 | $(LIBTRACEEVENT_CFLAGS) \ 8 | -I$(top_srcdir)/include 9 | 10 | plugin_xenomai_schedparams_la_LDFLAGS = \ 11 | $(LIBTRACEEVENT_LIBS) \ 12 | -module -avoid-version -nostartfiles 13 | 14 | AM_LIBTOOLFLAGS = --silent --tag=disable-static 15 | 16 | libsubdir := $(libdir)/traceevent/plugins 17 | 18 | install-data-hook: 19 | $(RM) $(DESTDIR)$(libsubdir)/$(libsub_LTLIBRARIES) 20 | -------------------------------------------------------------------------------- /doc/asciidoc/plaintext.conf: -------------------------------------------------------------------------------- 1 | [http-inlinemacro] 2 | {0={name}:{target}}: "{name}:{target}" 3 | [https-inlinemacro] 4 | {0={name}:{target}}: "{name}:{target}" 5 | [ftp-inlinemacro] 6 | {0={name}:{target}}: "{name}:{target}" 7 | [irc-inlinemacro] 8 | {0={name}:{target}}: "{name}:{target}" 9 | [mailto-inlinemacro] 10 | {0={target}}: "{target}" 11 | [callto-inlinemacro] 12 | {0={target}}: "{target}" 13 | -------------------------------------------------------------------------------- /debian/libxenomai1.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | case "$1" in 4 | configure) 5 | # Add the xenomai group unless it's already there 6 | if ! getent group xenomai >/dev/null; then 7 | addgroup --quiet --system xenomai || true 8 | fi 9 | rm -f /etc/udev/rules.d/xenomai.rules 10 | ln -sf ../xenomai.rules /etc/udev/rules.d/xenomai.rules 11 | ;; 12 | 13 | abort-upgrade|abort-remove|abort-deconfigure) 14 | ;; 15 | 16 | *) 17 | echo "postinst called with unknown argument \`$1'" >&2 18 | exit 1 19 | ;; 20 | esac 21 | 22 | #DEBHELPER# 23 | -------------------------------------------------------------------------------- /demo/alchemy/cobalt/Makefile.am: -------------------------------------------------------------------------------- 1 | demodir = @XENO_DEMO_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | demo_PROGRAMS = cross-link 6 | 7 | cppflags = \ 8 | $(XENO_USER_CFLAGS) \ 9 | -I$(top_srcdir)/include 10 | 11 | ldadd = \ 12 | @XENO_AUTOINIT_LDFLAGS@ \ 13 | $(XENO_POSIX_WRAPPERS) \ 14 | ../../../lib/alchemy/libalchemy@CORE@.la \ 15 | ../../../lib/copperplate/libcopperplate@CORE@.la \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lrt -lpthread -lm 19 | 20 | cross_link_SOURCES = cross-link.c 21 | cross_link_CPPFLAGS = $(cppflags) 22 | cross_link_LDADD = $(ldadd) 23 | -------------------------------------------------------------------------------- /include/cobalt/kernel/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | noinst_HEADERS = \ 3 | ancillaries.h \ 4 | arith.h \ 5 | assert.h \ 6 | bufd.h \ 7 | clock.h \ 8 | compat.h \ 9 | heap.h \ 10 | init.h \ 11 | intr.h \ 12 | list.h \ 13 | lock.h \ 14 | map.h \ 15 | pipe.h \ 16 | ppd.h \ 17 | registry.h \ 18 | sched.h \ 19 | sched-idle.h \ 20 | schedparam.h \ 21 | schedqueue.h \ 22 | sched-quota.h \ 23 | sched-rt.h \ 24 | sched-sporadic.h \ 25 | sched-tp.h \ 26 | sched-weak.h \ 27 | select.h \ 28 | stat.h \ 29 | synch.h \ 30 | thread.h \ 31 | timer.h \ 32 | trace.h \ 33 | tree.h \ 34 | vfile.h 35 | 36 | SUBDIRS = rtdm 37 | -------------------------------------------------------------------------------- /tracing/kernelshark/Makefile.am: -------------------------------------------------------------------------------- 1 | libsub_LTLIBRARIES = plugin_xenomai_cobalt_switch_events.la 2 | 3 | plugin_xenomai_cobalt_switch_events_la_SOURCES = \ 4 | CobaltSwitchEvents.cpp \ 5 | xenomai_cobalt_switch_events.c \ 6 | xenomai_cobalt_switch_events.h 7 | 8 | plugin_xenomai_cobalt_switch_events_la_CPPFLAGS = \ 9 | $(LIBKSHARK_CFLAGS) 10 | 11 | plugin_xenomai_cobalt_switch_events_la_LDFLAGS = \ 12 | $(LIBKSHARK_LIBS) \ 13 | -module -avoid-version 14 | 15 | AM_LIBTOOLFLAGS = --silent --tag=disable-static 16 | 17 | libsubdir := $(libdir)/kernelshark/plugins 18 | 19 | install-data-hook: 20 | $(RM) $(DESTDIR)$(libsubdir)/$(libsub_LTLIBRARIES) 21 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/packet/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_RTPACKET 2 | depends on XENO_DRIVERS_NET 3 | tristate "Real-Time Packet Socket Support" 4 | default y 5 | help 6 | Enables real-time packet sockets for RTnet. This support is 7 | implemented in a separate module. When loaded, application programs 8 | can send and received so-called "cooked" packets directly at OSI 9 | layer 2 (device layer). This means that RTnet will still maintain the 10 | device-dependent packet header but leave the full data segment to the 11 | user. 12 | 13 | Examples like raw-ethernet or netshm make use of this support. See 14 | also Linux man page packet(7). 15 | -------------------------------------------------------------------------------- /kernel/drivers/can/c_can/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_CAN_C_CAN 2 | depends on XENO_DRIVERS_CAN && OF 3 | tristate "Bosch C-CAN based chips" 4 | 5 | config XENO_DRIVERS_CAN_C_CAN_PLATFORM 6 | depends on XENO_DRIVERS_CAN_C_CAN 7 | tristate "Generic Platform Bus based controller" 8 | help 9 | This driver adds support for the C_CAN/D_CAN chips connected 10 | to the "platform bus" (Linux abstraction for directly to the 11 | processor attached devices) which can be found on various 12 | boards from ST Microelectronics (http://www.st.com) like the 13 | SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com) 14 | boards like am335x, dm814x, dm813x and dm811x. 15 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y += -I$(srctree)/drivers/xenomai/net/stack/include -I$(srctree)/kernel/ 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_NET_RTIPV4) += ipv4/ 4 | 5 | obj-$(CONFIG_XENO_DRIVERS_NET_RTPACKET) += packet/ 6 | 7 | obj-$(CONFIG_XENO_DRIVERS_NET_RTMAC) += rtmac/ 8 | 9 | obj-$(CONFIG_XENO_DRIVERS_NET_RTCFG) += rtcfg/ 10 | 11 | obj-$(CONFIG_XENO_DRIVERS_NET) += rtnet.o 12 | 13 | rtnet-y := \ 14 | corectl.o \ 15 | iovec.o \ 16 | rtdev.o \ 17 | rtdev_mgr.o \ 18 | rtnet_chrdev.o \ 19 | rtnet_module.o \ 20 | rtnet_rtpc.o \ 21 | rtskb.o \ 22 | socket.o \ 23 | stack_mgr.o \ 24 | eth.o 25 | 26 | rtnet-$(CONFIG_XENO_DRIVERS_NET_RTWLAN) += rtwlan.o 27 | -------------------------------------------------------------------------------- /scripts/histo.gp: -------------------------------------------------------------------------------- 1 | # 2 | # Run this gnuplot script with the command line: 3 | # 4 | # gnuplot -e 'input_file="/path/to/input";output_file="/path/to/output.png";graph_title="title text"' /path/to/histo.gp 5 | # 6 | # where the input file is generated using latency option "-g" 7 | # 8 | 9 | set terminal png size 900,700 10 | set output output_file 11 | 12 | set title graph_title 13 | set xlabel "user-space latency in microseconds" 14 | set ylabel "occurrences + 1 (log)" 15 | set logscale y 16 | set key off 17 | set grid 18 | 19 | set bar 1.000000 20 | set style fill solid 1.00 border -1 21 | set style rectangle back fc lt -3 fillstyle solid 1.00 border -1 22 | plot input_file w line 23 | -------------------------------------------------------------------------------- /utils/net/tdma.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Examplary TDMA configuration file 3 | # 4 | 5 | # Primary master 6 | 7 | master: 8 | ip 10.0.0.1 9 | cycle 5000 10 | slot 0 0 11 | slot 1 1000 12 | 13 | 14 | # Backup master 15 | # Cycle is defined by the primary master 16 | 17 | backup-master: 18 | ip 10.0.0.2 19 | backup-offset 200 20 | slot 0 400 21 | 22 | 23 | # Slave A 24 | # MAC is unknown, slave will be pre-configured to the given IP 25 | 26 | slave: 27 | ip 10.0.0.3 28 | slot 0 2000 29 | slot 1 2200 1/2 30 | 31 | 32 | # Slave B 33 | # IP is assigned to the slave via its known MAC address 34 | 35 | slave: 36 | ip 10.0.0.4 37 | mac 00:12:34:56:AA:FF 38 | slot 0 2400 39 | slot 1 2200 2/2 40 | -------------------------------------------------------------------------------- /kernel/drivers/can/rtcan_ethtool.h: -------------------------------------------------------------------------------- 1 | #ifndef __RTCAN_ETHTOOL_H_ 2 | #define __RTCAN_ETHTOOL_H_ 3 | 4 | #ifdef __KERNEL__ 5 | 6 | #include 7 | 8 | struct rtcan_device; 9 | 10 | struct rtcan_ethtool_ops { 11 | int (*begin)(struct rtcan_device *dev); 12 | int (*complete)(struct rtcan_device *dev); 13 | void (*get_drvinfo)(struct rtcan_device *dev, 14 | struct ethtool_drvinfo *info); 15 | void (*get_ringparam)(struct rtcan_device *dev, 16 | struct ethtool_ringparam *ring); 17 | }; 18 | 19 | int rtcan_ethtool(struct rtdm_fd *fd, struct rtcan_device *dev, 20 | struct ifreq *ifr); 21 | 22 | #endif /* __KERNEL__ */ 23 | 24 | #endif /* __RTCAN_ETHTOOL_H_ */ 25 | -------------------------------------------------------------------------------- /kernel/drivers/gpio/gpio-bcm2711.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only 2 | /* 3 | * Copyright (c) Siemens AG 2024 4 | * 5 | * Authors: 6 | * Clara Kowalsky 7 | */ 8 | #include 9 | #include 10 | 11 | #define RTDM_SUBCLASS_BCM2711 1 12 | 13 | static int __init bcm2711_gpio_init(void) 14 | { 15 | return rtdm_gpiochip_scan_of(NULL, "brcm,bcm2711-gpio", 16 | RTDM_SUBCLASS_BCM2711); 17 | } 18 | module_init(bcm2711_gpio_init); 19 | 20 | static void __exit bcm2711_gpio_exit(void) 21 | { 22 | rtdm_gpiochip_remove_by_type(RTDM_SUBCLASS_BCM2711); 23 | } 24 | module_exit(bcm2711_gpio_exit); 25 | 26 | MODULE_LICENSE("GPL"); 27 | -------------------------------------------------------------------------------- /testsuite/smokey/net_common/Makefile.am: -------------------------------------------------------------------------------- 1 | testdir = @XENO_TEST_DIR@ 2 | test_PROGRAMS = smokey_net_server 3 | 4 | noinst_LIBRARIES = libnet_common.a 5 | noinst_HEADERS = \ 6 | smokey_net.h \ 7 | smokey_net_server.h 8 | 9 | AM_CPPFLAGS = \ 10 | @XENO_USER_CFLAGS@ \ 11 | -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/kernel/drivers/net/stack/include 13 | 14 | libnet_common_a_SOURCES = \ 15 | client.c \ 16 | server.c \ 17 | setup.c 18 | 19 | smokey_net_server_SOURCES = \ 20 | smokey_net_server.c 21 | 22 | smokey_net_server_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ 23 | 24 | smokey_net_server_LDADD = \ 25 | libnet_common.a \ 26 | @XENO_CORE_LDADD@ \ 27 | @XENO_USER_LDADD@ \ 28 | -lpthread -lrt 29 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/thread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2019 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_KERNEL_DOVETAIL_THREAD_H 8 | #define _COBALT_KERNEL_DOVETAIL_THREAD_H 9 | 10 | #include 11 | 12 | struct xnthread; 13 | 14 | #define cobalt_threadinfo oob_thread_state 15 | 16 | static inline struct cobalt_threadinfo *pipeline_current(void) 17 | { 18 | return dovetail_current_state(); 19 | } 20 | 21 | static inline 22 | struct xnthread *pipeline_thread_from_task(struct task_struct *p) 23 | { 24 | return dovetail_task_state(p)->thread; 25 | } 26 | 27 | #endif /* !_COBALT_KERNEL_DOVETAIL_THREAD_H */ 28 | -------------------------------------------------------------------------------- /lib/cobalt/cobalt-glibc-time64.wrappers: -------------------------------------------------------------------------------- 1 | --wrap __sem_timedwait64 2 | --wrap __clock_gettime64 3 | --wrap __clock_settime64 4 | --wrap __clock_nanosleep_time64 5 | --wrap __clock_getres64 6 | --wrap __clock_adjtime64 7 | --wrap __pthread_mutex_timedlock64 8 | --wrap __mq_timedsend_time64 9 | --wrap __mq_timedreceive_time64 10 | --wrap __sigtimedwait64 11 | --wrap __recvmmsg64 12 | --wrap __pthread_cond_timedwait64 13 | --wrap __timer_settime64 14 | --wrap __timer_gettime64 15 | --wrap __timerfd_settime64 16 | --wrap __timerfd_gettime64 17 | --wrap __setsockopt64 18 | --wrap __getsockopt64 19 | --wrap __select64 20 | --wrap __ioctl_time64 21 | --wrap __gettimeofday64 22 | --wrap __time64 23 | --wrap __nanosleep64 24 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/fptest.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2006 Gilles Chanteperdrix 5 | */ 6 | 7 | #ifndef _COBALT_ARM64_FPTEST_H 8 | #define _COBALT_ARM64_FPTEST_H 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #define have_fp (ELF_HWCAP & HWCAP_FP) 15 | 16 | static inline int fp_linux_begin(void) 17 | { 18 | return -ENOSYS; 19 | } 20 | 21 | static inline void fp_linux_end(void) 22 | { 23 | } 24 | 25 | static inline int fp_detect(void) 26 | { 27 | return have_fp ? __COBALT_HAVE_FPU : 0; 28 | } 29 | 30 | #endif /* !_COBALT_ARM64_FPTEST_H */ 31 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/include/INCLUDE.policy: -------------------------------------------------------------------------------- 1 | RTnet Include Policy 2 | 3 | 1. Every source file (//.c) shall have an associated 4 | header file (/include//.h). This header shall contain 5 | all required #defines, types, and function prototypes (except they are 6 | API related). 7 | 8 | 2. API functions, types, etc. shall be placed in header files located in 9 | the main include directory (/include/.h>). The header files 10 | shall be named after the associated module. 11 | 12 | 3. The main include directory shall only contain API header files. 13 | 14 | 4. All header files shall be includable without requiring further header 15 | file to be included beforehand. 16 | -------------------------------------------------------------------------------- /kernel/drivers/analogy/national_instruments/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/drivers/xenomai/analogy 3 | 4 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_MITE) += analogy_ni_mite.o 5 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_TIO) += analogy_ni_tio.o 6 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_MIO) += analogy_ni_mio.o 7 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_PCIMIO) += analogy_ni_pcimio.o 8 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_670x) += analogy_ni_670x.o 9 | obj-$(CONFIG_XENO_DRIVERS_ANALOGY_NI_660x) += analogy_ni_660x.o 10 | 11 | analogy_ni_mite-y := mite.o 12 | analogy_ni_tio-y := tio_common.o 13 | analogy_ni_mio-y := mio_common.o 14 | analogy_ni_pcimio-y := pcimio.o 15 | analogy_ni_670x-y := ni_670x.o 16 | analogy_ni_660x-y := ni_660x.o 17 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/lock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | */ 4 | 5 | #ifndef _COBALT_KERNEL_DOVETAIL_LOCK_H 6 | #define _COBALT_KERNEL_DOVETAIL_LOCK_H 7 | 8 | #include 9 | 10 | typedef hard_spinlock_t pipeline_spinlock_t; 11 | 12 | #define PIPELINE_SPIN_LOCK_UNLOCKED(__name) __HARD_SPIN_LOCK_INITIALIZER(__name) 13 | 14 | #ifdef CONFIG_XENO_OPT_DEBUG_LOCKING 15 | /* Disable UP-over-SMP kernel optimization in debug mode. */ 16 | #define __locking_active__ 1 17 | 18 | #else 19 | 20 | #ifdef CONFIG_SMP 21 | #define __locking_active__ 1 22 | #else 23 | #define __locking_active__ IS_ENABLED(CONFIG_SMP) 24 | #endif 25 | 26 | #endif 27 | 28 | #endif /* !_COBALT_KERNEL_DOVETAIL_LOCK_H */ 29 | -------------------------------------------------------------------------------- /kernel/drivers/net/Kconfig: -------------------------------------------------------------------------------- 1 | menu "RTnet" 2 | 3 | config XENO_DRIVERS_NET 4 | depends on m 5 | select NET 6 | tristate "RTnet, TCP/IP socket interface" 7 | 8 | if XENO_DRIVERS_NET 9 | 10 | config XENO_DRIVERS_RTNET_CHECKED 11 | bool "Internal Bug Checks" 12 | default n 13 | help 14 | Switch on if you face crashes when RTnet is running or if you suspect 15 | any other RTnet-related issues. This feature will add a few sanity 16 | checks at critical points that will produce warnings on the kernel 17 | console in case certain internal bugs are detected. 18 | 19 | source "drivers/xenomai/net/stack/Kconfig" 20 | source "drivers/xenomai/net/drivers/Kconfig" 21 | source "drivers/xenomai/net/addons/Kconfig" 22 | 23 | endif 24 | 25 | endmenu 26 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm/include/asm/xenomai/time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | */ 9 | 10 | #ifndef _LIB_COBALT_ARM_TIME_H 11 | #define _LIB_COBALT_ARM_TIME_H 12 | 13 | #define COBALT_VDSO_VERSION "LINUX_2.6" 14 | 15 | #if __USE_TIME_BITS64 && __TIMESIZE == 32 16 | #define COBALT_VDSO_GETTIME "__vdso_clock_gettime64" 17 | #else 18 | #define COBALT_VDSO_GETTIME "__vdso_clock_gettime" 19 | #endif 20 | 21 | #endif /* !_LIB_COBALT_ARM_TIME_H */ 22 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/include/asm/xenomai/time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | */ 9 | 10 | #ifndef _LIB_COBALT_X86_TIME_H 11 | #define _LIB_COBALT_X86_TIME_H 12 | 13 | #define COBALT_VDSO_VERSION "LINUX_2.6" 14 | 15 | #if __USE_TIME_BITS64 && __TIMESIZE == 32 16 | #define COBALT_VDSO_GETTIME "__vdso_clock_gettime64" 17 | #else 18 | #define COBALT_VDSO_GETTIME "__vdso_clock_gettime" 19 | #endif 20 | 21 | #endif /* !_LIB_COBALT_X86_TIME_H */ 22 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/include/asm/xenomai/time.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | */ 9 | 10 | #ifndef _LIB_COBALT_ARM64_TIME_H 11 | #define _LIB_COBALT_ARM64_TIME_H 12 | 13 | #define COBALT_VDSO_VERSION "LINUX_2.6.39" 14 | 15 | #if __USE_TIME_BITS64 && __TIMESIZE == 32 16 | #define COBALT_VDSO_GETTIME "__vdso_clock_gettime64" 17 | #else 18 | #define COBALT_VDSO_GETTIME "__kernel_clock_gettime" 19 | #endif 20 | 21 | #endif /* !_LIB_COBALT_ARM64_TIME_H */ 22 | -------------------------------------------------------------------------------- /kernel/cobalt/include/asm-generic/xenomai/thread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | */ 9 | #ifndef _COBALT_ASM_GENERIC_THREAD_H 10 | #define _COBALT_ASM_GENERIC_THREAD_H 11 | 12 | #include 13 | 14 | struct xnarchtcb { 15 | struct dovetail_altsched_context altsched; 16 | }; 17 | 18 | static inline 19 | struct task_struct *xnarch_host_task(struct xnarchtcb *tcb) 20 | { 21 | return tcb->altsched.task; 22 | } 23 | 24 | #endif /* !_COBALT_ASM_GENERIC_THREAD_H */ 25 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/Kconfig: -------------------------------------------------------------------------------- 1 | menuconfig XENO_DRIVERS_NET_RTMAC 2 | depends on XENO_DRIVERS_NET 3 | tristate "RTmac Layer" 4 | default y 5 | help 6 | The Real-Time Media Access Control layer allows to extend the RTnet 7 | stack with software-based access control mechanisms (also called 8 | disciplines) for nondeterministic transport media. Disciplines can be 9 | attached and detached per real-time device. RTmac also provides a 10 | framework for tunnelling non-time-critical packets through real-time 11 | networks by installing virtual NICs (VNIC) in the Linux domain. 12 | 13 | See Documentation/README.rtmac for further information. 14 | 15 | source "drivers/xenomai/net/stack/rtmac/tdma/Kconfig" 16 | source "drivers/xenomai/net/stack/rtmac/nomac/Kconfig" 17 | -------------------------------------------------------------------------------- /testsuite/smokey/arith/arith-noinline.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "arith-noinline.h" 3 | 4 | long long dummy(void) 5 | { 6 | return 0; 7 | } 8 | 9 | long long 10 | do_llimd(long long ll, unsigned m, unsigned d) 11 | { 12 | return xnarch_llimd(ll, m, d); 13 | } 14 | 15 | long long 16 | do_llmulshft(long long ll, unsigned m, unsigned s) 17 | { 18 | return xnarch_llmulshft(ll, m, s); 19 | } 20 | 21 | #ifdef XNARCH_HAVE_NODIV_LLIMD 22 | unsigned long long 23 | do_nodiv_ullimd(unsigned long long ll, unsigned long long frac, unsigned integ) 24 | { 25 | return xnarch_nodiv_ullimd(ll, frac, integ); 26 | } 27 | 28 | long long 29 | do_nodiv_llimd(long long ll, unsigned long long frac, unsigned integ) 30 | { 31 | return xnarch_nodiv_llimd(ll, frac, integ); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Regular C artifacts 2 | *.a 3 | *.la 4 | *.lo 5 | *.o 6 | *.s 7 | *.so 8 | 9 | # autoconf specific 10 | /aclocal.m4 11 | /autom4te.cache 12 | /config.log 13 | /config.status 14 | /config/compile 15 | /config/config.guess 16 | /config/config.sub 17 | /config/depcomp 18 | /config/install-sh 19 | /config/libtool.m4 20 | /config/ltmain.sh 21 | /config/ltoptions.m4 22 | /config/ltsugar.m4 23 | /config/ltversion.m4 24 | /config/lt~obsolete.m4 25 | /config/missing 26 | /configure 27 | /include/stamp-h? 28 | /libtool 29 | /include/xeno_config.h 30 | /include/xeno_config.h.in* 31 | /.ccache 32 | .deps 33 | .libs 34 | .dirstamp 35 | Makefile 36 | Makefile.in 37 | # They are part of AC_CONFIG_FILES 38 | /utils/net/rtnet 39 | /utils/net/rtnet.conf 40 | /scripts/xeno 41 | /scripts/xeno-config 42 | -------------------------------------------------------------------------------- /kernel/cobalt/posix/gen-syscall-entries.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | set -e 4 | 5 | shift 6 | 7 | awk ' 8 | match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/) { 9 | str=substr($0, RSTART + 15, RLENGTH - 15) 10 | match(str, /[^, \t]*/) 11 | syscall=substr(str, RSTART, RLENGTH) 12 | 13 | if (syscall == "") { 14 | print "Failed to find syscall name in line " $0 > "/dev/stderr" 15 | exit 1 16 | } 17 | 18 | calls = calls " __COBALT_CALL_ENTRY(" syscall ") \\\n" 19 | modes = modes " __COBALT_MODE(" str ") \\\n" 20 | next 21 | } 22 | 23 | /COBALT_SYSCALL\(/ { 24 | print "Failed to parse line " $0 > "/dev/stderr" 25 | exit 1 26 | } 27 | 28 | END { 29 | print "#define __COBALT_CALL_ENTRIES \\\n" calls " /* end */" 30 | print "#define __COBALT_CALL_MODES \\\n" modes " /* end */" 31 | } 32 | ' $* 33 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/ipv4/tcp/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_RTIPV4_TCP 2 | tristate "TCP support" 3 | depends on XENO_DRIVERS_NET_RTIPV4 4 | help 5 | Enables TCP support of the RTnet Real-Time IPv4 protocol. 6 | 7 | When the RTnet IPv4 is enabled while this feature is disabled, TCP 8 | will be forwarded to the Linux network stack. 9 | 10 | config XENO_DRIVERS_NET_RTIPV4_TCP_ERROR_INJECTION 11 | bool "TCP error injection" 12 | depends on XENO_DRIVERS_NET_RTIPV4_TCP 13 | help 14 | Enables error injection for incoming TCP packets. This can be used 15 | to test both protocol as well as application behavior under error 16 | conditions. The per-socket error rate is 0 by default and can be 17 | tuned during runtime via the error_rate and multi_error module 18 | parameters. 19 | -------------------------------------------------------------------------------- /kernel/cobalt/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_XENOMAI) += pipeline/ xenomai.o rtdm/ posix/ 2 | 3 | xenomai-y := arith.o \ 4 | bufd.o \ 5 | clock.o \ 6 | heap.o \ 7 | init.o \ 8 | lock.o \ 9 | registry.o \ 10 | sched-idle.o \ 11 | sched-rt.o \ 12 | sched.o \ 13 | select.o \ 14 | synch.o \ 15 | thread.o \ 16 | time.o \ 17 | timer.o \ 18 | tree.o 19 | 20 | xenomai-$(CONFIG_XENO_OPT_SCHED_QUOTA) += sched-quota.o 21 | xenomai-$(CONFIG_XENO_OPT_SCHED_WEAK) += sched-weak.o 22 | xenomai-$(CONFIG_XENO_OPT_SCHED_SPORADIC) += sched-sporadic.o 23 | xenomai-$(CONFIG_XENO_OPT_SCHED_TP) += sched-tp.o 24 | xenomai-$(CONFIG_XENO_OPT_DEBUG) += debug.o 25 | xenomai-$(CONFIG_XENO_OPT_PIPE) += pipe.o 26 | xenomai-$(CONFIG_XENO_OPT_MAP) += map.o 27 | xenomai-$(CONFIG_PROC_FS) += vfile.o procfs.o 28 | -------------------------------------------------------------------------------- /kernel/cobalt/dovetail/syscall.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2005 Philippe Gerum 5 | * Copyright (C) 2005 Gilles Chanteperdrix 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | int handle_pipelined_syscall(struct irq_stage *stage, struct pt_regs *regs) 16 | { 17 | if (unlikely(running_inband())) 18 | return handle_root_syscall(regs); 19 | 20 | return handle_head_syscall(stage == &inband_stage, regs); 21 | } 22 | 23 | int handle_oob_syscall(struct pt_regs *regs) 24 | { 25 | return handle_head_syscall(false, regs); 26 | } 27 | -------------------------------------------------------------------------------- /demo/posix/cyclictest/Makefile.am: -------------------------------------------------------------------------------- 1 | demodir = @XENO_DEMO_DIR@ 2 | 3 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 4 | 5 | VERSION_STRING = 0.92 6 | 7 | demo_PROGRAMS = cyclictest 8 | 9 | cyclictest_CPPFLAGS = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include \ 12 | -DVERSION_STRING=$(VERSION_STRING) \ 13 | -Wno-strict-prototypes \ 14 | -Wno-implicit-function-declaration \ 15 | -Wno-missing-prototypes \ 16 | -Wno-nonnull \ 17 | -Wno-unused-function 18 | 19 | cyclictest_SOURCES = \ 20 | cyclictest.c \ 21 | error.c \ 22 | error.h \ 23 | rt_numa.h \ 24 | rt-utils.c \ 25 | rt-utils.h 26 | 27 | cyclictest_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 28 | 29 | cyclictest_LDADD = \ 30 | @XENO_CORE_LDADD@ \ 31 | @XENO_USER_LDADD@ \ 32 | -lpthread -lrt -lm 33 | -------------------------------------------------------------------------------- /demo/posix/cyclictest/rt-utils.h: -------------------------------------------------------------------------------- 1 | #ifndef __RT_UTILS_H 2 | #define __RT_UTILS_H 3 | 4 | #include 5 | #include 6 | 7 | #ifndef SCHED_NORMAL 8 | #define SCHED_NORMAL SCHED_OTHER 9 | #endif 10 | 11 | #define _STR(x) #x 12 | #define STR(x) _STR(x) 13 | #define MAX_PATH 256 14 | 15 | int check_privs(void); 16 | char *get_debugfileprefix(void); 17 | int mount_debugfs(char *); 18 | int get_tracers(char ***); 19 | int valid_tracer(char *); 20 | 21 | int setevent(char *event, char *val); 22 | int event_enable(char *event); 23 | int event_disable(char *event); 24 | int event_enable_all(void); 25 | int event_disable_all(void); 26 | 27 | const char *policy_to_string(int policy); 28 | uint32_t string_to_policy(const char *str); 29 | 30 | pid_t gettid(void); 31 | 32 | #endif /* __RT_UTILS.H */ 33 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/thread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2015 Dmitriy Cherkasov 5 | * Copyright (C) 2021 Philippe Gerum 6 | */ 7 | 8 | #ifndef _COBALT_ARM64_THREAD_H 9 | #define _COBALT_ARM64_THREAD_H 10 | 11 | #include 12 | #include 13 | 14 | #define xnarch_fault_pc(__regs) ((unsigned long)((__regs)->pc - 4)) /* XXX ? */ 15 | 16 | #define xnarch_fault_pf_p(__nr) ((__nr) == ARM64_TRAP_ACCESS) 17 | #define xnarch_fault_bp_p(__nr) ((current->ptrace & PT_PTRACED) && \ 18 | ((__nr) == ARM64_TRAP_DEBUG || (__nr) == ARM64_TRAP_UNDI)) 19 | 20 | #define xnarch_fault_notify(__nr) (!xnarch_fault_bp_p(__nr)) 21 | 22 | #endif /* !_COBALT_ARM64_THREAD_H */ 23 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/calibration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2015 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_ARM64_CALIBRATION_H 8 | #define _COBALT_ARM64_CALIBRATION_H 9 | 10 | static inline void xnarch_get_latencies(struct xnclock_gravity *p) 11 | { 12 | unsigned int sched_latency; 13 | 14 | #if CONFIG_XENO_OPT_TIMING_SCHEDLAT != 0 15 | sched_latency = CONFIG_XENO_OPT_TIMING_SCHEDLAT; 16 | #else 17 | sched_latency = 5000; 18 | #endif 19 | p->user = xnclock_ns_to_ticks(&nkclock, sched_latency); 20 | p->kernel = xnclock_ns_to_ticks(&nkclock, 21 | CONFIG_XENO_OPT_TIMING_KSCHEDLAT); 22 | p->irq = xnclock_ns_to_ticks(&nkclock, CONFIG_XENO_OPT_TIMING_IRQLAT); 23 | } 24 | 25 | #endif /* !_COBALT_ARM64_CALIBRATION_H */ 26 | -------------------------------------------------------------------------------- /kernel/drivers/net/drivers/igc/igc_phy.h: -------------------------------------------------------------------------------- 1 | /* SPDX-License-Identifier: GPL-2.0 */ 2 | /* Copyright (c) 2018 Intel Corporation */ 3 | 4 | #ifndef _IGC_PHY_H_ 5 | #define _IGC_PHY_H_ 6 | 7 | #include "igc_mac.h" 8 | 9 | s32 igc_check_reset_block(struct igc_hw *hw); 10 | s32 igc_phy_hw_reset(struct igc_hw *hw); 11 | s32 igc_get_phy_id(struct igc_hw *hw); 12 | s32 igc_phy_has_link(struct igc_hw *hw, u32 iterations, 13 | u32 usec_interval, bool *success); 14 | s32 igc_check_downshift(struct igc_hw *hw); 15 | s32 igc_setup_copper_link(struct igc_hw *hw); 16 | void igc_power_up_phy_copper(struct igc_hw *hw); 17 | void igc_power_down_phy_copper(struct igc_hw *hw); 18 | s32 igc_write_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 data); 19 | s32 igc_read_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 *data); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /testsuite/smokey/alchemytests/task-1.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | static struct traceobj trobj; 8 | 9 | static RT_TASK t_main; 10 | 11 | static void main_task(void *arg) 12 | { 13 | traceobj_enter(&trobj); 14 | traceobj_assert(&trobj, arg == (void *)(long)0xdeadbeef); 15 | traceobj_exit(&trobj); 16 | } 17 | 18 | int main(int argc, char *const argv[]) 19 | { 20 | int ret; 21 | 22 | traceobj_init(&trobj, argv[0], 0); 23 | 24 | ret = rt_task_create(&t_main, "main_task", 0, 99, 0); 25 | traceobj_check(&trobj, ret, 0); 26 | 27 | ret = rt_task_start(&t_main, main_task, (void *)(long)0xdeadbeef); 28 | traceobj_check(&trobj, ret, 0); 29 | 30 | traceobj_join(&trobj); 31 | 32 | exit(0); 33 | } 34 | -------------------------------------------------------------------------------- /kernel/drivers/testing/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Testing drivers" 2 | 3 | config XENO_DRIVERS_TIMERBENCH 4 | tristate "Timer benchmark driver" 5 | default y 6 | help 7 | Kernel-based benchmark driver for timer latency evaluation. 8 | See testsuite/latency for a possible front-end. 9 | 10 | config XENO_DRIVERS_SWITCHTEST 11 | tristate "Context switch unit testing driver" 12 | default y 13 | help 14 | Kernel-based driver for unit testing context switches and 15 | FPU switches. 16 | 17 | config XENO_DRIVERS_HEAPCHECK 18 | tristate "Memory allocator test driver" 19 | default y 20 | help 21 | Kernel-based driver for testing Cobalt's memory allocator. 22 | 23 | config XENO_DRIVERS_RTDMTEST 24 | depends on m 25 | tristate "RTDM unit tests driver" 26 | help 27 | Kernel driver for performing RTDM unit tests. 28 | 29 | endmenu 30 | -------------------------------------------------------------------------------- /scripts/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS=xeno-config xeno wrap-link.sh 2 | 3 | install-exec-local: 4 | @if test -r $(srcdir)/postinstall.sh ; then \ 5 | echo "Running post-install script..." ;\ 6 | $(srcdir)/postinstall.sh ; \ 7 | fi 8 | 9 | install-data-local: 10 | $(mkinstalldirs) $(DESTDIR)$(libdir) 11 | $(INSTALL_DATA) $(srcdir)/dynlist.ld $(DESTDIR)$(libdir) 12 | 13 | uninstall-local: 14 | $(RM) $(DESTDIR)$(libdir)/dynlist.ld 15 | @if test -r $(srcdir)/postinstall.sh ; then \ 16 | echo "Running post-uninstall script..." ;\ 17 | $(srcdir)/postinstall.sh --uninstall ; \ 18 | fi 19 | 20 | EXTRA_DIST = \ 21 | $(wildcard postinstall.sh) \ 22 | Kconfig.frag \ 23 | bootstrap \ 24 | dynlist.ld \ 25 | histo.gp \ 26 | prepare-kernel.sh \ 27 | wrap-link.sh \ 28 | xeno-config-cobalt.in \ 29 | xeno-config-mercury.in \ 30 | xeno.in 31 | -------------------------------------------------------------------------------- /debian/libxenomai1.xenomai.init: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | ### BEGIN INIT INFO 3 | # Provides: xenomai 4 | # Required-Start: mountkernfs 5 | # Required-Stop: 6 | # Default-Start: 2 3 4 5 7 | # Default-Stop: 0 1 6 8 | # Short-Description: Set Xenomai group 9 | ### END INIT INFO 10 | 11 | GROUP=xenomai 12 | INITNAME=/etc/init.d/xenomai 13 | FILENAME=/sys/module/xenomai/parameters/allowed_group 14 | GID=$(getent group $GROUP | cut -d: -f3) 15 | 16 | test -e $FILENAME || exit 0 17 | test -n "$GID" || exit 0 18 | 19 | case "$1" in 20 | start) 21 | echo "$GID" > $FILENAME 22 | ;; 23 | stop) 24 | echo "-1" > $FILENAME 25 | ;; 26 | restart|force-reload) 27 | $0 start 28 | ;; 29 | *) 30 | echo "Usage: $INITNAME {start|stop|restart|force-reload}" 31 | exit 1 32 | ;; 33 | esac 34 | 35 | exit 0 36 | 37 | -------------------------------------------------------------------------------- /lib/psos/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libpsos@CORE@.la 2 | 3 | libpsos@CORE@_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 4 | 5 | libpsos@CORE@_la_LIBADD = \ 6 | @XENO_CORE_LDADD@ \ 7 | $(top_builddir)/lib/copperplate/libcopperplate@CORE@.la 8 | 9 | libpsos@CORE@_la_SOURCES = \ 10 | init.c \ 11 | internal.h \ 12 | pt.c \ 13 | pt.h \ 14 | queue.c \ 15 | queue.h \ 16 | rn.c \ 17 | rn.h \ 18 | sem.c \ 19 | sem.h \ 20 | task.c \ 21 | task.h \ 22 | tm.c \ 23 | tm.h \ 24 | reference.h 25 | 26 | libpsos@CORE@_la_CPPFLAGS = \ 27 | @XENO_USER_CFLAGS@ \ 28 | -I$(top_srcdir)/include \ 29 | -I$(top_srcdir)/lib 30 | 31 | AM_LIBTOOLFLAGS = --silent 32 | 33 | EXTRA_DIST = testsuite 34 | 35 | SPARSE = sparse 36 | 37 | sparse: 38 | @for i in $(libpsos@CORE@_la_SOURCES); do \ 39 | $(SPARSE) $(CHECKFLAGS) $(srcdir)/$$i; \ 40 | done 41 | -------------------------------------------------------------------------------- /scripts/make-release.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | usage() { 4 | echo "usage: $0 name" 5 | exit 1 6 | } 7 | 8 | name=$1 9 | 10 | if [ -z "$name" ]; then 11 | usage 12 | fi 13 | 14 | if [ ! -f config/version-code ] || [ ! -d .git ]; then 15 | echo "Must be run from top-level directory" 16 | exit 1 17 | fi 18 | 19 | if [ -n "`git status -s -uno`" ]; then 20 | echo "Working directory is dirty!" 21 | exit 1 22 | fi 23 | 24 | echo -e "Tag commit\n\n `git log -1 --oneline`" 25 | echo -e "\nof branch\n\n `git branch | sed -n 's/^\* //p'`" 26 | echo -ne "\nas $name? (y/N) " 27 | read answer 28 | if [ "$answer" != "y" ]; then 29 | exit 1 30 | fi 31 | 32 | echo $name | sed "s/v//" > config/version-code 33 | cp config/version-code config/version-label 34 | git commit -sv config/version-code config/version-label -m "config: Bump version number" 35 | git tag -as $name -m "Release $name" 36 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/kevents.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2020 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_KERNEL_DOVETAIL_KEVENTS_H 8 | #define _COBALT_KERNEL_DOVETAIL_KEVENTS_H 9 | 10 | #define KEVENT_PROPAGATE 0 11 | #define KEVENT_STOP 1 12 | 13 | struct cobalt_process; 14 | struct cobalt_thread; 15 | 16 | static inline 17 | int pipeline_attach_process(struct cobalt_process *process) 18 | { 19 | return 0; 20 | } 21 | 22 | static inline 23 | void pipeline_detach_process(struct cobalt_process *process) 24 | { } 25 | 26 | int pipeline_prepare_current(void); 27 | 28 | void pipeline_attach_current(struct xnthread *thread); 29 | 30 | int pipeline_trap_kevents(void); 31 | 32 | void pipeline_enable_kevents(void); 33 | 34 | void pipeline_cleanup_process(void); 35 | 36 | #endif /* !_COBALT_KERNEL_DOVETAIL_KEVENTS_H */ 37 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/machine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2015 Dmitriy Cherkasov 5 | */ 6 | 7 | #ifndef _COBALT_ARM64_MACHINE_H 8 | #define _COBALT_ARM64_MACHINE_H 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | /* D-side always behaves as PIPT on AArch64 (see arch/arm64/include/asm/cachetype.h) */ 15 | #define xnarch_cache_aliasing() 0 16 | 17 | static inline __attribute_const__ unsigned long ffnz(unsigned long ul) 18 | { 19 | int __r; 20 | 21 | /* zero input is not valid */ 22 | XENO_WARN_ON(COBALT, ul == 0); 23 | 24 | __asm__ ("rbit\t%0, %1\n" 25 | "clz\t%0, %0\n" 26 | : "=r" (__r) : "r"(ul) : "cc"); 27 | 28 | return __r; 29 | } 30 | 31 | #include 32 | 33 | #endif /* !_COBALT_ARM64_MACHINE_H */ 34 | -------------------------------------------------------------------------------- /debian/xenomai-kernel-source.README.Debian: -------------------------------------------------------------------------------- 1 | Xenomai kernel sources in Debian 2 | ================================ 3 | 4 | With this package, you can patch and build kernels suitable for usage with 5 | Xenomai. This can be done with, e.g.: 6 | 7 | # cd /usr/src/linux-3.8.13 8 | # /usr/src/xenomai-kernel-source/scripts/prepare-kernel.sh --linux=. 9 | # make config 10 | # make-kpkg --rootcmd fakeroot --initrd kernel_image 11 | 12 | For help about preparing and installing a Xenomai-enabled kernel see: 13 | http://www.xenomai.org/documentation/xenomai-2.6/html/README.INSTALL/#prepare-kernel 14 | 15 | For help about configuring a Linux kernel for use with Xenomai and in 16 | particular about the options which should not be enabled see: 17 | http://www.xenomai.org/index.php/Configuring_x86_kernels 18 | 19 | You can also get help on the Xenomai mailing list. Subscribe here: 20 | https://www.xenomai.org/mailman/listinfo/xenomai 21 | -------------------------------------------------------------------------------- /utils/can/Makefile.am: -------------------------------------------------------------------------------- 1 | sbin_PROGRAMS = rtcanconfig 2 | 3 | bin_PROGRAMS = rtcanrecv rtcansend 4 | 5 | CCLD = $(top_srcdir)/scripts/wrap-link.sh $(CC) 6 | 7 | AM_CPPFLAGS = \ 8 | @XENO_USER_CFLAGS@ \ 9 | -I$(top_srcdir)/include 10 | 11 | AM_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 12 | 13 | rtcanconfig_SOURCES = rtcanconfig.c 14 | 15 | rtcanconfig_LDADD = \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt 19 | 20 | rtcanrecv_SOURCES = rtcanrecv.c 21 | 22 | rtcanrecv_LDADD = \ 23 | ../../lib/alchemy/libalchemy@CORE@.la \ 24 | ../../lib/copperplate/libcopperplate@CORE@.la \ 25 | @XENO_CORE_LDADD@ \ 26 | @XENO_USER_LDADD@ \ 27 | -lpthread -lrt 28 | 29 | rtcansend_SOURCES = rtcansend.c 30 | 31 | rtcansend_LDADD = \ 32 | ../../lib/alchemy/libalchemy@CORE@.la \ 33 | ../../lib/copperplate/libcopperplate@CORE@.la \ 34 | @XENO_CORE_LDADD@ \ 35 | @XENO_USER_LDADD@ \ 36 | -lpthread -lrt 37 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/include/corectl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Gilles Chanteperdrix . 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | 19 | void rtnet_corectl_register(void); 20 | void rtnet_corectl_unregister(void); 21 | -------------------------------------------------------------------------------- /testsuite/smokey/psostests/tm-7.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | static struct traceobj trobj; 8 | 9 | static void task(u_long a0, u_long a1, u_long a2, u_long a3) 10 | { 11 | unsigned long timer_id; 12 | int i; 13 | 14 | traceobj_enter(&trobj); 15 | 16 | for (i = 0; i < 100; i++) 17 | tm_evafter(20, 0x1, &timer_id); 18 | 19 | t_delete(0); 20 | 21 | traceobj_exit(&trobj); 22 | } 23 | 24 | int main(int argc, char *const argv[]) 25 | { 26 | u_long args[] = { 1, 2, 3, 4 }; 27 | unsigned long tid; 28 | int ret; 29 | 30 | traceobj_init(&trobj, argv[0], 0); 31 | 32 | ret = t_create("TASK", 20, 0, 0, 0, &tid); 33 | traceobj_assert(&trobj, ret == SUCCESS); 34 | 35 | ret = t_start(tid, 0, task, args); 36 | traceobj_assert(&trobj, ret == SUCCESS); 37 | 38 | tm_wkafter(10); 39 | 40 | traceobj_join(&trobj); 41 | 42 | exit(0); 43 | } 44 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtmac/tdma/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_TDMA 2 | tristate "TDMA discipline for RTmac" 3 | depends on XENO_DRIVERS_NET_RTMAC 4 | default y 5 | help 6 | The Time Division Multiple Access discipline is the default RTmac 7 | protocol for Ethernet networks. It consists of a master synchronising 8 | the access of the slaves to the media by periodically issuing frames. 9 | Backup masters can be set up to take over if the primary master fails. 10 | TDMA also provides a global clock across all participants. The tdmacfg 11 | tool can be used to configure a real-time NIC to use TDMA. 12 | 13 | See Documenatation/README.rtmac for further details. 14 | 15 | config XENO_DRIVERS_NET_TDMA_MASTER 16 | bool "TDMA master support" 17 | depends on XENO_DRIVERS_NET_TDMA 18 | default y 19 | help 20 | Enables TDMA master and backup master support for the node. This can 21 | be switched of to reduce the memory footprint of pure slave nodes. 22 | -------------------------------------------------------------------------------- /testsuite/smokey/psostests/task-1.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | static struct traceobj trobj; 8 | 9 | static u_long tid; 10 | 11 | static void root_task(u_long a0, u_long a1, u_long a2, u_long a3) 12 | { 13 | traceobj_enter(&trobj); 14 | 15 | traceobj_assert(&trobj, a0 == 1); 16 | traceobj_assert(&trobj, a1 == 2); 17 | traceobj_assert(&trobj, a2 == 3); 18 | traceobj_assert(&trobj, a3 == 4); 19 | 20 | traceobj_exit(&trobj); 21 | } 22 | 23 | int main(int argc, char *const argv[]) 24 | { 25 | u_long args[] = { 1, 2, 3, 4 }; 26 | int ret; 27 | 28 | traceobj_init(&trobj, argv[0], 0); 29 | 30 | ret = t_create("root", 1, 0, 0, 0, &tid); 31 | traceobj_assert(&trobj, ret == SUCCESS); 32 | 33 | ret = t_start(tid, 0, root_task, args); 34 | traceobj_assert(&trobj, ret == SUCCESS); 35 | 36 | traceobj_join(&trobj); 37 | 38 | exit(0); 39 | } 40 | -------------------------------------------------------------------------------- /lib/psos/reference.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | 21 | #define libpsos_tag 2 22 | #define libpsos_cbi 1 23 | -------------------------------------------------------------------------------- /testsuite/smokey/psostests/tm-1.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #define TEST_DATE ((2008 << 16)|(4 << 8)|25) /* 4/25/2008 */ 8 | #define TEST_TIME ((11 << 16)|(17 << 8)|30) /* 11:17:30 */ 9 | #define TEST_TICKS 10 10 | 11 | static struct traceobj trobj; 12 | 13 | int main(int argc, char *const argv[]) 14 | { 15 | unsigned long date, time, ticks; 16 | int ret, tries = 0; 17 | 18 | traceobj_init(&trobj, argv[0], 0); 19 | 20 | for (;;) { 21 | ret = tm_set(TEST_DATE, TEST_TIME, TEST_TICKS); 22 | traceobj_assert(&trobj, ret == SUCCESS); 23 | ret = tm_get(&date, &time, &ticks); 24 | traceobj_assert(&trobj, ret == SUCCESS); 25 | if (time == TEST_TIME) 26 | break; 27 | if (++tries > 3) 28 | break; 29 | } 30 | 31 | traceobj_assert(&trobj, date == TEST_DATE); 32 | traceobj_assert(&trobj, time == TEST_TIME); 33 | 34 | exit(0); 35 | } 36 | -------------------------------------------------------------------------------- /include/mercury/pthread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #pragma GCC system_header 19 | #include_next 20 | 21 | #include 22 | -------------------------------------------------------------------------------- /lib/alchemy/reference.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | 21 | #define libalchemy_tag 3 22 | #define libalchemy_cbi 1 23 | -------------------------------------------------------------------------------- /lib/vxworks/reference.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | 21 | #define libvxworks_tag 1 22 | #define libvxworks_cbi 1 23 | -------------------------------------------------------------------------------- /kernel/drivers/gpio/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-$(CONFIG_XENO_DRIVERS_GPIO_DEBUG) := -DDEBUG 2 | 3 | obj-$(CONFIG_XENO_DRIVERS_GPIO_BCM2835) += xeno-gpio-bcm2835.o 4 | obj-$(CONFIG_XENO_DRIVERS_GPIO_BCM2711) += xeno-gpio-bcm2711.o 5 | obj-$(CONFIG_XENO_DRIVERS_GPIO_MXC) += xeno-gpio-mxc.o 6 | obj-$(CONFIG_XENO_DRIVERS_GPIO_SUN8I_H3) += xeno-gpio-sun8i-h3.o 7 | obj-$(CONFIG_XENO_DRIVERS_GPIO_ZYNQ7000) += xeno-gpio-zynq7000.o 8 | obj-$(CONFIG_XENO_DRIVERS_GPIO_XILINX) += xeno-gpio-xilinx.o 9 | obj-$(CONFIG_XENO_DRIVERS_GPIO_OMAP) += xeno-gpio-omap.o 10 | obj-$(CONFIG_XENO_DRIVERS_GPIO_CHERRYVIEW) += xeno-gpio-cherryview.o 11 | obj-$(CONFIG_XENO_DRIVERS_GPIO) += gpio-core.o 12 | 13 | xeno-gpio-bcm2835-y := gpio-bcm2835.o 14 | xeno-gpio-bcm2711-y := gpio-bcm2711.o 15 | xeno-gpio-mxc-y := gpio-mxc.o 16 | xeno-gpio-sun8i-h3-y := gpio-sun8i-h3.o 17 | xeno-gpio-zynq7000-y := gpio-zynq7000.o 18 | xeno-gpio-xilinx-y := gpio-xilinx.o 19 | xeno-gpio-omap-y := gpio-omap.o 20 | xeno-gpio-cherryview-y := gpio-cherryview.o 21 | -------------------------------------------------------------------------------- /testsuite/smokey/net_common/smokey_net_server.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RTnet test server 3 | * 4 | * Copyright (C) 2015 Gilles Chanteperdrix 5 | * 6 | * SPDX-License-Identifier: MIT 7 | */ 8 | 9 | #ifndef SMOKEY_NET_CHECK_H 10 | #define SMOKEY_NET_CHECK_H 11 | 12 | #define check_native(expr) \ 13 | smokey_net_server_check_inner(__FILE__, __LINE__, #expr, (expr)) 14 | 15 | #define check_pthread(expr) \ 16 | smokey_net_server_check_inner(__FILE__, __LINE__, #expr, -(expr)) 17 | 18 | #define check_unix(expr) \ 19 | ({ \ 20 | int s = (expr); \ 21 | smokey_net_server_check_inner(__FILE__, __LINE__, #expr, s < 0 ? -errno : s); \ 22 | }) 23 | 24 | struct smokey_server; 25 | 26 | int smokey_net_server_check_inner(const char *file, int line, 27 | const char *msg, int status); 28 | 29 | void smokey_net_server_loop(int net_config); 30 | 31 | #endif /* SMOKEY_NET_CHECK_H */ 32 | -------------------------------------------------------------------------------- /testsuite/smokey/psostests/tm-6.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | static struct traceobj trobj; 8 | 9 | static void task(u_long a0, u_long a1, u_long a2, u_long a3) 10 | { 11 | unsigned long timer_id; 12 | int i; 13 | 14 | traceobj_enter(&trobj); 15 | 16 | for (i = 0; i < 100; i++) 17 | tm_evafter(20, 0x1, &timer_id); 18 | 19 | tm_wkafter(100); 20 | 21 | t_delete(0); 22 | 23 | traceobj_exit(&trobj); 24 | } 25 | 26 | int main(int argc, char *const argv[]) 27 | { 28 | u_long args[] = { 1, 2, 3, 4 }; 29 | unsigned long tid; 30 | int ret; 31 | 32 | traceobj_init(&trobj, argv[0], 0); 33 | 34 | ret = t_create("TASK", 20, 0, 0, 0, &tid); 35 | traceobj_assert(&trobj, ret == SUCCESS); 36 | 37 | ret = t_start(tid, 0, task, args); 38 | traceobj_assert(&trobj, ret == SUCCESS); 39 | 40 | tm_wkafter(10); 41 | 42 | traceobj_join(&trobj); 43 | 44 | exit(0); 45 | } 46 | -------------------------------------------------------------------------------- /doc/asciidoc/plaintext_postproc.awk: -------------------------------------------------------------------------------- 1 | BEGIN { 2 | link_re="\"(http|file|https|ftp|irc|mailto):[^#\"]*$" 3 | } 4 | 5 | /Table of Contents/ { 6 | in_toc=1 7 | print $0 8 | next 9 | } 10 | 11 | in_toc && /^([ \t]*[0-9]\.|$)/ { 12 | print $0 13 | next 14 | } 15 | 16 | in_toc { 17 | in_toc=0 18 | } 19 | 20 | $0 ~ link_re { 21 | i = match($0, link_re) 22 | print substr($0, 1, i - 1) 23 | unfinished_url=substr($0, i) 24 | next 25 | } 26 | 27 | unfinished_url && /"/ { 28 | sub(/^[ \t]*/,"") 29 | print unfinished_url$0 30 | unfinished_url=0 31 | next 32 | } 33 | 34 | unfinished_url { 35 | sub(/^[ \t]*/,"") 36 | unfinished_url=unfinished_url$0 37 | next 38 | } 39 | 40 | /^[0-9]\.[0-9.]*/ { 41 | title=$0 42 | next 43 | } 44 | 45 | title && /^[ \t]*$/ { 46 | print "" 47 | print title 48 | gsub(/./, "-", title) 49 | print title 50 | print $0 51 | title=0 52 | next 53 | } 54 | 55 | title { 56 | print title 57 | print $0 58 | title=0 59 | next 60 | } 61 | 62 | { 63 | print $0 64 | } 65 | -------------------------------------------------------------------------------- /kernel/cobalt/posix/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y += -I$(srctree)/kernel 3 | 4 | obj-$(CONFIG_XENOMAI) += xenomai.o 5 | 6 | xenomai-y := \ 7 | clock.o \ 8 | cond.o \ 9 | corectl.o \ 10 | event.o \ 11 | io.o \ 12 | memory.o \ 13 | monitor.o \ 14 | mqueue.o \ 15 | mutex.o \ 16 | nsem.o \ 17 | process.o \ 18 | sched.o \ 19 | sem.o \ 20 | signal.o \ 21 | syscall.o \ 22 | thread.o \ 23 | timer.o \ 24 | timerfd.o 25 | 26 | syscall_entries := $(srctree)/kernel/xenomai/posix/gen-syscall-entries.sh 27 | 28 | quiet_cmd_syscall_entries = GEN $@ 29 | cmd_syscall_entries = $(CONFIG_SHELL) '$(syscall_entries)' $(filter-out FORCE,$^) > $@ 30 | 31 | $(obj)/syscall_entries.h: $(syscall_entries) $(wildcard $(srctree)/kernel/xenomai/posix/*.c) FORCE 32 | $(call if_changed,syscall_entries) 33 | 34 | target += syscall_entries.h 35 | clean-files += syscall_entries.h 36 | 37 | $(obj)/syscall.o: $(obj)/syscall_entries.h 38 | 39 | xenomai-$(CONFIG_XENO_ARCH_SYS3264) += compat.o syscall32.o 40 | -------------------------------------------------------------------------------- /doc/asciidoc/man1/xeno.adoc: -------------------------------------------------------------------------------- 1 | // ** The above line should force tbl to be a preprocessor ** 2 | // Man page for xeno 3 | // 4 | // Copyright (C) 2010 Roland Stigge 5 | // 6 | // You may distribute under the terms of the GNU General Public 7 | // License as specified in the file COPYING that comes with the 8 | // Xenomai distribution. 9 | // 10 | // 11 | CLOCKTEST(1) 12 | ============ 13 | :doctype: manpage 14 | :revdate: 2010/14/02 15 | :man source: Xenomai 16 | :man version: {xenover} 17 | :man manual: Xenomai Manual 18 | 19 | NAME 20 | ----- 21 | xeno - Wrapper for Xenomai executables 22 | 23 | SYNOPSIS 24 | --------- 25 | xeno [xenomai command] 26 | 27 | DESCRIPTION 28 | ------------ 29 | *xeno* 30 | is a wrapper script that hides distribution-specific installation 31 | prefixes when running standard Xenomai commands. 32 | 33 | AUTHOR 34 | ------- 35 | The wrapper script xeno and this manpage were initially written by 36 | Roland Stigge for the Debian project but may be 37 | used elsewhere. 38 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/include/asm/xenomai/c1e.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Gilles Chanteperdrix . 3 | * 4 | * This program is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | #ifndef C1E_H 19 | #define C1E_H 20 | 21 | void mach_x86_c1e_disable(void); 22 | 23 | #endif /* C1E_H */ 24 | -------------------------------------------------------------------------------- /include/rtdm/spi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Philippe Gerum 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _RTDM_SPI_H 19 | #define _RTDM_SPI_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_RTDM_SPI_H */ 25 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/gpiopwm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Jorge Ramirez 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software Foundation, 16 | * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | #ifndef _COBALT_RTDM_PWM_H 19 | #define _COBALT_RTDM_PWM_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_COBALT_RTDM_PWM_H */ 25 | -------------------------------------------------------------------------------- /include/rtdm/gpio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Philippe Gerum 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _RTDM_GPIO_H 19 | #define _RTDM_GPIO_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_RTDM_GPIO_H */ 25 | -------------------------------------------------------------------------------- /lib/vxworks/intLib.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | #include 21 | 22 | BOOL intContext(void) 23 | { 24 | return threadobj_irq_p(); 25 | } 26 | -------------------------------------------------------------------------------- /include/rtdm/gpiopwm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (C) 2015 Jorge Ramirez 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _RTDM_PWM_H 19 | #define _RTDM_PWM_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_RTDM_PWM_H */ 25 | -------------------------------------------------------------------------------- /doc/doxygen/Makefile.am: -------------------------------------------------------------------------------- 1 | HTML_DOCS = html/xeno3prm html/xeno3prm/search 2 | PDF_DOCS = xeno3prm.pdf 3 | EXTRA_DIST = xeno3prm-common.conf.in xeno3prm-html.conf.in xeno3prm-latex.conf.in 4 | CLEANFILES = xeno3prm-common.conf xeno3prm-html.conf xeno3prm-latex.conf 5 | 6 | if XENO_BUILD_DOC 7 | 8 | HTML_DOCSDIR = ./ 9 | PDF_DOCSDIR = ./ 10 | 11 | all-local: html pdf 12 | 13 | html/xeno3prm/search: html/xeno3prm 14 | 15 | html: $(HTML_DOCS) 16 | 17 | pdf: $(PDF_DOCS) 18 | 19 | html/xeno3prm latex/xeno3prm: FORCE 20 | @mkdir -p $@ 21 | $(DOXYGEN) $(@F)-$(@D).conf 22 | 23 | %.pdf: latex/% 24 | $(MAKE) -C $< refman.pdf 25 | mv $. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_ALCHEMY_COMPAT_H 19 | #define _XENOMAI_ALCHEMY_COMPAT_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_ALCHEMY_COMPAT_H */ 24 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/serial.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005-2007 Jan Kiszka 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software Foundation, 16 | * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | #ifndef _COBALT_RTDM_SERIAL_H 19 | #define _COBALT_RTDM_SERIAL_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_COBALT_RTDM_SERIAL_H */ 25 | -------------------------------------------------------------------------------- /include/trank/rtdm/rtcan.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_RTDM_RTCAN_H 19 | #define _XENOMAI_TRANK_RTDM_RTCAN_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_RTDM_RTCAN_H */ 24 | -------------------------------------------------------------------------------- /include/trank/rtdm/rtipc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_RTDM_RTIPC_H 19 | #define _XENOMAI_TRANK_RTDM_RTIPC_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_RTDM_RTIPC_H */ 24 | -------------------------------------------------------------------------------- /include/trank/native/sem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_SEM_H 19 | #define _XENOMAI_TRANK_NATIVE_SEM_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_NATIVE_SEM_H */ 24 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/rtcfg/Kconfig: -------------------------------------------------------------------------------- 1 | config XENO_DRIVERS_NET_RTCFG 2 | depends on XENO_DRIVERS_NET 3 | tristate "RTcfg Service" 4 | default y 5 | help 6 | The Real-Time Configuration service configures and monitors nodes in 7 | a RTnet network. It works both with plain MAC as well as with IPv4 8 | addresses (in case CONFIG_RTNET_RTIPV4 has been switched on). RTcfg 9 | consists of a configuration server, which can run on the same station 10 | as the TDMA master e.g., and one or more clients. Clients can join and 11 | leave the network during runtime without interfering with other 12 | stations. Besides network configuration, the RTcfg server can also 13 | distribute custom data. 14 | 15 | See Documentation/README.rtcfg for further information. 16 | 17 | config XENO_DRIVERS_NET_RTCFG_DEBUG 18 | bool "RTcfg Debugging" 19 | depends on XENO_DRIVERS_NET_RTCFG 20 | default n 21 | help 22 | Enables debug message output of the RTcfg state machines. Switch on if 23 | you have to trace some problem related to RTcfg. 24 | -------------------------------------------------------------------------------- /include/trank/native/cond.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_COND_H 19 | #define _XENOMAI_TRANK_NATIVE_COND_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_NATIVE_COND_H */ 24 | -------------------------------------------------------------------------------- /lib/alchemy/timer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #ifndef _ALCHEMY_TIMER_H 20 | #define _ALCHEMY_TIMER_H 21 | 22 | #include 23 | #include 24 | 25 | #endif /* _ALCHEMY_TIMER_H */ 26 | -------------------------------------------------------------------------------- /lib/boilerplate/init/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LIBRARIES = libbootstrap.a 2 | 3 | libbootstrap_a_SOURCES = bootstrap.c 4 | 5 | libbootstrap_a_CPPFLAGS = \ 6 | @XENO_USER_CFLAGS@ \ 7 | -I$(top_srcdir)/include \ 8 | -I$(top_srcdir)/lib 9 | 10 | noinst_LTLIBRARIES = libbootstrap-pic.la 11 | 12 | libbootstrap_pic_la_SOURCES = bootstrap.c 13 | 14 | libbootstrap_pic_la_CPPFLAGS = \ 15 | -D__BOOTSTRAP_DSO__ \ 16 | @XENO_USER_CFLAGS@ \ 17 | -I$(top_srcdir)/include \ 18 | -I$(top_srcdir)/lib 19 | 20 | get_pic_object = $(shell source ./$(libbootstrap_pic_la_OBJECTS) && echo $$pic_object) 21 | 22 | all-local: $(libbootstrap_a_OBJECTS) 23 | @cp $< bootstrap-internal.o 24 | 25 | install-data-local: 26 | @$(mkinstalldirs) $(DESTDIR)$(libdir)/xenomai 27 | @$(INSTALL_DATA) $(libbootstrap_a_OBJECTS) $(DESTDIR)$(libdir)/xenomai/bootstrap.o 28 | @test -r $(call get_pic_object) && \ 29 | $(INSTALL_DATA) $(call get_pic_object) $(DESTDIR)$(libdir)/xenomai/bootstrap-pic.o || true 30 | 31 | uninstall-local: 32 | $(RM) $(DESTDIR)$(libdir)/xenomai/bootstrap*.o 33 | -------------------------------------------------------------------------------- /include/cobalt/boilerplate/sched.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_BOILERPLATE_SCHED_H 19 | #define _COBALT_BOILERPLATE_SCHED_H 20 | 21 | #include 22 | 23 | #endif /* _COBALT_BOILERPLATE_SCHED_H */ 24 | -------------------------------------------------------------------------------- /include/cobalt/boilerplate/trace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_BOILERPLATE_TRACE_H 19 | #define _COBALT_BOILERPLATE_TRACE_H 20 | 21 | #include 22 | 23 | #endif /* _COBALT_BOILERPLATE_TRACE_H */ 24 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/autotune.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum 3 | * 4 | * Xenomai is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU General Public License as 6 | * published by the Free Software Foundation; either version 2 of the 7 | * License, or (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 | */ 18 | #ifndef _COBALT_RTDM_AUTOTUNE_H 19 | #define _COBALT_RTDM_AUTOTUNE_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_COBALT_RTDM_AUTOTUNE_H */ 25 | -------------------------------------------------------------------------------- /include/trank/native/mutex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_MUTEX_H 19 | #define _XENOMAI_TRANK_NATIVE_MUTEX_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_NATIVE_MUTEX_H */ 24 | -------------------------------------------------------------------------------- /include/trank/rtdm/rtserial.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_RTDM_RTSERIAL_H 19 | #define _XENOMAI_TRANK_RTDM_RTSERIAL_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_RTDM_RTSERIAL_H */ 24 | -------------------------------------------------------------------------------- /include/trank/native/buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_BUFFER_H 19 | #define _XENOMAI_TRANK_NATIVE_BUFFER_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_NATIVE_BUFFER_H */ 24 | -------------------------------------------------------------------------------- /include/trank/rtdm/rttesting.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_RTDM_RTTESTING_H 19 | #define _XENOMAI_TRANK_RTDM_RTTESTING_H 20 | 21 | #include 22 | 23 | #endif /* _XENOMAI_TRANK_RTDM_RTTESTING_H */ 24 | -------------------------------------------------------------------------------- /include/cobalt/uapi/kernel/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_UAPI_KERNEL_LIMITS_H 19 | #define _COBALT_UAPI_KERNEL_LIMITS_H 20 | 21 | #define XNOBJECT_NAME_LEN 32 22 | 23 | #endif /* !_COBALT_UAPI_KERNEL_LIMITS_H */ 24 | -------------------------------------------------------------------------------- /include/mercury/boilerplate/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _MERCURY_BOILERPLATE_LIMITS_H 19 | #define _MERCURY_BOILERPLATE_LIMITS_H 20 | 21 | #define XNOBJECT_NAME_LEN 32 22 | 23 | #endif /* _MERCURY_BOILERPLATE_LIMITS_H */ 24 | -------------------------------------------------------------------------------- /doc/asciidoc/TROUBLESHOOTING.MERCURY.adoc: -------------------------------------------------------------------------------- 1 | Troubleshooting a single kernel configuration 2 | ============================================= 3 | 4 | This page is a troubleshooting guide enumerating known issues with 5 | single kernel Xenomai configurations. 6 | 7 | [TIP] 8 | If running Xenomai 3 over the *Mercury* core, then you are using a 9 | single kernel configuration, and this document was meant for 10 | you. Otherwise, if you are running any release from the Xenomai 2 11 | series, or a Xenomai 3 release using the *Cobalt* real-time core, then 12 | you are using a running kernel configuration, for which you can find 13 | specific 14 | link:troubleshooting-a-dual-kernel-configuration/[troubleshooting information here]. 15 | 16 | *No entry yet.* 17 | 18 | == Application-level issues 19 | 20 | === WARNING: [main] failed to lock memory 21 | 22 | Your application needs the CAP_SYS_NICE and CAP_IPC_LOCK capabilities 23 | to be granted access to Xenomai services (see 24 | capabilities(7)). Running the application with root privileges is a 25 | way to gain those capabilities. 26 | -------------------------------------------------------------------------------- /include/cobalt/boilerplate/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_BOILERPLATE_LIMITS_H 19 | #define _COBALT_BOILERPLATE_LIMITS_H 20 | 21 | #include 22 | 23 | #endif /* _COBALT_BOILERPLATE_LIMITS_H */ 24 | -------------------------------------------------------------------------------- /include/cobalt/boilerplate/wrappers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_BOILERPLATE_WRAPPERS_H 19 | #define _COBALT_BOILERPLATE_WRAPPERS_H 20 | 21 | #include 22 | 23 | #endif /* !_COBALT_BOILERPLATE_WRAPPERS_H */ 24 | -------------------------------------------------------------------------------- /include/xenomai/tunables.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TUNABLES_H 19 | #define _XENOMAI_TUNABLES_H 20 | 21 | #include 22 | #include 23 | 24 | #endif /* !_XENOMAI_TUNABLES_H */ 25 | -------------------------------------------------------------------------------- /lib/cobalt/umm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2009 Gilles Chanteperdrix . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _LIB_COBALT_UMM_H 19 | #define _LIB_COBALT_UMM_H 20 | 21 | void cobalt_init_umm(void); 22 | 23 | void cobalt_unmap_umm(void); 24 | 25 | #endif /* _LIB_COBALT_UMM_H */ 26 | -------------------------------------------------------------------------------- /include/rtdm/ipc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Xenomai project. 3 | * 4 | * Copyright (C) 2009 Philippe Gerum 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with this library; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 19 | */ 20 | #ifndef _RTDM_IPC_H 21 | #define _RTDM_IPC_H 22 | 23 | #include 24 | #include 25 | 26 | #endif /* !_RTDM_IPC_H */ 27 | -------------------------------------------------------------------------------- /include/rtdm/udd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Xenomai project. 3 | * 4 | * Copyright (C) 2015 Philippe Gerum 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with this library; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 19 | */ 20 | #ifndef _RTDM_UDD_H 21 | #define _RTDM_UDD_H 22 | 23 | #include 24 | #include 25 | 26 | #endif /* !_RTDM_UDD_H */ 27 | -------------------------------------------------------------------------------- /kernel/cobalt/dovetail/init.c: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2020 Philippe Gerum 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | int __init pipeline_init(void) 13 | { 14 | int ret; 15 | 16 | if (cobalt_machine.init) { 17 | ret = cobalt_machine.init(); 18 | if (ret) 19 | return ret; 20 | } 21 | 22 | /* Enable the Xenomai out-of-band stage */ 23 | enable_oob_stage("Xenomai"); 24 | 25 | ret = xnclock_init(); 26 | if (ret) 27 | goto fail_clock; 28 | 29 | return 0; 30 | 31 | fail_clock: 32 | if (cobalt_machine.cleanup) 33 | cobalt_machine.cleanup(); 34 | 35 | return ret; 36 | } 37 | 38 | int __init pipeline_late_init(void) 39 | { 40 | if (cobalt_machine.late_init) 41 | return cobalt_machine.late_init(); 42 | 43 | return 0; 44 | } 45 | 46 | __init void pipeline_cleanup(void) 47 | { 48 | /* Disable the Xenomai stage */ 49 | disable_oob_stage(); 50 | 51 | xnclock_cleanup(); 52 | } 53 | -------------------------------------------------------------------------------- /lib/vxworks/tickLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #ifndef _VXWORKS_TICKLIB_H 20 | #define _VXWORKS_TICKLIB_H 21 | 22 | #include 23 | 24 | extern struct clockobj wind_clock; 25 | 26 | #endif /* _VXWORKS_TICKLIB_H */ 27 | -------------------------------------------------------------------------------- /demo/alchemy/Makefile.am: -------------------------------------------------------------------------------- 1 | demodir = @XENO_DEMO_DIR@ 2 | 3 | demo_PROGRAMS = altency 4 | 5 | if XENO_COBALT 6 | SUBDIRS = cobalt 7 | endif 8 | 9 | cppflags = \ 10 | $(XENO_USER_CFLAGS) \ 11 | -I$(top_srcdir)/include 12 | 13 | ldadd = \ 14 | ../../lib/alchemy/libalchemy@CORE@.la \ 15 | ../../lib/copperplate/libcopperplate@CORE@.la \ 16 | @XENO_CORE_LDADD@ \ 17 | @XENO_USER_LDADD@ \ 18 | -lpthread -lrt -lm 19 | 20 | altency_SOURCES = altency.c 21 | altency_CPPFLAGS = $(cppflags) 22 | altency_LDADD = $(ldadd) -lpthread -lrt -lm 23 | altency_LDFLAGS = @XENO_AUTOINIT_LDFLAGS@ $(XENO_POSIX_WRAPPERS) 24 | 25 | # This demo mixes the Alchemy and Xenomai-enabled POSIX APIs over 26 | # Cobalt, so we ask for both set of flags. --posix along with 27 | # --ldflags will get us the linker switches causing the symbol 28 | # wrapping for open/read/write/ioctl and friends. Over Mercury, 29 | # --posix is ignored since it's implicitly enabled. 30 | # 31 | # CFLAGS = $(shell xeno-config --alchemy --posix --cflags) 32 | # LDFLAGS = $(shell xeno-config --alchemy --posix --ldflags) 33 | -------------------------------------------------------------------------------- /kernel/drivers/spi/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Real-time SPI master drivers" 2 | 3 | config XENO_DRIVERS_SPI 4 | depends on SPI 5 | tristate 6 | 7 | config XENO_DRIVERS_SPI_BCM2835 8 | depends on ARCH_BCM2708 || ARCH_BCM2835 9 | select XENO_DRIVERS_SPI 10 | tristate "Support for BCM2835 SPI" 11 | help 12 | Enables support for the SPI0 controller available from 13 | Broadcom's BCM2835 SoC. 14 | 15 | config XENO_DRIVERS_SPI_SUN6I 16 | depends on MACH_SUN6I || MACH_SUN8I 17 | select XENO_DRIVERS_SPI 18 | tristate "Support for A31/H3 SoC SPI" 19 | help 20 | Enables support for the SPI controller available from 21 | Allwinner's A31, H3 SoCs. 22 | 23 | config XENO_DRIVERS_SPI_OMAP2_MCSPI_RT 24 | tristate "McSPI rt-driver for OMAP" 25 | depends on HAS_DMA 26 | depends on ARCH_OMAP2PLUS || COMPILE_TEST 27 | select XENO_DRIVERS_SPI 28 | help 29 | SPI real-time master controller for OMAP24XX and later Multichannel 30 | SPI (McSPI) modules. 31 | 32 | config XENO_DRIVERS_SPI_DEBUG 33 | depends on XENO_DRIVERS_SPI 34 | bool "Enable SPI core debugging features" 35 | 36 | endmenu 37 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/include/asm/xenomai/wrappers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published 6 | * by the Free Software Foundation; either version 2 of the License, 7 | * or (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 17 | * 02111-1307, USA. 18 | */ 19 | #ifndef _COBALT_ARM_ASM_WRAPPERS_H 20 | #define _COBALT_ARM_ASM_WRAPPERS_H 21 | 22 | #include /* Read the generic portion. */ 23 | 24 | #endif /* _COBALT_ARM_ASM_WRAPPERS_H */ 25 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/include/asm/xenomai/wrappers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published 6 | * by the Free Software Foundation; either version 2 of the License, 7 | * or (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 17 | * 02111-1307, USA. 18 | */ 19 | #ifndef _COBALT_X86_ASM_WRAPPERS_H 20 | #define _COBALT_X86_ASM_WRAPPERS_H 21 | 22 | #include /* Read the generic portion. */ 23 | 24 | #endif /* _COBALT_X86_ASM_WRAPPERS_H */ 25 | -------------------------------------------------------------------------------- /lib/boilerplate/tlsf/target.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Two Levels Segregate Fit memory allocator (TLSF) 3 | * Version 2.4.6 4 | * 5 | * Written by Miguel Masmano Tello 6 | * 7 | * Thanks to Ismael Ripoll for his suggestions and reviews 8 | * 9 | * Copyright (C) 2008, 2007, 2006, 2005, 2004 10 | * 11 | * This code is released using a dual license strategy: GPL/LGPL 12 | * You can choose the licence that better fits your requirements. 13 | * 14 | * Released under the terms of the GNU General Public License Version 2.0 15 | * Released under the terms of the GNU Lesser General Public License Version 2.1 16 | * 17 | */ 18 | #ifndef _TARGET_H_ 19 | #define _TARGET_H_ 20 | 21 | #include 22 | #include "boilerplate/wrappers.h" 23 | 24 | #define TLSF_MLOCK_T pthread_mutex_t 25 | #define TLSF_CREATE_LOCK(l) __RT(pthread_mutex_init (l, NULL)) 26 | #define TLSF_DESTROY_LOCK(l) __RT(pthread_mutex_destroy(l)) 27 | #define TLSF_ACQUIRE_LOCK(l) __RT(pthread_mutex_lock(l)) 28 | #define TLSF_RELEASE_LOCK(l) __RT(pthread_mutex_unlock(l)) 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /lib/cobalt/malloc-nowrap.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008, 2009 Jan Kiszka . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | 21 | __weak 22 | void *__real_malloc(size_t size) 23 | { 24 | return malloc(size); 25 | } 26 | 27 | __weak 28 | void __real_free(void *ptr) 29 | { 30 | free(ptr); 31 | } 32 | -------------------------------------------------------------------------------- /include/mercury/boilerplate/wrappers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _MERCURY_BOILERPLATE_WRAPPERS_H 19 | #define _MERCURY_BOILERPLATE_WRAPPERS_H 20 | 21 | #define __RT(call) call 22 | #define __STD(call) call 23 | 24 | #endif /* _MERCURY_BOILERPLATE_WRAPPERS_H */ 25 | -------------------------------------------------------------------------------- /include/trank/native/types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_TYPES_H 19 | #define _XENOMAI_TRANK_NATIVE_TYPES_H 20 | 21 | #include 22 | 23 | typedef unsigned long rt_sigset_t; 24 | 25 | #endif /* _XENOMAI_TRANK_NATIVE_TYPES_H */ 26 | -------------------------------------------------------------------------------- /kernel/drivers/can/rtcan_version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 Wolfgang Grandegger 3 | * 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software Foundation, 17 | * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | 20 | #ifndef __RTCAN_VERSION_H_ 21 | #define __RTCAN_VERSION_H_ 22 | 23 | #define RTCAN_MAJOR_VER 0 24 | #define RTCAN_MINOR_VER 90 25 | #define RTCAN_BUGFIX_VER 2 26 | 27 | #endif /* __RTCAN_VERSION_H_ */ 28 | -------------------------------------------------------------------------------- /lib/vxworks/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libvxworks@CORE@.la 2 | 3 | libvxworks@CORE@_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 4 | 5 | libvxworks@CORE@_la_LIBADD = \ 6 | @XENO_CORE_LDADD@ \ 7 | $(top_builddir)/lib/copperplate/libcopperplate@CORE@.la 8 | 9 | libvxworks@CORE@_la_SOURCES = \ 10 | init.c \ 11 | errnoLib.c \ 12 | intLib.c \ 13 | kernLib.c \ 14 | lstLib.c \ 15 | memPartLib.c \ 16 | memPartLib.h \ 17 | msgQLib.c \ 18 | msgQLib.h \ 19 | rngLib.c \ 20 | rngLib.h \ 21 | semLib.c \ 22 | semLib.h \ 23 | taskLib.c \ 24 | taskLib.h \ 25 | taskHookLib.c \ 26 | taskHookLib.h \ 27 | taskInfo.c \ 28 | tickLib.c \ 29 | tickLib.h \ 30 | wdLib.c \ 31 | wdLib.h \ 32 | sysLib.c \ 33 | reference.h 34 | 35 | libvxworks@CORE@_la_CPPFLAGS = \ 36 | @XENO_USER_CFLAGS@ \ 37 | -I$(top_srcdir)/include \ 38 | -I$(top_srcdir)/lib 39 | 40 | AM_LIBTOOLFLAGS = --silent 41 | 42 | EXTRA_DIST = testsuite 43 | 44 | SPARSE = sparse 45 | 46 | sparse: 47 | @for i in $(libvxworks@CORE@_la_SOURCES); do \ 48 | $(SPARSE) $(CHECKFLAGS) $(srcdir)/$$i; \ 49 | done 50 | -------------------------------------------------------------------------------- /include/rtdm/autotune.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Xenomai project. 3 | * 4 | * Copyright (C) 2014 Philippe Gerum 5 | * 6 | * This library is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2 of the License, or (at your option) any later version. 10 | * 11 | * This library is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with this library; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 19 | */ 20 | #ifndef _RTDM_AUTOTUNE_H 21 | #define _RTDM_AUTOTUNE_H 22 | 23 | #include 24 | #include 25 | 26 | #endif /* !_RTDM_AUTOTUNE_H */ 27 | -------------------------------------------------------------------------------- /include/trank/native/queue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_QUEUE_H 19 | #define _XENOMAI_TRANK_NATIVE_QUEUE_H 20 | 21 | #include 22 | 23 | #define Q_SHARED 0 24 | #define Q_DMA 0 25 | 26 | #endif /* _XENOMAI_TRANK_NATIVE_QUEUE_H */ 27 | -------------------------------------------------------------------------------- /kernel/drivers/can/corectl.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only 2 | /* 3 | * Copyright 2021, Dario Binacchi 4 | */ 5 | 6 | #include 7 | #include 8 | #include "corectl.h" 9 | 10 | static int rtcan_corectl_call(struct notifier_block *self, unsigned long arg, 11 | void *cookie) 12 | { 13 | struct cobalt_config_vector *vec = cookie; 14 | int val, ret; 15 | 16 | if (arg != _CC_COBALT_GET_CAN_CONFIG) 17 | return NOTIFY_DONE; 18 | 19 | if (vec->u_bufsz < sizeof(ret)) 20 | return notifier_from_errno(-EINVAL); 21 | 22 | val = _CC_COBALT_CAN; 23 | 24 | ret = cobalt_copy_to_user(vec->u_buf, &val, sizeof(val)); 25 | 26 | return ret ? notifier_from_errno(-EFAULT) : NOTIFY_STOP; 27 | } 28 | 29 | static struct notifier_block rtcan_corectl_notifier = { 30 | .notifier_call = rtcan_corectl_call, 31 | }; 32 | 33 | void rtcan_corectl_register(void) 34 | { 35 | cobalt_add_config_chain(&rtcan_corectl_notifier); 36 | } 37 | 38 | void rtcan_corectl_unregister(void) 39 | { 40 | cobalt_remove_config_chain(&rtcan_corectl_notifier); 41 | } 42 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/include/asm/xenomai/uapi/syscall.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001-2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _COBALT_X86_ASM_UAPI_SYSCALL_H 19 | #define _COBALT_X86_ASM_UAPI_SYSCALL_H 20 | 21 | #define __xn_syscode(__nr) (__COBALT_SYSCALL_BIT | __nr) 22 | 23 | #endif /* !_COBALT_X86_ASM_UAPI_SYSCALL_H */ 24 | -------------------------------------------------------------------------------- /testsuite/smokey/posix-fork/posix-fork.c: -------------------------------------------------------------------------------- 1 | /* 2 | * fork->exec test. 3 | * 4 | * Copyright (C) Philippe Gerum 5 | * 6 | * Released under the terms of GPLv2. 7 | */ 8 | 9 | #include 10 | #include 11 | 12 | smokey_test_plugin(posix_fork, 13 | SMOKEY_NOARGS, 14 | "Check POSIX fork->exec sequence." 15 | ); 16 | 17 | /* 18 | * The purpose of this test is to check whether Cobalt detects and 19 | * handles a fork->exec sequence properly for Xenomai-enabled threads, 20 | * with respect to managing their respective shadow contexts. Cobalt 21 | * should drop the child's shadow upon detecting exec(), then create 22 | * another one for the emerging process's main() thread as usual. 23 | * 24 | * We don't have to do much beyond firing such sequence fo testing: if 25 | * Cobalt messes up, the kernel will certainly crash. 26 | */ 27 | static int run_posix_fork(struct smokey_test *t, int argc, char *const argv[]) 28 | { 29 | /* 30 | * Re-exec ourselves without running any test, this is 31 | * enough for creating a shadow context. 32 | */ 33 | return smokey_fork_exec(argv[0], "smokey"); 34 | } 35 | -------------------------------------------------------------------------------- /include/trank/native/heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _XENOMAI_TRANK_NATIVE_HEAP_H 19 | #define _XENOMAI_TRANK_NATIVE_HEAP_H 20 | 21 | #include 22 | 23 | #define H_MAPPABLE 0 24 | #define H_SHARED 0 25 | #define H_NONCACHED 0 26 | #define H_DMA 0 27 | 28 | #endif /* _XENOMAI_TRANK_NATIVE_HEAP_H */ 29 | -------------------------------------------------------------------------------- /lib/alchemy/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libalchemy@CORE@.la 2 | 3 | libalchemy@CORE@_la_LDFLAGS = @XENO_LIB_LDFLAGS@ -version-info 0:0:0 4 | 5 | libalchemy@CORE@_la_LIBADD = \ 6 | @XENO_CORE_LDADD@ \ 7 | $(top_builddir)/lib/copperplate/libcopperplate@CORE@.la 8 | 9 | libalchemy@CORE@_la_SOURCES = \ 10 | init.c \ 11 | internal.c \ 12 | internal.h \ 13 | reference.h \ 14 | alarm.c \ 15 | alarm.h \ 16 | buffer.c \ 17 | buffer.h \ 18 | cond.c \ 19 | cond.h \ 20 | event.c \ 21 | event.h \ 22 | heap.c \ 23 | heap.h \ 24 | mutex.c \ 25 | mutex.h \ 26 | queue.c \ 27 | queue.h \ 28 | task.c \ 29 | task.h \ 30 | sem.c \ 31 | sem.h \ 32 | timer.c \ 33 | timer.h 34 | 35 | if XENO_COBALT 36 | libalchemy@CORE@_la_SOURCES += \ 37 | pipe.c \ 38 | pipe.h 39 | endif 40 | 41 | libalchemy@CORE@_la_CPPFLAGS = \ 42 | @XENO_USER_CFLAGS@ \ 43 | -I$(top_srcdir)/include \ 44 | -I$(top_srcdir)/lib 45 | 46 | AM_LIBTOOLFLAGS = --silent 47 | 48 | EXTRA_DIST = testsuite 49 | 50 | SPARSE = sparse 51 | 52 | sparse: 53 | @for i in $(libalchemy@CORE@_la_SOURCES); do \ 54 | $(SPARSE) $(CHECKFLAGS) $(srcdir)/$$i; \ 55 | done 56 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/x86/include/asm/xenomai/features.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005-2013 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify it 5 | * under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation; either version 2 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 17 | * 02111-1307, USA. 18 | */ 19 | #ifndef _COBALT_X86_ASM_FEATURES_H 20 | #define _COBALT_X86_ASM_FEATURES_H 21 | 22 | struct cobalt_featinfo; 23 | static inline void collect_arch_features(struct cobalt_featinfo *p) { } 24 | 25 | #include 26 | 27 | #endif /* !_COBALT_X86_ASM_FEATURES_H */ 28 | -------------------------------------------------------------------------------- /testsuite/smokey/psostests/task-3.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | static struct traceobj trobj; 8 | 9 | static u_long tidA, tidB; 10 | 11 | int main(int argc, char *const argv[]) 12 | { 13 | u_long tid; 14 | int ret; 15 | 16 | traceobj_init(&trobj, argv[0], 0); 17 | 18 | ret = t_create("TSKA", 20, 0, 0, 0, &tidA); 19 | traceobj_assert(&trobj, ret == SUCCESS); 20 | 21 | ret = t_create("TSKB", 21, 0, 0, 0, &tidB); 22 | traceobj_assert(&trobj, ret == SUCCESS); 23 | 24 | tid = ~tidA; 25 | ret = t_ident("TSKA", 0, &tid); 26 | traceobj_assert(&trobj, ret == SUCCESS); 27 | traceobj_assert(&trobj, tid == tidA); 28 | 29 | tid = ~tidB; 30 | ret = t_ident("TSKB", 0, &tid); 31 | traceobj_assert(&trobj, ret == SUCCESS); 32 | traceobj_assert(&trobj, tid == tidB); 33 | 34 | ret = t_delete(tidA); 35 | traceobj_assert(&trobj, ret == SUCCESS); 36 | ret = t_ident("TSKA", 0, &tid); 37 | traceobj_assert(&trobj, ret == ERR_OBJNF); 38 | 39 | ret = t_ident("TSKB", 1, &tid); 40 | traceobj_assert(&trobj, ret == ERR_NODENO); 41 | 42 | exit(0); 43 | } 44 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/ipc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of the Xenomai project. 3 | * 4 | * Copyright (C) 2009 Philippe Gerum 5 | * 6 | * Xenomai is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License as 8 | * published by the Free Software Foundation; either version 2 of the 9 | * License, or (at your option) any later version. 10 | * 11 | * This program is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 | */ 20 | 21 | #ifndef _COBALT_RTDM_IPC_H 22 | #define _COBALT_RTDM_IPC_H 23 | 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | #endif /* !_COBALT_RTDM_IPC_H */ 31 | -------------------------------------------------------------------------------- /lib/boilerplate/iniparser/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2000-2007 by Nicolas Devillard. 2 | MIT License 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a 5 | copy of this software and associated documentation files (the "Software"), 6 | to deal in the Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 | DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /lib/cobalt/arch/x86/include/asm/xenomai/features.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _LIB_COBALT_X86_FEATURES_H 19 | #define _LIB_COBALT_X86_FEATURES_H 20 | 21 | #include_next 22 | #include 23 | #include 24 | 25 | int cobalt_fp_detect(void); 26 | 27 | #endif /* !_LIB_COBALT_X86_FEATURES_H */ 28 | -------------------------------------------------------------------------------- /lib/vxworks/rngLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #ifndef _VXWORKS_RNGLIB_H 20 | #define _VXWORKS_RNGLIB_H 21 | 22 | #include 23 | 24 | struct wind_ring { 25 | unsigned int magic; 26 | unsigned int bufSize; 27 | unsigned int readPos; 28 | unsigned int writePos; 29 | unsigned char buffer[]; 30 | }; 31 | 32 | #endif /* _VXWORKS_RNGLIB_H */ 33 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/include/ipv4/ip_sock.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * include/ipv4/ip_sock.h 4 | * 5 | * RTnet - real-time networking subsystem 6 | * Copyright (C) 2003-2005 Jan Kiszka 7 | * 8 | * This program is free software; you can redistribute it and/or modify 9 | * it under the terms of the GNU General Public License as published by 10 | * the Free Software Foundation; either version 2 of the License, or 11 | * (at your option) any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | * GNU General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 | * 22 | */ 23 | 24 | #ifndef __RTNET_IP_SOCK_H_ 25 | #define __RTNET_IP_SOCK_H_ 26 | 27 | #include 28 | 29 | extern int rt_ip_ioctl(struct rtdm_fd *fd, int request, void *arg); 30 | 31 | #endif /* __RTNET_IP_SOCK_H_ */ 32 | -------------------------------------------------------------------------------- /lib/vxworks/wdLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #ifndef _VXWORKS_WDLIB_H 20 | #define _VXWORKS_WDLIB_H 21 | 22 | #include 23 | #include 24 | 25 | struct wind_wd { 26 | 27 | unsigned int magic; 28 | 29 | void (*handler)(long arg); 30 | long arg; 31 | 32 | struct timerobj tmobj; 33 | }; 34 | 35 | #endif /* _VXWORKS_WDLIB_H */ 36 | -------------------------------------------------------------------------------- /kernel/cobalt/include/asm-generic/xenomai/machine.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright © 2012 Philippe Gerum. 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, 7 | * USA; either version 2 of the License, or (at your option) any later 8 | * version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 | */ 19 | #ifndef _COBALT_ASM_GENERIC_MACHINE_H 20 | #define _COBALT_ASM_GENERIC_MACHINE_H 21 | 22 | #include 23 | 24 | #ifndef xnarch_cache_aliasing 25 | #define xnarch_cache_aliasing() 0 26 | #endif 27 | 28 | #endif /* !_COBALT_ASM_GENERIC_MACHINE_H */ 29 | -------------------------------------------------------------------------------- /kernel/cobalt/include/dovetail/irq.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2017 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_DOVETAIL_IRQ_H 8 | #define _COBALT_DOVETAIL_IRQ_H 9 | 10 | #ifdef CONFIG_XENOMAI 11 | 12 | #include 13 | 14 | /* hard irqs off. */ 15 | static inline void irq_enter_pipeline(void) 16 | { 17 | struct xnsched *sched = xnsched_current(); 18 | 19 | sched->lflags |= XNINIRQ; 20 | } 21 | 22 | /* hard irqs off. */ 23 | static inline void irq_exit_pipeline(void) 24 | { 25 | struct xnsched *sched = xnsched_current(); 26 | 27 | sched->lflags &= ~XNINIRQ; 28 | 29 | /* 30 | * CAUTION: Switching stages as a result of rescheduling may 31 | * re-enable irqs, shut them off before returning if so. 32 | */ 33 | if ((sched->status|sched->lflags) & XNRESCHED) { 34 | xnsched_run(); 35 | if (!hard_irqs_disabled()) 36 | hard_local_irq_disable(); 37 | } 38 | } 39 | 40 | #else /* !CONFIG_XENOMAI */ 41 | 42 | static inline void irq_enter_pipeline(void) 43 | { 44 | } 45 | 46 | static inline void irq_exit_pipeline(void) 47 | { 48 | } 49 | 50 | #endif /* !CONFIG_XENOMAI */ 51 | 52 | #endif /* !_COBALT_DOVETAIL_IRQ_H */ 53 | -------------------------------------------------------------------------------- /kernel/drivers/Kconfig: -------------------------------------------------------------------------------- 1 | menu "Drivers" 2 | 3 | config XENO_OPT_RTDM_COMPAT_DEVNODE 4 | bool "Enable legacy pathnames for named RTDM devices" 5 | default y 6 | help 7 | This compatibility option allows applications to open named 8 | RTDM devices using the legacy naming scheme, i.e. 9 | 10 | fd = open("devname", ...); 11 | or 12 | fd = open("/dev/devname", ...); 13 | 14 | When such a request is received by RTDM, a warning message is 15 | issued to the kernel log whenever XENO_OPT_DEBUG_LEGACY is 16 | also enabled in the kernel configuration. 17 | 18 | Applications should open named devices via their actual device 19 | nodes instead, i.e. 20 | 21 | fd = open("/dev/rtdm/devname", ...); 22 | 23 | source "drivers/xenomai/autotune/Kconfig" 24 | source "drivers/xenomai/serial/Kconfig" 25 | source "drivers/xenomai/testing/Kconfig" 26 | source "drivers/xenomai/can/Kconfig" 27 | source "drivers/xenomai/net/Kconfig" 28 | source "drivers/xenomai/analogy/Kconfig" 29 | source "drivers/xenomai/ipc/Kconfig" 30 | source "drivers/xenomai/udd/Kconfig" 31 | source "drivers/xenomai/gpio/Kconfig" 32 | source "drivers/xenomai/gpiopwm/Kconfig" 33 | source "drivers/xenomai/spi/Kconfig" 34 | 35 | endmenu 36 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/include/asm/xenomai/features.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2005 Philippe Gerum . 3 | * 4 | * ARM port 5 | * Copyright (C) 2005 Stelian Pop 6 | * 7 | * Xenomai is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published 9 | * by the Free Software Foundation; either version 2 of the License, 10 | * or (at your option) any later version. 11 | * 12 | * Xenomai is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with Xenomai; if not, write to the Free Software 19 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 20 | * 02111-1307, USA. 21 | */ 22 | #ifndef _COBALT_ARM_FEATURES_H 23 | #define _COBALT_ARM_FEATURES_H 24 | 25 | struct cobalt_featinfo; 26 | static inline void collect_arch_features(struct cobalt_featinfo *p) { } 27 | 28 | #include 29 | 30 | #endif /* !_COBALT_ARM_FEATURES_H */ 31 | -------------------------------------------------------------------------------- /lib/cobalt/malloc.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008, 2009 Jan Kiszka . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #include 20 | #include 21 | 22 | /* Memory allocation services */ 23 | COBALT_IMPL(void *, malloc, (size_t size)) 24 | { 25 | cobalt_assert_nrt(); 26 | return __STD(malloc(size)); 27 | } 28 | 29 | COBALT_IMPL(void, free, (void *ptr)) 30 | { 31 | cobalt_assert_nrt(); 32 | __STD(free(ptr)); 33 | } 34 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/include/asm/xenomai/syscall32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published 6 | * by the Free Software Foundation; either version 2 of the License, 7 | * or (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 17 | * 02111-1307, USA. 18 | */ 19 | #ifndef _COBALT_ARM_ASM_SYSCALL32_H 20 | #define _COBALT_ARM_ASM_SYSCALL32_H 21 | 22 | #define __COBALT_CALL32_INITHAND(__handler) 23 | 24 | #define __COBALT_CALL32_INITMODE(__mode) 25 | 26 | #define __COBALT_CALL32_ENTRY(__name, __handler) 27 | 28 | #define __COBALT_CALL_COMPAT(__reg) 0 29 | 30 | #endif /* !_COBALT_ARM_ASM_SYSCALL32_H */ 31 | -------------------------------------------------------------------------------- /testsuite/smokey/vxworkstests/vxworkstests.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | #include 3 | #include 4 | 5 | static const char * const tests[] = { 6 | "vxworkstests_lst1", 7 | "vxworkstests_msgQ1", 8 | "vxworkstests_msgQ2", 9 | "vxworkstests_msgQ3", 10 | "vxworkstests_rng1", 11 | "vxworkstests_sem1", 12 | "vxworkstests_sem2", 13 | "vxworkstests_sem3", 14 | "vxworkstests_sem4", 15 | "vxworkstests_wd1", 16 | "vxworkstests_task1", 17 | "vxworkstests_task2", 18 | }; 19 | 20 | static int run_vxworkstests(struct smokey_test *t, int argc, char *const argv[]) 21 | { 22 | #ifdef CONFIG_XENO_LORES_CLOCK_DISABLED 23 | (void)tests; 24 | smokey_note("vxworkstest skipped. --enable-lores-clock missing."); 25 | return 0; 26 | #else 27 | int test_ret = 0; 28 | int ret = 0; 29 | int tmp; 30 | 31 | for (size_t i = 0; i < ARRAY_SIZE(tests); i++) { 32 | tmp = smokey_run_extprog(XENO_TEST_DIR, tests[i], 33 | "--cpu-affinity=0", &test_ret); 34 | if (test_ret) 35 | ret = test_ret; /* Return the last failed test result */ 36 | if (tmp) 37 | break; 38 | } 39 | 40 | return ret; 41 | #endif 42 | } 43 | smokey_test_plugin(vxworkstests, SMOKEY_NOARGS, "Run external vxworkstests"); 44 | 45 | -------------------------------------------------------------------------------- /lib/vxworks/memPartLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2008 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | 19 | #ifndef _VXWORKS_MEMPARTLIB_H 20 | #define _VXWORKS_MEMPARTLIB_H 21 | 22 | #include 23 | #include 24 | 25 | struct wind_mempart { 26 | unsigned int magic; 27 | struct heapobj hobj; 28 | pthread_mutex_t lock; 29 | struct wind_part_stats stats; 30 | }; 31 | 32 | #endif /* _VXWORKS_MEMPARTLIB_H */ 33 | -------------------------------------------------------------------------------- /kernel/drivers/net/stack/include/rtcfg/rtcfg_timer.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * include/rtcfg/rtcfg_timer.h 4 | * 5 | * Real-Time Configuration Distribution Protocol 6 | * 7 | * Copyright (C) 2003-2005 Jan Kiszka 8 | * 9 | * This program is free software; you can redistribute it and/or modify 10 | * it under the terms of the GNU General Public License as published by 11 | * the Free Software Foundation; either version 2 of the License, or 12 | * (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 | * 23 | */ 24 | 25 | #ifndef __RTCFG_TIMER_H_ 26 | #define __RTCFG_TIMER_H_ 27 | 28 | void rtcfg_timer(rtdm_timer_t *t); 29 | 30 | void rtcfg_timer_run(void); 31 | 32 | void rtcfg_thread_signal(void); 33 | 34 | #endif /* __RTCFG_TIMER_H_ */ 35 | -------------------------------------------------------------------------------- /lib/cobalt/arch/arm64/include/asm/xenomai/features.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _LIB_COBALT_ARM64_FEATURES_H 19 | #define _LIB_COBALT_ARM64_FEATURES_H 20 | 21 | #include_next 22 | #include 23 | 24 | #define __LINUX_ARM_ARCH__ 8 25 | 26 | #include 27 | 28 | int cobalt_fp_detect(void); 29 | 30 | #endif /* !_LIB_COBALT_ARM64_FEATURES_H */ 31 | -------------------------------------------------------------------------------- /kernel/cobalt/procfs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Philippe Gerum . 3 | * 4 | * Xenomai is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published 6 | * by the Free Software Foundation; either version 2 of the License, 7 | * or (at your option) any later version. 8 | * 9 | * Xenomai is distributed in the hope that it will be useful, but 10 | * WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Xenomai; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 17 | * 02111-1307, USA. 18 | */ 19 | #ifndef _KERNEL_COBALT_PROCFS_H 20 | #define _KERNEL_COBALT_PROCFS_H 21 | 22 | #ifdef CONFIG_XENO_OPT_VFILE 23 | int xnprocfs_init_tree(void); 24 | void xnprocfs_cleanup_tree(void); 25 | #else 26 | static inline int xnprocfs_init_tree(void) { return 0; } 27 | static inline void xnprocfs_cleanup_tree(void) { } 28 | #endif /* !CONFIG_XENO_OPT_VFILE */ 29 | 30 | #endif /* !_KERNEL_COBALT_PROCFS_H */ 31 | -------------------------------------------------------------------------------- /include/cobalt/kernel/dovetail/pipeline/machine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-License-Identifier: GPL-2.0 3 | * 4 | * Copyright (C) 2020 Philippe Gerum 5 | */ 6 | 7 | #ifndef _COBALT_KERNEL_DOVETAIL_MACHINE_H 8 | #define _COBALT_KERNEL_DOVETAIL_MACHINE_H 9 | 10 | #include 11 | 12 | #ifdef CONFIG_FTRACE 13 | #define boot_lat_trace_notice "[LTRACE]" 14 | #else 15 | #define boot_lat_trace_notice "" 16 | #endif 17 | 18 | struct vm_area_struct; 19 | 20 | struct cobalt_machine { 21 | const char *name; 22 | int (*init)(void); 23 | int (*late_init)(void); 24 | void (*cleanup)(void); 25 | void (*prefault)(struct vm_area_struct *vma); 26 | const char *const *fault_labels; 27 | }; 28 | 29 | extern struct cobalt_machine cobalt_machine; 30 | 31 | struct cobalt_machine_cpudata { 32 | unsigned int faults[32]; 33 | }; 34 | 35 | DECLARE_PER_CPU(struct cobalt_machine_cpudata, cobalt_machine_cpudata); 36 | 37 | struct cobalt_pipeline { 38 | #ifdef CONFIG_SMP 39 | cpumask_t supported_cpus; 40 | #endif 41 | }; 42 | 43 | int pipeline_init(void); 44 | 45 | int pipeline_late_init(void); 46 | 47 | void pipeline_cleanup(void); 48 | 49 | extern struct cobalt_pipeline cobalt_pipeline; 50 | 51 | #endif /* !_COBALT_KERNEL_IPIPE_MACHINE_H */ 52 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm/include/asm/xenomai/uapi/syscall.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001,2002,2003,2004 Philippe Gerum . 3 | * 4 | * ARM port 5 | * Copyright (C) 2005 Stelian Pop 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 20 | */ 21 | #ifndef _COBALT_ARM_ASM_UAPI_SYSCALL_H 22 | #define _COBALT_ARM_ASM_UAPI_SYSCALL_H 23 | 24 | #define __xn_syscode(__nr) (__COBALT_SYSCALL_BIT | (__nr)) 25 | 26 | #define XENOMAI_SYSARCH_TSCINFO 4 27 | 28 | #endif /* !_COBALT_ARM_ASM_UAPI_SYSCALL_H */ 29 | -------------------------------------------------------------------------------- /kernel/cobalt/arch/arm64/include/asm/xenomai/uapi/syscall.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2001,2002,2003,2004 Philippe Gerum . 3 | * 4 | * ARM port 5 | * Copyright (C) 2005 Stelian Pop 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2 of the License, or (at your option) any later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 20 | */ 21 | #ifndef _COBALT_ARM64_ASM_UAPI_SYSCALL_H 22 | #define _COBALT_ARM64_ASM_UAPI_SYSCALL_H 23 | 24 | #define __xn_syscode(__nr) (__COBALT_SYSCALL_BIT | (__nr)) 25 | 26 | #define XENOMAI_SYSARCH_TSCINFO 0 27 | 28 | #endif /* !_COBALT_ARM64_ASM_UAPI_SYSCALL_H */ 29 | -------------------------------------------------------------------------------- /lib/psos/internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Philippe Gerum . 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 17 | */ 18 | #ifndef _PSOS_INTERNAL_H 19 | #define _PSOS_INTERNAL_H 20 | 21 | #include 22 | 23 | extern int psos_long_names; 24 | 25 | static inline 26 | const char *psos_trunc_name(char dst[5], const char *src) 27 | { 28 | if (psos_long_names) 29 | return src; 30 | 31 | strncpy(dst, src, 4)[4] = '\0'; 32 | 33 | return dst; 34 | } 35 | 36 | #endif /* !_PSOS_INTERNAL_H */ 37 | -------------------------------------------------------------------------------- /include/cobalt/kernel/rtdm/can.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2006 Wolfgang Grandegger 3 | * 4 | * Copyright (C) 2005, 2006 Sebastian Smolorz 5 | * 6 | * 7 | * This program is free software; you can redistribute it and/or modify it 8 | * under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * 16 | * General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU General Public License 19 | * along with this program; if not, write to the Free Software Foundation, 20 | * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 21 | */ 22 | #ifndef _COBALT_RTDM_CAN_H 23 | #define _COBALT_RTDM_CAN_H 24 | 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | #endif /* _COBALT_RTDM_CAN_H */ 32 | --------------------------------------------------------------------------------