URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fe3b7ef20ebdb1c30673884611e02ea99cc1b735 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fc4c1f916e651abe49e0efc8dc03bb11ad1923f0 Author: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> 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 <j...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=9825770e92ad7a11be59b108986e45b924b3e206 Author: Jorge Ramirez-Ortiz <jorge.ramirez-or...@linaro.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bb893bb0e6a330cc7625219e828d0b7e79abae6f Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7d3436e20f109dfef2ebabea685eb7069db081b9 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4ad97c36455a66fc2916547918fee54ea17dc079 Author: Jan Kiszka <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b28fb4706c90ff7571efb9f3a98edde607c8666d Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jan.kis...@siemens.com> 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 <jan.kis...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=94e364f4ceb511d9fafb79a02bf0a7b8620ef1aa Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gilles.chanteperd...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <d...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <dmit...@mperpetuo.com> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <gokt...@gentoo.org> 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 <romain.na...@gmail.com> 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 <romain.na...@gmail.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8cb527787b37b31dc20afee8b2e9c425d74b5978 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <jbow...@facts-inc.com> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <henning.sch...@siemens.com> 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 <henning.sch...@siemens.com> URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a7243543ecca5d8cfe9b7a4d76cdb57ae252f6a9 Author: Philippe Gerum <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> 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 <r...@xenomai.org> Date: Sun Mar 12 10:23:47 2017 +0100 cobalt/synch: add __must_check annotation to lock acquisition routines _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git