URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=aa03c2653573612c73d67d8d01692e757d5e442a
Author: Philippe Gerum <[email protected]>
Date:   Tue Oct 3 12:02:36 2017 +0200

    demo/gpiopwn: include required header explicitly

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1fda1b8658a96c9a71956ec3ff60406af8ebf5bd
Author: Jan Kiszka <[email protected]>
Date:   Fri Sep 29 12:21:21 2017 +0200

    cobalt/tracing: Primarily identify threads via pid
    
    Except for the short phase between thread_init and shadow_map, a thread
    is always identifiable via the pid of its Linux mate. Use this shorter
    value, which also correlates with what ftrace records anyway, instead of
    the pointer or the name. Report the full thread name only in prominent
    cases: init, resume and switch.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=404db0d7e97e67d3189b258f05967c6016ded309
Author: Jan Kiszka <[email protected]>
Date:   Fri Sep 29 10:32:42 2017 +0200

    cobalt/tracing: Don't report current thread in tracepoints
    
    All these are synchronous, and the thread context is already recorded by
    ftrace.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=35c7adc4017e7676dccbaa78fef2fc40686a0bff
Author: Jan Kiszka <[email protected]>
Date:   Fri Sep 29 07:36:27 2017 +0200

    cobalt/tracing: Print syscalls by name
    
    Matching numbers against syscall.h, specifically when the call is compat
    or x32, is tedious work. Fortunately, ftrace allows up to automate this.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=cb930163d6700b9ec291e1cd60bf4f6f0dcb6b2c
Author: Jan Kiszka <[email protected]>
Date:   Fri May 6 14:40:00 2016 +0200

    cobalt/tracing: Trace changes of the current thread priority
    
    Specifically useful to validate scheduling during PI or PP phases.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=15f2ab6b1b1820e9d6bc56b05c0083cfcfb23241
Author: Jan Kiszka <[email protected]>
Date:   Thu Sep 28 20:54:24 2017 +0200

    cobalt/tracing: Enhance cobalt_switch_context tracepoint
    
    Adding PIDs and the state of the previous task will allow to track
    Xenomai task switches in kernelshark (so far via out-of-tree patches,
    upstream is planning for the necessary plugin concept).
    
    Moreover, reporting the current priority on context switch helps
    debugging unexpected or delayed context switches
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f8143d30d3ca307e14eedf90e765a120c8ddb202
Author: Jan Kiszka <[email protected]>
Date:   Thu Sep 28 19:57:49 2017 +0200

    cobalt/tracing: Convert cobalt_print_sched_params into proper function
    
    The code of cobalt_print_sched_params is carried into the format string
    in tracefs, and trace-cmd tries to make any sense out of it. While it
    can process simply statements, this code is too complex and will prevent
    the parsing.
    
    Convert it into a function. That still does not resolve the parsing
    issue of trace-cmd, but that can be addressed by a custom plugin which
    can then interpret this tracepoint. That wouldn't be possible with the
    broken format string.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6c67f768aeec4ed4479102ecb3c3d3a09afa5d1a
Author: Jan Kiszka <[email protected]>
Date:   Thu Sep 28 19:55:28 2017 +0200

    cobalt/tracing: Do not print numerical policy in trace
    
    __print_symbolic already ensures that unknown policies are printed
    numerically.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1efdde9ea3d4af310f260a4b20338e6b2259f0fc
Author: Jan Kiszka <[email protected]>
Date:   Thu Aug 31 19:21:53 2017 +0200

    cobalt/wrappers: Fix version level for cobalt_gpiochip_dev
    
    That renaming only took place in 4.5.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ec3c7f073dd1f7b275bb84fa12ad1d3e5c3e0ce6
Author: Jan Kiszka <[email protected]>
Date:   Sun Oct 1 08:38:17 2017 +0200

    cobalt: Never crash on reading host task pid
    
    Catch the case that we try to obtain the pid of a not yet fully
    initialized thread. Signal the error by returning -1 which is
    specifically useful in case the value is added to some debug output or
    trace.
    
    xnthread_host_pid is now too complex for inlining.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=71712fa1a80b9889fb62045a043904048c4439b6
Author: Jan Kiszka <[email protected]>
Date:   Mon Jul 31 15:37:57 2017 +0200

    cobalt: Introduce xnftrace_printf
    
    This allows to inject a user-defined string into the system's ftrace
    without leaving RT mode (because of using a standard write on
    /sys/kernel/debug/tracing/trace_marker).
    
    As the signature of this function is different from the existing trace
    syscall, create as dedicated one.
    
    For simplicity reasons, the maximum string length that can be passed
    down to the kernel is limited to 255 characters (+1 for termination).
    
    We call directly into the internal __trace_puts to avoid both the
    unneeded strlen call of the trace_puts wrapper and the false warning
    that kernel code uses trace_printk.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0bfb0c357e3d7d2d63f58dd60f9a992312ad8e08
Author: Philippe Gerum <[email protected]>
Date:   Wed Aug 2 11:07:01 2017 +0200

    cobalt/timer: fix, rework ptrace detection and timer forwarding
    
    Ptracing may cause timer overruns, as the ptraced application cannot
    go waiting for the current period in a timely manner when stopped on a
    breakpoint or single-stepped. A mechanism was introduced a long time
    ago for hiding those overruns from the application, while ptracing is
    in effect.
    
    The current implementation dealing with this case has two major flaws:
    
    - it crashes the system when single-stepping (observed on ARM i.MX6q),
      revealing a past regression which went unnoticed so far.
    
    - it uses a big hammer to forward (most) timers without running their
      respective timeout handler while ptracing, in order to hide this
      timespan from the overrun accounting code. This introduces two
      issues:
    
      * the timer forwarding code sits in the tick announcement code,
        which is a very hot path, despite ptracing an application is
        definitely not a common operation.
    
      * all timers are affected / blocked during ptracing, except those
        which have been specifically marked (XNTIMER_NOBLCK) at creation,
        which turns out to be impractical for the common case.
    
    The new implementation only addresses what is at stake, i.e. hiding
    overrun reports due to ptracing from applications. This can be done
    simply by noting when a thread should disregard overruns after an exit
    from the ptraced mode (XNHICCUP), then discard the pending overruns if
    this flag is detected by the code reporting them
    (xntimer_get_overrun()).

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a8557e1ef43aa3cd5c31387729bc3c2bb982e063
Author: Jan Kiszka <[email protected]>
Date:   Wed Jul 26 18:50:43 2017 +0200

    cobalt: Fix conditional build by avoiding #if XENO_DEBUG()
    
    In contrast to #ifdef CONFIG_x, #if IS_ENABLED(x) (or our wrapper of
    the latter) does not update the dependency information for kbuild. So,
    switching any config easily left inconsistent build artifacts behind.
    
    This conversion also fixes de66d324a93d: there is and there was never a
    CONFIG_XENO_DEBUG_LOCKING.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5d51665d3e9e304473c43e0f00f351c79b94082e
Author: Jan Kiszka <[email protected]>
Date:   Fri Jul 14 17:19:39 2017 +0200

    smokey: Add test cases for trylock on ceiling mutexes
    
    This reveals a bug in the trylock kernel slow-path when
    CONFIG_XENO_OPT_DEBUG_MUTEX_SLEEP is set.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d45cb76e01cd430423652c16a934681fdd8e7728
Author: Jan Kiszka <[email protected]>
Date:   Fri Jul 14 20:32:40 2017 +0200

    cobalt: Align structure of mutex_trylock with mutex_timedlock
    
    No need to have different patterns, and the one of mutex_timedlock is
    more compact.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1dfc17d011b7298474a82a07186cb33f76c8a87f
Author: Jan Kiszka <[email protected]>
Date:   Fri Jul 14 20:34:25 2017 +0200

    cobalt: Fix slow-path of mutex_trylock in kernel
    
    We missed to call set_current_owner on successful acquisition. That
    destroyed prio ceiling and could even cause a crash when lock debugging
    was enabled.
    
    This can easily be addressed by switching the open-coded trylock to
    xnsynch_try_acquire. Nice side effect: less code.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8c5a63c3fffbefb1a4af4c674f091daafafa37cc
