2008-06-08  Philippe Gerum  <rpm@xenomai.org>
	
	* RELEASE: Xenomai 2.4.4 (Made Of Tears)

2008-06-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.25-arm-1.9-02.

	* ksrc/arch/blackfin/patches: Update to 2.6.22-blackfin-1.7-02.
	
	* ksrc/arch/powerpc/patches: Upgrade to 2.6.25-powerpc-2.2-02,
	2.6.20-powerpc-1.8-01.
	
	* ksrc/arch/x86/patches: Update to 2.6.25-x86-2.0-08.
	
2008-06-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to
	2.6.20-powerpc-1.8-00 (various fixes + legacy ppc/ support).

2008-06-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.24-powerpc-2.1-04,
	2.6.25-powerpc-2.2-00.

2008-06-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/registry.c: Allocate registry_obj_slots[]
	dynamically to work around limited data mapping during early boot
	on ppc (same issue that required CONFIG_IPIPE_TRACE_VMALLOC to be
	provided).

2008-06-03  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* src/skins/posix/mutex.c (__wrap_pthread_mutex_trylock, 
	__wrap_pthread_mutex_unlock): trap the -EINTR return value.

2008-06-02  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h: Add calibration value for
	the MPC8349_ITX board.

	* ksrc/arch/blackfin/patches: Update to 2.6.22-blackfin-1.7-01.

2008-06-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_map): Do not set the underlying
	Linux task priority; this is useless since userland is expected to
	set it properly before attempting a shadow mapping, and also
	contradicts the cached priority value maintained by the glibc.

	* ksrc/nucleus/shadow.c (do_setsched_event): Do not propagate
	 priority changes to the nucleus for threads that belong to skins
	 that have a priority scale not compatible with the POSIX one.

2008-05-31  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* configure.in (--enable-arm-mach): Add a "generic" machine.
	(--disable-arm-tsc): Enable ARM tsc emulation by default.

2008-05-27  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/signal.c (pse51_sigqueue_inner): Fix posix
	shadows signals: only trigger xnshadow_relax if the target thread
	is not already suspended from the nucleus point of view.

2008-05-27  Sebastian Smolorz  <sesmo@gmx.net>

	* ksrc/skins/native/pipe.c (rt_pipe_receive): Fix documentation
	for the return values of the function. -EIDRM is no valid return
	value any more.

2008-05-25  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* include/nucleus/intr.h, include/nucleus/thread.h: Fix
	compilation of posix applications in user-space with ucLibc.

2008-05-25  Roland Stigge  <stigge@antcom.de>

	* doc/man/*: Add new manual pages.

2008-05-25  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/mscan/rtcan_mscan.c (rtcan_mscan_exit): Fix
	section mismatch warning.

2008-05-25  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/mscan/rtcan_mscan.c: Remove #include <ppcboot.h>
	because it's not needed at all and it makes trouble with kernel
	version >= 2.6.24.

2008-05-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/syscall.c (__wind_msgq_receive): Fix byte
	count for copy to user.

2008-05-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to 2.6.24-powerpc-2.1-03.

	* ksrc/arch/x86/patches: Update to 2.6.24-x86-2.0-07,
	2.6.25-x86-2.0-07.

	* src/skins/{native,vxworks}/wrappers.[ch]: Define a wrapper file
	maintaining a list of placeholders for routines that we do NOT
	want to be wrapped to their Xenomai POSIX API counterparts when
	linked with our POSIX library, and use those symbols throughout
	the interfaces.

2008-05-22  Yi Li <liyi.dev@gmail.com>

	* ksrc/arch/blackfin/patches: Resync patch on 2008R1. Add support
	for bf54x and bf52x.

2008-05-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Upgrade to 2.6.25-x86-2.0-06.

2008-05-19  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-x86/bits/shadow_64.h (xnarch_init_shadow_tcb): Keep
	pointing at register "rip" within the thread struct.

2008-05-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_send): Apply infinite timeout
	to wait for a reply once a remote server has been found, in the
	non-blocking call case. NOTE: Passing TM_NONBLOCK does NOT mean
	not to wait for a reply, but it means to wait for a reply UNLESS
	no server is listening to us before we send the request.

	* ksrc/nucleus/shadow.c (rpi_update): Handle calls for non
	RPI-boosted threads gracefully; those are legit.

2008-05-15  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/vxworks, ksrc/skins/vxworks: Add taskInfoGet()
	service.

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Check last wchan
	signaled to prevent a race on interpreting the XNWAKEN flag. The
	actual case that patch fixes is as follows:
	- Thread A grabs synch X
	- Thread A sleeps on synch Y
	- Synch Y is signaled, thread A is unblocked but not immediately
	resumed CPU-wise, XNWAKEN is raised.
	- Thread B mistakenly steals synch X, being confused by the
	XNWAKEN state of thread A, but which is applicable to a different
	synch object (synch Y).

	To fix this, we need to make sure that XNWAKEN applies to the
	ownership of the right synchronization object -- this is the
	purpose of the new thread->wwake field. Another option would be to
	have the synchronization object hold the steal state, but this
	would raise other issues.

2008-05-15  Gernot Hillier  <gernot.hillier@siemens.com>

	* configure.in: Disallow includedir == /usr/include.

2008-05-15  Markus Osterried <markus.osterried@ericsson.com>

	* src/skins/psos/tm.c (tm_evevery): Fix system call number.

2008-05-13  Jan Kiszka  <jan.kiszka@siemens.com>

	* ksrc/nucleus/pod.c (xnpod_delete_thread): Invoke xnfreesync
	if executed over the root thread to avoid potentially long
	pending TCB releases until next root switch-in.

2008-05-12  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/x86/smi.c, ksrc/drivers/can/sja1000/rtcan_peak_dng.c:
	Fix section violations by removing some __devinit and __exit
	annotations.

2008-05-11  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-x86: Adapt to 2.6.25.

2008-05-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/semLib.c: Rework mutex support.

2008-05-09  Jan Kiszka  <jan.kiszka@siemens.com>

	* ksrc/nucleus/shadow.c (do_taskexit_event): Unlock timers when
	debugged thread exits.

2008-05-06  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (do_schedule_event): Do not grab the
	sighand lock for reading the signal pending mask: it's useless,
	and exposes us to deadlocks on SMP because we own the runqueue
	lock here.

2008-05-06  Klaas Gadeyne <klaas.gadeyne@fmtc.be>

	* ksrc/skins/native/cond.c (rt_cond_wait): Fix
	documentation (ETIMEDOUT status).
	
2008-05-03  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/mutex.h (pse51_mutex_timedlock_internal):
	Correctly restore the mutex recursion count after suspension in
	a condition variable.

2008-05-02  Jan Kiszka  <jan.kiszka@siemens.com>

	* ksrc/skins/posix/syscall.c: Fix pthread_cond/mutex_init for NULL
	attributes, remove questionable locking around sem/mutex/cond
	initialization and destruction (backport of #3369).

2008-04-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/semLib.c: (sem_create_internal): Clear the
	owner field at init.

2008-04-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Update to 2.6.24-x86-2.0-05.

2008-04-25  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-x86/wrappers* (rthal_irq_chip_enable/disable): Route
	enable/disable requests to unmask/mask PIC routines for
	post-2.6.18 kernels.

2008-04-23  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_sleep_until): Provide support
	for infinite sleep, passing TM_INFINITE as the wake up date. Only
	rt_task_unblock() can resume tasks blocked that way.

2008-04-23  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to 2.6.24-powerpc-2.1-02.

2008-04-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_suspend): Check for break
	condition upon return from xnpod_suspend_thread().

2008-04-11  Jan Kiszka  <jan.kiszka@siemens.com>

	* src/skins/native/task.c (rt_task_self): Fix tiny memory leak
	when being invoked over a non-Xenomai thread.

2008-04-10  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/*: Force minimum stack size to 32k, in order to work
	around usual traps with stdio routines eating a lot of stack
	space.

2008-04-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/semLib.c (semb_take, semm_take, semm_give):
	Only refer to the base thread control block to allow cross-API
	calls.

	* ksrc/skins/vxworks/defs.h (taskSafeInner, taskUnsafeInner): Make
	those nops for non-VxWorks callers.

2008-04-08  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/posix/wrappers.c: Make placeholders weak symbols to
	allow override.
	
	* ksrc/skins/vxworks/syscall.c: __vxworks_sem_give has to be a
	conforming mode entry in order to properly signal mutex-type
	semaphores, both from genuine Linux and Xenomai user-space
	contexts.

2008-04-04  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-*/{pod.h,init.h}: Introduce arch-specific
	xnarch_ns_to_tsc as inverse of mul-shift xnarch_tsc_to_ns instead
	of converting back via CPU frequency. Avoids drifts between large
	calculated versus measured dates.

2008-04-02  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/bits/mlock_alert.h:
	xeno_handle_mlock_alert() has to be a weak symbol to allow
	static multi-lib support.

2008-03-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos/pt.c (pt_getbuf): Return ERR_NOBUF when
	required.

2008-03-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/tm.c (tm_date_to_ticks): Fix month addition
	loop.

2008-03-28  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm, ksrc/skins/rtdm: Refactor and document select API.
	Finally increment API version.

2008-03-24  Stephane Fillod  <stephane.fillod@thomson.net>

	* ksrc/skins/native/heap.c: Output oustanding number of heap
	mappings to registry /proc file.
	
2008-03-24  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4.3 (Back to Shalla-Bal)

2008-03-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to 2.6.20-powerpc-1.7-13,
	2.6.24-powerpc-2.1-01.

2008-03-11  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Update to 2.6.24-arm-1.9-01.

2008-03-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/taskLib.c (taskSpawn): Fix error path.

2008-03-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus, ksrc/arch, include/asm-*: Introduce private stack
	pool for kernel threads, so that we can control the type of memory
	used there, depending on per-arch requirements.

	* ksrc/nucleus/pod.c, include/asm-powerpc/system.h: Remove support
	for scattered heap memory (now useless with private stack pool).

2008-03-16  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c (rtdm_mmap_buffer): Differentiate between
	mapping of kmalloc'ed vs. I/O memory.

2008-03-16  Philippe Gerum  <rpm@xenomai.org>
 
 	* include/asm-generic/wrappers.h (wrap_remap_io_page_range): Set
 	pgprot_noncached() into the vma flags for MMIO mapping requests.
 
2008-03-12  Anders Blomdell <anders.blomdell@control.lth.se>

	* ksrc/skins/native/cond.c (rt_cond_wait): Fix race due to an
	unwanted rescheduling between the mutex is released and the sleep
	state is entered. Also properly release nested locks before
	attempting to sleep.

2008-03-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/switch_32.S: Assume that CPU_FTR_SPE may not
	exist in outdated kernels.

	* ksrc/skins/vxworks: Add auto-cleanup support for message queues
	and semaphores.

2008-03-09  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix, src/skins/posix: Support for the select
	service.

	* ksrc/skins/rtdm: Support for multiplexing RTDM file descriptors
	events, i.e. for using RTDM file descriptors with the posix select
	service.

	* ksrc/nucleus/select.c, include/nucleus/select.h: Core support
	for events multiplexing services (like posix select).

2008-03-08  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* src/skins/native/task.c: Call pthread_exit() to properly cleanup
	thread's resources on self-deletion.


	* ksrc/drivers/testing/klat.c, src/testsuite/klatency: Provide
	more accurate latency measurement tool dedicated to kernel-based
	activities.
	
2008-03-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Update to 2.6.24-2.0-04.

	* src/skins/posix/mq.c (__wrap_mq_notify): Fix error path.

2008-03-06  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c: Mark __rt_pipe_delete as a lostage
	call, since it may release host memory.

2008-03-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_delete_thread): Only send SIGKILL to
	userland threads deleted from a kernel-based Xenomai context,
	assuming the interface library will have called pthread_cancel()
	for the target thread in all other cases.

2008-03-01  Jan Kiszka  <jan.kiszka@siemens.com>

	* include/asm-generic/system.h (xnlock_put): Add proper barrier.

	* ksrc/nucleus/shadow.c, include/nucleus/pod.h: Let rpi_push,
	xnpod_renice_root, and xnpod_root_priority work on specified CPU
	instead of the current one. Issue rpi_push for the new thread's
	target CPU in xnshadow_start, which may be different from the
	current one.

2008-02-15  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* src/skins/posix/thread.c (__wrap_pthread_create): Follow more
	closely Linux behaviour with regard to scheduling and priorities.

2008-02-11  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4.2 (One Big Rush)

2008-02-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to
	2.6.24-powerpc-2.1-00 (multi-arch).
	
	* ksrc/arch/x86/patches: Update to 2.6.20.21-i386-1.12-03,
	2.6.23-i386-1.12-03, 2.6.23-x86_64-1.4-03, 2.6.24-2.0-03.
	
	* include/asm-powerpc/calibration.h: Decrease calibration value
	for the PA-Semi board.
	
	* ksrc/arch/powerpc, include/asm-powerpc/bits: Port to
	DENX-v2.6.24-stable.

2008-01-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/registry.c: Fix primes[] type.

2008-02-04  Jan Kiszka  <jan.kiszka@siemens.com>

	* scripts/xeno-config.in: Provide consistent output of posix-ldflags.

2008-01-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/x86/hal-common.c: Fix race when starting the cleanup
	on CPU > 0. Avoid multiple RTHAL_BCAST_TICK_IRQ releases.

2008-01-26  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* configure.in: Fix --enable-linux-build for latest arch/x86
	kernels.
	
2008-01-26  Jan Kiszka <jan.kiszka@siemens.com>

	* ksrc/arch/x86/hal-common.c (rthal_timer_request): Fixup tick IRQ
	number for kernels lacking generic clock events support.

	* ksrc/arch/x86/hal-common.c (rthal_timer_request): Make sure we
	don't run the APIC setup code before branching on error.
	
	* ksrc/arch/x86/hal-common.c (rthal_timer_request): Make sure the
	tick timer is not accounted for twice in legacy PIT+LOCAL_VECTOR
	broadcast mode (i.e. !CONFIG_GENERIC_CLOCKEVENTS).
	
2008-01-23  Jan Kiszka <jan.kiszka@siemens.com>

	* src/testsuite/clocktest/clocktest.c: Fix randomization of
	measurement thread delays which caused soft-lockups. Avoid
	races when storing time warps.

2008-01-22  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/prepare-kernel.sh: Improve default patch selection.

2008-01-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to 2.6.20-powerpc-1.7-12,
	2.6.23-powerpc-2.0-09, 2.6.23-ppc-1.6-03.

	* ksrc/arch/x86/patches: Update to 2.6.20.21-i386-1.12-02,
	2.6.23-i386-1.12-02, 2.6.23-x86_64-1.4-02, 2.6.24-rc6-2.0-02.
	
2008-01-17  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/Kconfig.frag: Extend HPET dependencies.

2008-01-15  Philippe Gerum  <rpm@xenomai.org>
	
	* include/asm-powerpc/calibration.h: Add calibration value for
	AMCC's Rainier board.

2008-01-14  Jan Kiszka  <jan.kiszka@web.de>
	
	* scripts/prepare-kernel.sh: Kill arch_makefile.
	
2008-01-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/timebase.c (xntbase_start): Raise the XNTBRUN bit.

2008-01-07  Stephane Fillod  <stephane.fillod@thomson.net>

	* ksrc/drivers/serial/16550A.c (rt_16550_set_config): Set correct
	bit in IER to enable modem status IRQs.

2008-01-01  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4.1 (Can't Slow Down)

2008-01-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Update to 2.6.20.21-i386-1.12-01,
	2.6.23-i386-1.12-01, 2.6.23-x86_64-1.4-01, 2.6.24-rc6-2.0-01.
	
	* ksrc/arch/powerpc/patches: Update to 2.6.20-powerpc-1.7-11,
	2.6.23-powerpc-2.0-08.

2007-12-29  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/can/sja1000/rtcan_*_pci.c: Terminate PCI ID tables
	appropriately.

2007-12-29  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c (__rt_queue_write): Do not check the
	source buffer whenever the transmit size is 0.
	
	* ksrc/nucleus/shadow.c (xnshadow_sys_completion): Fix error path
	upon signal receipt.

	* ksrc/nucleus/shadow.c (xnshadow_signal_completion): Don't hold
	the superlock (uselessly) in code that might sleep due to a memory
	access fault.

2007-12-27  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h: Decrease calibration value
	for the mpc52xx.

	* ksrc/arch/x86/patches: Update to 2.6.20.21-i386-1.12-00,
	2.6.23-i386-1.12-00, 2.6.23-x86_64-1.4-00, 2.6.24-rc6-2.0-00,
	2.4.35.5-1.3-05.
	
	* ksrc/arch/powerpc/patches: Update to 2.6.20-powerpc-1.7-10,
	2.6.23-ppc-1.6-02, 2.6.23-powerpc-2.0-07.

2007-12-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/x86/hal-common.c: Track tick IRQ number changes.
	
2007-12-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Update to 2.6.20-1.8-03.

	* ksrc/arch/powerpc/patches: Update to 2.6.20-powerpc-1.7-09,
	2.6.23-ppc-1.6-01, 2.6.23-powerpc-2.0-05.

	* ksrc/arch/x86/patches: Update to 2.6.20-i386-1.11-01,
	2.6.23-i386-1.11-01, 2.6.23-x86_64-1.3-01.
	
2007-12-22  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000/{rtcan_sja1000.c, rtcan_*_pci.c}: Remove
	CONFIG_XENO_OPT_SHIRQ* ifdefs to fix build problems with recent
	versions of Xenomai. If rtdm_irq_request() now fails with -EBUSY, an
	error message reminds the user to check for shared interrupt support.

	* ksrc/drivers/can/rtcan_dev.c (rtcan_dev_unregister): unregister
	devices properly in case refcounts are disabled.

2007-12-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Update to 2.4.25-ppc-1.2-02 against
	DENX's linuxppc_2_4_devel GIT tree as of 2007-12-22.

	* ksrc/arch/x86/patches: Update to 2.4.34-1.3-04, 2.4.35.5-1.3-04.
	
	* ksrc/nucleus/pipe.c (xnpipe_wait): Close race window causing an
	immediate wakeup opportunity to be missed before the caller
	schedules out.
	
2007-12-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/task.c (t_mode): General fix.

2007-12-09  Philippe Gerum  <rpm@xenomai.org>

	* include/native/misc.h: Do not run the auto-cleanup code for I/O
	regions if CONFIG_XENO_OPT_PERVASIVE is disabled.

2007-12-08  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4.0 (Bells Of Lal)

2007-12-08  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* src/skins/posix/thread.c, ksrc/skins/posix/syscall.c,
	ksrc/skins/posix/thread.c: Add __pse51_thread_kill syscall.
	
2007-12-04  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/heap.h (xnheap_rounded_size): Fix 32bit overflow
	for large sizes.

	* ksrc/nucleus/heap.c (xnheap_init_mapped): Only align the
	requested heap size to the natural page size to avoid duplicate
	overhead accounting. Callers must include the actual overhead
	before calling.

	* ksrc/skins: Ensure that all callers of xnheap_init_mapped() and
	xnheap_init() do round to the proper page size before calling.

2007-12-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Backport 2.6.23-powerpc-2.0-03 to
	2.6.23-ppc-1.6-00, to support a number of EVBs (32bit, uniprocessor
	only) which have not been moved to the powerpc/ tree yet. 
	
	* include/asm-powerpc/calibration.h: Add a set of EVB-specific
	calibration values.

2007-11-26  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc7

2007-11-25  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Update to 2.6.20-1.8-02.

	* ksrc/nucleus/pod.c: Destroy watchdog and root thread
	timers. This avoids subsequent duplicate insertions of such
	objects into the per-timebase queue from xntimer_init().
	
2007-11-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/heap.c (__heap_read_proc): Display
	actual/usable memory amount available instead of the requested
	size which may be smaller.

	* ksrc/skins/native/heap.c (rt_heap_inquire, RT_HEAP_INFO): Report
	usable and used memory amounts.
	
2007-11-23  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c, include/nucleus/heap.h: Fix computation of
	overhead due to the heap meta-data (xnheap_overhead). Recycle
	empty bucketed pages to the global free page list.

2007-11-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Upgrade to 2.6.20.21/i386-1.11-00.

	* ksrc/arch/x86/patches: Upgrade to 2.6.23/x86_64-1.3-00.
	
2007-11-22  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Update to 2.6.20-1.8-01.
	
2007-11-21  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h: Increase calibration value
	for PA-SEMI boards in SMP mode.

2007-11-21  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/x86, include/asm-generic, include/asm-x86: Refactor
	the x86* support around the recent x86 merge. Use the newest
	ipipe_request_tickdev() interface when available for tick device
	emulation.

	* ksrc/nucleus/module.c: Report configured timer and clock device.

2007-11-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscalls.c (__rt_queue_read): Do not attempt
	to free the message block after a failed receive op.

2007-11-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Upgrade to 2.6.20/i386-1.10-12.

	* ksrc/arch/x86/patches: Upgrade to 2.6.23/x86_64-1.2-06.
	
2007-11-19  Paul Corner <paul_c@tuxcnc.org>

	* debian/: Adapt to x86* merge.
	
2007-11-19  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Upgrade to I-pipe/arm 1.8 series.
	
2007-11-18  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/switch.S: Call iwmmxt_task_switch with only one
	argument starting from Linux 2.6.18.

	* ksrc/nucleus/pod.c (xnpod_suspend_thread): Remove thread from
	synchronization object wait queue upon exit due to timeout value
	in the past.

2007-11-17  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/mq.c (pse51_mq_trysend, pse51_mq_finish_send):
	Only call xnpod_wakeup_one_sleeper when a message is sent.

	* ksrc/nucleus/synch.c (xnsynch_peek_pendq): Add a new service.

2007-11-15  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h: Define specific calibration
	value for MPC854x boards.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-08. Will
	actually fix a showstopper with MPIC-equipped platforms.

2007-11-13  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc6

2007-11-11  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/syscall.c: Fix remaining spots where invalid user
	pointers were not reported via appropriate return codes.

2007-11-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c: Fix select() breakage on a message pipe due
	to multiple insertions into the sleep queue. Remove broken nwait
	counter which also happened to be useless since WREAD/WSYNC
	conditions are mutually exclusive.

2007-11-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86/patches: Upgrade to 2.6.20-1.10-11,
	2.6.22-1.10-12, 2.6.23-1.10-12.

2007-11-10  Steven A. Falco <sfalco@harris.com>

	* ksrc/skins/native/syscalls.c (rt_io_get/put_region): Provide
	support for requesting MMIO regions through request_mem_region().

2007-11-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native, include/native, src/skins/native: Introduce
	I/O region descriptors, for new rt_io_get/put_region calls,
	replacing deprecated rt_misc_get/put_io_region services. Provide
	for auto-cleanup of I/O region resources.
	
	* ksrc/nucleus/pipe.c: Raise the XNRMID condition for kernel-space
	waiters from xnpipe_release().

2007-11-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c,
	src/skins/native/misc.c (rt_misc_get_io_region,
	rt_misc_put_io_region): Use a 64bit argument to hold the start
	address of the region, in order to cope with architectures where
	I/O memory lives beyond the 4GB limit.

	* include/asm-x86/hal_32.h: Always include asm/i8253.h.

	* ksrc/skins/native/pipe.c,
	ksrc/skins/native/syscall.c (rt_pipe_receive, rt_pipe_read,
	__rt_pipe_read): Conform to the POSIX semantics when the channel
	is closed by the peer while reading: i.e. return 0.

2007-11-08  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus, ksrc/include, ksrc/skins/rtdm: Overhaul the LTT
	support, with full conversion to common trace markers.

2007-11-06  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-blackfin/system.h, include/asm-generic/blackfin.h,
	ksrc/nucleus/shadow.c: Provide for arch-dependent syscall prologue
	in high stage.

2007-11-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/{syscall.c, task.c}: Allow rt_task_inquire()
	to only probe for the existence of a task.

	* include/asm-x86/syscall_{32,64}.h: Make __xn_access_ok() return
	false for addresses lower than the natural page size.

2007-11-01  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* include/asm-arm/syscall.h: Change struct initializer for
	C++ compilation.

2007-10-31  Philippe Gerum  <rpm@xenomai.org>

	* [k]src/skins/psos+/syscall.c: Provide tm_getc() extension
	returning the elapsed count of jiffies for the pSOS timebase.

2007-10-30  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* src/skins/posix/cond.c (__wrap_pthread_cond_wait,
	__wrap_pthread_cond_timedwait): Do not leave without poping the
	cleanup handler.

	* ksrc/skins/posix/syscall.c (__pthread_cond_wait_prologue): Copy
	the mutex recursion count to user-space upon timeout.

2007-10-30  Stephane Fillod  <stephane.fillod@thomson.net>
	
	* ksrc/skins/rtai/task.c (rt_task_init): Set up default CPU
	affinity.

2007-10-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/heap.c (rt_heap_create): Record the
	user-defined heap size value before any rounding is applied.

2007-10-28  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-x86/hal_64.h: Relay the host tick through to the
	local timer interrupt (instead of IRQ0).

	* ksrc/arch/x86, include/asm-x86: Merge former i386 and x86_64
	branches.

2007-10-27  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc5

2007-10-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c (xnheap_init_mapped): Apply proper rounding
	to PAGE_SIZE, with a minimum size of 2 * PAGE_SIZE + incurred
	overhead.

	include/asm-x86_64/bits/shadow.h: Fix various tests on irq numbers
	by introducing proper vector->irq mapping.

	* include/asm-powerpc/wrappers.h: Make
	rthal_irq_chip_enable/disable bullet-proof with recent kernels (>
	2.6.19).

	* src/testsuite/latency/latency.c: Attempt to freeze the current
	trace path upon receipt of a fault signal.

	* ksrc/arch/i386/hal.c (rthal_arch_init): Whine when
	nmi_watchdog=NMI_IO_APIC, and we are asked to use the LAPIC for
	timing (CONFIG_X86_LOCAL_APIC+CONFIG_GENERIC_CLOCKEVENTS only).

2007-10-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.23-DENX-2.0-02.

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.10-10,
	2.6.22-1.10-11, 2.6.23-1.10-11.

2007-10-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.2-05,
	2.6.23-1.2-05.

2007-10-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.2-04,
	2.6.23-1.2-04.
	
	* ksrc/skins/uitron: Export services.

	* ksrc/skins: Export various timebase objects.

	* ksrc/nucleus/timer.c, ksrc/nucleus/timebase.c: Provide a mean to
	implement a daisy chain of tick handlers. The most significant
	change to the internal interface now requires the user-defined
	hook to a periodic timebase (xntbase_set_hook()) to call into
	xntbase_tick() in order to propagate the incoming clock tick,
	i.e. this is no more systematically done by the inner Xenomai
	code.

2007-10-18  Jan Kiszka  <jan.kiszka@web.de>

	* doc/doxygen/Doxyfile-common.in, ksrc/arch/generic/hal.c,
	ksrc/skins/posix/clock.c: Minor doc fixes.

2007-10-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/patches: Upgrade to 2.6.23-1.7-00. Includes a
	port to the bf561.

	* ksrc/nucleus/pod.c, ksrc/nucleus/shadow.c: Enforce CPU affinity
	unconditionally.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-07.
	
	* include/asm-blackfin/calibration.h (__sched_latency): 
	Decrease default calibration value for the bf537.

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.10-09,
	2.6.22-1.10-10, 2.6.23-1.10-10.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.2-03,
	2.6.23-1.2-03.

2007-10-16  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc4

2007-10-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.10-08,
	2.6.22-1.10-09, 2.6.23-1.10-09.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.2-02,
	2.6.23-1.2-02.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-06,
	2.6.23-DENX-2.0-02.

2007-10-14  Jan Kiszka <jan.kiszka@siemens.com>

	* include/nucleus/timebase.h, ksrc/nucleus/modules.c: Fix cleanup
	of timebase proc entries.

2007-10-13  Jan Kiszka  <jan.kiszka@siemens.com>, Philippe Gerum  <rpm@xenomai.org>

	* scripts/Kconfig.frag: Prevent combined selection of
	X86_LOCAL_APIC and HPET_TIMER. This setup won't work for us since
	the HPET will override the PIT, and we use the i8253 as our tick
	device when running in LAPIC-disabled mode.

2007-10-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/Config.in: Add missing
	CONFIG_XENO_OPT_WATCHDOG_TIMEOUT value.

	* ksrc/arch/i386/smi.c: Prevent multiple notices to be sent about
	enabling the SMI workaround.

	* ksrc/arch/x86_64/hal.c, include/asm-x86_64/bits/intr.h,
	include/asm-x86_64/hal.h: Adapt to the generic clock events
	infrastructure.

	* include/asm-i386/hal.h: Include <asm/i8253.h> in the
	LAPIC-disabled case to get I/O port definitions for the PIT
	(2.6.23).

2007-10-12  Jan Kiszka  <jan.kiszka@siemens.com>

	* ksrc/arch/i386/hal.c, ksrc/nucleus/pod.c: Complete timer/x86
	fixage.
	
2007-10-11  Johan Borkhuis  <j.borkhuis@dutchspace.nl>

	* include/rtdm/rtdm_driver.h: Add private data pointer to rtdm_device
	structure.

2007-10-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.10-06,
	2.6.22-1.10-07.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.2-00.

2007-10-11  Jan Kiszka  <jan.kiszka@siemens.com>
	
	* ksrc/arch/i386/hal.c (rthal_timer_request): Always turn on the
	oneshot mode for the timer device, regardless of the current timing
	mode undergone by the kernel (i.e. periodic/oneshot).

2007-10-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/hal.c (rthal_timer_request): Discard the TSC
	sync loop.
	(rthal_timer_calibrate): Sanitize APIC write calibration.

2007-10-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-06.

	* ksrc/arch/i386, include/asm-i386, include/asm-generic,
	ksrc/nucleus/pod.c: Rework handling of timing mode changes over
	kernels featuring high-resolution timers and dynamic ticks support
	(CONFIG_GENERIC_CLOCKEVENTS). Currently only affects x86.

2007-10-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_enable_timesource): In the oneshot
	case, account for the latest tick being in flight as scheduled by
	the kernel: set the XNHTICK bit so that the next clock
	interrupt will be propagated to Linux as needed.

	* ksrc/arch/i386/hal.c (rthal_timer_request): Return -ENOSYS if
	the timer hardware was found to be unusable by the kernel.  Make
	sure we won't accidentally lose the latest pending oneshot tick
	programmed by the clockevent core when switching the timer device
	to oneshot mode.

	* include/asm-generic/bits/bind.h (xeno_bind_skin): Clarify the
	error message sent upon feature conflict/mismatch.

2007-10-06  Stelian Pop  <stelian@popies.net>

	* ksrc/arch/{i386, x86_64}/smi.c: Detect ICH8 rev4 chipsets.

2007-10-06  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/rtcan.h: Add CAN_RAW_RECV_OWN_MSGS for compatibility
	with Socket-CAN. It is not supported by RT-Socket-CAN.

2007-10-06  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/{rtcan_mscan.c, rtcan_mscan_regs.h}: Support the
	new resource management of "arch/powerpc" properly and fix problems
	with the module parameter "port". Rorts are now enabled according
	to their position in the port list: port=1,1 or 0,1 or 0,1.

2007-10-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.22-2.0-02.

2007-10-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/{syscall.c, wdLib.c}, src/skins/vxworks: Fix
	implementation for concurrent watchdog support.

2007-09-28  Jan Kiszka  <jan.kiszka@siemens.com>

	* ksrc/drivers/testing/timerbench.c: Take care of overflows also in
	timer handler test. Avoid races during timer setup.

2007-09-26  Jan Kiszka  <jan.kiszka@siemens.com>

	* src/skins/posix/thread.c (__wrap_pthread_create): Use the correct
	attribute reference when creating the real pthread.

2007-09-25  Benjamin ZORES <benjamin.zores@alcatel-lucent.fr>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.21-1.7-05.

2007-09-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.22-2.0-01,
	2.6.23-rc5-2.0-01.

2007-09-22  Philippe Gerum  <rpm@xenomai.org>

	* include/vxworks/vxworks.h, include/nucleus/types.h: Move
	__natural_word_type definition where it belongs.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-05.

2007-09-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/posix/{intr.c, timer.c}: Introduce a forced cleanup
	flag to prevent the cleanup routine from getting denied to destroy
	objects by the inner deletion code before entering a runaway loop
	because of this. Rationale: obj->owningq may be different from
	pse51_kqueues(0) during process cleanup, since all per-process
	data related to a given mm may have been previously removed in a
	row before the last lingering thread from the exiting process runs
	this code. In any case, we definitely want all lingering objects
	attached to the exiting process to be wiped out by the cleanup
	handler, no matter what.

2007-09-16  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-sim/system.h (____cacheline_aligned_in_smp): Provide
	a placeholder.
	(xnlock_sync_irq): Add missing.

	* ksrc/skins/psos+/event.c (ev_init, ev_destroy): Renamed to
	taskev_init, taskev_destroy to avoid a conflict with
	drivers/net/skfp.

2007-09-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/syscall.c (__sc_tecreate): 
	* ksrc/skins/vxworks/syscall.c (__wind_task_init): 
	* ksrc/skins/native/syscall.c (__rt_task_create): Protect against
	duplicate TCB memory release (first issued by the deletion hook)
	upon task creation error.
	
	* ksrc/skins/native/syscall.c (__rt_task_create): Make sure we
	attempt to release the TCB memory after any failure to shadow the
	task.

	* ksrc/skins/native/task.c (rt_task_create): Get out faster from
	the error case by calling xnpod_delete_thread() upon registration
	failure.

2007-09-04  Benjamin ZORES <benjamin.zores@alcatel-lucent.fr>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.21-1.7-04.

2007-09-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-05.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-04.

2007-09-09  Philippe Gerum  <rpm@xenomai.org>
	
	* RELEASE: Xenomai 2.4-rc3

2007-09-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-04.

	* ksrc/arch/powerpc/patches: Upgrade to combined 32/64bit powerpc
	2.0 series (2.6.22, 2.6.23-rc5, DENX git tree).

	* ksrc/arch/{generic, i386, x86_64}/hal.c: Include linux/bitops.h
	instead of asm/bitops.h.

2007-09-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-03.

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-03.

2007-09-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-02.

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-02.

2007-09-06  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/calibration.h (xnarch_get_sched_latency): 
	Reduce a few default calibration values.

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-01.

2007-09-04  Benjamin ZORES <benjamin.zores@alcatel-lucent.fr>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.21-1.7-00.

2007-09-04  Johan Borkhuis <j.borkhuis@dutchspace.nl>

	* ksrc/nucleus/pod.c: Make the watchdog timeout value configurable.

2007-08-30  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c: Round up when nanoseconds are to be
	converted to ticks (periodic timebase only).

	* ksrc/nucleus/timebase.c: Introduce a round-up-variant of
	xntbase_ns2ticks().

	* include/asm-*/bits/pod.h (xnarch_tsc_to_ns): Fix redefine
	warning in 2.4 builds.
	
2007-08-29  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.7-00.

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.10-00.

	* include/asm-powerpc/calibration.h (xnarch_get_sched_latency): 
	Reduce default calibration value for lite52xx boards.

2007-08-28  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/bits/pod.h (xnarch_switch_to): Do not hash
	the zero page.

	* include/asm-powerpc/system.h (xnarch_fault_bp_p): Remove check
	for deprecated perfmon trap.

	* include/asm-powerpc/hal.h: Adjust fault labels to the
	layout of the I-pipe/powerpc 1.7 series and beyond.

2007-08-26  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/pod.h, include/asm-generic/bits/pod.h
	(xnarch_switch_htick_mode, xnarch_switch_htick_shot): Get sched
	pointer inside migration-free section.

	* ksrc, include: Get rid of rthal_get/lock_cpu,
	rthal_put/unlock_cpu, rthal_declare_cpuid. Replace by explicit
	interrupt locking when applicable.

2007-08-24  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h (xnarch_get_sched_latency):
	Reduce default calibration value for lite52xx boards.

2007-08-24  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000: Add the RT-Socket-CAN SJA1000 driver
	rtcan_ems_pci.c for the EMS CPC PCI card from EMS Dr. Thomas
	Wuensche (http://www.ems-wuensche.de).

2007-08-24  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_socket.c: protect the list of RTCAN
	sockets properly when adding or deleting sockets.

2007-08-23  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/calibration.h (xnarch_get_sched_latency):
	Add default calibration value for 405GPr boards.

2007-08-21  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/hal.c (rthal_timer_release): Release tick device
	in the non-LAPIC case. This bug would have cause repeatable
	crashes upon unloading of the last skin from a statically built
	nucleus (i.e. xnpod_shutdown called).

2007-08-18  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc2

2007-08-18  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Update to 2.6.20-1.7-06.

2007-08-16  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* scripts/xeno-test.in: Forward runtime options to switchbench
	(and particularly -p).
	
2007-08-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Add support for the PA6T (dual core
	64bit).

	* include/asm-powerpc/bits/intr.h (xnarch_relay_tick): Relay timer
	tick using the pipeline IRQ scheduling service for the local CPU;
	this saves some precious cycles re-entering the kernel via the
	hardware interrupt entry.

2007-08-16  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/*.[ch]: Only enable process check for
	performance critical functions if posix debugging is enabled.

2007-08-15  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000/Kconfig,
	ksrc/drivers/can/sja1000/{rtcan_isa.c,rtcan_mem.c}: Remove config
	options XENO_DRIVERS_CAN_SJA1000_*_MAX_DEV to avoid problems with
	defining module parameters with Linux 2.4.

2007-08-14  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/*, include/rtdm/*: Lindention and several sparse
	pacifications.

	* ksrc/drivers/testing/{timerbench.c,irqbench.c}: Refactor,
	lindent, address sparse warning.

2007-08-14  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/*.[ch]: Forbid use of non process-shared
	objects outside of the process to which they belong.

	* src/skins/rtdm/Makefile.am (librtdm_la_LDFLAGS),
	  src/skins/posix/Makefile.am (libpthread_rt_la_LDFLAGS),
	  src/skins/native/Makefile.am (libnative_la_LDFLAGS): Increase
	library API revision, in order to avoid problems due to
	discrepancies between binaries and libraries used.

2007-08-13  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/bits/pod.h (xnarch_switch_to): Do not flush
	the mmu batch entries (powerpc64).

2007-08-12  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* include/asm-arm/syscall.h (__xn_rdtsc): Rework user-space access
	to tsc emulation for free-running counters to use the LDM
	instruction.

2007-08-11  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/bits/pod.h (xnarch_switch_to): Use
	rthal_processor_id() instead of smp_processor_id().

	* include/asm-powerpc/calibration.h (xnarch_get_sched_latency):
	Start per-platform picker for default calibration values.

	* ksrc/arch/powerpc/switch_64.S: Make sure rthal_thread_switch()
	returns the previous task pointer, so that it is properly paired
	with Linux's switch_to().

2007-08-09  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/serial/16550A.c: Refactor locking of
	rt_16550_read() to avoid potential race for rt_16550_context::in_nwait
	and rt_16550_context::in_npend on timeouts. Remove unneeded "volatile"
	from rt_16550_context::ioc_events.

	* ksrc/skins/rtdm/core.c (_rtdm_close): Fix up asymmetric close()
	invocations silently by switching to NRT mode (we can now rely on
	close_nrt being always available).

2007-07-19  Sebastian Smolorz  <sesmo@gmx.net>

	* include/asm-arm/syscall.h: Add user-space access to
	tsc emulation for decrementing counters.

2007-08-07  Benjamin ZORES <benjamin.zores@alcatel-lucent.fr>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.21-1.6-04.

2007-08-06  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/demos, examples/posix: move the satch example
	to the examples sub-directory.

2007-08-06  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/hal.h (rthal_nmi_release): Define as nop
	when CONFIG_XENO_HW_NMI_DEBUG_LATENCY is disabled.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.6-04.

	* ksrc/arch/i386/patches: Upgrade to 2.6.23-rc2-1.9-03.

2007-08-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.20-1.7-05.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.1-03.

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-08, 2.6.22-1.9-03.

2007-07-31  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.6-03.

2007-07-31  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/intr.c: (xnintr_edge_shirq_handler): Revert broken
	optimization.

2007-07-31  Jan Kiszka  <jan.kiszka@web.de>, <Daniel.Simon@inrialpes.fr>

	* include/nucleus/{stat.h,thread.h}, ksrc/nucleus/{pod.c,module.c,
	thread.c}: Make xnthread_t::stat::account persistent across dumps
	of /proc/xenomai/stat. Remove unused xnthread_t::stime.

	* include/native/task.h, ksrc/skins/native/task.c: Add task
	exectime, context and mode switches, as well as page faults to
	RT_TASK_INFO.

	* include/nucleus, ksrc/nucleus, ksrc/skins/native/task.c:
	Refactor [xnstat_]runtime to [xnstat_]exectime.

2007-07-31  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/intr.c: Annotate IPIs in /proc/xenomai/irq.

2007-07-30  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* configure.in: Use lndir if available for the implementation of
	the --enable-linux-build option.

2007-07-29  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c: Fix RPI-disabled build.
	
2007-07-29  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.4-rc1

2007-07-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.1-01.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.6-02.

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-06, 2.6.22-1.9-01.

	* ksrc/skins/native/syscall.c (__rt_task_create): Pass the error
	code back through the completion variable in all error cases.

2007-07-27  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/bits/pod.h, include/asm-powerpc/wrappers.h,
	ksrc/arch/powerpc/switch_64.S: Preliminary updates for
	2.6.22/powerpc.

	* include/: Fix remaining 64bit warnings. Always use
	container_of() when applicable to prevent integer/pointer size
	conflicts.

2007-07-26  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/arch/arm/patches: Upgrade to 2.6.20-1.7-04.

	* ksrc/arch/arm/patches: Replace the imx21 directory with a unique
	patch. Remove the at91 directory completely.

	* configure.in: separate at91rm9200 (armv4) from at91sam926x
	(armv5).

2007-07-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.6-01.

	* ksrc/skins: Sanitize thread cleanup routines.

	* ksrc/nucleus/pod.c (xnpod_abort_thread): Add forced thread
	termination routine.

2007-07-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/timer.c (xntimer_tick_aperiodic): Fix signedness in
	64bit comparison (regression introduced by commit #2776).

	* ksrc/nucleus/shadow.c (xnshadow_rpi_check): Flatten locking
	sequence.

	* include/asm-generic/system.h (xnarch_cpu_*): Prevent issues
	involving the comma operator priority along with aggregate
	initializers used in mask expressions.

2007-07-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.20-1.6-00, powerpc/
	tree.

2007-07-23  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/queue.h (XENO_DEBUG_CHECK_QUEUE): Output the
	actual and expected number of elements from a corrupted queue.

2007-07-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c: Make the RPI lock a per-CPU lock, to
	solve the deadlock issue introduced by holding both the nklock and
	the rpilock.  Address the issues raised by Linux task migrations
	for the RPI scheme.

	(xnshadow_harden) Conservatively assume that we might migrate
	while waiting for the gatekeeper request token. Handle the case
	where the shadowed task might have been migrated by the Linux load
	balancer while in flight to primary mode.
	
	(rpi_switch): Do not consider a blocked thread linked to another
	processor's RPI list for removal, since this may happen if such
	thread immediately resumes on the remote CPU. Make sure dormant
	threads are not pushed to the RPI list.

	(rpi_pop): Do not consider a shadow thread linked to another
	processor's RPI list for removal, since this may happen if such
	thread moved to another CPU while in flight to primary mode.

2007-07-22  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/nucleus/timebase.c (xntbase_adjust_time): Re-adjust
	(real-time absolute) timers when adjusting time.

	* include/asm-sim/bits/timer.h (xnarch_program_timer_shot): Take
	care of null delays.

	* include/nucleus/timer.h, ksrc/nucleus/timer.c (xntimer_tick_aperiodic,
	xntimer_tick_periodic): Take care for dates wrap around in timers
	data structures.

2007-07-22  Jan Kiszka  <jan.kiszka@web.de>

	* src/rtdk: 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.
	
2007-07-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.22-1.1-00.

	* ksrc/nucleus/shadow.c (do_sigwake_event): Remove useless
	assertion (root threads have no shadow extension).

2007-07-20  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/clock.c (clock_settime): Implement
	clock_settime.
	* ksrc/skins/posix/*.c (timed services): pass the correct timer
	mode to nucleus timed services instead of using XN_RELATIVE.

2007-07-19  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/timer.c (xntimer_tick_aperiodic): Keep processing
	the timers following the host one (clock_event regression fix).

2007-07-13  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-1.9-00.

2007-07-09  Wolfgang Grandegger  <wg@grandegger.com>

	* include/asm-generic/wrappers.h: add  __deprecated for Linux 2.4.

2007-07-08  Philippe Gerum  <rpm@xenomai.org>

	* xenomai: Upgrade to autoconf 2.61, automake 1.10, libtool
	1.5.22.

2007-07-06  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/intr.c: Fix regression when dumping
	/proc/xenomai/stat. Reduce #ifdef hell.
	
2007-07-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-05.

	* ksrc/arch/i386/hal.c (rthal_setup_oneshot_apic): Discard useless
	count argument.

2007-07-06  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/stat.h (xnstat_counter_get): Fix typo in the
	!CONFIG_XENO_OPT_STATS case.

	* scripts/prepare-kernel.sh: Prevent infinite loop while
	determining the location of the Linux tree in presence of an
	invalid --default setup.

2007-07-06  Jan Kiszka  <jan.kiszka@web.de>, Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/intr.c: Fix interrupt locking scheme. Again.

2007-07-06  Jan Kiszka  <jan.kiszka@web.de>
	
	* ksrc/nucleus/timebase.c: Static init of master time base flags.

	* ksrc/nucleus: Refactor timer modes (relative, absolute,
	real-time).

	* ksrc/skins/rtdm/drvlib.c, include/rtdm/rtdm_driver.h,
	ksrc/drivers/testing/timerbench.c: Add timer interface.

	* src/skins: Set SCHED_FIFO scheduling policy only from
	task/thread creation trampolines - remove setting from scheduling
	parameters passed to pthread_create() calls.

2007-06-30  Jan Kiszka  <jan.kiszka@web.de>, Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/hal.c (rthal_timer_request, rthal_timer_release):
	Dissociate host tick and tick broadcasting interrupt definitions
	when generic clock event devices are not available.
	
2007-06-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_relax): Resync CPU affinity of
	the Linux task with its real-time shadow's.
	(lostage_handler): Remove pointless (and spurious in a
	non-preemptible context) attempt to move the target Linux task to
	the current CPU.

	* include/nucleus/thread.h: Add accessors to the CPU affinity
	data.

2007-06-29  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.22-rc6-1.9-00.

	* include/asm-powerpc/calibration.h (__sched_latency): Reduce
	default calibration value for ppc32.

	* ksrc/arch/{i386,x86_64}/hal.c (rthal_timer_request): Discard
	obsolete introductory check for
	LAPIC-compiled-module-over-PIT-compiled-kernel configuration: the
	HAL has to be statically bound to the kernel, so no discrepancy of
	such kind could ever exist anymore.
	(rthal_setup_oneshot_apic, rthal_setup_periodic_apic): Do not set
	the TMIC register uselessly. Remove useless work-around for P5
	double-write bug.

2007-06-26  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-arm/syscall.h (__xn_strncpy_from_user): Silence
	warn_unused_result.

	* ksrc/nucleus/pod.c, include/nucleus/pod.h,
	include/asm-*/bits/pod.h: Add support for tick emulation through
	kernel callbacks, making the host timer a per-cpu thing.

	* include/asm-i386/wrappers.h (wrap_switch_iobitmap): Wrap access
	to io_bitmap_base starting from 2.6.22.

	* ksrc/arch/{i386,x86_64}/hal.c (rthal_timer_calibrate): Account
	for the additional write to the LVTT register.

	* include/asm-{i386,x86_64}/hal.h (rthal_timer_program_shot): No
	need to reset the LVTT register since we own the APIC timer.

	* ksrc/arch/i386/hal.c (rthal_setup_periodic_apic): Check for
	non-integrated LAPIC.

2007-06-25  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/{pod.c, timer.c}, ksrc/skins/rtdm/drvlib.c,
	ksrc/skins/native/timer.c: Handle clock wrap-around in timeout
	calculations.

	* scripts/bootstrap: Fix calling order between aclocal and
	autoheader.

	* configure.in: Link stage check for sched_setaffinity().

	* src/testsuite/switchtest/switchtest.c,
	src/testsuite/clocktest/clocktest.c: Guard against multiple
	definitions of CPU_ZERO().

	* scripts/prepare-kernel.sh: Fix default patch election. Add
	default preparation option.

	* src/skins/posix/thread.c, src/skins/native/task.c: Do not
	pthread_create() SCHED_FIFO threads, but rather wait for the
	trampoline to promote them to the real-time scheduling class
	(works around old glibc's overeager euid checks).

	* ksrc/nucleus/{Kconfig, Config.n}, scripts/defconfig.frag: Remove
	XENO_OPT_SECURITY_ACCESS (superseded by RT capability group).

	* ksrc/nucleus/shadow.c: Handle RT capability group.

	* ksrc/nucleus/{timebase.c, module.c}, include/nucleus/timebase.h:
	ksrc/skins: Provide for isolated timebases, which are not involved
	in global wallclock offset updates (xntbase_adjust_time()).

2007-06-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c (__rt_task_set_mode): Force
	T_PRIMARY into the returned mask.

2007-06-24  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/registry.c (pse51_node_get): Get rid of
	partially initialized nodes addition.

	* ksrc/skins/posix/*.c: (*_destroy, *_close, *_unlink): Do not
	call xnfree while holding the nklock.

	* ksrc/skins/posix/*.c (*_init, *_create, *_open): Do not call
	xnmalloc while holding the nklock.

2007-06-22  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/hal.h, ksrc/arch/ia64/hal.c
	(rthal_timer_request, rthal_timer_release): Move references to
	ipipe_tune_timer() to the the last place it is still used,
	i.e. ia64 arch-dep support.

	* include/asm-generic/hal.h: Assume all I-pipe patches usable with
	this release have the following features by now:

	- Invariant head optimization,
	- Filter on self-originated domain events (IPIPE_EVENT_SELF),
	- TASK_NOWAKEUP mode bit,
	- Wired interrupt support,
	- Foreign stack marker (IPIPE_NOSTACK),
	- Per-task event filter (PF_EVNOTIFY).

	* ksrc/nucleus/intr.c (xnintr_*handler): Remove useless membars.

2007-06-22  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/timer.c, ksrc/nucleus/pod.c,
	ksrc/nucleus/timebase.c, ksrc/skins, ksrc/include/nucleus,
	include/asm-ia64/bits/pod.h: Introduce global wallclock shared by
	all timebases.

	* include/nucleus/pod.h, ksrc/nucleus/pod.c: Remove svctable.
	
2007-06-21  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/can/sja1000/rtcan_{ixxat,peak}_pci.c: Switch to
	pci_register_driver.

2007-06-21  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-*/system.h (xnarch_sysalloc, xnarch_sysfree): Rename
	to xnarch_alloc_host_mem(), xnarch_free_host_mem().

	* include/asm-generic/system.h (xnarch_get_sys_time): Rename to
	xnarch_get_host_time().

2007-06-20  Gilles Chanteperdrix  <gilles.chanteperdrix@gmail.com>

	* ksrc/skins/posix/mq.c, mq.h, syscall.c: Rework posix message
	queues to reduce the number of message copies.

2007-06-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/uitron, src/skins/uitron: Add user-space support.

	* ksrc/nucleus/shadow.c (xnshadow_map): Check for XNSHADOW on entry.

2007-06-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/defs.h, ksrc/skins/vxworks/defs.h: Fix priority
	normalization.

	* ksrc/skins/uitron: Refactor and sanitize, adding registry
	support.

	* ksrc/nucleus/map.c, include/nucleus/map.h: Add lightweight
	key-to-object mapping service.

2007-06-17  Jan Kiszka  <jan.kiszka@web.de>, Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/time.c (sc_sclock): Fix call to xntbase_set_time().

2007-06-15  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/*/hal.c: Use IRQF_SHARED when applicable to comply
	with 2.6.22 and above; alias deprecated SA_SHIRQ for supporting
	older kernel versions.
	
2007-06-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/task.c (t_mode): Add support for T_SHIELD,
	T_WARNSW and T_RPIOFF.

2007-06-13  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/psos+/tm.c: Add tm_signal() Xenomai extension to
	emulate the POSIX timer_settime() service a pSOSish way.

	* ksrc/skins/psos+/asr.c (as_send): Send SIGRTxx signals to
	userland receivers.

	* src/skins/psos+/asr.c: Add as_send() support.

	* ksrc/nucleus/pipe.c (xnpipe_wakeup_proc): Fix deadly bug
	refreshing the head queue pointer for the asyncq in the SMP case.
	(xnpipe_open): Add synchronous open mode (O_SYNC), which causes
	all Linux writes to the message pipe to block until the Xenomai
	side has consumed all the messages from its input queue.

2007-06-12  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-blackfin/syscall.h (__xn_rdtsc): Assure that CC only
	works on data registers. Otherwise, bfin's as may pick a pointer reg
	and crash during user land build (toolchain bug #3332).

2007-06-12  Philippe Gerum  <rpm@xenomai.org>

	* Makefile.am (sudo): Try to better guess what the user can really
	do as a sudoer when installing.

	* ksrc/skins/psos+: Add auto-cleanup support (automatic orphan
	resource/object reclaiming upon task/module exit).

	* ksrc/skins/psos+: Lift the limitation on name length for pSOS
	objects. Enforcing silly things is definitely not part of a proper
	emulation.

2007-06-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.19-1.5-02.

	* ksrc/skins/psos+/Kconfig: Select XENO_OPT_REGISTRY if
	XENO_OPT_PERVASIVE.

2007-06-09  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/timer.c, include/nucleus/timer.h: Add
	XNTIMER_MONOTONIC init mode.

	* ksrc/nucleus, include/nucleus: Add per-timebase statistics.

	* include/asm-x86_64/arith.h: Add x86_64-optimised rthal_llimd.

	* include/asm-*/bits/{init.h, pod.h}, include/asm-*/arith.h:
	Optimize tsc-to-ns conversions.

	* ksrc/nucleus/pod.c (xnpod_delete_thread): Destroy thread timers
	on xnthread clean-up.

	* include/nucleus/shadow.h, ksrc/nucleus/{module.c, shadow.c}:
	Remove xnskentry::proc, track proc registration via xnskentry::name.
	Clean up redundant typecasts. Remove unneeded code in *_seq_next().

	* include/nucleus/queue.h, ksrc/nucleus/{heap.c, timebase.c},
	ksrc/skins/{native/task.c, rtai/task.c}: Refactor DECLARE_XNQUEUE
	to DEFINE_XNQUEUE. Break out XNQUEUE_INITIALIZER.

2007-06-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/pipe.c (rt_pipe_create): Keep the
	original alignment of the bytestreaming buffer size.

	* ksrc/skins/native/Kconfig: Reduce the default value for
	XENO_OPT_NATIVE_PIPE_BUFSZ from 4k to 1k.

2007-06-08  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h (xnthread_get_timeout): Fix computation
	when the target thread uses a periodic time base.

	* ksrc/skins/psos+/syscalls.c: Add non-standard tm_getm() service
	to retrieve the value of the monotonic clock (pure Xenomai
	extension to ease portability of legacy code).

	* ksrc/skins/psos+/rn.c (rn_delete): Return ERR_TATRNDEL after
	deletion while waiters were still pending.

	* ksrc/skins/psos+/sem.c (sm_delete): Return ERR_TATSDEL after
	deletion while waiters were still pending.

	* ksrc/nucleus/shadow.c (xnshadow_sys_info): Return the tick value
	for the specified skin's timebase.

	* ksrc/nucleus/{shadow, module}.c, include/nucleus/shadow.h: Group
	invariant skin properties into a single structure passed by
	reference to xnshadow_register_interface().

	* ksrc/nucleus/registry.c (xnregistry_enter, xnregistry_remove):
	Add registry debugging tracepoints.

	* include/nucleus/core.h, ksrc/skins: Define and use a smaller
	page size for callers of xnheap_init().

2007-06-07  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/psos+/tm.c (tm_set): Make the pSOS emulator clock
	inherit the Linux wall clock time whenever a null triplet is
	passed.

	* ksrc/nucleus/shadow.c (xnshadow_map): Do NOT arm the round-robin
	mode when the time_slice is non-zero for the mapped thread: RR
	activation must be done from xnpod_start_thread() or
	xnpod_set_thread_mode().

	* ksrc/skins/psos+/task.c (t_start, t_mode): Clear out any bits we
	won't consider from the pSOS mode mask before converting the
	latter to a nucleus mode mask.

	* configure.in: Provide --enable-psos-auto-mlockall, designed
	after --enable-posix-auto-mlockall.

	* src/skins/psos+/init.c (__init_xeno_interface): Automatically
	shadow the main thread.

	* scripts/xeno-config.in: Add missing -D__XENO__ to base CFLAGS.

2007-06-06  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/rtdm/core.c (_rtdm_close): Restore reference counter
	when retrying to close a busy fd.

2007-06-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/task.c, src/skins/psos+/task.c (t_create,
	t_shadow): Allow for creating non-RT tasks at priority level #0.

	* ksrc/nucleus/Kconfig: Remove user configuration for the timer
	latency which is calibrated dynamically, and merge the timer
	latency value with the global latency figure.

2007-06-03  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/calibration.h (__sched_latency): We definitely
	made progress latency-wise: reduce default calibration values for
	all configurations.

	* ksrc/nucleus/{thread.c, pod.c, shadow.c, module.c},
	include/nucleus/pod.h: Get rid of nkpod as a pointer; make direct
	references to nkpod_struct.

2007-06-03  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/device.c (rtdm_dev_register): Unconditionally
	check if mandatory close_nrt is provided.

	* ksrc/nucleus/{module.c, shadow.c}: Move remove_proc_entry out of
	nklock.

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Fix timeout restart
	if resource was robbed.

	* ksrc/nucleus/module.c: Fix locking on restart of sched and stat
	iteration for proc output.

2007-06-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+, src/skins/psos+, include/psos+/psos.h: Add
	constness to name character arrays.

2007-06-02  Stephane Fillod  <stephane.fillod@thomson.net>

	* ksrc/skins/rtai: Add rt_heap_open() and rt_heap_close() to the
	RTAI skin, along with their userland interface (still no pervasive
	mode for RTAI tasks though).

2007-06-02  Jan Kiszka  <jan.kiszka@web.de>, Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/system.h, include/asm-generic/bits/pod.h:
	Un-inline xnarch_ns_to_tsc, xnarch_tsc_to_ns, xnarch_get_sys_time,
	and xnarch_get_cpu_time.

2007-06-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.20-1.7-03.

2007-06-02  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-arm/syscall.h (__xn_rdtsc): Add user-space access to
	tsc emulation.

2007-05-30  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/clocktest/clocktest.c: Fall back to mutexes if
	spinlocks are lacking.

2007-05-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus: Flatten timer IRQ handling path.
	
	* ksrc/nucleus/timer.c: Optimize handling of periodic timers.
	
	* include/asm-generic/hal.h: Get rid of rwlock compatibility
	macros. We don't use rwlocks anymore.
	
	* ksrc/nucleus/timer.c: Don't reprogram the timer chip for the
	next shot uselessly, until the tick handler has run.

	* ksrc/skins/native/timer.c: Inline services.
	
	* ksrc/nucleus/shadow.c: Postpone module_put() to the lo-stage
	APC handler.
	
2007-05-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus, ksrc/skins, include/nucleus/queue.h: Let the
	nucleus create the core pod for the whole system. Have skins
	normalize their respective priority ranges on the core one when
	passing priority values to the nucleus services. Simplify and
	sanitize the queue implementation on this basis, i.e. make
	descending queuing order (formerly xnqueue_down) the common one,
	since the core pod does follow this scheme.

	* ksrc/skins/uitron/task.c (rot_rdq): Fix priority level in the
	async case.

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-04.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.20-1.0-08.

	* include/nucleus/queue.h, ksrc/nucleus/pod.c: Properly normalize
	priority ranges in the multi-level queue implementation. Sanitize
	priority scales handling.

2007-05-25  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c (rpi_init_gk): Fix initialisation that
	caused faults with XENO_OPT_SCALABLE_SCHED enabled.

	* ksrc/drivers/can/sja1000/rtcan_peak_dng.c: Remove PnP device
	table to avoid autoloading. Fix driver error messages.

2007-05-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (do_sigwake_event): Replace silent sanity
	check by assertion.
	(engage_irq_shield): Do not depend on rwlocks for manipulating the
	I-shield anymore.

2007-05-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-03.

	* ksrc/arch/arm/patches: Upgrade to 2.6.20-1.7-02.

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.20-1.0-07.

2007-05-24  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c (schedule_linux_call): Add debug check for
	APC queue overflow.

2007-05-18  Wolfgang Grandegger  <wg@grandegger.com>

	* src/skins/posix/clock.c, src/skins/native/timer.c: Missing system
	header files added to get it built for Linux 2.4.

	* src/testsuite/clocktest/clocktest.c (main): Fix problem with
	using getopt() and checking EOF.

2007-05-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/clock.c (__wrap_clock_gettime): Access TSC
	directly when available and use arithmetic routines in
	user-space.

	* include/asm-*/arith.h: Move arithmetic/conversion routines to
	asm/arith.h which can be #included from user-space.

2007-05-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/syscall.c (__mq_receive, __mq_timedreceive):
	Copy to user-space the priority of the received message.

2007-05-14  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/clocktest: Added test for clock drift and inter-CPU
	consistency.

2007-05-13  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-01.

2007-05-13  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-arm: Enforce unmasked Linux context switch when
	this feature is available from the I-pipe/arm core.

2007-05-12  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/rtcan.h, ksrc/drivers/can/rtcan_raw.c: Replace the CAN
	protocol definition CAN_PROTO_RAW with CAN_RAW to be compatible with
	Socket-CAN.

2007-05-12  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000/rtcan_peak_pci.c (peak_pci_init_one): Bug
	fix for single channel PEAK PCI cards.

2007-05-12  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/wrappers.h, ksrc/arch/powerpc/hal.c: Adapt
	to 2.6.21.

2007-05-11  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/hal.h: Add cache locking and kernel FP
	unavailable exception labels.

2007-05-11  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/serial/16550A.c: Catch baud_rate==0, refactor
	baud rate setting.

2007-05-11  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/heap.h (xnfreesafe): Use xnpod_current_p() when
	checking for deferral.

	* include/nucleus/pod.h (xnpod_current_p): Give exec mode
	awareness to this predicate, checking for primary/secondary mode
	of shadows.

2007-05-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins: Always defer thread memory release in deletion hook
	by calling xnheap_schedule_free() instead of xnfreesafe().

2007-05-10  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/testing/irqbench.c: Remove MODULE_DEVICE_TABLE to
	avoid auto-loading of the test driver.

	* include/rtdm/rtdm_driver.h, ksrc/drivers/testing/switchtest.c:
	Add custom argument to rtdm_nrtsig handlers. Update users.

2007-05-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/task.c (t_start): Never dereference the
	user-space args when starting a shadow.

2007-05-06  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/native/syscall.c: Move __native_global_rholder to
	module.c to solve a build error without
	CONFIG_XENO_OPT_PERVASIVE.

2007-05-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.20-1.8-00.

2007-05-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/tm.c (tm_tick), ksrc/skins/vrtx/time.c
	(ui_timer): Call xntbase_tick() instead of xnpod_announce_tick().

2007-04-30  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/hal.h, ksrc/arch/i386/hal.c: Adapt to
	the I-pipe/x86 1.8 series.

2007-04-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c (rtdm_mutex_timedlock): Add assertion
	to detect deadlocks due to recursion.

2007-04-26  Jan Kiszka  <jan.kiszka@web.de>

	* include/native: Cleanup inclusions.

2007-04-23  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-x86_64/hal.h (ffnz): Fix typo that inverted the
	search direction.

	* include/nucleus/system.h: Remove unused (and bogus for 64bit
	archs) ffnz wrapper.
	
2007-04-20  Stelian Pop  <stelian.pop@openwide.fr>

	* include/asm-arm/syscall.h: Add EABI support.

2007-04-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/module.c, ksrc/nucleus/pipe.c,
	include/nucleus/queue.h: Ensure that shift expressions which rhs
	depend on BITS_PER_LONG are applied against long lhs values.

2007-04-12  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/core.c: Update rt_dev_close doc, we do automatic
	file descriptor cleanup now.

2007-04-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/patches: Upgrade to bf53x-R0701RC3-1.6-02.

2007-04-10  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin/wrappers.h: Adapt to 2.6.19.
	
	* include/asm-blackfin/calibration.h: Reduce calibration value for
	the bf537 board; we made quite a lot of progress there compared to
	v2.3.x, it seems.
	
	* ksrc/arch/blackfin/patches: Upgrade to bf53x-R0701RC3-1.6-01
	(2.6.19-based).

2007-03-12  Paul Corner <paul_c@tuxcnc.org>

	* ksrc, include, doc, sim: Fix various spelling issues. Document
	-EBUSY return case for rt_heap_delete().

2007-04-08  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/serial/16550A.c, include/rtdm/rtserial.h: Add support
	for RTSER_RTIOC_BREAK_CTL (break signal control).

	* ksrc/drivers/serial, doc/txt/16550A-driver.txt: Add support for
	memory-mapped hw access (configurable at compile-time or runtime),
	refactor and lindent driver code.

2007-04-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc: Assume OPT_PERVASIVE implies __KERNEL__.

	* ksrc/skins/native: Reduce #ifdef noise related to feature
	selection.

2007-04-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native: Add auto-cleanup support (automatic orphan
	resource/object reclaiming upon task/module exit).

	* ksrc/skins/native/alarm.c (rt_alarm_delete): Reschedule upon
	timer deletion if needed.

2007-04-02  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/*: The option CONFIG_XENO_DRIVERS_CAN_BUS_ERR now
	enables bus error interrupts when an application is calling a receive
	function on a socket listening on bus errors. After one bus error has
	occured, the interrupt will be disabled to allow the application time
	for error processing and to efficiently avoid bus error interrupt
	flooding. This option is automatically selected for CAN controllers
	supporting bus error interrupts like the SJA1000.

	* include/rtdm/rtcan.h: Add some doc on bus-off and bus-error error
	conditions and the restart policy.

	* src/utils/can/rtcanconfig.c: Controller mode settings and doc
	has been corrected.

2007-03-31  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/queue.h (moveq): Fix source tail pointer.

2007-03-30  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/can/rtcan_raw.c (rtcan_raw_setsockopt): Fix
	CAN_RAW_FILTER for in-kernel users.

2007-03-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/shm.c (__wrap_shm_open, __wrap_shm_unlink): Only
	call __real_shm_open and __real_shm_unlink if they exist.

2007-03-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Upgrade to 2.6.20-1.0-06. Contributed
	by <trem@zarb.org>.

	* ksrc/arch/powerpc/patches: Update 2.4.25-ppc-1.2-01 to Denx's
	CVS as of 2007-03-25.

2007-03-19  Philippe Gerum  <rpm@xenomai.org>

	* src/skins: Relay SIGHARDEN signal to previous handler if any.

2007-03-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.{14,15}-1.5-08, and
	2.6.19-1.6-04.

2007-03-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-arm/atomic.h (atomic*): Fix ldrex/strex syntax for
	newer compilers.

2007-03-18  Philippe Gerum  <rpm@xenomai.org>

	* scripts/Kconfig.frag: Revert #2238.

	* ksrc/nucleus/shadow.c (rpi_update): Fix lingering RPI boost
	issue in case of shadow migration in the SMP case.

	* ksrc/arch/i386/patches: Upgrade to 2.6.{19,20}-1.7-03.

2007-03-15  Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* include/native/pipe.h (P_ATOMIC),
	* ksrc/skins/native/pipe.c (rt_pipe_stream):
	Introduce an atomic transaction mechanism to handle
	synchronization wrt concurrent read (xnpipe_read) and
	flush (xnpipe_flush, ioctl(..,XNPIPEIOC_FLUSH)) operations.

	* ksrc/nucleus/intr.c (xnintr_attach, xnintr_detach):
	* ksrc/nucleus/modules.c (stat_seq_open): Fix synchronization
	issues of accessing xnintr_list_rev and xnintr_count.

2007-03-12  Paul Corner <paul_c@tuxcnc.org>

	* debian/: Add rule set for generating a series of Debian
	packages.
	
2007-03-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/arm/patches: Upgrade to 2.6.{14,15}-1.5-07, and
	2.6.19-1.6-03.

	* include/*: Comply with the --includedir option when passed to
	the configure script.

2007-03-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c (xnpipe_flush): Provide service for flushing
	the i/o queues associated with the kernel endpoint of a message
	pipe.

2007-03-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/posix/syscall.c (__pthread_cond_wait_prologue),
	* ksrc/skins/native/cond.c (rt_cond_wait): Properly reacquire the
	mutex after a break due to a signal receipt.

2007-03-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/bheap.h (__internal_bheap_delete): Fix binary
	heaps implementation.
	(bheap_ordered): Check binary heap integrity before each operation
	when queues debugging is enabled.

2007-03-05  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/syscall.h, ksrc/nucleus/shadow.c
	(__xn_exec_norestart): Allow for non-restartable syscalls upon
	signal receipt.

2007-03-02  Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/pod.c (xnpod_resume_thread): Make the simulator
	bits more readable; avoid useless conditions when setting the
	XNREADY bit.

2007-03-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/mutex.c: Get rid of the redundant mutex::owner
	field.

	* ksrc/skins/native/{mutex.c, cond.c, sem.c}: Allow cross-API
	calls to blocking services.

2007-03-02  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/rtcan.h: Document CAN controller modes and remove
	definition of SIOCGIFINDEX to avoid potential conflicts with the
	corresponding definition in kernel header files.

	* ksrc/drivers/can/sja1000/rtcan_peak_dng.c: add plug-n-play
	support to ensure that the parallel port device is powered on
	and do proper cleanup.

2007-03-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/patches: Add 2.6.19-1.0-06; this closes the
	implementation phase of the x86_64 port.

2007-02-28  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm.h (rt_dev_sendto, rt_dev_recvfrom): Silence
	gcc when -Wmissing-field-initializers is given.

2007-02-28  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/psos+/task.c (t_create): Combine supervisor and user
	stack sizes.

2007-02-27  Paul Corner <paul_c@tuxcnc.org>

	* ksrc/arch/x86_64/hal.c: Include <asm/mach_apic.h>.

2007-02-27  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/*.h, ksrc/skins/native/task.c: Improvements and
	correction for doxygen generated documentation.

	* include/rtdm/rtcan.h, src/utils/can/*.c: Add and use CAN_RAW
	as particular CAN protocol to be compatible with Socket-CAN.

	* examples/rtdm/profiles/can/rtcan_rtt.c (transmitter): fix timing
	bug.

	* ksrc/drivers/can/rtcan_version.h: update version of RT-Socket-CAN
	to a more resonable value 0.90.0. The plan is to move to 1.0.0
	with the next official releas of Xenomai.

2007-02-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64/hal.c, ksrc/arch/i386/hal.c
	(rthal_broadcast_to_local_timers): Use the regular send_IPI_all()
	routine in the SMP case, or ipipe_trigger_ipi() in UP mode.

2007-02-25  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/{core.c,proc.c,syscall.c,internal.h}: Enhance
	owner data that is stored with file descriptor context. Report
	owning process of file descriptors via /proc.

	* ksrc/skins/rtdm/*: Fold all private headers into internal.h.

	* ksrc/arch/i386/nmi.c, ksrc/drivers/can/rtcan_dev.h: Fix
	!CONFIG_PROC_FS build.

2007-02-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/bits/pod.h (xnarch_enable_fpu): Adapt to the
	new context switch routine.

2007-02-25  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/switch.h (xnarch_switch_threads): Avoid using
	__switch_to when outproc == inproc.

2007-02-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_relax): Make scheduling state
	changes for the Linux task atomic.

2007-02-24  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-x86_64/bits/pod.h (xnarch_enable_fpu): Fully reload
	the FPU context for the root thread unless the preempted task used
	the FPU during its last quantum.

2007-02-23  Dmitry Adamushko <dmitry.adamushko@gmail.com>
	
	* ksrc/nucleus/synch.c (xnsynch_wakeup_one_sleeper,
	xnsynch_wakeup_this_sleeper): Get an owner of the object only
	after the nklock has been granted and interrupts off.

2007-02-23  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/Kconfig.frags: Warn about CONFIG_HPET_TIMER being set.

2007-02-24  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-x86_64/switch.h (xnarch_switch_threads): Be even
	more agressive regarding the hints given to gcc about register
	clobbers.

2007-02-23  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-generic/system.h: Introduce DEFINE_XNLOCK.

2007-02-23  Andrew Dennison <andrewd.lists@gmail.com>

	* ksrc/skins/rtai/task.c (rt_task_make_periodic): Properly compare
	the start time to a count of ticks, which may not always represent
	nanoseconds.

2007-02-23  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_virt.c (rtcan_virt_exit): Bug fix, stop device
	before unregistering it.

2007-02-21  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/core.c (cleanup_owned_contexts): Report auto-close.

	* src/testsuite/{irqbench/irqloop.c,switchtest/switchtest.c}:
	Cleanup according to simplified device closure.

2007-02-20  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm*.h, ksrc/skins/rtdm/{core.*,sycall.c,proc.c}: RTDM's
	close now polls at 10 Hz if in non-RT mode while the file descriptor
	is busy. Provide automatic cleanup of open file descriptors on
	process termination. Kill RTDM_FORCED_CLOSING context flag.

2007-02-19  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_raw.c (rtcan_raw_bind),
	ksrc/drivers/can/rtcan_socket.h: Fix bug using rtcan_flist_no_filter
	and use proper type for RTCAN_FLIST_NO_FILTER to get warnings.

2007-02-19  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* include/asm-*/bits/init.h (xnarch_init): Hardwire CPU
	affinity in the CONFIG_SMP && MODULE case only.

2007-02-18  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtcan.h: Align can_frame::data appropriately to freeze
	the structure layout.

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/drvlib.c: Make RTDM IPC
	object setup atomic in order to support in-place re-initialisation.

2007-02-18  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_raw.c, ksrc/drivers/can/rtcan_raw_filter.c,
	ksrc/drivers/can/rtcan_module.c, include/rtdm/rtcan.h: The CAN filter
	definition can now be inverted with the can_id flag CAN_INV_FILTER.
	Use CAN_EFF_FLAG and CAN_RTR_FLAG transparently in filter ID and mask,
	aligning with Linux Socket-CAN project.

	* xenomai/ksrc/drivers/can/rtcan_raw.c,
	xenomai/ksrc/drivers/can/rtcan_raw_dev.c
	xenomai/ksrc/drivers/can/rtcan_virt.c: The TX semaphore must be in
	a destroyed state for proper operation. This was not the case for
	the "virt" driver. Furthermore, to avoid re-initialization of the
	TX semaphore, the device specific start routine is only called when
	the device is not operating.

	* ksrc/drivers/can/rtcan_raw.c, ksrc/drivers/can/rtcan_socket.h: Add
	prefix RTCAN_ to TIMESTAMP_SIZE, HAS_TIMESTAMP and HAS_NO_TIMESTAMP
	to avoid name clashes, e.g. TIMESTAMP_SIZE is used by the kernel
	starting with 2.6.20.

	* include/rtdm/rtcan.h, ksrc/drivers/can/*, src/utils/can/rtcansend.c:
	Socket option CAN_RAW_TX_LOOPBACK has been renamed to CAN_RAW_LOOPBACK
	to be compatible with the Socket-CAN implementation. Shortened all
	"tx_loopback" substrings to "loopback".

2007-02-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.{14,15}-1.5-06, and
	2.6.19-1.6-02.

	* ksrc/arch/powerpc/hal.c (rthal_arch_init): Use cpu_has_feature()
	instead of dereferencing cur_cpu_spec directly.

2007-02-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/queue.c (rt_queue_delete): 
	* ksrc/skins/native/heap.c (rt_heap_delete): Do not invalidate
	objects in case of a failure to delete them (e.g. busy state
	encountered).

	* src/skins/native/queue.c (rt_queue_unbind): Fix return value in
	case the queue is invalid or not bound.
	(rt_queue_delete): Do not clear the descriptor upon failing
	deletion; the queue might be busy, thus still valid.

2007-02-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.{19,20}-1.7-02.

2007-02-14  Jan Kiszka  <jan.kiszka@web.de>

	* src/utils/can/rtcansend.c: Fix delays in periodic mode, enhance
	range of supported delays.

2007-02-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_suspend_thread): Bail out immediately
	whenever a preposterous value is detected for an absolute timeout;
	this replaces the former behaviour which used to block without
	starting any timer.

2007-02-09  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/core.c: Convert
	request argument in IOCTL handler to unsigned int to fix issues
	on 64-bit architectures.

2007-02-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/drivers/can/rtcan_raw.c (rtcan_raw_ioctl,
	RTCAN_RTIOC_TAKE_TIMESTAMP): Silence warning over 64bit archs by
	using long type to collect cast argument.

	* src/testsuite/irqbench/irqloop.c: Silence 32bit <-> 64bit cast
	warnings.

2007-02-08  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/synch.c (xnsleep_sleep_on): Pass mode argument to
	xnpod_suspend_thread() instead of constant XN_RELATIVE.

	* ksrc/skins/rtdm/drvlib.c, include/rtdm/rtdm_driver.h: Uninline
	rtdm_toseq_init() and let it use the caller thread's time base.
	Fix its doc and warn on wrong caller context.

	* src/utils/can/rtcanrecv.c: Lower task priority to 0, fix -p
	parameter parsing, remove useless usleep on cleanup.

2007-02-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c (xnpipe_write): Use regular copy_from_user()
	and check return value.

2007-02-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.7-01.
	
	* ksrc/nucleus/shadow.c (rpi_switch): Move blocked Linux tasks out
	of the RPI list. This fixes a bug introduced by the recent
	RPI-related changes into the POSIX-based context switching test.
	(xnshadow_map): Do not rpi_push() explicitely in the non-barrier
	case; xnshadow_start() will do so on behalf of
	xnpod_start_thread().

	* ksrc/skins/psos+/event.c (ev_receive): Return matching event
	flags also when the task wakes up from xnsynch_sleep_on(). Issue
	spotted by Markus Osterried <Markus.Osterried@marconi.com>.
	(ev_receive): Also fix the copy back value in the timeout case.

2007-02-05  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/wrappers.h (DECLARE_WORK_NODATA): Adapt to
	workqueue prototype updates in 2.6.20.

2007-02-05  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/system.h (DECLARE_XNLOCK): Add helper to
	declare SMP locks without resorting to '#ifdef CONFIG_SMP' tests.

2007-02-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.7-00.

	* ksrc/nucleus/shadow.c: Switch !CONFIG_XENO_OPT_RPIDISABLE to
	CONFIG_XENO_OPT_PRIOCPL. Sanitize handling of
	CONFIG_XENO_OPT_ISHIELD (remove #ifdef hell).

2007-02-03  Philippe Gerum  <rpm@xenomai.org>
 
 	* ksrc/nucleus/shadow.c: Rework RPI management to properly track
 	shadow priorities across domain migrations.
 
2007-02-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/arm/patches: Upgrade patches for IMX21 to 2.6.14-1.5-05.

2007-02-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/x86_64, include/asm-x86_64: x86_64 baseline.

2007-02-02  Jan Kiszka  <jan.kiszka@web.de>

	* include/nucleus/timebase.h (xntbase_get_rawclock): Fix return
	value.

2007-01-31  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.6-06.

2007-01-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_schedule): Allow threads to block
	while holding the scheduler lock. Move the lock nesting count as a
	per-thread data (instead of the former global pod attribute).

	* sim/include/Makefile.am: Fix destination directory for
	xeno_config.h to $(prefix)/asm-sim.

2007-01-30  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* doc/doxygen/Doxyfile*.in: Only enable search engine for HTML
	documentation.

2007-01-29  Wolfgang Grandegger  <wg@grandegger.com>

	* scripts/prepare-kernel.sh: Work around sed regression wrt '^'
	handling in regex in FC6.

2007-01-29  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/syscall.h: Introduce SIGHARDEN as an alias
	to the mode switch request signal. Use SIGWINCH instead of SIGCHLD
	as the mode switch signal to prevent undesirable side-effects from
	exits of forked children.

2007-01-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-arm/wrappers.h, ksrc/arch/arm: Adapt to 2.6.19.

2007-01-18  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm*.h, ksrc/skins/rtdm/drvlib.c: rtdm_irq_request
	now automatically enables requested IRQ line before returning.
	Uninline rtdm_irq_request, update RTDM_API_MIN_COMPAT_VER.

	* ksrc/drivers: Removed all now redundant rtdm_irq_enable.

2007-01-17  Jeff Webb  <jeff.webb@nta-inc.net>, Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/serial/16550A.c: Add PnP-awareness for 2.6 kernels.

2007-01-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/registry.c (xnregistry_get): Fix XNOBJECT_SELF
	case.

	* include/asm-powerpc/wrappers.h, ksrc/arch/powerpc: Adapt to
	2.6.19.

2007-01-15  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/*.h, ksrc/drivers: Add support for profile versioning.

	* ksrc/skins/rtdm/core.c: Generic RTIOC_DEVICE_INFO support.

2007-01-11  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/skins/native/intr.c (rt_intr_create): Allow defining
	anonymous interrupt objects from kernel space.

2007-01-10  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/intr.c (xnintr_init): Always set xnintr::name to
	non-NULL content.

2007-01-04  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/timebase.h (xntbase_convert): Add time base
	conversion call.

	* ksrc/skins/psos+/syscall.c: Add missing tm_* calls.

2007-01-03  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/*/Kconfig, ksrc/arch/*/Kconfig, ksrc/drivers/Kconfig:
	Reorganise and clean up menus.

2007-01-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/timer.c (xntimer_tick_aperiodic): Refresh the TSC
	value before entering the timer date update loop.

2007-01-02  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/pod.c (xnpod_announce_tick): Remove support for
	shared timer IRQ.

2007-01-02  Gilles Chanteperdrix <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/arm/patches: Upgrade to 2.6.{14,15}-1.5-04, preparing
	support for the Atmel AT91 based platforms.

	* ksrc/arch/arm/patches/at91: Add support for the Atmel AT91 based
	platforms.

2007-01-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/timebase.c (xntbase_set_time, xntbase_get_time):
	Move former xnpod_set_time, xnpod_get_time routines to the time
	base services class.

2006-12-31  Philippe Gerum  <rpm@xenomai.org>

	* ksrc: Introduce time bases to allow skins to be clocked
	separately and concurrently, either in aperiodic or periodic mode.

2006-12-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/*/hal.c: Get rid of periodic hw setup.

	* ksrc/nucleus/pod.c, ksrc/nucleus/timer.c: Cascade periodic
	timing to aperiodic management.

2006-12-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/timer.h: Add back a return code to
	xntimer_start() for checking absolute date validity.

2006-12-27  Jan Kiszka  <jan.kiszka@web.de>, Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/pod.c, ksrc/nucleus/synch.c: Introduce abs/rel
	timeout mode for xnpod_suspend_thread() and xnsynch_sleep_on().

	* ksrc/nucleus/timer.c (xntimer_do_tick_aperiodic): Fast-forward
	to next periodic tick after an overrun has been detected.
	
2006-12-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/timer.c (xntimer_start): Add relative/absolute
	timer modifier.

	* ksrc/nucleus: Restrict a shadow thread to a single
	(i.e. first) CPU of its current affinity mask. Enforce global
	affinity mask through /proc/xenomai/affinity.
	
2006-12-26  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/hal.h, ksrc/nucleus/shadow.c (xnshadow_map):
	Use COW disabling feature if present.

	* RELEASE: Xenomai 2.3 (Baroque)

2006-12-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/ia64/patches: Upgrade to 2.6.16-1.4-00.

	* include/asm-ia64/wrappers.h: Include missing <linux/interrupt.h>.

	* include/asm-ia64/atomic.h: Define xnarch_atomic_xchg() in kernel
	section.

	* ksrc/nucleus/pod.c (xnpod_preempt_current_thread): Check
	scheduling hook value in the simulation case.

	* ksrc/arch/blackfin/patches: Upgrade to bf53x-CVS-20061215-1.6-00
	(2.6.18-based).

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.6-03, and
	2.4.34-1.3-01.

2006-12-24  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin/syscall.h: Add weak placeholders for
	shm_open and shm_unlink.

2006-12-21  Sebastian Smolorz <sesmo@gmx.net>, Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/arm/patches: Upgrade to 2.6.{14,15}-1.5-03, adding
	support for the Samsung S3C24xx platform and the tracer.

	* ksrc/arch/arm/hal.c (rthal_timer_release): Use
	new __ipipe_mach_release_timer() service.

2006-12-18  Wolfgang Grandegger  <wg@grandegger.com>

         * ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.5-02,
	 2.6.18-ppc-1.5-01 and 2.6.19-ppc-1.5-01. These patches fix the
	 problems with PIC for Galileo's GT64260 reported by Antonio
	 Barbalace and add support for 2.6.19.

2006-12-18  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/xeno-test.in, src/testsuite/*: Install testsuite binaries
	to $(exec_prefix)/bin and related start scripts with runinfos to
	$(exec_prefix)/share/xenomai/testsuite.

	* src/testsuite/cyclic/cyclictest.c: Clean shutdown of multiple
	threads (patch by Pavel Pisa's against original cyclictest). Set
	default top priority to 99.

2006-12-17  Philippe Gerum  <rpm@xenomai.org>

	* RELEASE: Xenomai 2.3-rc3

2006-12-17  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin, ksrc/arch/blackfin: Upgrade to Blackfin
	CVS head (>= 2.6.18).

2006-12-10  Thomas Necker <Thomas.Necker@marconi.com>

	* src/skins/psos+/tm.c, ksrc/skins/psos+/syscall.c: Implement
	timer-related calls.

2006-12-14  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/pod.h: Move xnprint* wrappers to
	nucleus/types.h, since we need them early in the include stack.

	* include/nucleus/assert.h: Include nucleus/types.h instead of
	nucleus/compiler.h, since we depend on arch-dependent definitions.

	* ksrc/arch/i386/hal.c (rthal_irq_end): Use I-pipe's interrupt end
	call available with 2.6.19 and beyond.

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.6-02.

2006-12-10  Thomas Necker <Thomas.Necker@marconi.com>

	* ksrc/skins/psos+/syscall.c, src/skins/psos+/sem.c: Add sm_p()
	and sm_v() services.

2006-12-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+: Remove useless xnpod_unblockable_p() checks.

2006-12-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>, Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/*/syscall.c (__shadow_delete_hook): Only call
	xnshadow_unmap() for mapped threads (XNMAPPED bit set).

2006-12-09  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h: Split the former single status word in
	now separate state and info bitmasks. Add XNMAPPED bit to flag
	mapped shadows.

2006-12-08  Philippe Gerum  <rpm@xenomai.org>, Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c (xnshadow_harden): Add scheduling tail
	callout. Use it to fix the "lost ioperm" issue on x86.

2006-12-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/queue.c (__queue_read_proc, rt_queue_inquire):
	Return amount of pool memory used.

2006-12-08  Jan Kiszka <jan.kiszka@web.de>, Dmitry Adamushko  <dmitry.adamushko@gmail.com>:

	* ksrc/nucleus/intr.c (xnintr_shirq_lock, xnintr_shirq_unlock):
	Add memory barriers.
	
2006-12-06  Jan Kiszka  <jan.kiszka@web.de>, Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/generic/hal.c (rthal_apc_schedule): Fix races by
	keeping irqs disabled while updating rthal_apc_pending and
	scheduling the virq. Clean up the return code.

2006-12-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_schedule_runnable): Trace the target
	thread instead of the active one.

2006-12-03  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_module.c,
	ksrc/drivers/can/rtcan_raw.c,
	ksrc/drivers/can/rtcan_raw.h,
	ksrc/drivers/can/rtcan_raw_filter.c,
	ksrc/drivers/can/rtcan_socket.c,
	ksrc/drivers/can/rtcan_socket.h,
	src/utils/can/rtcansend.c,
	include/rtdm/rtcan.h: It is now possible to define an empty filter
	list with setsockopt, which is recommanded for write-only sockets.

2006-12-02  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus, include/nucleus, ksrc/skins/posix: Use debug
	assertions. Enhance granularity of debug options.
	
	* include/asm-generic/system.h: Decouple lock debugging from
	runtime stats activation.
	
	* ksrc/skins/rtdm/Kconfig: Turn on debugging checks by default.
	
2006-12-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.19-1.6-01.

2006-12-02  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/i386/nmi.c: Fix build against 2.6.19.

2006-12-02  Jeff Webb <jeff.webb@nta-inc.net>

	* ksrc/skins/posix/syscall.c (__pse51_sem_timed_wait): Fix return
	code in the success case.

2006-12-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.19.

	* src/skins/native/mutex.c: Add actual rt_mutex_lock/unlock
	wrappers to rt_mutex_acquire/release to resolve dynamic linking
	properly for legacy builds.

2006-11-30  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/proc.c: Print driver names in named_devices and
	protocol_devices /proc listings.

2006-11-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c (xnheap_free): Distinguish -EFAULT from
	-EINVAL status upon block address error.

	* ksrc/skins/vrtx/heap.c (heap_destroy_internal): Free heap
	control block.

	* src/skins/vxworks/taskLib.c (taskInit): Pass user-defined args
	to the trampoline as expected.

2006-11-24  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/README: Update list of supported CAN controllers
	and boards.

	* ksrc/drivers/can/rtcan_dev.h,
	ksrc/drivers/can/rtcan_socket.h,
	ksrc/drivers/can/rtcan_socket.c,
	ksrc/drivers/can/rtcan_raw.c,
	ksrc/drivers/can/rtcan_modules.c,
	ksrc/drivers/can/rtcan_virt.c,
	ksrc/drivers/can/sja1000/rtcan_sja1000.c,
	ksrc/drivers/can/mscan/rtcan_mscan.c,
	ksrc/drivers/can/Kconfig,
	ksrc/drivers/can/Config.in,
	src/utils/can/rtcansend.c,
	include/rtdm/rtcan.h,: Add feature TX loopback to local sockets.

	* ksrc/drivers/can/rtcan_raw.c,
	ksrc/drivers/can/sja1000/rtcan_sja1000.c,
	ksrc/drivers/can/mscan/rtcan_mscan.c: timestamps are now read and
	copied in rtcan_recv() and rtcan_tx_loopbcak().

	* ksrc/drivers/can/rtcan_raw.c, include/rtdm/rtcan.h:
	Remove locks for the setting and reading of the RX and TX timeout
	values and add a warning to the documentation.

	* src/utils/rtcansend.c: use sendto() by default to avoid binding
	a default filter and add option "-s" for using bind() and send().

	* src/utils/rtcanrecv.c: add option "-R" for relative timestamps.

	* ksrc/drivers/can/rtcan_internal.h: use now RTCAN_ASSERT macros
	when CONFIG_XENO_DRIVERS_CAN_DEBUG is set.

	* ksrc/drivers/can/mscan/Kconfig, ksrc/drivers/can/sja1000/Kconfig,
	ksrc/drivers/can/Kconfig: add more help for kernel parameters.

	* ksrc/drivers/can/rtcan_virt.c (rtcan_virt_init): fix bug in
	cleanup code.

	* ksrc/drivers/can/sja1000/rtcan_sja1000.c,
	ksrc/drivers/can/sja1000/rtcan_isa.c,
	ksrc/drivers/can/sja1000/rtcan_mem.c,
	ksrc/drivers/can/sja1000/rtcan_peak_pci.c,
	ksrc/drivers/can/sja1000/rtcan_peak_dng.c: Remove rtcan_dev_free()
	from rtcan_sja1000_unregister() to allow proper cleanup after the
	device has been unregistered.

	* ksrc/drivers/can/sja1000/rtcan_ixxat_pci.c,
	ksrc/drivers/can/sja1000/Kconfig,
	ksrc/drivers/can/sja1000/Config.in,
	ksrc/drivers/can/sja1000/Makefile: SJA1000 driver for IXXAT PCI
	cards added.

	* src/drivers/Makefile, ksrc/drivers/can/*, scripts/Modules.frag,
	src/utils/can/README: Replace "rtcan" with "can" in macro definitions
	CONFIG_XENO_DRIVERS_RTCAN_* and module names xeno_rtcan_* to comply to
	the common naming scheme.

2006-11-23  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/thread.c (__pthread_trampoline): Do not use
	iargs->policy after having posted the semaphore.

2006-11-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/tm.c (tm_wkafter, tm_wkwhen, t_suspend): 
	Check for XNBREAK condition.

	* ksrc/skins/rtai/task.c (__rtai_task_suspend): 
	Check for XNBREAK condition.

	* ksrc/skins/vrtx/task.c (sc_tsuspend, sc_delay, sc_adelay): 
	Check for XNBREAK condition.

	* ksrc/skins/vxworks/taskLib.c (taskSuspend, taskDeleteForce):
	Check for XNBREAK condition.

2006-11-19  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.3-rc2

2006-11-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/syscall.c: Fix exec mode for sc_tsuspend() and
	sc_tresume().

2006-11-18  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/psos+/task.c: Add preliminary user-space support.

	* ksrc/skins/vxworks/syscall.c (__wind_task_init): Set TCB
	auto-delete flag for user-space VxWorks tasks.

	* ksrc/skins/vrtx/task.c (vrtxtask_delete_hook): Release the TCB
	using safe memory release call.

	* ksrc/nucleus/shadow.c (do_taskexit_event): Make sure to force a
	rescheduling since we are removing the shadow part of a relaxed
	thread, so the former can't be current Xenomai-wise.

	* configure.in: Switch to FDPIC library format for the Blackfin
	architecture.

2006-11-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_set_thread_mode): Reset the interrupt
	shield for secondary mode threads only.

	* ksrc/nucleus/shadow.c (gatekeeper_thread): Make sure to
	disengage the interrupt shield before escalating the Xenomai
	rescheduling request.

2006-11-16  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/heap.h, ksrc/skins/posix, ksrc/skins/native,
	ksrc/skins/vrtx: Renamed some heap size accessors for consistency
	purpose.

	* ksrc/nucleus/registry.c (registry_proc_callback): Use a single
	request queue for exporting/unexporting objects in order to
	prevent out-of-sequence handling.

2006-11-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c (xnheap_mmap): Prevent from mapping
	multi-extent heaps.

2006-11-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/arm/switch.S (rthal_thread_switch): Make sure r0
	contains the last "current" value upon return.

2006-11-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c (xnheap_extend): Account for new extents
	when reporting the total heap size through xnheap_size().

	* ksrc/skins/vrtx/module.c (vrtx_get_id): Remove silly test upon
	return value from ffnz() against the hi-word.

	* ksrc/skins/vrtx/heap.c (vrtxheap_init): Allocate the heap ID map
	before trying to create the VRTX workspace.

	* ksrc/arch/powerpc/switch.S (rthal_thread_switch): Make sure r3
	contains the last "current" value upon return.

2006-11-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/system.h, include/asm-i386/bits/pod.h: Another
	attempt to cope with vanilla Linux drivers using FPU in
	kernel-space.

2006-11-11  Wolfgang Grandegger  <wg@grandegger.com>

	* scripts/prepare_kernel.sh, scripts/help_from_kconfig.pl:
	prepare_kernel.sh will now add help for Xenomai configuration
	parameters to the Configure.help file of 2.4 kernels. The help
	is extracted from Xenomai's Kconfig files using a perl script.

2006-11-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/syscall.c (__sc_pcreate): Return ER_MEM upon
	initial heap allocation failure.

2006-11-08  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000/rtcan_peak_dng.c: Fix warnings when
	building for ARM and fix bugs in the exit code.

	* ksrc/drivers/can/sja1000/rtcan_mem.c: Fix warnings when
	building for ARM.

2006-11-05  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.3-rc1

2006-11-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.5-02.

	* ksrc/arch/i386/patches: Upgrade to 2.4.33-1.3-03 and
	2.6.17-1.5-02.

2006-11-02  Philippe Gerum  <rpm@xenomai.org>

	* include/posix/pthread.h: Include nucleus/intr.h for user-space
	readers.

2006-11-01  Wolfgang Grandegger  <wg@grandegger.com>

	* include/asm-powerpc/atomic.h: remove atomic_xchg because it's
	used in the kernel since 2.6.18 with different arguments (pointer
	of type atomic_t).

2006-10-31  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/wrappers.h: Add accessors to the IRQ descriptor
	fields.

	* ksrc/skins/rtdm/proc.c: Build only if CONFIG_PROC_FS is enabled.

2006-10-31  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/cyclic/cyclictest.c: Make -n the one and only mode for
	now. It is default also when -n is not explicitely given.

2006-10-30  Wolfgang Grandegger  <wg@grandegger.com>

	* src/utils/can/rtcanrecv: Add timestamp support via rt_dev_recvmsg().

	* ksrc/drivers/can/mscan/rtcan_mscan.c (rtcan_mscan_interrupt),
	ksrc/drivers/can/mscan/rtcan_mscan_regs.h: Restrict MSCAN TX hardware
	buffer usage to one for the sake of real-time. Fix bug with TX IRQ
	handling. Copy timestamp also for error messages.

	* ksrc/drivers/can/sja1000/rtcan_sja1000.c (rtcan_sja_interrupt):
	Copy timestamp also for error messages.

2006-10-27  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/pod.c (xnpod_set_thread_periodic): Fix LART in
	periodic timing mode.

2006-10-27  Andrew Dennison <andrewd.lists@gmail.com>

	* scripts/prepare-kernel.sh: Fix patch code for 2.4 drivers/Makefile.

2006-10-27  Dmitry Adamushko  <dmitry.adamushko@gmail.com>,
            Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus: Introduce xnstat accounting support.

	* ksrc/nucleus/intr.c: Improve IRQ-related accounting.

2006-10-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/switchtest/switchtest.c (main): Only join the
	threads once they all have been canceled in order to avoid
	deadlocks.
	(main): Loop when closing RTDM devices.

2006-10-26  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/native/queue.c (rt_queue_send): Track message reference
	count correctly when broadcasting to a queue without listeners.

2006-10-26  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/testing/irqbench.c: Register with pnp subsystem to
	enabled parport on modern PCs. Register I/O regions.

2006-10-25  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/testing/irqbench.c, doc/txt/irqbench.txt,
	src/testsuite/irqbench/{irqloop.c,irqbench.c}: Make parallel port
	working using LapLink cable, usability improvements, doc update.

2006-10-21  Jan Kiszka  <jan.kiszka@web.de>,
            Manfred Schlaegl  <manfred.schlaegl@gmx.at>

	* include/rtdm/rttesting.h: Pad rttst_overall_bench_res to dwords
	to avoid another aligment issue between kernel and user space.

2006-10-21  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.33-1.3-02 and
	2.6.17-1.5-01.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.5-01 and
	2.4.25-CVS-20060707-1.2-01.

2006-10-19  Wolfgang Grandegger  <wg@grandegger.com>

	* include/asm-powerpc/wrappers.h, include/asm-powerpc/syscall.h:
	Since Linux 2.4.15, __put_user and __get_user call migth_sleep.
	To avoid that, wrapper functions have been added.

2006-10-18  Jan Kiszka  <jan.kiszka@web.de>

	* configure.in, scripts/xeno-config.in: Reducing CFLAGS and LDFLAGS
	return by xeno-config to the required minimum while keeping the
	original flags internally.

	* include/rtdm/rttesting.h: Reorder rttst_tmbench_config to avoid
	aligment issues between kernel and user space.

2006-10-16  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/intr.c (xnintr_irq_attach): Return error on
	mismatching shared-IRQ support.

2006-10-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.5-00.

	* ksrc/arch/blackfin/patches: Upgrade to
	2.6.16-bf53x-CVS-20061008.

	* include/asm-*/syscall.h (__xn_copy_from_user,
	__xn_copy_to_user): Make sure the local variable used to
	temporarily store the return value won't match any copy argument.
	This bug used to cause weird return values from Xenomai syscalls
	using "err" as a copy argument to user-space.
	
2006-10-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.33-1.3-01 and
	2.6.17-1.5-00.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.18-ppc-1.4-01.
	
2006-10-13  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/{proc.c,device.c}: Turn static proc_name sanity
	check into XENO_ASSERT and move to more prominent place.

2006-10-11  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/can/{mscan/rtcan_mscan.c,sja1000/rtcan_sja1000.c}:
	Bundle rtdm_irq_request with immediate rtdm_irq_enable to pave the
	way for according RTDM change.

	* ksrc/skins/rtdm/device.c (rtdm_dev_register): Turn static sanity
	checks into XENO_ASSERTs to save object size.

2006-10-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* doc/doxygen/Makefile.am: Generate API documentation in pdf
	format.

2006-10-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_start_timer): Set up the watchdog
	after the timer hardware has been initialized.

	* ksrc/nucleus/module.c (timer_read_proc): Export watchdog status.

	* ksrc/arch/blackfin, include/asm-blackfin/hal.h: Use
	kernel-defined accessors for reading/writing MMIO registers.

2006-10-10  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/serial/16550A.c: Switch to compat_module_param_array.

2006-10-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/*/Makefile.am: Link with libtool libraries, in
	order to have configure --(enable|disable)-(static|shared) options
	working correctly.

2006-10-08  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm_driver.h (rtdm_*copy_to/from_user): Fix
	return code.

	* ksrc/skins/rtdm/drvlib.c (rtdm_strncpy_from_user): Adapt doc to
	actual success return code, the string length.

2006-10-08  Wolfgang Grandegger  <wg@grandegger.com>

	* include/asm-generic/wrappers.h: MODULE_PARM has been removed
	in Linux 2.6.17. Module parameter compatibility functions
	reimplemented and moved to Xenomai's wrapping header.

	* ksrc/drivers/can/mscan/rtcan_mscan.c,
	ksrc/drivers/can/sja1000/rtcan_isa.c,
	ksrc/drivers/can/sja1000/rtcan_mem.c: Use new module parameter
	compatibility functions.

	* ksrc/drivers/can/mscan/rtcan_mscan.c (rtcan_mscan_init): Error
	handling corrected.

	* ksrc/drivers/can/mscan/rtcan_mscan_regs.h: Fix invalid address
	for MPC5200 GPIO registers. Now the MSCAN driver works for Linux
	2.6.17.

	* ksrc/drivers/can/rtcan_module.c (rtcan_dev_get_state_name): Bug
	fix. Function did return invalid state name.

2006-10-06  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/cyclic/cyclictest.c: Align to latest v0.11,
	specifically integrating average stats.

2006-10-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/wrappers.c (__real_pthread_getschedparam): Add
	missing wrapper.

2006-10-02  Wolfgang Grandegger  <wg@grandegger.com>

	* include/asm-powerpc/atomic.h: Wrap atomic_xchg() for kernel
	versions >= 2.6.15.
	
2006-10-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/psos+/task.c (t_mode): Reschedule after mode change.

2006-10-02  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/core.c (cleanup_instance): Remove unneeded
	indirection of s argument.

2006-09-30  Stelian Pop  <stelian.pop@openwide.fr>

	* ksrc/skins/posix/thread.c (pthread_make_periodic_np): Clarify
	usage.

2006-09-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_watchdog_handler): Rework the watchdog
 	support so that it does _not_ depend on xnpod_announce_tick()
 	being called: the latter does not happen whenever host ticks are
 	attached to another IRQ channel than the nucleus timer one
 	(e.g. x86 + CONFIG_X86_LOCAL_APIC enabled). Also kill the runaway
 	thread, instead of just disabling it, since it could be awaken by
 	a Linux signal otherwise, and start spinning anew.
 	(xnpod_set_thread_periodic): Add LART to catch periods shorter
 	than the declared scheduling latency value.
 
2006-09-26  Jan Kiszka  <jan.kiszka@web.de>, Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/intr.c: Reorganise locking around xnintr_attach,
	and xnintr_detach in order to avoid races with xnintr_irq_proc,
	provide IRQ owner names also for non-shared setups, refactor code.

2006-09-25  Niklaus Giger <niklaus.giger@member.fsf.org>

	* ksrc/arch/powerpc/hal.c (rthal_set_cpu_timers_unsafe): Fix
	computation of periodic tick value to prevent 32bit arithmetic
	overflow.

2006-09-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_signal_completion,
	xnshadow_sys_completion): Copy to/from user the whole completion
	struct (basically to work around a Blackfin issue).
	(do_sigwake_event): Raise XNBREAK when resuming a forcibly
	suspended thread upon Linux signal receipt, to give a chance to
	the interrupted Xenomai syscall to check this situation properly.

2006-09-21  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin/syscall.h: Assume mlockall() and
	munlockall() are now being defined by uClibc. Add placeholder for
	pthread_atfork().

2006-09-22  Stelian Pop  <stelian.pop@openwide.fr>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/drvlib.c: Add new
	service rtdm_iomap_to_user.

2006-09-21  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.1{4,5}-1.5-01.

2006-09-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/bits/pod.h, include/asm-i386/system.h:
	Partially revert #1597 to fix FPU management regression issues.

2006-09-18  Thomas Necker <thomas.necker@marconi.com>

	* ksrc/skins/psos/queue.c: Fix sizeof(msgbuf) expr.

2006-09-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.1{4,5}-1.5-00.

	* ksrc/arch/i386/patches: Upgrade to 2.6.17-1.4-00, and
	2.4.33-1.3-00.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.4-00,
	2.6.14-ppc64-1.3-00, 2.4.25-CVS-20060707-1.2-00.

2006-09-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c: Use per-task I-pipe event filter
	(PF_EVNOTIFY) when available.

2006-09-15  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/shm.c (shm_close): Let ENOSYS be handled by
	__wrap_close.

2006-09-15  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/arch/*/hal.c (rthal_irq_enable, rthal_irq_disable): Switch
	the IRQ_DISABLED bit appropriately in the status field of the IRQ
	descriptor.

2006-09-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/registry.c (pse51_reg_pkg_init): Do not use the
	system heap for allocating the registry memory.

	* ksrc/skins/posix/thread.c (pthread_join): Have pthread_join work
	when called from module initialization or cleanup routine.

2006-09-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/thread.c (xnthread_periodic_handler): Do not wake
	up threads blocked on a resource.

	* ksrc/nucleus/pipe.c: Support partial buffer reading from the
	character device endpoint.

	* include/asm-generic/wrappers.h: Wrap atomic_cmpxchg() for 2.4.

2006-09-14  Niklaus Giger <niklaus.giger@member.fsf.org>

	* src/testsuite/cyclic/cyclictest.c: Add quiet mode.

2006-09-13  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/switchtest/switchtest.c (main): Change the meaning
	of the -n flag: disable any use of FPU hardware.

2006-09-12  Matthias Fuchs  <matthias.fuchs@esd-electronics.com>

	* ksrc/drivers/can/sja1000/{rtcan_mem.c,Makefile,Kconfig,Config.in},
	scripts/Modules.frag: Add memory mapped driver for SJA1000
	controllers.

2006-09-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/bits/pod.h (xnarch_*_fpu): Restore root thread
	fpu context consistently with ts bit value in cr0, fixes a bug
	that occured when Xenomai preempted Linux in the middle of 
	dup_task_struct().

2006-09-12  Wolfgang Grandegger  <wg@grandegger.com>

	* ksrc/drivers/can/sja1000/rtcan_isa.c: Rename module parameter
	"isa" to "io", switch "clock" parameter to external frequency.

2006-09-12  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/xeno-test: Fix test for getopts in busybox.

	* ksrc/drivers/can/sja1000/rtcan_isa.c: Refactor code and add
	roll-back on init error.

	* ksrc/drivers/can/sja1000/Config.in: Include Peak dongle in 2.4
	config, refactoring.

	* include/rtai/{sem.h,task.h}, ksrc/skins/rtai/{sem.c,task.c},
	ksrc/skins/rtai/{Kconfig,Config.in}: Resolve naming conflict with
	native skin and relax dependencies.

2006-09-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc: Define -D__IN_XENOMAI__ when compiling the kernel support.

	* include/nucleus/types.h: Never send deprecation warnings when
	compiling the kernel support.

2006-09-11  Wolfgang Grandegger <wg@grandegger.com>

	* include/asm-powerpc, ksrc/arch/powerpc/hal.c,
	scripts/prepare-kernel.sh: Fix porting issues for running over
	2.6.18/ppc.

2006-09-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/pipe.c: Optimize for data streaming.
	Deprecate rt_pipe_flush().

2006-09-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.1{4,5}-1.4-00.

2006-09-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/module.c (heap_read_proc): Export system heap
	information.

	* ksrc/skins/rtai/fifo.c: Globally rework the emulation to
	optimize for highly scattered data sent over a short period of
	time.

	* ksrc/nucleus/pipe.c (xnpipe_mfixup): Allow adding more data to a
	message bucket while it is waiting on the output queue.
	(xnpipe_read): Handle the interaction with
	xnpipe_send_more(). Note: the output handler is now always called
	with nklock held, interrupts off.

2006-09-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c (xnpipe_disconnect): Flush the output queue
	even if the user-space side did not connect to the closed pipe;
	some data might linger there.
	(xnpipe_send): Allow sending data from the kernel side of a pipe
	which has not been opened by any user-space process (i.e. buffer
	until open).

2006-09-09  Jan Kiszka <jan.kiszka@web.de>

	* ksrc/drivers/can/sja1000/rtcan_isa.c: Fix type of irq mod-param,
	fix cleanup of devices.

	* ksrc/nucleus/Config.in: Add CONFIG_XENO_OPT_RPIDISABLE switch to
	2.4 configuration.

2006-09-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* scripts/xeno-load.in: Find whether sudo is available in a
	way compatible with busybox.

2006-09-06  Jan Kiszka <jan.kiszka@web.de>

	* src/testsuite/irqbench/irqloop.c: Make cleanup more robust
	against busy device on close.

2006-09-05  Jan Kiszka <jan.kiszka@web.de>

	* ksrc/drivers/testing/irqbench.c: Reorder IRQ enabling during
	setup to prepare merging rtdm_irq_enable into rtdm_irq_request.

2006-09-04  Jan Kiszka <jan.kiszka@web.de>

	* include/rtdm/{rtdm.h,rtdm_driver.h}: Move API version to rtdm.h
	in order to include user API into the revisioning. Minor doc
	refactoring.

2006-09-03  Wolfgang Grandegger <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_dev.c (rtcan_dev_register): Bug fixed
	when maximum number of devices is exceeded.

2006-09-03  Jan Kiszka <jan.kiszka@web.de>

	* ksrc/drivers/can/{Config.in,Kconfig,Makefile,rtcan_virt.c},
	scripts/Modules.frag: Add virtual CAN bus driver.

	* src/utils/can/rtcan{recv,send}: Refactor rtcanrecv/send thread
	management, print input device in rtcanrecv, support for listening
	on all CAN devices, fix output of RTR frames.

2006-09-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/switchtest/switchtest.c (clean_exit): Fix
	switchtest termination on FPU bug.

2006-09-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/synch.c (xnsynch_renice_sleeper): Do not assume
	that the synch. object is always owned (i.e. xnsynch::owner may be
	NULL for resources pended on by priority but which do not enforce
	PIP).

2006-08-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-generic/system.h (__xnlock_get): Simplify spinlocks
	implementation.

2006-08-30  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/intr.c (xnintr_*irq_handler): Disable unhandled IRQ
	line after a given number of unsuccessful tries.

2006-08-30  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/drvlib.c: Void
	kernel<->user RTDM services if CONFIG_XENO_OPT_PERVASIVE is not
	enabled.

2006-08-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/generic/hal.c (apc_read_proc): Allow for anonymous
	APCs.

2006-08-28  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtserial.h, ksrc/drivers/serial/16550A.c: Refine
	RTSER_RTIOC_GET_STATUS so that it returns also past errors (and
	cleared) occured during read access.

2006-08-27  Philippe Gerum  <rpm@xenomai.org>

	* src/skins: Remove -module from LDFLAGS for all libraries.

	* ksrc/nucleus/timer.c (xntimer_get_interval): Add timing
	mode-dependent accessor for the interval value.

	* include/nucleus/thread.h (xnthread_get_period): Return periodic
	interval or round-robin quantum depending on the undergoing
	periodic activity.

	* ksrc/nucleus/module.c (sched_seq_open): Display thread period.

2006-08-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/module.c (sched_seq_show): Make timeout field
	wider.

	* ksrc/nucleus/synch.c (xnsynch_renice_sleeper): Make sure to
	boost an unclaimed resource owner as needed, in order to walk the
	PI chain properly.

2006-08-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/pod.c (xnpod_welcome_thread): Only release the
	nklock and interrupts when the initialization work is finished.

2006-08-23  Wolfgang Grandegger <wg@grandegger.com>

	* ksrc/drivers/can/rtcan_dev.c, ksrc/drivers/can/rtcan_dev.h,
	ksrc/drivers/can/rtcan_modules.c: Suppress handling of refcount 
	if module support is not enabled or modules cannot be unloaded.

	* ksrc/drivers/can/mscan/rtcan_mscan.c,
	ksrc/drivers/can/mscan/rtcan_mscan_proc.c,
	ksrc/drivers/can/mscan/rtcan_mscan_regs.h: Make the MSCAN driver
	work on Linux 2.6. We now use our own set of MSCAN register
	definitions because they differ between 2.4 and 2.6 (prefix).
	
	* scripts/Modules.frag: bug fix for making PEAK device drivers.

2006-08-23  Paul Corner <paul_c@tuxcnc.org>

	* configure.in: Fix possibly ambiguous use of semicolons and
	various unquoted echos.
	
2006-08-23  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.33-1.2-08, 2.6.17-1.3-10.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.3-07,
	2.6.14-ppc64-1.2-04, 2.4.25-CVS-20060707-1.1-05.
	
	* ksrc/arch/ia64/patches: Upgrade to 2.6.16-1.3-03.
	
	* include/asm-i386/features.h (xeno_x86_features_check): Try
	explaining the requirements for SEP a bit better.

	* ksrc/nucleus/shadow.c (do_sigwake_event, xnshadow_relax): Use
	TASK_NOWAKEUP when available, to prevent Linux from waking up the
	signaled task until it has been relaxed.

2006-08-23  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/generic/hal.c (rthal_init, rthal_exit): Do not force CPU
	affinity for the current task, which is useless since the HAL must
	be statically built into the kernel.

2006-08-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/powerpc/Kconfig: Make CONFIG_XENO_HW_FPU depend on
	CONFIG_PPC_FPU.

2006-08-21  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in (run_w_load): Do not pass -n option to
	switchbench.

	* src/testsuite/switchbench/switchbench.c (main): Disregard null
	nsamples. Reformat histograms output.

2006-08-21  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/pipe.c (xnpipe_recv): Re-evaluate the timeout value
	as we iterate over the message acquisition.

2006-08-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/timer.c (pse51_timer_delete_inner): Check if
	the timer is active before removing it from queue.

	* ksrc/skins/posix/sched.c (pthread_setschedparam): No longer map
	SCHED_OTHER to SCHED_RR.

	* ksrc/skins/posix/syscall.c (__pthread_setschedparam): always
	pass through pthread_setschedparam in order to check parameters.
	(__pthread_setschedparam): Use EPERM instead of EAGAIN to signal
	to user-space that __real_pthread_setschedparam should be used.

	* src/testsuite/switchtest/switchtest.c: Reformat output.

	* ksrc/skins/posix/timer.c (timer_settime): Bind the timer to the
	timer owner (i.e. the caller) CPU.

2006-08-18  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Add switchtest, switchbench and irqbench.

2006-08-18  Jan Kiszka  <jan.kiszka@web.de>

	* src/skins/posix/posix.wrappers, configure.in,
	scripts/xeno-config.in: Read wrapping options from file instead of
	passing them via command line.

2006-08-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-*/hal.h (rthal_timer_program_shot): Directly trigger
	IRQ through Adeos upon null delay.

2006-08-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.3{2,3}-1.2-07.

2006-08-18  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/i386/hal.c: Fix mksound workaround.

2006-08-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-generic, include/asm-arm, ksrc/nucleus/pod.c:
	Provide support for shared timer IRQ.

	* ksrc/skins/vxworks/sysLib.c (__tickAnnounce): Properly forward
	xnpod_announce_tick() status.

2006-08-16  Sebastian Smolorz  <Sebastian.Smolorz@stud.uni-hannover.de>

	* include/rtdm/rtcan.h, ksrc/drivers/can/rtcan_{module,socket,raw}.c:
	Get rid of RTCAN_TIMEOUT_* defines and replace them with
	RTDM_TIMEOUT_*.

2006-08-16  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/*.h, ksrc/skins/rtdm/drvlib.c: Refactor RTDM types
	for timeouts and dates.

2006-08-15  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-generic/bits/{bind.h,mlock_alert.h},
	include/<skin>/syscall.h, src/skins/<skin>/init.c: Split up
	include/nucleus/bind.h and move the fragments to asm-generic/bits.

2006-08-14  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/{serial,Kconfig,Config.in,Makefile},
	scripts/Modules.frag: Renamed drivers/16550A directory to a more
	appropriate drivers/serial.

2006-08-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Add the --enable-posix-auto-mlockall option.

	* src/skins/posix/thread.c (__wrap_sched_yield): Also yield to
	threads running in secondary mode when running under the
	SCHED_OTHER policy.

2006-08-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/synch.c (xnsynch_flush): Do not clear the current
	owner: flushing should not alter ownership.
	(xnsynch_sleep_on): Fully refactor the resource stealing feature.

2006-08-12  Ulrich Schwab  <schwab@inmess.de>
 
	* ksrc/arch/i386/smi.c added id of Intel ICH7 to list of SMI chipsets

2006-08-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/thread.c (thread_destroy): Do not assume that
	current->mm is valid when called upon process destruction.

	* include/posix/pthread.h, ksrc/skins/posix/mutex_attr.c: Handle
	correctly mutex attributes in user-space.

	* ksrc/skins/posix/cond.c (pthread_cond_wait): Split this service
	in order to correctly handle cancellation requests in user-space.

	* ksrc/skins/posix/syscall.c: Make the shared memory and
	interrupts support optional and disabled by default.

2006-08-10  Jan Kiszka  <jan.kiszka@web.de>

	* scripts/Modules.frag: Fix 2.4 in-kernel build of irqbench.

2006-08-10  Wolfgang Grandegger <wg@grandegger.com>

	* ksrc/drivers/can, include/rtdm/rtcan.h: RT-Socket-CAN, a RTDM 
	  compliant driver for CAN devices added.

2006-08-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Check for wait abortion
	bits after returning from xnpod_suspend_thread().

2006-08-07  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/{core.c,proc.c}:
	Cleanup volatile device pointer in context structure, enhance
	non-RT locking during /proc access.

2006-08-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c (__rt_queue_read): Use proper
	timeout argument.

2006-07-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_delete): Do not send SIGKILL
	to dormant threads.

	* ksrc/nucleus/shadow.c (xnshadow_sys_migrate): Ignore requests
	from threads blocked on the startup barrier (i.e. dormant).

	* ksrc/arch/i386/patches: Upgrade to 2.6.17-1.3-09.

2006-07-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.32-1.2-06.

2006-07-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_suspend_thread): Don't send migration
	signal to dormant threads.

2006-07-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/hal.c (rthal_arch_init, rthal_arch_cleanup):
	Prevent the 2.4 speaker code from bugging our TSC emulation, also
	based on PIT channel 2.

2006-07-26  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/16550A/16550A.c, ksrc/drivers/testing/irqbench.c,
	ksrc/drivers/testing/timerbench.c: Apply rtdm_safe_copy_to/from_user
	and refactor code.

2006-07-26  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/drvlib.c: Add combined
	services rtdm_safe_copy_to/from_user.

2006-07-25  Jan Kiszka  <jan.kiszka@web.de>

	* include/native/task.h, ksrc/native/task.c: Kill unused timer field
	in RT_TASK. Return ptimer of the underlying thread on rt_task_inquire.

2006-07-23  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/native/Makefile: Fixed typo that messed up modularised
	native skin build under 2.4.

2006-07-20  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/testing/Config.in: Add irqbench to 2.4 build.

2006-07-20  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-*/system.h: Cleanup the arch-dep layer, splitting
	headers, and moving the nucleus bits to a related
	include/asm-*/bits directory.

	* ksrc/skins/uvm, src/skins/uvm, include/asm-uvm: Remove the UVM
	support, which became obsolete with the generalization of direct
	syscall interfaces to skin modules.

2006-07-19  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/init.c (__init_posix_interface): Register
	__init_posix_interface to be called by process children when
	forking.

2006-07-19  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/bind.h: Provide for optional skin binding
	routine (used by RTDM).

2006-17-19  Jan Kiszka  <jan.kiszka@web.de>

	* include/nucleus/timer.h, ksrc/nucleus/timer.c: Kill timer cookie
	in favour of container_of, remove locking from xntimer_start, do not
	accept timers with XN_INFINITE delays.

	* include/asm-sim/system.h, include/asm-uvm/system.h: Introduce
	container_of.

	* ksrc/*, sim/skins/*: Adapt xntimer users to these changes.

2006-07-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-1.3-05.

2006-07-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/timer.h: Add aperiodic timers wheel, an
	alternative data structure for handling timers list.

2006-07-17  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.2 (Engines Of Creation)

2006-07-17  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/shm.c (ftruncate): Use xnheap_rounded_size().

2006-07-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins, ksrc/nucleus: Use xnheap_rounded_size() instead of
	open-coded calls to xnheap_overhead().

	* include/nucleus/heap.h (xnheap_rounded_size): Provide helper
	which computes the minimum heap size to pass the heap manager to
	get at least a certain amount of contiguous memory available for
	allocation, taking into account the internal overhead and rounding
	effects.

	* ksrc/arch/arm/patches: Upgrade to 2.6.1{4,5}-1.3-05.

	* ksrc/drivers/16550A/16550A.c (__16550A_exit): Remove __exit
	qualifier since __16550_init - which is marked as __init code -
	calls it.

2006-07-15  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/heap.h (XNHEAP_MAXEXTSZ): Raise maximum extent
	size to 2Gb.

	* include/nucleus/thread.h: Kill extinfo field.

2006-07-12  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/skins/native/task.c (rt_task_suspend): Fix context checking.

2006-07-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/mq.c (__wrap_mq_open, __wrap_shm_open): Fix
	flags passed to __real_open.

2006-07-08  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/irqbench/irqloop.c: Provide test for running the
	irq loopback ahead of Xenomai in its own domain.
	
	* ksrc/nucleus/module.c: Improve scalability of "stat" and "sched"
	entries in presence of a large number of threads. Display
	per-thread execution time statistics.

	* ksrc/nucleus/pod.c: Collect per-thread execution statistics.
	
2006-07-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/vxworks/taskLib.c (taskExit): Only exit the calling
	thread.

	* ksrc/skins/vxworks/taskLib.c (taskExit): Remove call to
	xnpod_check_context().

2006-07-06  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1[567]-1.3-07,
	2.4.32-1.2-05.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-1.3-04,
	2.4.25-ppc-denx-20060430-1.1-04.
	
2006-07-06  Antoine.BRUGEAS  <Antoine.BRUGEAS@fr.thalesgroup.com>

	* ksrc/skins/psos/task.c: Add missing checks for self-directed
	calls (i.e. tid == 0).

2006-07-05  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c: Raise the PF_NOFREEZE flag for the
	gatekeeper so that it survives swsusp.

2006-07-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* scripts/prepare-kernel.sh (patch_link): Only avoid creating
	a link when it is already correct.

	* ksrc/skins/posix/demos/satch.c (__xeno_user_init): Rework satch
	start-up in order to get a clear error when the producer is not
	running.

	* ksrc/skins/posix/timer.c (pse51_timer_cleanup_thread): Use a
	separate link for per-thread and per-process timers lists.

	* include/asm-sim/system.h (xnarch_sysalloc, xnarch_sysfree):
	Memset allocated and freed memory to catch use of uninitialized
	memory.or use of freed memory. 

2006-07-02  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/arch/i386/smi.c: Fix deadlock by not unregistering the reboot
	notifier from its own handler.

2006-07-01  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/include, ksrc/nucleus: Add generic tracing support;
	connect it the the I-pipe tracer when available.

	* src/testsuite/irqbench: Add interrupt latency measurement tool.
	
2006-06-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/thread.c (__wrap_pthread_setschedparam,
	__wrap_pthread_getschedparam): No longer rely on the libc for
	shadowed threads.

2006-06-29  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus, ksrc/skins/posix, ksrc/skins/native
	(XENO_OPT_RPIDISABLE): Allow disabling priority coupling between
	Linux and Xenomai schedulers.

2006-06-28  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/latency/latency.c: Print test results only from
	main thread context to avoid deadlocks. This also switches the
	output back to stdout instead of stderr.

2006-06-25  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.2-rc3

2006-06-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/patches: Upgrade to
	2.6.16-bf53x-CVS-20060625.

	* sim/acinclude.m4 (SC_PATH_TIX): Fix for Ubuntu namings.

2006-06-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.4.32-1.2-04.

2006-06-24  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/testing/Makefile, ksrc/drivers/16550A/Makefile,
	scripts/Modules.frag: fix testing drivers compilation under 2.4,
	clean up Makefiles from useless list-multi.

2006-06-23  Philippe Gerum  <rpm@xenomai.org>

	* src/testsuite/switchtest/Makefile.am (switch_LDFLAGS): Move
	-rdynamic option to XENO_USER_LDFLAGS, since gcc targeting
	MMU-less platforms won't understand it.

	* src/testsuite/switchtest/switch.c (do_sched_setaffinity): Fix
	massive breakage with !(HAVE_RECENT_SETAFFINITY ||
	HAVE_OLD_SETAFFINITY).

	* ksrc/skins/rtdm/proc.c (rtdm_proc_cleanup): Remove from __exit
	section since it is referenced from init code.

	* scripts/xeno-test.in: Add missing -v option to getopts list.

2006-06-23  Niklaus Giger <niklaus.giger@member.fsf.org>

	* scripts/: Better busybox support; Kill dd load jobs correctly;
	Add verbosity to -m / -L. Provide ruby test script to maintainers.

2006-06-23  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/device.c (rtdm_dev_register): Remove warning to
	avoid kernel log pollution when scanning for unused device names.

2006-06-21  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-i386/hal.h, include/asm-ia64/hal.h: Do not
	redundantly mask hw interrupts when pipeline head optimization is
	active.

2006-06-21  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6,7}-1.3-06.

2006-06-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/shadow.c (xnshadow_register_interface): Add a
	module parameter, take care of locking/unlocking modules.

2006-06-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{6,7}-1.3-05.

	* configure.in, src/testsuite/switchtest/switch.c: Fix
	sched_setaffinity() issue with varying glibc prototypes.

	* ksrc/skins/rtdm/drvlib.c: Including missing <asm/highmem.h>.

2006-06-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/vxworks/msgQLib.c: Allow reception buffer to be
	larger than queue maximum messages length. Allow null length
	messages. Return ERROR when msgQReceive is called from ISR.

2006-06-17  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/syscall.c: Make user-space pthread_mutex_init,
	pthread_mutex_destroy, pthread_cond_init, pthread_cond_destroy,
	sem_init and sem_destroy atomic.

	* ksrc/skins/posix, src/skins/posix: Add support for user-space
	mutex and condition variable attributes. Cleanup per-process
	objects on process termination.

2006-06-15  Daniel Rossier <Daniel.Rossier@heig-vd.ch>

	* ksrc/arch/arm/patches/imx21: Add support for the Freescale
	iMX21/csb535fs board.

2006-06-15  Alexis Berlemont  <alexis.berlemont@free.fr>

	* ksrc/skins/rtdm/drvlib.c (rtdm_mmap_buffer): Add support for
	mapping vmalloc'ed memory.

2006-06-13  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Handle stolen ownership
	in the lower priority case.

2006-06-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/shadow.c: Add a syscall table for nucleus syscalls,
	and register it with xnshadow_register_interface. Remove treatment
	of nucleus syscalls as exceptions in do_hisyscall_event and
	do_losyscall_event.

2006-06-10  Heikki Lindholm <holindho@cs.helsinki.fi>
	
	* include/asm-powerpc/fptest.h: implement Power PC FPU testing
	routines.

2006-06-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c (xnpipe_ioctl): Provide for
	XNPIPEIOC_SETSIG.

2006-06-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/vxworks/semLib.c (sem*Create): Return 
	S_semlib_INVALID_QUEUE_TYPE in case of invalid option, as does the
	real vxworks.

2006-06-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/switchtest/switch.c,
	ksrc/drivers/testing/switchtest.c:
	Set FP registers to a different integer for each switch.

	* posix skin: add support for the SCHED_OTHER aka SCHED_NORMAL
	policy.

2006-06-08  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Do not clear the
	pending ownership under timeout condition.

2006-06-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/switchtest: Add context switch unit test.

	* ksrc/skins/posix/shm.c (ftruncate): Rework allocation of shared
	memory with the size that is not a multiple of the page size.
	(pse51_shm_pkg_cleanup): Hold the nklock while calling
	pse51_shm_destroy to avoid a panic when compiled in debug mode.

2006-06-05  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-*/system.h: Track foreign stacks when the
	IPIPE_NOSTACK marker is available and KGDB is active.

	* include/asm-arm/system.h (xnarch_leave_root): Use current
	directly.

	* ksrc/arch/blackfin/patches: Upgrade to R06R1RC2-bf53x-1.4-03 and
	cvs-20060604-bf53x-1.4-03.

2006-06-02  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Rename -p option to -P, reusing -p for
	passing the equivalent option to the latency test. Add -D to
	change the timestamp format. Various cleanups. Fix a few default
	values.
	
2006-06-02  Jan Kiszka  <jan.kiszka@web.de>
	
	* ksrc/nucleus/shadow.c, include/nucleus/core.h: Allow creation of
	non real-time but still Xenomai-enabled threads, undergoing a
	SCHED_NORMAL policy, at priority level #0.

	* src/skins/native/task.c: Allow creating non real-time Xenomai
	threads.

2006-06-02  Jan Kiszka  <jan.kiszka@web.de>

	* include/nucleus/{bheap.h,timer.h}, ksrc/nucleus/pod.c:
	Combine bheap head with element buffer, fix consistency checks
	and additionally make use of XENO_BUGON. Simplify pod init and
	cleanup of timer structures.

2006-05-23  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/i386/nmi.c: Fix alignement for gcc-4.1.

2006-05-20  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.2-rc2

2006-05-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.3-04.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc64-1.2-03.

	* ksrc/arch/arm/patches: Upgrade to 2.6.1{4,5}-1.3-04.

2006-05-19  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/latency/latency.c: Add pid to registered names
	allowing multiple instances of latency to run. Add -c switch to
	pin down measuring task to a specified CPU.

2006-05-19  Wolfgang Grandegger  <wg@grandegger.com>

	* include/rtdm/rtdm_driver.h (rtdm_strncpy_from_user): Fixed
	range check.

2006-05-17  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-*/system.h (xnarch_enter_root, xnarch_leave_root):
	* ksrc/arch/*/hal.c: Get rid of rthal_cpu_realtime.

	* include/asm-generic/hal.h (rthal_local_irq_save,
	rthal_local_irq_flags): Canonicalize the return value so that only
	the least significant bit is returned as the old/current mask
	value. Rationale: the xnlock implementation for SMP uses higher
	bits from the status word to store internal locking data, and all
	I-pipe implementations guarantee that bit #0
	(i.e. IPIPE_STALL_FLAG) is set when the domain is stalled, and
	cleared otherwise.

2006-05-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.3-03.

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.3-03,
	2.4.32-1.2-03.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.3-03,
	2.4.25-ppc-denx-20060430-1.1-03, and 2.6.14-ppc64-1.2-02.

	* ksrc/arch/blackfin/patches: Upgrade to 2.6.16-1.4-02.

	* ksrc/arch/ia64/patches: Upgrade to 2.6.1{5,6}-1.3-02.

2006-05-15  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/pipe.c (xnpipe_read_wait): Change the former macro
	to an inline routine in order to work around an optimization bug
	from the SuSE-originated GCC 4.x.

2006-05-13  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h (XNHELD): Add "held" blocking bit which
	should be useful for implementing temporal partitioning.

2006-05-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/shadow.c (bind_to_interface): Avoid holding the
	nklock while calling skins event callback.

	* ksrc/skins/posix/mutex_attr.c: set default mutex priority
	protocol to PTHREAD_PRIO_NONE.

	* ksrc/skins/posix/mutex.h (mutex_timedlock_internal): Use
	xnsynch_sleep_on built-in ability to steal ressources.

2006-05-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_delete): Do not attempt to
	send a Linux signal to an unknown Linux mate.

	* ksrc/nucleus/shadow.c (schedule_linux_call): Add LART to capture
	invocations with NULL task pointer.

2006-05-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/shadow.c (xnshadow_ppd_get): Add support for
	per-process data.

2006-05-11  Niklaus Giger <niklaus.giger@member.fsf.org>

	* ksrc/skins/vxworks/demos/satch.c: Raise task stack size to 24Kb.

2006-05-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/sysLib.c (wind_sysclk_cleanup): Reset the
	timer appropriately.

	* ksrc/nucleus/pod.c (xnpod_start_timer): Also check the tick
	handler address when trying to recycle the current timing setup.
	(xnpod_reset_timer): Add reset service requesting the default
	timing setup.

	* ksrc/skins/vxworks/sysLib.c (__tickAnnounce): Add missing
	NO_ENABLE bit to the return value.

2006-05-11  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c, include/rtdm/rtdm_driver.h: Fixed
	ownership management in mutex code (PI was broken) and
	refactored the mutex, semaphore, and event implementation.

2006-05-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/synch.c (xnsynch_release_all_ownerships): Fire
	cleanup handler for released objects.

	* ksrc/skins/rtai/sem.c (rt_sem_wait): Update the owner field and
	the resource count upon return from xnsynch_sleep_on() -- this is
	needed now that resources may be stolen away from threads while
	the ownership is still pending.

	* ksrc/skins/vrtx/mx.c (sc_mpend): Update the owner field upon
	return from xnsynch_sleep_on() -- this is needed now that
	resources may be stolen away from threads while the ownership is
	still pending.

	* ksrc/skins/posix/mutex.c (pse51_mutex_timedlock_break): Clear
	the lock count upon return from xnsynch_sleep_on() -- this is
	needed now that resources may be stolen away from threads while
	the ownership is still pending.

	* ksrc/skins/native/mutex.c (rt_mutex_lock): Make sure to put the
	internal mutex data in sync upon return from xnsynch_sleep_on(),
	in order to properly deal with resource stealing.

	* ksrc/nucleus/synch.c (xnsynch_sleep_on): Implement resource
	stealing against lower priority threads that have been already
	transferred the resource ownership, but are still waiting for the
	CPU in a ready state.

	* ksrc/nucleus/pod.c (xnpod_unblock_thread): Do not raise the
	XNBREAK condition for already awaken threads.

	* include/native/task.h (T_JOINABLE): Solve conflict with CPU
	affinity bits.

	* ksrc/skins/native/task.c (rt_task_start): Propagate error code
	from xnpod_start_thread().

2006-05-09  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.2-rc1

2006-05-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.3-02.

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.3-02,
	2.4.32-1.2-02.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.3-02,
	2.4.25-ppc-denx-20060430-1.1-02, and 2.6.14-ppc64-1.2-01.

	* ksrc/arch/blackfin/patches: Upgrade to 2.6.16-1.4-01.

	* ksrc/arch/ia64/patches: Upgrade to 2.6.1{5,6}-1.3-01.

2006-05-09  Romain Lenglet  <rlenglet@users.forge.objectweb.org>

	* ksrc/nucleus/udev/rtpipe.rules, ksrc/nucleus/udev/rtheap.rules:
	Modified key match KERNEL= into KERNEL==, to avoid errors with
	recent versions of Udev which are stricter about the rules syntax.
	Removed unuseful NAME= key assignments.

2006-05-05  Jim Cromie <jim.cromie@gmail.com>

	* scripts/prepare-kernel.sh (patch_append): Do not alter link
	targets when the patched kernel is in fact a shadow tree from an
	actual source tree made using lndir.
	
2006-05-07  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/latency/latency.c: forward expected tick dates
	after overruns.

2006-05-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.3-01.

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.3-01,
	2.4.32-1.2-01.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-ppc-1.3-01,
	2.4.25-ppc-denx-20060430-1.1-01, and 2.6.14-ppc64-1.2-00.

	* ksrc/arch/blackfin/patches: Upgrade to 2.6.16-1.4-00.

	* ksrc/arch/ia64/patches: Upgrade to 2.6.16-1.3-00.

2006-04-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.3-00.

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.3-00,
	2.4.32-1.2-00.

	* ksrc/arch/ppc/patches: Upgrade to 2.6.14-1.3-00,
	2.4.25-denx-20060430-1.1-00.

	* include/asm-generic/system.h (xnlock_get, xnlock_put): Add
	simple spinlock/unlock calls for situations where we know that
	interrupts are off.

	* include/nucleus/timer.h: Keep inlining calls with
	!CONFIG_XENO_OPT_TIMING_PERIODIC.

	* ksrc/nucleus/Kconfig: Default to !CONFIG_XENO_OPT_TIMING_PERIODIC.

	* ksrc/arch/generic/hal.c (rthal_init): Add LART for misconfigured
	invariant pipeline head.

2006-04-29  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/hal.h: Use Adeos optimization as invariant
	pipeline head.

	* include/nucleus/queue.h, ksrc: Define and use a predicate for
	testing queue emptiness.

2006-04-29  Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/xeno-test.man.in: Corrections about options: -d, -L, -N, -p.
	Removed documented dependency between -m and -M, and -L or -N.
	Removed History section: redundant with Xenomai's ChangeLog.
	Modified documented set of default options passed to latency, to
	reflect new value passed in -T option.
	Other cleanups.

	* doc/man/{runinfo.man.in,xeno-config.man.in,xeno-info.man.in,
	xeno-load.man.in}: Removed History sections: redundant with Xenomai's
	ChangeLog.

2006-04-27  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/skins/native/intr.c (rt_intr_delete):
	  ksrc/skins/posix/intr.c (pthread_intr_detach_np): Call xnintr_detach()
	  with nklock unlocked.

2006-04-27  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Fix default value for -T.

2006-04-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.2-02.

2006-04-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.2-05.

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-1.2-03.

2006-04-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins/posix/thread.c (__wrap_pthread_setschedparam): Call
	__real_pthread_setschedparam in order to inform the libc of the
	scheduling parameters change.

2006-04-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/hal.c: Always check that the irq is the range
	[0..NR_IRQS-1] before referring to irq_desc. On x86, NR_IRQS may
	be lesser than IPIPE_NR_XIRQS.

2006-04-25  Romain Lenglet <rlenglet@users.forge.objectweb.org>
 
 	* doc/man/xeno-test.man.in: Add documentation for the new -U option.
 	Correct the synopsis to reflect the depencency between -m, -M, -U and
 	-L. Remove references to long removed klatency test command.
 
 	* scripts/xeno-test.in: Typo: "UEL"->"URL". Remove documentation for
 	-u from printed usage until it is actually implemented.
 
2006-04-21  Romain Lenglet <rlenglet@users.forge.objectweb.org>
 
 	* doc/man/xeno-test.man.in: Add documentation for the new -v option
 	added to the xeno-test script.
 
2006-04-21  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Fix use of cyclictest; add -U option.
	
2006-04-24  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/syscall.c (__shm_open, __mmap_epilogue): Handle
	correctly error cases where Linux recycles an mm_struct, or when
	the system heap is exhausted.

2006-04-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_announce_tick): Do _not_ ask for
	re-enabling the timer interrupt line upon return.

2006-04-24  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/arch/generic/hal.c (rthal_irq_request): Do not grab the
	critical lock uselessly.

	* ksrc/nucleus/intr.c (xnintr_shirq_attach, xnintr_shirq_detach):
	Grab the nucleus lock instead of the HAL's critical lock.

2006-04-23  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/wrappers.h (SCHED_NORMAL): Add for 2.4
	kernels.

2006-04-23  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/registry.c (pse51_desc_get): Allow descriptors
	to point to unlinked object.

	* ksrc/skins/posix/shm.c (pse51_assoc_lookup_inner): Handle
	correctly an insertion before the last element.

2006-04-22  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_delete): Send SIGKILL to the
	non-current Linux task associated with the deleted shadow.

	* ksrc/nucleus/shadow.c (xnshadow_unmap): Revert to v2.1
	behaviour, only waking up the unmapped task. The decision to send
	an appropriate Linux signal or not is left to the skins.

2006-04-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/shm.c (ftruncate): Round small shared memory to
	3 pages, as required by xnheap_init.

	* include/asm-uvm/system.h (xnarch_thread_trampoline): Set
	scheduling parameters of each thread with pthread_setschedparam()
	instead of setting the whole process ones with sched_setscheduler().

2006-04-21  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin/calibration.h (xnarch_get_sched_latency):
	Add calibration value for the BF537.

2006-04-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/skins, include/nucleus/bind.h: Factor common library
	initialization code.

2006-04-21  Philippe Gerum  <rpm@xenomai.org>

	* src/testsuite/cyclic/Makefile.am (cyclictest_LDADD): Fix order
	of inclusion.

2006-04-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vrtx/mb.c (mb_hash): Fix cast-related warning.

	* include/asm-blackfin/syscall.h: Fix the mlockall() placeholder.

	* include/asm-generic/wrappers.h: Do not use vm_insert_page() with
	!CONFIG_MMU.

	* include/asm-blackfin/atomic.h (xnarch_atomic_xchg): Fix conflict
	with atomic_xchg() over 2.6.16.

2006-04-20  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/device.[ch], ksrc/skins/rtdm/module.c: Catch
	unsuccessful skin initialisation for the built-in case.

2006-04-20  Jim Cromie <jim.cromie@gmail.com>

	* TROUBLESHOOTING: Add clarification regarding dangerous kernel
	options.

2006-04-19  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/rtdm/rtbenchmark.h: Use long long for sum computations
	in order to avoid intermediate value overflow.

2006-04-19  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/cyclic/cyclictest.c: Synchronise threads on startup
	so that timer storms are avoided. Reorder tracing code. Fix mode
	switch in highest prio thread when not using the tracer.

2006-04-19  Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/xeno-test.man.in: Add documentation for the new -m and -M
	options added to the xeno-test script.

2006-04-18  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Add -[Mm] options for automated
	transmission of test results by mail.

2006-04-18  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h: Remove useless tracking of secondary
	to primary mode switches.

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{5,6}-1.2-04.

2006-04-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_map): Send SIGXCPU to emerging
	shadow threads which did not lock their process memory.

	* src/skins (library constructor): Install internal SIGXCPU
	handler for receiving unlocked memory alerts.
	
	* include/asm-generic/wrappers.h: Detect Denx-originated 2.6.14
	kernels when needed.

2006-04-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.16-1.2-03.

2006-04-15  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Upgrade to 2.6.14-1.2-02.

2006-04-15  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/Kconfig, ksrc/skins/*/Kconfig: Optimize feature
	selection for pipes and registry support.

2006-04-14  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skin/rtdm/*: Rewrite of the file descriptor management.
	Descriptor limit is now compilation constant.

2006-04-13  Philippe Gerum  <rpm@xenomai.org>

	* scripts/prepare-kernel.sh, scripts/xeno-load.in,
	scripts/xeno-info.in: Fix obsolete syntax.

2006-02-11  Jim Cromie <jim.cromie@gmail.com>

	* scripts/xeno-test.in: Fix obsolete syntax.

2006-04-10  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/drivers/16550A/16550A.c: Fix leaking lock in
	rt_16550_read().

2006-04-09  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/core.c: catch IRQ lock leaks in driver handlers
	via XENO_ASSERT.

	* include/nucleus/assert.h: improve XENO_ASSERT verbosity.

2006-04-09  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/queue.c: Add rt_queue_read/write() calls providing
	integrated i/o operations for faster execution from user-space
	for short/simple messages.

	* skins/native/queue.c: Deprecate rt_queue_recv() in favour of
	rt_queue_receive() for consistency purpose with the rest of the
	interface.
	
	* ksrc/arch/i386/patches: Upgrade to 2.6.15-1.2-02 and
	2.6.16-1.2-02.

2006-04-08  Philippe Gerum  <rpm@xenomai.org>

	* sim: Fix issues with GCC 4.x.

2006-04-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/pod.h (xnpod_reset_watchdog): Move the watchdog
	members from xnpod_t to xnsched_t, make the watchdog
	cpu-specific.

2006-04-06  Rodrigo Rosenfeld Rosas <lbocseg@yahoo.com.br>

	* ksrc/skins/native/snippets/sigxcpu.c (task_body): Fix parameters
	to rt_task_set_mode().

2006-04-06  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* scripts/Kconfig.frag: select I-Pipe when Xenomai is enabled.

	* ksrc/skins/posix/intr.c: Export kernel-space POSIX skin
	interrupts management interface.

2006-04-05  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/drivers/16550A/16550A.c: Fix screwed IRQ source
	detection which caused sporadic hard deadlocks.

2006-04-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/timer.c (xntimer_freeze_*periodic): For the sake of
	consistency, move calls to xnarch_stop_timer() to
	xnpod_stop_timer(), since we should enforce a symmetry with
	xnpod_start_timer() [which calls xnarch_start_timer()].

	* ksrc/nucleus/pod.c (xnpod_stop_timer): Make it robust when
	called uselessly (i.e. inactive systimer).

2006-04-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/queue.c (rt_queue_send): Check message buffer
	address.

	* ksrc/nucleus/heap.c (xnheap_check_block): Add routine to validate
	an allocated memory block.

2006-04-04  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/drivers/16550A/16550A.c: Add RTIOC_PURGE support, minor
	clean-up of RTSER_RTIOC_WAIT_EVENT.

2006-04-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/thread.c (pthread_wait_np): Make this service a
	cancellation point.

	* ksrc/skins/posix/syscall.c (__*_init): Copy user-space contents
	before calling kernel-space init in order to correctly detect
	duplicate initializations.

2066-04-03  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/cyclic/cyclictest.c, src/testsuite/cyclic/Makefile.am:
	Add ipipe-tracing support for highest prio thread, fixed some
	warnings.

	* ksrc/skins/rtdm/device.c, ksrc/skins/rtdm/proc.c: Remove unneeded
	nrt-locks from proc functions, release nrt-lock in unregister loop for
	busy devices.

2006-04-02  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-{ia64,arm,i386}/system.h (xnarch_sysalloc,
	xnarch_sysfree): Use kmalloc() for allocations <= 128k.

2006-04-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_start_timer): Statically check for the
	host tick value as much as possible.

2006-03-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/i386/smi.c: Reread SMI configuration bits after
	writing them in order to check whether workaround works.

2006-03-31  Philippe Gerum  <rpm@xenomai.org>

	* arch/powerpc/patches: Upgrade to Adeos 2.4.25/1.0-04.

	* ksrc/nucleus/shadow.c (lostage_handler): Always send SIGKILL to
	the entire thread group.
	(xnshadow_unmap): Send SIGKILL to the non-active task mapped to a
	deleted shadow, instead of issuing a plain wakeup. We expect the
	entire thread group to be killed in turn by such deletion.

2006-03-30  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/wrappers.h, ksrc/nucleus/heap.c: Fix
	regression introduced by commit #797 in wrap_remap_vm_page() for
	kernel revisions < 2.6.15.

2006-03-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/shm.c (ftruncate): Use kmalloc for shared
	memory smaller than 128K.

2006-03-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/signal.c (pthread_sigqueue_np): Rename
	sigqueue.

2006-03-28  Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/*.man.in: Minor correction and changelogs cosmetic
	changes.

2006-03-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/system.h (xnarch_enable_fpu): Restore FPU
	context when a task switched its FPU context while crossing the
	Linux domain.

	* ksrc/skins/rtai/Config.in, ksrc/skins/rtai/Kconfig: Make
	the RTAI skin unavailable if the native skin is built into the
	kernel.

2006-03-27  Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/xeno-config.man.in: Updated to match the latest revision of
	the xeno-config script.

2006-03-26  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/include/nucleus/assert.h: XENO_ASSERT with built-in
	activation at compile time.

	* ksrc/skins/rtdm/Kconfig, ksrc/skins/rtdm/Config.in,
	ksrc/skins/rtdm/drvlib.c, include/rtdm/rtdm_driver.h: Use
	XENO_ASSERT to check for correct RTDM driver API invocation
	contexts.

2006-03-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.16-1.2-01.

2006-03-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/heap.c (xnheap_mmap): Don't raise VM_IO for VMAs
	which do not potentially map I/O memory. This solves GDB access
	error on mmapped heaps, caused by the ptrace() restriction on
	exporting I/O memory mappings.

2006-03-24  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/pod.c (xnpod_init): Return immediately with an
	error if the xeno_nucleus module failed to load properly.

2006-03-23  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/jhash.h: Moved from ksrc/skins/posix for a
	broader usage.

2006-03-21  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/posix/syscall.c: __cond_* -> __pthread_cond_*.

2006-03-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/*/module.c (SKIN_EXIT): Do not call
	xnpod_stop_timer.

2006-03-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* src/testsuite/cyclic: Add POSIX clocks test.

2006-03-19  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h: Add XNINVPS bit.

	* ksrc/nucleus: xnpod_priocompare() -> xnpod_compare_prio().

2006-03-18  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/queue.h: Use a two-level bitmap for the
	multi-level priority queue.

	* include/nucleus/pod.h, include/nucleus/thread.h,
	ksrc/nucleus/pod.c: Get rid of the suspended thread queue.

2006-03-17  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c (do_hisyscall_event): Require CAP_SYS_NICE
	for running Xenomai syscalls.

2006-03-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_start_timer): Send a console warning
	when the timer is started with a periodic tick > CONFIG_HZ.

	* ksrc/skins/psos+/module.c (SKIN_INIT): 
	* ksrc/skins/vrtx/module.c (SKIN_INIT): 
	* ksrc/skins/vxworks/module.c (SKIN_INIT): 
	* ksrc/skins/uitron/module.c (SKIN_INIT): Set default periodic
	tick to 1ms.

	* ksrc/nucleus/core.c (xncore_attach): Properly relay the exact
	error code returned by xnpod_init().

2006-03-16  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/vxworks/errnoLib.c (printErrno): Fall down to calling
	strerror_r to decode POSIX errors.

	* ksrc/skins/vxworks: Return -EPERM everytime a blocking call is
	invoked on behalf on an invalid context, unless VxWorks already
	handles the case. Remove xnpod_check_context() in most cases.

2006-03-15  Philippe Gerum  <rpm@xenomai.org>

	* src/skins/uvm: Move all UVM-based builds to the UVM support
	directory, only leaving skins with native call interfaces directly
	under src/skins. Rename produced libs to be suffixed with _uvm.

2006-03-15  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/registry.c (pse51_desc_create): Return EMFILE
	or ENOSPC instead of ENFILE or ENOMEM when failing to create a
	descriptor.

2006-03-13  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c (rtdm_clock_read): Update and clarify
	documentation.

2006-03-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks, src/skins/vxworks: Add native call interface.

	* include/nucleus/timer.h (XNTIMER_KILLED): Discard as unused.

	* include/nucleus/thread.h: Add errno field to the base TCB.

	* ksrc/nucleus/shadow.c, ksrc/nucleus/thread.c
	(xnthread_get_errno_location): Provide per-thread errno location,
	handling the asynchronous and user-space cases.

2006-03-12  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.1 (Champagne)

2006-03-12  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-i386/wrappers.h (wrap_switch_iobitmap): Set bitmap
	new owner as required.

2006-03-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_init): Allow the system heap memory to
	be scattered over multiple extents, depending on the value of
	XNARCH_SCATTER_HEAPSZ. This is a temporary work-around for dealing
	with a current issue raised on the ppc32 architecture, making
	kernel-based Xenomai threads fault when dereferencing portions of
	vmalloc'ed memory. The downside of this hack is that the largest
	block of contiguous memory which can be returned by the heap
	manager on this architecture is 128Kb.

2006-03-11  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/intr.c: Fix bookkeeping of the interrupt nesting
	count in shared IRQ handlers.

2006-03-07  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/timer.h (XNTIMER_KILLED): Discard as unused.

2006-03-10  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/clock.c (clock_nanosleep): Fix computation of
	the remaining time.

2006-03-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/cancel.c (pthread_cleanup_pop): Execute the
	cleanup routine with nklock unlocked.

	* ksrc/skins/posix/*.c: Test cancellation bits before suspending
	threads.

	* ksrc/skins/posix/registry.c (pse51_node_lookup): Use different
	namespaces for different objects types.

2006-03-08  Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* scripts/prepare-kernel.sh: Added options to select changes to ignore
	and to not include in the output patch file when the --outpatch option
	is used: --filterkvers=y|n and --filterarch=y|n.
	The ksrc/nucleus/udev/ directory is no more copied into the Linux
	tree.

2006-03-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/mutex_attr.c: Set default attributes to
	recursive type and priority inheritance protocol.

2006-03-06  Jan Kiszka  <jan.kiszka@web.de>

	* src/skins/{native,posix,rtdm}/Makefile.am: Suppress warnings
	when linking against modules.

2006-03-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/vxworks/taskLib.c (taskPrioritySet): Return ERROR
	upon invalid priority.

	* ksrc/skins/native/syscall.c: Make rt_task_suspend a conforming
	call.

	* ksrc/nucleus/Config.in: Add missing choice for selecting the
	timer indexing method over 2.4 kernels.

2006-03-04  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.1-rc4

2006-03-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.2-01.

2006-03-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/shm.c (ftruncate): Handle zero length.
	(shm_open): Handle O_TRUNC open flag.
	(ftruncate): Zero shared memory when creating it.

	* ksrc/skins/posix/mq.c (pse51_mq_timedrcv_inner): Suppress
	special handling of O_DIRECT flag. Use a separated wait queue for
	blocked senders and receivers.

	* ksrc/nucleus/heap.c: Remove implementation of xnheap_init_mapped
	and xnheap_destroy_mapped for simulator, they were no longer used.

	* ksrc/skins/posix: Initial POSIX skin documentation.

2006-03-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/ia64/patches: Upgrade to 2.6.15-1.2-01.

	* scripts/xeno-load.in: Do not attempt to load Adeos as a module
	since this is no more supported.
	Properly unload the nucleus module after auto-load.

	* include/asm-powerpc/system.h (xnarch_sysalloc): Remove 128Kb
	limitation.

2006-03-02  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/hal.h: Remove unused rthal_u64div32c.

2006-03-01  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_unmap): Renice the root thread
	when called from the task exit hook.

	* include/asm-ia64/atomic.h (atomic_clear_mask): Fix badly broken
	atomic clear/set mask routines.

	* include/asm-ia64/syscall.h (__xn_interrupted_p): Test the proper
	errno value.

	* ksrc/nucleus/pod.c (xnpod_suspend_thread): Clear the wait
	channel more carefully when dealing with XNKICKED.

2006-03-01  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* ksrc/arch/arm/hal.c (rthal_irq_enable, rthal_irq_disable,
	rthal_irq_end): Bypass enable/disable_irq which are unsafe over
	non-root domains when calling PIC handling routines.

2006-03-01  Heikki Lindholm <holindho@cs.helsinki.fi>

	* include/asm-powerpc/atomic.h: Remove LART on __xchg() support;
	it's useless and breaks --enable-debug when compiling the
	user-space support.

2006-03-01  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm/rtdm_driver.h, ksrc/skins/rtdm/API.CHANGES: remove
	IRQ propagation and deferred re-enabling from RTDM API, document
	API changes.

	* ksrc/drivers/16550A/16550A.c: update to latest RTDM API, re-order
	device open to avoid shared-IRQ-related races.

2006-02-28  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* include/nucleus/intr.h, nucleus/intr.c: Add optional support
	for shared interrupts (level- and edge-triggered), so that
	multiple real-time interrupt handlers are allowed to control
	dedicated hardware devices which are configured to share
	the same interrupt channel.

2006-02-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (do_losyscall_event): No pod might be
	active as a result of a failed binding: make sure to check for
	nkpod before processing pending signals upon return from
	exec_nucleus_syscall.

2006-02-28  Jan Kiszka  <jan.kiszka@web.de>

	* src/testsuite/latency/latency.c: display all results in
	microseconds, and state this clearly on start-up.

2006-02-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_renice_thread_inner, xnpod_init): Make
	reordering-upon-renice a local property of the synchronization
	object, instead of a global property of the pod.
	(xnpod_init): Extend use of the reference counter for handling the
	XNREUSE case. This is not perfect through, since we still don't
	prevent the initial pod creator from vanishing due to a module
	unloading, leaving nkpod set with a dandling pointer to its
	descriptor.

2006-02-27  Jan Kiszka  <jan.kiszka@web.de>

	* include/asm-generic/wrappers.h: Set VM_RESERVED for the vma
	before calling to deprecated remap_page_range().

	* ksrc/nucleus/heap.c: Do not set VM_LOCKED for the
	vma; either the wrappers to remap_page_range() or
	remap_pfn_range() will set VM_RESERVED which will prevent swap
	out.

2006-02-27  Romain Lenglet <rlenglet@users.forge.objectweb.org>
 
 	* scripts/prepare-kernel.sh: Added option to generate a diff file
 	instead of actually modifying the Linux source tree. Cleanup to not
 	link / copy files for other architectures than the built architecture,
 	and to not link / copy some files twice. Links to Xenomai files in the
 	Linux tree are no more created by default if they already exists.
 	Added --forcelink option to force the creation of links.
 
2006-02-27  Philippe Gerum  <rpm@xenomai.org>
	
	* ksrc/nucleus/pod.c (xnpod_init): Allow for reusing a
	pre-existing pod with the same properties.

2006-02-26  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_init): Check the existing pod for idle
	state, not the one undergoing registration.

	* ksrc/nucleus, ksrc/skins/native: Make the registry support a
	generic feature of the nucleus.

	* src/testsuite/switch/switch.c (main): 
	* src/testsuite/latency/latency.c (main): Force aperiodic timing.

2006-02-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/uvm/module.c (SKIN_INIT): Call xnpod_start_timer, in
	order to be sure that the timer mode is aperiodic.

	* ksrc/skins/posix/cond.c (mutex_save_count): Do not reschedule,
	it could break pthread_cond_wait.

2006-02-25  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/uvm/syscall.c: Make __uvm_thread_cancel a conforming
	call.

	* include/asm-uvm/system.h (xnarch_finalize_no_switch,
	xnarch_stop_timer): Send cancellation signal to the target thread.

2006-02-24  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c: Make sure that
	!CONFIG_XENO_OPT_TIMING_PERIODIC implies nktickdef ==
	XN_APERIODIC_TICK;

2006-02-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/timer.h: Use binary heaps for the aperiodic
	timers list implementation.

	* include/posix/unistd.h (pse51_shm_close): Avoid clash between
	POSIX skin function "close" and Linux 2.4 ppc symbol.

2006-02-20  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.1-rc3

2006-02-20  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm/patches: Upgrade to 2.6.15-1.2-00.

2006-02-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Upgrade to 2.6.1{45}-1.2-01.

	* ksrc/arch/ia64/patches: Upgrade to 2.6.14-1.2-01.

2006-02-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c: Make rt_task_set_periodic a
	conforming call.
	(__rt_event_wait): Check for output parameter address.

2006-02-17  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skin/rtdm/drvlib.c, include/rtdm/rtdm_driver.h: Add mmap
	und munmap helper functions which do not depend on user-provided
	standard Linux file descriptors.

2006-02-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin: Upgrade to 2005R4-RC2.

2006-02-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/shadow.c (do_hisyscall_event, do_losyscall_event):
	Relax thread upon interruption of a nucleus syscall by a signal.

2006-02-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin: Upgrade to uClinux 2005R4-RC2.

	* include/asm-generic/system.h (xnarch_remap_page_range): Move to
	the global section.

	* arch/powerpc/fpu.S: Include missing <asm/cputable.h> for fixups.

2006-02-11  Jim Cromie <jim.cromie@gmail.com>

	* scripts/prepare-kernel.sh: Handle configuration over a kernel
	output tree.

2006-02-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_self): Return NULL if
	!xnpod_primary_p().

2006-02-07  Anders Blomdell <anders.blomdell@control.lth.se>

	* ksrc/nucleus/intr.c (xnintr_irq_handler): Decrement the
	interrupt nesting count only after all external callbacks have
	been invoked, so that no context switch could occur before the
	current IRQ has been unmasked/propagated down the pipeline.

2006-02-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches, ksrc/arch/powerpc/patches: Upgrade 2.4
	patches.

	* ksrc/arch/i386: Fix NMI support over 2.4.

2006-02-04  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c, include/nucleus/types.h: Dump I-pipe
	traces if available upon panic.
	
2006-02-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/timer.c (rt_timer_set_mode): Add service to
	change the timing mode dynamically.

	* include/posix/time.h: Define TIMER_ABSTIME if missing for both
	kernel and simulation builds.

	* ksrc/skins/rtdm/core.c (create_instance): Fix warning in unlikely().

2006-02-03  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/compiler.h: Provide for compiler-dependent
	settings.

	* ksrc/nucleus/pod.c (xnpod_init), ksrc/skins/*/module.c:
	Move system timer setup to pod initialization.

	* ksrc/nucleus/Kconfig: Move configuration parameters related to
	the timing support to the generic section.

	* ksrc/skins/uvm/syscall.c, include/asm-uvm/system.h: Remove
	uvm_timer_start and uvm_timer_stop services.
	
2006-02-02  Wolfgang Grandegger  <wolfgang.grandegger@bluewin.ch>

	* include/asm-generic/hal.h, include/asm-generic/system.h
	(rthal_irq_end, xnarch_end_irq): Add specific support for
	re-enabling an IRQ source upon interrupt.
	
2006-02-02  Philippe Gerum  <rpm@xenomai.org>

	* include/powerpc/system.h: Use private ts.fpr area as FPU backup
	storage for kernel threads; discard redundant tcb::fpuenv.

2006-02-01  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix: Use the same layout for pthread_mutex_t,
	pthread_cond_t and sem_t in kernel-space as in user-space. Allow
	their sharing through shared memory.

2006-01-31  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/heap.c, src/skins/native/heap.c: Decouple the
	"mappable" and "single-block" properties of heaps, so that
	multi-block heaps can be operated from user-space.
 
	* ksrc/arch/*/patches: Upgrade all Adeos patches to get the atomic
	scheduling feature.

	* ksrc/skins/native/event.c (rt_event_wait): Do not auto-clear the
	satisfied event bits; rely on explicit call to rt_event_clear() to
	do so.

2006-01-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-*/hal.h: Factor arithmetic support routines.
	
2006-01-31  Heikki Lindholm <holindho@cs.helsinki.fi>

	* ksrc/arch/powerpc: Merge 32/64bit FPU supports.

2006-01-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (xnshadow_harden): Use TASK_ATOMICSWITCH
	when available to enforce the required atomic scheduling section.

2006-01-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix: Threads from other skins are allowed to use
	posix skin synchronization objects (pthread_mutex_t, mqd_t,
	pthread_cond_t and sem_t) and clock services (clock_nanosleep,
	nanosleep).

2006-01-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix: Remove xnpod_check_context() and fail with
	EPERM where appropriate.

	* src/skins/posix/rtdm.c: Handle cancellation requests for
	user-space threads.

2006-01-26  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/heap.c (xnheap_init_mapped, xnheap_destroy_mapped):
	Implementation for simulator. 

	* ksrc/skins/posix/timer.c (timer_settime): Set owner in
	timer_settime instead of timer_create.

	* ksrc/skins/posix/thread.c (pthread_join): Destroy thread when
	joining a canceled thread. Return EPERM when joining a running
	thread from the root thread.

	* ksrc/skins/posix/demos/satch.c: Use shared memory.

	* ksrc/skins/posix/shm.c: Shared memory services.

2006-01-19  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* Makefile.am: Re-run prepare-kernel only when maintainer mode is
	enabled, rename install-nodev install-user and do not install
	kernel when make install-user is used.

2006-01-18  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/native/mutex.c (rt_mutex_unlock): Fix leaking lockcnt
	on unlock with pending waiters.

2006-01-16  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/native/task.c (rt_task_create): Use a separate string
	for the thread name displayed in /proc/xenomai/sched, and the key
	used in register, in order to cope with anonymous user-space
	tasks.

2006-01-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in (linux-build): Look for linux kernel sources in
	source and build directory, better error handling.

2006-01-13  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.1-rc2

2006-01-13  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/arm, include/asm-arm: Merge Stelian Pop's port to the
	Integrator/CP ARM 1136 board.

2006-01-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/demos/accuracy.c (cleanup_upon_sig): Use
	pthread_cancel for program termination.

	* src/skins/posix/*.c: Handle cancellation requests for user-space
	threads.

2006-01-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/hal.c (rthal_arch_init): Whine if
	CONFIG_ALTIVEC enabled but not hardware found.

2006-01-12  Heikki Lindholm <holindho@cs.helsinki.fi>

	* include/asm-powerpc/hal.h, include/asm-powerpc/system.h,
	ksrc/arch/powerpc/switch_64.S: Finalize hybrid scheduling for
	ppc64.
	
2006-01-12  Philippe Gerum  <rpm@xenomai.org>

	* scripts/Modules.frag: Add missing drivers.

	* ksrc/arch/powerpc/switch.S: Fix 2.4 support.
	
2006-01-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/ia64/switch.S, include/asm-ia64/system.h: Fix hybrid
	(kernel/user-space thread) scheduling.

	* include/asm-ia64/system.h (XNARCH_THREAD_STACKSZ): Must equal
	KERNEL_STACK_SIZE, and not KERNEL_STACK_SIZE_ORDER, damnit.

2006-01-10  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/switch.S, include/asm-powerpc/system.h
	(ppc32): Fix hybrid (kernel/user-space thread) scheduling.

	* ksrc/arch/blackfin/switch.S, include/asm-blackfin/system.h: Fix
	hybrid scheduling.

2006-01-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in, ksrc/scripts/prepare-kernel.sh: Allow building the
	Linux kernel as part of Xenomai build process.
	
2006-01-08  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (rt_task_create): Allow creating
	anonymous user-space tasks.

	* include/asm-uvm/system.h: Remove #error on CONFIG_SMP.

2006-01-08  Niklaus Giger <niklaus.giger@member.fsf.org>
	
	* README.INSTALL: Give better hints for PPC builds.

2006-01-07  Philippe Gerum  <rpm@xenomai.org>

	* include/compat/linux/device.h, include/asm-generic/wrappers.h:
	Add wrapper for class_device_create() as required for 2.6.15.

2006-01-07  Jan Kiszka  <jan.kiszka@web.de>

	* include/rtdm: Move all internal headers back to the source area,
	i.e. unexport them.

	* ksrc/arch/i386/hal.c: reset tracer after timer calibration.

	* include/rtdm/rtbenchmark.h, ksrc/drivers/benchmark/timerbench.c,
	src/testsuite/latency/latency.c: Add re-freeze support and make use
	of it to back-trace always the max latency during benchmarks.

2006-01-07  Heikki Lindholm <holindho@cs.helsinki.fi>

	* include/asm-powerpc/system.h: Fix FPU preemption bug.

2006-01-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/*/patches: Upgrade all Adeos patches for supporting
	self event monitoring.

2006-01-06  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-generic/wrappers.h: Use vanilla moduleparam
	emulation for 2.4.

	* include/asm-generic/hal.h: Support self event monitoring option
	available with the recent I-pipe patches.

2006-01-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/*/patches: Upgrade all Adeos patches.

2006-01-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* Makefile.am (dev devices): Install real-time devices.

	* configure.in: Compile UVM nucleus with debug support when
	--enable-debug is passed to configure.

	* scripts/prepare-kernel.sh: Ask no question when applying Adeos
	patch, fail if unable to apply patch with linux tree left
	untouched.

2006-01-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/hal.c (rthal_set_cpu_timers_unsafe): Fix 2.4
	compilation. Use cpu_online_map instead of cpu_possible_map for
	computing the timer spacing offset in the SMP case; always
	enumerate cpus from the cpu_online_map instead of the present
	map. Make rthal_periodic_p a cpu-independent flag.

2006-01-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/{i386,ppc,ia64}, include/asm-{i386,ppc,ia64,uvm,sim}:
	Adapt to the new Adeos infrastructure for shared IRQs.
	
2006-01-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/generic/nmi.c, ksrc/arch/i386/nmi.c,
	ksrc/arch/blackfin/nmi.c: Cleanup NMI support among archs,
	defining a generic support for all common pieces.

2006-01-03  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/16550A/16550A.c: Fix types for 64 bit archs. Fall
	back to MODULE_PARM on kernels < 2.6.10.

	* ksrc/drivers/benchmark/timerbench.c, include/rtdm/rtbenchmark.h:
	Add support for ipipe_trace_special via benchmark device.

	* src/testsuite/latency/latency.c: Fix freezing threshold,
	improve info display.

2006-01-02  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/drivers/benchmark, src/testsuite/latency: Restore
	kernel-based latency benchmark app now based on RTDM.
	
	* ksrc/skins/rtdm/device.c: Don't permit RTDM devices without NRT
	closure handlers.

	* ksrc/skin/rtdm/core: Fix exclusive open.

	* ksrc/arch/i386/hal.c, include/asm-i386/hal.h: export NMI
	watchdog threshold via /proc, trigger trace freezing instead of
	die_nmi() if CONFIG_IPIPE_TRACE is enabled.
	
2006-01-02  Philippe Gerum  <rpm@xenomai.org>

	* scripts/prepare-kernel.sh, include/asm-generic/hal.h: Deprecate
	Adeos oldgen support.

	* include/asm-*: Remove support for Adeos oldgen patches.

	* ksrc/arch/ia64/patches: Upgrade to I-pipe 1.0-00.

2006-01-02  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/nucleus/timer.c (xntimer_do_tick_aperiodic): Fix behaviour
	in case a periodic xntimer object is heading the list after
	reinsertion and should tick again.

2006-01-01  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.1-rc1

2005-12-30  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/demos/accuracy.c (cleanup_upon_sig): Rework
	program termination so as to avoid calling sem_post on closed
	semaphores.

	* src/skins/posix/semaphore.c (__wrap_sem_open): Return the
	recorded pointer when called for a semaphore which was already
	opened.

	* ksrc/skins/posix/syscall.c (__sem_open),
	  ksrc/skins/posix/sem.c (pse51_usem_open): Record user-space
	addresses of posix named semaphores.

2005-12-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/task.c (__native_task_safe): Implement
	safe/unsafe barrier.

	* ksrc/skins/native/syscall.c: Fix exec modes for rt_queue_delete
	and rt_heap_delete: those calls must run into the secondary domain.

	* ksrc/skins/native/registry.c (rt_registry_put): Do not raise the
	BREAK state when awakening waiters.

2005-12-29  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/registry.c (rt_registry_remove_safe): Rewrite
	decently.

2005-12-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin: Finalize support for the Blackfin
	architecture.

2005-12-27  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/switch.S (rthal_kcontext_switch): Protect
	caller-saved registers across switch.

2005-12-16  Jan Kiszka  <jan.kiszka@web.de>

	* src/skins/rtdm: Let applications start even if the kernel
	services of RTDM are not available.

2005-12-26  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/skins/posix/mq.c (mq_notify): Implement mq_notify.

	* src/skins/posix/semaphore.c (__wrap_sem_open)
	  ksrc/skins/posix/syscall.c (__sem_open): Store the kernel-space
	pointer in a user-space sem_t structure, for compatibility with
	__wrap_sem_init.

	* ksrc/skins/posix/signal.c: Use an APC to get signals delivered
	to user-space threads.

2005-12-17  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/nucleus/shadow.c (gatekeeper_thread): Discard useless
	splnone().

2005-12-16  Jan Kiszka  <jan.kiszka@web.de>

	* include/posix/signal.h: Forward inclusion of standard
	<signal.h>.

2005-12-16  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/ppc/patches: Upgrade to Adeos 2.6.14-1.0-08.

	* ksrc/arch/i386/patches: Upgrade to Adeos 2.6.14-1.0-12.

	* ksrc/nucleus/shadow.c (xnshadow_harden): Fix potential lockups
	caused by a bad scheduling sequence between the gatekeeper and the
	hardening task.

2005-12-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/hal.c: Use the Blackfin core timer as the
	only time source for all modes.

	* src/skins/native/task.c: Compile message-passing support
	unconditionally.

	* ksrc/nucleus/shadow.c (xnshadow_relax): Make the root priority
	boost and the suspension on XNRELAX an atomic sequence.

2005-12-12  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/nmi.c: Add NMI watchdog support.

	* ksrc/nucleus/shadow.c (do_schedule_event): Do not trigger a
	fatal error for unstarted Xenomai shadows. A Linux preemption
	could occur on the return path from xnshadow_map() to the wait
	barrier syscall from user-space.

2005-12-11  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c (__rt_queue_delete,
	__rt_heap_delete): Call the heap deletion routine out of any
	nklocked section.

	* ksrc/skins/native/queue.c (rt_queue_delete): 
	* ksrc/skins/native/heap.c (rt_heap_delete): Move indirect calls
	to Linux kernel services out of any nklocked section
	(xnheap_destroy[_shared]).

2005-12-09  Heikki Lindholm <holindho@cs.helsinki.fi>

	* ksrc/arch/powerpc/hal.c: Let each processor set its own
	disarm_decr. Additionally, cuts down unused code from UP build.

2005-12-09  Jan Kiszka  <jan.kiszka@web.de>
	
	* src/skins/native/Makefile.am, src/skins/posix/Makefile.am: Add
	-pthread to LDFLAGS.

 	* src/skins/native/task.c, include/native/task.h: Add
	rt_task_join() and the related T_JOINABLE mode flag.
 
2005-12-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/hal.c (rthal_timer_release): Properly stop
	the running aperiodic timer using the associated TRUN bit.

2005-12-07  Heikki Lindholm <holindho@cs.helsinki.fi>
	
	* ksrc/arch/powerpc/patches: Upgrade to Adeos/ppc64 0.9-02.
	
	* ksrc/arch/powerpc/hal.c, include/asm-powerpc/system.h,
	include/asm-powerpc/hal.h: Add SMP support.
	
2005-12-07  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/uvm/syscall.c (__vm_shadow_helper): 
	* ksrc/skins/native/syscall.c (__rt_task_create): Do not stall the
	Xenomai domain during shadow mapping; this is useless and induces
	jitter since we end up locking the interrupts out across Linux
	schedulings. Issue spotted by Jan Kiszka.

2005-12-04  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/switch.S (rthal_defer_switch_p): Add
	predicate to check for any pending syscall event.

	* ksrc/nucleus/shadow.c (do_hisyscall_event): Check for a
	rescheduling opportunity early when processing a pipelined
	syscall: some archs might delay them until a pending syscall is
	actually taken (e.g. Blackfin).

	* include/asm-generic/system.h (xnarch_escalate): Move the escalation
	service in the arch-dependent section, since archs may have
	different sets of criteria for deferring the rescheduling
	procedure.

2005-12-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in, doc/doxygen/Doxyfile.in: Fix compilation of
	documentation.

2005-12-03  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/switch.S (rthal_ucontext_switch): Rewrite
	user-space context switch routine as plain assembly code.

2005-12-02  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin/hal.c (rthal_timer_ack): Acknowledge timer
	interrupts immediately from the Adeos prologue.

	* ksrc/arch/blackfin/switch.S: Improved context switch routine
	for kernel threads; well, basically, this one works.

	* include/asm-blackfin/system.h (xnarch_init_thread): Update
	bootstrap code for new context switch code.

	* ksrc/nucleus/intr.c, include/asm-*/system.h
	(xnarch_announce_tick): Provide for arch-dependent clock tick
	clearance.

	* ksrc/arch/blackfin/hal.c (rthal_arch_init): Define
	RTHAL_TIMER_FREQ as SCLK frequency.

	* include/asm-blackfin/system.h (xnarch_program_timer_shot):
	Convert CCLK to SCLK units.
	
	* include/asm-blackfin/hal.h (__rthal_u64fromu32,
	__rthal_u64tou32): Fix endianness issue.

2005-12-01  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-blackfin/system.h (xnarch_switch_to): Protect all
	caller-saved registers across user-space switches.

	* configure.in, src/testsuite, scripts/xeno-config.in: Introduce
	*USER_LDFLAGS so that we can ask for flat executables when linking
	for uClinux.

	* ksrc/blackfin/hal.c: Implement timer support.

	* include/asm-blackfin/syscall.h: Finalize for user-space build.

	* ksrc/skins/rtai/task.c (rt_task_init): Make proper cleanup upon
	xnpod_start_thread() failure.

2005-12-01  Jan Kiszka  <jan.kiszka@web.de>

	* ksrc/skins/rtdm/drvlib.c (rtdm_task_join_nrt): Clarify doc.

2005-11-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pod.c (xnpod_delete_thread): Prevent double-deletion.

	* ksrc/arch/blackfin, include/asm-blackfin: Finalize groundwork
	for the Blackfin port.

	* ksrc/nucleus/heap.c: Provide support for !CONFIG_MMU.

	* ksrc/arch/powerpc/patches: Upgrade to Adeos
	2.4.25-denx-0.9-04, 2.6.10-ppc64-r3.patch.

2005-11-30  Ignacio Garcia Perez <iggarpe@terra.es>

	* ksrc/nucleus/timer.c: Make internal routines static.

2005-11-30  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus, include/asm-*/atomic.h, include/nucleus: Reduce
	need for atomic op support in user-space to the bare minimum.

2005-11-30  Jan Kiszka <jan.kiszka@web.de>

	* ksrc/arch/i386/smi.c: Remove __initdata from rthal_smi_pci_tbl
	to make table persistent.

	* ksrc/nucleus/module.c (__xeno_sys_exit): Reorder proc-fs
	cleanup to avoid stalled entries.

2005-11-29  Philippe Gerum  <rpm@xenomai.org>

	* include/asm-powerpc/atomic.h: Add missing xnarch_atomic_set() in
	user-space.

	* ksrc/nucleus/pipe.c (xnpipe_recv): Remove superfluous timeout
	computation.

	* ksrc/arch/powerpc/patches: Upgrade to Adeos 2.6.14-1.0-07.

	* ksrc/arch/i386/patches: Upgrade to Adeos 2.6.14-1.0-11.

	* ksrc/skins/native/intr.c: Documentation:: add explicit reference
	to rt_intr_enable() from rt_intr_create().

2005-11-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/i386/hal.c (die_nmi): Provide replacement for Linux
	2.6 functions missing in Linux 2.4.

	* ksrc/arch/i386/nmi.c: Provide replacement for Linux 2.6
	functions missing in Linux 2.4.

2005-11-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* ksrc/arch/i386/smi.c (pci_get_device): Fix compilation for 2.4
	kernels.

2005-11-28  Jan Kiszka <jan.kiszka@web.de>
 
 	* ksrc/arch/i386/Kconfig: Fixed XENO_HW_NMI_DEBUG_LATENCY_MAX
 	kconfig type.
 
 	* include/asm-i386/system.h, ksrc/arch/i386/hal.c: Fixed
 	harmless compiler warnings.
 
2005-11-28  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/shadow.c (exec_nucleus_syscall): Plan for local
	arch-dependent syscalls.

	* ksrc: Finalize backport to 2.4/x86.

	* include/asm-i386/features.h: Fix mandatory feature set.

2005-11-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/Makefile.am (nodist_include_HEADERS): Install
	xeno_config.h in include zone.

	* Makefile.am (ACLOCAL_AMFLAGS): Have maintainer mode work.

	* ksrc/nucleus/intr.c: Fix doxygen comment.

	* include/vxworks/defs.h (wind_errnoset): Handle correctly the
	case wind_current_task() == NULL.

	* ksrc/skins/posix/sem.c (pse51_sem_init): Avoid clash between
	POSIX skin sem_init function and SYSV semaphores initialization
	routine.

2005-11-25  Jan Kiszka <jan.kiszka@web.de>

	* ksrc/skins/native/{pipe.c,syscall.c}, src/skins/native/pipe.c,
	include/native/pipe.h: Added poolsize parameter to rt_pipe_create
	for setting up pipes with private buffer pools of user-defined
	size. Also, the addressed pipe has to be passed to rt_pipe_alloc
	and rt_pipe_free now.

2005-11-25  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Enable x86-tsc by default.

	* ksrc: Groundwork for backporting to 2.4/x86.

	* ksrc/arch/generic/compat.c (kthread_trampoline): Fix
	uninitialized error code.

	* scripts/prepare-kernel.sh: Remove hard-coded arch-dep paths.

	* include/asm-uvm: Group all UVM-related headers; deprecate
	include/uvm.

2005-11-24  Philippe Gerum  <rpm@xenomai.org>

	* src/nucleus/Makefile.am: Build the nucleus in UVM mode.

	* include/nucleus/types.h: Map SKIN_INIT to __xeno_skin_init in
	the UVM case.

	* src/include/asm-uvm, sim/include/asm-mvm: Move to
	include/asm-{uvm,sim}, since both actually depend on the system
	interface specification.

2005-11-21  Philippe Gerum  <rpm@xenomai.org>

	* skins/native, nucleus/pipe.c: Globally replace ENOSPC by
	ENOBUFS.

2005-11-21  Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* ksrc/nucleus/pipe.c (xnpipe_send): Return -ENOBUFS instead of
	-ENOSPC when a given buffer is not big enough for the entire
	message to be written in. perror() gives a, hopefully,
	more-precise and less-confusing description for the former one.

2005-11-18  Heikki Lindholm <holindho@cs.helsinki.fi>

	* include/asm-powerpc/system.h, ksrc/arch/powerpc/switch_64.S: Add
	ppc64 I-pipe kernel support.

	* include/asm-powerpc/atomic.h: Fix merge regression.
	
2005-11-18  Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* nucleus/pipe.c (xnpipe_cleanup_user_conn): Clear
	XNPIPE_USER_CONN flag and cleanup the associated data queues in
	one atomic step.
	
2005-11-19  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/Config.in: Add missing machine-level options.

	* arch/ppc/patches: Upgrade to Adeos 2.4.25/0.9-03.

2005-11-18  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/blackfin, include/asm-blackfin: Add preliminary
	support for the Blackfin DSP architecture. Based on a uClinux port
	from ADS (http://blackfin.uclinux.org/).

	* ksrc/arch/{powerpc,ia64}/hal.c: Fix default value for
	rthal_timerfreq_arg.

2005-11-17  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/powerpc/patches: Add Adeos support for 2.4.25 based on
	Denx's linuxppc_2_4_devel tree.

	* scripts/prepare-kernel.sh: Update for 2.4 kernel preparation.

2005-11-16  Dmitry Adamushko <dmitry.adamushko@gmail.com>

	* nucleus/pipe.c, skins/native/pipe.c: Support for auto-allocation
	of minor values for the pipe objects. Passing P_MINOR_AUTO as a
	third argument to the rt_pipe_create() causes the minor value to
	be auto-allocated. In such a case, standard linux processes must
	make use of the valid pipe name exported through the registry
	interface in order to get connected to the pipe
	(i.e. /proc/xenomai/registry/pipes/*).

2005-11-16  Heikki Lindholm <holindho@cs.helsinki.fi>

	* scripts/prepare-kernel.sh: Link .S files too.

2005-11-14  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/skins/native/syscall.c (__rt_pipe_flush): Export
	rt_pipe_flush() to user-space.

	* include/native/pipe.h: Declare rt_pipe_flush() in kernel
	section.

	* src/skins/*/init.c (constructor): Make sure we properly
	intercept all binding errors.

2005-11-13  Philippe Gerum  <rpm@xenomai.org>

	* ksrc (Config.in): Fix module dependencies for v2.4.
	
	* ksrc (Makefile): Fix module compilation rules for v2.4.

	* ksrc: Backport infrastructure to Linux v2.4.

2005-11-12  Sebastian Smolorz  <Sebastian.Smolorz@stud.uni-hannover.de>

	* ksrc/skins/rtdm/syscall.c (sys_rtdm_recvmsg): Fix error checking.

2005-11-09  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/nucleus/pipe.c (xnpipe_disconnect): Flush the output queue
	upon closure.
	(xnpipe_release): Flush the input queue upon closure.

2005-11-08  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (lostage_handler): Fix thread priority
	transition while relaxing a shadow by downgrading the root thread
	priority to its base one whenever, we happen to run the APC over a
	non-shadow. This prevents the temporary priority boost from
	leaking to some current regular thread before the shadow actually
	resumes.

2005-11-08  Jan Kiszka <jan.kiszka@web.de>

	* skins/rtdm (rtdm_task_init): Fix a cleanup-on-error problem and
	move this call into drvlib.

	* skins/rtdm: Get rid of __u64 and __s64 usages in favour of
	uint64_t and int64_t. Improve the documentation of
	rtdm_device.device_name and RTDM_EXECUTE_ATOMICALLY. Move
	EXPORT_SYMBOLs to their related functions.

	* drivers/16550A: Allow for the baud rate to be provided as an
	integer token instead of the previous low-level encoded value.

2005-11-08  Ulrich Schwab  <schwab@inmess.de>

	* skins/native/task.c (rt_task_receive): Fix documentation.

2005-11-08  Philippe Gerum  <rpm@xenomai.org>

	* scripts/prepare-kernel.sh, ksrc: Make Xenomai compilation
	directories local to the kernel tree.

2005-11-05  Philippe Gerum  <rpm@xenomai.org>

	* ksrc/arch/i386/patches: Deprecate oldgen patches, and upgrade to
	2.6.14.

	* ksrc/nucleus/shadow.c: Return feature sets (present, requested,
	mandatory and missing) in symbolic form upon skin binding.

	* src/skins/*/init.c (constructor): Explain binding errors.

	* include/asm-generic/syscall.h: Remove obsolete xninquiry_t.

	* v2.1: Install all interface headers so that kernel modules could
	be built against those without requiring a complete Xenomai source
	distribution.

	* configure.in: Allow in-tree builds.

2005-11-03  Heikki Lindholm <holindho@cs.helsinki.fi>

	* ksrc/arch: Merge ppc and ppc64 trees, in preparation for 2.6.15.
	
2005-11-03  Philippe Gerum  <rpm@xenomai.org>

	* scripts/prepare-kernel.sh: Read unspec arguments interactively.

	* v2.1: Merge trunk updates.

2005-11-02  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos newgen 1.0-10.

	* arch/ppc/patches: Upgrade to Adeos newgen 1.0-06.

2005-11-02  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Revert commit r53, passing CC variable to Kbuild
	through environment does not seem to work.

2005-11-01  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches, arch/ppc/patches: Upgrade base Adeos port to
	2.6.14.

	* arch/i386/hal/smi.h, skins/posix/posix.h, skins/rtdm/drvlib.c,
	skins/rtdm/core.c: Fix #if -> #ifdef issues.

2005-10-30  Jan Kiszka <jan.kiszka@web.de>

	* drivers/16550A/README: Clarify documentation.

2005-10-28  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Quote version stamp regexp as needed.

2005-10-27  Jan Kiszka <jan.kiszka@web.de>

	* drivers/16550A (rt_16550_ioctl): Have RTSER_RTIOC_EVENT_WAIT
	auto-switch to RT when applicable and fix memory leak in error
	path from RTSER_RTIOC_SET_CONFIG. Add README.
	
2005-10-27  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos newgen 1.0-09.

	* arch/ppc/patches: Upgrade to Adeos newgen 1.0-05.

	* skins/uvm/module.c (__xeno_skin_init): Fix error path.

	* nucleus/core.c (xncore_attach): Fix error return.

	* nucleus/module.c: Make the system heap size dynamically
	configurable.

	* skins/uvm/syscall.c (__vm_thread_activate): Fix auto-start: we
	_must_ suspend the previous thread including in that case.

	* nucleus/thread.c, include/nucleus/asm-*/system.h: Move stack
	allocation/deallocation to the arch-dep sections.

	* nucleus/thread.c (xnthread_init): Align stack size on natural
	long and fix comment.

2005-10-25  Jan Kiszka <jan.kiszka@web.de>

	* skins/rtdm/rtdm_driver.h: Abstract task priority increment.

2005-10-23  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: Xenomai 2.0 (Surfing With The Alien)

2005-10-22  Philippe Gerum  <rpm@xenomai.org>

	* v2.1: Implement a split source model, decoupling the kernel
	space support from the user-space libraries used in accessing the
	former.

2005-10-22  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos newgen 1.0-08.

2005-10-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* GNUmakefile.am (dist-hook): Remove the .svn directories from the
	distributed files.

2005-10-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/syscall.c (__sem_timedwait): wrap the sem_timedwait
	call. Change the flags of sem_getvalue to __xn_exec_any.

2005-10-21  Jan Kiszka <jan.kiszka@web.de>

	* skins/rtdm: Account for CONFIG_XENO_OPT_PERVASIVE.

	* testsuite/*latency: Fix signedness issue with GCC 4.0.

	* include/nucleus/types.h: Macro-ize users of string/formatting
	routines so that this file can still be included with minimal
	dependencies for grabbing types and constants.

2005-10-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Pass CC variable to Kbuild in environment instead
	of command line in order to allow Kbuild makefiles to extend the
	value of this variable. Fixes bug #4546.

2005-10-10  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* skins/native: Properly handle creation of anonymous user-space
	objects.

2005-10-19  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/timer.c (rt_timer_start): Check for actual timer
	setup conflict instead of bluntly bailing out on error even for
	compatible settings.

2005-10-19   Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/runinfo.man.in: Add man page.
	* doc/man/xeno-info.man.in: Add man page.
	* doc/man/xeno-load.man.in: Add man page.
	* doc/man/xeno-test.man.in: Add man page.
	* doc/man/xeno-config.man.in: Renamed xeno-config.man into
	xeno-config.man.in, so that the Xenomai version number is
	automatically updated by configure.

	* scripts/xeno-config.in: Fix --verbose output (too many "="s).
	* scripts/xeno-test.in: Fix usage output for -N option.

2005-10-18  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos newgen 1.0-01.

2005-10-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Get IPIPE_ARCH_STRING from include/asm-*/ipipe.h,
	not include/linux/ipipe.h.
	Add -m32 to ARCH_FLAGS.

	* Kbuild -> Makefile; 2.6.9 did not support makefiles named Kbuild
	yet.

2005-10-18   Romain Lenglet <rlenglet@users.forge.objectweb.org>

	* doc/man/xeno-config.man: Add man page.

	* scripts/xeno-config.in: Fix --verbose option.

2005-10-17  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-generic/system.h (xnarch_set_irq_affinity):
	Use generic xnarch_cpumask type.

2005-10-16  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/switch.S: Do not include <asm/offsets.h> uselessly.

2005-10-15  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Moved the package version number to config/version.

2005-10-15  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos newgen 1.0-00.

	* arch/i386/patches: Upgrade to Adeos newgen 1.0-07.

2005-10-14  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/include/calibration.h: Reduce default calibration value
	to 9500 ns (currently aligned on Freescale's IceCube
	performances for user-space latency).

2005-10-14  Sebastian Smolorz <Sebastian.Smolorz@stud.uni-hannover.de>

	* drivers/16550A/16550A.c (rt_16550_ioctl): Check for memory
	allocation error.

2005-10-13  Heikki Lindholm <holindho@cs.helsinki.fi>

	* arch/ppc64/patches: Upgrade to Adeos 2.6.10-ppc64-r2.

2005-10-12  

	* skins/rtdm/proc.c (rtdm_proc_init): Fix root proc file name.

2005-10-11  

	* arch/ppc64/include/calibration.h: Reduce default calibration
	value to 1 us.
	
2005-10-11  Jim Cromie <jcromie@divsol.com>
	
	* scripts/xeno-config.in: Add --verbose option.

2005-10-10  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos newgen 1.0-06.

2005-10-10  Jim Cromie <jcromie@divsol.com>

	* scripts/xeno-test.in: Uniformly use loudly() function to emit
	all output.

2005-10-10  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* skins/native/syscall.c (__rt_queue_bind, __rt_heap_bind):
	Sanitize by relying on a single binding call.

2005-10-10  Jan Kiszka <jan.kiszka@web.de>

	* drivers/16550A: Check calling context in ioctl() support.

2005-10-04  Jan Kiszka <jan.kiszka@web.de>

	* drivers/16550A (rt_16550_interrupt): Fix locking issue.

	* drivers/16550A (rt_read/rt_write): Fix spurious byte count upon
	incomplete read/write op on entry. Various cleanups in the IOCTL
	interface.

2005-09-28  Philippe Gerum  <rpm@xenomai.org>

	* Xenomai 2.0 baseline (http://www.gna.org/projects/xenomai/):
	Based on unpublished RTAI/fusion 0.9.2.

2005-09-21  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Fix CONFIG_XENO_OLD_FASHIONED_BUILD.

2005-09-19  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/intr.c (__intr_read_proc): Fix output in
	!CONFIG_XENO_OPT_PERVASIVE case.

2005-09-18  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos oldgen r13c5 and newgen
	1.0-04.

2005-09-17  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/heap.c: Extend udev support.

2005-09-17  Frederic Villeneuve <frederic.villeneuve@laposte.net>

	* nucleus/pipe.c: Add udev support.

2005-09-16  Jan Kiszka <jan.kiszka@web.de>

	* skins/rtdm/lib/core.c (rt_dev_ioctl): Fix issue w/ GCC 2.95.

2005-09-15  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-generic/system.h (xnlock_put_irqrestore):
	Catch attempts of unlocking locks which are already unlocked.

	* nucleus/pod.c (xnpod_schedule): Acquire nklock after thread
	relaxation so as to restore the state expected by xnpod_schedule
	caller.

2005-09-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/signal.c (pse51_dispatch_shadow_signals): Do not
	hold nklock while migrating to user-space for signal handling.

2005-09-14  Jan Kiszka <jan.kiszka@web.de>

	* configure.in: Fix handling of recent CONFIG_XENO_OPT_CONFIG_GZ
	option.

	* drivers/16550A: Clear the internal error state after changing
	the serial line setup.

2005-09-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_schedule): Skip xnpod_schedule epilogue
	when relaxing a thread, we need Linux' schedule tail
	(rthal_reenter_root) instead.

2005-09-12  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/config.c: Add support for wrapping the configuration
	file into the nucleus image (ala IKCONFIG).

	* skins/native/syscall.c (__rt_task_create): Propagate T_SUSP if
	present to the actual syscall.

2005-09-12  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.9.1 (Not Of This Earth)

2005-09-11  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos oldgen r13c3 and newgen
	1.0-02.

	* arch/ppc/patches: Upgrade to Adeos oldgen r8c4.

	* skins/native/syscall.c (__rt_queue_bind, __rt_heap_bind): Check
	whether we actually run in primary mode before attempting to relax
	the caller.
	__rt_heap_alloc: Make conforming.

	* skins/native/heap.c (__heap_read_proc): Swap used and total size
	values.

	* include/nucleus/asm-i386/hal.h (rthal_timer_program_shot): Kick
	the timer IRQ immediately upon null delay using the HAL's internal
	interrupt trigger service.

2005-09-09  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/demos/accuracy.c (threadB): Fix sem_wait() arg.

	* fusion: Makefile.kbuild -> Kbuild; remove top and bottom Kbuild
	commands.

	* fusion/makefile: Rename srctree to xeno_srctree to prevent
	conflicts with Kbuild.

2005-09-06  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.9 (Ice Nine)

2005-09-06  Heikki Lindholm <holindho@cs.helsinki.fi>
	
	* skins/posix/lib/wrappers.c: Solve shared lib issues with the
	--wrap directive.
	
2005-09-06  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Add initial release of the next generation
	Adeos support.

	* drivers/16550A/16550A.c: Include missing asm/io.h.

	* skins/posix/lib/GNUmakefile.am (libpthread_rt_la_LDFLAGS):
	Remove spurious wrapping flags.

	* skins/posix/demos/accuracy.c (threadA, threadB): Make sem_wait()
	check for errors.

	* nucleus/shadow.c (gatekeeper_thread): Clear the root thread's
	priority boost after the current gatekeeping request has been
	processed.

2005-09-05  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-generic/system.h (xnarch_escalate): Get rid
	of splsync there; this is useless and used to induce high jittery
	in SMP configs, due to interrupt storm hitting the gatekeeper in
	the middle of a thread hardening sequence.

2005-09-05  Heikki Lindholm <holindho@cs.helsinki.fi>

	* arch/ppc64/patches: Upgrade to Adeos/ppc64 r2c2.

	* include/nucleus/asm-ppc64/atomic.h (atomic_set_mask,
	atomic_clear_mask): Fix.

	* fusion: Adapt to RTHAL virtualization.
	
2005-09-04  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos/ppc r8c3.

	* arch/i386/patches: Upgrade to Adeos/x86 r13c2.

	* arch/ia64/patches: Upgrade to Adeos/ia64 r8c2.

2005-09-03  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (__rt_task_create): Don't enable the
	interrupt shield by default since this has a penalty for threads
	only running in the primary domain. Leave the enabling on a
	thread-by-thread basis, for CPU-bound tasks mostly executing in
	the secondary domain, through the rt_task_set_mode() interface.

	* nucleus/shadow.c: Make the interrupt shield support optional.

2005-09-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/sem.c (sem_destroy, sem_timedwait_internal): Allow
	semaphores to be destroyed even if some threads are pending on
	them.

2005-09-02  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/module.c: Revamp /proc/xenomai/{sched,stat} output format.

2005-08-31  Stephane Fillod  <stephane.fillod@thomson.net>

	* skins/rtai/fifo.c (__fifo_pkg_init): fix missing init of flush
	queue handles.

2005-08-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/lib/init.c: Use INT_MAX as a default value for
	__rtdm_fd_start, in order to have syscalls working even when RTDM
	skin is not loaded.

	* skins/posix/lib/rtdm.c (__wrap_accept): Handle return value
	the way __wrap_open and __wrap_socket handle it.

2005-08-31  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Add fusion's signature to base CFLAGS
	(-D__XENO__).

	* skins/posix/lib/rtdm.c (__wrap_open, __wrap_socket): Divert the
	syscall to Linux in case -ENOSYS is returned, which may happen if
	the RTDM module is not loaded.

2005-08-30  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/demos/accuracy.c: Use both sem_open and sem_init.

	* skins/posix/timer.c: Conform to POSIX for overrun handling.

2005-08-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/demos/satch.c: Add the satch example, as a demo of
	the timer_* and mq_* functions.

	* skins/posix/signal.c (pse51_signal_cleanup_thread): Collect the
	siginfo structs queued to a dying thread. 
	(pse51_dispatch_shadow_signals): Avoid storing siginfo structs on
	temporary list, in order to avoid leaking these structs.

	* skins/posix/*.c (*_pkg_cleanup): Noisy gargage collection,
	when debug is activated.

	* skins/posix/signal.c (pse51_sigqueue_inner): Call
	xnshadow_suspend to cause migration of the target thread to
	primary mode, in order to get the signals dispatch function
	called;

	* nucleus/shadow.c (xnshadow_harden): Dispatch signals when
	hardening a thread. Export "xnshadow_suspend" for use by the POSIX
	skin.
  
	* include/nucleus/asm-i386/syscall.h (__xn_range_ok): Same meaning
	as on other arches.

2005-08-28  Philippe Gerum  <rpm@xenomai.org>

	* pod.c (xnpod_wait_thread_period): Catch earlier overruns
	occurring due to scheduling delays.

2005-08-27  Jan Kiszka <jan.kiszka@web.de>
	
	* fusion: Fix compilation issues with gcc 4.0.1.

2005-08-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_schedule): Reread the value of the running
	thread after context switches (this fixes a broken optimization).

2005-08-26  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c (rt_registry_enter): Add a few
	micro-optimizations.

	* arch/generic/hal/generic.c: Move locking statistics support to
	the nucleus where it actually belongs to.

	* include/nucleus/asm-generic/system.h (xnlock_put_irqrestore):
	Simplify locking scheme used to collect hotspots.

	* nucleus/pipe.c (xnpipe_read_wait): Do not hold the nucleus lock
	across preemptible sections that may reschedule on exit,
	specifically with SMP configurations.

2005-08-26  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/timer.c: Finished POSIX timers implementation.

	* skins/posix/signal.c: Replace "reliable" POSIX signals with
	"real-time" POSIX signals, add support for sigqueue, sigtimedwait,
	sigwaitinfo and SA_SIGINFO sigaction flag.

2005-08-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-ppc/system.h (xnarch_enable_fpu): Already
	working since FPU status bit is saved and restored when preempting
	and reentering user-space.

	* include/nucleus/asm-i*/system.h (xnarch_enable_fpu): Do not
	enable FPU when reentering a root thread which had not used the
	FPU.

2005-08-25  Dmitry Adamushko  <dmitry.adamushko@datacon.at>
 
 	* skins/native/alarm.c (__alarm_read_proc): Add /proc export
 	information.
 
2005-08-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/module.c (sched_seq_open, stat_seq_open): Make sure that
	the nklock is being held for the shortest possible time, so that
	dumping the associated /proc files with lots of entries won't
	cause massive jittery.

2005-08-24  Jim Cromie <jcromie@divsol.com>

	* scripts/xeno-test.in: Extend with pre & post load-tests.

2005-08-23  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* skins/native/registry.c (rt_registry_bind): Allow unblockable
	contexts to try-and-fail binding to a non-registered object,
	instead of always bailing out on -EPERM error.

2005-08-22  Philippe Gerum  <rpm@xenomai.org>

	* skins/rtdm: Merge RTDM patch level #10 and #11.

2005-08-22  Dmitry Adamushko  <dmitry.adamushko@gmail.com>

	* skins/rtdm/proc (proc_read_open_fildes): Don't uselessly copy
	the fildes struct while iterating.

2005-08-21  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Display kernel EXTRAVERSION.

	* skins/rtdm: Merge RTDM patch level #9.

	* CREDITS: Add.

	* arch/ppc/patches: Upgrade to Adeos/ppc r8c2.

2005-08-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_schedule, xnpod_schedule_runnable): Avoid
	calling xnpod_current_sched after each context switch.

2005-08-20  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r13c1.

	* scripts/xeno-config.in: Add --symbol-dir.

	* include/nucleus/asm-i386/syscall.h: Simplify the configuration
	by removing the adaptive VSYSCALL support: this made little sense,
	since RT users will/must know which capabilities their respective
	targets have. Replace all the hairy VSYSCALL-related switches by a
	single SEP-related one: i.e., either one activates SEP and has
	NPTL, or disables it. No middle choice anymore.

	* skins/posix/syscall.c: Set __pthread_setschedparam as
	conforming.

	* fusion: Following Jan's proposal, export module symbols to a
	central repository, and get rid of the former ugly hack
	circumventing the Kbuild warnings in the same move.

2005-08-19  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Make all *bind() calls conforming, so that
	we do not attempt to switch the caller to primary mode if it
	happens to be a unshadowed thread, but we do so otherwise.

	* skins/posix/syscall.c (__pthread_setschedparam): Automatically
	shadow the calling thread when applicable.

	* testsuite/latency/latency.c (main): Fix overflow for periods > 2
	ms (period_ns).

	* arch/ia64/hal/ia64.c, arch/ppc64/hal/ppc64.c
	(do_exception_event): Fix propagation code.

2005-08-18  Fillod Stephane <stephane.fillod@thomson.net>
	
	* nucleus/heap.c, nucleus/pipe.c: Use C99 initializers.

	* skins/rtai/shm.c: Add shared memory support.

	* skins/rtai/fifo.c: Pass read/write flag to fifo handlers.

2005-08-17  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_harden): Wait in TASK_INTERRUPTIBLE
	state instead of TASK_UNINTERRUPTIBLE, so that we don't mess with
	the runqueue's counter of uninterruptible tasks.
	(do_sigwake_event): Fix debug break state detection for
	LinuxThreads setups.

2005-08-17  Dmitry Adamushko  <dmitry.adamushko@datacon.at>
	
	* nucleus/pipe.c: Various cleanups.

2005-08-16  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c: Rework and simplify timer locking code.

	* arch/generic/hal/generic.c: Group spinlock debugging features.

2005-08-15  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Add ltt-enabled r12 patch.

2005-08-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/sem.c (sem_open, sem_close, sem_unlink): Add support
	for named semaphores.

2005-08-13  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/pod.h (xnsched_cpu): Provide an efficient UP
	implementation.

	* nucleus/pod.c (xnpod_schedule): Add diagnostic for missing
	rescheduling bit when in debug mode.

	* nucleus/shadow.c: Get rid of xnshadow_ticks2t[sv] and
	xnshadow_t[sv]2ticks which are no longer in use.

	* include/nucleus/pod.h (xnpod_ns2ticks, xnpod_ticks2ns): Avoid
	useless operations when system only supports aperiodic timer.

2005-08-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/generic/hal/generic.c (xnlock_read_proc): Add spinlock
	locking duration statistics.

2005-08-10  Philippe Gerum  <rpm@xenomai.org>

	* skins/rtdm: Merge RTDM patch level #8.

	* include/nucleus/asm-uvm/system.h (main): Mlockall MCL_FUTURE too.

	* skins/posix/lib/thread.c (__pthread_trampoline): Switch to
	primary mode before entering the thread body.

	* skins/posix/syscall.c (__pthread_set_mode_np): Add primary mode
	switch through PTHREAD_PRIMARY.

	* skins/rtdm: Merge RTDM patch level #7.

	* nucleus/timer.c: Refactor using function tables for periodic and
	aperiodic modes. Aperiodic mode is now the built-in one, and
	periodic has become optional, which is more consistent wrt the hw
	situation.

2005-08-09  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c: Alloc hash-table from host memory and
	properly check for failure.

2005-08-08  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc, include/nucleus: Finalize dual I-pipe/Adeos support
	for ppc.

2005-08-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/syscall.c, skins/posix/lib/clock.c: Allow
	CLOCK_REALTIME to be used. Fix error handling.

	* nucleus/pod.c (xntbase_set_time): Do not assume that
	nkpod->wallclock_offset is 0.

2005-08-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/*.[ch]: Rename initialization and cleanup functions 
	_pkg_init/_pkg_cleanup for consistency with native skin.

	* skins/posix/mq.c: Use registry.c functions.

	* skins/posix/registry.c: attempt of generic support for
	open/close/unlink factored-out of mqueues implementation.

	* skins/posix/clock.c: remove check for NULL pointers.
	(clock_nanosleep): better error statuses, handle timer nucleus
	clock wrap-around correctly.

2005-08-07  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/syscall.h: Add forced fast syscall
	access directly branching to the VSYSCALL DSO for NPTL-enabled
	platforms.

2005-08-06  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_lock_timers): Do not elapse outstanding
	timers while undergoing a debugging break state; this makes using
	GDB breakpoints on timed threads much more easier.

	* skins/native/alarm.c: Fix rt_alarm_create() documentation.

2005-08-05  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (rt_intr_handler, rt_alarm_handler): Export
	so that kernel-based ISR or alarm handlers can synchronize with
	user-space waiters through rt_intr/alarm_wait().
	(__rt_bind_helper): Rewrite so that we use the proper placeholder
	type.

	* skins/native/intr.c (__intr_read_proc): Add /proc export
	information.

	* skins/native/lib/intr.c (rt_intr_bind): Fix binding key.

2005-08-04  Philippe Gerum  <rpm@xenomai.org>

	* skins/rtdm/module.c (rtdm_skin_init): Fix compilation in
	!CONFIG_XENO_OPT_PERVASIVE case.

	* include/nucleus/pod.h: Discard the useless tick handler callback
	from the service table.

	* nucleus/pod.c (xnpod_wait_thread_period): Reset the overrun
	count upon XNBREAK condition.

2005-08-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/internal.h (clock_adjust_timeout): Correct behaviour
	in clock wrap case.

2005-08-02  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386, include/nucleus: Finalize dual I-pipe/Adeos support
	for x86.

	* skins/rtdm: Merge RTDM patch level #6.

2005-08-01  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/posix.h, 
	  skins/posix/timer.h: 
	  sim/skins/posix/posix_override.h,
	  sim/skins/posix/GNUmakefile.am: Have timers compile with
	simulator.

	* skins/posix/thread.h (thread_set_errno, thread_get_errno):
	Handle the interrupt case, to allow sem_post to be used from
	interrupts.

	* skins/posix (cond_timedwait, mutex_timedlock, sem_timedwait, 
		mq_timed*): use clock_adjust_timeout.

	* skins/posix/internal.h (clock_get_ticks, clock_adjust_timeout):
	Factor the timeouts handling, treating correctly the case where
	timeout has already passed.

	* skins/posix/clock.c: Add support for CLOCK_REALTIME.

2005-07-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/rtdm/drvlib.c (rtdm_task_busy_sleep), 
	skins/native/timer.c (rt_timer_spin): Call cpu_relax when busy
	waiting.

	* testsuite/latency/latency.c (latency): use rt_timer_inquire to
	get a synchronized tsc value and tick count.

	* skins/native/timer.c (rt_timer_inquire): Add a tsc member to the
	rt_timer_info structure, the tsc returned by rt_timer_inquire is
	synchronized with the date member.

	* testsuite/latency/latency.c: Stop using rt_timer_tsc as a base
	for rt_task_set_periodic, use rt_timer_read.
	Rename variable by adding their unit (tsc, ticks, ns) to their
	name.

	* skins/native/lib/task.c (rt_task_set_periodic): Add a warning
	about last change.

	* nucleus/pod.c, nucleus/timer.c: Replace nkpod->wallclock with
	nkpod->wallclock_offset initialiazed using Linux time base, so
	that xntbase_get_time() use the same time base as Linux.

2005-07-31  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (do_setsched_event): Let the POSIX skin prevent
	scheduling policy of shadow threads from being changed from
	user-space to anything else than SCHED_FIFO.

	* nucleus/module.c (xnpod_init_proc): Use a seqfile to dump sched
	and stat information, in order to deal properly with reports
	involving a huge number of RT threads.

2005-07-30  Philippe Gerum  <rpm@xenomai.org>

	* skins/rtdm: Merge RTDM patch level #5.

2005-07-29  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/lib/thread.c (pthread_set_name_np): Add support for
	changing the nucleus thread's name dynamically.
	(pthread_make_periodic_np, pthread_detach, pthread_setschedparam):
	Pass the user's thread argument to the syscall, stop forcing
	pthread_self() by error.

2005-07-28  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/timer.h: Rename xntimer_active_p() to
	xntimer_running_p(), and redefine xntimer_active_p() for probing
	for initialized timers.

	* arch/i386/hal/x86.c (rthal_arch_init): Warn if
	CONFIG_XENO_HW_X86_VSYSCALL && !cpu_has_sep.

	* configure.in, Kconfig: Make statistics collection optional.

	* nucleus/module.c (stat_read_proc): Add context switch statistics.

	* skins/posix/clock.c: Use CLOCK_MONOTONIC.

2005-07-27  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/syscall.c: Add setitimer(), getitimer() support.

	* skins/native/syscall.c (__rt_intr_wait): Fix return value upon
	error.

	* skins/posix/cond.c (pse51_cond_obj_cleanup): Leave object
	dequeuing to cond_destroy_internal().

2005-07-26  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/lib/thread.c (pthread_set_mode_np): Remove useless
	pthread parameter; mode can only be set for the current thread
	anyway.

	* skins/posix/thread.c (pse51_errno_location): Make this call exec
	mode-agnostic, so that relaxed or plain Linux threads can use it.

2005-07-25  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/lib/interrupt.c: Add simple interrupt management
	API.

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): Perform
	manual saving and reloading of the %fs and %gs segment registers
	when switching out a Linux task context, in order to handle the
	corner cases caused by domain migrations of shadow threads
	properly.

	* skins/posix (*_destroy_internal): Make sure the internal
	destructors are always called in atomic context by cleanup loops.

2005-07-24  Philippe Gerum  <rpm@xenomai.org>

	* skins/rtai: Compatibility skin mimicking the original RTAI API;
	contributed by Nextream France S.A.
	
	* nucleus/shadow.c (do_hisyscall_event, do_losyscall_event): Add
	adaptive syscall handling (__xn_exec_adaptive), which attempts to
	restart a syscall in the opposite domain upon -ENOSYS error from
	the initial invocation.

2005-07-23  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/timer.c (rt_timer_spin): Add.

	* skins/native: Add timeout parameter to all rt_*_bind() services.

	* skins/native/mutex.c (rt_mutex_lock): Add timeout parameter.

2005-07-22  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_harden): Export.

	* include/nucleus/asm-generic/hal.h: Add RTHAL virtualization
	level.

	* skins/rtdm: Merge RTDM patch level #4.

2005-07-20  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (__switch_threads): Make sure
	we don't lose the thread i/o privileges across switches: save the
	EFLAGS, damnit! This bug was raised in VSYSCALL mode only upon
	primary -> secondary transitions, since the legacy mode always
	restores the caller's IRET frame.

	* skins/native/syscall.c (__rt_task_set_mode): Fix order of
	parameters.
	(__rt_task_set_mode): Properly switch to secondary mode if
	T_PRIMARY in found in the clrmask.
	(__rt_task_set_mode): Remove useless check for current shadow;
	this call is already tagged as __xn_exec_primary.

	* include/nucleus/asm-*/syscall.h: Propagate return values from
	__xn_copy_from_user/__xn_copy_to_user.

	* skins/rtdm: Merge Real-Time Driver Model.

2005-07-18  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/system.h: Make all user-space readers
	include <bits/local_lim.h> to get PTHREAD_STACK_MIN defined, even
	with weird glibc setups.

	* skins/native/registry.h: Remove spurious external declaration of
	__xeno_obj_slots[].

	* nucleus/pipe.c (xnpipe_read): Allow the output handler to
	override the return code.
	(xnpipe_write): Always enqueue the incoming message regardless of
	the presence of an input handler. This means that such handler
	should call xnpipe_recv() to dequeue it first, if the message is
	to be routed elsewhere.

	* nucleus/timer.c (xntimer_start): Starting a timer cannot
	fail: make this routine a void one.

2005-07-17  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc64, include/nucleus/asm-ppc64: Merge the ppc64 port, a
	contribution of Taneli Vähäkangas and Heikki Lindholm.

	* include/nucleus/asm-uvm/system.h: Use native long type for
	variables passed to atomic ops for proper operations on 64bit
	archs (uvm_irqpend, uvm_irqlock).

2005-05-05  Jan Kiszka <jan.kiszka@web.de>

	* skins/native/task.c (rt_task_sleep_until): Properly handle clock
	wrap around case.

2005-07-16  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.8.3 (Traveler)

2005-07-16  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/syscall.c (__pthread_set_mode_np): Fix check for
	k_tid validity.

	* arch/i386/patches: Upgrade to r12 final.

	* arch/ppc/patches: Upgrade to r8c1.

	* arch/ia64/patches: Upgrade to r8c1.

2005-07-14  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (linux_schedule_head): Prevent ptraced shadows
	from triggering the debug check: running a ptraced thread
	temporarily while it is blocked by the nucleus until it properly
	recovers from the latest stopped state, is legitimate.
	(gatekeeper_thread): Iron xnshadow_harden() -> gatekeeper
	transitions.

	* nucleus/shadow.c (xnshadow_harden): Revert terminally broken
	changes regarding the way the gatekeeper is woken up. Go back to
	the previous sane way (i.e. call wake_up_interruptible_sync() from
	xnshadow_harden() directly).

2005-07-13  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Make rt_task_delete() syscall conforming.

	* skins/posix/syscall.c (__sem_trywait, __sem_getvalue): Add
	missing calls.

2005-07-11  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_send_sig): Sends a signal to the
	Linux task mated to a given real-time shadow.

	* arch/i386/patches: Upgrade to r12c4.

2005-07-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* GNUmakefile.am (install-nodev): Add install-nodev target as a
	shorthand for make SUDO=false install.

2005-07-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* GNUmakefile.am (devices): If not root, try using sudo to install
	devices, if sudo fails, issue a big fat warning and exit.

	* **/*.[ch]: Upgrade comments for Debian sarge version of
	doxygen. "fn" tag arguments need to be put on one line.

	* README.INSTALL, autotools-files: upgrade to Debian sarge
	versions of the auto-tools.

	* configure.in, arch/GNUmakefile.am: Remove the recursion into the
	"generic" directory, autoconf knows about the generic/generic.c
	file through configure.in and generates correct rules in the top
	GNUmakefile.

	* configure.in, sim/configure.in, doc/doxygen/Doxyfile.in: Move
	xeno_config.h.in in the include directory to avoid recursing in
	the whole sim directory when building documentation and solve the
	conflict between the simultator and doxygen documentation options.

2005-07-10  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/native/timer.c (rt_timer_ticks2ns, rt_timer_ns2ticks):
	Change behaviour with regard to timer mode. Calling 
	rt_task_sleep(rt_timer_ns2ticks(ns)) will sleep ns nanoseconds
	whatever the timer mode.

	(rt_timer_ns2tsc, rt_timer_tsc2ns): Add these two new functions to
	get the behaviour rt_timer_ticks2ns and rt_timer_ns2ticks
	previously had when timer was in aperiodic mode.

	* skin/posix/lib/cond.c skins/posix/cond.c 
	(pse51_cond_timedwait_internal): Allow EINTR to be returned to
	user-space wrappers.
	(pthread_cond_*wait): Do not return EINTR to applications.

	* skins/posix/thread.c (pthread_join): Do not return EINTR,
	pthread_join is only called from kernel space.

	* skins/posix/mutex.c, skin/posix/lib/mutex.c
	(pthread_mutex_*lock): Do not let applications see the EINTR and
	EIDRM error codes.

	* skins/posix/mq.c (pse51_mq_timedsend_inner): Replace PSE51_RMID
	with XNRMID.

2005-07-10  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (gatekeeper_thread): Add a safety guard to
	prevent migrating Linux tasks just awaken by signals.

	* skins/posix (pthread_join, mutex_timedlock_internal): Add
	missing tests on XNBREAK and XNRMID conditions.

	* include/nucleus/queue.h: Rework debug macros to give better
	help upon bug detection.

	* nucleus/intr.c (xnintr_init): 
	* arch/generic/hal/generic.c (rthal_irq_request): Allow for
	installing a user-defined acknowledge routine.

2005-07-09  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Make -Wstrict-prototypes only part of the
	build flags for user-space components, excluding it from the
	common application flags returned by xeno-config.

	* nucleus/pod.c (xnpod_fatal_helper): Add PID information.

	* skins/posix/syscall.c (__mutex_init): Make all user-space
	mutexes recursive.

	* nucleus/shadow.c (xnshadow_harden): Make sure to be pulled out
	of the Linux runqueue, before the gatekeeper starts processing the
	shadow resumption request.

	* skins/posix/lib/thread.c (__pthread_trampoline): Fix race window
	between the parent release point and the actual use of the stacked
	start/cookie args.

2005-07-07  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-generic/hal.h: Discard Linux stage interrupt
	state manipulators: they are unused and are better not needed.

	* include/nucleus/asm-*/system.h: Discard unused
	xnarch_read_timings(). LTT support is expected to help us
	regarding this.

2005-07-04  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/syscall.h: Add __xn_strncpy_from_user().

	* arch/i386/hal/x86.c (rthal_strncpy_from_user): Add.

2005-07-03  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.8.2 (Satch Boogie)

2005-07-02  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r12c3.

	* skins/posix/syscalls.c: Finalize mq call wrappers.

	* skins/vxworks/demos/koan.c: Add new VxWorks demo.

2005-06-29  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r12c2.

2005-06-27  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r12c1.

2005-06-23  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/x86.c (rthal_timer_request): Fix cpuid mess in
	IO_APIC over UP case.

 	* RELEASE: fusion-0.8.1 (Midnight)

2005-06-22  Philippe Gerum  <rpm@xenomai.org>

	* arch/ia64: Upgrade to r7 final.
	
	* arch/ppc: Upgrade to r7 final.

	* arch/i386/patches: Remove obsolete patches.

	* skins/posix: Move u_tid -> k_tid mapping to kernel space.
	
	* nucleus/shadow.c (xeno_sysentry, linux_sysentry): Try to get
	branch prediction right.

2005-06-21  Philippe Gerum  <rpm@xenomai.org>

	* skins/uvm/module.c (__xeno_skin_exit): Detach from the fusion
	core.

	* nucleus/pod.c (xnpod_suspend_thread): Force any relaxed shadow
	thread in the process of being suspended to harden itself. We do
	this by sending the thread SIGSYS, which is trapped and causes the
	proper migration into each interface library. By doing so, we make
	sure to stop the target thread properly by moving it back under
	the control of the nucleus. This solves a bad scheduling issue
	with the UVM support.

2005-06-20  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r11 final.

2005-06-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/mq.c: Rework creation and deletion of message queues
	to avoid holding the nucleus lock while calling xnarch allocation
	functions.
	Add EXPORT_SYMBOL for all mq functions.

2005-06-19  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_shutdown): Replace the flawed shutdown
	interposition handler by a reference count for handling multiple
	skin attachments.

2005-06-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/posix.h: Added initial support for message queues.

2005-06-12  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.8 (Time Machine)

2005-06-10  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/thread.c: Add pthread_set_mode_np() for changing the
	shield state and arming the switch trap signal.

	* nucleus/pod.c: Survey page faults over shadow contexts to track
	down memory locking problems. /proc/xenomai/stats displays the new PF
	counter accordingly.

2005-06-10  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/syscall.c (__pthread_create): Destroy thread when
	mapping fails.

	* skins/posix/thread.c (thread_delete_hook): As required by the
	specification, postpone marking the thread as detached until after
	we are sure that a joiner was not canceled.

2005-06-09  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/alarm.c: Implement the missing support.

2005-06-09  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* include/nucleus/pipe.h, skins/native/pipe.h: Move rt_pipe_write()
	mode bits to a place also visible from user-space context.

2005-06-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i*/system.h (xnarch_init_fpu):
	Initialization of fusion threads in primary mode.

2005-06-08  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to r11c1 which fixes a nasty bug in
	__adeos_setscheduler_root().
	
	* arch/ia64/patches: Upgrade to r7c11; same reason as above.
	
	* arch/ppc/patches: Upgrade to r7c3; same reason as above.
	
	* include/nucleus/asm-i386/syscall.h: Use VSYSCALL support.

2005-06-08  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_fault_handler): Initialize FPU on first use
	of FPU of shadow threads in primary mode.

	* include/nucleus/asm-*/system.h: platform dependent support for
	the same feature.

	* arch/x86/hal/x86.c, arch/ia64/hal/ia64.c: remove "invalid use of
	FPU" message.

2005-06-07  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-uvm/system.h (main): Force
	mlockall(MCL_CURRENT) after the user init coded has returned.

	* nucleus/xenomai/lib: Deprecate the early fusion interface, which
	is now superseded by the POSIX support in user-space.

	* skins/uvm: Move the UVM portions of the deprecated fusion
	interface to a separate skin.
	
2005-06-06  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* nucleus/pipe.c (xnpipe_read_wait): Wake up a single reader upon
	data availability.
	
2005-06-06  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix/posix.h: Fix clockid_t enum so that its members
	conform to the kernel defines.

	* nucleus/shadow.c (substitute_linux_syscall): No more syscall
	substitution, since the POSIX skin now handles user-space
	requests.
	(lostage_handler): Discard now useless handling of LO_SIGNAL_REQ
	request.

	* testsuite/cruncher: Convert to the new user-space POSIX support.

	* include/nucleus/asm-*/atomic.h: Add cpu_relax() in user-space
	context.

005-06-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* testsuite/latency/latency.c (latency): Reduce warmup time again,
	to 1 second. Make overrun accounting in latency thread, to avoid
	losing overruns.

2005-06-04  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib: Use constructor section to connect to the
	in-kernel skin.

2005-06-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* testsuite/latency/latency.c (latency): Reduce warmup time to 2
	seconds.

	* testsuite/latency/latency.c: Warm-up times, for better accuracy,
	especially on low-end machines. Compute extrema latencies in
	latency thread, to avoid losing some of them.

	* skins/posix/thread.c (pthread_detach, pthread_join): Use
	xnthread_t flags spare bit to signal a detached joinee instead of
	XNBREAK, XNBREAK is reserved for signals.
	(thread_delete_hook): Avoid useless call to xnpod_schedule.

2005-06-04  Philippe Gerum  <rpm@xenomai.org>

	* scripts/xeno-config.in: Provide for --posix-* flags.

	* include/nucleus/core.h: Refactor the fusion API namespace, so
	that no conflict/confusion would arise with the incoming POSIX
	support in user-space.

	* skin/posix/lib: Start user-space POSIX support, provided as a
	shadow layer ontop of the native NPTL/LinuxThreads routines.

2005-06-03  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_start_thread), nucleus/shadow.c
	(xnshadow_start): Improve init code sharing.

	* skins/posix/thread_attr.c: Set default policy to SCHED_FIFO.

2005-06-04  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7.5 (Echo)

2005-05-30  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/task.c (rt_task_shadow): Add a service turning
	the calling Linux task into a native task.

2005-05-29  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r7c2.

2005-05-29  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* nucleus/pipe.c: Rewrite the blocking read implementation from
	the special device side to fix SMP issues.

2005-05-27  Philippe Gerum  <rpm@xenomai.org>

	* arch/ia64, include/nucleus/asm-ia64: Merge the ia64 port, a
	contribution of the HYADES (ITEA) project.

2005-05-26  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10,11-i386-r10 final.

2005-05-24  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/heap.c (rt_heap_create), skins/native/heap.c
	(rt_queue_create): Return -EPERM instead of panicking.

2005-05-23  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* nucleus/pipe.c: Fix poll/select support, and prevent duplicate
	open requests on a same device from accidentally trashing the
	state information block of the active connection.

2005-05-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/hal.h (rthal_root_host_task): Use 
	THREAD_SIZE to avoid bug with 4K kernel stacks.

	* nucleus/pod.c (xnpod_schedule): re-read current scheduler when
	resuming from xnarch_switch_to, in order to cope with migration
	while suspended.

2005-05-22  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (__task_delete_hook): Use safe memory release
	service to discard the TCB of the destroyed task.

	* include/nucleus/heap.h (xnfreesafe): Provide a safe xnfree()
	helper delaying the actual memory release until the current thread
	is switched out.

	* nucleus/heap.c (xnheap_schedule_free, xnheap_finalize_free): Add
	delayed free service.

	* nucleus/synch.c (xnsynch_release_all_ownerships): Fix empty
	claimq case.

2005-05-21  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_do_timers): Optimize the inner loop
	by rescheduling the timers on-the-fly.

2005-05-20  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_stop): Inline the fast path.

	* nucleus/ltt.c: Export xnltt_log_mark().

2005-05-19  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/Kconfig: Enable LTT support.

	* arch/i386/patches: Add combo patch against 2.6.9, merging LTT +
	Adeos r10c3.

	* nucleus/ltt.c: Shorten event labels.

2005-05-18  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/system.h (xnarch_read_timings): Fix
	CONFIG_ADEOS_PROFILING case.
	
2005-05-17  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7.4 (Circles)

2005-05-17  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/types.h: Do not include <linux/config.h> in
	simulation context.

2005-05-16  Alexis Berlemont  <alexis.berlemont@free.fr>

	* skins/native/task.c (rt_task_create): Properly set the suspension
	depth to 1 whenever the task is left in suspended state after
	creation.
	(rt_task_set_periodic): Do not clear the suspension depth: this is
	irrelevant with respect to the underlying conjunctive suspension
	scheme (XNSUSP, XNDELAY and XNPEND are dissociated).

2005-05-15  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c (__registry_proc_callback): Do not
	dereference object->key in the unexport case, since it's stale
	memory after the real-time caller has destroyed the containing
	descriptor.

	* include/nucleus/asm-*/system.h (xnarch_fault_notify): Add
	predicate to filter out debug traps from events causing SIGXCPU
	sending upon secondary mode switch.

2005-05-13  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/pipe.c: Add user-space support to the real-time
	side of the pipe.

2005-05-12  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (rt_task_set_mode): Add the T_WARNSW mode bit
	allowing to detect (unwanted) switches to secondary mode.

	* nucleus/shadow.c (xnshadow_relax): Send SIGXCPU upon migration
	whenever the XNTRAPSW bit is set in the thread status.

	* nucleus/pipe.c (xnpipe_recv): Return -EIDRM instead of -ESTALE
	upon pipe deletion.

	* skins/native/pipe.c: Previously defined rt_pipe_write() ->
	rt_pipe_send(), and rt_pipe_read() -> rt_pipe_receive(). New
	implementations of rt_pipe_write() and rt_pipe_read() have been
	provided.

2005-05-11  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/vxworks/GNUmakefile.am (install-exec-local): Add symbolic
	links from relevant vxworks headers to vxworks.h, to ease porting
	applications.

2005-05-10  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c (__registry_proc_callback): Provide
	support for symlink entries.

	* nucleus/pipe.c (xnpipe_ioctl): Add basic ioctls.

	* include/nucleus/pipe.h: Cleanup user namespace.

	* skins/native/pipe.c (rt_pipe_open): Make pipe objects
	registerable, so that entries under /proc/xenomai/registry/pipes/
	appear as symlinks to the associated devices.

2005-05-10  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/vxworks/sysLib.c: Remove redundant and wrong book-keeping
	of system clock period and frequency, delegate this to pod
	functions.

	* configure.in: Pass CC variable to Kbuild when determining GCC
	architecture flags, CROSS_COMPILE may be empty but CC defined
	alone (when compiling with gcc-2.95 for example).
	Fix compiling user-space applications using kernel headers for out
	of tree builds by exporting kernel source dir and adding correct -I
	options to XENO_USER_CFLAGS.

2005-05-06  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7.3 (Mind Storm)

2005-05-06  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* include/nucleus/queue.h, nucleus/pod.c: Add optional scalable
	scheduler support for large multi-threaded systems involving a lot
	of concurrently runnable threads.

2005-05-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/i386/hal/smi.c (rthal_smi_pci_tbl): Use PCI_DEVICE
	macro to build table initializer.

	Call pci_dev_put when the pci device is no longer used.

2005-05-05  Jan Kiszka <jan.kiszka@web.de>

	* arch/i386/hal/smi.c (rthal_smi_disable): Register reboot
	notifier to re-enable SMI upon reboot notification.

2005-05-04  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (rt_task_reply): Fix flowid check (as pointed
	out by Dmitry).

2005-05-01  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (rt_task_send, rt_task_receive,
	rt_task_reply): Add basic message passing primitives.

	* skins/native/task.h (rt_task_spawn): Add helper combining
	calls to rt_task_create() + rt_task_start().

2005-04-29  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/fpu.S: Fix compilation issue with
	CONFIG_PPC601_SYNC_FIX.

2005-04-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/pod.h (XNPOD_HEAPSIZE): Export this to the
	configuration interface.

2005-02-23  Jan Kiszka <kiszka@rts.uni-hannover.de>

	* include/nucleus/thread.h: Make sure that spare bits are defined
	in a section accessible from user-space applications.

2005-04-24  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/version.h: Add XENO_VERSION() macro to mangle
	a version code from a major/minor/revision triplet.
	
	* include/nucleus/types.h: Stop shouting, rename ROOT_THREAD_*
	routines to lowercase versions.

2005-04-23  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-uvm/system.h (xnarch_timer_thread): Use
	pthread_set_periodic_rt()/pthread_wait_period_rt() instead of
	nanosleep() to get a more accurate timeline.

2005-04-22  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (__rt_task_set_mode): Add T_PRIMARY bit to
	switch to primary/secondary mode (depends on this bit being set
	into setmask/clrmask).

	* skins/native/task.c (rt_task_set_mode): Accept T_SHIELD as we
	should.

	* include/nucleus/asm-generic/syscall.h: Add conforming domain
	exec bit, ensuring that calling shadows are switched to primary
	mode before entering the syscall, whilst the latter is fired over
	the Linux domain for regular Linux tasks.

	* skins/psos+/demos, skins/vxworks/demos: Create per-skin demo
	directory, illustrating the use of the RTOS emulators over the UVM
	and simulator engines.

2005-04-20  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/Kconfig: Give better hints about setting XENO_HW_FPU.

2005-04-18  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7.2 (New Last Jam)

2005-04-17  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Add preliminary support for experimental
	PREEMPT_RT kernels over Adeos: 2.6.12-rc2-RT-V0.7.44-03.

	* nucleus/shadow.c (xnshadow_start): Set CPU affinity as defined
	by xnpod_start_thread().

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10,11-i386-r10c3.
	
	* skins/native/syscall.c (__rt_task_create): Pass the new task's CPU
	affinity settings to rt_task_create() as needed.

	* include/asm-generic/syscall.h: Generic low-level bits for
	syscall support; formerly include/nucleus/syscall.h.

2005-04-16  Philippe Gerum  <rpm@xenomai.org>

	* arch/generic/hal: Rename "sysreq" support to APC
	(i.e. Asynchronous Procedure Call), so that we stop conflicting
	uselessly with Linux's (totally unrelated) sysrq feature.  Also
	globally revamp all HAL service names to get more consistent with
	upper layers.

	* include/nucleus/asm-i386/hal.h: Revert last change and make sure
	we _never_ program the local APIC with a null delay: this
	definitely breaks with many APIC timers, stopping the countdown
	instead of causing an interrupt to be triggered immediately.

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r7c1.

2005-04-15  Philippe Gerum  <rpm@xenomai.org>

	* arch/generic/hal (generic.c):
	* include/nucleus/asm-generic (hal.h, system.h): Allow
	arch-level code do share arch-independent bits.

	* nucleus/shadow.c (linux_schedule_tail): No more need to
	interpose on the SCHEDULE_TAIL event since Adeos will truncate the
	scheduling tail as required starting with r10c3/x86 and r7c1/ppc.

2005-04-14  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c (rthal_sysreq_handler): Make the pending srq
	bitmap a per-CPU variable so that affinity is kept with the
	poster's CPU.

2005-04-13  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c: Fix /proc export handler for PREEMPT_RT.

2005-04-13  Jim Cromie <jcromie@divsol.com>

	* scripts/xeno-test: Properly stop workload procs upon exit and
	allow for user-defined workloads.

2005-04-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/timer.c (xntimer_next_local_shot): Pessimistically
	substract nktimerlat from delay before programming next shot.

	* include/nucleus/timer.h, nucleus/timer.c: Eliminate
	xntimer_sched and xntimer_set_sched as much as possible at
	compile-time.

	* include/nucleus/asm-i386/hal.h: Allow programming local APIC
	with null delay.

2005-04-12  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c: Add the required kernel thread support for
	dispatching sysreqs w/ PREEMPT_RT.

	* include/nucleus/asm-*/hal.h: Rewrite spinlock helpers sanely.

2005-04-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/hal.h (rthal_timer_program_shot): Program
	the timer for a one tick delay when passed a null delay.

2005-04-11  Jim Cromie <jcromie@divsol.com>

	* scripts/xeno-test: Add preliminary version of the fusion test
	script.
	
2005-04-11  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/hal/hal.c (rthal_ssrq_trampoline): Unstall the root
	domain while running the sysreq handler.

	* skins/native/pipe.c (__pipe_flush_handler): Release the superlock
	while cycling on the flush queue.
	(__pipe_flush): Do _not_ free the stream buffer in the flush
	handler: it's the output handler's business.

	* include/nucleus/asm-*/hal.h: Make sysreq-related prototypes and
	names more consistent.
	
2005-04-10  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/hal/hal.c (rthal_irq_host_request,
	rthal_irq_host_release): Use generic spinlocks since we must be
	running over the Linux context in those routines.

2005-04-09  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_relax): Make sure we don't
	inadvertently pass out-of-range priority levels to the Linux
	kernel when reentering the root domain (__adeos_reenter_root()).

	* skins/native/syscall.c (__rt_intr_create): Handle I_PROPAGATE mode
	bit for dynamic propagation of interrupts down the pipeline
	(i.e. IRQ chaining to Linux). Quite useful for people hooking an
	ISR on, say, the keyboard interrupt...

2005-04-09  Jim Cromie <jcromie@divsol.com>
	
	* testsuite/latency: Fix the overrun count.
	
2005-04-09  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10,11-i386-r10c2.

	* skins/native/mutex.c (rt_mutex_unlock): Make sure -EPERM is
	returned when applicable and fix the documentation.

2005-04-09  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* skins/native/syscalls.c (__rt_mutex_unlock): Force primary mode
	switch so that a RT task currently running in secondary mode that
	owns a mutex does not get a spurious -EPERM error when trying to
	release it.

	* skins/native/mutex.c (__mutex_read_proc): Fix output, ensuring
	that a locked mutex always gets dumped as such even if the wait
	queue is empty.

2005-04-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Make sure XENO_LINUXDIR is written to .xeno_config
	upon manual configuration.
	
2005-04-03  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7.1 (Raspberry Jam Delta-V)

2005-04-03  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Add Adeos support 2.6.9-r10c1.

	* skins/native/lib/task.c (rt_task_delete): Use pthread_cancel()
	internally to finalize RT tasks termination.

2005-04-03  Jim Cromie <jcromie@divsol.com>

	* testsuite/[k]latency: Revamp the whole printout formatting; add
	stddev and variance computations.

2005-04-02  Jim Cromie <jcromie@divsol.com>

	* testsuite: Various updates including extended histogram support.

2005-04-02  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c: Iron corner cases involving shadow termination
	during transient states (e.g. wait on start barrier, primary mode
	switch).
	(xnshadow_signal_completion): Keep the tasklist read locked across
	the call to wake_up_process().

	* nucleus/shadow.c (detach_from_interface): Remove unused
	service. Global wipeout of all threads belonging to a skin should
	be done at that skin's level.
	
2005-04-01  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_harden): Return -ERESTARTSYS upon
	pending signal instead of -EINTR.

	* fusion/nucleus/shadow.c: Rewrite the shadow mapping completion
	protocol (formerly sync_wait/sync_wait) so that we don't need to
	pass PIDs from user-space, so we are now insensitive to the
	LinuxThreads vs NPTL issue regarding PID uniqueness.

2005-03-30  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.10,11-i386-r10c1.

	* nucleus/shadow.c (schedule_linux_call, xnshadow_start): Use
	adeos_processor_id() instead of smp_processor_id(), so we don't
	trigger Linux preemption debug traps inadvertently.

	* nucleus/shadow.c (xnshadow_map): Disable preemption as needed.

2005-03-29  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.7 (Crystal Planet)

2005-03-29  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/cruncher/cruncher.c (main): Switch the timer off upon
	exit.

	* nucleus/shadow.c (xnshadow_harden, xnshadow_relax): Increment
	mode switch counters as expected.

	* nucleus/module.c (__get_thread_timeout): Fix signedness issue.

2005-03-28  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/cruncher/cruncher.c (main): Limit stack space of
	spawned threads to PTHREAD_STACK_MIN * 2.

	* skins/native/lib/task.c (rt_task_create): Limit stack space to
	PTHREAD_STACK_MIN * 4 when none has been specified. 1Mb default is
	clearly overkill for real-time threads.

2005-03-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h (xnarch_save_fpu): Save
	user-space threads FPU context when switching to a kernel-space
	thread using FPU.
	(xnarch_enable_fpu): Restore FPU context of user-space tasks when
	not switching FPU on processors without fxsr, where fnsave, called
	by __switch_to, reinitialized FPU context.

2005-03-27  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r6 final.

	* arch/i386/patches: Upgrade to Adeos 2.6.10,11-i386-r9 final.

	* include/nucleus/types.h: typedef unsigned long xnsigmask_t, so
	we can use atomic ops on this data type seamlessly.

2005-03-26  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/latency/[k]latency.c (display): Print out current test
	time.

	* include/nucleus/asm-*/syscall.h (__xn_copy_to/from_user):
	Silence GCC's "warn_unused_result" attribute and elaborate a bit
	on those macros.

2005-03-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pipe.c (xnpipe_read): Test return from copy_to_user()
	properly.

	* testsuite/[k]latency: Pass seconds to test duration switch (-T)
	instead of minutes.

2005-03-24  Jim Cromie <jcromie@divsol.com>

	* testsuite/klatency/latency.c, testsuite/latency/latency.c:
	Various user-level improvements including histogram dump for
	kernel space latency test.

2005-03-24  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/heap.c (__va_to_kva): Provide support for PAE.

	* include/nucleus/asm-i386/system.h (xnarch_restore_fpu): Use
	tsk_used_math() macro when defined (2.6.11 and above).

2005-03-23  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_schedule, xnpod_schedule_runnable): Get rid
	of the borked sanity check for NULL return upon pulling the next
	thread from the readyq. It could not work (link2thread() would
	garble the NULL pointer thus preventing the detection of such
	value) and is now useless anyway.

2005-03-22  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Do not set
	ALTIVEC or SPE ownership bit to the next thread: leave it to lazy
	handling.

2005-03-20  Heikki Lindholm <holindho@cs.helsinki.fi>

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Make sure
	that r2 always references "current" before calling Linux's
	_switch() routine.

2005-03-19  Philippe Gerum  <rpm@xenomai.org>

	* TROUBLESHOOTING: Add entry for lapic issue.

2005-03-18  Philippe Gerum  <rpm@xenomai.org>

	* scripts/GNUmakefile.am (install-exec-local): Add post-install
	hook.

2005-03-16  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/system.h (xnarch_switch_to): Add membar
	after switch with mm change.

	* nucleus/module.c (stat_read_proc): Add /proc/xenomai/stat entry
	aimed at giving various statistics about the schedulable objects.

2005-03-15  Jim Cromie <jcromie@divsol.com>

	* testsuite/latency: Add test duration switch (-T).

	* fusion: Corrected some grammatics in comments.

2005-03-14  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/klatency/latency-module.c (__latency_init): Remove fpu
	support bit.

2005-03-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_fault_handler): Print a message in debug
	mode when switching a real-time user-space thread to secondary
	mode after a fault.
	(__xnpod_switch_fpu): Re-enable use of FPU when switching back to
	the FPU owner.
	
	* nucleus/include/asm-*/system.h (xnarch_enable_fpu): Add
	arch-dependent support for previous item.

2005-03-13  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r6c15.

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10-i386-r9c6.

	* skins/native: Use POSIXish priority range for tasks.

2005-03-11  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Use module_param[_named]() everywhere instead of the
	deprecated MODULE_PARM() syntax so that we now have some
	visibility upon the module parameters through sysfs.

	* nucleus/shadow.c (xnshadow_renice): Fix call context.
	(set_linux_task_priority): Use latest Adeos extension to change a
	task priority instead of emulating an intra-kernel syscall to
	sys_setscheduler.
	(xnshadow_relax): Use the latest all-in-one Adeos extension to
	reenter the root domain while updating the current task priority
	if needed.

2005-03-09  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/switch/switch.c (main): Fix error cases: send output
	to stderr, return non-zero to the parent process.

2005-03-08  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/syscall.h (__xn_exec_current): Add mode bit to
	run syscall in the caller's domain.

2005-03-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Remove the CROSS_COMPILE hack.

	* makefile (config.status): Pass CROSS_COMPILE (and other
	variables) value using configure command line instead of its
	environment, so that config.status keeps this value.

2005-03-07  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/atomic.h (__builtin_expect): Provide
	placeholder for GCC < 2.96.

2005-03-07  Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>

	* arch/i386/hal.c (rthal_irq_release): Handle the possible failure 
	of the adeos_virtualize_irq_from() call. 
	
	* arch/ppc/hal.c (rthal_irq_release): Handle the possible failure 
	of the adeos_virtualize_irq_from() call. 

	* arch/i386/hal.c (__rthal_init): Handle the possible failure of
	adeos_virtualize_irq() and adeos_register_domain(). Perform the 
	necessary cleanups on all failures in this function.
	
	* arch/ppc/hal.c (__rthal_init): Handle the possible failure of
	adeos_virtualize_irq() and adeos_register_domain(). Perform the 
	necessary cleanups on all failures in this function.

	* arch/i386/hal.c (rthal_irq_host_request): Handle the possible 
	failure of the Linux interrupt handler registration.
	
	* arch/ppc/hal.c (rthal_irq_host_request): Handle the possible 
	failure of the Linux interrupt handler registration.
	
	* arch/i386/hal.c (rthal_irq_host_pend): Remove redundant parameter
	check.
	
	* arch/ppc/hal.c (rthal_irq_host_pend): Remove redundant parameter
	check.
	
2005-03-06  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/module.c (xeno_shutdown): Make sure to wipe out all
	lazybones before trying to unregister the skin, otherwise the
	operation might fail because some threads did not exit, and leave
	a dangling pointer to our module into the global syscall
	multiplexer table.

	* nucleus/shadow.c (xnshadow_unmap): Fix regression wrt refcount
	handling, damnit.
 
	* configure.in: (Re-)enable compilation w/ 2.95.x.

2005-03-06  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Let CC variable take precedence over
	CROSS_COMPILE, replace --with-CC with --with-cc.

2005-03-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pipe.c (xnpipe_open): Clean USER_CONN bit when open
	fails.

2005-03-04  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_init_thread): Don't check the thread arg
	for NULL value; this can be caught using the simulator, and such
	test is way too limited to be efficient in the most annoying cases
	anyway (e.g. stray pointers).

2005-03-03  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c (xncore_mount): Do not wreck the current
	fusion interface id. in case somebody tries to mount it twice.

	* nucleus/shadow.c (xnshadow_unmap): Check task pointer value
	earlier.

	* nucleus/thread.c (xnthread_init): Init the TCB so that its
	fields are set to known invalid values.

	* testsuite/klatency/latency-module.c (__latency_init): Rename the
	sampling thread to "ksampling" so that we can start both kernel
	and user-space latency tests concurrently.

2005-03-01  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10-i386-r9c5.
	
2005-02-24  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* skins/native: Make C++ friendly.

2005-02-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Add e500 board specific option to "Architecture
	tuning flags", integrate these these flags in XENO_USER_CFLAGS.

2005-02-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/calibration.h (__sched_latency): Reduce
	the calibrated jitter by a half for most configs.

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r6c14.

	* configure.in: Add back -fstrict-aliasing, but prevent warnings
	caused by Linux headers using -Wno-strict-aliasing.

	* arch/ppc/hal/hal.c (faults_read_proc):  Add proc entry to
	display faults occurring in real-time mode.

	* testsuite/switch/switch.c (main): Add missing mlockall().

2005-02-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* TROUBLESHOOTING (SMI): Add a section for SMI workaround.

	* configure.in, Kconfig: Allow kernel built ouside their source 
	tree to be used. The configure and Kconfig parameter is the 
	kernel build tree root.

	Fix architecture tuning flags determination for that case.

	Remember CROSS_COMPILE value across configure invocations.

	Allow linux-dir to be passed as a relative path.

2005-02-24  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/timer.c (xntimer_do_timers): Check whether
	xntimer_do_timers is run on CPU XNTIMER_KEEPER_ID in
	the OPT_PERCPU_TIMER case before updating the pod wallclock
	(revert the change made on 2005-01-17 and clarify comment).

2005-02-24  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Make sure we can use ~luser when specifying
	linux-dir or --module-dir.

	* arch/i386/hal/hal.c (faults_read_proc): Add proc entry to
	display faults occurring in real-time mode. This is an attempt to
	provide more debugging info to chase spurious latencies induced by
	fault recovery.

2005-02-24  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* nucleus/timer.c (xntimer_set_sched): Remove superfluous check
	for timer remoteness.
	
2005-02-24  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_do_timers): Dequeue an elapsed timer
	before calling its handler, so that xntimer_stop() called on
	behalf of the latter won't attempt to stop it uselessly
	(e.g. xnpod_resume_thread()).
	(xntimer_do_timers): Update the reference time inside the inner
	processing loop for aperiodic support.

	* nucleus/shadow.c: Add support for switch back syscall mode,
	resetting the original exec mode for the caller after a switch has
	been made to process the syscall.

	* nucleus/pod.c: Move consistency checks to (OPT_DEBUG || SIM)
	sections.

2005-02-23  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* skins/native/registry.c (rt_registry_enter): Prevent from
	thundering herd effect while waking up several tasks which
	concurrently undergo a binding wait. This is done by selectively
	resuming them upon new object registration depending on the key
	they currently sleep on.

2005-02-23  Jan Kiszka <kiszka@rts.uni-hannover.de>

	* nucleus/module.c (sched_read_proc): Fix shifted timeout reports
	by using a stable time base.

2005-02-22  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/lib/fusion.c, skins/native/lib/task.c: Remove implicit
	mlockall() from task creation code.
	
	* testsuite: Add explicit mlockall() to user-space apps.

2005-02-21  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (xnarch_remap_page_range):
	Stop using deprecated remap_page_range() for kernels >= 2.6.10.

	* arch/i386/patches: Upgrade to Adeos 2.6.9,10-i386-r9c4.

	* arch/ppc/patches: Upgrade to Adeos 2.6.10-ppc-r6c13.

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): Eagerly
	reinstate the I/O bitmap of any incoming shadow thread which has
	previously requested I/O permissions. This prevents lazy update
	upon fault of the I/O bitmap for shadow threads that explicitely
	told the kernel that they would need to perform raw I/O ops.

	* TROUBLESHOOTING: Start troubleshooting guide.

	* nucleus/shadow.c (xnshadow_relax): Engage interrupt shield when
	moving to secondary mode.

2005-02-20  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (__switch_threads): Make sure
	show_stack() could find %ebp at TOS.

	* nucleus/pod.c (xnpod_fault_handler): Suspend on XNSUSP instead
	of XNDORMANT.

2005-02-19  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/atomic.h: Define likely()/unlikely()
	hints for user-space inclusion.

	* nucleus/pod.c (xnpod_announce_tick): Add watchdog support for
	detecting runaway threads.

	* include/nucleus/asm-*/syscall.h: Use the *_inatomic forms of
	copy to/from_user() macros to bypass might_sleep() checks: syscall
	issuers cannot fault since all their memory is mlocked, and
	might_sleep() might trigger randomly when executing in primary
	mode.

	* nucleus/ltt.c (xnltt_log_mark): Add custom mark logger.

	* testsuite/klatency/latency-module.c (__latency_init): Move call
	to rt_timer_start() out of the latency task, since this it might
	sleep Linux-wise.

	* arch/*/hal/hal.c (rthal_irq_host_release): Call free_irq()
	outside of the critical section.

	* arch/*/hal/hal.c (rthal_irq_host_request,
	rthal_irq_host_request): Use spinlock_irq form.

	* skins/native/syscall.c, nucleus/core.c: Mark start/stop timer
	services as "lostage".

	* arch/i386/hal/hal.c (rthal_timer_request): Exit the critical
	section before calling rthal_irq_host_request().

	* arch/*/hal/hal.c: Discard useless and somewhat bugous
	rthal_proc_lock.

	* nucleus/Kconfig: Add LTT filter configuration.

2005-02-18  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9-r9c3.

	* nucleus: Add LTT support infrastructure.

	* configure.in: Discard CONFIG_XENO_OPT_TIMESTAMPS; it has been
	superseded by CONFIG_XENO_OPT_LTT bringing in full LTT support.

2005-02-18  Dmitry Adamushko  <dmitry.adamushko@datacon.at>

	* nucleus/synch.c (xnsynch_sleep_on): Fix reordering of the claim
	queue in the PIP enforcement code.

2005-02-17  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xeno_sysentry): Make sure to properly run the
	internal nucleus syscalls even when issued over the Xenomai domain,
	providing the required switch to secondary mode automagically.

	* arch/i386/hal/GNUmakefile.am: Add smi.h to the source list.

2005-02-15  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/queue.c (rt_queue_free): Make sure we don't fiddle
	with the refcount before the pointer validity has been
	checked. Use xnheap_test_and_free() for that purpose.

	* nucleus/heap.c (xnheap_test_and_free): Provide a mean for client
	code to further check freed data after the mere addressing issues
	have been scanned by the heap manager.

2005-02-15  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* scripts/xeno-config.in: Add --cross-compile option and normal
	exit for --help option.

	* GNUmakefile.am (dev devices): Create $(DESTDIR)/dev if it does
	not exist.

2005-02-15  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/heap.h (XNHEAP_MINALIGNSZ): Do not make this
	constant depend on XNHEAP_MINLOG2; those are unrelated.

	* skins/native/queue.c (rt_queue_recv): Transfer message ownership
	by properly incrementing the refcount upon direct receive
	(i.e. the receiver did not go through any sleep state through the
	pendq).

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Update MSR
	as required when switching in the last Altivec and/or SPE owner.
	(xnarch_switch_to): Don't rely on FTR fixups when emitting
	Altivec's dssall insn; they don't work properly in this context.

2005-02-14  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in: Prevent invalid SMI workaround configurations
	through configure command line.

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Do not
	enforce MSR FP state when switching context, create kernel
	threads with FP bit disabled, then let xnarch_init_thread set it
	and context switches preserve it.

2005-02-14  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos 2.6.10rc3-ppc-r6c12. This
	fixes the random lockup bug experienced while running user-space
	threads.

2005-02-11  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/thread.c (xnthread_init): Provide default thread name
	when unspecified.

2005-02-10  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (linux_renice_process): Optimize priority
	tracking between Linux and Xenomai.

2005-02-10  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c, nucleus/sync.c, nucleus/shadow.c: Rework the way
	Linux priorities are updated on-the-fly when the nucleus changes
	them for shadow threads. The new approach is based on a lazy
	update upon return from xnshadow_relax(), since sending priority
	update requests to Linux makes no sense while the affected task is
	running in primary mode.

2005-02-09  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/cond.h, skins/native/heap.h: Remove bugous forward
	declarations.

	* skins/native/sem.c (rt_sem_broadcast): Zero the resource count.

	* skins/native/task.h (thread2rtask): Convert to inline function to
	prevent spurious evaluation side-effects due to multiple macro arg
	expansion. Such bug affected condvar and mutex supports.

2005-02-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/i386/hal/smi.c : Add missing PCI ids to SMI detection code,
	fix SMI options Kconfig help.

2005-02-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-ppc/system.h : Enforce savd MSR_FP bit state
	for user-space tasks.

2005-02-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-ppc/system.h : Change FPU switch code to
	handle user-space.

2005-02-03  Max Krasnyansky <maxk@qualcomm.com>

	* configure.in: Fix GCC tuning flags determination script.

2005-02-03  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/heap.c: Stop page-aligning virtual addresses of
	shmbases; this is useless.

2005-02-02  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (__rt_intr_wait): Fix pending count
	handling and return it to the caller as a success value.

	* include/nucleus/intr.h: Discard unused status field.

2005-02-01  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c (rthal_set_linux_task_priority): Limit
	high priority value.

2005-01-28  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (engage_irq_shield, disengage_irq_shield): Add
	back hw masking when operating the shield. This prevents a race
	with the callback request code which may occur under high
	mode migration rate. Oops.

	* nucleus/core.c: Add pthread_exit_rt() to unmap a shadow thread
	from a regular Linux task without destroying the latter.

	* nucleus/shadow.c (xnshadow_unmap): Handle differently unmapping
	calls from either primary or secondary modes.

	* nucleus/shadow.c (xeno_sysentry): Return -EPERM upon attempt to
	migrate a non-fusion thread.

	* configure.in: Use -fno-strict-aliasing when compiling user-space
	stuff since 2.6.10 enforces it to silence its own warnings, and we
	need to recycle a few of its offending headers. When have been
	pretty careful up to now not to break the type aliasing rules, so
	it should be ok, but we definitely need to keep going on this
	way... This hack should be removed asap when the kernel side is
	fixed.

	* nucleus/shadow.c: Handle the XNSHIELD bit on a per-shadow basis,
	dynamically controlling whether the interrupt shield needs to be
	enforced at context switch time or not.

	* nucleus/pod.c (xnpod_set_thread_mode): Do not attempt to
	lock/unlock the scheduler if the target thread is not current. Add
	proper handling of the XNSHIELD bit.

	* skins/native/task.c (rt_task_create, rt_task_set_mode): Handle the
	XNSHIELD mode bit.

	* skins/native/syscalls.c (__rt_task_create): Set the XNSHIELD mode
	bit by default for newly created shadows.

2005-01-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/i386/hal: Add workaround for SMI.

2005-01-22  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/fpu.S (rthal_restore_fpu): Fix code re-enabling the
	FPU.

	* arch/ppc/hal/fpu.S (rthal_save_fpu): Re-enable FPU before saving
	current context.

	* include/nucleus/asm-ppc/system.h (xnlock_put_irqrestore): Remove
	useless cpu_relax().

2005-01-20  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/atomic.h: Fix PPC405 erratum definition
	for user-space.

2005-01-19  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.9

2005-01-19  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/defconfig: Regenerate default configs.
	
	* arch/ppc/patches: Upgrade to Adeos 2.6.10rc3-ppc-r6c11.

	* include/nucleus/asm-*/system.h (xnarch_calibrate_timer): Guard
	against zero return.

	* drivers/16550A/16550A.h: Fix namespace clash with PPC's MSR
	flags.

	* drivers/16550A/16550A.c (rt_uart_open): Fix call to
	rt_registry_enter().

	* include/nucleus/asm-ppc/hal.h (__rthal_ullimd): Fix const
	attribute name.

	* GNUmakefile.am (SUBDIRS): Add missing drivers entry.

2005-01-18  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9-i386-r9c2.

	* skins/native/Kconfig: Do not make the registry support depend from
	from XENO_OPT_PERVASIVE.

2005-01-18  Max Krasnyansky <maxk@qualcomm.com>

	* testsuite/switch: Add test measuring how long it takes to switch
	between tasks and counting possibly missed switches.

2005-01-18  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Add misc section, initially populated with
	rt_misc_get_io_region() and rt_misc_put_io_region().

2005-01-17  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_do_timers): Remove superfluous test in
	the OPT_PERCPU_TIMER case (cpu == XNTIMER_KEEPER_ID).

2005-01-16  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c (__registry_proc_callback): Make sure to
	clear the directory pointer when removed from proc nodes.

2005-01-16  Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>

	* testsuite/klatency/latency-module.c: Make the task period user-
	modifiable through a module parameter.
	
2005-01-16  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/registry.c (__registry_pkg_cleanup): Remove registry
	class entries on-the-fly.

	* fusion: Use more explicit naming for syscall exec bits:
	__xn_flag_* => __xn_exec_*, __xn_flag_regular =>
	__xn_exec_primary, __xn_flag_anycall => __xn_exec_any.

	* testsuite/latency/latency.c, testsuite/cruncher/cruncher.c: Trap
	SIGHUP.

2005-01-15  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (__rt_bind_helper): Issue non-blocking
	request when running inside the Linux domain.

2005-01-15  Max Krasnyansky <maxk@qualcomm.com>

	* skins/native/syscalls.c: Export rt_sem_broadcast().
	
2005-01-15  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_relax, xnshadow_harden): Do not stall
	the high stage when transitioning; this is definitely useless and
	might induce additional jittery under high vm pressure
	(e.g. __adeos_schedule_back_root() running unpreemptible).

	* nucleus/shadow.c (engage_irq_shield, disengage_irq_shield): Do
	not lock hw IRQs when operating; this is useless too, and might
	induce jittery when unstalling the shield stage.

2005-01-14  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xeno_sysentry): Return -EPERM upon calling
	context error.

	* skins/native: Fix the mess in the context-checking code: normalize
	error returns to -EPERM (instead of -EACCES), and stop using
	xnpod_check_context().

	* include/nucleus/pod.h (xnpod_unblockable_p): Replace
	xnpod_pendable_p() with an opposite test encompassing the root
	thread.

2005-01-13  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/heap.c (rt_heap_alloc): Fix shared memory case, and
	prevent non-task callers asking for blocking requests from causing
	the nucleus to panic.

	* skins/native: Export the registry contents through the /proc
	interface.

2005-01-10  Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>

	* testsuite/klatency/latency.c: Clarify error message upon failure
	to open the message pipe.

2005-01-13  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (schedback_handler): Properly restore root's
	stall bit.

2005-01-12  Max Krasnyansky <maxk@qualcomm.com>

	* skins/native/lib/event.c (rt_event_clear): Add missing call.

2005-01-12  Philippe Gerum  <rpm@xenomai.org>

	* skins/native: Store the creators's pid of user-space objects so
	that we can later display them through the /proc interface.
	
	* drivers/16550A/16550A.c: Implement hardware control flow
	(RTSCTS).

2005-01-11  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c (__rt_intr_wait): Raise task priority as
	needed, and prevent TM_NONBLOCK from being applied.

	* skins/native/lib/intr.c (rt_intr_create): Use specific prototype
	for user-space.

	* skins/native/intr.c (rt_intr_inquire): Do not provide the number
	of currently pending waiters; track the count of interrupt hits
	instead, using the information now available at the nucleus level.
	
	* include/nucleus/intr.h: Track number of interrupt hits.

	* skins/native/task.h: T_HOOK_DESC() -> T_DESC() for naming
	consistency with I_DESC().

	* skins/native/intr.c (rt_intr_wait): Make this service a user-space
	only service -- Fully align semantics with rt_alarm_wait().

	* drivers/16550A/16550A.c (rt_uart_close): Add missing
	unregistration.

2005-01-10  Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>

	* testsuite: Provide normalized tabular format for printing
	measurements.
	
2005-01-10  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_unregister_interface): Accept to
	unregister the interface even if the refcount is zero, which
	basically means that some non-shadow Linux task has attached the
	interface but the latter does not own any existing thread. This is
	sub-optimal since we loose the refcnt guarantee for interfaces
	which do not create threads, but prevents dandling
	/proc/xenomai/interfaces entries to appear.

	* skins/native/intr.c, drivers/16550A/16550A.c: Store the
	registration key into the descriptor as required by
	rt_registry_enter().

	* skins/native/syscall.c: Make rt_task_delete() a regular context
	syscall.

2005-01-09  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/hal.c (rthal_timer_calibrate): Stop using
	rthal_llimd() uselessly.

	* include/nucleus/intr.h: Move the ISR return codes to the
	context-independent section, so that they are also visible from
	user-space.

2005-01-08  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/system.h (xnarch_init): Fix the error
	return path to prevent bad system lockup if the calibration
	happens to fail.

	* drivers/16550A: Preliminary version of a simple 16550A UART
	driver based on the native interface.

	* skins/native: Use DECLARE_XNQUEUE() where applicable.

	* skins/native/intr.c (__intr_trampoline): Allow for immediate ISR
	processing from kernel space only, in addition to the task-based
	DSR mode available both in kernel and user-space contexts.

2005-01-05  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/sem.c (rt_sem_v): Add pulse mode.

2005-01-06  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-ppc/hal.h : rework 64 bits arithmetic
	operations.

2005-01-04  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/init.c (__init_skin): Do not set the global
	interface identifier variable with random error codes.

2005-01-03  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/module.c: Rework /proc interface. Provide
	/proc/xenomai/latency to dynamically read/update the scheduling
	latency value. Scatter old interface sections from rthal and
	system to per-topic individual entries.

	* nucleus/pod.c (xnpod_set_thread_periodic): Passing XN_INFINITE
	as the period just stops any undergoing timing.

	* nucleus/lib/fusion.c (pthread_ticks2ns_t, pthread_ns2ticks_rt):
	Discard useless and confusing routines using nanoseconds as
	input/output values in oneshot mode.

	* skins/native/intr.c: Add interrupt management API.

	* include/nucleus/asm-*/system.h (xnarch_isr_*): Remove
	redundant calls.

	* include/nucleus/asm-*/system.h (xnarch_hook_irq): Do not enable
	upon attachment.

	* include/nucleus/asm-*/system.h: Get rid of unused
	xnarch_sleep_on().

2005-01-02  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.8

2005-01-02  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/system.h (xnarch_sysalloc): Temporarily
	disable the use of vmalloc() for large chunks. We've (likely) got
	some on-demand mapping problem when running over the non-Linux
	domain.

	* include/nucleus/asm-*/calibration.h: Add per-arch calibration
	data.

2005-01-01  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Upgrade to Adeos 2.6.8rc3-r6c10.

	* nucleus/heap.c (xnheap_mmap): Fix PPC support.

2004-12-31  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* testsuite/klatency/latency.c (main): make the output line
	buffered.

2004-12-30  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/syscall.h (__xn_rdtsc): Fix case with
	strict aliasing rules.

	* include/nucleus/asm-ppc/system.h (xnarch_send_timer_ipi):
	Provide for an empty definition in UP mode.

	* arch/ppc/hal/hal.c (rthal_irq_release): Fix call to
	adeos_virtualize_irq_from().

2004-12-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-*/hal.h : got rid of rthal_cpu_relax.

2004-12-28  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/hal/hal.c (__rthal_init): Fix error return values.

	* nucleus/lib/GNUmakefile.am, skins/native/lib/GNUmakefile.am: Add
	shared lib support.

	* include/nucleus/asm-uvm: Fix and validate the UVM support.

	* include/nucleus/types.h: XNPOD_APERIODIC_TICK ->
	XN_APERIODIC_TICK, XNPOD_NO_TICK -> XN_NO_TICK.

	* nucleus/shadow.c (linux_schedule_head): Fix a subtle
	rescheduling hole after downgrading the root thread priority.

2004-12-29  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c: Add missing checks for XNBREAK and return
	-EINTR appropriately.

	* nucleus/shadow.c (xnshadow_wait_barrier): Use spinlock.

	* arch/i386/hal/hal.c (__rthal_init): Add sanity check for
	hw-disabled APIC.

2004-12-28  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/syscall.h: Gather all arch-independent
	definitions for syscall support in a single place.

	* nucleus/module.c (__get_thread_timeout): Attempt to return
	non-zero resource timeouts, even if XNPEND is not set.

	* nucleus/core.c (__pthread_activate_vm): Fix startup protocol.

2004-12-27  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/timer.c, include/nucleus/timer.h (xntimer_set_sched):
	Only define xntimer_set_sched for SMP.

2004-12-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-uvm/system.h (xnarch_read_environ): Fix
	crash.
	
	* nucleus/shadow.c: Rewrite the whole hardening migration
	path. This solves the long-suffered "bad: scheduling while atomic"
	issue, both in UP and SMP configs. For this, we basically use a
	wait queue between the gatekeeper and xnshadow_harden(), so that
	synchronous wakeups of the former can be performed right after the
	latter went aslept, and _never_ before due to preemption
	artefacts.

2004-12-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_substitute_syscall): Fix
	__NR_getitimer.

2004-12-27  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_substitute_syscall): Discard useless
	migration flag; in any case, we know that we should migrate
	each time xnpod_shadow_p() is false.

2004-12-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c (__pthread_start_timer_rt): Fix return code.

2004-12-24  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/types.h: Define ROOT_THREAD_INIT/EXIT for use in
	context-agnostic (kernel/uvm) apps.

	* fusion: __xeno_*_* -> __xeno_*_*.

	* include/nucleus/GNUmakefile.am: Optionally recurse into asm-uvm/
	during installation.

	* configure.in: Add -D_GNU_SOURCE -D_REENTRANT to
	XENO_USER_CFLAGS.

2004-12-22  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/Kconfig: Hide configuration of per-cpu timers. It is
	enabled by default and may be disabled only when "expert mode" is
	activated.

2004-12-21  Philippe Gerum  <rpm@xenomai.org>

	* sim: Fix a few glitches and update the necessary bits to run the
	native skin.

	* GNUmakefile.am (install-data-local): Add "build" and "source"
	symlinks in $prefix.

2004-12-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/pod.h (xnpod_ticks2ns) : Remove useless llimd.

2004-12-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/hal.h: Mark arithmetic routines
	arguments const, to allow better compiler optimization.

	* nucleus/shadow.c (xnshadow_ticks2*): Really roll-back slow
	implementations.

	* nucleus/shadow.c (xnshadow_substitute_syscall): Only pass
	positive arguments to xnshadow_ticks2ts.

2004-12-19  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* Per-cpu timers implementation; pod and timer: Each CPU has a
	timerwheel, a timer object is attached to a sched structure, a new
	call xntimer_set_sched allowing to change this structure. When a
	timer is modified on a distant CPU, xnarch_send_timer_ipi is
	called. The HAL is expected to either install the handler passed
	to rthal_timer_request for this IPI, or to use the same interrupt
	for the timer and this IPI (the x86 case).

	* nucleus/timer.c (xntimer_next_shot): Round delays greater than
	ULONG_MAX ticks to ULONG_MAX, so that 32 bits are enough.

	* arch/i386/hal/hal.c (rthal_critical_sync, rthal_timer_request):
	Avoid timers to tick at the same time on all CPUS on SMP systems.

	* skins/posix: add missing EXPORT_SYMBOL, use fusion POD, add
	pthread_make_periodic_np, pthread_wait_np calls, round towards
	infinity while converting timespec to ticks count and add one more
	tick.

2004-12-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/shadow.c (xnshadow_*2ticks, xnshadow_ticks2*):
	Roll-back slow implementations.
	
	* nucleus/lib/fusion.c: Provide a C-only implementation of llimd
	to avoid inclusion of hal.h in user-space.

	* include/nucleus/asm-uvm/system.h,
	  sim/include/nucleus/asm/system.h: Correct rounding of llimd for
	negative arguments.

	* include/nucleus/asm-i386/hal.h: Re-implement llimd for correct
	rounding and minimized inline assembly.

2004-12-13  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.7

2004-12-12  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-uvm/system.h: Add pure C implementation of
	the new macros, as well as for imuldiv and llimd (only unsigned
	for now).

	* include/nucleus/asm-*/system.h : Add new macros for 64 bit
	calculus, defined in hal.h.

	* nucleus/shadow.c (xnshadow_*2ticks, xnshadow_ticks2*):
	Temporarily re-implement slow versions.

	* include/nucleus/asm-i386/hal.h: Got rid of the broken
	rthal_ulldiv, minimize usage of inline assembly, add new functions
	for 64 bits calculus.

	* include/nucleus/*/system.h: Allow interruption of
	xnarch_sleep_on in debug mode.

2004-12-11  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-uvm/system.h: Enforce start barrier and fix
	shadow mapping protocol.

	* skins/native/lib/task.c (rt_task_trampoline): Enforce start
	barrier.

	* nucleus/shadow.c (xnshadow_kick_process): Remove the shadow
	start call which was bugous wrt ptracing interaction, and has been
	deprecated by the start barrier mechanism.

	* nucleus/shadow.c: Fix ptracing support for shadow threads using
	a start barrier which allows to keep processing signals
	(e.g. SIGSTOP) for unstarted (i.e. dormant) threads.

2004-12-10  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/task.c (rt_task_trampoline): Commit stack memory
	up to PTHREAD_STACK_MIN.
	(rt_task_create): Raise minimum stack to PTHREAD_STACK_MIN * 2.

	* skins/native/event.c (rt_event_signal): Do not auto-clear matched
	bits; this makes no sense with multiple waiters.

	* include/nucleus/queue.h: Disable queue checks in user-space code
	which does not run as part of any virtual machine, e.g. skin
	syslibs. This fixes the CONFIG_XENO_OPT_DEBUG problem with
	skins/native/lib.

	* arch/*/hal/hal.c (rthal_irq_request): Only virtualize requested
	IRQs.

2004-12-09  Philippe Gerum  <rpm@xenomai.org>

	* GNUmakefile.am (dev devices): Always enable even if DESTDIR is set.

2004-12-08  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_do_timers): Add missing anticipation on
	timer trigger date, suppress useless timer->shot. Those changes
	seem to have extremely positive impact on latencies with low-end
	hw.

	* testsuite/klatency/latency-module.c (latency): Display overall
	min latency.

2004-12-07  Philippe Gerum  <rpm@xenomai.org>

	* scripts/xeno-*.in: Force /bin/bash as interpreter.

2004-12-05  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.6

2004-12-05  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (xnarch_adjust_calibration):
	No adjustment needed anymore here.

	* skins/native/task.c: Return -EACCES upon invalid non-task context
	to remain consistent with the shadow manager.

	* skins/native/syscalls.c: Fix generalized memory leak upon RT
	object deletion.

	* skins/native/syscall.c (rt_alarm_wait): Provide user-space support
	for waiting for alarm shots.

	* skins/native/task.c (rt_task_set_priority): Check priority
	argument.

2004-12-04  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/lib/task.c (__init_skin): Must be single instance.

	* skins/native/alarm.c (rt_alarm_create): Fix position of name
	parameter.

	* skins/native/syscall.c (__rt_heap_create): Fix placeholder type
	used.

	* include/nucleus/core.h (XNCORE_IRQ_PRIO): Add priority level
	for interrupt servers in user-space.

2004-12-03  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/alarm.c (rt_alarm_inquire): Add count of expiries.

2004-12-03  Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be>

	* doc/docbook/xenomai/xenomai.xml: Fix typos and other
	spelling/grammar mistakes.

2004-12-03  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/types.h: Change xnsigmask_t to the natural
	integer type available on the platform, so that we can map it
	properly over some data carried by siginfo_t. In any case, it does
	not make any sense to allow different amount of possible signals
	across platforms by depending on the size of their respective
	natural long type.

	* skins/native/syscall.c: Fix "self" task determination code to
	encompass the case where the caller is a relaxed shadow.

	* skins/native/syscall.c: Turn -ENOENT errors into -ESRCH.

	* skins/native/task.c, skins/native/lib/task.c (rt_task_self,
	rt_task_slice): Finalize user-space support.

	* nucleus/pod.c (xnpod_calibration_thread): Fix stupid time
	reference bug.

2004-12-02  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (rt_task_self): Add self descriptor retrieval
	function.
	(rt_task_slice): Add routine to setup the round-robin credit.

	* nucleus/timer.c (xntimer_enqueue_aperiodic): Enforce new
	internal priority of timers.

2004-12-01  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/alarm.c: Add alarm support.

	* include/nucleus/asm-*/system.h (xnarch_sysalloc,
	xnarch_sysfree): Use vmalloc support for sizes >= 128Kb.

2004-11-30  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_set_thread_periodic): Fix start mode with
	idate == XN_INFINITE (i.e. do not enter any initial wait state).
	(xnpod_resume_thread): Fix interesting corner case involving
	partial resumption of a thread still blocked on a primary XNDELAY
	condition.

	* skins/native/types.h: RT_TIME_INFINITE -> TM_INFINITE,
	RT_TIME_NONBLOCK -> TM_NONBLOCK for consistency purpose with other
	namings.

2004-11-29  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/event.c (rt_event_clear): Add service to clear a set
	of flags from an event group.

	* skins/native/timer.h: RT_TIMER_UNSET/ONESHOT -> TM_UNSET/ONESHOT
	for consistency with other namings.

2004-11-28  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.5

2004-11-28  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.9-i386-r9c1.

	* skins/native/task.c (rt_task_create): Allow for creation in
	suspended state passing T_SUSP.
	(rt_task_start): Apply CPU affinity.

	* skins/native/task.h (T_CPU): Fix for multiple cpu affinity.

	* skins/native/event.c: Rename rt_event_post() -> rt_event_signal(),
	rt_event_pend() -> rt_event_wait() for consistency purpose with
	the condvar support.

2004-11-28  Jan Kiszka <kiszka@rts.uni-hannover.de>

	* skins/native/sem.c: Export sem_broadcast().

2004-11-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/syscall.h: Provide support for direct
	reading of the TSC in user-space when available.

	* nucleus/timer.c: Read Adeos profile timings when available when
	CONFIG_XENO_OPT_TIMESTAMPS is enabled.

2004-11-26  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/snippets: Add code snippets illustrating the use of
	the API.

	* nucleus/pod.c: Compile out calls to the scheduler hook unless we
	are actually building the simulator.
	(xnpod_switch_fpu): Inline calls on the fast path.

	* skins/native/lib/task.c (rt_task_set_mode, rt_task_notify): Export
	to user-space.

	* testsuite/latency/latency.c (main): Allow for setting the
	sampling period.

2004-11-25  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Pass XENO_KMOD_CFLAGS as needed.

2004-11-24  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/module.c (__xeno_skin_init): Fix init without
	user-space support.

	* arch/i386/hal/hal.c (rthal_trap_fault): Remove lazy handling of
	on-demand kernel memory mapping, leaving the burden to Adeos
	(which does it eagerly instead, see include/asm-i386/pgalloc.h).

2004-11-24  Marc Kleine-Budde <kleine-budde@gmx.de>

	* configure.in: Fix various m4 quoting issues.

2004-11-23  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/defconfig: Rebuild sound versions.

2004-11-22  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Use pretty printing for help strings
	(AS_HELP_STRING).

	* nucleus: Fix various undefined symbols with fusion-less builds.

	* nucleus/timer.c (xntimer_start): Do not check for preposterous
	dates: the start value is a duration and not an absolute date, and
	dates in the past are caught when programming the next shot
	anyway.

2004-11-21  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Upgrade to autoconf 2.59 and friends.

	* nucleus/lib/fusion.c: 
	* skins/native/syscall.c: Qualify __user pointers to have them
	"sparse"-friendly.

	* config/autoconf/acinclude.m4:
	* sim/acinclude.m4: Fix new pedantic autoconf whim: quote all
	macro names in definitions.

2004-11-19  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.4

2004-11-19  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8 final.

2004-11-18  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/mutex.h: Fix forward declaration of RT_TASK.

	* skins/native/task.c (rt_task_set_mode): Allow for changing the
	mode bits of the current task.

	* skins/native/sem.c (rt_sem_broadcast): Add broadcasting op.

	* nucleus/pod.c (xnpod_set_thread_periodic): Allow passing a
	special start date to indicate that no initial delay should take
	place before entering the periodic mode.

2004-11-17  Philippe Gerum  <rpm@xenomai.org>

	* Kconfig: Move nucleus-related options to nucleus/Kconfig.

	* configure.in: Add top and bottom sections to KBUILD_CMD.

2004-11-16  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c (__rthal_init): Setup the 8254 channel #2
	for TSC emulation.

2004-11-15  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/heap.c (rt_heap_alloc): Add shmget variant.
	
	* skins/native/heap.c (rt_heap_create):
	* skins/native/queue.c (rt_queue_create): Account for the overhead
	so that the actual free space is large enough to match the
	requested size.

	* configure.in, nucleus/Kconfig: Make the maximum number of pipes
	configurable.

2004-11-14  Philippe Gerum  <rpm@xenomai.org>

	* nucleus, include/nucleus: Provide support for non-threaded Adeos
	domains (i.e. single-stack Adeos model).

	* fusion: Make the whole user-space support optional.

	* nucleus/pipe.c: Make it optional.

	* skins/native/registry.c, skins/native/event.c, skins/native/heap.c,
	skins/native/sem.c, skins/native/task.c: Add feature intro.

2004-11-13  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.3

2004-11-13  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c7.

	* nucleus/shadow.c (gatekeeper_thread): Lower spl when processing
	requests.

2004-11-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h (xnarch_restore_fpu): Restore
	the ts bit when switching to a user-space thread with
	uninitialized FPU.

	* testsuite/cruncher/cruncher.c (sampler_thread): Really calibrate
	the cruncher for a 10 ms computation.

2004-11-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in (XENO_KBUILD_CMD): Do return the same status as
	Kbuild make.

	* arch/i386/hal/hal.c (__rthal_init): Use CLOCK_TICK_RATE as CPU
	frequency when the kernel is configured without CONFIG_X86_TSC.

2004-11-07  Philippe Gerum  <rpm@xenomai.org>

	* GNUMakefile.am (device): Create /dev/rtheap.

	* skins/native/task.c: Add asynchronous notification support.

	* skins/native: Add shared heap (standalone) support.

2004-11-06  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/queue.c (rt_queue_send): Pass message's payload size.

	* skins/native/syscall.c: Check for writability of the return buffer
	for all inquiry services.
	
	* skins/native/syscall.c (__rt_queue_free, __rt_queue_send): General
	fix.

	* skins/native/queue.c, skins/native/syscalls.c,
	skins/native/lib/queue.c: Fix various issues for user-space use.
	(rt_queue_alloc): Return NULL upon failure as expected.

	* skins/native/syscall.c (__rt_queue_bind): Allow mapping DMA memory.

	* skins/native/registry.c (rt_registry_remove): Semantics changed:
	forcibly unregisters the object.
	(rt_registry_remove_safe): Performs safe removal atomically when
	the object is fully unlocked/idle.

2004-11-05  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Revert change to deletion calls mode; they
	should not switch to primary.

	* skins/native/queue.c (rt_queue_create): Return -ENOMEM upon error
	return from xnheap_init_mapped().

	* skins/native/lib/queue.c (rt_queue_create): Make sure we don't
	leave a dandling queue in kernel space if the mapping fails.

2004-11-04  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.2

2004-11-04  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c6.

	* arch/ppc/patches: Upgrade to Adeos 2.6.8rc1-ppc-r6c9.

	* configure.in: Get rid of annnoying Kbuild warnings about undef'd
	symbols by moving vmlinux and Module.symvers out of the way (Idea
	brought by Jan Kiszka).

	* skins/native/registry.c (rt_registry_remove): Make sure we
	properly process XNBREAK.

	* skins/native/syscall.c: Make all deletion calls switch to primary
	mode before operating since rt_registry_remove() could wait.

	* skins/native: Provide exhaustive calling environment information.
	
	* skins/native/task.c: Add rt_task_remove_hook().

2004-11-01  Philippe Gerum  <rpm@xenomai.org>

	* configure.in, scripts/xeno-config.in: Fix CONFIG_XENO_LINUXDIR
	mess.

	* nucleus/heap.c: Finalize shared heap support.

	* include/nucleus/queue.h (DECLARE_XNQUEUE): Add global queue
	declarator with built-in initializer.

2004-10-31  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/heap.c: Create the basic infrastructure for mapping
	heap memory to user-space processes.

	* include/nucleus/heap.h (xnheap_t): Add arch-dependent block.

2004-10-30  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/queue.c: Add message queue support.

	* nucleus/pipe.c: More appropriate than legacy "domain bridge"
	name.

2004-10-25  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/shadow.c (xnshadow_linux_sysentry): replace direct
	assignment to __xn_reg_rval by xn_status_return for xn_sys_attach
	and xn_sys_detach syscalls.

	* nucleus/core.c (__pthread_ns2ticks_rt, __pthread_ticks2nsr_rt)
	  nucleus/lib/fusion.c (pthread_ns2tsc_rt, pthread_tsc2ns_rt), 
	  include/nucleus/core.h:
	Separate conversion between nanoseconds and tscs from conversion
	between nanoseconds and scheduler ticks counts.

	* include/nucleus/asm-i386/system.h, nucleus/trace.c: move
	architecture dependent part of the trace module to system.h.

2004-10-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_schedule): Escalate all requests to the
	Xenomai domain.

	* nucleus/shadow.c: Get rid of __xn_sys_sched request. Rely on
	xnpod_schedule() escalation handling.

	* README.QUICKINSTALL: Add Pierre Ficheux's quick install note.

	* nucleus/shadow.c (xnshadow_substitute_syscall): Make sure to
	call request_syscall_restart() on behalf of a shadow only.

2004-10-24  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (__switch_threads): Fix %ebp
	trashing.

	* nucleus/shadow.c: Fix license. This is kernel-only code, so GPL
	applies with no user-space library consideration.

2004-10-21  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h: Make lock variable volatile.

2004-10-20  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/asm-i386/system.h: Add debug infrastructure for
	spinlocks.
	
2004-10-20  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_schedule_handler): Don't grab the nklock
	uselessly.
	(xnpod_schedule): Keep on holding the lock while dispatching
	signals.

	* include/nucleus/asm-i386/system.h (xnlock_put_irqrestore):
	Discard useless cpu_relax() and fold unlocking into a single
	test and clear op.

2004-10-19  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_mount): Add memory barrier after
	gksync init.

2004-10-18  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_harden): Fix stupid uninit cpuid bug
	in SMP case.

2004-10-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_announce_tick): prevent timer interrupt
	from ticking on several CPUS.

2004-10-17  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6.1

2004-10-17  Philippe Gerum  <rpm@xenomai.org>

	* README.INSTALL: Clarify Adeos-related issues.
	
	* arch/*/patches: Use vanilla Adeos file names.
	
	* nucleus/pod.c (xnpod_suspend_thread): Conservatively clear the
	wait channel upon signal aborted wait.

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c5.

2004-10-16  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-*/system.h (__xnlock_get_irqsave): Get
	rid of the optimization allowing to spin interrupts on. The basic
	idea is correct, but the implementation was bugous
	Adeos-wise. Revert to a conservative implementation until SMP
	support is deemed stable in all other aspects.
	
	* nucleus/pod.c (xnpod_suspend_thread): Clear other unblocking
	condition bits when forcing XNBREAK upon signal.

2004-10-13  Philippe Gerum  <rpm@xenomai.org>

	* scripts/xeno-load.in: Allow for passing args to commands.
	e.g. ./run [target spec] -- arglist

2004-10-11  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_suspend_thread): Convert any pending
	XNKICKED state into the XNBREAK condition when attempting to
	suspend a runnable shadow thread which has received a Linux
	signal.

2004-10-10  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.6

2004-10-10  Philippe Gerum  <rpm@xenomai.org>

	* GNUMakefile.am: Fix distclean-local for old fashioned build.

2004-10-09  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* GNUmakefiles.am building kernel modules : Force build of kernel
	and let Kbuild handle dependencies.

2004-10-09  Ivan Raikov <raikov@cc.gatech.edu>

	* scripts/xeno-load.in: Add support for user-defined module search
	directory.

2004-10-09  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c4 and
	2.6.8rc1-ppc-r6c8.

	* nucleus/shadow.c (engage_irq_shield, disengage_irq_shield):
	Improve concurrency while testing the shielded/unshieded state
	bits.

	* include/nucleus/asm-*/system.h (xnarch_grab_xirqs,
	xnarch_lock_xirqs, xnarch_unlock_xirqs): Move the arch-dependent
	shield code to where it belongs.

2004-10-08  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c: Yet another IRQ shield implementation.

2004-10-07  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_substitute_syscall): Make sure we
	will attempt to restart the nanosleep() substitute if interrupted
	by a signal.

	* nucleus/core.c (__pthread_sleep_rt): Return -EINTR upon
	interrupt.

	* nucleus/pod.c (xnpod_add_hook, xnpod_remove_hook): Fix an
	obscure SMP race that occurred when using job control on
	testsuite/latency.

	* nucleus/shadow.c (xnshadow_linux_sysentry): Reread the current
	Xenomai thread pointer for calling request_syscall_restart();
	it might have been NULL on entry then only set during the just
	performed syscall as a result of the initial shadow mapping.

2004-10-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* testsuite/cruncher/cruncher.c (cruncher_thread): Test the value
	returned by the computation loop and compile with the correct
	optimization flags.

	* configure.in: Add check for the architecture tuning flags used
	by the kbuild.

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): Remove
	useless restoration of the ts bit.

2004-10-06  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c: Rewrite the interrupt shield management.
	(xnshadow_linux_taskexit): No more need to disable the interrupt
	shield upon task exit.

	* testsuite/latency/latency.c: Rearrange cleanup actions so that
	we don't get caught in a tight sampling loop when the timer is
	stopped by the signal handler.

2004-10-05  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_linux_taskexit): Disengage the
	interrupt shield so that synchronous IPIs that might be used in
	the task cleanup code could flow to Linux freely.
	(engage_local_irq_shield): Lock hw interrupts.
	(engage_local_irq_shield):
	(disengage_local_irq_shield): Remove superfluous check for virtual
	IRQs.

2004-10-04  Edelhard Becker <ebecker@software-manufaktur.de>

	* configure.in: Detect CONFIG_X86_EMU486 when testing for
	cmpxchg() availability.

2004-10-04  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c3 and
	2.6.8rc1-ppc-r6c7.

	* include/nucleus/asm-*/system.h (xnarch_notify_shutdown): 
	* arch/*/hal/hal.c (__rthal_init): Force CPU affinity so that the
	HAL and the nucleus always keep their execution sequence on SMP
	systems wrt cleanup actions.

	* nucleus/shadow.c: Ask Linux to restart interrupted Xenomai
	syscalls.

	* testsuite/latency/latency.c (cleanup_upon_sig): Forcibly exit
	upon signal so that the sampler does not enter a tight error loop
	in Xenomai mode after the time has been stopped.

2004-10-03  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-ppc/syscall.h (XENOMAI_DO_SYSCALL): Revert
	retval negation upon error.

2004-10-02  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r8c2.

	* include/nucleus/asm-*/system.h (xnarch_init): 
	* arch/*/hal/hal.c (__rthal_init): Force CPU affinity so that the
	HAL and the nucleus always keep their execution sequence on SMP
	systems wrt initialization chores.

2004-10-02  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/native/module.c (__xeno_skin_init): Remove warnings about
	unused labels.

2004-10-01  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/trace.c: Add tracing module.

	* All GNUmakefile.am: Make the "distcheck" target work.

2004-10-01  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_shutdown): Split the cleanup work into two
	distinct phases delimited by calls to xnarch_notify_shutdown() and
	xnarch_notify_halt(), so that per-arch actions can be performed at
	different times during the shutdown process.
	
	* nucleus/shadow.c: Define xnshadow_grab_events() and
	xnshadow_release_events() to request/release kernel event
	interception independently of the module loadup/cleanup phases.
	
	* nucleus/module.c (xnpod_read_proc): Fix race w/ shutdown.

2004-10-01  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): clear the
	ts bit when switching to a Linux task when the previous Linux task
	had used the FPU.

2004-09-30  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_init): Handle the XNPIDLE bit, to prevent
	several instances or xnpod_shutdown from interleaving.

	* include/nucleus/asm-i386/system.h (xnarch_notify_shutdown):
	Better implementation, waiting for all the cpus to switch to the
	Linux domain.

2004-09-30  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c: Rearrange critical sections so that
	rthal_critical_enter() is not called while the nklock is held.

	* nucleus/timer.c (xntimer_freeze): Do not hold the nklock while
	stopping the hw timer.

	* nucleus/pod.c (xnpod_start_timer): Fix error path.
	(xnpod_start_timer): Do not hold the nklock while starting the hw
	timer.

	* nucleus/intr.c: Remove duplicate logic w/ HAL's own checks for
	operation consistency.

2004-09-29  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h: Check for Adeos version >=
	2.6r8c1.

	* nucleus/pod.c: Remove the cancellation points and the XNKILLED
	bit handling which become useless due to the following change.

	* nucleus/shadow.c: Always allow any signal to flow down to the
	Linux context; just make sure the associated shadow is properly
	awaken upon wakeup notification from the Linux kernel.

	* nucleus/pod.c (xnpod_start_thread): Fix unlocking upon error case.

2004-09-27  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_wait_thread_period): Fix error return when
	the timer is not active.
	(xnpod_calibration_thread): Use long integer to store the jitter
	value.

	* include/nucleus/pod.h (xnpod_ns2ticks): Discard remainder arg.

2004-09-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_schedule_head): Rollback the previous
	change on 2004-09-22 until it is properly fixed: it spuriously
	leaves the shield on upon shadow exit.

2004-09-25  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/pod.h (xnpod_cancellation_point): Define and use
	a common cancellation handler to process the XNKILLED bit.

2004-09-23  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_start_timer): Allow the arch-dependent code
	grabbing the hw timer to request a precise start time for the host
	tick timer.

	* include/nucleus/asm-*/syscall.h: Define an arch-dependent way of
	setting the value returned by syscalls, using
	__xn_success_return(), __xn_error_return() and
	__xn_status_return().

2004-09-22  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/procfs.h: Discard.

	* nucleus/shadow.c (xnshadow_schedule_head): Only disengage the
	shield if the outgoing task was a shadow; otherwise, it's useless.

2004-09-21  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_substitute_syscall): No need to
	compute an expiry date in the setitimer() replacement code.

	* nucleus/pod.c (xnpod_suspend_thread): Immediately unblock the
	suspended thread if a preposterous timeout is notified by the
	timer manager.

2004-09-20  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_relax): Feeds
	__adeos_schedule_back_root() with the proper task pointer, which
	must always be the current (Linux-managed) switch lock owner.

2004-09-18  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/GNUmakefile.am (OPTDIRS): Leave the cruncher out of
	the optional dirs.

	* arch/i386/patches: Upgrade to Adeos 2.6.*-i386-r7 final.

2004-09-16  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/dbridge.c: Always return -EPIPE instead of -EIO.

2004-09-14  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c: Call __adeos_schedule_back_root() with the
	proper "prev" task pointer at the time the Linux scheduling tail
	should be run, which must be different from "current".

2004-09-12  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c (__pthread_ticks2ns_rt, __pthread_ns2ticks_rt):
	Use signed input/output.

	* skins/native/timer.c (rt_timer_ticks2ns, rt_timer_ns2ticks):
	Consider CONFIG_XENO_HW_APERIODIC_TIMER when converting.

2004-09-11  Philippe Gerum  <rpm@xenomai.org>

	* arch/*/hal/hal.c: Discard obsolete rthal_linux_context[] which
	is not used anymore.

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): Finally
	unstaticalize cr0.

2004-09-09  Evgeny Sinelnikov <linux4sin@mail.ru>

	* configure.in, makefile, scripts/xeno-config.in: Correctly handle
	the --with-linux-dir configure option.

2004-09-07  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_calibrate_sched): Obtain the calibration
	pod and thread memory from the system heap, not from the stack;
	the latter could cause misaligned FPU ops.
	(xnpod_init): Clear the rescheduling mask of all scheds at init.

2004-09-06  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.8.1-i386-r7c1.

2004-09-05  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_migrate_thread): Rename, export and use a
	single exit path.

	* nucleus/shadow.c (xnshadow_substitute_syscall): Do not
	substitute timing calls if the system timer has not been started.

	* nucleus/pod.c (xnpod_fault_handler): Make sure we propagate
	faults over shadows to Linux after they have been relaxed.

2004-09-04  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c (rthal_timer_calibrate): Fix the way we
	calibrate the APIC programming time; the old way simply broke any
	SMP setup.

2004-09-03  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_calibrate_sched): Make the calibration
	thread struct static, so that we can't get a TCB with a badly
	aligned FPU area.

2004-09-03  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-(i386|ppc)/system.h (__xnlock_get_irqsave):
	Avoid to enable interrupts in nested critical sections.

2004-09-01  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.5

2004-09-01  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c: Use standard PIT_xx defines instead of
	immediate port values.

2004-09-01  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Get rid of CONFIG_XENO_HW_NRCPUS and use the
	Linux-defined constant instead.

	* arch/ppc/patches: Update Adeos support to 2.6.8rc1-r6c5.

	* include/nucleus/asm-ppc/atomic.h: Fix register notations in
	inline assembly.

	* arch/*/defconfig: Rebuild sane defconfigs.

	* nucleus/pod.c (xnpod_calibration_thread): Calibrate during 0.3s
	regardless of the calibration period. Also provide for adjusting
	the estimated average jitter on a per-architecture basis.

	* nucleus/timer.c (xntimer_do_timers): Refresh the tested clock
	value in aperiodic mode after each timer processing loop.

	* arch/*/hal/hal.c (rthal_irq_affinity): Replace reset action
	by returning the old cpumask.

2004-08-31  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_calibrate_sched): Straighten error path.
	(xnpod_calibrate_sched): Disable autocalibration of the scheduling
	latency for architectures that do not provide an aperiodic timing
	source.

	* nucleus/module.c (__xeno_sys_init): Straighten error path.

2004-08-30  Philippe Gerum  <rpm@xenomai.org>

	* nucleus: Define CONFIG_XENO_HW_APERIODIC_TIMER.

	* nucleus/timer.c (xntimer_enqueue): Completely dissociate
	periodic from aperiodic timer enqueueing/dequeueing.

2004-08-30  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/ppc/hal/hal.c: Move the Doxygen documentation to a new
	group, 	hal_ppc, in order to avoid clash (and doxygen warnings)
	with x86 documentation.

2004-08-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_migrate): Initial implementation of a
	migration function.

	* nucleus/pod.c (xnpod_init, xnpod_shutdown): Remove useless calls
	to set_cpus_allowed.

	* nucleus, */system.h: Use cpumask_t for affinity, providing
	an 'unsigned long' based implementation for architectures other
	than the Linux kernel.

2004-08-29  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/pod.h (struct pod): Remove the usrthread member;
	it became meaningless with the dismissal of the threaded interrupt
	model.

	* nucleus: Prefer non-atomic bitops when applicable.

	* nucleus/pod.c (xnpod_schedule): Clarify the path to switch
	decision a bit.

2004-08-29  Marc Kleine-Budde <kleine-budde@gmx.de>

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Do not
	fiddle with Altivec-related information if Altivec support is not
	configured in.

2004-08-28  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_next_shot): Update timer shot
	anticipation.

2004-08-27  Philippe Gerum  <rpm@xenomai.org>

	* nucleus: Add support for execution timestamps aimed at chasing
	excessive jitter.

	* skins/native/pipe.c (__pipe_close_handler): Leave the pipe struct
	alive and wait for a subsequent call to rt_pipe_close() from the
	application.

2004-08-26  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/patches: Add 2.6.8rc1-r6c4.

	* include/nucleus/asm-ppc/system.h (xnarch_switch_to): Integrate
	various bits of user-space context switching in a single area.

	* nucleus/timer.c (xntimer_do_timers): Optimize restart point.

	* arch/ppc/hal/hal.c (rthal_calibration_timer): Return the 1 tick
	(expressed as a count of nanoseconds) instead of zero. The latter
	is a special error value.

	* testsuite/latency/latency.c (cleanup_upon_sig): Stop timer.

	* nucleus/shadow.c (xnshadow_kick_process): Check shared pending
	signal mask too.

2004-08-25  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/hal.c (rthal_calibration_timer): On PowerPC
	systems, the cost of setting the decrementer or the PIT does not
	induce significant latency; so just return zero from there without
	further evaluation.
	(rthal_trap_fault): Add simplistic handling.

	* arch/ppc/hal/switch.S (rthal_context_switch): Fix register
	offset mismatch.

2004-08-24  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/switch.S (rthal_context_switch): Enforce standard
	stack frame overhead.

	* include/nucleus/asm-i386/system.h (xnarch_sleep_on): Properly
	set the task state before sleeping on schedule_timeout().

	* include/nucleus/asm-ppc/system.h (xnarch_program_timer_shot): Do
	not rescale the delay value uselessly.

	* arch/ppc/hal/hal.c (__rthal_init): Fix tunables.timer_freq.

	* arch/i386/hal/hal.c: Make proper use of
	IPIPE_NR_XIRQS/IPIPE_NR_IRQS.

2004-08-23  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc/hal/hal.c (rthal_timer_request, rthal_timer_release):
	Implement timer setup code.

	* testsuite/cruncher/cruncher.c: Remove useless and offending
	<asm/io.h> inclusion (x86-specific).

2004-08-22  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc: Various compilation fixes.
	
	* Kconfig: Centralize generic/common Kconfig information.

	* arch/ppc/hal/fpu.S: Add FPU save/restore support.

2004-08-19  Philippe Gerum  <rpm@xenomai.org>

	* arch/ppc, include/nucleus/asm-ppc: Add PowerPC base.

	* include/nucleus/asm-i386/system.h: MODULE_LICENSE is always
	defined in 2.6: remove default definition.

2004-08-17  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/hal.h: Kill obsolete
	rthal_switch_to_*() routines: system.h does this in an integrated
	fashion already.

	* include/nucleus/asm-i386/fpu.h: Kill fpu.h and integrate the
	tiny useful bit it used to provide directly into system.h.

2004-08-16  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Allow for assembly files in target modules.

2004-08-05  Marc Kleine-Budde <kleine-budde@gmx.de>

	* arch/i386/hal/hal.c (rthal_trap_fault): Remove legacy code from
	pre-Adeos times.

2004-08-05  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-uvm/system.h: Include missing
	<xeno_config.h>.

2004-08-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_welcome_thread): Fix FPU ownership on
	thread entry.

2004-08-04  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.4

2004-08-04  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c (xntimer_next_shot): Anticipate the next timer
	shot better.

2004-08-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h: Fix FPU support for
	kernel-based threads.

2004-08-03  Marc Kleine-Budde <kleine-budde@gmx.de>

	* nucleus/pod.c (xnpod_trap_fault): Ensure that faults over IRQs
	and threads are properly relayed to the user-defined fault
	handler.

	* nucleus/pod.c (xnpod_announce_tick): Move the test for the timer
	mode away from the inner loop.

2004-08-03  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.7-i386-r6c6. This is
	needed to have the APIC timing in uniprocessor mode properly
	working.

2004-08-02  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c: Refactor the timer support.  As a result of
	the changes: 1) the code automatically adapts to the timer used by
	the kernel configuration, and only for this one
	(CONFIG_X86_LOCAL_APIC or not); 2) the UP+LAPIC configuration now
	works properly; 3) the timer-related API exposed is much more
	consistent.

	* arch/i386/patches: Upgrade to Adeos 2.6.7-i386-r6c5.

2004-08-02  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (XNARCH_CALIBRATION_PERIOD):
	Set to 100 us.

	* arch/i386/hal/hal.c (rthal_trap_fault): Remove obsolete code
	trapping exception #7 over the Xenomai domain.

	* nucleus/timer.c (xntimer_next_shot): Rewrite so that the
	calibrated latencies are properly used.

	* nucleus/pod.c (xnpod_resume_thread): Single exit branch.

2004-08-01  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/types.h: Define signed types for tick and
	nanosecond values.

	* skins/native/timer.c (rt_timer_ticks2ns, rt_timer_ns2ticks):
	Operate on signed input/output values.

2004-07-31  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_preempt_current_thread): Remove superfluous
	locking; it must be in effect when entering the routine in any
	case.

2004-07-27  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_sync_wait): Use the right type for
	storing a spl value.

2004-07-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/dbridge.c: Use SMP locking.

2004-07-25  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.3

2004-07-25  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Discard legacy kbuild support (pre-2.6.6) from
	XENO_KBUILD_CMD.

2004-07-23  Marc Kleine-Budde <kleine-budde@gmx.de>

	* skins/posix/sem.c (sem_init): Add newly created semaphores to
	pse51_semq.

2004-07-22  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/pipe.c (rt_pipe_alloc): Fix allocation size to
	encompass the header space.

	* skins/native/pipe.c (__pipe_close_handler): Shutdown the kernel
	side of the pipe upon closure of the user-space side.

2004-07-22  Marc Kleine-Budde <kleine-budde@gmx.de>

	* scripts/xeno-config: Fix output of --config.

2004-07-21  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade to Adeos 2.6.7-i386-r6c4.

2004-07-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_schedule, xnpod_schedule_runnable): Test 
	the XNKILLED bit early in the scheduling functions, to avoid
	inter-cpu races conditions where one CPU decides to kill one
	thread, whereas the thread is currently	suspending itself on
	another CPU.
	(xnpod_dispatch_signals): clear the XNKILLED bit once tested.
	(xnpod_shutdown): Remove a potentially harmful xnlock_init.
							
	* nucleus/shadow.c (xnshadow_wakeup_handler): Reflect shadow
	inter-cpu migrations on its user-space mate.
				
2004-07-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h (__switch_threads): Provide
	a different version for gcc before version 3.2.
		
2004-07-17  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/asm-i386/system.h (__switch_threads): Mark the
	eax and edx registers as input/output and ebx and esi as clobbered
	in order to avoid Debian gcc 3.3.4 to generate code reusing ebx
	after the context switch for a Xeon kernel with SMP and without
	preemption enabled.

	* nucleus/shadow.c (xnshadow_kick_process): Set the rescheduling
	bit of the killed thread's scheduler when the killed thread is
	running.

	* nucleus/shadow.c (xnshadow_schedule_head): Test whether a thread
	which is about to be scheduled is marked as blocked for the
	nucleus.
			
2004-07-07  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/pod.c (xnpod_schedule)
	  include/nucleus/pod.h (xnsched_clr_mask): Do not forget to clear
	the rescheduling bits after having sent the rescheduling IPIs.
			
2004-07-05  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>
			
	* nucleus/shadow.c (irq_shield): Manipulate the IRQ shield over
	the IShield domain, instead of the Root domain. Do not send IPIs
	to CPU which do not exist or are not online.
						
2004-07-04  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/thread.c (xnthread_symbolic_status): Add helper function
	to convert a thread status word into its symbolic
	(i.e. human-readable) representation.

2004-07-01  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_relax): Do not hold the nucleus
	superlock while performing the Linux scheduling tail; just lock
	the local IRQs out.

2004-06-30  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_kick_process): Do not hold the
	nucleus superlock while sending the scheduling request to the high
	stage.

2004-06-30  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.2

2004-06-30  Philippe Gerum  <rpm@xenomai.org>

	* testsuite/cruncher: Add a test measuring the nanosleep() and
	execution time jitters w/ and w/o Xenomai.

2004-06-29  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c (__pthread_shadow_helper): Protect the mapping
	phase from asynchronous deletion of the new shadow thread.

	* skins/native/syscall.c (__rt_task_create): Downgrade the lock held
	during xnshadow_map() from global (nucleus superlock) to local
	(IRQ masking).

	* skins/native/cond.c: Add Doxygen documentation of services.

	* include/nucleus/asm-i386/system.h (xnarch_setimask): Inline it.

	* nucleus/module.c: Export missing symbols.

2004-06-29  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* nucleus/shadow.c (xnshado_map, xnshadow_attach_skin,
	xnshadow_unmap): Fix the skin reference counting.
		
2004-06-28  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade the x86 patch to 2.6.7r6c1. Discard
	older r5 patches since critical fixes are brought by this one,
	Linux-wise and Adeos-wise.

	* arch/i386/hal/hal.c (rthal_trap_fault): Handle xeno-originated
	faults in kernel space caused by on-demand virtual memory
	mappings.

	* nucleus/shadow.c: Import SMP-related changes.

	* skins/native/pipe.c (rt_pipe_open): Set magic number.

2004-06-28  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/psos+, skins/native, skins/uitron, skins/vrtx: adaptation to SMP.

	* */asm*/system.h: same cleanup.

	* include/nucleus/asm-i386/system.h: SMP code cleanup.

2004-06-27  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h: Better split the SMP/UP code
	so that the #ifdef hell is reduced.

2004-06-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/heap.c: Remove the automatically extendable heap
	feature: this proved to be useless and confusing. Provide
	xnheap_extend() to manually extend any given heap instead.
	Fix documentation and skins accordingly.

2004-06-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_schedule_runnable): Fix XNSCHED handling,
	so that we still leave this bit on if no thread switch is
	performed.
	(xnpod_schedule): Optimize and iron SMP case.

2004-06-24  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* arch/i386/Kconfig, arch/i386/defconfig, configure.in: correctly
	handle the configure-time number of cpus.

2004-06-23  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Do not pass SUBDIRS to the kernel builder anymore;
	only rely on M=.

	* include/nucleus/asm-i386/system.h (xnarch_thread_redirect): 
	Force regparm(0) so that we are still safe if CONFIG_REGPARM is
	enabled (use "asmlinkage" for that).

2004-06-21  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c (rthal_domain_entry): Disable sync (debug)
	mode for printk().

	* nucleus/lib/fusion.c (pthread_migrate_rt): Directly use the
	nucleus-based migration service: this one works properly in all
	cases...

2004-06-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* configure.in, GNUmakefile.am: handle correctly the "all" and "dist"
	targets, whether or not the doc and sim directories are present in
	the source tree.

2004-06-20  Philippe Gerum  <rpm@xenomai.org>

	* skins/native: Export interface symbols.

2004-06-19  Philippe Gerum  <rpm@xenomai.org>

	* doc/docbook/docbook-test/xenomai.xml: Refactor the paper
	according to the latest RTAI/Xenomai evolution.

2004-06-18  Philippe Gerum  <rpm@xenomai.org>

 	* RELEASE: fusion-0.1

2004-06-18  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/patches: Upgrade the x86 patches to 2.6r5 final. Add
	support for 2.6.7.

	* skins/native/syscall.c: Do not compile in unselected optional
	support.
	
	* skins/native/syscall.c: Properly handle calls on self task object.

	* skins/native/syscall.c: Only fetch objects address but do not lock
	them since the descriptor will be (re-)verified by the syscall,
	and we want the possibly pended object to be destroyable, and
	sleepers to unblock on the XNRMID condition.

	* skins/native/registry.c: Implement rt_registry_fetch().

2004-06-17  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Clobber *.o in XENO_KBUILD_CLEAN.

	* skins/native/cond.c: Add condition variable support.

	* skins/native/mutex.c: Add mutex support.

	* nucleus/core.c (__pthread_set_periodic_rt,
	__pthread_wait_period_rt): Use new nucleus's built-in support for
	periodic timing.

	* skins/native/task.c (rt_task_set_periodic, rt_task_wait_period):
	Use new nucleus's built-in support for periodic timing.

	* nucleus/pod.c (xnpod_set_thread_periodic,
	xnpod_wait_thread_period): Add built-in support for periodic
	timing.

	* nucleus/shadow.c: Rollback some changes from the SMP port
	reinstating proper protection around critical sections.

2004-06-16  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/thread.h: Rename thread::timer to thread::rtimer
	for "resource timer" in order to comply with the other timer
	names.

	* nucleus/pod.c (xnpod_delete_thread): Stop the periodic timer
	before deleting the thread.

2004-06-15  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_realtime_sysentry): Properly return
	-ENOSYS upon syscall request without any skin loaded.

	* nucleus/pod.c (xnpod_schedule_runnable): Postpone
	xnsched_clr_resched() so that calls with XNPOD_NOSWITCH set don't
	clear it.

	* nucleus/pod.c (xnpod_schedule): Make sure we don't lose the
	rescheduling bit upon early exit.
	
	* nucleus/thread.c (xnthread_init): Add built-in support for
	periodic timing.

2004-06-13  Philippe Gerum  <rpm@xenomai.org>

	* scripts/xeno-load.in: Use modprobe instead of insmod for modules
	from /lib/modules.

2004-06-11  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Export event group interface.

	* skins/native/event.c: Add documentation.

2004-06-10  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/event.c: Fully implement the event flag group.

	* nucleus/pod.c (xnpod_init_thread): Discard magic parameter. Use
	xnthread_set_magic() after creation instead.

	* nucleus/thread.c (xnthread_init): Discard magic parameter as a
	consequence of the above change.

	* configure.in: Pass ARCH in XENO_KBUILD_CMD.

2004-06-09  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (xnarch_switch_to): Integrate
	the memory context switch code inline.

	* arch/i386/hal/hal.c: Discard rthal_linux_switch_mm().

2004-06-07  Philippe Gerum  <rpm@xenomai.org>

	* scripts/xeno-load.in: Add application loader adapted from
	vesuvio.

	* testsuite: Add testsuite embryo. First, a plain and simple
	latency test.

2004-06-06  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/system.h: Remove useless inclusions for plain
	user-space mode.

2004-06-06  Philippe Gerum  <rpm@xenomai.org>

	* Move to GNA (http://www.gna.org/projects/rtai/).

2004-06-06  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/system.h: New wrapper file for user-space
	inclusion. Wraps to the nucleus/asm-uvm/ pseudo-architecture when
	compiling the user-space VMs.

	* include/nucleus/vm: Replaced and refactored by nucleus/asm-uvm/.

2004-06-05  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/hal.h,
	sim/include/nucleus/asm/system/h,
	include/nucleus/vm/nucleus/asm/system.h: Add ffnz().

2004-06-04  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_calibrate_sched): Make extern.

2004-06-04  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* fusion: SMP port contributed by the HYADES project
	(http://www.hyades-itea.org/).
	
2004-06-04  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/mutex.c: Remove mutex support which proved to raise
	performances issues, especially in SMP mode.

	* nucleus/pod.c (xnpod_init_thread, xnpod_start_thread): Kill
	arch-dependent cookie.

	* include/nucleus/asm-i386/hal.h: Cleanup a few obsolete macros.

	* nucleus/shadow.c: Discard autoswitch mode to Xenomai upon return
	from Linux; it proved useless by design. Additionally, this
	removes the need for intercepting the syscall exit event.

2004-06-02  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/syscall.c: Wrap semaphore services.

2004-06-01  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c: Add autocalibration code for scheduling and timer
	latencies.

	* fusion: Replace Xenomai-defined errcodes by standard POSIX ones.

	* nucleus/pod.c (xnpod_start_timer): Make sure the user cannot
	specify a host tick shorter than the timer precision.

2004-05-31  Philippe Gerum  <rpm@xenomai.org>

	* skins/uitron, skins/vrtx: Use interrupt masking instead of
	an interface mutex.

	* nucleus/timer.c (xntimer_do_timers): Postpone the propagation of
	the host tick to the interrupt epilogue (xnintr_irq_handler()).

2004-05-29  Philippe Gerum  <rpm@xenomai.org>

	* skins/native: Use interrupt masking instead of an interface mutex.

	* nucleus/intr.c, nucleus/pod.c: Dismantle support for interrupt
	service threads, which proved to be too higher an abstraction for
	the nanokernel which would be better provided by the skins
	themselves, using their own semantics (e.g. the fact that ISVCs
	could not block is a major drawback wrt usability).
	Performance-wise, handling the clock interrupt over an ISVC also
	showed far too much overhead compared to a direct handling over
	ISRs. This global change also means that clock ticks are now
	directly handled over the timer ISR.

	* nucleus/pod.c (xnpod_schedule_runnable): Clear the XNSCHED flag.

2004-05-28  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c (xnpod_stop_timer): Freeze all running timers.

	* nucleus/timer.c (xntimer_freeze): Add support for dequeuing all
	running software timers upon request to stop the hardware timer.

	* nucleus/pod.c (xnpod_init_thread): Make sure we don't accept
	extraneous flags for the thread.

2004-05-26  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* GNUmakefile.am (SUBDIRS): moved the distribution of the "config"
	directory to config/GNUmakefile.am to avoid a conflict with the
	phony config target which occured when running "make dist".

2004-05-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/pod.c: Remove the obsolete and unfinished debugger
	support and xnpod_freeze()/unfreeze() routines which are
	definitely lethal in a mutex-enabled system, since one could
	accidentally suspend a thread owning a mutex without competing for
	the said mutex first.
	(xnpod_init): Manage a "still initializing" bit so that we don't
	try to refer to a half-baked pod from some Adeos event hooks that
	may preempt xnpod_init()
	[e.g. ADEOS_SCHEDULE_HEAD set up by the shadow support].

2004-05-26  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* include/nucleus/mutex.h (xnmutex_clear_lock, xnmutex_set_lock):
	Make sure we account for any change of the mutex state
	(pended/free) when reinstating its value.
	
2004-05-26  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/mutex.c (xnmutex_forget_sleeper): 

	* nucleus/timer.c (xntimer_set_initial_date): Make sure interval
	timers using an aperiodic time source use a constant epoch to
	compute the time of the next shot, and not the current CPU time.
	(xntimer_stop): Reprogram the aperiodic hardware for the next shot
	if removing the heading timer.

	* skins/native/task.c (__task_delete_hook): Destroy the periodic
	timer.

2004-05-25  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/core.c: Fix modifier of pthread_sleep_rt().

	* nucleus/intr.c (xnintr_svc_thread): Ensure nested interrupts are
	never lost.

2004-05-24  Philippe Gerum  <rpm@xenomai.org>

	* include/nucleus/asm-i386/system.h (xnarch_program_timer_shot):
	Make sure we do not set the timer for an elapse time shorter than
	the calibrated value for programming it.
	
2004-05-23  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c (rt_task_set_periodic): Properly test the
	return value of xntimer_start() so that any attempt to set the
	first periodic release point in the past is detected.

	* include/nucleus/asm-i386/system.h: Properly scale the CPU
	frequency-based input value to a PIT frequency-based one.

2004-05-22  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_umount): Make sure to run the Linux
	scheduling tail code before exiting a mapped task.

2004-05-21  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_realtime_sysentry): Always propagate
	regular Linux syscalls to the low domain stage handler if we are
	running over the root thread.

	* nucleus/shadow.c (get_calling_task): Improve robustness.

2004-05-19  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/lib/fusion.c: Fix migration switches.

2004-05-21  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* skins/posix/cond.c (cond_timedwait_internal): no longer try to
	be smart about why xnsynch_sleep_on returned; cause a wakeup and
	let the application decide. Move the functions saving and
	restoring mutex lock counts to mutex.h.

	* skins/posix/signal.c: replace the direct bitfields
	manipulations by the macros setbits, clrbits et testbits.

	* skins/vxworks/taskLib.c (testSafe): removed the useless and
	harmful calls to xnpod_lock_sched and xnpod_unlock_sched.

2004-05-18  Gilles Chanteperdrix  <gilles.chanteperdrix@laposte.net>

	* doc/install-dist.rules, doc/docbook/docbook.rules :
	suppressed empty 'for' loops to avoid a bug occuring with versions
	of bash before 2.05a. For details, see :
	http://www.unixguide.net/unix/bash/E7.shtml

2004-05-18  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/shadow.c (xnshadow_map): Rely on the standard
	xnthread_init() routine for having prepared the thread struct; do
	not handcraft it anymore.

	* skins/native/registry.c (rt_registry_get): Fix the return value.
	(rt_registry_enter): Properly index the specified opaque object.

	* nucleus/shadow.c (xnshadow_realtime_sysentry): Mark the syscalls
	requiring a shadow context to run instead of the opposite.

2004-05-17  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/module.c (__xeno_skin_init): Set up init sequence.

	* skins/native/timer.c (rt_timer_start): Add call to start the
	timer.

	* skins/native/registry.c: Rework safe/unsafe handling.

	* skins/native/pipe.c (rt_pipe_write): Flush the streamed output
	prior to sending.

	* include/nucleus/asm-i386/hal.h (rthal_ulldiv): Allow for
	optional remainder.

	* nucleus/shadow.c: Use a per-thread status bit to handle the kill
	condition instead of polluting the signal namespace.

	* nucleus/shadow.c (xnshadow_substitute_syscall): Fix timeout
	handling in aperiodic mode.

2004-05-16  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/pipe.c (rt_pipe_fill): Add flushable bit to prevent
	multiple enqueing.

	* skins/native/pipe.c (rt_pipe_close): Ensure the flushable data are
	purged on pipe closure.

	* arch/i386/hal/hal.c (rthal_pend_linux_srq): Return the TAS flag
	for the operation.

	* skins/native/pipe.c (rt_pipe_fill): Add primitive to use pipe in
	byte stream mode from kernel to userland.

	* arch/i386/hal/hal.c: Reserve SRQ #0 as invalid.

	* skins/native/pipe.c: Provide support for inter-domain communication
	channels.
	
	* skins/native, configure.in: Make registry support optional.

2004-05-15  Philippe Gerum  <rpm@xenomai.org>

	* skins/native/task.c: Return -ETIMEDOUT instead of -EAGAIN.

	* configure.in, arch/i386/Kconfig: Make the total number of
	registry slots configurable.
	
	* skins/native/registry.c: Add registry support.

2004-05-13  Philippe Gerum  <rpm@xenomai.org>

	* arch/i386/hal/hal.c: Fix placeholder names of IRQ affinity
	services in UP case.

	* skins/native/task.c: Allow passing implicit 'self' argument using
	a NULL task pointer to rt_task_delete(), rt_task_suspend() and
	rt_task_inquire().

2004-05-12  Philippe Gerum  <rpm@xenomai.org>

	* nucleus/timer.c: Deal with CPU ticks internally when running in
	aperiodic mode, but still expose nanosecond parameters to the
	upper interface.

	* nucleus/timer.c, nucleus/thread.h: Make all time computations
	consistent with the current internal unit.

2004-05-10  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Put baseline on the public CVS.

2004-05-06  Philippe Gerum  <rpm@xenomai.org>

	* sim: Adapt simulation support. Discard (now useless)
	VRTAI-related support.
	
	* nucleus/core.c: Integrate the fusion interface to the nucleus
	and make it auto loadable/unloadable.

2004-05-03  Philippe Gerum  <rpm@xenomai.org>

	* skins/native: Start skin aimed at refactoring the original RTAI
	API.
	
	* nucleus/heap.c (xnheap_free): Fix a potential race upon concurrent
	release of the same block.

2004-05-02  Philippe Gerum  <rpm@xenomai.org>

	* skins/posix: Coding style updates.

2004-05-01  Philippe Gerum  <rpm@xenomai.org>

	* configure.in: Ensure that xeno_srctree and xeno_srcdir are
	always absolute paths. This fixes out-of-tree builds when
	executing the configure script by hand.

2004-04-30  Philippe Gerum  <rpm@xenomai.org>

	* fusion: Organize directory layout and adapt configuration and
	build systems.

	* Started: baseline from Xenomai as of 3.1-test2.
