📄 changelog
字号:
* src/common/clock.cxx (dsr): Fix latency ifdef guards. * tests/tm_basic.cxx: Same.2002-05-20 Jonathan Larmour <jlarmour@redhat.com> * src/sched/mlqueue.cxx: Don't force timeslice tracing on by default against the user's wishes. * cdl/scheduler.cdl: Instead provide an option controlling it.2002-05-09 Jonathan Larmour <jlarmour@redhat.com> * include/kapidata.h (CYG_HARDWARETHREAD_MEMBERS): entry_point should be a pointer to function not an addrword (which may be different). (cyg_reason_t): Define cyg_reason_t as an enum not an int. (struct cyg_mutex_t): Define mutex protocol as an enum not a cyg_uint32. Define locked member as a cyg_atomic, not a cyg_bool.2002-05-09 Nick Garnett <nickg@redhat.com> * tests/timeslice.c: Modified test thread to accumulate run time by reading HAL clock, and to detect and record changes of CPU. The previous version of this code reported varying results - probably as a consequence of cache effects. * include/instrmnt.h: Fixed left-over debug edit to MLQ instrumentation enable code.2002-04-29 Jesper Skov <jskov@redhat.com> * include/kapi.h: Added cyg_alarm_get_times and cyg_counter_multi_tick. * src/common/kapi.cxx: Same. Er, fix oversight. * doc/kernel.sgml: Doc update.2002-04-24 Yoshinori Sato <qzb04471@nifty.ne.jp> * src/sync/flag.cxx: Don't set default args in func definitions.2002-04-24 Jesper Skov <jskov@redhat.com> * tests/dhrystone.c: Moved platform max number of passes to CDL in HALs.2002-04-23 Jesper Skov <jskov@redhat.com> * tests/dhrystone.c: Allow platform to define max number of passes via CYGPRI_KERNEL_TESTS_DHRYSTONE_PASSES.2002-04-09 Jonathan Larmour <jlarmour@redhat.com> * include/kapi.h: Use NORET attributes from cyg_type.h. * include/sched.hxx (class Cyg_Scheduler): Ditto.2002-04-08 Nick Garnett <nickg@redhat.com> * src/sync/mutex.cxx: Added IF_PROTOCOL_ACTIVE macro to condition use of the mutex counter. This means that a mutex that is not configured to participate in a priority inversion protocol does not count for operation of that protocol. 2002-03-04 Lars Viklund <lars.viklund@axis.com> * include/kapidata.h (CYG_SCHEDTHREAD_ASR_MEMBER): asr_inhibit is cyg_ucount32 - must match2002-02-13 Hugo Tyson <hmt@redhat.com> * doc/kernel.sgml: NEW FILE: Correct reference to uITRON doc.2002-01-28 Jesper Skov <jskov@redhat.com> * tests/kexcept1.c: Fix warning.2002-01-24 Jesper Skov <jskov@redhat.com> * tests/kcache1.c (time0DI): Disable interrupts around the sync+invalidate process. * tests/kcache2.c: Same.2002-01-23 Jonathan Larmour <jlarmour@redhat.com> * src/intr/intr.cxx (mask_interrupt): Disable interrupts. (unmask_interrupt): Ditto. (mask_interrupt_intunsafe): New function to avoid disabled interrupts. (unmask_interrupt_intunsafe): Ditto. * include/intr.hxx (class Cyg_Interrupt): Declare above new funcs. * src/common/kapi.cxx (cyg_interrupt_unmask_intunsafe): Above replicated to KAPI. (cyg_interrupt_mask_intunsafe): Ditto. * include/kapi.h: Ditto.2002-01-07 Nick Garnett <nickg@redhat.com> * tests/except1.cxx: * tests/kexcept1.cxx: Added ifdef to disable these tests in ARM PID platform. This platform cannot generate any of the exceptions that this test needs to work.2001-12-12 Jesper Skov <jskov@redhat.com> * tests/kcache2.c (time_ilock): Put some dummy goto statements in to prevent compiler from moving labels around.2001-11-29 Jonathan Larmour <jlarmour@redhat.com> * src/sched/mlqueue.cxx (timeslice_cpu): Reset timeslice_count on a timeslice. Noticed by Tony Kho.2001-11-23 Jonathan Larmour <jlarmour@redhat.com> * tests/klock.c (entry1): Support running with CYGFUN_KERNEL_THREADS_TIMER disabled.2001-10-30 Nick Garnett <nickg@redhat.com> * tests/kcache2.c (test_dsync): Added call to HAL_ICACHE_INVALIDATE_ALL() just before DCACHE disable. In platforms where both caches are controlled together, such as the VR4300, not doing this can result in strange behaviour as the ICACHE gets turned off under the program's feet, when it is not ready for it.2001-10-17 Jesper Skov <jskov@redhat.com> * tests/dhrystone.c: CYGINT_ISO_STRING_STRFUNCS check changed to ifdef.2001-10-12 Jonathan Larmour <jlarmour@redhat.com> * cdl/synch.cdl (CYGIMP_KERNEL_SYNCH_MQUEUE_NOT_INLINE): New option to avoid inlining mqueue implementation. * src/sync/mqueue.cxx: New file to provide non-inline version of mqueue functions. * include/mqueue.hxx: Don't include .inl if user doesn't want inlining. * include/mqueue.inl: Allow choice of inlining or not to be overridden by macro. * tests/mqueue1.cxx: Never use inline version.2001-10-11 Jesper Skov <jskov@redhat.com> * tests/kmutex3.c (new_thread): Fixed allocation: increase counter before starting threads which have been allocated resources. * tests/kmutex4.c (new_thread): Same. * tests/mutex3.cxx (new_thread): Same. * tests/testaux.hxx (new_thread): Same. * tests/kcache2.c: Fixed warning. * tests/stress_threads.c: Same.2001-09-20 Jonathan Larmour <jlarmour@redhat.com> * host/instr/dump_instr.c (main): Fix argc check.2001-09-07 Jonathan Larmour <jlarmour@redhat.com> * include/thread.inl (measure_stack_usage): Deal with stack limits.2001-09-07 Nick Garnett <nickg@redhat.com> * src/common/thread.cxx (set_priority): Change argument to instrumentation call to new_priority rather than current priority. (Suggested by Andrew Lunn).2001-09-05 Jesper Skov <jskov@redhat.com> * include/mqueue.inl (Cyg_Mqueue): Initialize busy flag of last entry in the list.2001-09-04 Jonathan Larmour <jlarmour@redhat.com> * cdl/instrument.cdl (CYGDBG_KERNEL_INSTRUMENT_BUILD_HOST_DUMP): Remove redundant requires, and adjust make rule to be more portable across hosts. (CYGDBG_KERNEL_INSTRUMENT_MSGS_BUILD_HEADERFILE): Invoke script with sh directly rather than rely on executable attribute. * host/instr/readme.txt: Update build of host dump as per the changed CDL. * cdl/kernel.cdl: Don't build nullinst.cxx any more. Build meminst.cxx only in CYGPKG_KERNEL_INSTRUMENT. * src/instrmnt/nullinst.cxx: Delete. It causes confusion in the library as it declares cyg_instrument like meminst.cxx does.2001-08-31 Nick Garnett <nickg@redhat.com> * src/intr/intr.cxx: Clean up typo in DSR table case. dsr_table_tail and dsr_table_head were not being subscripted in a couple of places.2001-08-23 Hugo Tyson <hmt@redhat.com>2001-08-20 Andrew Lunn <andrew.lunn@ascom.ch> * include/instrument_desc.h: New file. This contains the table of events used to print the nice information. It should be regenerated when the instrumentation numbers change. * src/instrmnt/meminst.cxx (cyg_instrument_msg): returns an ASCII string describing the type of event the instrumentation code logged. * include/instrmnt.h: Added function prototype. * cdl/instrument.cdl: Configury for enabling the new function, and optionally rebuilding its header file and building a host tool. * host/instr/dump_instr.c: New file. A host program to print the instrumentation information in a human readable form. * host/instr/instrument.sh: New file. Script to generate table of events with textual representation. * host/instr/readme.txt: New file. Helpful information.2001-08-23 Nick Garnett <nickg@redhat.com> * include/kapidata.h (CYG_THREADTIMER_MEMBERS): Substituted an expicit cyg_alarm object for CYG_ALARM_MEMBERS in this definition. In some architectures (MIPS in particular) the structures need to be padded to a multiple of 64 bits. This was not happening with the macro substituted versions. This is just a temporary fix, I'll leave it to Jifl to sort out a real patch when he returns.2001-08-23 Hugo Tyson <hmt@redhat.com> * src/common/thread.cxx: Properly qualify Cyg_Thread::destructors array so that it builds when destructors are not used.2001-08-23 Nick Garnett <nickg@redhat.com> * src/sched/mlqueue.cxx: Added code to Cyg_SchedThread_Implementation::to_queue_head() to handle a NULL thread queue pointer. This compensates for a minor change in behaviour of the scheduler.2001-08-22 Jonathan Larmour <jlarmour@redhat.com> * cdl/thread.cdl: Add kernel thread destructor options. * include/kapidata.h: Add thread destructor entries to cyg_thread * include/thread.hxx (Cyg_Thread): Give per-thread data indexes their own type, cyg_data_index. Include new thread destructor data members, and new add_destructor and rem_destructor member functions. * include/thread.inl: Use a cyg_data_index for per-thread data handle. (add_destructor): New Cyg_Thread member function. (rem_destructor): Ditto. * src/common/kapi.cxx: Use cyg_data_index type for per-thread data functions. * src/common/thread.cxx (Cyg_Thread): initialise per-thread destructors if needed. Define static destructors if needed. (exit): Call destructors. (new_data_index): Use cyg_data_index type. (free_data_index): Ditto.2001-08-22 Hugo Tyson <hmt@redhat.com> * src/sync/mutex.cxx (Cyg_Mutex): Add initialization of the priority ceiling value in the non-dynamic protocol case.2001-08-22 Nick Garnett <nickg@redhat.com> * tests/intr0.c: * tests/kintr0.c: Swapped order of interrupt enable/disable calls to keep kernel happy when assertions are enabled. Otherwise the enable call complains that interrupts have not been disabled. * src/sched/mlqueue.cxx: Simplified algorithm in set_need_reschedule(). * include/smp.hxx: * include/kapidata.h: Change spinlock to be a cyg_uint32, rather than a cyg_atomic. * src/intr/intr.cxx: * include/intr.hxx: Now arrange for DSRs to be called on the same CPU as the ISR. This is necessary if the DSR needs to access per-CPU hardware (such as interrupt controllers). This is achieved by keeping a separate DSR list/table for each CPU. * tests/smp.cxx: Some modifications to make this test work in a real SMP environment. * tests/timeslice.c: * cdl/kernel.cdl: Added timeslice test.2001-08-21 Hugo Tyson <hmt@redhat.com> * src/sync/mutex.cxx (lock): Bugfix: a ceiling priority mutex wasn't elevated until after it had acquired the mutex. This meant it slept with a low priority, and so did not run when awakened by the release of the mutex. The fix is to elevate the potential claimant before it sleeps in contention. * tests/kmutex4.c: New testcase - very similar to kmutex3 but it loops a load more times using different mutex priority protocols. This checks that dynamically set protos do in fact behave differently from one another and as they are each intended to. * tests/kmutex3.c: Remove FIXME comments - we now test dynamic protocol. * cdl/kernel.cdl: Build the new test.2001-08-20 Jonathan Larmour <jlarmour@redhat.com> * include/kapidata.h: Reorganize most struct type definitions into macros to allow compatible layout with all G++ implementations that align non-POD types differently from included C structures. * include/kapi.h: Similarly for cyg_resolution_t.2001-08-17 Nick Garnett <nickg@redhat.com> * src/sched/mlqueue.cxx (timeslice): Fix timeslice_count comparison.2001-08-16 Hugo Tyson <hmt@redhat.com> * include/kapi.h (cyg_mutex_protocol): Tidy up names of mutex protocol type and values. These polluted rather in 'C'. * src/common/kapi.cxx (cyg_mutex_set_protocol): ditto.2001-08-15 Hugo Tyson <hmt@redhat.com>2001-08-15 Andrew Lunn <andrew.lunn@ascom.ch> * src/common/kapi.c (cyg_thread_get_current_priority): Export this function into the C api. * include/kapi.h: Declaration of new function.2001-08-14 Jonathan Larmour <jlarmour@redhat.com> * src/common/kapi.cxx (cyg_spinlock_spin_intsave): Cast to istate to CYG_INTERRUPT_STATE * since that's what is needed. (cyg_spinlock_clear_intsave): Similarly.2001-08-10 Hugo Tyson <hmt@redhat.com> * cdl/synch.cdl: Re-organize the options for mutexes so they are active a bit more sensibly; place the default ceiling within selection of ceiling protocol, and only have a default protocol if there is more than one protocol active. * tests/mutex3.cxx: More detailed handling of the possibility of ceiling protocol instead of the inherit or none cases; we can run the test ok and treat as inherit if the ceiling prio is higher than 5, treat as none if lower than 15, and don't check anything if in between - the test runs happily. * tests/kmutex3.c (cyg_start): New test, a KAPI translation of the now-classic mutex3.cxx. * cdl/kernel.cdl: Build tests/kmutex3.c2001-08-06 Hugo Tyson <hmt@redhat.com> * src/sched/sched.cxx (unlock_inner): Fix assignment to current, wouldn't build if stack checking after merger from SMP branch.2001-08-06 Andrew Lunn <andrew.lunn@ascom.ch>2001-08-06 Hugo Tyson <hmt@redhat.com> * src/sync/mutex.cxx: (set_protocol) Added a function to set the priority inversion protocol for a mutex. * src/common/kapi.cxx: Export the new function above and set_ceiling into the C API. * include/mutex.hxx (class Cyg_Mutex): New member function set_protocol().
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -