URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fe3b7ef20ebdb1c30673884611e02ea99cc1b735
Author: Philippe Gerum <[email protected]>
Date: Tue Dec 29 10:15:25 2015 +0100
cobalt/kernel: WIP: convert to dovetail interface
This is work in progress, with more changes expected from the IRQ
pipeline and dovetail interfaces.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ff9dbaa28bef17bd64a238b2e3de75816c3694e3
Author: Philippe Gerum <[email protected]>
Date: Sat Feb 15 16:42:09 2014 +0100
config: bump UAPI level
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e8faaa15f3e46b06bbe360a7ae9c3b17170523f2
Author: Philippe Gerum <[email protected]>
Date: Wed Feb 15 16:17:54 2017 +0100
cobalt/arm64: add README
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=01bc9055b379db95d59cae7f092522a1836abba9
Author: Jan Kiszka <[email protected]>
Date: Tue Dec 6 16:34:48 2016 +0100
smokey/posix-mutex: Fix test case by destroying barriers correctly
At least on x86-64-compat, the missing destruction of the smokey
barriers, specifically their embedded mutexes, cause crashes of the
test. The reason is likely a mismatch between the kernel's and
userland's view on which object is still active, combined with the fact
that userland kept them on the volatile stack.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fc4c1f916e651abe49e0efc8dc03bb11ad1923f0
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Wed Mar 30 13:30:11 2016 -0400
gpiopwm: display udp server information
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b4ba63759880ee32778da967c9c63a94c6c8ad4c
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Tue Mar 15 19:18:15 2016 -0400
gpiopwm: pwm signal generator and servo motor control demo code
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ae5beba2779c127c4e46b193add83b9fa3ad65a8
Author: Jan Kiszka <[email protected]>
Date: Mon May 30 14:58:07 2016 +0200
lib/cobalt: Provide RT-capable usleep
User may expect this (probably last) sleeping service to be available
under Cobalt just like sleep, nanosleep & Co.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9825770e92ad7a11be59b108986e45b924b3e206
Author: Jorge Ramirez-Ortiz <[email protected]>
Date: Wed Oct 5 21:34:27 2016 +0200
utils/analogy: fix error check [SIGSEGV]
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3f411e1bc1f1cd1c90e0e941db2a58289e1bd336
Author: Philippe Gerum <[email protected]>
Date: Fri Sep 9 16:07:54 2016 +0200
cobalt/arm64: thread: move all TCB initializers out of line
Does not impact performances and fixes inclusion hell for pulling the
struct xnthread definition for good.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5b23200f8288d4249d26e50af78dad1329f2c8f0
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 8 16:29:59 2016 +0200
cobalt/arm64: fpu: drop obsolete xnarch_save_fpu()
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e52df69afc0432f7788e5b7fb0c7bee45bcd7521
Author: Philippe Gerum <[email protected]>
Date: Sun Aug 7 11:29:06 2016 +0200
net/drivers/e1000: work around UMR issue
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=05c08f55bd12141beaf149f2329afd6437c1fbdd
Author: Philippe Gerum <[email protected]>
Date: Thu Jul 7 17:05:16 2016 +0200
cobalt/syscalls: allow for handing over mode selection to syscall handlers
Specific system calls may benefit from dealing with the caller's
runtime mode by themselves, depending on internal information which
the generic syscall dispatcher does not have access to.
To this end, a new syscall mode called "handover" is
introduced. Syscalls bearing this mode bit are always entered from the
current calling domain. The syscall handler may return -ENOSYS to
trigger a switch to the converse domain until all domains have been
visited once, at which point the syscall fails with -ENOSYS
automatically.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e0b7537fa826022fbf0187f2eb8a8bfe1d24fe60
Author: Philippe Gerum <[email protected]>
Date: Mon Jul 11 15:42:01 2016 +0200
cobalt/powerpc: remove dependency on obsolete CONFIG_MATH_EMU
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3cd883cb29b21a04cd1a94106a53bc9cbbbca127
Author: Philippe Gerum <[email protected]>
Date: Tue May 31 17:30:21 2016 +0200
boilerplate: add AVL library
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1a81c5de3fb7be74bb047a812d94550b278416d4
Author: Philippe Gerum <[email protected]>
Date: Tue May 24 09:43:29 2016 +0200
boilerplate/libc: add placeholder for pthread_setschedprio()
For outdated uClibc.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9ae777e3c847968b46e01119b47b0562e144f936
Author: Jan Kiszka <[email protected]>
Date: Tue Mar 8 14:46:59 2016 +0100
lib/cobalt: Wrap pthread_setschedprio for proper real-time support
Implement pthread_setschedprio on top of pthread_setschedparam_ex with
the help of the new __SCHED_CURRENT policy. This ensures that prio
changes are directly applied to the real-time core, and that with just
a single syscall.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bb893bb0e6a330cc7625219e828d0b7e79abae6f
Author: Jan Kiszka <[email protected]>
Date: Tue Mar 8 14:41:28 2016 +0100
cobalt/kernel: Introduce __SCHED_CURRENT policy to setschedparam_ex
Define the internal scheduling policy "current": it shall refer to the
target thread's current scheduling policy. This will allow to model
pthread_setschedprio on top of pthread_setschedparam_ex with only a
single syscall.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7d3436e20f109dfef2ebabea685eb7069db081b9
Author: Jan Kiszka <[email protected]>
Date: Mon May 9 21:22:23 2016 +0200
cobalt/kernel: Trigger missing reschedule after PP deboost
xnsynch_release also needs to tell the caller about the potential need
for a reschedule after deboosting for prio-protection.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4ad97c36455a66fc2916547918fee54ea17dc079
Author: Jan Kiszka <[email protected]>
Date: Mon May 9 21:19:04 2016 +0200
cobalt/kernel: Return need_resched flag from xnsynch_release
We currently return the next owner, but no caller of xnsynch_release
evaluates this beyond != NULL and calls xnsched_run in that case.
Simplify the API by returning a need_resched flag directly. This will
also help with fixing the missing reschedule after PP deboost.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b28fb4706c90ff7571efb9f3a98edde607c8666d
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 18:51:17 2016 +0100
config: bump version info to 3.1-devel
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bbef8ef507677ca05da0e52e7fceaa096cea7981
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 17:58:33 2016 +0100
lib/cobalt: add config switch to enable lazy setsched update mode
--enable-lazy-setsched should be given for enabling lazy propagation
of scheduling parameters upon calls to pthread_setschedparam*(),
sched_setscheduler(). Defaults to off.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=61c9a22f7070cdfc6f5cb9d3b9c640558ef5ce11
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 20 17:20:58 2016 +0100
boilerplate/libc: provide placeholders for prioceiling ops
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ddd37928976b8b5ef9679afcfbbd41caa78a3693
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 18 12:12:27 2016 +0100
lib/cobalt: use lazy schedparam propagation
Do not switch to secondary mode upon schedparam updates for
propagating changes to the regular kernel, if the caller runs in
primary mode when entering pthread_setschedparam*() or
sched_setscheduler(). In such a case, the update request to the
regular kernel is left pending until the target thread resumes
execution in relaxed mode, at which point it is committed.
CAUTION: This mechanism won't update the schedparams cached by the
glibc for the caller in user-space, but this is the deal: we don't
relax threads which issue pthread_setschedparam[_ex]() from primary
mode anymore, but then only the kernel side (Cobalt and the host
kernel) will be aware of the change, and glibc might cache obsolete
information.
If the caller already runs in relaxed mode on entry to these services,
the update request takes place immediately, via the regular (g)libc
calls.
In any case, the new scheduling parameters for the target thread are
immediately applied by Cobalt, regardless of the update path followed
for the regular kernel.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e22e36062ea23d483ef3e3fff9463971e9587ad6
Author: Philippe Gerum <[email protected]>
Date: Fri Mar 18 12:12:50 2016 +0100
cobalt/thread: add schedparam lazy propagation
Provide a mechanism for carrying out a lazy propagation of schedparam
updates to the regular kernel, so that userland does not have to
switch to secondary mode for this.
When userland issues sc_cobalt_thread_setschedparam_ex for updating
the scheduling parameters of a Xenomai thread, a request for
propagating this change to the regular kernel is made pending. Such
request will be committed later, either when:
- the thread relaxes if it is running in primary mode when the update
request is received;
- next time the thread calls back into the Cobalt core as a result of
receiving a HOME action from a SIGSHADOW notification, which is sent
if such thread was relaxed at the time of the update request.
As a result, the target thread will have propagated the schedparams
update to the regular kernel as soon as it resumes (relaxed) execution
in user-space.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=82e94b574b09a574ba4ccae59144e5cdf530551e
Author: Jan Kiszka <[email protected]>
Date: Thu Feb 25 11:29:00 2016 +0100
smokey/posix-mutex: Fix test case /wrt mutex object reuse
Mutex objects created on the stack must be properly destroyed after use.
Otherwise, succeeding tests that use the same stack layout will consider
them busy and refuse to recreate the mutexes.
Signed-off-by: Jan Kiszka <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=94e364f4ceb511d9fafb79a02bf0a7b8620ef1aa
Author: Philippe Gerum <[email protected]>
Date: Wed Feb 17 09:21:27 2016 +0100
testsuite/smokey: mutex: simplify, introduce PP tests
At this chance, the lock stealing test is also fixed.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=56de7df7e14c753e55fcc3dc700467438f7dbf40
Author: Philippe Gerum <[email protected]>
Date: Tue Feb 16 10:13:03 2016 +0100
lib/cobalt/mutex: add support for priority ceiling protocol
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c4cb2e7509ce70bfd5835dd06feaca7330d9efcc
Author: Philippe Gerum <[email protected]>
Date: Tue Feb 16 10:12:55 2016 +0100
cobalt/synch: add support for priority ceiling protocol
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8479646df397b6ac444b3d6cd1de61eed5e047ea
Author: Philippe Gerum <[email protected]>
Date: Thu Mar 3 09:16:21 2016 +0100
cobalt/wrappers: add wrapper for reinit_completion()
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b6ddecce4fdac8f0ff6b016e1fd499eb1cd6a9e3
Author: Philippe Gerum <[email protected]>
Date: Fri Feb 26 11:44:16 2016 +0100
testsuite/smokey: add test checking Cobalt's cpu affinity control
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ed1b34448a22048bef01a3568476ebdf0b19fb5d
Author: Gilles Chanteperdrix <[email protected]>
Date: Sun Nov 1 19:14:40 2015 +0100
testsuite/smokey: add RTnet raw packets test
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0261f35b8ac7c5f068c1748454639b40cc719ba8
Author: Gilles Chanteperdrix <[email protected]>
Date: Sun Oct 11 16:05:18 2015 +0200
testsuite/smokey: add RTnet testsuite
Starting with UDP and raw sockets.
Measuring round trip time and checking for lost packets.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9e3bab1419e3cd526abdf35be1fce982cf9b9bc9
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:17:49 2015 +0100
cobalt/arm64: drop obsolete config knob
All existing ARM64 pipeline implementations provide the
CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH knob, which is tested directly in
the Xenomai code base. No need for CONFIG_XENO_ARCH_UNLOCKED_SWITCH
anymore.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1a011851dd14d545c4e0ccaaa67c50e889cf6246
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:14:53 2015 +0100
cobalt/powerpc: drop obsolete config knob
As of fbe1164, CONFIG_XENO_ARCH_UNLOCKED_SWITCH is not tested anymore
in the code base.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ee791da368146f5626cafbecabba4638f477bdc7
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 18:07:15 2015 +0100
cobalt/sched: detect preemptible switch support in pipeline
CONFIG_XENO_ARCH_UNLOCKED_SWITCH is merely an alias for
CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH, which is only meaningful to the
ARM architecture, now that PowerPC dropped such support.
Use the pipeline symbol directly to make the dependency explicit.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=281d6d7e37937f0e58b834d631a3cb8bbddbd8c7
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 16:41:13 2015 +0100
cobalt/powerpc: drop support for unlocked context switch
This feature never actually brought any measurable gain on powerpc
platforms, compared to the complexity of its implementation in the
pipeline. It was primarily aimed at reducing latency for interrupt
handlers when costly cache and TLB flushes are required to switch
context, at the expense of increasing the scheduling latency. It
turned out to be counter-productive on common powerpc platforms, with
efficient MMUs.
This feature has been default off for a while now, and 4.1+ pipelines
won't provide support for it anymore. Time to drop support from
Xenomai too.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=408e966375754559618b4e4d2dec084c1d352d10
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 15:21:02 2015 +0100
cobalt/arm: track current mm unconditionally
All pipelines Cobalt can work with (i.e. 3.10+) for the arm
architecture do provide the mm tracking feature unconditionally, so
there is no point in keeping any build switch for it.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9639106c16f2f55a999e81a92e7dffd90c4a7dad
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 15:21:02 2015 +0100
cobalt/powerpc: track current mm unconditionally
All pipelines Cobalt can work with (i.e. 3.10+) for the powerpc
architecture do provide the mm tracking feature unconditionally, so
there is no point in keeping any build switch for it.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=70e7dd6c045ca0f11a3ad3dc2432a4f177283513
Author: Philippe Gerum <[email protected]>
Date: Sat Nov 14 14:47:44 2015 +0100
cobalt/thread: track thread_info unconditionally
We almost always want to track the thread_info structure of the host
task in the core tcb, and doing so is cheap, so there is no point in
building this support conditionally.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e9e42c11d93dfbf8375b65e41f7fa5c5414197e2
Author: Philippe Gerum <[email protected]>
Date: Tue Nov 3 13:11:25 2015 +0100
cobalt/kernel: fixup for v3.19+ (trace_seq)
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=59687843b05fc0e93325af303201a47271b31140
Author: Philippe Gerum <[email protected]>
Date: Mon Nov 2 20:45:10 2015 +0100
cobalt/kernel: fixup for v3.19+ (user_msghdr)
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=569a18764327dacdcb7253b29dda83ba5213cf12
Author: Philippe Gerum <[email protected]>
Date: Mon Nov 2 15:41:31 2015 +0100
cobalt/arch: fixup READMEs
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e8ed8aaa58456acbf70c5f5df9ac4ba5b14ee69a
Author: Philippe Gerum <[email protected]>
Date: Sun Nov 1 17:22:33 2015 +0100
cobalt/arm64: add README for I-pipe support
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4ac3f53947669ee9190e81ccd3df4d2908021f43
Author: Gilles Chanteperdrix <[email protected]>
Date: Fri Oct 30 17:14:00 2015 +0100
cobalt/arm64: attempt at fixing fpu switch
Return to eager switching, since user-space applications use FPU
registers even when not using the FPU, but use an auxiliary backup area
when the "TIF_FOREIGN_FPSTATE" bit is set, in order to avoid clobbering
the saved FPU state.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b8b823ed9a6b1d70d9e2e9e9e598aa6bd740bbab
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 24 15:52:48 2015 +0200
testsuite/smokey: add basic FPU stress test
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7fcd7b76e6222e491bd47afdbb194331f715b415
Author: Philippe Gerum <[email protected]>
Date: Thu Oct 22 14:45:05 2015 +0200
cobalt/arm64: disable callee-saved logic in fptest helpers
We don't want GCC to apply any callee-saved logic to fpsimd registers
in fp_regs_set() before fp_regs_check() can verify their contents, but
we still want GCC to know about the registers we have clobbered.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2a86fe93efa3703530887b54edafbc7a0ab6e2bd
Author: Philippe Gerum <[email protected]>
Date: Mon Oct 19 15:54:55 2015 +0200
cobalt/arm64: switch to regular system call convention
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1f2b05be553500c9a233803d5ba8e96926b7569c
Author: Philippe Gerum <[email protected]>
Date: Mon Oct 19 10:38:21 2015 +0200
cobalt/arm64: use lazy fpsimd switch mode
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=da86fe1bc6fc8e9a640d5ce37a2f7f9ffd2f0b58
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 18:07:59 2015 +0200
cobalt/arm64: use regular context switching code
Instead of open coding a copy of the regular context switching code,
use __switch_to() directly, assuming the pipeline properly serializes
switches from all domains.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=53cb074e59c700916925eaab95cf001911df2cbd
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 14:43:25 2015 +0200
cobalt/arm64: drop useless test on target architecture
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6fec340930b4a0fa20a45342b795d4283b0dd1b8
Author: Philippe Gerum <[email protected]>
Date: Sat Oct 17 14:40:53 2015 +0200
cobalt/arm64: fix inclusion guards
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=822b9b4828fc4381eb15f927c69d88401b21205b
Author: Don Mahurin <[email protected]>
Date: Mon Sep 14 12:52:27 2015 -0700
cobalt/arm64: Use empty mayday implementation for arm64.
The arm mayday implementation was not correct for arm64. Replace with empty
implementation.
Handle mayday in the linux domain, using xnthread_relax. This change is
essentially the same as the general change proposed in the 'Mayday issues
again' discussion (Jan Kiszka, Jun 21), though only applied to arch/arm64.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3c556d3599e7e96d94f65a13582961a4ee67333d
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri Oct 2 12:54:37 2015 -0700
cobalt/arm64: FPU code cleanup
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5be253664e22eea0dc7dd9a947975b06fa92fc20
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu Oct 1 15:47:41 2015 -0700
cobalt/arm64: add lazy FPU switching
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4145b9605a5b2037afb6087d18df91a2883b2023
Author: Dmitriy Cherkasov <[email protected]>
Date: Mon Sep 28 16:13:45 2015 -0700
cobalt/arm64: fix fpu exception names
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=69430ae3dbb735e5bdff96de95d39214f99c9773
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri Sep 11 17:58:54 2015 -0700
cobalt/arm64: add basic FPU support
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=89159a521e964f0ce26231070b3901f4b4e729da
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 15:08:34 2015 +0200
cobalt/arm64: leave mm tracking to the pipeline
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fb2d85f4da4940b3738babdc1fed5c034002a2fd
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 11:43:50 2015 +0200
cobalt/arm64: restrict unlocked switch to SMP
Unlocked switching for Xenomai/ARM was specifically introduced for
improving the interrupt latency on low-end armv4/armv5 platforms with
VIVT caches.
The once massive overhead imposed on the MMU context switching code
for invalidating the cache is long gone with VIPT indexing, and
keeping IRQs off while switching the memory context on armv8 these
days is not an issue. Actually, the complexity of the code involved in
dealing with unlocked switching may overbalance the expected gain.
However, the mainline kernel implementation for ASID management in the
SMP case currently requires us to keep IRQs enabled when allocating a
new MM context over the Xenomai domain, just like it did for aarch32
during the 2.6.3x time frame until the IPI-based approach was
eventually dropped.
So, let's restrict unlocked switching to the SMP case, forcing it off
otherwise, in the hope we can drop it entirely in the future.
At this chance, CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH moves to the
kernel area, where it actually belongs.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=57817aeac329e9a06a9e9a5181eb2a338882ad59
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 04:01:49 2015 +0200
cobalt/arm64: sanitize calibration file
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cf234881ddc608031cdb566f32701f90e5d8dc6c
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 02:19:57 2015 +0200
cobalt/arm64: assume TLS is properly supported
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5b0156213cf145bb3763aa542495e5e7c54acfa6
Author: Philippe Gerum <[email protected]>
Date: Thu Sep 17 02:16:10 2015 +0200
cobalt/arm64: drop aarch32 bits from feature set
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e2acd661970a77f92be8eba249075245c756d3ed
Author: Don Mahurin <[email protected]>
Date: Wed Sep 2 13:48:36 2015 -0700
cobalt/arm64: fix build for mismatched printf type (%lx,u64) on arm64.
pc and orig_r0 are u64 on arm64 and 'unsigned long' or arm and other
platforms. printf referencing these are using %lx. On arm64, long and long long
(and u64) are 64 bits. Rather than changing printf format, chnage arm64 macros
to cast to unsigned long.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=66d6caa36403b0f4ce6cc4b4025b7bf12cf5bc51
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed Jun 17 16:09:20 2015 -0700
cobalt/arm64: machine.h: use slightly faster ffnz implementation
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fcdbe7c58bf38fd5cd9b8e9a70ad258018ffa14f
Author: Dmitriy Cherkasov <[email protected]>
Date: Mon Jun 15 17:10:37 2015 -0700
cobalt/arm64: machine.h: Add 64-bit ffnz implementation. This fixes crash
when running xddp-echo.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2cf852273b9317eff8d210a8caa2b326a2dff321
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri May 15 23:26:18 2015 -0700
cobalt/arm64: thread: use kernel switch_to
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cd3f0fa2f56d1307cb6f3366ae0b1641724eb2a6
Author: Don Mahurin <[email protected]>
Date: Thu May 14 17:34:53 2015 -0700
cobalt/arm64: fix warning: expects argument of type 'long unsigned int',
but argument has type 'u64'
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3b8f6d925bdd3b5e0db61ef0ba284e2a2994ff6a
Author: Don Mahurin <[email protected]>
Date: Wed May 13 09:36:25 2015 -0700
lib/cobalt/arm64: replace tsc counter
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=25366f4874035ccf026afc636b20442222123826
Author: Dmitriy Cherkasov <[email protected]>
Date: Fri May 8 15:54:18 2015 -0700
cobalt/arm64: xenomai/syscall.h: update syscall register
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fbb9b45c132bd9e1aba03db3fcaa13c85fd9a2eb
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed May 6 15:27:10 2015 -0700
cobalt/arm64: prepare-kernel: add arm64 arch
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1c7b04e1673d11ea17c05b4f83ae47566411080d
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:39:32 2015 -0700
lib/cobalt/arm64: implement syscall for armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=59e477e06e300705c55babaf142a86e8fa2cf4d2
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:39:01 2015 -0700
lib/cobalt/arm64: add __LINUX_ARM_ARCH__ form armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3f90b58eb1cf5bda063ea4193d6473e2638ff74c
Author: Don Mahurin <[email protected]>
Date: Fri May 8 10:37:36 2015 -0700
lib/cobalt/arm64: disable kuser tsc get setting for armv8/aarch64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7626c1ea89844af778c9ca6f3bfa6e0b4f9b8169
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:41:45 2015 -0700
cobalt/arm64: set cache aliasing and disable floating point coprocessor
instructions form aarch64/arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ed1a7295104436463ef947ee90702b0cb0669c36
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:41:09 2015 -0700
cobalt/arm64: thread.h & syscall.h: fix register references for arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c464b898f255714c8e67dd9b2d71fa8c7297891f
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 16:40:07 2015 -0700
cobalt/arm64: features.h: disable XNARCH_HAVE_LLMULSHFT,
XNARCH_HAVE_NODIV_LLIMD for armv8/aarch64, as arm64 does not have these
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fd5b9c02ee36a73ed854682e0dd8b9a97e2db535
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:58:14 2015 -0700
cobalt/arm64: update register struct usage for arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=461fabf28acba80b5f5a5b802fd405287a811c36
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:56:22 2015 -0700
cobalt/arm64: remove code for unrelated arm architecture
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a6c997e237a3a4c43632a981e03ad3f26a3b581d
Author: Dmitriy Cherkasov <[email protected]>
Date: Thu May 7 13:54:32 2015 -0700
cobalt/arm64: Makefile: fix arch path
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6782c45c2ac65b02571fb1dad5bbaf3bc13b2308
Author: Dmitriy Cherkasov <[email protected]>
Date: Wed May 6 15:27:23 2015 -0700
cobalt/arm64: populate arch/arm64 with a copy of arch/arm.
kernel/cobalt/arch/arm -> kernel/cobalt/arch/arm64
lib/cobalt/arch/arm -> lib/cobalt/arch/arm64
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=679b9191f81bc44d05c4eaac28d3d6362c12d689
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 16 21:56:36 2017 +0200
cobalt/kernel: don't crash on early shadow mapping failure
This fixes a regression introduced by 203f200, trashing the global
thread list upon early failure in cobalt_map_user().
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=67d93f02c8e7a639cbb466ec6bebda6948ebc4bb
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 16 12:28:08 2017 +0200
cobalt/init: fix percpu definition
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f850c26c6e11f864dc74a3a5fa8e34bf2664a9b7
Author: Göktürk Yüksek <[email protected]>
Date: Fri Apr 14 19:54:00 2017 +0200
configure: fix the help string for demodir
The help string uses '--with-demo' instead of '--with-demodir',
misinforming the user about the correct option to pass.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3fa4dcdc397c35d27b67534c04e0ffb6e9d6d1d2
Author: Romain Naour <[email protected]>
Date: Fri Apr 14 15:08:00 2017 +0200
arm: enable armv5tej support
armv5tej are not detected in
lib/cobalt/arch/arm/include/asm/xenomai/features.h
Apply the same patch from xenomai-2.6:
https://git.xenomai.org/xenomai-2.6.git/commit/?id=ebc2779baa222db4a5936c3d3022803355585b8c
Signed-off-by: Romain Naour <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8cb527787b37b31dc20afee8b2e9c425d74b5978
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 15:33:00 2017 +0200
lib/cobalt: better detect lack of backtrace() support
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8e7aa675267a4d7756cf122914230908a5bf7c68
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 15:22:55 2017 +0200
lib/cobalt: handle direct mmap64(), open64() wrapping to 32bit versions
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=eeca7bcf489379393343faf66e91b20b96fa4767
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 15:15:17 2017 +0200
lib/cobalt: use designated initializers for socket types
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=249a27e5a3610297d213a80f49cd6f33648d91f2
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 15:06:07 2017 +0200
lib, utils: prefer X/Open LONG_BIT over __WORDSIZE
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=00ea14550cf6967655489669fb4c7aab1f8451fa
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 14:57:45 2017 +0200
lib/cobalt: check for valid mutex init decls
Not all mutex types may be supported by the underlying *libc
implementation.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0b5bb07cd8ca264638b041f15170357337c60b7c
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 12:47:54 2017 +0200
boilerplate: decouple pthread_setaffinity_np(),
pthread_attr_setaffinity_np() placeholders
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d723497fb855f31b88e007b283017d9579851b0d
Author: Philippe Gerum <[email protected]>
Date: Sat Apr 15 12:46:58 2017 +0200
boilerplate: remove potentially conflicting PAGE_SIZE definition
*libc implementations may define PAGE_SIZE.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4c593544d2ff39ba6631cc3fa0b91493973674d4
Author: Philippe Gerum <[email protected]>
Date: Fri Apr 14 18:28:36 2017 +0200
boilerplate: build obstack support conditionally
If the underlying *libc does not support obstacks, build a private
implementation, otherwise fully rely on the native support.
This fixes a long-standing issue building replacement code for the
native obstack support, which ended up breaking builds over uClibc
1.0.21 and later. See https://patchwork.ozlabs.org/patch/745792/.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f68a02088ef2286178485b51d1df8b56908e3861
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 2 16:46:34 2017 +0200
doc: build
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d99e3f21e56b25a5e5cbccf3450c568cdfba6b1b
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 2 12:29:30 2017 +0200
lib/cobalt, utils: stdio: fix wrapping of inlined fputc, putchar
Depending on the uClibc-specific, internal __STDIO_PUTC_MACRO for
detecting macro-ized *putc* services is non-portable, unlikely to work
with MUSL libc or any other libc variants.
Use a more robust approach by directly detecting the definition of
macros for those services. This change also enables non-wrapped access
to such calls, which was not available until then (__STD() calls were
routed to the wrapper regardless).
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b2a30b28d44b50e9df6615c316e328cb54d083b0
Author: Philippe Gerum <[email protected]>
Date: Sun Apr 2 11:09:21 2017 +0200
build: replace deprecated AC_TRY_COMPILE()
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c9bdf48a9c3d788cd4933462fc301aa02d759b36
Author: Josh Bowman <[email protected]>
Date: Sat Apr 1 11:07:05 2017 +0200
testsuite/latency: prevent access to stale semaphore during cleanup
Wait for the display task to exit before deleting the semaphore it
pends on.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=2353e59f2e016879a33da96f4583c49ad521a864
Author: Philippe Gerum <[email protected]>
Date: Wed Mar 22 09:21:07 2017 +0100
boilerplate/setup: postpone detection of late setup calls
Since #d6d8047, setup descriptors may be registered after the base
inits have been performed, if DSO bootstrap modules were activated.
Postpone the detection of late setup calls after the main bootstrap
module has run instead.
This fixes an issue with --enable-assert in presence of DSO bootstrap
code.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d6d8047ecd093bd827026678b3c7619b08dd7dd2
Author: Philippe Gerum <[email protected]>
Date: Tue Mar 21 15:20:29 2017 +0100
boilerplate/setup: allow DSO bootstrap modules to coexist with main one
Gluing a PIC bootstrap module to a DSO is a common way to start the
Xenomai services before constructors of static C++ objects
instantiated by the DSO and which depend on such services, are
invoked.
With such module present in the DSO, a Cobalt-based application
process would attach itself to the Cobalt core via the bootstrapping
sequence, enabling the real-time services for the whole process,
including the static C++ constructors which may be invoked when
attaching the shared object.
e.g. in libfoo.so:
class FOO {
protected:
sem_t sem;
public:
static FOO bar;
};
...
FOO FOO::bar;
FOO::FOO()
{
// Initialize a Cobalt semaphore
sem_init(&sem, 0, 0);
}
However, adding a bootstrap module to a DSO currently prevents from
merging a second bootstrap module aimed at kickstarting the main
program's setup code and early inits, due to conflicting symbols and
the restriction on invoking xenomai_init() only once for any given
process.
The changes introduce a DSO-specific initialization service
(xenomai_init_dso()), which may be called from the context of the
dynamic linker attaching a shared object to the current
executable. The DSO-specific bootstrap module - if present - will call
xenomai_init_dso(), there is no restriction on the number of DSOs
calling this service.
The non-DSO bootstrap module invokes xenomai_init() as previously, for
kickstarting the main program's early inits.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6f8dc4d9e95979c18f19b405774555661c2a2085
Author: Philippe Gerum <[email protected]>
Date: Wed Mar 15 15:34:08 2017 +0100
lib/cobalt: modechk: do not wrap cxa* API
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b326c59df2b8511ccf5ba123a7d9039003f021d2
Author: Philippe Gerum <[email protected]>
Date: Wed Mar 15 09:58:46 2017 +0100
alchemy/testsuite: pipe: fortify source code
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8c82454cd6bed496a8c4d6e1d059b0b5c87bb6c7
Author: Philippe Gerum <[email protected]>
Date: Tue Mar 14 19:01:20 2017 +0100
lib/cobalt: modechk: switch to shared object, drop cxa wrappers
Dynamically linked code from shared libraries which may reference mode
checking wrappers cannot depend on symbols which are only visible from
the static link phase, such as those defined by the libmodechk.a
library. Otherwise, unresolved references to symbols from libmodechk.a
may exist in shared objects such as libcopperplate.so.
Unfortunately, we can't interpose on the cxa* API from a dynamic
library, since the latter would create references to "real"
__cxa_acquire/release/abort() routines, which are not available from
plain C builds since only libstdc++ defines them.
Providing placeholders for the cxa* API calls in a dynamic object is
not an option either, since that would create a dependency on the link
order between libmodechk and libstdc++ for pulling the actual symbols
instead of the dummy ones, which is not acceptable. Besides, relying
on LD_DYNAMIC_WEAK is fragile, unpractical, and won't work in secured
execution mode.
To work around this chicken-and-egg issue, make libmodechk a shared
object, and drop mode checking for the cxa* API for now. We'll revisit
the issue of enabling back the cxa* API later.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=dd131f1d6d76cc3aae14c542926f6622563b2062
Author: Philippe Gerum <[email protected]>
Date: Mon Mar 13 15:51:31 2017 +0100
lib/cobalt: modechk: rename assertion helper, fix header
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bad288b6bab74cc230d1fc6e2d80f9e388be7d3e
Author: Philippe Gerum <[email protected]>
Date: Mon Mar 13 12:33:37 2017 +0100
lib/cobalt: modechk: fetch WARNSW flag from u_window
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d8f5eee72c5d4fb349d23f2d924645ccd12f8c9c
Author: Philippe Gerum <[email protected]>
Date: Mon Mar 13 10:50:34 2017 +0100
scripts/xeno-config: cobalt: add --[no-]mode-check switch
These switches control whether xeno-config should emit the linker
flags for interposing on a set of standard routines which may invoke
regular Linux system calls, triggering an assertion failure on entry
if the caller must switch to secondary mode.
For the assertion failure to trigger, PTHREAD_WARNSW must have been
set for the calling thread.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e462c8499eaff9c2ff1bf5a745a64613420a9aa1
Author: Henning Schild <[email protected]>
Date: Sun Mar 12 18:30:57 2017 +0100
lib/cobalt: wrap CXXABI One-time Constructor functions
The implementation of these functions uses locks and has the potential
to trigger a SIGXCPU when contended. Wrap them with assert_nrt so they
reliably cause a switch when used in the rt context.
Signed-off-by: Henning Schild <[email protected]>
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a7243543ecca5d8cfe9b7a4d76cdb57ae252f6a9
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 12 12:21:18 2017 +0100
lib/cobalt: move mode checking wrappers to static archive
The mode checking wrappers must reside in a static archive, so that
the linker will pull them on demand, dropping the requirement for
providing potentially conflicting placeholders for wrapped symbols
which may not be present in both C and C++ support libraries
(e.g. __cxa_guard_acquire/release/abort from the one-time C++
constructor API).
See http://www.xenomai.org/pipermail/xenomai/2017-March/037184.html
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1ba2fc8ef98d927f07a8d7465fe9ea541f501e39
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 12 11:37:20 2017 +0100
drivers/ipc: reduce stack footprint of I/O vectors
Resort to dynamic allocation of the I/O vector when more than 16
entries are needed, otherwise stick to a stack-based fast vector as
previously.
As a by-product of this change, we can now align on the regular
UIO_MAXIOV limit for all RTIPC protocols.
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4336b93138754b0f4a6f4373ef187212948c1974
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 12 10:24:58 2017 +0100
cobalt/synch: add __must_check annotation to sleep_on call
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9000dc953d740fa4bf48db88d9c7c0b4de69407b
Author: Philippe Gerum <[email protected]>
Date: Sun Mar 12 10:23:47 2017 +0100
cobalt/synch: add __must_check annotation to lock acquisition routines
_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git