Xenomai:News
From Xenomai
2008-02-11 Xenomai 2.4.2
Here is the second maintenance release for the v2.4.x branch. Short log follows:
- x86
- Fix tick interrupt setup and related accounting when CONFIG_GENERIC_CLOCKEVENTS is disabled.
- Fix race when releasing the timer.
- Update Adeos support for 2.6.20.21/i386, 2.6.23/i386 and 2.6.23/x86_64.
- Upgrade Adeos support to 2.6.24/x86 final.
- powerpc
- Update Adeos support for 2.6.20/powerpc and 2.6.23/powerpc.
- Upgrade Adeos support to 2.6.24/powerpc over DENX-v2.6.24-stable (all-in-one patch also supporting the legacy ppc32 arch).
- 16550
- Set correct bit in IER to enable modem status IRQs.
- clocktest
- Fix soft-lockups due to randomization of measurement thread delays.
- Avoid races when storing time warps.
See the ChangeLog for details.
2008-01-01 Xenomai 2.4.1
Here is the first maintenance release for the v2.4.x branch. Short log follows:
- nucleus
- Close SMP race window in message pipe's read-side.
- Prevent the task startup completion code to hold the nucleus lock.
- psos
- Fix t_mode().
- native
- Fix auto-cleanup issue of I/O regions in non-pervasive mode.
- can
- Fix device deregistration when refcounting is disabled.
- Fix build issue with shared interrupt support.
- powerpc
- Update Adeos support for 2.6.20/powerpc and 2.6.23/powerpc.
- x86
- Update Adeos support for 2.6.20/i386, 2.6.23/i386 and 2.6.23/x86_64.
- Upgrade Adeos support to 2.6.24-rc6 (I-pipe 2.0/x86 series with combined i386+x86_64 support).
2007-12-09 Xenomai 2.3.5
Here is the latest release from the v2.3.x branch. Short log follows:
- nucleus
- Fix broken select() on a message pipe.
- Fix computation of overhead due to heap meta-data.
- Properly recycle empty bucketed pages to the free list.
- Sanitize heap size rounding at call sites.
- posix
- Fix pthread_cond_wait().
- native
- Fix rt_queue_read() error path causing unexpected message deletion.
- can
- Support CONFIG_PPC_MERGE for resource management.
- powerpc
- Integrated 32/64bit I-pipe support against 2.6.23/powerpc (i.e. CONFIG_PPC_MERGE).
- Backported 32bit I-pipe support against 2.6.23/ppc.
- Add a set of EVB-specific calibration values.
- arm
- Upgrade to I-pipe 2.6.20/1.8 series.
- i386
- Upgrade to I-pipe 2.6.20.21/1.11 series.
- blackfin
- Combined bf5xx support (bf533, bf537, bf561) against 2.6.23.
2007-12-08 Xenomai 2.4.0
Here is Xenomai v2.4.0. This stable milestone aims at more flexibility, increased portability, and lesser latency. This serves the ultimate goal of making Xenomai the platform of choice for migrating applications from traditional RTOS to Linux.
- Major nucleus updates
- massive refactoring of the timer sub-system.
- introduce timebases at the core of the time-keeping code.
- support for generic clock events (CONFIG_GENERIC_CLOCKEVENTS).
- recognize RT-capable group for controlling access to the Xenomai core.
- overhauled LTT support, rebased on the common trace marker infrastructure.
- add synchronous I/O mode to message pipes (O_SYNC).
- Major architecture updates
- x86_64 port
- powerpc: HAL sanitization; support for PA-SEMI's PA6T; integrated 32/64bit I-pipe support against 2.6.23/powerpc (i.e. CONFIG_PPC_MERGE); backported 32bit I-pipe support against 2.6.23/ppc.
- ARM: AT91 support (armv4 and armv5); IXM21 upgrade; support for EABI.
- blackfin: combined bf5xx support (bf533, bf537, bf561) against 2.6.23.
- i386: massive HAL refactoring and sanitization; upgrade to 2.6.23.
- Major skin-related work
- posix: mq code reworked for efficiency; harden more clock-related services; add pthread_kill() syscall.
- RTDM: add timer interface; provide automatic cleanup of open file descriptors on process termination.
- native: allow cross-API calls to blocking services; auto-cleanup support (reclaim orphan resources upon process exit); introduce I/O region descriptors to support user-space mapping of I/O-port and MMIO regions.
- pSOS: expose tm_* calls to user-space; add convenience extensions.
- rtai: Provide support for shared memory services.
- Driver updates
- improved Linux Socket-CAN compatibility (CAN_RAW protocol); CAN filter inversion; add support for bus error interrupts.
- 16550A: add support for MMIO accesses; provide control over break signal; add PnP awareness.
- Misc
- rtdk: introduce a collection of utilities aimed at forming a Real-Time Development Kit for userland usage. Starts with a set of non-intrusive (latency-wise) *printf() services.
- Bug fixes all over the map
2007-11-26 Xenomai 2.4-rc7
Here is the seventh candidate release for the v2.4.x branch.
- nucleus
- Clear wchan when failing to suspend a thread due to preposterous timeout value.
- Report configured timer and clock device.
- Recycle empty bucketed pages to the global free page list.
- powerpc
- Update Adeos support for 2.6.20.
- arm
- Upgrade Adeos support to the 1.8 series.
- x86
- Rebase Adeos/2.6.20 support on the stable series (2.6.20.21).
- Upgrade Adeos/i386 support for 2.6.20.x and 2.6.23.
- Upgrade Adeos/x86_64 support for 2.6.23.
- posix
- Fix mq_timedsend() in case no receiver is present.
- Fix error paths upon failure to init skin.
- debian
- Adapt to x86* merge.
2007-11-13 Xenomai 2.4-rc6
Here is the sixth candidate release for the v2.4.x branch.
- nucleus
- LTT support overhaul.
- Fix select() breakage with message pipes.
- Return EOF condition to the real-time side when the Linux peer closes the message pipe.
- i386, x86_64 => x86
- Merge i386 and x86_64 arch-dep support as x86.
- Update Adeos/i386 support for 2.6.20, 2.6.22 and 2.6.23.
- posix
- Fix pthread_cond_*wait() handling of signal receipt.
- native
- Fix API for requesting I/O regions; add support for IOMEM space. See API.CHANGES for more.
- Allow rt_task_inquire() to only probe for the existence of a task.
- psos
- Provide tm_getc() service to get the count of elapsed ticks for the pSOS timebase.
- rtai
- Set up default CPU affinity for tasks.
- Fix shared memory allocation for small heap sizes.
2007-10-28 Xenomai 2.4-rc5
Here is the fifth candidate release for the v2.4.x branch.
- nucleus
- Enforce CPU affinity unconditionally.
- Allow for daisy chains of periodic tick handlers.
- Fix rounding and minimum value of mappable heap size.
- blackfin
- Upgrade Adeos support to 2.6.23.
- Add support for the bf561.
- powerpc
- Update Adeos support for 2.6.20 and 2.6.23.
- i386
- Update Adeos support for 2.6.20, 2.6.22 and 2.6.23.
- x86_64
- Fix the interrupt filter when the shield is in effect.
** Update Adeos support for 2.6.22 and 2.6.23.
- testsuite
- Freeze the current trace path upon receipt of a fault signal.
2007-10-16 Xenomai 2.4-rc4
Here is the fourth candidate release for the v2.4.x branch. With the v2.3.x maintenance cycle soon coming to an end after nearly a year since it has started, v2.4 is going to be our next stable branch for quite some time, so I would suggest that you make sure it can run your favourite board(s) _now_.
- nucleus
- Fix /proc support for timebases.
- posix
- Fix random hang in per-process cleanup code.
- native
- Fix double free issue upon failure to create a new task.
- vxworks
- Fix implementation of watchdog support in user-space.
- Fix double free issue upon failure to create a new task.
- vrtx
- Fix double free issue upon failure to create a new task.
- rtdm
- Add private data pointer to the rtdm_device structure.
- can
- Support new resource management of arch/powerpc tree properly.
- Fix handling of the "port" module parameter.
- testsuite
- Prevent overflow in timer handler test.
- Close race window in timer setup code.
- powerpc
- Update Adeos support for 2.6.20.
- Upgrade Adeos support to 2.6.23.
- i386
- SMI: Detect ICH-4 chipsets.
- Sanitize calibration code.
- Fix timer setup code (mostly for GENERIC_CLOCKEVENTS, but not only).
- Upgrade Adeos support to 2.6.23.
- x86_64
- SMI: Detect ICH-4 chipsets.
- Sanitize calibration code.
- Upgrade Adeos support to 2.6.23.
2007-09-09 Xenomai 2.4-rc3
Here is the third candidate release for the v2.4.x branch. Most of the work since -rc2 was aimed at optimizing the interrupt pipeline, and first and foremost at reducing its cache footprints, initially for the powerpc and x86 ports. Other archs will be upgraded next. The powerpc arch also gains a combined 32/64bit support starting with 2.6.22. Short log follows:
- nucleus
- Make the watchdog timeout value configurable.
- Remove preprocessor warnings from 2.4 builds.
- Always get references to per-cpu sched struct within migration-free sections.
- rtdm
- Round up timeouts and delays when nanoseconds are to be converted to ticks (periodic timebase only).
- can
- Fix race upon socket list update.
- RT-Socket-CAN SJA1000 driver for the EMS CPC PCI card (http://www.ems-wuensche.de).
- powerpc
- Merge 32/64bit arch support into a single Adeos patch for 2.6.22 (I-pipe 2.0 series, DENX tree: DENX-2007-08-30-1748).
- Upgrade combined Adeos support to 2.6.23-rc5 (DENX tree, git HEAD).
- PA-Semi (powerpc64) updates.
- Update Adeos/powerpc32 support for 2.6.20; forward port to 2.6.21.
- i386
- Release tick device in the non-LAPIC case (kernel >= 2.6.22).
- Upgrade Adeos support for 2.6.22 (I-pipe 1.10 series).
We still have a few reported bugs pending and some I-pipe updates for the Blackfin, ARM and x86_64 ports to come too, so we will need -rc4.
2007-08-18 Xenomai 2.4-rc2
Here is the second candidate release for the v2.4.x branch. Short log follows:
- nucleus
- Fix shared interrupt support.
- Fix RPI-disabled build.
- IPI annotation in /proc/xenomai/irq.
- rtdm
- Fix up asymmetric close() invocations silently by switching to non-RT mode.
- Run sparse: several pacifications.
- can
- Remove config options XENO_DRIVERS_CAN_SJA1000_*_MAX_DEV.
- 16550A
- Fix potential race in rt_16550_close().
- native
- Add task exectime, context and mode switches as well as a count of page faults to RT_TASK_INFO.
- posix
- Forbid use of non process-shared objects outside of the process to which they belong.
- Only enable process check for performance critical functions if debugging is enabled.
- powerpc32
- Update Adeos support for 2.6.20.
- Upgrade Adeos support to 2.6.21, powerpc/ tree.
- powerpc64
- Add support for PASEMI's PA6T dual core platform.
- Upgrade Adeos support to 2.6.22-rc5, powerpc/ tree.
- i386
- Update Adeos support for both 2.6.20 and 2.6.22.
- Upgrade Adeos support to 2.6.23-rc2.
- x86_64
- Update Adeos support for 2.6.22.
- arm
- Rework user-space access to TSC emulation.
- Update Adeos support for 2.6.20.
In addition, library revision numbers for the posix, rtdm and native skins have been increased.
2007-07-29 Xenomai 2.4-rc1
Here is the first candidate release for the v2.4.x branch, on the road to 2.4 final. The following short log only lists the most significant evolutions; a slew of optimizations, cleanups and bug fixes all over the place come with this release as well:
- nucleus
- Introduction of timebases, by which software timers that belong to different skins may be clocked separately according to distinct frequencies, or aperiodically.Practically, this means that it is now possible to run all skins concurrently, regardless of their internal timing mode. Adds /proc/xenomai/timebases, /proc/xenomai/timerstat.
- Make all skins runnable over a central core pod.
- Support RT capability group for controlling access to Xenomai services.
- Support aperiodic Linux host tick (clock_event) and tickless kernels (the nucleus host timer is now a per-cpu object).
- Refactor timer modes.
- Sync absolute timers when updating the epoch (POSIX conformance).
- Fix deadlock and task migration issues in RPI support.
- Sanitize deletion path of shadow threads.
- Sanitize SMP locking in interrupt management.
- Flatten the interrupt handling path.
- Support O_SYNC open mode with message pipes, for guaranteed synchronous writes from a secondary mode sender to a primary mode receiver.
- Optimize arch-specific arithmetics.
- Provide for a global CPU affinity mask applicable to all Xenomai threads. Adds /proc/xenomai/affinity.
- posix
- Various fixes and updates. Latency optimizations.
- native
- Add auto-cleanup support (automatic orphan resource/object reclaiming upon task/module exit).
- Allow cross-API calls to blocking services.
- psos
- Emulate timer-related syscalls (tm_*).
- Extend as_send() call to user-space receivers (emits SIGRTxx).
- Extend t_mode() call to support Xenomai modes (i-shield, warn-switch, rpi-state).
- Add auto-cleanup support.
- Allow long names in object creation routines.
- vrtx
- Deep refactoring.
- uitron
- Even more deep refactoring. Add user-space support.
- rtai
- Emulate rt_heap calls.
- rtdm
- Automatic file descriptor cleanup on process termination
- RTDM API revision 6:
- Timer abstraction
- Monotonic time base support
- IOCTL prototype fix for 64-bit platforms
- Enhancements/changes of rtdm_irq_request, rtdm_nrtsig handler, and more (see ksrc/skins/rtdm/API.CHANGES)
- rtdk
- Introduce a collection of utilities aimed at forming a Real-Time Development Kit for userland usage. Starts with a set of non-intrusive (latency-wise) *printf() services.
- 16550
- Allow memory-mapped hardware access.
- can
- Better support for bus error processing at user level.
- Allow for inverted CAN filter setup (CAN_INV_FILTER).
- Various fixes and updates.
- arm
- Add support for AT91 platforms.
- Add EABI support.
- Provide for TSC reading from user-space.
- powerpc
- Upgrade support to 2.6.20, powerpc tree/.
- i386
- Upgrade support to 2.6.22.
- Sanitize LAPIC handling.
- Blackfin
- Upgrade support to 2.6.19.
- x86_64
- New architecture support.
- testsuite
- New test measuring clock drift and inter-CPU time consistency.
As a sidenote, please note that this branch will be the first one to support the latest Linux kernels (>= 2.6.22).
See the ChangeLog for details.
2007-09-16 Xenomai 2.3.4: maintenance release
Here is the latest release from the stable tree. Several Adeos patches have been updated due to a nasty bug that may lock out hw interrupts unexpectedly when dumping the pipeline trace buffers (CONFIG_IPIPE_TRACE=y) using the /proc interface; update is strongly recommended if you rely on the tracer for debugging. Short log follows:
- nucleus
- Make the watchdog timeout value configurable
- Fix build with CONFIG_XENO_OPT_RPIDISABLED=n
- Fix shared interrupt handling.
- native, vxworks, vrtx
- Fix double TCB memory release upon task mapping error.
- can
- Fix race upon socket list update.
- powerpc
- Make sure rthal_thread_switch() is properly paired with
Linux's switch_to() (return value fix for ppc64).
- Adeos update (I-pipe 2.6.20-1.6-04, 2.6.21-1.6-04)
- arm
- Adeos update (I-pipe 2.6.20-1.7-06).
- i386
- Adeos update (I-pipe 2.6.20-1.8-08).
See the ChangeLog for details.
2007-07-28 Xenomai 2.3.3: maintenance release
Here is the latest maintenance release for the v2.3.x branch. Short log follows:
- nucleus
- Fix deadlock and migration issues in RPI support.
- Sanitize deletion path of shadow threads.
- powerpc
- Upgrade to kernel 2.6.20, powerpc/ tree.
- arm
- Add EABI support.
- Adeos update (I-pipe 2.6.20-1.7-04).
- i386
- Adeos update (I-pipe 2.6.20-1.8-06)
- native, psos, vxworks, vrtx, uitron
- Generalize use of container_of() to fix 64bit warnings.
See the ChangeLog for details.
2007-07-09 Xenomai 2.3.2: maintenance release
Here is the latest maintenance release for the v2.3.x branch. Short log follows:
- nucleus
- Always defer release of TCB memory.
- Sanitize support for machine-dependent arithmetics.
- Fix root priority boosting with XENO_OPT_SCALABLE_SCHED.
- Fix /proc/xenomai/{sched, stat} locking in output loop.
- Fix lethal bug in SIGIO processing (SMP).
- Yet another interrupt locking fix.
- Handle RT capability group.
- Fix CPU affinity tracking (SMP).
- Fix 64bit portability issue.
- psos
- Fix potentially unsafe dereference of task args in t_create() (user-space).
- Conformance fix for ERR_TATRNDEL and ERR_TATSDEL error conditions.
- native
- Reschedule upon alarm deletion.
- Force T_PRIMARY into the mask returned by rt_task_set_mode().
- posix
- mq: copy the priority of received messages back to user-space.
- clock: access TSC directly from user-space when support is available.
- rtai
- Add support for rt_heap_open() and rt_heap_close().
- vrtx
- Fix 64bit portability issue.
- can
- Assorted fixes (e.g. PEAK PCI).
- 16550A
- Catch spurious baud rate.
- arm
- Upgrade to kernel 2.6.20.
- Various updates for at91.
- blackfin
- Upgrade to bf53x-R0701RC3-1.6-01 (2.6.19).
- Work around toolchain bug while reading TSC from user-space.
- powerpc
- Sync with DENX's CVS for 2.4.25-ppc.
- i386
- Upgrade I-pipe support (2.6.20-1.8 series).
See the ChangeLog for details.
2007-06-29 Support for 2.6.22/x86
Our development trunk now contains the necessary support for running Xenomai over 2.6.22/x86. This work boils down to enabling Xenomai to use the generic clock event device abstraction that comes with newest kernels. Other archs / kernel versions still work the older way, until all archs eventually catch up with clockevents upstream.
This support won't be backported to 2.3.x, because it has some significant impact on the nucleus. Tested as thoroughly as possible here on low-end and mid-range x86 boxen, including SMP.
Please give this hell.
2007-04-03 Xenomai v2.2.6.1
An update to the so-called final v2.2.6 release, aimed at fixing a glitch in the kernel prep script.
See the ChangeLog for details.
2007-03-20 Xenomai v2.3.1
Here is the first maintenance release for the v2.3.x branch. Short log follows:
- nucleus
- Use ondemand-mapping disable feature if present (I-pipe).
- Allow creation of anonymous interrupt objects from kernel space.
- Allow sleeping scheduler lock.
- Fully rework priority tracking between schedulers (RPI).
- Provide for non-restartable syscalls upon signal receipt.
- Fix timer indexing in binary heap mode (timeout lossage).
- Fix synchronization issues regarding interrupt objects while reading /proc/xenomai/stat.
- Synchronize message pipe reading and streaming operations.
- psos
- Add timer-related calls to the user-space interface.
- Fix ev_receive().
- Combine supervisor and user stack sizes in t_create().
- native
- Fix rt_queue_delete(), rt_queue_unbind(), rt_heap_delete().
- Fix rt_cond_wait() upon signal receipt (grab mutex anew).
- posix
- Fix pthread_cond_wait() upon signal receipt (grab mutex anew).
- rtai
- Fix rt_task_make_periodic().
- rtdm
- Support in-place re-initialisation of IPC objects.
- can
- Fix delays in periodic mode.
- Implement either-or filtering of standard vs. extended frames.
- Stop device before unregistering it.
- arm
- Add support for Atmel AT91-based platforms.
- Update support for IMX21 platforms.
- Upgrade 2.6.14 and 2.6.15 support to I-pipe 1.5 series.
- Upgrade to kernel 2.6.19 (I-pipe 1.6 series).
- Add support for GCC 4.1.
- powerpc
- Upgrade to kernel 2.6.19.
- i386
- Use regular IPI support code to broadcast the timer IRQ.
- Upgrade to kernel 2.6.20.
See the ChangeLog for details.
2007-03-20 Xenomai v2.2.6
This is the final maintenance release for the v2.2.x branch. Upgrade to 2.3.x is recommended for new developments.
See the ChangeLog for details.
2007-03-01 Xenomai ported to x86_64
Xenomai has been fully ported to the x86_64 architecture. This development is currently available from our development trunk, and will be part of the upcoming 2.4 release.
2006-12-26 Xenomai v2.3
Here is Xenomai v2.3. Five months work, 660 commits since v2.2 which brought the following:
- RTDM-based CAN implementation.
- A lot of PowerPC work (major I-pipe upgrade to kernel 2.6.18).
- A lot of ARM work (I-pipe tracer, board support for the Samsung S3C24xx series).
- A lot of Blackfin work (I-pipe tracer, major I-pipe upgrade to kernel 2.6.18 for the BF53x boards).
- A lot of x86 work (major I-pipe upgrades to kernels 2.6.19 and 2.4.34).
- Direct syscall interface to the pSOS skin for running real-time applications in regular user-space context.
- Nucleus updates in various areas (aperiodic timers management, runtime accounting, software watchdog, message pipes, shared interrupt support, debug infrastructure).
- Assorted bug fixes all over the map.
See the ChangeLog for details.
2006-12-17 Xenomai v2.3-rc3
Here is the third candidate release for the v2.3.x branch. This is intended to be last release candidate before final, so make sure to have a look to the platform/architecture/feature you are interested in.
Short log follows:
- nucleus
- Decouple lock debugging from runtime stats activation.
- Enhance granularity of debug options. Generalize the use of debug assertions.
- Add memory barriers to shared IRQ support code manipulating reference counts.
- Reinstate i/o permissions when transitioning from secondary to primary mode (x86).
- Prevent non-mapped threads for running xnshadow_unmap.
- vxworks, vrtx, rtai
- Add missing checks for the XNBREAK condition.
- vxworks
- Fix arg passing at (user-space) task creation.
- vrtx
- Free heap control block memory when released.
- psos
- Implement direct syscall interface.
- posix
- Fix random fault in user-space at thread creation.
- Fix return value of sem_timed_wait.
- Generalize the use of debug assertions.
- native
- Add rt_mutex_lock/rt_mutex_unlock wrappers.
- Make rt_queue_inquire return the amount of pool memory used.
- drivers/can
- core: Various updates. Add TX loopback support to local sockets. Add empty filter support through setsockopt.
- sja1000: Add support for IXXAT PCI cards.
- rtdm
- Minor updates.
See the ChangeLog for details.
2006-11-19 Xenomai v2.3-rc2
Here is the second candidate release for the v2.3.x branch. Short log follows:
- hal
- ppc, arm: Make sure to return the last "current" value from Xenomai context switch routines.
- x86: Handle issues raised by hidden uses of the FPU from regular Linux drivers.
- nucleus
- Account for all extents when reporting the total heap size.
- Serialize export/unexport requests properly in case of varying source domains.
- Fix interrupt shield support.
- Fix random softlockup on SMP due to a missing rescheduling call after a task exit event has been processed.
- scripts
- Add help strings extraction tool to provide on-line documentation of 2.4 kernel options.
- Switch to FDPIC library format for Blackfin instead of FLAT.
- drivers
- rtcan: sja1000 fixes.
- vrtx
- Fix init code regarding workspace allocation.
- Fix exec mode bits for sc_tsuspend() and sc_tresume().
- Use delayed memory release service to free TCBs.
- vxworks
- Set auto-delete flag for user-space tasks.
- psos+
- Preliminary user-space support merged.
This version may be download on GNA workspace.
2006-11-05 Xenomai v2.3-rc1
Here is the first candidate release for the v2.3.x branch, which should lead us to 2.3 final, after some iterations. A RTDM-compliant CAN driver stack is likely the most significant addition to this release, along with tons of local improvements and bugfixes all over the map. Short(and non-exhaustive) log follows:
- nucleus
- Introduce the aperiodic timer wheel as an alternative to binary heaps for efficiently handling a significant number of outstanding timers.
- Don't send migration or deletion signals to dormant threads.
- Check for wait abort in xnsynch_sleep_on(). Fully refactor the resource stealing feature.
- Make sure xnsynch_flush() does not alter ownership.
- Allow sharing the timer IRQ (basically for ARM).
- Iron mode transition using the TASK_NOWAKEUP support whenever available from the I-pipe.
- Optimize syscall propagation using the new PF_EVNOTIFY per-task filter.
- Streamline nucleus SMP lock implementation.
- Introduce generic support for runtime statistics (xnstat).
- Refactor locking code in interrupt support. Improve shared interrupt code. Use generic support for runtime accounting.
- Rework the watchdog support.
- uvm
- Feature removed.
- testsuite
- Add IRQ benchmark program.
- Improve tests output.
- scripts
- Fix modular build for 2.4.
- hal
- x86: Prevent the 2.4 speaker support from perturbating Xenomai's TSC emulation code.
- ppc: Port over 2.6.18.
- arm: Upgrade Adeos support.
- native
- Fix rt_queue_read() timeout.
- Fix rt_queue_send() upon null broadcast (wrong reference count).
- rtdm
- Enhance non-RT locking during /proc access.
- Add rtdm_iomap_to_user() service.
- posix
- Fix mutex attribute handling from user-space.
- Properly handle cancellation requests in pthread_cond_wait().
- Add the --enable-posix-auto-mlockall option to the main configure script.
- Allow sched_yield() to pick secondary mode threads when SCHED_OTHER is in effect.
- Make the timer management better conform to the POSIX spec.
- Make pthread_join() callable from module init/cleanup routines.
- drivers
- Refactor RTDM types for timeout and dates.
- Add RT-Socket-CAN, a RTDM compliant driver for CAN devices.
As a sidenote, please note that this branch will be the first one to support the latest Linux kernels (>= 2.6.18).
This version may be download on GNA workspace.
2006-11-05 Fifth maintenance release for the v2.2.x branch
Here is the fifth maintenance release for the v2.2.x branch. Short log follows:
- nucleus
- Fix period validity check when setting up the timer for periodic timing mode.
- hal
- ppc: Define special wrappers to get/put_user macros which bypass the might_sleep() checks. Upgrade Adeos support.
- x86: Upgrade Adeos support.
- arm: Upgrade Adeos support.
- native
- Fix rt_queue_send() upon null broadcast (wrong reference count).
- posix
- Make sure to read interrupt-related macros from the core headers when including posix/pthread.h from user-space.
See the ChangeLog for more details. This version may be downloaded on the GNA workspace area
2006-10-15 Fourth maintenance release for the v2.2.x branch
Here is the fourth maintenance release for the v2.2.x branch. Short log follows:
- [nucleus]
- Raise XNBREAK as required when resuming a forcibly suspended shadow thread upon Linux signal receipt.
- Rework the watchdog implementation, so that it does not depend on the Linux tick to be relayed through the nucleus (e.g. CONFIG_X86_LOCAL_APIC). Export the watchdog status to /proc/xenomai/timer.
- Fix __xn_copy_from/to_user() so that none of their arguments could be shadowed by the internal variable used to hold the return value. This issue affects _all_ architectures.
- x86: partially revert commit #1595 to fix FPU management regression issues that surfaced in 2.2.3. Fix CONFIG_PCI_MSI issue by upgrading to Adeos 2.6.17-1.5-00.
- blackfin: Sync with Blackfin's CVS head as of 2006-10-08.
- [hal]
- powerpc: Fix computation of periodic tick value to prevent 32bit arithmetic overflow. Add Adeos support for Linux 2.6.18.
- blackfin: Upgrade generic Adeos support to the latest release.
- arm: Fix syscall propagation issue with previous Adeos 1.5-00 release.
- [uvm]
- Iron context switch emulation to prevent spurious wakeups upon Linux signal receipts.
- [posix]
- Add missing wrapper to __real_pthread_getschedparam().
- [rtdm]
- Fix return value from copy_to/from_user().
- [psos]
- Fix size information passed to internal msgQLib routines.
- Reschedule after task mode change (t_mode).
As a sidenote, you will notice that the latest Adeos patches for i386, powerpc and Blackfin are bigger than they used to; this is due to the integration of the I-pipe tracer feature into the standard Adeos support, that used to live in a separate patch up to now. This feature is currently forcibly disabled for the Blackfin architecture though, since it is not fully functional yet, but this should improve with the next releases.
See the ChangeLog for details.
http://download.gna.org/xenomai/stable/xenomai-2.2.4.tar.bz2
2006-09-24 Third maintenance release for the v2.2.x branch
Here is the third maintenance release for the v2.2.x branch. Short log follows:
- [nucleus]
- Use per-task event filter implemented by recent Adeos patches, to reduce the overhead induced by event pipelining.
- Support partial buffer reading from the message pipe device endpoint.
- Fix spurious wakeup triggered by the periodic handler for threads blocked on a resource.
- x86: Make sure to always restore the FPU context of the root thread consistently with the TS bit state.
- [hal] Toggle IRQ_DISABLED appropriately when enabling/disabling an interrupt channel.
- [posix] Make pthread_join() usable from module init/cleanup routines.
- [native] Optimize data streaming mode.
- [rtai]
- Improve compliance of rtf_get().
- Fix memory leak in rtf_destroy().
See the ChangeLog for details and download this new version here .


