From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: ecos-cvs@sources.redhat.com Subject: eCos anonymous CVS repository updated Date: Fri, 10 Aug 2001 12:28:00 -0000 Message-id: <200108101928.f7AJS1H21628@localhost.localdomain> X-SW-Source: 2001/msg00025.html List-Id: The eCos anonymous CVS repository has been updated today (2001-08-10). The following changes were made to NEWS and ChangeLogs: Index: packages/NEWS =================================================================== RCS file: /cvs/ecos/ecos/packages/NEWS,v retrieving revision 1.39 diff -u -0 -r1.39 NEWS --- NEWS 2001/07/31 21:15:36 1.39 +++ NEWS 2001/08/10 19:24:09 @@ -0,0 +1,2 @@ +* Generic SMP support added. +* RedBoot support added to AM33-STB port. Index: packages/compat/posix/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/compat/posix/current/ChangeLog,v retrieving revision 1.17 diff -u -0 -r1.17 ChangeLog --- ChangeLog 2001/06/15 22:45:04 1.17 +++ ChangeLog 2001/08/10 19:24:15 @@ -0,0 +1,71 @@ +2001-08-06 Jonathan Larmour + + * cdl/posix.cdl: Reorganize dependencies so that signals, timers + and pthreads really can be disabled, and the relevant files don't + get built. + Build new mutex.cxx file. + Remove duplicate CYGPKG_POSIX_SCHED dependency for pthreads. + + * include/limits.h: Don't include irrelevant header dependencies. + + * include/muttypes.h: New type defining mutex/cond var types separately + from other pthread types. + + * include/types.h: Remove mutex/cond var types. + + * include/signal.h: Conditionalize on CYGPKG_POSIX_SIGNALS + + * include/sigsetjmp.h: Don't include irrelevant header dependencies. + Rewrite sigsetjmp in a much more compiler friendly (and readable) + way with less type punning. + + * src/misc.cxx: Don't include sysconf cases when pthreads or + CYGPKG_POSIX_TIMERS not enabled. + + * src/mutex.cxx: New file, broken out of pthreads.cxx, as most + of it is not fixed to the pthreads implementation, and I've fixed + the bits that were too tied to it. + + * src/pprivate.h: Conditionalize definitions that are specific + to CYGPKG_POSIX_PTHREAD. Ditto for prototypes for CYGPKG_POSIX_SIGNALS + and CYGPKG_POSIX_TIMERS. Move PTHREAD_ENTRY/RETURN etc. macros + here so they can be used throughout the package. + + * src/pthread.cxx: Remove mutex/cond var implementation, and + entry/return macros, as per above. + + * src/signal.cxx (cyg_sigqueue): Don't just set non-queueable signals + pending - also forcibly wake up any blocked threads. + (siglongjmp): Use new layout of sigjmp_buf. + + * tests/mutex3.c: + * tests/pthread1.c: + * tests/pthread2.c: + * tests/pthread3.c: + * tests/signal1.c: + * tests/sigsetjmp.c: + * tests/timer1.c: + * tests/tm_basic.cxx: + Correct configuration dependencies, and do NA appropriately. + +2001-08-03 Nick Garnett + + Imported from a development branch: + + 2001-06-27 Nick Garnett + + * tests/pthread3.c: + Modified the loop that waits for the threads to get going so that + it will function correctly in an SMP system, where the threads + will run in parallel. + + * tests/mutex3.c: Disabled this test for SMP systems. It depends + too much on predicting the priority-driven execution order of the + threads. In an SMP system, some threads will run in parallel and + falsify the assumptions. + + 2001-05-25 Nick Garnett + + * src/signal.cxx (siglongjmp): Minor change to satisfy latest C++ + compiler. + Index: packages/devs/flash/amd/am29xxxxx/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/flash/amd/am29xxxxx/current/ChangeLog,v retrieving revision 1.5 diff -u -0 -r1.5 ChangeLog --- ChangeLog 2001/07/29 02:00:08 1.5 +++ ChangeLog 2001/08/10 19:24:22 @@ -0,0 +1,4 @@ +2001-08-10 Jesper Skov + + * include/flash_am29xxxxx.inl (flash_hwr_init): Fix block number. + Index: packages/devs/flash/arm/iq80310/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/flash/arm/iq80310/current/ChangeLog,v retrieving revision 1.3 diff -u -0 -r1.3 ChangeLog --- ChangeLog 2001/06/15 22:45:05 1.3 +++ ChangeLog 2001/08/10 19:24:30 @@ -0,0 +1,4 @@ +2001-08-04 Mark Salter + + * src/flash.h (FLASH_P2V): First 4K of flash now mapped at 0xd0000000. + Index: packages/devs/flash/intel/28fxxx/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/flash/intel/28fxxx/current/ChangeLog,v retrieving revision 1.4 diff -u -0 -r1.4 ChangeLog --- ChangeLog 2001/06/29 14:45:50 1.4 +++ ChangeLog 2001/08/10 19:24:35 @@ -0,0 +1,9 @@ +2001-08-10 Jesper Skov + + * cdl/flash_intel_28fxxx.cdl: Added options for variants. + + * include/flash_28fxxx.inl: Support bootblock parts. Support + locking. Buffered writes are broken though. + + * include/flash_28fxxx_parts.inl: Created. + Index: packages/devs/flash/mn10300/stb/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/flash/mn10300/stb/current/ChangeLog,v retrieving revision 1.1 diff -u -0 -r1.1 ChangeLog --- ChangeLog 2001/06/10 19:35:25 1.1 +++ ChangeLog 2001/08/10 19:24:41 @@ -0,0 +1,4 @@ +2001-08-03 David Howells + + * src/mn10300_stb_flash.c: updated to latest AMD flash interface. + Index: packages/devs/usb/sa11x0/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/usb/sa11x0/current/ChangeLog,v retrieving revision 1.3 diff -u -0 -r1.3 ChangeLog --- ChangeLog 2001/06/01 22:16:36 1.3 +++ ChangeLog 2001/08/10 19:24:46 @@ -0,0 +1,5 @@ +2001-08-06 Bart Veer + + * src/usbs_sa11x0.c: + Add initial support for USB testing. + Index: packages/hal/arm/iq80310/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/arm/iq80310/current/ChangeLog,v retrieving revision 1.7 diff -u -0 -r1.7 ChangeLog --- ChangeLog 2001/06/22 18:18:48 1.7 +++ ChangeLog 2001/08/10 19:24:50 @@ -0,0 +1,5 @@ +2001-08-04 Mark Salter + + * include/hal_platform_setup.h: Fix mapping so first MB of SDRAM has + ECC turned on. Now map first 4K of flash at 0xd0000000. + Index: packages/hal/common/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/common/current/ChangeLog,v retrieving revision 1.64 diff -u -0 -r1.64 ChangeLog --- ChangeLog 2001/07/29 02:00:08 1.64 +++ ChangeLog 2001/08/10 19:24:56 @@ -0,0 +1,23 @@ +2001-08-03 Nick Garnett + + Imported from a development branch: + + 2001-07-11 Nick Garnett + + * include/drv_api.h: + * src/drv_api.c: + Added API for controlling routing of interrupts to CPUs in SMP + configurations. + + 2001-06-29 Nick Garnett + + * include/drv_api.h: + * src/drv_api.c: + Added API for using spinlocks. + +2001-08-03 Jesper Skov + + * tests/vaargs.c: Added. + * cdl/hal.cdl: Added CYGPKG_HAL_BUILD_COMPILER_TESTS to allow cpp1 + and vaargs tests to be compiled conditionally. + Index: packages/hal/mips/rm7000/ocelot/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/mips/rm7000/ocelot/current/ChangeLog,v retrieving revision 1.4 diff -u -0 -r1.4 ChangeLog --- ChangeLog 2001/06/22 18:18:56 1.4 +++ ChangeLog 2001/08/10 19:25:01 @@ -0,0 +1,17 @@ +2001-08-09 Jonathan Larmour + + * include/plf_intr.h: Move HAL_INTERRUPT_ interrupt controller + access macros to variant HAL as they are generic. + +2001-08-08 Chris Morrow + + * include/plf_intr.h (HAL_INTERRUPT_MASK): Use correct comparison + for determining when to use interrupt control register. + Also use cfc rather than mfc insns. Also simplify a fraction. + (HAL_INTERRUPT_UNMASK): Ditto. + +2001-08-03 Jesper Skov + + * cdl/hal_mips_rm7000_ocelot.cdl: Removed obsolete and wrong + gdb_module build runes. + Index: packages/hal/mips/rm7000/var/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/mips/rm7000/var/current/ChangeLog,v retrieving revision 1.4 diff -u -0 -r1.4 ChangeLog --- ChangeLog 2001/06/25 18:24:35 1.4 +++ ChangeLog 2001/08/10 19:25:07 @@ -0,0 +1,5 @@ +2001-08-09 Jonathan Larmour + + * include/var_intr.h: Move HAL_INTERRUPT_ interrupt controller + access macros here from Ocelot HAL. + Index: packages/hal/mn10300/stb/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/mn10300/stb/current/ChangeLog,v retrieving revision 1.3 diff -u -0 -r1.3 ChangeLog --- ChangeLog 2001/02/13 01:23:31 1.3 +++ ChangeLog 2001/08/10 19:25:14 @@ -0,0 +1,25 @@ +2001-08-03 David Howells + + * cdl/hal_mn10300_am33_stb.cdl: added vector support and made to + work with RedBoot and flash. + * include/plf_intr.h: ditto. + * include/plf_io.h: ditto. + * include/plf_stub.h: ditto. + * include/pkgconf/mlt_mn10300_am33_stb_rom.h: ditto. + * include/pkgconf/mlt_mn10300_am33_stb_rom.mlt: ditto. + * include/pkgconf/mlt_mn10300_am33_stb_sram1.h: ditto. + * include/pkgconf/mlt_mn10300_am33_stb_sram1.ldi: ditto. + * include/pkgconf/mlt_mn10300_am33_stb_sram1.mlt: ditto. + * misc/redboot_RAM.ecm: ditto. + * misc/redboot_ROM.ecm: ditto. + * misc/redboot_SRAM1.ecm: ditto. + * src/plf_misc.c: ditto. + * src/plf_stub.c: ditto. + * src/ser_stb.c: ditto. + +2001-08-02 Nick Garnett + + * include/plf_io.h: + Added this file to match assumption now made in arch files that it + exists. + Index: packages/hal/mn10300/stdeval1/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/mn10300/stdeval1/current/ChangeLog,v retrieving revision 1.15 diff -u -0 -r1.15 ChangeLog --- ChangeLog 2001/02/13 01:23:31 1.15 +++ ChangeLog 2001/08/10 19:25:20 @@ -0,0 +1,6 @@ +2001-08-02 Nick Garnett + + * include/plf_io.h: + Added this file to match assumption now made in arch files that it + exists. + Index: packages/hal/sh/cq7750/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/sh/cq7750/current/ChangeLog,v retrieving revision 1.8 diff -u -0 -r1.8 ChangeLog --- ChangeLog 2001/07/18 11:38:41 1.8 +++ ChangeLog 2001/08/10 19:25:25 @@ -0,0 +1,6 @@ +2001-08-08 Jesper Skov + + * misc/redboot_ROM.ecm: Added. + + * cdl/hal_sh_sh7750_cq7750.cdl: Added RedBoot build rule. + Index: packages/hal/sh/dreamcast/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/sh/dreamcast/current/ChangeLog,v retrieving revision 1.1 diff -u -0 -r1.1 ChangeLog --- ChangeLog 2001/07/31 21:15:40 1.1 +++ ChangeLog 2001/08/10 19:25:33 @@ -0,0 +1,4 @@ +2001-08-06 Jesper Skov + + * cdl/hal_sh_sh7750_dreamcast.cdl: Set linux boot parameters. + Index: packages/hal/sh/sh4/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/hal/sh/sh4/current/ChangeLog,v retrieving revision 1.11 diff -u -0 -r1.11 ChangeLog --- ChangeLog 2001/07/29 02:00:09 1.11 +++ ChangeLog 2001/08/10 19:25:38 @@ -0,0 +1,4 @@ +2001-08-08 Jesper Skov + + * include/mod_7750.h: Don't use UBC as handling of it is broken. + Index: packages/infra/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/infra/current/ChangeLog,v retrieving revision 1.21 diff -u -0 -r1.21 ChangeLog --- ChangeLog 2001/07/20 10:23:19 1.21 +++ ChangeLog 2001/08/10 19:25:43 @@ -0,0 +1,22 @@ +2001-08-03 Nick Garnett + + Imported from a development branch: + + 2001-06-27 Nick Garnett + + * src/diag.cxx: + * src/tcdiag.cxx: + Added use of CYG_HAL_DIAG_LOCK() and CYG_HAL_DIAG_UNLOCK() to + diag_printf(), cyg_assert_msg() and cyg_test_output() to prevent + messages from different CPUs being mingled. + + 2001-05-22 Nick Garnett + + * include/cyg_type.h (CYGBLD_ANNOTATE_VARIABLE_*): + Added better way of supplying default definitions for these. + + 2001-04-27 Nick Garnett + + * include/cyg_type.h: + Added default variable annotation macros. + Index: packages/io/eth/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/io/eth/current/ChangeLog,v retrieving revision 1.19 diff -u -0 -r1.19 ChangeLog --- ChangeLog 2001/07/06 19:11:35 1.19 +++ ChangeLog 2001/08/10 19:25:50 @@ -0,0 +1,16 @@ +2001-08-09 Hugo Tyson + + * src/net/eth_drv.c (eth_drv_recv): Add a pair of + CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit; + this function is intercalled between RedBoot and the application. + A minor re-org at the ending to accommodate these macros' nesting. + (eth_drv_tx_done): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP(). + + * src/stand_alone/eth_drv.c (eth_drv_tx_done): Add a pair of + CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP() on entry and exit; + this function is intercalled between RedBoot and the application. + Also make printing message about "tx_done for other key" also + conditional on net_debug variable - it's commonplace. + (eth_drv_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP(). + (eth_drv_copy_recv): CYGARC_HAL_SAVE_GP()/CYGARC_HAL_RESTORE_GP(). + Index: packages/io/flash/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/io/flash/current/ChangeLog,v retrieving revision 1.16 diff -u -0 -r1.16 ChangeLog --- ChangeLog 2001/07/29 02:00:10 1.16 +++ ChangeLog 2001/08/10 19:25:57 @@ -0,0 +1,7 @@ +2001-08-10 Jesper Skov + + * cdl/io_flash.cdl: Changed flavor of + CYGHWR_IO_FLASH_BLOCK_LOCKING to booldata. + * include/flash.h: Matching changes. + * src/flash.c: Matching changes. + Index: packages/io/usb/slave/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/io/usb/slave/current/ChangeLog,v retrieving revision 1.2 diff -u -0 -r1.2 ChangeLog --- ChangeLog 2001/06/29 07:16:29 1.2 +++ ChangeLog 2001/08/10 19:26:05 @@ -0,0 +1,5 @@ +2001-08-06 Bart Veer + + * include/usbs.h: + Define additional data structures required for USB testing. + Index: packages/isoinfra/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/isoinfra/current/ChangeLog,v retrieving revision 1.10 diff -u -0 -r1.10 ChangeLog --- ChangeLog 2001/07/29 02:00:10 1.10 +++ ChangeLog 2001/08/10 19:26:10 @@ -0,0 +1,7 @@ +2001-08-06 Jonathan Larmour + + * cdl/isoinfra.cdl: Add a separate POSIX mutex types header option. + * include/sys/types.h: Include it. + * include/time.h: Provide a default struct timespec even if the + implementation doesn't provide something better. + Index: packages/kernel/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/kernel/current/ChangeLog,v retrieving revision 1.62 diff -u -0 -r1.62 ChangeLog --- ChangeLog 2001/07/29 02:00:10 1.62 +++ ChangeLog 2001/08/10 19:26:16 @@ -0,0 +1,300 @@ +2001-08-06 Hugo Tyson + + * 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 +2001-08-06 Hugo Tyson + + * 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(). + + * include/kapi.h (cyg_protcol): Define new emumeration for mutex + priority protocol setting, and headers for the new function to set + it. + +2001-08-03 Nick Garnett + + Imported from a development branch: + + 2001-07-11 Nick Garnett + + * src/sched/mlqueue.cxx: Changed behaviour of + set_need_reschedule() to a better implementation of the intended + algorithm. + + * include/kapi.h: + * src/common/kapi.cxx: + Added API for controlling routing of interrupts to CPUs in SMP + configurations. + + 2001-07-03 Nick Garnett + + * cdl/scheduler.cdl: + * include/bitmap.hxx: + * src/sched/bitmap.cxx: + Fixed up bitmap scheduler so it still works within the + SMP-modified scheduling infrastructure. The bitmap scheduler + is not currently SMP-enabled, only single CPU configurations are + supported - hence the CDL change to require this. + + 2001-06-29 Nick Garnett + + * src/sched/sched.cxx: + Removed the call to Cyg_Interrupt::enable_interrupts() in + Cyg_Scheduler::start_cpu(). This was a relic from the days when + the interrupt enable state was not part of the thread state. Now + it is, and loading the first thread will cause interrupts to be + enabled. + + * src/intr/intr.cxx: + Changed initial values of Cyg_Interrupt::disable_counter[]s to + zero as a result of the change in Cyg_Scheduler::start_cpu(). + + * include/kapi.h: + * include/kapidata.h: + * src/common/kapi.cxx: + Added API for using spinlocks. Largely so that it may be extended + to the driver API. + + * include/mlqueue.hxx: + * include/intr.hxx: + * include/sched.hxx: + Added annotations to various static variables. + + 2001-06-28 Nick Garnett + + * include/intr.hxx: + * src/intr/intr.cxx: + Changed behaviour of Cyg_Interrupt::disable_interrupts() and + Cyg_Interrupt::enable_interrupts(). These now claim and release a + spinlock in addition to disabling and enabling interrupts. The + original interrupt state is also preserved and restored. This is + necessary in SMP systems to allow drivers etc. to correctly + synchronize with threads and DSRs that may be running on different + CPUs. In the single CPU case this mechanism reduces to the + original simple interrupt disable code. + [Later change] Backed off addition of volatile modifier to + interrupt_disable_state. + + * include/smp.hxx: Some minor tidies. + + 2001-06-27 Nick Garnett + + * tests/release.cxx: Added spin loop in thread1 to allow thread0 + to execute its wait. This is necessary in SMP systems where the + threads will execute in parallel, but is also benign in single CPU + systems. + + * tests/mutex2.cxx: + * tests/mutex3.cxx: + * tests/sync3.cxx: + * tests/thread2.cxx: + These tests depend on predicting the behaviour of threads at + different priorities to pass. In an SMP system, several threads + will run in parallel, and the execution order will not be as + expected. These tests are therefore disabled in SMP + configurations. + + * src/sched/mlqueue.cxx (add_thread): Moved call to + set_need_reschedule() out of test for empty queue. In SMP systems, + any addition to a queue may require a reschedule on another CPU. + + 2001-06-22 Nick Garnett + + * include/mlqueue.hxx: + * src/sched/mlqueue.cxx: + A major change to the way in which this scheduler works in SMP + systems. The previous version removed all runnable threads from + the run queues when they were executing. This resulted in serious + complications and messy code, particularly when dealing with + priority changes and timeslicing. The new version keeps running + threads in the run queues, just like the single-CPU version. The + main disadvantage of this is that we may have to search past + threads running on other CPUs before we find one available to run + on this CPU. However, the pending count array and map mean that we + only need search one run queue, and in any case the search remains + bounded by the number of CPUs available. + Another change is in the way that timeslicing is handled. Now, the + CPU that takes the clock interrupt decrements the timeslice counts + for all CPUs and if any go zero, sends a TIMESLICE message to + that CPU. + + * src/sched/sched.cxx (unlock_inner): + Removed call to requeue(), no longer needed as a result of + scheduler reorganization. + + * src/common/thread.cxx: + Added test in Cyg_Thread::exit() to check that the thread has not + already been killed. This is only an issue if the thread is + calling exit() when it is kill()ed from another CPU. The test is + redundant in single-CPU systems, but it does no harm having it. + Added code to Cyg_Thread::set_priority() to check for reschedule + when another thread is being changed in priority. + Added call in idle thread constructor to scheduler to install the + idle thread as the default current thread for a CPU. + + * include/smp.hxx: + Added CYG_KERNEL_CPU_TIMESLICE_INTERRUPT(), did some miscellaneous + tidying. + + * include/instrmnt.h: Added SMP_RESCHED_SEND and SMP_RESCHED_RECV + events. + + * cdl/kernel.cdl: Added smp test program. + + * tests/smp.cxx: Added this program to test SMP functionality. + + 2001-06-13 Nick Garnett + + * src/sched/sched.cxx: + Removed code to set up initial current thread, this is now done + in the idle thread constructor. + Added code here to set up interrupts for SMP inter-processor + interrupts. This is not very tidy and may need to be + changed in the future. + + * src/sched/mlqueue.cxx: + Added local set_need_reschedule() function to set the + need_reschedule flag on a suitable CPU. + Many more changes to cope with SMP systems. + NOTE: This code has all become somthing of a mess, it need to be + tidied up and the SMP-specific changes integrated better into the + code. Also, timesliceing currently only works on the CPU that + takes clock interrupts - this needs fixing. + + * src/common/thread.cxx: + Moved assignment of initial current thread to here from sched.cxx. + + * include/smp.hxx: + Changed CYG_KERNEL_CPU_INTERRUPT() + CYG_KERNEL_CPU_RESCHEDULE_INTERRUPT() since there may be other + interrupt types to worry about. + Added annotations to scheduler data items. + + * include/sched.hxx: + Split set_current_thread() into two functions, the original works + only on the current CPU, the new one sets another CPU's current + thread. This latter function is only used to prime the current + threads during initialization. + Added second need_reschedule() function that takes a thread + argument. This is intended to be overridden by a scheduler + specific function that sets the need_reschedule flag if the + supplied thread is more deserving of CPU time that any current + thread. + + * include/mlqueue.hxx: + Made cyg_scheduler_set_need_reschedule() a friend of + Cyg_Scheduler_Implementation class. + Added override set_need_reschedule() functions. + + * include/kapidata.h: Added cpu field to cyg_thread structure when + in SMP systems. + + * include/intr.hxx: + * src/intr/intr.cxx: + Added Cyg_Interrupt::set_cpu() and Cyg_Interrupt::get_cpu() for + SMP systems. + + * include/instrmnt.h: Added events for INTR_GET_CPU and + INTR_SET_CPU. + + 2001-05-29 Nick Garnett + + The following changes were all imported from the SMP branch: + + * tests/tm_basic.cxx: + Modified to work in SMP configuration - mostly at present by + ifdeffing out code I didn't want to fix. + + * include/sched.hxx: + Moved scheduler lock operation into Cyg_Scheduler_SchedLock class. + Converted current_thread, need_reschedule, and thread_switches + into CPU indexed arrays. Added member functions to get and set + these indirectly. + Added start_cpu() to do per-CPU scheduler startup. + + * include/sched.inl: + Converted scheduler lock/unlock functions to use new schedlock + class. + + * src/sched/sched.cxx: + Changed in line with sched.hxx. + Added call to requeue() in unlock_inner() to restore current + thread to run queue if necessary. + Moved most of scheduler startup to Cyg_Scheduler::start_cpu(). + Cyg_Scheduler::start() now also starts secondary CPUs in SMP + systems. + Added cyg_kernel_smp_startup() as entry point from HAL into kernel + for secondary CPUs. + + * include/mlqueue.hxx: + Added Cyg_RunQueue type and removed + Cyg_SchedulerThreadQueue_Implementation type. + Converted timeslice_count to CPU indexed array. + Added requeue() member function to scheduler class. + Added cpu member to thread implementation class, to record + thread's current CPU. + + * src/sched/mlqueue.cxx: + Changed behaviour when in SMP system to remove scheduled thread + from run queue and replace it when preempted. + Added some extra asserts, and removed some that are no longer true + in an SMP system. + + * src/instrmnt/meminst.cxx: In SMP systems: added spinlock to + protect instrument buffer, added CPU Id in top 4 bits of thread Id + field. + + * src/common/thread.cxx: + Converted to use accessor functions for need_reschedule and + current_thread. + Rearranged idle thread creation to create one for each CPU. + + * include/test/stackmon.h: Extended to handle stack usage for + multiple idle threads. + + * include/thread.inl: + Added some extra instrumentation. + + * include/smp.hxx: + Added this file to contain all kernel SMP support. The main + definitions exported by this file are spin lock and scheduler lock + implementation classes, for both SMP and uniprocessor + configurations. + + * src/intr/intr.cxx: + * include/intr.hxx: + Converted interrupt disable counter to CPU indexed array. In + intr.cxx: added lock of scheduler lock in interrupt_end() rather + than in default interrupt VSR. + + * cdl/kernel.cdl: Added option to enable SMP support. + + * include/instrmnt.h: + * cdl/instrument.cdl: Added SMP instrumentation. + + 2001-05-25 Nick Garnett + + * include/intr.hxx: + * src/intr/intr.cxx: + Added default definition of CYGNUM_HAL_ISR_TABLE_SIZE. This is now + used to declare the chain table so that architectures which have + different sizes for the interrupt table and vector count will work + correctly. + + 2001-05-22 Nick Garnett + + * include/sched.hxx (class Cyg_Scheduler_Base): + Added annotation to sched_lock. + + * cdl/instrument.cdl: + Rename CYGNUM_KERNEL_INSTRUMENT_BUFFER_WRAP to + CYGDBG_KERNEL_INSTRUMENT_BUFFER_WRAP as it appears in the code. + Index: packages/language/c/libc/stdio/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/language/c/libc/stdio/current/ChangeLog,v retrieving revision 1.10 diff -u -0 -r1.10 ChangeLog --- ChangeLog 2001/07/29 02:00:10 1.10 +++ ChangeLog 2001/08/10 19:26:34 @@ -0,0 +1,13 @@ +2001-08-10 Robin Farine + + * src/output/vfnprintf.cxx (cvt): Handles the cases of finite, + NaN and infinite numbers separately. + + * src/common/stream.cxx (read): Read correct number of bytes when + a character has been "ungot". + +2001-08-03 Jonathan Larmour + + * include/streambuf.inl (~Cyg_StdioStreamBuffer): use correct configury + to decide when to call free. + Index: packages/language/c/libc/string/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/language/c/libc/string/current/ChangeLog,v retrieving revision 1.1 diff -u -0 -r1.1 ChangeLog --- ChangeLog 2000/08/25 17:33:41 1.1 +++ ChangeLog 2001/08/10 19:26:42 @@ -0,0 +1,11 @@ +2001-08-10 Robin Farine + + * src/memchr.cxx (__memchr): Don't check string validity if number + of bytes to operate on is 0. + * src/memcmp.cxx (__memcmp): Ditto. + * src/memmove.cxx (__memmove): Ditto. + * src/strncat.cxx (__strncat): Ditto. + * src/strncmp.cxx (__strncmp): Ditto. + * src/strncpy.cxx (__strncpy): Ditto. + * src/strxfrm.cxx (__strxfrm): Ditto. + Index: packages/redboot/current/ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v retrieving revision 1.36 diff -u -0 -r1.36 ChangeLog --- ChangeLog 2001/08/03 12:27:34 1.36 +++ ChangeLog 2001/08/10 19:26:50 @@ -0,0 +1,29 @@ +2001-08-10 Jesper Skov + + * src/flash.c (do_flash_init): Print error message instead of + error code on init failure. + Don't print error codes where error messages are printed. Make + failure reporting strings look consistent. + CYGHWR_IO_FLASH_BLOCK_LOCKING flavor changed to booldata. + +2001-08-08 Jonathan Larmour + + * src/io.c (gets): Match $ as indicating GDB anywhere in a line. + +2001-08-07 Julian Smart + + * src/version.c: added commented-out CYGDAT_REDBOOT_CUSTOM_VERSION + define that can be replaced using the RedBoot release script by + a specific version in a customer branch. + +2001-08-06 Jesper Skov + + * src/fs/disk.c: Simple fix for DISK_IDE_CDROM partition type. + + * cdl/redboot.cdl: Added (unused) CYGSEM_REDBOOT_DISK_ISO9660 option. + +2001-08-03 David Howells + + * src/net/net_io.c: Show the MAC address of the ethernet device + amongst the boot banners. + ==================================== Here is a summary of the files modified: M host/tools/Utils/common/Subprocess.cpp M host/tools/configtool/common/common/build.cxx M host/tools/configtool/standalone/wxwin/CHANGES.txt M host/tools/configtool/standalone/wxwin/TODO.txt M host/tools/configtool/standalone/wxwin/admindlg.cpp M host/tools/configtool/standalone/wxwin/configtool.h M host/tools/configtool/standalone/wxwin/configtooldoc.cpp M host/tools/configtool/standalone/wxwin/configtooldoc.h M host/tools/configtool/standalone/wxwin/mainwin.cpp M host/tools/configtool/standalone/wxwin/mainwin.h R host/tools/configtool/standalone/wxwin/readme.html M host/tools/configtool/standalone/wxwin/symbols.h M packages/NEWS M packages/compat/posix/current/ChangeLog M packages/compat/posix/current/cdl/posix.cdl M packages/compat/posix/current/include/limits.h A packages/compat/posix/current/include/muttypes.h M packages/compat/posix/current/include/signal.h M packages/compat/posix/current/include/sigsetjmp.h M packages/compat/posix/current/include/types.h M packages/compat/posix/current/src/misc.cxx A packages/compat/posix/current/src/mutex.cxx M packages/compat/posix/current/src/pprivate.h M packages/compat/posix/current/src/pthread.cxx M packages/compat/posix/current/src/signal.cxx M packages/compat/posix/current/tests/mutex3.c M packages/compat/posix/current/tests/pthread1.c M packages/compat/posix/current/tests/pthread2.c M packages/compat/posix/current/tests/pthread3.c M packages/compat/posix/current/tests/signal1.c M packages/compat/posix/current/tests/sigsetjmp.c M packages/compat/posix/current/tests/timer1.c M packages/compat/posix/current/tests/tm_basic.cxx M packages/devs/flash/amd/am29xxxxx/current/ChangeLog M packages/devs/flash/amd/am29xxxxx/current/include/flash_am29xxxxx.inl M packages/devs/flash/arm/iq80310/current/ChangeLog M packages/devs/flash/arm/iq80310/current/src/flash.h M packages/devs/flash/intel/28fxxx/current/ChangeLog M packages/devs/flash/intel/28fxxx/current/cdl/flash_intel_28fxxx.cdl M packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx.inl A packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl M packages/devs/flash/mn10300/stb/current/ChangeLog M packages/devs/flash/mn10300/stb/current/src/mn10300_stb_flash.c M packages/devs/usb/sa11x0/current/ChangeLog M packages/devs/usb/sa11x0/current/src/usbs_sa11x0.c M packages/hal/arm/iq80310/current/ChangeLog M packages/hal/arm/iq80310/current/include/hal_platform_setup.h M packages/hal/common/current/ChangeLog M packages/hal/common/current/cdl/hal.cdl M packages/hal/common/current/include/drv_api.h M packages/hal/common/current/src/drv_api.c A packages/hal/common/current/tests/vaargs.c M packages/hal/mips/rm7000/ocelot/current/ChangeLog M packages/hal/mips/rm7000/ocelot/current/cdl/hal_mips_rm7000_ocelot.cdl M packages/hal/mips/rm7000/ocelot/current/include/plf_intr.h M packages/hal/mips/rm7000/var/current/ChangeLog M packages/hal/mips/rm7000/var/current/include/var_intr.h M packages/hal/mn10300/stb/current/ChangeLog M packages/hal/mn10300/stb/current/cdl/hal_mn10300_am33_stb.cdl M packages/hal/mn10300/stb/current/include/plf_intr.h A packages/hal/mn10300/stb/current/include/plf_io.h M packages/hal/mn10300/stb/current/include/plf_stub.h M packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_rom.h M packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_rom.mlt A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.h A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.ldi A packages/hal/mn10300/stb/current/include/pkgconf/mlt_mn10300_am33_stb_sram1.mlt A packages/hal/mn10300/stb/current/misc/redboot_RAM.ecm A packages/hal/mn10300/stb/current/misc/redboot_ROM.ecm A packages/hal/mn10300/stb/current/misc/redboot_SRAM1.ecm M packages/hal/mn10300/stb/current/src/plf_misc.c M packages/hal/mn10300/stb/current/src/plf_stub.c A packages/hal/mn10300/stb/current/src/ser_stb.c M packages/hal/mn10300/stdeval1/current/ChangeLog A packages/hal/mn10300/stdeval1/current/include/plf_io.h M packages/hal/sh/cq7750/current/ChangeLog M packages/hal/sh/cq7750/current/cdl/hal_sh_sh7750_cq7750.cdl A packages/hal/sh/cq7750/current/misc/redboot_ROM.ecm M packages/hal/sh/dreamcast/current/ChangeLog M packages/hal/sh/dreamcast/current/cdl/hal_sh_sh7750_dreamcast.cdl M packages/hal/sh/sh4/current/ChangeLog M packages/hal/sh/sh4/current/include/mod_7750.h M packages/infra/current/ChangeLog M packages/infra/current/include/cyg_type.h M packages/infra/current/src/diag.cxx M packages/infra/current/src/tcdiag.cxx M packages/io/eth/current/ChangeLog M packages/io/eth/current/src/net/eth_drv.c M packages/io/eth/current/src/stand_alone/eth_drv.c M packages/io/flash/current/ChangeLog M packages/io/flash/current/cdl/io_flash.cdl M packages/io/flash/current/include/flash.h M packages/io/flash/current/src/flash.c M packages/io/usb/slave/current/ChangeLog M packages/io/usb/slave/current/include/usbs.h M packages/isoinfra/current/ChangeLog M packages/isoinfra/current/cdl/isoinfra.cdl M packages/isoinfra/current/include/time.h M packages/isoinfra/current/include/sys/types.h M packages/kernel/current/ChangeLog M packages/kernel/current/cdl/instrument.cdl M packages/kernel/current/cdl/kernel.cdl M packages/kernel/current/cdl/scheduler.cdl M packages/kernel/current/include/bitmap.hxx M packages/kernel/current/include/instrmnt.h M packages/kernel/current/include/intr.hxx M packages/kernel/current/include/kapi.h M packages/kernel/current/include/kapidata.h M packages/kernel/current/include/mlqueue.hxx M packages/kernel/current/include/mutex.hxx M packages/kernel/current/include/sched.hxx M packages/kernel/current/include/sched.inl A packages/kernel/current/include/smp.hxx M packages/kernel/current/include/thread.inl M packages/kernel/current/include/test/stackmon.h M packages/kernel/current/src/common/kapi.cxx M packages/kernel/current/src/common/thread.cxx M packages/kernel/current/src/instrmnt/meminst.cxx M packages/kernel/current/src/intr/intr.cxx M packages/kernel/current/src/sched/bitmap.cxx M packages/kernel/current/src/sched/mlqueue.cxx M packages/kernel/current/src/sched/sched.cxx M packages/kernel/current/src/sync/mutex.cxx M packages/kernel/current/tests/mutex2.cxx M packages/kernel/current/tests/mutex3.cxx M packages/kernel/current/tests/release.cxx A packages/kernel/current/tests/smp.cxx M packages/kernel/current/tests/sync3.cxx M packages/kernel/current/tests/thread2.cxx M packages/kernel/current/tests/tm_basic.cxx M packages/language/c/libc/stdio/current/ChangeLog M packages/language/c/libc/stdio/current/include/streambuf.inl M packages/language/c/libc/stdio/current/src/common/stream.cxx M packages/language/c/libc/stdio/current/src/output/vfnprintf.cxx M packages/language/c/libc/string/current/ChangeLog M packages/language/c/libc/string/current/src/memchr.cxx M packages/language/c/libc/string/current/src/memcmp.cxx M packages/language/c/libc/string/current/src/memmove.cxx M packages/language/c/libc/string/current/src/strncat.cxx M packages/language/c/libc/string/current/src/strncmp.cxx M packages/language/c/libc/string/current/src/strncpy.cxx M packages/language/c/libc/string/current/src/strxfrm.cxx M packages/redboot/current/ChangeLog M packages/redboot/current/cdl/redboot.cdl M packages/redboot/current/src/flash.c M packages/redboot/current/src/io.c M packages/redboot/current/src/version.c M packages/redboot/current/src/fs/disk.c M packages/redboot/current/src/net/net_io.c