📄 changelog
字号:
2007-08-23 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
* tests/intr0.cxx, tests/kintr0.c: As suggested by Bart Veer,
priorities of the interrupts created by intr0 and kintr0 can now
be overridden by the HAL through HAL_INTR_TEST_PRIO_x constants.
2007-07-02 Gary Thomas <gary@mlbassoc.com>
* src/debug/dbg_gdb.cxx:
* src/common/thread.cxx (Cyg_IdleThread): Add (char *) casts
to make GCC/4.2.x happy.
2007-06-11 Nick Garnett <nickg@ecoscentric.com>
* tests/klock.c (entry0, entry1): Modify mbox part of test to
reflect use of plain mbox implementation. The precise ordering of
events is slightly different.
2007-01-07 Andrew Lunn <andrew.lunn@ascom.ch>
* src/sync/mbox.cxx (Cyg_Mbox::get): Fix compiler warning with gcc
version 4.1.2.
2006-12-08 Nick Garnett <nickg@ecoscentric.com>
* src/sched/mlqueue.cxx (add_thread, yield):
* src/sched/sched.cxx (unlock_inner, thread_entry):
* include/mlqueue.hxx (class Cyg_SchedThread_Implementation):
* include/kapidata.h (CYG_SCHEDTHREAD_TIMESLICE_MEMBER):
* include/bitmap.hxx (class Cyg_SchedThread_Implementation):
Reimplement timeslicing code. There is now a timeslice_count field
in each thread which is moved to and from the per-CPU counter
during thread dispatch. This approach has been taken to minimize
the changes needed to SMP code. Scheduler specific thread
functions handle counter save, restore and reset. These functions
are defined (as empty inlines) even when timeslicing is disabled,
or in non-timeslicing schedulers, to avoid adding ifdefs to the
code (this change actually removes some).
* tests/timeslice2.c:
* cdl/kernel.cdl: Added timeslice2 test to test behaviour of
timeslicing while being preempted.
2006-10-12 Nick Garnett <nickg@ecoscentric.com>
* cdl/synch.cdl: Added CYGIMP_MBOX_USE_MBOXT_PLAIN option. This is
tested in various places but was not actually defined. It now is
and defaults to 1 so that the plain version of mail boxes is
selected.
* include/mboxt.inl:
* include/mboxt2.inl: Moved various CYG_ASSERTCLASS() calls to be
within scheduler locked regions. Race conditions could have caused
them to fail before.
* tests/mbox1.cxx:
* tests/kmbox1.cxx: Updated tests to work with mboxt
implementation. This requires thread 1 to run at lower priority
than thread 0.
2006-08-21 Jonathan Larmour <jifl@eCosCentric.com>
* doc/kernel.sgml: Use reinterpret_cast, not static cast
Thanks to Tony Garland for the report in bug 1000299.
2006-05-19 Andrew Lunn <andrew.lunn@ascom.ch>
* host/instr/dump_instr.c: Use CYG_NELEM from infra.
* src/instrmnt/meminst.cxx: Use CYG_NELEM from infra.
2006-05-09 Andrew Lunn <andrew.lunn@ascom.ch>
* tests/stress_threads.c: Add string.h to avoid compiler warning.
2006-04-11 Sergei Organov <osv@javad.com>
* doc/kernel.sgml: Fix typo
2006-04-10 Sergei Organov <osv@javad.com>
Implement FIFO variant of scheduling of DSRs and make it the
default. This is reworked patch originally suggested by Stefan
Sommerfeld <sommerfeld@mikrom.com>.
* cdl/interrupts.cdl (CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST): make it
cdl_component.
* cdl/interrupts.cdl (CYGSEM_KERNEL_INTERRUPTS_DSRS_LIST_FIFO):
new option for CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST.
* include/intr.hxx (class Cyg_Interrupt): new static variable
dsr_list_tail.
* src/intr/intr.cxx (call_pending_DSRs_inner): add
CYGSEM_KERNEL_INTERRUPTS_DSRS_LIST_FIFO variant.
(post_dsr): likewise.
* tests/intr0.cxx: fix comments to match actual option names.
* tests/kintr0.c: likewise.
2006-03-27 Marco Cruz <marco@daruma.com.br>
* include/thread.hxx: removed extra qualifier of
Cyg_Thread::reinitialize() to permit compile on gcc 4.1.0
* include/sched.hxx: removed extra qualifier of
Cyg_Scheduler::thread_entry to permit compile on gcc 4.1.0
2006-02-14 Andrew Lunn <andrew.lunn@ascom.ch>
* tests/timeslice.c (STACK_SIZE): Reduce the stack size so it will
compile on targets wit h only small amounts of RAM.
* tests/fptest.c: Calculate the size of ftp2_values array to fit
the amount of RAM in small systems.
* tests/clocktruth.cxx: Fix the header.
2006-01-19 Nick Garnett <nickg@ecoscentric.com>
* src/sched/sched.cxx (thread_entry): Fixed a bug which could
cause a thread to be started with a non-zero scheduler lock. The
previous code only decremented it by 1 so if the previous thread
was executing with the lock > 1 the thread ended up with a
non-zero lock. This is fixed by decrementing the lock in a loop
until it reaches zero.
* src/common/thread.cxx (idle_thread_main): Added an assert for a
non-zero scheduler lock.
2006-01-10 Nick Garnett <nickg@ecoscentric.com>
* src/sched/sched.cxx:
* include/sched.hxx (class Cyg_Scheduler): Added thread_entry()
member function. This handles thread startup housekeeping. Zeroing
the scheduler lock is handled by calling unlock() so that DSRs may
be run.
* src/common/thread.cxx (thread_entry): Refactored code to call
Cyg_Scheduler::thread_entry() instead of doing all the work here.
2005-11-23 Sergei Organov <osv@javad.com>
* doc/kernel.sgml: Fix description of CYG_ISR_CALL_DSR and
CYG_ISR_HANDLED. Fix example isr_function() accordingly.
2005-10-23 Andrew Lunn <andrew.lunn@ascom.ch>
* include/flag.hxx: We need thread.inl for the empty() function
implementation which the compiler wants to inline.
2005-08-03 Andrew Lunn <andrew.lunn@ascom.ch>
* tests/ksem1.c: Type fix to fix a compiler warning.
* tests/mutex3.cxx: new cannot be both static and global.
* tests/testaux.hxx: Ditto
2005-07-30 Andrew Lunn <andrew.lunn@ascom.ch>
* src/sync/mbox.cxx (tryget,peak_item): initialize local variable
to avoid compiler warning.
2005-06-21 Peter Korsgaard <jacmet@sunsite.dk>
* tests/kcache2.c (test_dcache_operation): Fixed compiler warnings
about formats strings for diag_printf.
2005-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
* tests/tm_basic.cxx (_run_all_tests): Fixed compiler warning.
2004-12-15 Sergei Organov <osv@topconrd.ru>
* cdl/scheduler.cdl: Correct the description of
CYGIMP_KERNEL_SCHED_SORTED_QUEUES
2004-09-24 Nick Garnett <nickg@ecoscentric.com>
* src/sched/mlqueue.cxx (enqueue): Fix bug in sorted queue
insertion: priority test was inverted. Spotted by TomChen.
2004-08-08 Bart Veer <bartv@ecoscentric.com>
* cdl/counters.cdl: add new option for the clock interrupt
priority.
* src/common/clock.cxx (Cyg_RealTimeClock): use this option.
2004-04-15 Jonathan Larmour <jifl@eCosCentric.com>
* tests/fptest.c (do_test): Silence aliasing warning when breaking
doubles into two ints.
2004-04-11 Andrew Lunn <andrew.lunn@ascom.ch>
* doc/kernel.sgml: Expanded the documentation about the use of
CYG_FLAG_WAITMODE_CLR.
2004-03-27 Sebastien Couret <sebastien.couret@elios-informatique.fr>
* src/debug/dbg-thread-demux.c (dbg_thread_syscall_rmt): Only
needed if CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT is enabled.
2004-03-12 Jonathan Larmour <jifl@eCosCentric.com>
* include/kapi.h: Add throw specifications throughout.
* src/kapi.cxx: Ditto.
* include/sched.inl: Move include of thread.inl further down to
allow Cyg_Scheduler inlines to be defined first.
* include/thread.inl: Reorder destructors section and include
sched.inl right before it to solve mutual header dependency
problems.
2004-03-04 Jonathan Larmour <jifl@eCosCentric.com>
* doc/kernel.sgml: Document cyg_thread_delete return value.
2004-02-19 Jonathan Larmour <jifl@eCosCentric.com>
* tests/kmutex3.c (cyg_start): Use CYG_TEST_NA.
* tests/kmutex4.c (cyg_start): Ditto.
* tests/mutex2.cxx (cyg_start): Ditto.
* tests/mutex3.cxx (cyg_start): Ditto.
* tests/sync3.cxx (cyg_start): Ditto.
* tests/thread2.cxx (cyg_start): Ditto.
* tests/fptest.c (cyg_start): Use one line NA msg.
* tests/smp.cxx (cyg_start): Ditto.
* tests/timeslice.c (cyg_start): Ditto.
* tests/tm_basic.cxx (cyg_start): Ditto.
2003-12-08 Dan Jakubiec <djakubiec@yahoo.com>
* src/common/kapi.cxx: Added new function cyg_thread_get_id().
This function returns the unique thread ID for a given thread
handle.
* include/kapi.h: Added function prototype for cyg_thread_get_id().
* doc/kernel.sgml: Added documentation for cyg_thread_get_id().
2003-10-13 Nick Garnett <nickg@balti.calivar.com>
* src/common/clock.cxx (Cyg_Counter::tick): Changed code to deal
with manipulation of unsorted lists (see ChangeLogs passim). There
are several corner cases where the current code does not
work. Replaced with a more straightforward, but slightly more
expensive, implementation.
2003-09-22 Reinhard Jessich <Reinhard.Jessich@frequentis.com>
* src/common/clock.cxx: Removed label/goto
add_alarm_unlock_return to get rid of compiler error when
CYGIMP_KERNEL_COUNTERS_SORT_LIST is enabled.
2003-09-01 Bart Veer <bartv@ecoscentric.com>
* doc/kernel.sgml: fix typo, cyg_thread vs. cyg_thread_t
2003-07-18 Nick Garnett <nickg@balti.calivar.com>
* cdl/counters.cdl: Removed the counters override CDL
options. These are no longer very useful, since too much
non-kernel code now uses the HAL options to get these values.
2003-07-10 Nick Garnett <nickg@balti.calivar.com>
* src/common/clock.cxx (Cyg_Counter::tick): In unsorted list case:
moved saving of next node details to before re-insertion of alarms
with intervals. The call to add_alarm() can make enough of a
difference to the list to need to force a rescan.
2003-07-06 Bart Veer <bartv@ecoscentric.com>
* include/test/stackmon.h (cyg_test_size_a_stack):
If stack checking is enabled, look for 0xdeadbeef rather than 0x0
to determine usage. Also reset the interrupt stack to that value.
2003-07-02 Jonathan Larmour <jifl@eCosCentric.com>
* doc/kernel.sgml: Document that timeouts for timed functions are
absolute, not relative. Also document new semantics for
cyg_semaphore_timed_wait() for timeouts in the past.
2003-07-01 Nick Garnett <nickg@balti.calivar.com>
* include/clock.hxx: Made Cyg_Counter::add_alarm() and
Cyg_Counter::rem_alarm() private functions. They no longer lock
the scheduler, so should not be called directly, only via the
Cyg_Alarm functions.
* include/clock.inl: Removed inline version of
Cyg_Alarm::disable(). It's no longer a one-liner and is thus
better as a proper function.
* src/common/clock.cxx (Cyg_Counter::tick): Rewrote the unsorted
list option. If the function of one alarm adds or removes other
alarms, then is was possible for the list to become corrupted. The
new implementation attempts to avoid this problem.
(Cyg_Alarm::initialize): Added scheduler locking to protect the
enabled flag.
(Cyg_Alarm::enable): Ditto.
(Cyg_Alarm::disable): Ditto. Moved here from clock.inl.
(Cyg_Alarm::add_alarm): Removed scheduler locking, it is now
always called from functions that have already locked it. Added an
assertion to double-check this.
(Cyg_Alarm::rem_alarm): Ditto.
* cdl/kernel.cdl:
* tests/kalarm0.c:
Added new test to test that alarms can be added and removed in
alarm functions safely.
2003-06-25 Thomas Binder <Thomas.Binder@frequentis.com>
* src/common/clock.cxx (Cyg_Counter::rem_alarm): Bugfix: call
Cyg_Scheduler::lock() before calculation of index into alarm_list
array to avoid race condition with multi list counters.
2003-06-06 David Brennan <eCos@brennanhome.com>
2003-06-23 Nick Garnett <nickg@balti.calivar.com>
* cdl/kernel.cdl: Added tests/bin_sem3 to list of kernel tests.
* include/sema.hxx: Added declaration for wait with timeout for
Cyg_Binary_Semaphore.
* include/instrmnt.h: Added instrumentation point for binary semaphore
timeout.
* src/sync/bin_sem.cxx: Added wait with time-out function to
Cyg_Binary_Semaphore class.
* src/sync/cnt_sem.cxx: Modified semantics slightly to claim an
available semaphore even with a timeout in the past. This is in
line with the new timed wait in bin_sem.cxx.
* tests/bin_sem3.cxx: Created new test for timed wait binary
semaphore.
2003-05-20 Andrew Lunn <andrew.lunn@ascom.ch>
* src/common/kapi.cxx (cyg_thread_get_next): Passing a *current
pointer as NULL if how you start the walk of the linked list. So
don't assert on NULL. Reported by Daniel Lidsten.
2003-05-05 Gary Thomas <gary@mlbassoc.com>
* tests/tm_basic.cxx: Support new option controlling number of times
this test runs. This is useful for long-term stress and performance
analysis.
2003-05-03 Jonathan Larmour <jifl@eCosCentric.com>
* include/mqueue.inl (Cyg_Mqueue::get): Fix invalid loop termination
cheque for whether busy or not.
(Cyg_Mqueue::put): Ditto.
2003-03-03 Jonathan Larmour <jifl@eCosCentric.com>
* tests/fptest.c: Make all variables static to avoid any risk
of collisions with symbols defined elsewhere in eCos.
2003-02-27 Jonathan Larmour <jifl@eCosCentric.com>
* include/kapidata.h: Revert change of 2001-08-23 and instead make
it conditional on the GCC version. Also add comments explaining why
this file has been apparently obfuscated.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -