📄 changelog
字号:
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 URL1998-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 172291998-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.h1998-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_FUNCARGVOID1998-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 architecture1998-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 321998-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 warningTue 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -