URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=e1f60e82c09119b63bab8674356ae744aa460cdd
Author: Philippe Gerum <[email protected]>
Date:   Sun Apr 22 19:50:57 2018 +0200

    copperplate/heapobj: enable heapmem for private memory
    
    Make HEAPMEM the default private memory allocator for real-time
    configurations (cobalt || (mercury && non-debug)).
    
    This setting can be reverted by passing --with-localmem=tlsf.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=f20c742f6585fd53e5ff12be6b04d5081ec4a158
Author: Philippe Gerum <[email protected]>
Date:   Sun Apr 22 18:20:04 2018 +0200

    testsuite/smokey: add test suite for memory allocators

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ebc1dbb901e4db2a3175ecf4fda668201d47227b
Author: Philippe Gerum <[email protected]>
Date:   Mon Apr 23 10:47:28 2018 +0200

    copperplate/heapobj-pshared: add helper to return the total heap size

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=99cad85489858b0557f4461bf85bcb7d66a93559
Author: Philippe Gerum <[email protected]>
Date:   Fri Apr 13 12:15:15 2018 +0200

    boilerplate: add heapmem allocator
    
    This is the umpteenth incarnation of the McKusick allocator, aimed at
    replacing other allocators which have serious issues:
    
    - TLSF is fast but not that good when it comes to memory overhead with
      small sizes (i.e. < 512 bytes) on 64bit.
    
    - heapobj-pshared has decent overhead figures but may be insanely slow
      at deallocating blocks from large, hot heaps.
    
    - the Cobalt core allocator is even worse than heapobj-pshared in
      deallocating blocks, although the system heap should be generally
      small enough not to trigger the most pathological cases in practice,
      hopefully. Nevertheless, the performances are unacceptable.
    
    The original McKusick algorithm implements a quick fit allocation
    scheme, based on bucket management of ^2-sized chunks, which
    automatically switches to a page-based allocation method for blocks
    larger than twice the base page size.
    
    This variant maintains the free page list in AVL trees for fast
    lookups of multi-page memory ranges, and pages holding bucketed memory
    have a quick allocation bitmap to manage their blocks internally.
    
    The current implementation can replace TLSF for delivering
    process-local memory with similar performances but lesser overhead
    with small sizes. Most importantly, a kernel variant of HEAPMEM should
    replace the Cobalt core allocator. Likewise, heapobj-pshared which is
    beyond repair should be replaced with a process-shareable variant as
    well, assuming the average size and allocation patterns of real-time
    objects are similar in all contexts.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=43347d7fee5dd752eb0c93ac3d5568e5ac80b810
Author: Philippe Gerum <[email protected]>
Date:   Mon Apr 23 10:28:49 2018 +0200

    boilerplate: compiler: add more helpers and attribute tags

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1c556dc7b8f8bd5fe7bd981a0e8ecb715f44b8aa
Author: Philippe Gerum <[email protected]>
Date:   Mon Apr 23 18:29:46 2018 +0200

    smokey: add helper to retrieve size expr

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=94a220039395ef6d89d911ce3aec86744b5607d6
Author: Philippe Gerum <[email protected]>
Date:   Mon Apr 23 18:03:07 2018 +0200

    smokey: argument accessors using variables

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=138588cba6f58af2b98c011833e5678c4365001c
Author: Gilles Chanteperdrix <[email protected]>
Date:   Tue Jul 12 20:29:22 2016 +0200

    boilerplate/avl: merge pshared support for AVL trees
    
    Make the AVL tree usable in shared memory when AVL_SHARED is defined
    at build time, switching to offset-based memory references.
    
    Gilles published this code in July 2016 as part of his personal
    toolkit for hobby projects aka 'libchutils'.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=171beb05487c7e34ea04db82fda6782d6ad89ffa
Author: Norbert Lange <[email protected]>
Date:   Wed Apr 25 15:05:00 2018 +0200

    demo/posix, testsuite/smokey: silences some compiler warnings
    
    Signed-off-by: Norbert Lange <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=bc646282da46d32ce4c203aa477b72ea294ae535
Author: Jan Kiszka <[email protected]>
Date:   Wed Apr 18 14:51:00 2018 +0200

    cobalt/synch: Clear PP boost prior to handing over the ownership
    
    Otherwise we first add the synch object to the new owner's boost list
    before we remove it from the old one's, corrupting the list.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=95193cce02aae6d075662d749370c8bff962ab33
Author: Jan Kiszka <[email protected]>
Date:   Wed Apr 18 14:51:00 2018 +0200

    testsuite/smokey: Add handover test for prio-ceiling mutexes
    
    This triggers a bug in the PP implementation.
    
    Signed-off-by: Jan Kiszka <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a8ee84d645eb98de10d855cb18e318479ba8395f
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:01:40 2018 +0200

    net/via-rhine: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=ed9d0be858e53610815e57690f203e9bc529a05f
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:01:30 2018 +0200

    net/tulip: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6a975b12ed597e09f93b13ad56b660c8bd1dca59
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:01:23 2018 +0200

    net/r8169: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=14dd76a323de2723d13178ebae449c2a33d95efc
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:01:10 2018 +0200

    net/pcnet32: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=94a5b3d5700bbe61838216f28539d5606ec3afb5
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:01:02 2018 +0200

    net/natsemi: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6e53e8f7b66afa4ca89207a49f19fe7fb72d98de
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:00:56 2018 +0200

    net/macb: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=83826bcbd00003a8fff7297cdab1700c2c50e600
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:00:48 2018 +0200

    net/fec: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=b7b544b524c0169ac5fd608977204be95b4cdd5e
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:00:39 2018 +0200

    net/eepro100: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=15f034e80f756d1cdbff4988e49ba75899aaf371
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:00:26 2018 +0200

    net/e1000: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=85545ab5b754a70827de6bb29266b628371a6946
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 15:00:02 2018 +0200

    net/at91: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=7fb9353344e52c5a09e5cbf206176321e0ee9d41
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 14:59:51 2018 +0200

    net/8139too: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c534c1e8c3050b133eb39abf96783941fee82f62
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 13:09:19 2018 +0200

    net/igb: add adapter symlink into sysfs attributes

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=6dbf0c470f4e50e65c8c6a4565f7ddd1e6275000
Author: Philippe Gerum <[email protected]>
Date:   Fri Mar 30 12:53:34 2018 +0200

    net: create sysfs nodes for net devices
    
    Each rtnet device registered with the stack is represented by a node
    into /sys/devices/virtual/rtnet/.
    
    Setting the address of the real device probed by the kernel into the
    rtnet_device.sysbind field before calling rt_register_rtnetdev(),
    causes the "adapter" symlink to be installed in the newly created
    attribute directory, pointing at that device.
    
    e.g.
    
    static int probe_handler(struct pci_dev *pdev, const struct pci_device_id 
*ent)
    {
        ...
        rtdev->sysbind = &pdev->dev;
        ...
        ret = rt_register_rtnetdev(rtdev);
        ...
    }
    
    $ ls -l /sys/devices/virtual/rtnet/
    total 0
    drwxr-xr-x    2 root     root             0 Mar 30 12:50 enp1s0
    drwxr-xr-x    2 root     root             0 Mar 30 12:50 rtlo
    
    $ ls -l /sys/devices/virtual/rtnet/enp1s0/
    total 0
    lrwxrwxrwx    1 root     root             0 Mar 30 12:51 adapter -> 
../../../pci0000:00/0000:00:13.0/0000:01:00.0
    lrwxrwxrwx    1 root     root             0 Mar 30 12:51 subsystem -> 
../../../../class/rtnet
    -rw-r--r--    1 root     root          4096 Mar 30 12:50 uevent

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0ee669e2beb2a2c50cb6f0e06ea8613042ade5fe
Author: Henning Schild <[email protected]>
Date:   Fri Mar 2 14:22:00 2018 +0100

    cobalt/kernel: fix clock_adjtime() compile error
    
    Moving the definition out of the ifdef solves the following error:
    
    include/xenomai/cobalt/kernel/clock.h:260:16: error:
     ‘struct <anonymous>’ has no member named ‘adjust_time’
    include/xenomai/cobalt/kernel/clock.h:263:19: error:
     ‘struct <anonymous>’ has no member named ‘adjust_time’
    
    Signed-off-by: Henning Schild <[email protected]>

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=d0608406a44877b429d854ccc53aff964909245a
Author: Philippe Gerum <[email protected]>
Date:   Mon Feb 12 18:20:40 2018 +0100

    lib/cobalt: add clock_adjtime() syscall

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=232ae70fd098094a5e6a24c619870c8c1c0d81d0
Author: Philippe Gerum <[email protected]>
Date:   Mon Feb 12 18:09:59 2018 +0100

    cobalt/kernel: add clock_adjtime() syscall

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=72c276ba1bd8aad28b11075784e06227b4cfda03
Author: Philippe Gerum <[email protected]>
Date:   Tue Feb 6 16:46:01 2018 +0100

    cobalt/tracing: fix X86_X32 build w/o IA32_EMULATION
    
    CONFIG_X86_X32 used to depend on CONFIG_IA32_EMULATION. Since upstream
    commit #9b54050b, this is not the case anymore, and both options can
    be enabled separately.
    
    Remove the assumption about such dependency, fixing the build issue.

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=3215944d1ab8cc42bfdaa766042a1f4cdb981841
Author: Philippe Gerum <[email protected]>
Date:   Tue Jan 23 19:19:31 2018 +0100

    lib/cobalt: add sendmmsg(), recvmmsg() syscalls

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=fba61a12ccdc703913556c8a3fc33746c745b1d1
Author: Philippe Gerum <[email protected]>
Date:   Thu Jan 25 16:06:29 2018 +0100

    cobalt/rtdm: add sendmmsg(), recvmmsg() syscalls

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a5cf1ccda6ca717d395457ee9ad9864205075233
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=9bb2cb0985791004d9716769b1bdff5c2d986d99
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=1ff836ebcdefae281ffad668ed3859b221c129d4
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=9b601b56670bcf8dbe03617e140c29fa92b338da
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=989a103dde9f3251e37bfca0dff42eaeac4f55c2
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=6d5bd7d14cd897f608ed649ee852b85aa300e832
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=73219ed0e4131fc668b7559f5e044b7389426985
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=4af4986099e813ac606215b3ed46f2a036bedc93
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=f2917ced38cce79ba1038987ed9fb6817d922723
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=a5dc243b86ad959ee0c44f8c84055e00d4ed122c
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=89afb2a6b4d5155e2baec468a23c18235a3360cf
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=edf254c0d46a3a31b6a0e6fb54b11a33a36f02bd
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=65d252df0054427740d089aa43b9f87cdcc937c7
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=6a852d0ddfd2bccd006dae946534833c760c1bf0
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=7a61a4f6e939f184866fb4ad1e14c7484b92cbf1
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=258b685a1802d92d34b8c0e2642b55113e59a87d
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=7cf54fd4ccd098098a2d50377d0a8e0c9f2d8ee9
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=e7590291bc2af6a81e32a7e4ae8e9805b4f48b9a
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=170dfc8c066fa1d3a98d7b81fdd10b96ec748c89
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=fbdf477da5f2551dc84d7deab76e0e471ae90d7f
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=ece12e437497bb5f19b867d711a17aa652d1a1f2
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=b4bd98efd67547369cb4412d2fe6a89566f428f4
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=23efe470a4785717eff3236d2fd0e8137378944f
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=1402e535a0d8f1c0f268b904252f952e4e0431f4
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=eaf620c11f73d7dcbc1d5b5e5bab90566edb128d
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=023296b7c7ac863c1e5cb6bbc0820d6f545767dc
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=90126b0292279cf18991fd765da9c92a6f4cab3c
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=88f5bcf7d1a832839ba2903ef3bcb32624f02850
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=672cc8761373f1a370b0e1c466ebe96e079cb284
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=0e75d9e0f32a29419e9a9fbd10be3a4eb42de5b6
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=d5e39c8a8f4acd784c5fd782070eb753604c32c5
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=22a4af8e21835f64ea721b0532f2cb72266c3785
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=2302a492b4eab8d5888a8ea34e430e9bf87ca69c
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=67699092a60b49097ffcc6ab11cdaa146e0b819f
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=d3b0cc5d556ab0b675c71309ea0ab347b28c1ec1
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=e318496cfa9438fc7b9ffad19e74771886069d95
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=b504d3d7143bbe6c03ee02fa7cc8fa041bce0760
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=30a922c7df066a7d5581dfb8605e36b0d5509ec9
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=7e5856dab96334d8c4486d1f340994f58c01170c
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=8ebbd93f23131aed0dff89263c3d04ed804535a1
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=b76f049c162e1dd099de6ed36b2786f062fb2570
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=d4a4814004a2f56b954b735646b0cae04f4e4388
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=6c658ceaa202e1be1032e8a56c4df8c6c15f80a4
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=e586ebbe18f4c58c7c90d45348822e819b4a7ca4
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=9bf73964c6c95aef35987bda97500584c8298d84
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=12c7ed2f5bc20333bab7c1b84ceb6ed20d616e8f
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=a324ac9ecdeee5fa8c62a36e655c1f919e2ead2f
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=e6eb0d4f05a802e3e999ffc67ea4527021089dfb
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=64d7eaeb243c433d4e0c41e9b51b3e3b014c962b
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=b78d2b9a44fbab5983691b446e6f9f729bc42fb1
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=8c03070ebc9418b77574784c5994873ccefd00b0
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=b12e2143e454491145252d72c527a4c18182b00a
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=fb9c478b7c88f5f40c10fc18f8e9b7d98ec8432f
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=fefefcd29e0d43eb798fa2cc2dfeee914d18c42c
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=be4aa1b0e24f191d5bccc1ae90b2ce8cfc0892a2
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=54cbe871ab8d8ac4e46939f6d3fe705b6bb2d1ae
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=9bdb9bb788779fc23ac04255409873c797a04b5d
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=d5735edf774ed8d0a2f230b99e1d16962a2172b5
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=a51d4d2a4b695242c1679836fded427197214453
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=61fc56f06c370666ba8b7e023d7b0c6537526a67
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=12ad184d984cf4b1f8d8da8147b944003710d215
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=99b7165773a80095f3b420dcc2808ba06c69934f
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=35256bfe427676f610f5f3afab3a73a2e63df755
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=bb9dae28c6cb30bd2d5906c274601b17f9586ceb
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=9c73290aa9cd7974e20509fb9761bfe635d2901a
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=5ff665076a68e3b90056e45d75fba5ca29b57c93
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=ffcf1de8b4cc7ae8d4edcb0b40985959b7a8c8bd
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=e24bb368dbcdfb84692818ea9aec60918f65f8e0
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=b738bbdb620ba09d8ca0c78c36d5690bf26152c8
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=6e97b7dbfca73d0ecf4e5b00101161e9a613ba88
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=cf2b0d6706ba4f114a1ef55d45949d3c68ee4679
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=96fd4c43de1918eadac0ae52b5d7386f110c276d
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=c3adaa2648a2de02ec738e167efc6623cb91e010
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=bf187cfe9b0b23b85a16b69fcdbf1e6404770e08
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=5c6b90fce5aa3651980593022a0fdbbf5cca764b
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=a37abbab17b7907884d9ad1bb9fa3271662a2347
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=2e1c9738f1325dc0de9e29f33f2d0bc49eb36735
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=2bed96332f70ce363bdd4a7f09d9913b2db88cdf
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=d6a54cb0ab28d87336f90c24300133d24a7379ab
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=bae1c36fcaab8a4a4244413010bce06c34f3f6e3
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=5fcf34eb2a963ba686749d11a364ad5f40f1d3d8
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=45067f7d51969ab37ad3b5b18dfe283f190f6b5f
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=ace76d86c53672d0a74983f3c55ee9d88890b3bf
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=d099f5f61fa38ad9c2e633826a665aac3b23ab3b
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=67f5316673b864dad72fdd180fd23307d6d16921
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=2b4a1264cb1c3bdc7733317c0641908def047ce4
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=896a6fedc0783e1d84428aeb8e834738048811b4
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=c1e346bbe85706c7b0a87a8c9708511c347ed891
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=6c399d549d887adee5b55a5f410f97217d42a496
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=eae432e92320173d64d473d5ff23d2fa4d552b25
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=0e18c4e31a2bfbdc14171985c1e4232e78fa8fc8
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=ed42dfa718750272be4df6c2af40881ac06c7f94
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=e460587f2d49c6639a343a78451bd32bc89e91c8
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=952cc89965598127a9bd8b51c45e6dc30206d5fe
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=48a70e6121adcf2e3bb18ee7e4283b067d3e0b2e
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=5f5a772c2d2e457b607c0cf27cc48916b58638b3
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=ffe5d8080a5fbeb8a599d6fa65daac7d42f0e689
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=2e5bb3640c02707a4e054ccfd062015a85172bfa
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=e501f07a093d5e3f3d70dda8db8035af068a1334
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=3568a12e797aa35d80650dff3acabcc14ce081ac
Author: Philippe Gerum <[email protected]>
Date:   Sat Apr 28 18:45:15 2018 +0200

    copperplate/registry: switch back to private memory for fs objects
    
    Partially revert #8e606e681, keeping registry_add_dir/file() routines
    free from Cobalt mode switches, a property which some applications
    might assume when creating specific rt objects (e.g. Alchemy's
    mutexes, condvars).

URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=04565eeb83633f431a5303e0f15132ecc485c93e
Author: Philippe Gerum <[email protected]>
Date:   Sat Apr 28 18:28:10 2018 +0200

    boilerplate/tlsf: raise the fixed private heap size to 64k
    
    When --enable-pshared is passed, we currently have no mean to specify
    the size of the private heap managed by TLSF.
    
    Until this issue is fixed, increase the fixed size of the private heap
    to 64k, so that running OOM in the few remaining code spots calling
    the pvmalloc* API becomes unlikely.


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

Reply via email to