Mercurial > flash_v2
diff packages/kernel/current/ChangeLog @ 0:3111d98ba7b3 ecos-v1_1-release
Initial commit of eCos version 1.1
| author | jlarmour |
|---|---|
| date | Tue, 11 May 1999 11:16:07 +0000 |
| parents | |
| children | 443894e2e912 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/kernel/current/ChangeLog @@ -0,0 +1,1194 @@ +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#### +//===========================================================================
