CVSROOT: /cvs/ecos Module name: ecos Changes by: nickg@sourceware.org 2003-01-31 11:44:03 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl Added files: packages/kernel/current/tests: fptest.c Log message: * cdl/kernel.cdl: * tests/fptest.c: Added this program to test interaction of FPU with multiple threads.
CVSROOT: /cvs/ecos Module name: ecos Changes by: nickg@sourceware.org 2003-06-23 18:10:01 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl packages/kernel/current/include: instrmnt.h sema.hxx packages/kernel/current/src/sync: bin_sem.cxx cnt_sem.cxx Added files: packages/kernel/current/tests: bin_sem3.cxx Log message: * 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.
CVSROOT: /cvs/ecos Module name: ecos Changes by: nickg@sourceware.org 2003-07-01 17:34:54 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl packages/kernel/current/include: clock.hxx clock.inl packages/kernel/current/src/common: clock.cxx Added files: packages/kernel/current/tests: kalarm0.c Log message: * 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.
CVSROOT: /cvs/ecos Module name: ecos Changes by: nickg@sourceware.org 2007-01-08 16:20:14 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl packages/kernel/current/include: bitmap.hxx kapidata.h mlqueue.hxx packages/kernel/current/src/sched: mlqueue.cxx sched.cxx packages/kernel/current/tests: timeslice.c tm_basic.cxx Added files: packages/kernel/current/tests: timeslice2.c Log message: * 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.
CVSROOT: /cvs/ecos Module name: ecos Changes by: vae@sourceware.org 2013-03-09 18:06:46 Modified files: packages/kernel/current: ChangeLog packages/kernel/current/cdl: kernel.cdl Added files: packages/kernel/current/tests: fpint_thread_switch.cxx fpinttestf.c fpinttestf1.c fpinttestf2.c Log message: Add single precision floating point tests.