⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 开放源码实时操作系统源码.
💻
📖 第 1 页 / 共 5 页
字号:

2000-12-01  Hugo Tyson  <hmt@redhat.com>

	* cdl/kernel.cdl: Build the kcache tests for SA11x0 family; they
	were being omitted by default as part of ARM family.  They work on
	SA1110, so this should be OK.  They're OK on EBSAs too.  See
	associated fix to cache macros in SA11x0 and EBSSA HALs.

	* tests/kcache2.c (entry0): Fix the test; the problem was it
	assumed that a write to a previously unseen location would end up
	in the cache.  It ain't so on StrongARMs.  Also make tests safe
	wrt interrupts possibly perturbing the cache, add explicit tests
	for HAL_DCACHE_INVALIDATE_ALL(), ...DISABLE() and ...SYNC(), and
	improve the tests for cache line invalidate and store.

2000-10-30  Jesper Skov  <jskov@redhat.com>

	* cdl/synch.cdl: Replaced CYGINT_KERNEL_SCHEDULER_CAN_YIELD with
	CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES.
	* cdl/scheduler.cdl:
	CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL requires
	CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES.

	* tests/thread2.cxx: Use new option.
	* tests/klock.c: Same.
	* src/common/thread.cxx: Same.
	* src/common/clock.cxx: Same.

	* include/bitmap.hxx: Leave unique priority setting to CDL.
	* include/mlqueue.hxx: Same.
	* include/sched.hxx: Let CDL do sanity check of config.

2000-10-27  Jesper Skov  <jskov@redhat.com>

	* cdl/scheduler.cdl: Added CYGINT_KERNEL_SCHEDULER_CAN_YIELD

	* tests/klock.c: Avoid use of disabled features. Require scheduler
	that can yield.

2000-10-20  Jonathan Larmour  <jlarmour@redhat.com>

	* tests/bin_sem0.cxx:
	* tests/bin_sem1.cxx:
	* tests/bin_sem2.cxx:
	* tests/clock0.cxx:
	* tests/clock1.cxx:
	* tests/clockcnv.cxx:
	* tests/cnt_sem0.cxx:
	* tests/cnt_sem1.cxx:
	* tests/except1.cxx:
	* tests/flag0.cxx:
	* tests/flag1.cxx:
	* tests/intr0.cxx:
	* tests/kill.cxx:
	* tests/mbox1.cxx:
	* tests/mqueue1.cxx:
	* tests/mutex0.cxx:
	* tests/mutex1.cxx:
	* tests/mutex2.cxx:
	* tests/mutex3.cxx:
	* tests/philo.cxx:
	* tests/release.cxx:
	* tests/sched1.cxx:
	* tests/sync2.cxx:
	* tests/sync3.cxx:
	* tests/testaux.hxx:
	* tests/thread0.cxx:
	* tests/thread1.cxx:
	* tests/thread2.cxx:
	* tests/tm_basic.cxx:
	Make sure default priority constructors have been invoked.

	* include/intr.hxx (class Cyg_Interrupt): Make dsr_count volatile
	to prevent a potential race condition with overzealous C
	compilers.

2000-10-13  Nick Garnett  <nickg@cygnus.co.uk>

	* src/sched/sched.cxx (unlock_inner): Added condition to test for
	DSRs to only call DSRs when the scheduler lock is making a 0->1
	transition. Otherwise there is the danger of calling DSRs when the
	scheduler lock is > 1. This violates our original assumptions
	about how the scheduler lock worked with respect to DSR. 

	* src/intr/intr.cxx (call_pending_DSRs): Added assert to check
	that DSRs are only called when the scheduler lock is exactly 1.

2000-10-13  Jesper Skov  <jskov@redhat.com>

	* include/intr.hxx: Fixing syntax mistake; volatile keyword must
	appear after the type for it to affect the pointer variable.
	* src/intr/intr.cxx: Same. Remove volatile from local block.

2000-10-05  Jesper Skov  <jskov@redhat.co.uk>

	* src/intr/intr.cxx: Made dsr_table_tail volatile as well.
	* include/intr.hxx: Ditto.

2000-10-05  Nick Garnett  <nickg@cygnus.co.uk>

	* src/sched/sched.cxx: 
	* include/sched.hxx: Converted asr_inhibit from a bool to a
	counter. This is necessary to permit nesting of ASR inhibiting
	functions.

2000-10-04  Jesper Skov  <jskov@redhat.co.uk>

	* include/intr.hxx: Made dsr_list volatile.
	* src/intr/intr.cxx: Same. Also fix compiler warning.

2000-09-25  Nick Garnett  <nickg@cygnus.co.uk>

	* src/sched/mlqueue.cxx:
	Added test for current thread not runnable in
	Cyg_Scheduler_Implementation::timeslice().  This is possible if a
	prior DSR has caused the current thread to be descheduled. Added
	an assert to Cyg_ThreadQueue_Implementation::rotate() for
	additional paranoia. (This problem was originally identified and
	fixed (differently) by Andrew Lunn <andrew.lunn@ascom.ch>.)

2000-09-13  Jesper Skov  <jskov@redhat.com>

	* tests/kexcept1.c (cause_exception): Use separate cause_fpe function.
	* tests/except1.cxx (cause_exception): Same.

	* tests/kexcept1.c (cause_exception): Do not use division at all.
	* tests/except1.cxx (cause_exception): Same.

	* tests/kexcept1.c (cause_exception): Do not cause div-by-zero.
	* tests/except1.cxx (cause_exception): Same.

2000-09-11  Jonathan Larmour  <jlarmour@redhat.com>

	* cdl/instrument.cdl (CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER): 
	Bring this option back from the dead

2000-09-08  Nick Garnett  <nickg@cygnus.co.uk>

	* include/sched.hxx:
	* include/sched.inl:
	Added Cyg_Scheduler::unlock_reschedule() function. This decrements
	the scheduler lock by one but also permits the current thread to
	be rescheduled if it ready to sleep, or there is a higher priority
	thread ready to run. This is to support use of various
	synchronization objects while the scheduler lock is claimed.

	* src/sched/sched.cxx (unlock_inner): Modified precondition to
	allow for functionality of unlock_reschedule().

	* src/sched/mlqueue.cxx:
	Now uses Cyg_SchedulerThreadQueue_Implementation for all runqueue
	pointers. It was using Cyg_ThreadQueue_Implementation in some
	places which meant we were trying to sort the run queues!
	Changed yield() so it can be called with the scheduler lock
	claimed.
	Changed Cyg_Scheduler_Implementation::timeslice() to rotate the
	queue itself rather than call yield(). The changes to yield() make
	it unsafe to call here any more.

	* include/mlqueue.hxx (class Cyg_SchedulerThreadQueue_Implementation): 
	Made enqueue() member public.
	
	* include/mboxt2.inl:
	* src/common/thread.cxx: 
	* src/sync/mutex.cxx: 
	* src/sync/cnt_sem2.cxx: 
	Removed assertions for zero scheduler lock and replaced some
	invocations of Cyg_Scheduler::unlock() with
	Cyg_Scheduler::unlock_reschedule() or Cyg_Scheduler::reschedule()
	where appropriate.

	* tests/klock.c:
	* cdl/kernel.cdl:
	Added klock.c to test functionality while scheduler lock is claimed.

2000-08-17  Hugo Tyson  <hmt@cygnus.co.uk>

	* src/sched/sched.cxx (unlock_inner): Move an assert to some place
	where it's true *all* the time!  There was a narrow margin where a
	DSR could confuse unlock_inner() by reanimating the current thread
	before it had a chance to sleep - hence the call appears to be
	pointless.  Putting the assert before the DSR calls makes sense.

	* include/mboxt.inl:
	* src/sync/bin_sem.cxx:
	* src/sync/cnt_sem.cxx:
	* src/sync/flag.cxx:
	* src/sync/mutex.cxx:
	All of these now use Cyg_Scheduler::reschedule() rather than an
	unlock/lock pair to yield in their functions which can sleep.
	They therefore can be called safely and atomically with the
	scheduler already locked.  This is a Good Thing[tm].  Since the
	network stack synch primitives now use this feature, the asserts
	that the scheduler was not locked must disappear: this change.


2000-08-07  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* include/mutex.hxx (class Cyg_Mutex): Add comment explaining
	presence of locked.

2000-08-04  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* tests/stress_threads.c (STACK_SIZE_HANDLER): Increase stack sizes
	otherwise it crashes!

2000-07-31  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* include/mempolt2.hxx: As per change of 2000-07-04, also delete - left
	behind accidentally

2000-07-20  Nick Garnett  <nickg@cygnus.co.uk>

	* include/mutex.hxx (class Cyg_Mutex): Added get_ceiling()
	accessor function.

	* src/sched/mlqueue.cxx: Fixed bug in sorted queue code that
	resulted in an infinite loop if the thread being inserted is of
	lower priority than all threads in the queue. This case is now
	detected early.

2000-07-17  Gary Thomas  <gthomas@redhat.com>

	* tests/kflag1.c (FIRST_THREAD_WAIT_TIME): Parameterize thread 
	synchronization wait times (for understanding) and adjust for
	incredibly slow platforms.  [Previous value allowed for the test
	to get out of sync because the code ran so slowly]

2000-07-04  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* cdl/kernel.cdl: Remove all configury related to memory allocators,
	including tests. Make CYGFUN_KERNEL_API_C require CYGFUN_MEMALLOC_KAPI

	* include/memfixed.hxx, include/mempolt2.inl, include/mempoolt.hxx,
	  include/mempoolt.inl, include/memvar.hxx, include/mfiximpl.hxx,
	  include/mfiximpl.inl, include/mvarimpl.hxx, include/mvarimpl.inl, 
	  src/mem/memfixed.cxx, src/mem/memvar.cxx, tests/kmemfix1.c,
	  tests/kmemvar1.c, tests/memfix1.cxx, tests/memfix2.cxx,
	  tests/memvar1.cxx, tests/memvar2.cxx:
	Move to separate memory allocator package CYGPKG_MEMALLOC
	
	* include/kapi.h, include/kapidata.h, src/common/kapi.cxx:
	Remove memory allocator functionality - now implemented in
	CYGPKG_MEMALLOC

	* tests/dhrystone.c:
	Update configuration dependencies for new isoinfra design
	* tests/stress_threads.c:
	Likewise.
	Also fix early termination after DEATH_TIME_LIMIT so that 
	allocated resources are freed, and so more appropriate
	statistics are reported
	Also update to use mallinfo() interface to memory allocator

2000-06-23  Hugo Tyson  <hmt@cygnus.co.uk>

	* include/kapi.h (cyg_scheduler_read_lock): New function, to
	return the value of the scheduler lock; this for implementing SPLX
	in the network stack.

	* src/common/kapi.cxx (cyg_scheduler_read_lock): New function.

2000-06-20  Nick Garnett  <nickg@cygnus.co.uk>

	* src/sched/mlqueue.cxx (Cyg_ThreadQueue_Implementation::enqueue):
	Rewrote code to insert threads into priority sorted queue. The
	original code could not cope with a queue all of whose members
	were lower priority than the new thread - it looped for ever. Also
	provided fast paths for common and easily detected cases such as
	adding to a single element queue and adding at the front. By
	taking these cases out early, we can also simplify the code to
	search the queue.

2000-06-16  Gary Thomas  <gthomas@redhat.com>

	* cdl/kernel.cdl: Remove exception tests for CMA230 - not supported
	by hardware.

2000-06-16  Jesper Skov  <jskov@redhat.com>

	* src/intr/intr.cxx (chain_isr): Only call default_isr if no isrs
	in the chain reacted to the interrupt.

2000-06-15  Nick Garnett  <nickg@cygnus.co.uk>

	* include/mutex.hxx (class Cyg_Condition_Variable): Added an
	inline function, get_queue(), to return a pointer to the
	underlying thread queue. To be used mainly for comparing with a
	thread's current queue to decide whether it is waiting for a
	condition variable.

	* include/kapi.h:
	* src/common/kapi.cxx: 
	Changed return type of cyg_semaphore_wait() to match existing
	behaviour of Cyg_Counting_Semaphore::wait().
	Changed return type of cyg_cond_wait() to match new behaviour of
	Cyg_Condition_Variable::wait().

2000-06-09  Nick Garnett  <nickg@cygnus.co.uk>

	* include/mutex.hxx:
	* src/sync/mutex.cxx:
	Modified non-timeout condition variable wait() API to return
	cyg_bool. A true result indicates that the wait() terminated
	normally. A false result indicates that the wait() was terminated
	as a result of a release() or destroy operation. For most uses
	this distinction is irrelevant, but in some situations it is a
	useful bit of information to have.
	Also modified timeout condition variable wait to reacquire the
	mutex under all circumstances. This is the correct and consistent
	thing to do.

2000-06-08  Jesper Skov  <jskov@redhat.com>

	* src/debug/dbg-thread-demux.c: Use generic HAL feature to allow
	ROM/RAM intercalling.

2000-06-06  Jesper Skov  <jskov@redhat.com>

	* tests/kcache1.c (entry0): Skip invalidate tests on TX49. Too slow.

2000-05-30  Gary Thomas  <gthomas@redhat.com>

	* tests/dhrystone.c: Increase number of test loops for faster
	StrongARM platforms.

2000-05-22  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* cdl/scheduler.cdl (CYGIMP_KERNEL_SCHED_SORTED_QUEUES): Disable by
	default

	* src/sched/mlqueue.cxx (enqueue): Add to end of thread queue even
	when not priority ordered

2000-05-20  Jonathan Larmour  <jlarmour@redhat.co.uk>

	* include/mqueue.hxx, include/mqueue.inl:
	Add POSIX-style message queue implementation
	
	* cdl/kernel.cdl: Add mqueue1 test
	* cdl/scheduler.cdl: Add new CYGIMP_KERNEL_SCHED_SORTED_QUEUES option

	* include/sema.hxx: Need thread.inl header, not just thread.hxx
	Make Cyg_Counting_Semaphore::peek() const since it is

	* src/sync/cnt_sem.cxx, src/sync/cnt_sem2.cxx, include/sema2.hxx:
	Make Cyg_Counting_Semaphore{2}::peek() const since it is

	* include/thread.hxx: don't want Cyg_Thread_queue::empty() to be marked
	inline in the class def, otherwise we get warnings elsewhere

	* include/mlqueue.hxx (Cyg_ThreadQueue_Implementation):
	Add set_thread_queue private method
	Add derived class Cyg_SchedulerThreadQueue_Implementation, and
	make scheduler implementation use it instead of
	Cyg_ThreadQueue_Implementation
	
	* src/mlqueue.cxx: Fix typo
	Support  CYGIMP_KERNEL_SCHED_SORTED_QUEUES, i.e. allow insertion
	into thread queue in order of thread

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -