1998-10-28  David Moore  <dsm@keema.cygnus.co.uk>

	* include/pkgconf/kernel.h
 	(CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION): Changed default value for
 	MIPS simulator to be 0.01 secs instead of 0.001 seconds.

1998-10-28  Jesper Skov  <jskov@cygnus.co.uk>

	* tests/kcache1.c (HAL_DCACHE_PURGE_ALL): Fixed compiler problem
	on PowerPC.

1998-10-27  Nick Garnett  <nickg@cygnus.co.uk>

	* tests/kcache1.c:
	Added calls to HAL_DCACHE_PURGE_ALL() before each test.  Added
	local version of HAL_DCACHE_PURGE_ALL() if this is not supplied by
	the HAL.

1998-10-27  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/common/thread.cxx (wake): 
	Remove the thread unconditionally from any queue it was on; for we
	have just become not-asleep, so it must be OK.  (Bug was: it
	didn't happen in transit WAIT-SUSPEND -> SUSPEND, so synch object
	still believed the task was waiting on it).  PR#17998

1998-10-26  Jesper Skov  <jskov@cygnus.co.uk>
        PR 17527, PR 17837

	* tests/kcache1.c: 
	* tests/kclock0.c: 
	* tests/kclock1.c: 
	* tests/clock1.cxx: 
	* tests/clock0.cxx: 
	Do N/A PASS when kernel real-time clock is configured out.

1998-10-26  Jesper Skov  <jskov@lassi.cygnus.co.uk>
        PR 17866

	* include/pkgconf/kernel.h
	(CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE): Doubled to prevent stack
	overruns on PowerPC.

1998-10-26  Jesper Skov  <jskov@cygnus.co.uk>
        PR 17987

	* src/debug/dbg_gdb.cxx (dbg_threadinfo): Removed "more: <none>"
	output.

1998-10-23  John Dallaway  <jld@cygnus.co.uk>

	* tests/tm_basic.cxx: Added basic timing test.

1998-10-23  Nick Garnett  <nickg@cygnus.co.uk>

	* include/instrmnt.h:
	Improved documentation of cyg_instrument_enable() and
	cyg_instrument_disable().

	* src/instrmnt/meminst.cxx:
	Added code to enable and disable whole groups of events.

1998-10-23  Jesper Skov  <jskov@lassi.cygnus.co.uk>

	* include/generic-stub.h: Deleted. It was moved to hal common some
	time ago.

Fri Oct 23 04:45:12 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* tests/kcache1.c: 
	Remove forced warning of a warning which no longer applies

1998-10-22  Nick Garnett  <nickg@cygnus.co.uk>

	* src/common/clock.cxx:
	Stop searching the alarm list when the current alarm is in the
	future in Cyg_Counter::tick().  Changed sense of comparison in
	Cyg_Counter::add_alarm() to sort alarms in ascending order.

Thu Oct 22 18:21:50 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Fix commenting within CDL "comments"

Thu Oct 22 17:25:45 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Remove CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER configuration
	option. For PR 17838

1998-10-21  Nick Garnett  <nickg@cygnus.co.uk>

	* include/pkgconf/kernel.h (CYGNUM_KERNEL_COUNTERS_RTC_PERIOD):
	Changed value for JMR3904 board to 15360 which is correct for a
	24.576MHz board rather than 25MHz as before.

	* src/common/thread.cxx:
	Exchanged stack_base and stack_size in idle thread constructor.

1998-10-20  Hugo Tyson  <hmt@cygnus.co.uk>

	* tests/kflag1.c (kflag1_main): 
	Only mess with f2 if it exists, ie. CYGFUN_KERNEL_THREADS_TIMER.

1998-10-19  Mark Galassi  <rosalia@cygnus.com>

	* include/pkgconf/kernel.h: updated the doc URL

1998-10-19  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/kapi.h: 
	* include/kapidata.h (struct cyg_flag_t): 
	* src/common/kapi.cxx: 
	Add flags (Cyg_Flag, kernel.../flag.hxx) to the C API.

	* tests/PKGconf.mak (TESTS): 
	Add new tests for flags via the C API.

	* tests/kflag0.c: 
	* tests/kflag1.c: 
	New tests (well, versions of the plain C++ versions flag0.cxx and
	flag1.cxx) for flags via the kernel C API.
	
1998-10-19  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Fixed description of clock resolution.

1998-10-17  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Added a way of configuring the clock interrupt frequency.

Thu Oct 15 21:31:58 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Allow kernel to be disabled now

	* src/common/delete.cxx, src/common/memcpy.c, src/common/memset.c:
	Move these files to the infra package

	* src/PKGconf.mak:
	Don't build the above files any more

	Above changes are required for PR 17229

1998-10-15  Hugo Tyson  <hmt@masala.cygnus.co.uk>

	* include/mempoolt.inl (Cyg_Mempoolt): 
	* include/mempolt2.inl (Cyg_Mempolt2): 
	Flesh out the destructors to awaken any waiting threads
	with reason Cyg_Thread::DESTRUCT to support uITRON
	create and delete of memory pool objects.
	Note that only template mempolt2 is actually used.
	
Wed Oct 14 21:45:54 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* tests/thread_gdb.c: 
	Remove unnecessary inclusion of <cyg/kernel/diag.h>

	* tests/kcache1.c: 
	Add a warning to expect the "function declaration isn't a
	prototype" warning from infra/diag.h

1998-10-14  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/common/thread.cxx (kill,reinitialize): 
	Do not refer to member timer unless CYGFUN_KERNEL_THREADS_TIMER is
	defined.
	
1998-10-14  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/dbg-thread-demux.c:
	Now get dbg-threads-api.h from HAL.

	* src/debug/dbg_gdb.cxx:
	Tidied up info sent back by dbg_threadinfo().

	* src/common/thread.cxx:
	Changed constructor of idle thread to include initial priority and
	a thread name.

	* include/pkgconf/kernel.h:
	Moved GDB stub configuration code out to hal.h.

	* include/ktypes.h:
	Moved definition of CYG_LABEL_NAME() out to cyg_type.h.

	* src/debug/PKGconf.mak:
	* src/debug/dbg-threads-api.h:
	* src/debug/generic-stub.c:
	* src/debug/stubrom.c:
	* src/debug/thread-packets.c:
	* src/debug/thread-pkts.h:
	These files have all be relocated to hal/common.

1998-10-14  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/thread.hxx (class Cyg_Thread): 
	Add public members get_stack_base(), get_stack_size() and
	get_stack_limit();
	Add private members add_to_list() and remove_from_list() to
	centralize handling of the CYGVAR_KERNEL_THREADS_LIST as it is
	known.

	* include/thread.inl (class Cyg_Thread): 
	Add public members get_stack_base(), get_stack_size() and
	get_stack_limit();

	* src/common/thread.cxx: 
	Add private members add_to_list() and remove_from_list() to
	centralize handling of the CYGVAR_KERNEL_THREADS_LIST as it is
	known.
	Tidy up the two constructors to use them.
	Add CYG_REPORT_RETURN()/_RETVAL(...) logging throughout.
	Tidy up reinitialize() to use the 6-argument constructor,
	thus preserving the thread name.
	Fix some bugs in the CYGVAR_KERNEL_THREADS_LIST stuff where
	re-adding a thread caused loops in the list, and the like.
	Fix bug in set_priority() when the thread is asleep but NOT on any
	queue, such as a plain counted_sleep().

1998-10-14  Jesper Skov  <jskov@cygnus.co.uk>

	* src/debug/thread-packets.c: 
	* src/debug/dbg_gdb.cxx: 
	Don't include hal_stub.h unless it's really, really, really
	needed.
		
1998-10-14  Jesper Skov  <jskov@cygnus.co.uk>

	* src/debug/dbg_gdb.cxx: Don't include hal_stub.h unless it's really
	needed.

1998-10-13  Jesper Skov  <jskov@cygnus.co.uk>

	* src/debug/generic-stub.c: Added thread support. Renaming a few
	functions/variables to match the most recent libstub
	generic-stub.c.
	Use thread_get_register & thread_put_register when handling GDB
	register packets.

	* src/debug/dbg_gdb.cxx (dbg_getthreadreg, dbg_getthreadreg):
	DTRT for current thread when CygMon is not configured.
	
	* src/debug/dbg_gdb.cxx (dbg_threadlist, dbg_getthreadreg,
	dbg_getthreadreg): return true/false rather than 0, 1, -1.
	
	* src/debug/dbg_gdb.cxx:
	* src/debug/dbg-threads-api.h: 
	Added dbg_currthread_id.

1998-10-08  Jesper Skov  <jskov@lassi.cygnus.co.uk>

	* src/debug/generic-stub.c: 
	* src/debug/generic-stub.h: 
	Added control of interrupts.
	Removed unused functions set_debug_trap and initialize_stub.
	
Tue Oct 13 17:36:29 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/test/tsttracc.c (cyg_start): 
	Replace CYG_REPORT_FUNCARGSVOID with the correct
	CYG_REPORT_FUNCARGVOID

1998-10-09  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/common/thread.cxx: 
	clear_timer() is a static which always affects the executing
	thread and none other.  Removed the "foo->" from various
	"foo->clear_timer()" calls to make this less confusing.
	Ditto set_timer().
	Changed a "clear_timer()" call to "timer.disable()" and added one
	so that they affect _this_ thread, the thread which is being
	kill()ed or reinitialize()d rather than the killer or the
	resuscitator.  Otherwise the alarm list can still get a loop in
	it when a thread's killed when waiting with a timeout and
	restarted soon enough.
	
1998-10-08  Hugo Tyson  <hmt@cygnus.co.uk>

	In general, these changes are to support create/delete of uITRON
	objects; this requires that an object can be destroyed whilst
	there are threads waiting on it, and that they shall be awoken
	with a specific return code.

	* include/thread.hxx:
	Cyg_Thread::DESTRUCT added to wake reasons, to deal with an object
	being destroyed whilst a thread is waiting on it; it's handled in
	a manner very similar to release() and BREAK wake_reason.
	
	* src/common/thread.cxx: 
	thread_entry(): threads now exit() if the entry_point returns.
	Cyg_Thread() constructors now initialize wake_reason to NONE.
	reinitialize() clears any pending timeout before calling
	constructors.
	counted_sleep( [timeout] ) now both deal with the wake reason in
	general, and with DESTRUCT in particular.
	exit() now clears any pending timeout.
	kill() now force_resumes the thread first.
	kill() now does not explicitly remove the thread from any queue
	it's on; wake() does that for you anyway.
	delay() clears the timer just in case and handles DESTRUCT
	properly.
	DESTRUCT added to various switches for completeness.

	The fixes to counted_sleep()[x2] and kill() are a bugfix for
	PR#17688.

	* include/flag.hxx:
	* src/sync/flag.cxx:
	Add an argument, defaulting to 0, to the constructor which sets
	the initial flag value.
	Add handing of DESTRUCT wake reason.
	Add a destructor which wakes all threads with DESTRUCT
	wake_reason.

	* include/mboxt2.inl:
	Add handing of DESTRUCT wake reason.
	Add a destructor which wakes all threads with DESTRUCT
	wake_reason.

	* src/sync/cnt_sem2.cxx:
	Add handing of DESTRUCT wake reason.
	Add a destructor which wakes all threads with DESTRUCT
	wake_reason.
	Correct typo in logic for queueing a waiting thread in
	Cyg_Counting_Semaphore2::wait( cyg_tick_count abs_timeout ).
	This is a bugfix for PR#17687.

	* include/mboxt.inl:
	* include/mempoolt.inl:
	* include/mempolt2.inl:
	* src/sync/bin_sem.cxx:
	* src/sync/cnt_sem.cxx:
	* src/sync/mutex.cxx:
	All these gain handling of the DESTRUCT wake_reason, that's all.
	
1998-10-08  Gary Thomas  <gthomas@penang.cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Add support for new architecture

1998-10-07  Nick Garnett  <nickg@cygnus.co.uk>

	* tests/kcache1.c (entry0):
	Replaced CYG_TEST_FINISH() with CYG_TEST_PASS_FINISH().

	* src/debug/dbg-thread-demux.c:
	Added dbg_thread_syscall_rmt_1() to save/set and restore the $gp
	register values when being called from Cygmon.

Sun Sep 27 20:12:15 1998  David Moore  <dsm@keema.cygnus.co.uk>

	* include/mlqueue.hxx: 
	* include/bitmap.hxx: 
	Disallow more than 32 priority levels
	
	* include/pkgconf/kernel.h:
	Changed range of allowed levels from 64 to 32

1998-09-27  Nick Garnett  <nickg@cygnus.co.uk>

	* tests/memfix2.cxx:
	Changed message to say "Fixed memory pool 2 OK" rather than
	"Variable memory pool 2 OK".

1998-09-26  Bart Veer  <bartv@cygnus.co.uk>

	* include/intr.hxx (DSRs_pending):
	PR 17500: if DSR support is disabled completely then this inline
	function should not be defined at all.

1998-09-26  Nick Garnett  <nickg@cygnus.co.uk>

	* tests/kcache1.c:
	Added this test program for cache API. Includes some performance
	testing.

1998-09-25  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/dbg_gdb.cxx:
	Removed some debugging code.

	* tests/thread_gdb.c:
	Added this test program to allow for GDB thread support testing.

1998-09-25  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	The GDB thread support requires the kernel to keep track of all
	threads on a linked list. This is a separate option. An additional
	requires statement enforces the dependency.
	
1998-09-25  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/dbg-thread-demux.c:
	Added include of <pkgconf/kernel.h>, removed debug code.

1998-09-24  Bart Veer  <bartv@cygnus.co.uk>

	* src/debug/dbg-thread-demux.c (dbg_thread_syscall_rmt):
	PR 17327. If kernel gdb thread support is disabled, do not compile
	in the relevant cases in the rmt switch statement. This is a
	partial solution to the general problem of how the HAL, kernel,
	cygmon, and gdb interact.

1998-09-24  Nick Garnett  <nickg@cygnus.co.uk>

	* src/common/clock.cxx (Cyg_RealTimeClock):
	Changed clock priority from zero to one, since it is now used to
	set the hardware interrupt priority.

	* src/intr/intr.cxx:
	Cyg_Interrupt::chain_isr() now only calls interrupt objects that
	have the matching vector number.
	Call HAL_INTERRUPT_SET_LEVEL() when attaching interrupts using the
	priority passed in the constructor.
	Added call to HAL_TRANSLATE_VECTOR() for attaching chained
	interrupts.

	* include/instrmnt.h (CYG_INSTRUMENT_EVENT_INTR_CHAIN_ISR):
	Added this event.

Thu Sep 24 11:07:12 1998  David Moore  <dsm@keema.cygnus.co.uk>

	* tests/except1.cxx: 
	* tests/kexcept1.cxx: 
	Made exception tests detect when CYGPKG_KERNEL_EXCEPTIONS
	is disabled.
	

1998-09-22  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Changed the kernel package from type bool to type dummy, since
	it is not yet possible to disable this package.

1998-09-20  Mark Galassi  <rosalia@cygnus.com>

	* include/pkgconf/kernel.h: updated CDL doc strings.
	fixed some typos in my doc strings.

1998-09-18  Nick Garnett  <nickg@cygnus.co.uk>

	* src/common/thread.cxx: 
	* include/thread.inl:
	Modified threads list from a LIFO stack to a ring so that we can
	add new ones to the end and present the threads to GDB in an order
	that more closely matches how it assigns thread ids.
	
Wed Sep 16 19:11:22 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/thread.inl (get_unique_id): 
	Move this declaration to before its first use, so that the user
	knows it is inline at the point of use.  Avoids a warning.

Wed Sep 16 08:49:48 1998  Jesper Skov  <jskov@cygnus.co.uk>
        PR 17269
 
 	* src/common/except.cxx (Cyg_Exception_Control): Replaced
	CYGNUM_EXCEPTION_MAX (bug!) with CYG_EXCEPTION_COUNT.
 
 	* include/kapidata.h (struct cyg_exception_conrol): Replaced
 	CYG_EXCEPTION_MAX (bug!) with CYG_EXCEPTION_COUNT.
 
 	* src/intr/intr.cxx:
 	* include/intr.hxx (class Cyg_Interrupt): Replaced CYG_ISR_MAX+1
 	with CYG_ISR_COUNT.
 
 	* include/except.hxx: Replaced CYGNUM_EXCEPTION_COUNT with
 	CYG_EXCEPTION_COUNT.
 
 	* tests/kintr0.c: 
 	* tests/intr0.cxx: Replaced CYG_ISR_MAX (bug!) with
 	CYG_ISR_COUNT.
 
Tue Sep 15 19:19:37 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/mboxt2.hxx:
	Add inclusion of thread.inl to silence warning

	* tests/kexcept1.c:
	Insert void as parameter list of __default_exception_vsr() to
	silence	warning

Tue Sep 15 19:16:52 1998  David Moore  <dsm@keema.cygnus.co.uk>

	* src/sched/sched.cxx: Cleaned up comments.

1998-09-15  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/dbg-thread-demux.c:
	Stubbed out led() function.

	* src/debug/dbg_gdb.cxx:
	Decide whether to byteswap thread id depending on reported byte
	order of target.
	Many small changes to debug code.

	* include/thread.inl (init_context):
	Changed CYG_DEBUG to CYGPKG_INFRA_DEBUG.

Tue Sep 15 09:35:14 1998  Jesper Skov  <jskov@cygnus.co.uk>
	PR 17236

	* src/common/clock.cxx (add_alarm): A retriggering alarm called
	with a trigger time in the past or now will be assigned a new
	trigger time. Don't find the counter list until the final trigger
	time is known.
	Also added a few #else error statements to catch a situation where
	no CYGIMP_KERNEL_COUNTERS_x_LIST implementation config is
	selected.
	
	* tests/clock0.cxx: Added extra ASSERT to ensure alarms enabled
	with a trigger time of now or in the past actually fire.
	* tests/kclock0.c: Same.
	
1998-09-15  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Cleaning up coonfiguration data (mostly improving the
	descriptions). 

Mon Sep 14 11:08:59 1998  Jesper Skov  <jskov@lassi.cygnus.co.uk>
        PR 17230

	* include/pkgconf/kernel.h: CYGIMP_KERNEL_INTERRUPTS_CHAIN
	requires CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN.

1998-09-14  Mark Galassi  <rosalia@cygnus.com>

	* include/pkgconf/kernel.h: started adding CDL doc fields.

1998-09-12  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Sort out exception handling options (PR 16953)
	Added missing descriptions (PR 17184)

Fri Sep 11 19:18:28 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>

	* include/clock.hxx (class Cyg_Alarm): 
	* src/common/clock.cxx (Cyg_Alarm::add_alarm): 
	PR#17182
	Move the code to synchronize a repeating alarm which had been
 	firing in the dim and distant past with times in the future, which
 	had been inline in Cyg_Alarm::enable(), into a function of its
 	own, Cyg_Alarm::synchronize().  Call it from Cyg_Alarm::enable()
	and also from add_alarm() when the immediate time to fire is now
	or in the past; otherwise an initial time of, say, NOW-10 with an
	interval of 5 would just get lost.  Also corrected/commented the
	logic there to allow an alarm's handler to cancel itself.
	
Wed Sep  9 17:43:26 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/common/delete.cxx: 
	Control the provision of empty delete functions rather better, via
	an explicit option from the libc package.  Read the rather lengthy
	comment in delete.cxx for the explanation.
	Also note that the correct place for this functionality is in the
 	infrastructure, and the same should be done for the C++ new
 	functions also.

1998-09-09  Nick Garnett  <nickg@cygnus.co.uk>

	* src/common/thread.cxx:
	combined separate next_unique_id variables in both constructors.
	This would have caused duplicate thread ids to be generated.

	* include/thread.inl:
	Added code to initialize Cyg_HardwareThread::saved_context.

	* src/debug/dbg-thread-demux.c: 
	* src/debug/dbg_gdb.cxx:
	Many changes to get thread API working with Cygmon. Debug code
	currently left in place until complete testing is possible.

Tue Sep  8 17:17:32 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/pkgconf/kernel.h (CYGNUM_KERNEL_COUNTERS_RTC_PERIOD):
	Set up a sensible default RTC for CYG_HAL_MN10300_SIM different
 	from that for the MN103002 or CYG_HAL_MN10300_STDEVAL1, so that
 	sim tests run in less than geological time.  This is the same as
 	the default value of before.

Fri Sep  4 18:25:02 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/sched/mlqueue.cxx (timeslice): 
	* src/sched/sched.cxx (unlock_inner): 
	Condition out the tracing macros here by default, for tracing
	these consumes the whole quantum.
	
1998-09-04  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Commented out the ROM monitor-specific option settings for now.
	
	* tests/kclock1.c: 
	* include/pkgconf/kernel.h: 
	* include/kapidata.h (struct cyg_counter): 
	Fixed typos in configuration option names.
	
1998-09-03  David Moore  <dsm@cygnus.co.uk>

	* include/pkgconf/kernel.h
 	(CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE):
	Fixed typo in configuration option name.

	* src/intr/intr.cxx:
	Fixed typo in configuration option name.
	Fixed cast to incorrect type.
	
1998-09-03  Nick Garnett  <nickg@cygnus.co.uk>

	* src/PKGconf.mak (COMPILE): 
	Added debug/dbg-thread-demux.c to COMPILE list.
	
	* src/debug/dbg_gdb.cxx (dbg_threadinfo): 
	Added first cut at providing thread state string.
	
	* src/debug/dbg-thread-syscall.h: 
	* src/debug/dbg-thread-demux.c: 
	Added these two files to implement the interface between Cygmon
	and eCos.
	
1998-09-03  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h (CYGSEM_KERNEL_MEMORY_COALESCE): 
	* include/mvarimpl.inl (Cyg_Mempool_Variable_Implementation): 
	Fixed typo in configuration option name.
	
	* include/pkgconf/kernel.h:
	Fixed type in configuration option name.

Wed Sep  2 19:01:02 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/mboxt.hxx:
	* include/mboxt.inl:
	* include/mboxt2.hxx:
	* include/mboxt2.inl:
	* include/mempolt2.hxx:
	* include/mempolt2.inl:
	* include/mempoolt.hxx:
	* include/mempoolt.inl:
	* include/sema2.hxx:
	* src/sync/cnt_sem2.cxx:
	* include/flag.hxx:
	* src/sync/flag.cxx:
	* include/kapi.h:
	* src/common/kapi.cxx:
	* tests/kmbox1.c:
	* tests/kmemfix1.c:
	* tests/kmemvar1.c:
	* tests/mbox1.cxx:
	* tests/memfix1.cxx:
	* tests/memvar1.cxx:
	Memory pool (both types) and message boxes (both types) and flags
 	and cnt_sem2-type semaphores now all have absolute timeouts
 	instead of relative ones in the timely wait functions.
	uITRON has changed to add the current time itself.
	Kapi changes are mainly name changes to make it clear that
	timeouts are now absolute.
	The tests (incl. kapi) add in the time themselves now.
	
1998-09-01  Tim Goodwin  <tgoodwin@cygnus.co.uk>

	* include/kapi.h:
	* src/common/kapi.cxx:
	* tests/kclock1.c:
	* tests/kexcept1.c:
	* tests/kmbox1.c:
	* tests/kmemfix1.c:
	* tests/kmemvar1.c:
	* tests/kmutex1.c:
	* tests/ksched1.c:
	* tests/ksem1.c:
	* tests/kthread0.c:
	* tests/kthread1.c:
	* src/test/kcache1.c:
	* src/test/kphilo.c:
	* tests/kphilo.c:
	* tests/lottery.c:
	Changes to cyg_thread_create() interface.

Tue Sep  1 18:49:06 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Moved and renamed CYG_DIAG_USE_DEVICE to infra and to
	CYGDBG_INFRA_DIAG_USE_DEVICE; kernel.h now includes infra.h as
	well as hal.h to ensure all its clients get the info too.
	
	* include/intr.hxx (class Cyg_Interrupt): 
	Add static member interrupts_enabled() to poll the current status;
	just to avoid calling the HAL directly, really.

	* include/diag.h: 
	Now just includes cyg/infra/diag.h, so that kernel-specific
	features can be added later - original diag.h has moved to infra,
	and is that includee.

	* src/PKGconf.mak: 
	Trace folder and its contents elided, now in infra.

	* src/trace/diag.c:
	* src/trace/fancy.cxx:
	* src/trace/null.cxx:
	* src/trace/simple.cxx:
	* src/trace/tcdiag.cxx:
	Deleted; all moved to infra, actually.

1998-09-01  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/dbg-threads-api.h: 
	* src/debug/dbg_gdb.cxx:
	Converted threadref from long long to char[8] as defined by Cygmon
	guys.

	* src/common/thread.cxx:
	Added scheduler lock around manipulations of thread list.

	* include/except.hxx:
	Now use CYG_EXCEPTION_COUNT to size handler arrays.

Mon Aug 31 17:53:12 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/memfixed.hxx, include/mempolt2.hxx, include/mempolt2.inl,
	  include/mempoolt.hxx, include/mempoolt.inl, include/memvar.hxx,
	  include/mvarimpl.hxx, include/mvarimpl.inl, src/mem/memfixed.cxx,
	  src/mem/memvar.cxx:
	
	Add new get_allocation_size() method to return the size of a
	previously allocated block - trivial for fixed block allocator, and
	requiring a bit of poking around for the variable block allocator.

	This is required for the C library realloc() implementation. Strictly
	this only uses the variable block allocator, but the API can only be
	enhanced by also updating the template. As a result, this also meant
	doing it for the fixed block allocator.	

Mon Aug 31 09:51:37 1998  Jesper Skov  <jskov@cygnus.co.uk>

	* src/debug/stubrom.c (cyg_start): Renamed from main().

Mon Aug 31 09:00:01 1998  Jesper Skov  <jskov@cygnus.co.uk>

	* src/common/thread.cxx: Fixed typo.

1998-08-28  Bart Veer  <bartv@cygnus.co.uk>

	* include/pkgconf/kernel.h, include/bitmap.hxx, include/clock.hxx,
	  include/except.hxx, include/flag.hxx, include/instrmnt.h,
	  include/intr.hxx, include/kapi.h, include/kapidata.h,
	  include/mbox.hxx, include/mboxt.hxx, include/mboxt.inl,
	  include/mboxt2.hxx, include/mboxt2.inl, include/memfixed.hxx,
	  include/mempolt2.hxx, include/mempolt2.inl,
	  include/mempoolt.hxx, include/mempoolt.inl, include/memvar.hxx,
	  include/mlqueue.hxx, include/mutex.hxx, include/mvarimpl.inl,
	  include/sched.hxx, include/sema.hxx, include/sema2.hxx,
	  include/thread.hxx, include/thread.inl,
	  include/pkgconf/kernel.h:
	  src/common/clock.cxx, src/common/except.cxx,
	  src/common/kapi.cxx, src/common/thread.cxx,
	  src/debug/dbg_gdb.cxx, src/debug/generic-stub.c,
	  src/instrmnt/meminst.cxx, src/instrmnt/nullinst.cxx,
	  src/intr/intr.cxx, src/mem/memfixed.cxx, src/mem/memvar.cxx,
	  src/sched/bitmap.cxx, src/sched/lottery.cxx,
	  src/sched/mlqueue.cxx, src/sched/sched.cxx,
	  src/sync/cnt_sem.cxx, src/sync/cnt_sem2.cxx, src/sync/flag.cxx,
	  src/sync/mbox.cxx, src/sync/mutex.cxx, src/test/diag.cxx,
	  src/test/kcache1.c, src/test/main.cxx, src/test/timer.cxx,
	  src/test/tstmbox.cxx:
	  tests/clock0.cxx, tests/clock1.cxx, tests/except1.cxx,
	  tests/flag1.cxx, tests/intr0.cxx, tests/kclock0.c,
	  tests/kclock1.c, tests/kexcept1.c, tests/kintr0.c,
	  tests/kmbox1.c, tests/kmemfix1.c, tests/kmemvar1.c,
	  tests/kmutex0.c, tests/kmutex1.c, tests/ksched1.c,
	  tests/ksem0.c, tests/ksem1.c, tests/kthread0.c,
	  tests/kthread1.c, tests/lottery.c, tests/mbox1.cxx,
	  tests/memfix1.cxx, tests/memvar1.cxx, tests/sync3.cxx,
	  tests/thread2.cxx :
	Provide configuration data and rename configuration options

Fri Aug 28 15:27:31 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/trace/fancy.cxx: 
	* src/trace/simple.cxx: 
	* src/trace/null.cxx: 
	Condition on newly named symbols from the infra package, whence
	these units will be moved soon.
	
Fri Aug 28 09:33:17 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/test/demo.cxx, src/test/kcache1.c, src/test/kphilo.c,
	  src/test/main.cxx, src/test/philo.cxx, src/test/sload.c,
	  src/test/timer.cxx, src/test/tstflag.cxx, src/test/tstmbox.cxx,
	  src/test/tstmpf.cxx, src/test/tstmpool.cxx, src/test/tsttracc.c,
	  src/test/tsttrace.cxx, tests/bin_sem0.cxx, tests/bin_sem1.cxx,
	  tests/bin_sem2.cxx, tests/clock0.cxx, tests/clock1.cxx,
	  tests/cnt_sem0.cxx, tests/cnt_sem1.cxx, tests/except1.cxx,
	  tests/flag0.cxx, tests/flag1.cxx, tests/intr0.cxx, tests/kclock0.c,
	  tests/kclock1.c, tests/kexcept1.c, tests/kill.cxx, tests/kintr0.c,
	  tests/kmbox1.c, tests/kmemfix1.c, tests/kmemvar1.c, tests/kmutex0.c,
 	  tests/kmutex1.c, tests/kphilo.c, tests/ksched1.c, tests/ksem0.c,
 	  tests/ksem1.c, tests/kthread0.c, tests/kthread1.c, tests/lottery.c,
 	  tests/mbox1.cxx, tests/memfix1.cxx, tests/memfix2.cxx,
 	  tests/memvar1.cxx, tests/memvar2.cxx, tests/mutex0.cxx,
	  tests/mutex1.cxx, tests/philo.cxx, tests/release.cxx,
	  tests/sched1.cxx, tests/sync2.cxx, tests/sync3.cxx,
	  tests/thread0.cxx, tests/thread1.cxx, tests/thread2.cxx:
	Change entry points from main() to cyg_start(), and remove return
	codes - while main returned an int, cyg_start() returns void. It has
	no meaning anyway - what could you do with the code?

	* src/test/tsttracc.c, src/test/tsttrace.cxx:
	Also change trace calls (CYG_REPORT_...) to reflect that it is a
	function called cyg_start with no args returning void, rather than
	what it was for main(argc, argv)

Fri Aug 28 09:24:41 1998  Jesper Skov  <jskov@cygnus.co.uk>

	* src/debug/generic-stub.c: Moved strcpy/strlen from hal-stub to
	generic-stub. Cleaned up a bit to avoid compiler warnings.

Thu Aug 27 19:22:51 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* tests/kphilo.c (Philosopher): 
	* tests/philo.cxx (Philosopher): 
	* src/test/philo.cxx (Philosopher): 
	* src/test/kphilo.c (Philosopher): 
	* src/common/kapi.cxx: 
	Change CYG_RELEASE_DEBUG to CYGPKG_INFRA_DEBUG.
	These changes are self-contained, so they can go in right now.
	
Thu Aug 27 15:20:31 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/mvarimpl.inl (free): 
	Remove a couple of warning due to pointer comparison without casts
	in coallesce(sic.) code.

1998-08-26  Nick Garnett  <nickg@cygnus.co.uk>

	* include/kapidata.h:
	Added saved_context to cyg_hardwarethread structure to track
	GDB support in rest of kernel.

1998-08-25  Nick Garnett  <nickg@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Added CYGIMP_KERNEL_THREAD_GDB_SUPPORT to configure for GDB
	interactions with the kernel.

	* src/debug/dbg-threads-api.h: 
	* src/debug/dbg_gdb.cxx:
	Added these files to repository to support GDB interactions
	with the kernel. Note that dbg-threads-api.h is a copy of a
	file in devo/libstub. Any changes there must be merged in here
	too.

	* src/PKGconf.mak:
	Added debug/dbg_gdb.cxx to COMPILE list.

	* include/thread.inl: 
	* include/thread.hxx:
	Added support for GDB, specifically for thread-aware debugging.

	* include/intr.hxx:
	* src/intr/intr.cxx:
	Added an extra argument to interrupt_end(): a pointer to
	the saved register state. This is optionally used to provide
	a more interesting saved register state for GDB.

Tue Aug 25 02:36:26 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/generic-stub.h: 
	Add void to empty prototype argument lists to silence compiler
	warnings

Fri Aug 21 18:46:34 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/common/clock.cxx (enable): 
	Make the maths work right if we only just set up the clock
	thingy.  Unsigned has a lot to answer for; when the next scheduled
	tick was all correct, the delta was -1, which correctly rounds to
	zero in the division.  But it isn't -1 it's 18446744073709551615
 	which gave a shift of 15 in the the uITRON test programs.

Fri Aug 21 11:40:50 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/mboxt2.inl (put): 
	* include/mempolt2.inl (alloc): 
	Tidy Nick's changes (1998-07-27) for set_timer() semantics a bit,
	make it a bit more efficient and smaller code.
	
Thu Aug 20 17:37:35 BST 1998  Chris Provenzano  <proven@cygnus.com>

	* include/mvarimpl.inl, include/pkgconf/kernel.h:
	Added memory coallecsing to the variable size memory allocator.
	This option is enabled my default.

	* tests/stdlib/malloc2.c: Only print 50 messages, not 500.

1998-08-20  Nick Garnett  <nickg@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Moved definition of CYG_KERNEL_USE_INIT_PRIORITY from here
	to hal.h.

	* include/thread.hxx:
	Changed argument to cyg_thread_entry() to CYG_ADDRWORD from
	CYG_ADDRESS.

	* include/ktypes.h:
	Moved constructor priority ordering stuff out to infra/cyg_type.h.

	* include/kapi.h: 
	* src/common/kapi.cxx:
	Added name and priority parameters to cyg_thread_create() and
	swapped stack size and base parameters. These changes are
	currently protected by DAY_OF_CHAOS ifdefs and are therefore
	inactive.

Wed Aug 19 19:06:16 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* tests/bin_sem1.cxx, tests/bin_sem2.cxx, tests/cnt_sem1.cxx,
	  tests/flag1.cxx, tests/mbox1.cxx, tests/memfix2.cxx,
	  tests/memvar2.cxx, tests/sync2.cxx, tests/sync3.cxx,
	  tests/thread2.cxx, tests/release.cxx, tests/kill.cxx: 
	Reorder inclusion of thread.inl to silence warnings

Wed Aug 19 18:48:03 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/kernel.hxx: 
	Reorder inclusion of thread.inl to silence warnings

Wed Aug 19 18:21:31 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/common/kapi.cxx, src/sync/flag.cxx: 
	Reorder inclusion of thread.inl to silence warnings

	* src/sync/bin_sem.cxx, src/sync/cnt_sem.cxx, src/sync/cnt_sem2.cxx,
	  src/sync/mbox.cxx:
	Add inclusion of thread.inl to silence warnings

	* src/common/memset.c:
	Make pointer arithmetic be on char *, not void * to silence warnings

	* include/diag.h, src/trace/diag.c:
	Make diag_init take void parameter, and give diag_printf explicit
	parameters in prototypes to silence warnings

1998-08-19  Nick Garnett  <nickg@cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	* src/common/thread.cxx:
	Added ifdef for CYGIMP_IDLE_THREAD_YIELD to support single
	priority configurations.

Tue Aug 18 16:56:38 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/thread.hxx, include/thread.inl: 
	To silence compiler warnings, move register_exception inline definition
	from the .hxx to the .inl. Also move attach_stack to before the
	constructor where it is invoked from.

1998-08-18  Nick Garnett  <nickg@cygnus.co.uk>

	* include/pkgconf/kernel.h:
	Moved all HAL specific config options out to a HAL config file.

	* include/kapi.h: 
	* src/common/kapi.cxx:
	Added cyg_scheduler_lock() and cyg_scheduler_unlock() to provide
	user access to the scheduler lock.

Mon Aug 17 21:39:20 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/kapi.h: 
	Insert "void" to empty parameter lists to silence warnings

Fri Aug 14 18:10:20 1998  Hugo Tyson  <hmt@masala.cygnus.co.uk>

	* src/common/thread.cxx (exit): 
	Set the state explicitly to EXITED rather than or'ing
	it in; should be safe cos it's what kill does in the normal case.
	Needed to avoid suspend sort of states persisting after death.
	One character changes are always aesthetically pleasing.

Fri Aug 14 17:28:01 1998  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/pkgconf/kernel.h: 
	Add config options as below:

	* src/common/thread.cxx:
	Add asserts of CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT
	and CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT if they are defined.
	Also lazily tidied format of func hdrs as per code review et al.

1998-08-14  Nick Garnett  <nickg@cygnus.co.uk>

	* include/kapidata.h:
	Added support for thread names and thread housekeeping list.

	* src/common/delete.cxx:
	Added include for cyg_type.h.

	* include/pkgconf/kernel.h:
	Added CYGIMP_THREAD_NAME and CYGIMP_THREAD_LIST options.

	* include/thread.inl: 
	* include/thread.hxx:
	Added support for thread names and thread housekeeping list.

	* src/common/thread.cxx:
	Added support for thread names and thread housekeeping list.
	Fixed ordering bug in Cyg_Thread::delay().

Thu Aug 13 15:33:48 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* include/ktypes.h:
	Remove inlined new and delete as they aren't strictly permitted and
	they prevent a valid new and delete being defined anywhere else!
	
	* src/common/delete.cxx, src/PKGconf.mak: 
	Add delete.cxx to provide default delete operation for when a C
	library isn't present

1998-07-28  Nick Garnett  <nickg@cygnus.co.uk>

	* include/thread.hxx, include/sched.hxx, include/mlqueue.hxx,
	  include/lottery.hxx, include/bitmap.hxx, src/common/thread.cxx,
	  src/sched/sched.cxx, src/sched/mlqueue.cxx, src/sched/lottery.cxx,
	  src/sched/bitmap.cxx:
	Added an alternative constructor to Cyg_Thread which takes
	arguments in new order, and includes a scheduling parameters
	argument. Propagated effects of this through Cyg_SchedThread
	and Cyg_SchedThread_Implementation. This mostly takes the form
	of passing the scheduling parameters through to the constructors.

1998-07-27  Nick Garnett  <nickg@cygnus.co.uk>

	* src/sync/flag.cxx, src/sync/cnt_sem2.cxx, include/mempoolt.inl,
	  include/mempolt2.inl, include/mboxt2.inl, include/mboxt.inl:
	Modified code in API calls that take a timeout to allow for a
	timeout in the past.
	NOTE: The timeouts have for now been left as relative delays, they
	should be converted to absolute timeouts.

	* src/common/thread.cxx:
	Modified code in counted_sleep to allow	for a timeout in the past.
	Added handling of EXIT wake_reason in delay().

1998-07-24  Nick Garnett  <nickg@cygnus.co.uk>

	* include/thread.inl:
	Reordered code in Cyg_Thread::set_timer() to init the timer after
	wake_reason has been assigned.

	* include/clock.inl: 
	Removed Cyg_Alarm::enable().
	
	* src/sync/mutex.cxx (Cyg_Condition_Variable::wait): 
	Modified order of code in timed version of wait to allow for a
	timout in the past.
	
	* src/sync/cnt_sem.cxx (Cyg_Counting_Semaphore::wait):
	Modified order of code in timed version of wait to allow for a
	timout in the past. Also modified timeout to be absolute rather
	than relative.

	* src/common/thread.cxx (Cyg_Thread::wake):
	Added test for whether a thread is actually asleep before waking
	it. Allows us to apply wake() to awake threads without damage.

	* src/common/clock.cxx:
	Added code to Cyg_Counter::add_alarm() to deal with alarms
	that trigger now or in the past.
	Moved Cyg_Alarm::enable() here. Added code to do the right thing
	when reenabling previously disabled interval alarms.

1998-07-23  Nick Garnett  <nickg@cygnus.co.uk>

	* src/debug/stubrom.c: Added header comments.

Thu Mar 26 18:25:36 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/test/philo.cxx:
	Rename CYG_DEBUG ifdef to CYG_RELEASE_DEBUG

Wed Mar 25 23:23:39 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* configure.in: Fix so non_arch.h is updated even if
	config.cache does exists.

	* include/kapi.h, include/kapidata.h, include/kernel.hxx
	* include/mboxt.inl, include/sched.hxx:
	#include <eccconf/kernel.h> instead of include <eccconf/kernel.h>

	* include/eccconf/kernel.h: Added. This was old devo/config.h

	* src/Makefile.am : Set CYG_CONFIGURATION to "<eccconf/kernel.h>"

	* src/test/Makefile.am : Build .gdbinit from gdbinit.in
	and tree from tree.in

Wed Mar 25 18:24:48 1998  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* src/Makefile.am, src/common/memcpy.c, src/common/memset.c:
	  Move memcpy and memset functions from C library into kernel to
	  satisfy the requirements of gcc - namely it must be available at
	  at all time. Changed memcpy and memset to sit more cleanly in the
	  kernel, and lose all dependencies on the C library
	* src/Makefile.in: regenerated

Fri Mar 13 18:36:42 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* configure.in : Add rule to get correct objcopy for target
	* src/test/Makefile.am : Add rule to build philo.srec

Fri Mar 13 11:47:23 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* configure.in, non_arch.h.in, non_arch.sh
	Add support for the mn103000

Thu Mar 12 11:38:28 GMT 1998  David Moore       <dsm@cygnus.co.uk>

	* src/Makefile.am:
	Removed flag to leave comments in generated linker script.
       
Thu Mar 12 10:55:20 GMT 1998  David Moore       <dsm@cygnus.co.uk>

	* configure.in:
	Fixed setting of platform variable

Wed Mar 11 16:54:28 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* src/test/Makefile.am, tests/Makefile.am:
	Make sure CXXFLAGS from configure are also used

Wed Mar 11 16:16:57 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* configure.in, non_arch.h.in. non_arch.sh:
	Added build support for mips 
	* tests/Makefile.am, src/test/Makefile.am
	Link with -nostdlib -lgcc

Wed Mar 11 14:43:36 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* Makefile.am, configure.in, tests/Makefile.am
	support building tests in the tests directory

Wed Mar 11 13:18:17 GMT 1998  Chris Provenzano  <proven@cygnus.com>

	* acinclude.m4, stamp-h.in, non_arch.h.in, src/Makefile.am:
	Added to support new kernel configure/make process

	* Makefile.am: Modified to support new kernel configure/make 
	process.

	* src/acinclude.m4, src/aclocal.m4, src/configure, src/configure.in
	Deleted to support new kernel configure/make process

	* Makefile.in, configure, aclocal.m4, src/Makefile.in, 
	src/configure: regenerated

	* non_arch.sh: New shellscript to change platform/startup/debug
	options after a configure is done.

	* src/devo/config.h: include non_arch.h, for platform/startup/debug
	options. This is generated at configure and modified by non_arch.sh

//===========================================================================
//####COPYRIGHTBEGIN####
//
// -------------------------------------------
// The contents of this file are subject to the Cygnus eCos Public License
// Version 1.0 (the "License"); you may not use this file except in
// compliance with the License.  You may obtain a copy of the License at
// http://sourceware.cygnus.com/ecos
// 
// Software distributed under the License is distributed on an "AS IS"
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the
// License for the specific language governing rights and limitations under
// the License.
// 
// The Original Code is eCos - Embedded Cygnus Operating System, released
// September 30, 1998.
// 
// The Initial Developer of the Original Code is Cygnus.  Portions created
// by Cygnus are Copyright (C) 1998 Cygnus Solutions.  All Rights Reserved.
// -------------------------------------------
//
//####COPYRIGHTEND####
//===========================================================================