Author: Philippe Gerum <[email protected]>
Date:   Thu Jun 1 09:46:29 2017 +0200

    lib/cobalt: init: hint about failure due to disabled core

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=66c2826bd7842febaf4f3626df845e123a9487a6
Author: Philippe Gerum <[email protected]>
Date:   Thu Jun 1 09:43:53 2017 +0200

    cobalt/syscalls: reject binding attempt to disabled core with EAGAIN

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3ba25c59913ec72ab6228f83ab6a35a1f62a0de1
Author: Philippe Gerum <[email protected]>
Date:   Wed May 24 17:41:41 2017 +0200

    cobalt/arm64: no fpsimd support in real-time kthread context

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=da3e8a11055ef9a046c4656f8508d8b9f54f0e5f
Author: Philippe Gerum <[email protected]>
Date:   Mon May 22 12:06:46 2017 +0200

    cobalt/arm64: use regular context switching code
    
    Since 4.9.x, the interrupt pipeline implementation guarantees that the
    regular context switching code may be used over the head stage,
    including the fpu management bits.
    
    Drop the open coded support and use mainline's implementation instead.
    
    At this chance, drop the useless conditionals for handling the non-FPU
    case: this one does not apply to arm64.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=17507754818c2821f933df6e9a469158eef74c27
Author: Philippe Gerum <[email protected]>
Date:   Mon May 15 17:03:02 2017 +0200

    cobalt/arm64: fix build w/ pre-4.8 kernels

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=12546cedd8deefeaa2fe7a407cb0a317267e3b2d
Author: Philippe Gerum <[email protected]>
Date:   Sun May 14 19:41:55 2017 +0200

    cobalt/arm: fixups for kernel 4.8+
    
    At this chance, stop using the obsolete flush_cache_all() routine
    which cannot honor the documented semantics for arm64.
    
    Besides, calibrating the access times to the timer registers in
    no-cache conditions does not make sense.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ba6518e2c730cb639dadec0b1aba63421ef30357
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=4e50d6e575bcd1f2ecbe6d427339ec4308cb50c0
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=247ccb2684b3be10a4f470e87375935b4935192a
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=a6f788b7c5ef35361b3cf3f147a2870e09d98ce5
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=1dd6ec81a0cb2975d739981b40e9903a3e38344e
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=17dc28fb91b177a16e438c46332e0e261fa431d3
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=7708f3e28e8bf8ed28685ce1d32b5436bee07e5c
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=79f09bc6de931316530a2042d716955190a32b1e
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=4b989c7b3ff6a4bd6015cf072ddf977e55f15b61
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=5f16663f38252138fc5e67eefb1d11baa71a1f01
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=d02d5d6617accc806be90867b128cdd401f9f279
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=240563d4c3faacdd1de04461cf0e84a970d8c61d
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=4d59d51ec91fdb81bc626329f033c35c3a0e4d84
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=c9d79e81c85d0f9060a69a76487047e0ad041eba
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=9b8972dec947abc1868dd0089cc5e7ae6041f9c8
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=34ae9251dca4d40c009ebf7e6d6342d3e8630f27
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=95703357c0e4a44bee9ed5ca30928795cf34ec6e
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=be9c13e386742a59986adef09efb8d2a5ac4dedf
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=4830fc28303991a521523ec9be1e923c7614cef5
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=6ecee7662dd825a7973c381b1f7009c2e14addbf
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=ce7185027e6718439cd2828eb9801beaa28bef28
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=724a8f0c1187bbb13ba7fd28be36d80c8b837afc
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=8c5e4d05d19b69f27107f022a2967be126a654b1
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=7f94dbece2f1eddc407ee2ed60749590d1f5ab4e
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=30e2d771304d09fddd343b590b03c9629206b7c2
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=09eb8628f9f8a02f39394469be20299ca6dbdb44
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=0d717f8cfee2661ef6805fdea233a502fac8c89a
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=d3dd08284ad3bc631671e79ae79429a3807e82d6
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=fdd2e404bef1d347bce90ec80ee8635803ca1505
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=2ad778314dc6c5c7ad3121109c362cef5b0fb9a3
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=e74e5981b58a952bfa8ed0ad58e9d95ce5ef36c2
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=9f666fa31f092c31b4583ce355691d1119dbfd1c
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=de932f6e76f58a367d5bab0ba3a103bdc06c9654
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=4959f67aa206efc218b4d8670ca189b7158d1494
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=61d756389d4a9b7c6e5cbc89632f1a6a4dfec289
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=cfc56b54ce0a63ad685448d55440b130ed20cd9e
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=eb22ded4199e67953f4a216487ad46c5c573fa1c
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=116a831481fabf5d0e6b41d7c27f59c9efd12ed0
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=bf0a3fb356fd256fbab82a2d45449a1f916cefaa
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=3cd3276d185f0e368c3686b344ff91fe5f9555ba
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=a45642b3df21937a1610b2dcd2d5b741f2501726
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=5e898dd1fc0aff65ad1199de1e623c45398450c6
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=9494eb3aa77158fb615f0da8439da8c0bc21cb56
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=fbb2c3b1b0701d3bd721da5dbdd4b8f072e9622b
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=203624a121403283fafc1fb9d7f4cb630935d01e
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 19:03:04 2017 +0100

    cobalt/arm64: add syscall decoding helper

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0d611906450e1191218e88fa971b27aa687655ac
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=d8e6f9bfcbebe75c5b8a3e7ffbf88a24cb4213ff
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=f0ce60fd5840f0939b05c1379defdbda8e9e4dfb
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=b80979dea3cacb32bca0098757913df030448943
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=06b8438661d363a2c2a51add929589c7732f2eac
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=a9d9acfaab677f255b6ac1a7a9c0395790a5693c
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=e86226c50d6a7a6d95eeeba89abd1391c7088f87
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=87958e3226a65dfd9b97eb4c062cfd2f70222fa9
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=020d43c7349cad4795a373c861c4e5007673e7a4
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=dab1b37d93aa3c52519924cf43b713a065ec00b1
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=27f954fdfc7467130d55ccb917fe05a4cb78f1d7
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=60ba8aaf0f19d7623bd2669a4e3b356cf15229eb
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=f5a545ad359af24fc4540eee3e2ff1128a68626e
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=c5d5424f1aa0200a9c36f861f68aeab918acadbb
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=4ce615effd04444183385341c9396fcd2a01bfbb
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=8e990385cfb3443bbf938993b5e49fc6a3123c43
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=47329e72ca3816bb57159e536d24bedd933e59a8
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=3d6e9feec857fda83fb3c505f64ffa1b28690834
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=e56f74494abf13470184ff6e3dc7f8a3aa905b11
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=f13a5781115fd74e30601f463d6813748a20123d
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=d37544973752d1d519c9021baac7863d258f70da
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=96d2ea374fec71c5210c42a1ea503953a32dca7a
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=205cebde82a3181b69e72b8b1351245146c4e0ed
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=a912fefdd828a58359a2be2586605caba3f07f7e
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=4320d930314f3490e53721a5454df4f931142b6e
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=7bcb725b01ca0305c13a2fa407078b57bf09012f
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=32ba77612e9d638ad569a888fb21b12e4ddbcba7
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=76692d7dba032a5b02c083c1354a5d27c7827dd3
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=5c445c4bd8aeb5d51ac11cee24ebb45ab79423c7
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=3be4d09fe76fe83105a0242740056f355be05ab3
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=c068cc360b2ab2b330154084ecbbecaba5489bdc
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=dce0b7ec2e2385a6798c6c353106af667f31d47f
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=f515601deaf2208b9e3af8d06fe3025a872fd819
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=93323716dc5e684bb2f3a8f5d1f071870bd5f622
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 16:26:26 2017 +0100

    cobalt/syscall: catch bad Linux syscall early from the head stage
    
    We do not want a syscall which is neither a Cobalt nor a Linux syscall
    to trigger a switch to secondary mode when issued from primary
    mode. Catch the situation early, returning ENOSYS.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=8fa6fd7b16c018c1c02ca1f1c4cbcca35a950daf
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 18:50:12 2017 +0100

    cobalt/blackfin: add syscall decoding helper

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d26b35784bf9ba1169b110f90c9b213dfde48051
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 18:49:44 2017 +0100

    cobalt/x86: add syscall decoding helper

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1605481a413be99176464a0b18e2d5bb665eddd6
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 16:36:32 2017 +0100

    cobalt/powerpc: add syscall decoding helper

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4edf3d2d26ae3c161114e7445dc79b7d664ac835
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 16:32:43 2017 +0100

    cobalt/arm: add syscall decoding helper

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=112dabf4390eb5e0a4bad2a7b7c6b477a8d7cc0f
Author: Philippe Gerum <[email protected]>
Date:   Fri Nov 17 11:48:29 2017 +0100

    analogy/utils: include missing header

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3112a3f98feaa8fa3109f89013bec8674308ede3
Author: Philippe Gerum <[email protected]>
Date:   Thu Nov 16 11:20:42 2017 +0100

    cobalt/monitor: fix wait/exit race, lost wakeup signal
    
    __cobalt_monitor_wait() is racy wrt handling the pended state flag.
    Given the threads A which consumes events from a monitor, and B which
    produces them, the following situation may happen:
    
    [A] __cobalt_monitor_wait()
    [A]     release gate mutex
    [B] fast acquire gate mutex
    [B] grant/signal monitor
    [B] fast release gate mutex (!MONITOR_PENDED, syscall-less)
    [A]     raise MONITOR_PENDED flag
    [A]     sleep_on(monitor)
            ... lost wake up signal, A keeps sleeping ...
    
    To fix this, release the gate mutex only after the PENDED bit is
    raised in the monitor state flags.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=5036abbe902454f4402a1bc11e7687f4ed39116b
Author: Jan Kiszka <[email protected]>
Date:   Thu Oct 12 09:46:41 2017 +0200

    cobalt/debug: Fix locking
    
    None of these functions are called over interrupt context. Leaving the
    critical sections interruptible can cause premature/double-unlock
    scenarios and bug reports such as
    
    [Xenomai] lock ffffffff81c56000 already unlocked on CPU #1
              last owner = kernel/xenomai/debug.c:74 (hash_symbol(), CPU #1)
     000000000000002f ffff88007dc8bb10 ffffffff8118ae8f ffffffff00000001
     0000000000000021 ffff88007f897fde ffff88007dc8bb50 ffffffff8118b266
     00000000000000f1 ffff88007dc8bd68 0000000000000006 ffff88007dc8bd40
    Call Trace:
     [<ffffffff8118ae8f>] xnlock_dbg_release+0xdf/0xf0
     [<ffffffff8118b266>] hash_symbol+0x236/0x2d0
     [<ffffffff8118b668>] xndebug_trace_relax+0x118/0x450
     [<ffffffff811b8d50>] ? CoBaLt32emu_mmap+0xf0/0xf0
     [<ffffffff811b8dd7>] CoBaLt32emu_backtrace+0x87/0xb0
     [<ffffffff8100def6>] ? fpu__clear+0xd6/0x160
     [<ffffffff817b3691>] ? _raw_spin_unlock_irq+0x11/0x30
     [<ffffffff811ab1cc>] ipipe_syscall_hook+0x11c/0x3a0
     [<ffffffff8113d9bf>] __ipipe_notify_syscall+0xbf/0x180
     [<ffffffff810cd019>] ? __set_current_blocked+0x49/0x50
     [<ffffffff8113daab>] ipipe_handle_syscall+0x2b/0xb0
     [<ffffffff81001c9d>] do_fast_syscall_32+0xbd/0x220
     [<ffffffff817b64e2>] sysenter_flags_fixed+0x8/0x12
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3c0e29d83c94b4cd330f1be9938b1813eda1b6ef
Author: Philippe Gerum <[email protected]>
Date:   Thu Nov 9 14:42:12 2017 +0100

    cobalt/x86: use symbolic trap names

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d20344a0b42bf4b54a09c910900a31265d401777
Author: Charles Kiorpes <[email protected]>
Date:   Fri Nov 3 17:44:00 2017 +0100

    copperplate/heapobj: tlsf: Fix unneeded pre-commit of memory pool when 
CONFIG_XENO_PSHARED set
    
    When CONFIG_XENO_PSHARED is set, heapobj_pkg_init_private() was causing 
unneeded pages to be locked into memory by performing a temporary allocation of 
the size of the entire memory pool.
    
    This patch reduces the size of this temporary allocation to a single page 
when CONFIG_XENO_PSHARED is set.
    
    Signed-off-by: Charles Kiorpes <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b3fa56e6cb0556daddb60ea930489cf61464a205
Author: Philippe Gerum <[email protected]>
Date:   Sun Oct 29 18:09:21 2017 +0100

    cobalt/sched: drop obsolete, broken xnthread_migrate() call
    
    Migrating a Cobalt thread to a different CPU _must_ go through the
    regular set_cpus_allowed*() interface.
    
    xnthread_migrate() cannot work with the 3.x architecture, and only
    worked with pure kernel-based threads on 2.x.
    
    Let's drop the confusing routine.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=59344943b0c58d5f0c8b58d2ad97f2d894d33354
Author: Philippe Gerum <[email protected]>
Date:   Sun Oct 29 16:40:55 2017 +0100

    cobalt/process: fix CPU migration handling for blocked threads
    
    To maintain consistency between both Cobalt and host schedulers,
    reflecting a thread migration to another CPU into the Cobalt scheduler
    state must happen from secondary mode only, on behalf of the migrated
    thread itself once it runs on the target CPU (*).
    
    For this reason, handle_setaffinity_event() may NOT fix up
    thread->sched immediately using the passive migration call for a
    blocked thread.
    
    Failing to ensure this may lead to the following scenario, with taskA
    as the migrated thread, and taskB any other Cobalt thread:
    
    CPU0(cobalt): suspend(taskA, XNRELAX)
    CPU0(cobalt): suspend(taskB, ...)
    CPU0(cobalt): enter_root(), next_task := <whatever>
    ...
    CPU0(root): handle_setaffinity_event(taskA, CPU3)
          taskA->sched = xnsched_struct(CPU3)
    CPU0(root): <relax epilogue code for taskA>
    CPU0(root): resume(taskA, XNRELAX)
          enqueue(rq=CPU3), reschedule IPI to CPU3
    CPU0(root): resume(taskB, ...)
    CPU0(root): leave_root(), host_task := taskA
    ...
    CPU0(cobalt): suspend(taskA)
    CPU0(cobalt): enter_root(), next_task := host_task := taskA
    CPU0(root??): <<<taskA execution>>> BROKEN
    CPU3(cobalt): <taskA execution> via reschedule IPI
    
    To sum up, we would end up with the migrated task running on both CPUs
    in parallel, which would be, well, a problem.
    
    To resync the Cobalt scheduler information, send a SIGSHADOW signal to
    the migrated thread, asking it to switch back to primary mode from the
    handler, at which point the interrupted syscall may be restarted. This
    guarantees that check_affinity() is called, and fixups are done from
    the proper context.
    
    There is a cost: setting the affinity of a blocked thread may now
    induce a delay for that target thread as well, since it has to make a
    roundtrip between primary and secondary modes for handling the change
    event. However, 1) there is no other safe way to handle such event, 2)
    changing the CPU affinity of a remote real-time thread at random times
    makes absolutely no sense latency-wise, anyway.
    
    (*) This means that the Cobalt scheduler state regarding the
    CPU information lags behind the host scheduler state until
    the migrated thread switches back to primary mode
    (i.e. task_cpu(p) != xnsched_cpu(xnthread_from_task(p)->sched)).
    This is ok since Cobalt does not schedule such thread until then.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=558af5bbae998b7b34425382a989712f8ea5c368
Author: Christoph Muellner <[email protected]>
Date:   Thu Oct 19 12:27:00 2017 +0200

    drivers/gpio: Fix of-by-one error in create_pin_devices().
    
    create_pin_devices() consists of a loop, which creates a device file
    for each GPIO of a GPIO chip. The loop's run condition is too strong,
    which results in the last GPIO file not being created (e.g. gpio31 is
    missing in case gc->ngpio is 32 and gc->base is 0).
    
    This patch addresses this issue in branch 'next'.
    
    Tested on a RK3399 (arm64).
    
    Signed-off-by: Christoph Muellner <[email protected]>


_______________________________________________
Xenomai-git mailing list
[email protected]
https://xenomai.org/mailman/listinfo/xenomai-git

Reply via email to