Mercurial > ecos-v2_0-branch
view 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 source
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#### //===========================================================================
